- content:
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 46
      type: loop_invariant
      value: ((((((((((2 <= counter) && (a == 1)) && (((((__int128) q * y) + y) +
        r) == ((__int128) b + x))) && (1 <= r)) && (b == y)) && (1 <= y)) || ((((((2
        <= counter) && (x == r)) && (1 <= r)) && ((r + ((__int128) a * y)) == ((__int128)
        b + x))) && (q == 0)) && (1 <= y))) || (((((((a == 1) && (((__int128) y +
        r) == ((__int128) b + x))) && (1 <= r)) && (b == y)) && (q == 0)) && (counter
        == 1)) && (1 <= y))) && (\old(counter) == 0)))
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 37
      type: loop_invariant
      value: (((\old(counter) == 0) && (((((2 <= counter) && ((((__int128) q * y)
        + r) == x)) && (((((__int128) q * y) + r) + ((__int128) a * y)) == ((__int128)
        b + x))) && (1 <= y)) || ((((((a == 0) && (x == r)) && (b == 0)) && (counter
        == 0)) && (q == 0)) && (1 <= y)))))
  - invariant:
      ensures: ((((cond != 0) && (counter == 0)) && (counter == \old(counter))))
      format: acsl_expression
      location:
        file_name: null
        function: assume_abort_if_not
        line: 11
      requires: ((counter == 0))
      type: function_contract
  - invariant:
      ensures: ((\old(counter) == 0))
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 23
      requires: ((counter == 0))
      type: function_contract
  - invariant:
      ensures: (((cond != 0) && (counter == \old(counter)))) && (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'
