- entry_type: invariant_set
  metadata:
    format_version: "2.0"
    uuid: b59660cb-4c49-4dd9-8c57-768326ca8e0e
    creation_time: 2025-03-22T16:56:05Z
    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/termination.prp''
        ''--sets'' ''exp.architecture'' ''64bit'' ''/mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i'''
    task:
      input_files:
      - /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
      input_file_hashes:
        /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i: 1255925dee057d326b7c0f37f3559424c7c269b2700f988720a0a296e5085160
      data_model: LP64
      language: C
      specification: CHECK( init(main()), LTL(F end) )
  content:
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: (-1LL + (long long )sign) + (long long )v >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: (1LL - (long long )sign) + (long long )v >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: (-1LL + (long long )sign) - (long long )v >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: (1LL - (long long )sign) - (long long )v >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: 0L == v
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: 1 == sign
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: v == 0L
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 510
        column: 3
        function: atoi
      value: sign == 1
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 524
        column: 3
        function: main
      value: (-1LL - (long long )i) + (long long )in_len >= 0LL
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 524
        column: 3
        function: main
      value: ((((((((4 <= i && 5 <= in_len) && i <= 2147483646) && (-9LL + (long long
        )i) + (long long )in_len >= 0LL) && (2147483643LL + (long long )i) - (long
        long )in_len >= 0LL) && (4294967293LL - (long long )i) - (long long )in_len
        >= 0LL) || ((((4 <= in_len && (-7LL + (long long )i) + (long long )in_len
        >= 0LL) && (2147483644LL + (long long )i) - (long long )in_len >= 0LL) &&
        (2147483650LL - (long long )i) - (long long )in_len >= 0LL) && i == 3)) ||
        ((((3 <= in_len && (-5LL + (long long )i) + (long long )in_len >= 0LL) &&
        (2147483645LL + (long long )i) - (long long )in_len >= 0LL) && (2147483649LL
        - (long long )i) - (long long )in_len >= 0LL) && i == 2)) || ((((2 <= in_len
        && (-3LL + (long long )i) + (long long )in_len >= 0LL) && (2147483646LL +
        (long long )i) - (long long )in_len >= 0LL) && (2147483648LL - (long long
        )i) - (long long )in_len >= 0LL) && i == 1)) || (((((1 <= in_len && (-1LL
        + (long long )i) + (long long )in_len >= 0LL) && (2147483647LL + (long long
        )i) - (long long )in_len >= 0LL) && (2147483647LL - (long long )i) - (long
        long )in_len >= 0LL) && 0 == i) && i == 0)
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 515
        column: 3
        function: atoi
      value: sign == -1 || sign == 1
      format: c_expression
  - invariant:
      type: loop_invariant
      location:
        file_name: /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/termination-dietlibc/atoi.i
        line: 515
        column: 3
        function: atoi
      value: ((((-19536L <= v && v <= 8769L) || (-1936L <= v && v <= 869L)) || (-176L
        <= v && v <= 79L)) || ((((((1LL + (long long )sign) + (long long )v >= 0LL
        && (1LL - (long long )sign) + (long long )v >= 0LL) && (1LL + (long long )sign)
        - (long long )v >= 0LL) && (1LL - (long long )sign) - (long long )v >= 0LL)
        && 0L == v) && v == 0L)) || v <= 9223372036854775759L
      format: c_expression
