; ModuleID = 'CookSeeZuleger-TACAS2013-Fig7b_true-termination.c.pass0.llvm'
source_filename = "CookSeeZuleger-TACAS2013-Fig7b_true-termination.c"
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.15.0"

; Function Attrs: noinline nounwind ssp uwtable
define i32 @main() #0 {
bb:
  %tmp = call i32 @__VERIFIER_nondet_int()
  %tmp7 = call i32 @__VERIFIER_nondet_int()
  %tmp8 = call i32 @__VERIFIER_nondet_int()
  br label %bb9

bb9:                                              ; preds = %bb32, %bb
  %.04 = phi i32 [ %tmp7, %bb ], [ %.26, %bb32 ]
  %.01 = phi i32 [ %tmp, %bb ], [ %.23, %bb32 ]
  %.0 = phi i32 [ %tmp8, %bb ], [ %.2, %bb32 ]
  %tmp10 = icmp sgt i32 %.01, 0
  br i1 %tmp10, label %bb11, label %bb15

bb11:                                             ; preds = %bb9
  %tmp12 = icmp sgt i32 %.04, 0
  br i1 %tmp12, label %bb13, label %bb15

bb13:                                             ; preds = %bb11
  %tmp14 = icmp sgt i32 %.0, 0
  br label %bb15

bb15:                                             ; preds = %bb13, %bb11, %bb9
  %tmp16 = phi i1 [ false, %bb11 ], [ false, %bb9 ], [ %tmp14, %bb13 ]
  br i1 %tmp16, label %bb17, label %bb33

bb17:                                             ; preds = %bb15
  %tmp18 = call i32 @__VERIFIER_nondet_int()
  %tmp19 = icmp ne i32 %tmp18, 0
  br i1 %tmp19, label %bb20, label %bb22

bb20:                                             ; preds = %bb17
  %tmp21 = sub nsw i32 %.01, 1
  br label %bb32

bb22:                                             ; preds = %bb17
  %tmp23 = call i32 @__VERIFIER_nondet_int()
  %tmp24 = icmp ne i32 %tmp23, 0
  br i1 %tmp24, label %bb25, label %bb28

bb25:                                             ; preds = %bb22
  %tmp26 = sub nsw i32 %.04, 1
  %tmp27 = call i32 @__VERIFIER_nondet_int()
  br label %bb31

bb28:                                             ; preds = %bb22
  %tmp29 = sub nsw i32 %.0, 1
  %tmp30 = call i32 @__VERIFIER_nondet_int()
  br label %bb31

bb31:                                             ; preds = %bb28, %bb25
  %.15 = phi i32 [ %tmp26, %bb25 ], [ %.04, %bb28 ]
  %.12 = phi i32 [ %.01, %bb25 ], [ %tmp30, %bb28 ]
  %.1 = phi i32 [ %tmp27, %bb25 ], [ %tmp29, %bb28 ]
  br label %bb32

bb32:                                             ; preds = %bb31, %bb20
  %.26 = phi i32 [ %.04, %bb20 ], [ %.15, %bb31 ]
  %.23 = phi i32 [ %tmp21, %bb20 ], [ %.12, %bb31 ]
  %.2 = phi i32 [ %.0, %bb20 ], [ %.1, %bb31 ]
  br label %bb9

bb33:                                             ; preds = %bb15
  ret i32 0
}

declare i32 @__VERIFIER_nondet_int() #1

attributes #0 = { noinline nounwind ssp uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "darwin-stkchk-strong-link" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "probe-stack"="___chkstk_darwin" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "darwin-stkchk-strong-link" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "probe-stack"="___chkstk_darwin" "stack-protector-buffer-size"="8" "target-cpu"="penryn" "target-features"="+cx16,+cx8,+fxsr,+mmx,+sahf,+sse,+sse2,+sse3,+sse4.1,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }

!llvm.module.flags = !{!0, !1, !2}
!llvm.ident = !{!3}

!0 = !{i32 2, !"SDK Version", [3 x i32] [i32 10, i32 15, i32 6]}
!1 = !{i32 1, !"wchar_size", i32 4}
!2 = !{i32 7, !"PIC Level", i32 2}
!3 = !{!"Apple clang version 11.0.3 (clang-1103.0.32.62)"}