- 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)) && (A <= 2)) && (p == 1)) || ((((((B == 1) && (r == 0)) && (q
        == 2)) && (p == 2)) && (A == 2)) && (d == 2))) || (((((((A == r) && (d ==
        ((long long) 2 * B))) && (((__int128) r + 1) <= d)) && (p == 2)) && (q ==
        0)) && (A <= 2)) && (B <= r))) || ((((((B == 1) && (r == 0)) && (q == 2))
        && (A == 2)) && (d == 1)) && (p == 1))) || ((((d == B) && (A == r)) && (q
        == 0)) && (p == 1))) || (((((((0 <= (r + ((((__int128) -1 * d) >= 0) ? (((__int128)
        -1 * d) / 2) : ((((__int128) -1 * d) / 2) - 1)))) && (((__int128) A + d) ==
        ((__int128) ((long long) B * 4) + r))) && (q == 0)) && (p == 4)) && ((A +
        ((d >= 0) ? (d / 2) : ((d / 2) - 1))) == ((__int128) r + ((long long) 2 *
        B)))) && (1 <= d)) && (A <= 2))))'
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 36
      type: loop_invariant
      value: '(((((((((d == B) && (A == r)) && (q == 0)) && (1 <= d)) && (A <= 2))
        && (p == 1)) || (((((((A == r) && (d == ((long long) 2 * B))) && (p == 2))
        && (q == 0)) && (1 <= d)) && (A <= 2)) && (B <= r))) || (((((((0 <= (r + ((((__int128)
        -1 * d) >= 0) ? (((__int128) -1 * d) / 2) : ((((__int128) -1 * d) / 2) - 1))))
        && (((__int128) A + d) == ((__int128) ((long long) B * 4) + r))) && (q ==
        0)) && (p == 4)) && ((A + ((d >= 0) ? (d / 2) : ((d / 2) - 1))) == ((__int128)
        r + ((long long) 2 * B)))) && (1 <= d)) && (A <= 2))))'
  - 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'
