- content:
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 46
      type: loop_invariant
      value: '(((((((((((((0 <= r) && (((__int128) r + 1) <= d)) && (((__int128) d
        + r) == A)) && (((__int128) r + ((long long) 2 * B)) == ((__int128) A + d)))
        && (q == 1)) && (p == 1)) || (((((((0 <= (r + ((((__int128) -1 * d) >= 0)
        ? (((__int128) -1 * d) / 2) : ((((__int128) -1 * d) / 2) - 1)))) && (((__int128)
        r + 1) <= d)) && (((__int128) A + d) == ((__int128) ((long long) B * 4) +
        r))) && (((d >= 0) ? (d % 2) : ((d % 2) + 2)) == 0)) && (q == 0)) && (p ==
        4)) && ((A + ((d >= 0) ? (d / 2) : ((d / 2) - 1))) == ((__int128) r + ((long
        long) 2 * B))))) || ((((((q == 2) && (0 <= r)) && (p == 2)) && (((__int128)
        A + d) == ((__int128) ((long long) B * 4) + r))) && (A == ((__int128) r +
        ((long long) 2 * B)))) && ((((__int128) d + r) + 1) <= ((long long) B * 4))))
        || ((((((A == r) && (d == ((long long) 2 * B))) && (((__int128) r + 1) <=
        d)) && (p == 2)) && (q == 0)) && (B <= r))) || ((((((q == 2) && (B <= 2147483647))
        && (((__int128) r + 1) <= ((__int128) d + ((d >= 0) ? (d / 2) : ((d / 2) -
        1))))) && (d == (((A + ((__int128) -1 * r)) >= 0) ? ((A + ((__int128) -1 *
        r)) / 2) : (((A + ((__int128) -1 * r)) / 2) - 1)))) && (A == ((__int128) r
        + ((long long) 2 * B)))) && (p == 1))) || (((((((((__int128) r + B) + ((__int128)
        q * B)) == ((__int128) A + d)) && (((__int128) r + 1) <= ((__int128) d + ((d
        >= 0) ? (d / 2) : ((d / 2) - 1))))) && (((__int128) r + ((long long) 2 * B))
        <= 4294967295)) && ((r + ((__int128) q * B)) == A)) && (((__int128) d + ((long
        long) 2 * B)) <= 4294967295)) && (p == 1))) || ((((d == B) && (A == r)) &&
        (q == 0)) && (p == 1))))'
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 36
      type: loop_invariant
      value: ((((((d == B) && (A == r)) && (q == 0)) && (1 <= d)) && (p == 1)))
  - invariant:
      ensures: ((cond != 0))
      format: acsl_expression
      location:
        file_name: null
        function: assume_abort_if_not
        line: 11
      requires: (1)
      type: function_contract
  - invariant:
      ensures: ((cond != 0)) && (1)
      format: acsl_expression
      location:
        file_name: null
        function: __VERIFIER_assert
        line: 14
      requires: ((cond != 0)) && (cond != 0)
      type: function_contract
  entry_type: invariant_set
  metadata:
    format_version: '3.0'
