- entry_type: invariant_set
  metadata:
    format_version: "2.0"
    uuid: e3b6f7d0-e86c-4be9-b0cb-70ea09963989
    creation_time: 2025-03-20T23:42:42Z
    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/memsafety/lockfree-3.1.i'''
    task:
      input_files:
      - /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i
      input_file_hashes:
        /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i: f3bd5e04188199017a119b2ef3a434e2cfadf1e2e5bbf4182b28eb1a822c186f
      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/memsafety/lockfree-3.1.i
        line: 600
        column: 5
        function: main
      value: (-2LL + (long long )pc1) + (long long )pc4 >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i
        line: 600
        column: 5
        function: main
      value: (0LL - (long long )pc1) + (long long )pc4 >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i
        line: 600
        column: 5
        function: main
      value: (2LL - (long long )pc1) - (long long )pc4 >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i
        line: 600
        column: 5
        function: main
      value: (long long )pc1 - (long long )pc4 >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i
        line: 600
        column: 5
        function: main
      value: pc1 == 1
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i
        line: 600
        column: 5
        function: main
      value: pc4 == 1
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/memsafety/lockfree-3.1.i
        line: 594
        column: 5
        function: main
      value: ((((S == 0 && garbage == 0) && ((((-3LL + (long long )pc1) + (long long
        )pc4 >= 0LL && (3LL - (long long )pc1) - (long long )pc4 >= 0LL) && (((((-1LL
        - (long long )pc1) + (long long )pc4 >= 0LL && (1LL + (long long )pc1) - (long
        long )pc4 >= 0LL) && pc1 == 1) && pc4 == 2) || ((((1LL - (long long )pc1)
        + (long long )pc4 >= 0LL && (-1LL + (long long )pc1) - (long long )pc4 >=
        0LL) && pc1 == 2) && pc4 == 1))) || ((((((-2LL + (long long )pc1) + (long
        long )pc4 >= 0LL && (0LL - (long long )pc1) + (long long )pc4 >= 0LL) && (2LL
        - (long long )pc1) - (long long )pc4 >= 0LL) && (long long )pc1 - (long long
        )pc4 >= 0LL) && pc1 == 1) && pc4 == 1))) || ((1 <= pc4 && (-2LL + (long long
        )pc1) + (long long )pc4 >= 0LL) && ((((((((((((pc4 <= 3 && (0LL - (long long
        )pc1) + (long long )pc4 >= 0LL) && (1LL + (long long )pc1) - (long long )pc4
        >= 0LL) && (3LL - (long long )pc1) - (long long )pc4 >= 0LL) && S == 0) &&
        pc1 == 1) && garbage == 0) || (((((1 <= pc1 && pc1 <= 7) && pc4 <= 6) && (5LL
        - (long long )pc1) + (long long )pc4 >= 0LL) && (4LL + (long long )pc1) -
        (long long )pc4 >= 0LL) && (11LL - (long long )pc1) - (long long )pc4 >= 0LL))
        || (((((1 <= pc1 && pc1 <= 7) && pc4 <= 6) && (5LL - (long long )pc1) + (long
        long )pc4 >= 0LL) && (4LL + (long long )pc1) - (long long )pc4 >= 0LL) &&
        (11LL - (long long )pc1) - (long long )pc4 >= 0LL)) || (((((1 <= pc1 && pc1
        <= 7) && pc4 <= 6) && (5LL - (long long )pc1) + (long long )pc4 >= 0LL) &&
        (4LL + (long long )pc1) - (long long )pc4 >= 0LL) && (11LL - (long long )pc1)
        - (long long )pc4 >= 0LL)) || (((((1 <= pc1 && pc1 <= 7) && pc4 <= 6) && (5LL
        - (long long )pc1) + (long long )pc4 >= 0LL) && (4LL + (long long )pc1) -
        (long long )pc4 >= 0LL) && (11LL - (long long )pc1) - (long long )pc4 >= 0LL))
        || (((((1 <= pc1 && pc1 <= 7) && pc4 <= 6) && (5LL - (long long )pc1) + (long
        long )pc4 >= 0LL) && (4LL + (long long )pc1) - (long long )pc4 >= 0LL) &&
        (11LL - (long long )pc1) - (long long )pc4 >= 0LL)) || (((((1 <= pc1 && pc1
        <= 7) && pc4 <= 6) && (5LL - (long long )pc1) + (long long )pc4 >= 0LL) &&
        (4LL + (long long )pc1) - (long long )pc4 >= 0LL) && (11LL - (long long )pc1)
        - (long long )pc4 >= 0LL)))) || ((((-3LL + (long long )pc1) + (long long )pc4
        >= 0LL && S == 0) && garbage == 0) && ((((((-1LL - (long long )pc1) + (long
        long )pc4 >= 0LL && (1LL + (long long )pc1) - (long long )pc4 >= 0LL) && (3LL
        - (long long )pc1) - (long long )pc4 >= 0LL) && pc1 == 1) && pc4 == 2) ||
        ((((((1 <= pc4 && 2 <= pc1) && pc1 <= 4) && pc4 <= 3) && (3LL - (long long
        )pc1) + (long long )pc4 >= 0LL) && (-1LL + (long long )pc1) - (long long )pc4
        >= 0LL) && (5LL - (long long )pc1) - (long long )pc4 >= 0LL)))) || ((((long
        long )pc1 - (long long )pc4 >= 0LL && S == 0) && garbage == 0) && ((((((-2LL
        + (long long )pc1) + (long long )pc4 >= 0LL && (0LL - (long long )pc1) + (long
        long )pc4 >= 0LL) && (2LL - (long long )pc1) - (long long )pc4 >= 0LL) &&
        pc1 == 1) && pc4 == 1) || (((((-4LL + (long long )pc1) + (long long )pc4 >=
        0LL && (2LL - (long long )pc1) + (long long )pc4 >= 0LL) && (4LL - (long long
        )pc1) - (long long )pc4 >= 0LL) && (pc1 == 2 || pc1 == 3)) && (pc4 == 1 ||
        pc4 == 2))))
      format: c_expression
