- content:
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 38
      type: loop_invariant
      value: (((((((((p == 0) && (n == r)) && (n <= 0)) && (counter == 1)) && (h ==
        0)) && (q == 1)) || ((((2 <= counter) && (p == 0)) && (n == r)) && (h == 0)))
        && (\old(counter) == 0)))
  - invariant:
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 30
      type: loop_invariant
      value: (((\old(counter) == 0) && ((((((p == 0) && (n == r)) && (counter == 1))
        && (h == 0)) || (((((p == 0) && (n == r)) && (counter == 0)) && (h == 0))
        && (q == 1))) || ((((2 <= counter) && (p == 0)) && (n == r)) && (h == 0)))))
  - invariant:
      ensures: (((counter == 0) && (counter == \old(counter))))
      format: acsl_expression
      location:
        file_name: null
        function: assume_abort_if_not
        line: 8
      requires: ((counter == 0))
      type: function_contract
  - invariant:
      ensures: ((\old(counter) == 0))
      format: acsl_expression
      location:
        file_name: null
        function: main
        line: 20
      requires: ((counter == 0))
      type: function_contract
  - invariant:
      ensures: (((1 <= cond) && (counter == \old(counter)))) && (1)
      format: acsl_expression
      location:
        file_name: null
        function: __VERIFIER_assert
        line: 11
      requires: ((1 <= cond)) && (cond != 0)
      type: function_contract
  entry_type: invariant_set
  metadata:
    format_version: '3.0'
