- entry_type: invariant_set
  metadata:
    format_version: "2.0"
    uuid: 21234cb5-227e-45a6-b856-be0fc0ae04d4
    creation_time: 2025-03-22T11:16:49Z
    producer:
      name: Goblint
      version: heads/master-0-g66dff5a90-dirty
      command_line: '''./goblint'' ''--conf'' ''conf/svcomp.json'' ''--disable'' ''witness.graphml.enabled''
        ''--sets'' ''ana.specification'' ''/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/properties/valid-memsafety.prp''
        ''--sets'' ''exp.architecture'' ''32bit'' ''/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i'''
    task:
      input_files:
      - /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
      input_file_hashes:
        /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i: 0bf2f5f336333cdf96c271b32cdeb9b70ee932e1c07acf27a63b4425ec902f3e
      data_model: ILP32
      language: C
      specification: 'CHECK( init(main()), LTL(G valid-free) )

        CHECK( init(main()), LTL(G valid-deref) )

        CHECK( init(main()), LTL(G valid-memtrack) )'
  content:
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1852
        column: 5
        function: main
      value: current_time <= 2147483587L
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1852
        column: 5
        function: main
      value: status != 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1846
        column: 5
        function: main
      value: current_time <= 2147483587L
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1846
        column: 5
        function: main
      value: status != 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1849
        column: 5
        function: main
      value: current_time <= 2147483587L
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1849
        column: 5
        function: main
      value: status != 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1855
        column: 5
        function: main
      value: current_time <= 2147483587L
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1855
        column: 5
        function: main
      value: status != 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1824
        column: 9
        function: monitor_thread
      value: 1 <= status
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1824
        column: 9
        function: monitor_thread
      value: (unsigned int )arg == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1824
        column: 9
        function: monitor_thread
      value: status != 16
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1824
        column: 9
        function: monitor_thread
      value: (((0 <= misses && (misses <= 3 || misses <= 2)) || (misses == 0 || misses
        == 1)) || (0 == misses && misses == 0)) || 0 <= misses
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1807
        column: 5
        function: counter_thread
      value: status == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1807
        column: 5
        function: counter_thread
      value: (unsigned int )arg == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1807
        column: 5
        function: counter_thread
      value: (((((((((((((((((((((((((4 <= spin && 4L <= counter) && spin <= 10000000)
        || (3L <= counter && spin == 3)) || (2L <= counter && spin == 2)) || (1L <=
        counter && spin == 1)) || ((0L <= counter && 0 == spin) && spin == 0)) ||
        ((4 <= spin && 4L <= counter) && spin <= 10000000)) || (3L <= counter && spin
        == 3)) || (2L <= counter && spin == 2)) || (1L <= counter && spin == 1)) ||
        ((0L <= counter && 0 == spin) && spin == 0)) || ((4 <= spin && 4L <= counter)
        && spin <= 10000000)) || (3L <= counter && spin == 3)) || (2L <= counter &&
        spin == 2)) || (1L <= counter && spin == 1)) || ((0L <= counter && 0 == spin)
        && spin == 0)) || ((4 <= spin && 4L <= counter) && spin <= 10000000)) || (3L
        <= counter && spin == 3)) || ((4 <= spin && 4L <= counter) && spin <= 10000000))
        || (2L <= counter && spin == 2)) || (3L <= counter && spin == 3)) || (1L <=
        counter && spin == 1)) || (2L <= counter && spin == 2)) || ((0L <= counter
        && 0 == spin) && spin == 0)) || (1L <= counter && spin == 1)) || ((0L <= counter
        && 0 == spin) && spin == 0)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1819
        column: 3
        function: monitor_thread
      value: (unsigned int )arg == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1819
        column: 3
        function: monitor_thread
      value: (((status == 0 || status == 16) && ((0 <= misses && (misses <= 3 || misses
        <= 2)) || (misses == 0 || misses == 1))) || (0 == misses && misses == 0))
        || (0 <= misses && (status == 0 || status == 16))
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1811
        column: 7
        function: counter_thread
      value: spin == 10000000
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1811
        column: 7
        function: counter_thread
      value: (unsigned int )arg == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1811
        column: 7
        function: counter_thread
      value: status != 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1828
        column: 9
        function: monitor_thread
      value: (unsigned int )arg == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1828
        column: 9
        function: monitor_thread
      value: status != 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1828
        column: 9
        function: monitor_thread
      value: (((0 <= misses && (misses <= 3 || misses <= 2)) || (misses == 0 || misses
        == 1)) || (0 == misses && misses == 0)) || 0 <= misses
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/goblint-regression/04-mutex_36-trylock_nr.i
        line: 1803
        column: 3
        function: counter_thread
      value: (unsigned int )arg == 0U
      format: c_expression
