- entry_type: invariant_set
  metadata:
    format_version: "2.0"
    uuid: 1f520423-31bc-449c-aacb-c3609b758fc3
    creation_time: 2025-03-22T11:33:38Z
    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/hclhlock.i'''
    task:
      input_files:
      - /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
      input_file_hashes:
        /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i: b0a2798ee53cc94366daea227ae4e14ebe705512ec93088d5efc9992b9f84ae5
      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/hclhlock.i
        line: 6118
        column: 5
        function: main
      value: ((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/hclhlock.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/hclhlock.i
        line: 5453
        column: 5
        function: hclhlock_acquire
      value: lock == & lock
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5453
        column: 5
        function: hclhlock_acquire
      value: local_queue == & lock->local_queues[cluster]
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5453
        column: 5
        function: hclhlock_acquire
      value: succ_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5453
        column: 5
        function: hclhlock_acquire
      value: granted == (_Bool)0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5507
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: 0 == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5507
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: 0 == required_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5507
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: cur_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5507
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: cur_state == required_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5507
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: required_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == local_queue
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == pred
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == local_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: 0 == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: lock == & lock
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == pred
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == local_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_queue == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: pred == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: pred == local_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: pred == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: pred == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: pred == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: pred == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: pred == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_tail == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_tail == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_tail == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_tail == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_tail == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: local_tail == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: exp_tail == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: exp_tail == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: exp_tail == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: exp_tail == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: exp_tail == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: state == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: state == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: state == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: cluster == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: cluster == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: cluster == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: succ_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: succ_state == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5436
        column: 5
        function: hclhlock_acquire
      value: granted == (_Bool)0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == exp_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == exp_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: new_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: new_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5489
        column: 5
        function: _hclhlock_qnode_hijack
      value: state == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 6106
        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/hclhlock.i
        line: 6106
        column: 9
        function: run
      value: ((((i == 0 && (j == 1 || (0 == j && j == 0))) && ((tid == 0U || tid ==
        1U) || tid == 2U)) && (((unsigned int )arg == 0U || (unsigned int )arg ==
        1U) || (unsigned int )arg == 2U)) || (((tid == 0U && i == 1) && j == 1) &&
        (unsigned int )arg == 0U)) || ((((0 == j && tid == 0U) && i == 1) && j ==
        0) && (unsigned int )arg == 0U)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 6101
        column: 9
        function: run
      value: ((((i == 0 && (j == 1 || ((((0 == i && 0 == j) && arg == tid) && i ==
        j) && j == 0))) && ((tid == 0U || tid == 1U) || tid == 2U)) && (((unsigned
        int )arg == 0U || (unsigned int )arg == 1U) || (unsigned int )arg == 2U))
        || ((((tid == 0U && i == 1) && j == 1) && j == 1) && (unsigned int )arg ==
        0U)) || (((((0 == j && tid == 0U) && i == 1) && j == 0) && j == 1) && (unsigned
        int )arg == 0U)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 6099
        column: 5
        function: run
      value: (((((0 == i && arg == tid) && i == 0) && ((tid == 0U || tid == 1U) ||
        tid == 2U)) && (((unsigned int )arg == 0U || (unsigned int )arg == 1U) ||
        (unsigned int )arg == 2U)) || ((((tid == 0U && i == 2) && j == 1) && j ==
        1) && (unsigned int )arg == 0U)) || ((((i == 1 && j == 1) && j == 1) && ((tid
        == 0U || tid == 1U) || tid == 2U)) && (((unsigned int )arg == 0U || (unsigned
        int )arg == 1U) || (unsigned int )arg == 2U))
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5506
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: 0 == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5506
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: 0 == required_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5506
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: cur_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5506
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: cur_state == required_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5506
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: required_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: 0 == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: 0 == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: state == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: state == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: state == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: cur_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: cur_state == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5474
        column: 5
        function: hclhlock_release
      value: cluster == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: 0 == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: 0 == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: state == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: state == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: state == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: cur_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: cur_state == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5473
        column: 5
        function: hclhlock_release
      value: cluster == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5418
        column: 5
        function: hclhlock_init_tnode
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5418
        column: 5
        function: hclhlock_init_tnode
      value: state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5418
        column: 5
        function: hclhlock_init_tnode
      value: cluster == 0U || cluster == 1U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5409
        column: 5
        function: hclhlock_init
      value: hclh_lock == & lock
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5409
        column: 5
        function: hclhlock_init
      value: (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/hclhlock.i
        line: 5462
        column: 5
        function: hclhlock_acquire
      value: lock == & lock
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5462
        column: 5
        function: hclhlock_acquire
      value: granted == (_Bool)0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5495
        column: 5
        function: _hclhlock_qnode_hijack
      value: cluster <= 1073741822U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 6137
        column: 5
        function: init
      value: (((i == 3U && cluster == 0U) || (i == 2U && cluster == 1U)) || (i ==
        1U && cluster == 0U)) || (0 == i && i == 0U)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5511
        column: 5
        function: _hclh_await_grant_or_cluster_master
      value: cluster <= 1073741822U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == exp_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == exp_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: new_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: new_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5490
        column: 5
        function: _hclhlock_qnode_hijack
      value: state == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == local_queue
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == pred
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == local_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: 0 == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: lock == & lock
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == pred
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == local_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_queue == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: pred == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: pred == local_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: pred == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: pred == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: pred == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: pred == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: pred == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_tail == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_tail == exp_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_tail == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_tail == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_tail == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: local_tail == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: exp_tail == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: exp_tail == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: exp_tail == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: exp_tail == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: exp_tail == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: state == cluster
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: state == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: state == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: cluster == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: cluster == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: cluster == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: succ_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: succ_state == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5437
        column: 5
        function: hclhlock_acquire
      value: granted == (_Bool)0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == cur_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == exp_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == exp_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: cur_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == new_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: exp_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: new_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: new_state == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5491
        column: 5
        function: _hclhlock_qnode_hijack
      value: state == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 6123
        column: 5
        function: main
      value: i == 3U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 6123
        column: 5
        function: main
      value: ((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/hclhlock.i
        line: 5419
        column: 5
        function: hclhlock_init_tnode
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5419
        column: 5
        function: hclhlock_init_tnode
      value: state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5419
        column: 5
        function: hclhlock_init_tnode
      value: cluster == 0U || cluster == 1U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5417
        column: 5
        function: hclhlock_init_tnode
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5417
        column: 5
        function: hclhlock_init_tnode
      value: state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5417
        column: 5
        function: hclhlock_init_tnode
      value: cluster == 0U || cluster == 1U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 573
        column: 10
        function: verification_loop_bound
      value: (bound == 4U && bound == (vuint32_t )4) || (bound == 2U || bound == 3U)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5525
        column: 5
        function: _hclh_lock_get_default_state
      value: 0 == state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5525
        column: 5
        function: _hclh_lock_get_default_state
      value: state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5525
        column: 5
        function: _hclh_lock_get_default_state
      value: (cluster == 0U || cluster == 1U) || cluster <= 1073741822U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: 0 == local_tail
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: 0 == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: 0 == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: lock == & lock
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: local_queue == & lock->local_queues[cluster]
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: local_tail == 0
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: local_tail == succ_state
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: local_tail == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: succ_state == 0U
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: succ_state == granted
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/libvsync/hclhlock.i
        line: 5441
        column: 5
        function: hclhlock_acquire
      value: granted == (_Bool)0
      format: c_expression
