- entry_type: invariant_set
  metadata:
    format_version: "2.0"
    uuid: 4776ac5b-3907-416c-85b8-353079528a4f
    creation_time: 2025-03-21T00:44:33Z
    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/ldv-memsafety/ArraysOfVariableLength5.c'''
    task:
      input_files:
      - /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c
      input_file_hashes:
        /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c: c60dc3ce59c2c65912da9b7b458247bdc42b4524b29b39bec7ce63758c18c031
      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/ldv-memsafety/ArraysOfVariableLength5.c
        line: 15
        column: 5
        function: foo
      value: size <= 31
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c
        line: 15
        column: 5
        function: foo
      value: (0LL - (long long )i) + (long long )size >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c
        line: 15
        column: 5
        function: foo
      value: ((((((((4 <= size && 4 <= i) && i <= 31) && (-8LL + (long long )i) +
        (long long )size >= 0LL) && (2147483644LL + (long long )i) - (long long )size
        >= 0LL) && (4294967296LL - (long long )i) - (long long )size >= 0LL) || ((((3
        <= size && (-6LL + (long long )i) + (long long )size >= 0LL) && (2147483645LL
        + (long long )i) - (long long )size >= 0LL) && (2147483651LL - (long long
        )i) - (long long )size >= 0LL) && i == 3)) || ((((2 <= size && (-4LL + (long
        long )i) + (long long )size >= 0LL) && (2147483646LL + (long long )i) - (long
        long )size >= 0LL) && (2147483650LL - (long long )i) - (long long )size >=
        0LL) && i == 2)) || ((((1 <= size && (-2LL + (long long )i) + (long long )size
        >= 0LL) && (2147483647LL + (long long )i) - (long long )size >= 0LL) && (2147483649LL
        - (long long )i) - (long long )size >= 0LL) && i == 1)) || ((((0 <= size &&
        (long long )i + (long long )size >= 0LL) && (2147483648LL + (long long )i)
        - (long long )size >= 0LL) && (2147483648LL - (long long )i) - (long long
        )size >= 0LL) && i == 0)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c
        line: 25
        column: 2
        function: main
      value: ((c == & mask[0] && c == mask) && ((((4 <= i && i <= 32) || i == 3) ||
        i == 2) || i == 1)) || (0 == i && i == 0)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c
        line: 29
        column: 2
        function: main
      value: c == & mask[0]
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c
        line: 29
        column: 2
        function: main
      value: c == mask
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/ldv-memsafety/ArraysOfVariableLength5.c
        line: 29
        column: 2
        function: main
      value: ((((4 <= i && i <= 32) || i == 3) || i == 2) || i == 1) || (0 == i &&
        i == 0)
      format: c_expression
