- content:
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 41
      type: loop_invariant
      value: '(((((((((B == 1) && (b == 1)) && (r <= 0)) && (r == A)) && (q == 0))
        || ((((0 <= 0) && (0 <= 0)) && (A == ((r + ((unsigned long long) b * q)) %
        4294967296))) && (B == b))) || ((((((B == 1) && (r == A)) && (0 <= (2 * ((((b
        / 2) + ((long long) -1 * B)) >= 0) ? (((b / 2) + ((long long) -1 * B)) / 4294967296)
        : ((((b / 2) + ((long long) -1 * B)) / 4294967296) - 1))))) && (A <= 1)) &&
        (b <= ((long long) B * 2))) && (q == 0))) || (((((B == 1) && (b == 1)) &&
        (r <= 0)) && (A == (((long long) r + 1) % 4294967296))) && (q == 1))))'
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 37
      type: loop_invariant
      value: '((((((((B == 1) && (r == A)) && (0 <= (2 * ((((b / 2) + ((long long)
        -1 * B)) >= 0) ? (((b / 2) + ((long long) -1 * B)) / 4294967296) : ((((b /
        2) + ((long long) -1 * B)) / 4294967296) - 1))))) && (A <= 1)) && (b <= ((long
        long) B * 2))) && (q == 0)) || ((((((b == 1) && (r == A)) && (0 <= 0)) &&
        (A <= 1)) && (B == b)) && (q == 0))))'
  - invariant:
      ensures: ((cond != 0))
      format: acsl_expression
      location:
        file_name: null
        function: assume_abort_if_not
        line: 15
      requires: (1)
      type: function_contract
  - invariant:
      ensures: ((1 <= cond)) && (1)
      format: acsl_expression
      location:
        file_name: null
        function: __VERIFIER_assert
        line: 18
      requires: ((1 <= cond)) && (cond != 0)
      type: function_contract
  entry_type: invariant_set
  metadata:
    format_version: '3.0'
