- entry_type: invariant_set
  metadata:
    format_version: "2.0"
    uuid: d4d3ea4f-10a1-4399-bc8f-242cdb2c9938
    creation_time: 2025-03-22T11:33:35Z
    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/libvsync/cnalock.i'''
    task:
      input_files:
      - /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
      input_file_hashes:
        /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i: 34e9f64e541272dd9ea9a959271dc176e797335c8277127c4c0a13bf1a3bf002
      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/libvsync/cnalock.i
        line: 568
        column: 10
        function: verification_spin_end
      value: v == 0 || v == 1
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 4831
        column: 9
        function: vatomicptr_await_neq
      value: c == (void *)0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 4831
        column: 9
        function: vatomicptr_await_neq
      value: (unsigned int )c == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6055
        column: 9
        function: run
      value: i == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6055
        column: 9
        function: run
      value: j == 1 || ((((0 == i && 0 == j) && arg == tid) && i == j) && j == 0)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6055
        column: 9
        function: run
      value: (((tid == 0U || tid == 1U) || tid == 2U) || tid == 3U) || tid == 4U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6055
        column: 9
        function: run
      value: ((((unsigned int )arg == 0U || (unsigned int )arg == 1U) || (unsigned
        int )arg == 2U) || (unsigned int )arg == 3U) || (unsigned int )arg == 4U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 5416
        column: 5
        function: _cnalock_find_successor
      value: my_node <= 4294967294U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 5416
        column: 5
        function: _cnalock_find_successor
      value: next == sec_head
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 5416
        column: 5
        function: _cnalock_find_successor
      value: numa_node == 0U || numa_node == 1U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6072
        column: 5
        function: main
      value: ((((i == 5U || i == 4U) || i == 3U) || i == 2U) || i == 1U) || (((0 ==
        i && rand._v == 0U) && i == 0U) && (unsigned int )lock.tail._v == 0U)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6077
        column: 5
        function: main
      value: i == 5U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6077
        column: 5
        function: main
      value: ((((i == 5U || i == 4U) || i == 3U) || i == 2U) || i == 1U) || (0 ==
        i && i == 0U)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6060
        column: 9
        function: run
      value: i == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6060
        column: 9
        function: run
      value: j == 1
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6060
        column: 9
        function: run
      value: j == 1 || (0 == j && j == 0)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6060
        column: 9
        function: run
      value: (((tid == 0U || tid == 1U) || tid == 2U) || tid == 3U) || tid == 4U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6060
        column: 9
        function: run
      value: ((((unsigned int )arg == 0U || (unsigned int )arg == 1U) || (unsigned
        int )arg == 2U) || (unsigned int )arg == 3U) || (unsigned int )arg == 4U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6053
        column: 5
        function: run
      value: ((i == 1 && j == 1) && j == 1) || ((0 == i && arg == tid) && i == 0)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6053
        column: 5
        function: run
      value: (((tid == 0U || tid == 1U) || tid == 2U) || tid == 3U) || tid == 4U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 6053
        column: 5
        function: run
      value: ((((unsigned int )arg == 0U || (unsigned int )arg == 1U) || (unsigned
        int )arg == 2U) || (unsigned int )arg == 3U) || (unsigned int )arg == 4U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 573
        column: 10
        function: verification_loop_bound
      value: (bound == 6U && bound == (vuint32_t )6) || (bound == 2U && bound == (vuint32_t
        )2)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 4830
        column: 5
        function: vatomicptr_await_neq
      value: c == (void *)0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/cnalock.i
        line: 4830
        column: 5
        function: vatomicptr_await_neq
      value: (unsigned int )c == 0U
      format: c_expression
