#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
scalar_t__ test_AI_FromString_ToString__long_string();
scalar_t__ test_AI_FromString_ToString__short_string();
scalar_t__ test_addition__basic();
scalar_t__ test_addition__overflow();
scalar_t__ test_bititer__basic();
scalar_t__ test_bititer__long();
scalar_t__ test_division__by_zero();
scalar_t__ test_division__simple();
scalar_t__ test_from_string__basic();
scalar_t__ test_hsb__1();
scalar_t__ test_hsb__2();
scalar_t__ test_hsb__4();
scalar_t__ test_isqrt__large();
scalar_t__ test_isqrt__negative();
scalar_t__ test_isqrt__small();
scalar_t__ test_isqrt__very_large();
scalar_t__ test_isqrt__very_large2();
scalar_t__ test_multiplication__basic();
scalar_t__ test_pow__seven();
scalar_t__ test_pow__three();
scalar_t__ test_pow__two();
scalar_t__ test_pow_by_pow2__1();
scalar_t__ test_pow_by_pow2__2();
scalar_t__ test_setbit__basic();
scalar_t__ test_string__base();
scalar_t__ test_string__speed_dec();
scalar_t__ test_string__speed_dec100();
scalar_t__ test_string__speed_hex_wide();
scalar_t__ test_subtraction__basic();
scalar_t__ test_to_string__dec_regression();
int test_all_2() {
  return test_AI_FromString_ToString__short_string() &&
         test_AI_FromString_ToString__long_string() &&
         test_addition__overflow() && test_addition__basic() &&
         test_subtraction__basic() && test_from_string__basic() &&
         test_to_string__dec_regression() && test_multiplication__basic() &&
         test_division__simple() && test_division__by_zero() &&
         test_string__base() && test_setbit__basic() && test_bititer__basic() &&
         test_bititer__long() && test_hsb__1() && test_hsb__2() &&
         test_hsb__4() && test_pow_by_pow2__1() && test_pow_by_pow2__2() &&
         test_pow__two() && test_pow__three() && test_pow__seven() &&
         test_string__speed_dec100() && test_string__speed_hex_wide() &&
         test_string__speed_dec() && test_isqrt__small() &&
         test_isqrt__large() && test_isqrt__very_large() &&
         test_isqrt__very_large2() && test_isqrt__negative() && 1;
}


x86 assembly (clang, -O0):
<test_all_2>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    $0x0,%al
call   1160 <test_AI_FromString_ToString__short_string@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   10d0 <test_AI_FromString_ToString__long_string@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1170 <test_addition__overflow@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1060 <test_addition__basic@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1050 <test_subtraction__basic@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1100 <test_from_string__basic@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1180 <test_to_string__dec_regression@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1030 <test_multiplication__basic@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1140 <test_division__simple@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   10f0 <test_division__by_zero@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   10c0 <test_string__base@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1120 <test_setbit__basic@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   10a0 <test_bititer__basic@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1150 <test_bititer__long@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   11d0 <test_hsb__1@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   10e0 <test_hsb__2@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1110 <test_hsb__4@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   11a0 <test_pow_by_pow2__1@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1090 <test_pow_by_pow2__2@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   11e0 <test_pow__two@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1080 <test_pow__three@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   11f0 <test_pow__seven@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   10b0 <test_string__speed_dec100@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   11c0 <test_string__speed_hex_wide@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   11b0 <test_string__speed_dec@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1190 <test_isqrt__small@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1200 <test_isqrt__large@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1070 <test_isqrt__very_large@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1130 <test_isqrt__very_large2@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x0,%al
call   1040 <test_isqrt__negative@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x1(%rbp)
je     15e0 <test_all_2+0x300>
mov    $0x1,%al
mov    %al,-0x1(%rbp)
jmp    15e0 <test_all_2+0x300>
mov    -0x1(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_all_2>:
push   %rbx
xor    %ebx,%ebx
xor    %eax,%eax
call   1160 <test_AI_FromString_ToString__short_string@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   10d0 <test_AI_FromString_ToString__long_string@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1170 <test_addition__overflow@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1060 <test_addition__basic@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1050 <test_subtraction__basic@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1100 <test_from_string__basic@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1180 <test_to_string__dec_regression@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1030 <test_multiplication__basic@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1140 <test_division__simple@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   10f0 <test_division__by_zero@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   10c0 <test_string__base@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1120 <test_setbit__basic@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   10a0 <test_bititer__basic@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1150 <test_bititer__long@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   11d0 <test_hsb__1@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   10e0 <test_hsb__2@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1110 <test_hsb__4@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   11a0 <test_pow_by_pow2__1@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1090 <test_pow_by_pow2__2@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   11e0 <test_pow__two@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1080 <test_pow__three@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   11f0 <test_pow__seven@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   10b0 <test_string__speed_dec100@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   11c0 <test_string__speed_hex_wide@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   11b0 <test_string__speed_dec@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1190 <test_isqrt__small@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1200 <test_isqrt__large@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1070 <test_isqrt__very_large@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %ebx,%ebx
xor    %eax,%eax
call   1130 <test_isqrt__very_large2@plt>
test   %rax,%rax
je     14d6 <test_all_2+0x1f6>
xor    %eax,%eax
call   1040 <test_isqrt__negative@plt>
xor    %ebx,%ebx
test   %rax,%rax
setne  %bl
mov    %ebx,%eax
pop    %rbx
ret

LLVM IR (-O0):
define i32 @test_all_2() {
%1 = call i64 (...) @test_AI_FromString_ToString__short_string()
%2 = icmp ne i64 %1, 0
br i1 %2, label %3, label %91
3: ; preds = %0
%4 = call i64 (...) @test_AI_FromString_ToString__long_string()
%5 = icmp ne i64 %4, 0
br i1 %5, label %6, label %91
6: ; preds = %3
%7 = call i64 (...) @test_addition__overflow()
%8 = icmp ne i64 %7, 0
br i1 %8, label %9, label %91
9: ; preds = %6
%10 = call i64 (...) @test_addition__basic()
%11 = icmp ne i64 %10, 0
br i1 %11, label %12, label %91
12: ; preds = %9
%13 = call i64 (...) @test_subtraction__basic()
%14 = icmp ne i64 %13, 0
br i1 %14, label %15, label %91
15: ; preds = %12
%16 = call i64 (...) @test_from_string__basic()
%17 = icmp ne i64 %16, 0
br i1 %17, label %18, label %91
18: ; preds = %15
%19 = call i64 (...) @test_to_string__dec_regression()
%20 = icmp ne i64 %19, 0
br i1 %20, label %21, label %91
21: ; preds = %18
%22 = call i64 (...) @test_multiplication__basic()
%23 = icmp ne i64 %22, 0
br i1 %23, label %24, label %91
24: ; preds = %21
%25 = call i64 (...) @test_division__simple()
%26 = icmp ne i64 %25, 0
br i1 %26, label %27, label %91
27: ; preds = %24
%28 = call i64 (...) @test_division__by_zero()
%29 = icmp ne i64 %28, 0
br i1 %29, label %30, label %91
30: ; preds = %27
%31 = call i64 (...) @test_string__base()
%32 = icmp ne i64 %31, 0
br i1 %32, label %33, label %91
33: ; preds = %30
%34 = call i64 (...) @test_setbit__basic()
%35 = icmp ne i64 %34, 0
br i1 %35, label %36, label %91
36: ; preds = %33
%37 = call i64 (...) @test_bititer__basic()
%38 = icmp ne i64 %37, 0
br i1 %38, label %39, label %91
39: ; preds = %36
%40 = call i64 (...) @test_bititer__long()
%41 = icmp ne i64 %40, 0
br i1 %41, label %42, label %91
42: ; preds = %39
%43 = call i64 (...) @test_hsb__1()
%44 = icmp ne i64 %43, 0
br i1 %44, label %45, label %91
45: ; preds = %42
%46 = call i64 (...) @test_hsb__2()
%47 = icmp ne i64 %46, 0
br i1 %47, label %48, label %91
48: ; preds = %45
%49 = call i64 (...) @test_hsb__4()
%50 = icmp ne i64 %49, 0
br i1 %50, label %51, label %91
51: ; preds = %48
%52 = call i64 (...) @test_pow_by_pow2__1()
%53 = icmp ne i64 %52, 0
br i1 %53, label %54, label %91
54: ; preds = %51
%55 = call i64 (...) @test_pow_by_pow2__2()
%56 = icmp ne i64 %55, 0
br i1 %56, label %57, label %91
57: ; preds = %54
%58 = call i64 (...) @test_pow__two()
%59 = icmp ne i64 %58, 0
br i1 %59, label %60, label %91
60: ; preds = %57
%61 = call i64 (...) @test_pow__three()
%62 = icmp ne i64 %61, 0
br i1 %62, label %63, label %91
63: ; preds = %60
%64 = call i64 (...) @test_pow__seven()
%65 = icmp ne i64 %64, 0
br i1 %65, label %66, label %91
66: ; preds = %63
%67 = call i64 (...) @test_string__speed_dec100()
%68 = icmp ne i64 %67, 0
br i1 %68, label %69, label %91
69: ; preds = %66
%70 = call i64 (...) @test_string__speed_hex_wide()
%71 = icmp ne i64 %70, 0
br i1 %71, label %72, label %91
72: ; preds = %69
%73 = call i64 (...) @test_string__speed_dec()
%74 = icmp ne i64 %73, 0
br i1 %74, label %75, label %91
75: ; preds = %72
%76 = call i64 (...) @test_isqrt__small()
%77 = icmp ne i64 %76, 0
br i1 %77, label %78, label %91
78: ; preds = %75
%79 = call i64 (...) @test_isqrt__large()
%80 = icmp ne i64 %79, 0
br i1 %80, label %81, label %91
81: ; preds = %78
%82 = call i64 (...) @test_isqrt__very_large()
%83 = icmp ne i64 %82, 0
br i1 %83, label %84, label %91
84: ; preds = %81
%85 = call i64 (...) @test_isqrt__very_large2()
%86 = icmp ne i64 %85, 0
br i1 %86, label %87, label %91
87: ; preds = %84
%88 = call i64 (...) @test_isqrt__negative()
%89 = icmp ne i64 %88, 0
br i1 %89, label %90, label %91
90: ; preds = %87
br label %91
91: ; preds = %90, %87, %84, %81, %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9, %6, %3, %0
%92 = phi i1 [ false, %87 ], [ false, %84 ], [ false, %81 ], [ false, %78 ], [ false, %75 ], [ false, %72 ], [ false, %69 ], [ false, %66 ], [ false, %63 ], [ false, %60 ], [ false, %57 ], [ false, %54 ], [ false, %51 ], [ false, %48 ], [ false, %45 ], [ false, %42 ], [ false, %39 ], [ false, %36 ], [ false, %33 ], [ false, %30 ], [ false, %27 ], [ false, %24 ], [ false, %21 ], [ false, %18 ], [ false, %15 ], [ false, %12 ], [ false, %9 ], [ false, %6 ], [ false, %3 ], [ false, %0 ], [ true, %90 ]
%93 = zext i1 %92 to i32
ret i32 %93
}

LLVM IR (-O2):
define i32 @test_all_2() {
%1 = tail call i64 (...) @test_AI_FromString_ToString__short_string()
%2 = icmp eq i64 %1, 0
br i1 %2, label %91, label %3
3: ; preds = %0
%4 = tail call i64 (...) @test_AI_FromString_ToString__long_string()
%5 = icmp eq i64 %4, 0
br i1 %5, label %91, label %6
6: ; preds = %3
%7 = tail call i64 (...) @test_addition__overflow()
%8 = icmp eq i64 %7, 0
br i1 %8, label %91, label %9
9: ; preds = %6
%10 = tail call i64 (...) @test_addition__basic()
%11 = icmp eq i64 %10, 0
br i1 %11, label %91, label %12
12: ; preds = %9
%13 = tail call i64 (...) @test_subtraction__basic()
%14 = icmp eq i64 %13, 0
br i1 %14, label %91, label %15
15: ; preds = %12
%16 = tail call i64 (...) @test_from_string__basic()
%17 = icmp eq i64 %16, 0
br i1 %17, label %91, label %18
18: ; preds = %15
%19 = tail call i64 (...) @test_to_string__dec_regression()
%20 = icmp eq i64 %19, 0
br i1 %20, label %91, label %21
21: ; preds = %18
%22 = tail call i64 (...) @test_multiplication__basic()
%23 = icmp eq i64 %22, 0
br i1 %23, label %91, label %24
24: ; preds = %21
%25 = tail call i64 (...) @test_division__simple()
%26 = icmp eq i64 %25, 0
br i1 %26, label %91, label %27
27: ; preds = %24
%28 = tail call i64 (...) @test_division__by_zero()
%29 = icmp eq i64 %28, 0
br i1 %29, label %91, label %30
30: ; preds = %27
%31 = tail call i64 (...) @test_string__base()
%32 = icmp eq i64 %31, 0
br i1 %32, label %91, label %33
33: ; preds = %30
%34 = tail call i64 (...) @test_setbit__basic()
%35 = icmp eq i64 %34, 0
br i1 %35, label %91, label %36
36: ; preds = %33
%37 = tail call i64 (...) @test_bititer__basic()
%38 = icmp eq i64 %37, 0
br i1 %38, label %91, label %39
39: ; preds = %36
%40 = tail call i64 (...) @test_bititer__long()
%41 = icmp eq i64 %40, 0
br i1 %41, label %91, label %42
42: ; preds = %39
%43 = tail call i64 (...) @test_hsb__1()
%44 = icmp eq i64 %43, 0
br i1 %44, label %91, label %45
45: ; preds = %42
%46 = tail call i64 (...) @test_hsb__2()
%47 = icmp eq i64 %46, 0
br i1 %47, label %91, label %48
48: ; preds = %45
%49 = tail call i64 (...) @test_hsb__4()
%50 = icmp eq i64 %49, 0
br i1 %50, label %91, label %51
51: ; preds = %48
%52 = tail call i64 (...) @test_pow_by_pow2__1()
%53 = icmp eq i64 %52, 0
br i1 %53, label %91, label %54
54: ; preds = %51
%55 = tail call i64 (...) @test_pow_by_pow2__2()
%56 = icmp eq i64 %55, 0
br i1 %56, label %91, label %57
57: ; preds = %54
%58 = tail call i64 (...) @test_pow__two()
%59 = icmp eq i64 %58, 0
br i1 %59, label %91, label %60
60: ; preds = %57
%61 = tail call i64 (...) @test_pow__three()
%62 = icmp eq i64 %61, 0
br i1 %62, label %91, label %63
63: ; preds = %60
%64 = tail call i64 (...) @test_pow__seven()
%65 = icmp eq i64 %64, 0
br i1 %65, label %91, label %66
66: ; preds = %63
%67 = tail call i64 (...) @test_string__speed_dec100()
%68 = icmp eq i64 %67, 0
br i1 %68, label %91, label %69
69: ; preds = %66
%70 = tail call i64 (...) @test_string__speed_hex_wide()
%71 = icmp eq i64 %70, 0
br i1 %71, label %91, label %72
72: ; preds = %69
%73 = tail call i64 (...) @test_string__speed_dec()
%74 = icmp eq i64 %73, 0
br i1 %74, label %91, label %75
75: ; preds = %72
%76 = tail call i64 (...) @test_isqrt__small()
%77 = icmp eq i64 %76, 0
br i1 %77, label %91, label %78
78: ; preds = %75
%79 = tail call i64 (...) @test_isqrt__large()
%80 = icmp eq i64 %79, 0
br i1 %80, label %91, label %81
81: ; preds = %78
%82 = tail call i64 (...) @test_isqrt__very_large()
%83 = icmp eq i64 %82, 0
br i1 %83, label %91, label %84
84: ; preds = %81
%85 = tail call i64 (...) @test_isqrt__very_large2()
%86 = icmp eq i64 %85, 0
br i1 %86, label %91, label %87
87: ; preds = %84
%88 = tail call i64 (...) @test_isqrt__negative()
%89 = icmp ne i64 %88, 0
%90 = zext i1 %89 to i32
br label %91
91: ; preds = %87, %84, %81, %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9, %6, %3, %0
%92 = phi i32 [ 0, %84 ], [ 0, %81 ], [ 0, %78 ], [ 0, %75 ], [ 0, %72 ], [ 0, %69 ], [ 0, %66 ], [ 0, %63 ], [ 0, %60 ], [ 0, %57 ], [ 0, %54 ], [ 0, %51 ], [ 0, %48 ], [ 0, %45 ], [ 0, %42 ], [ 0, %39 ], [ 0, %36 ], [ 0, %33 ], [ 0, %30 ], [ 0, %27 ], [ 0, %24 ], [ 0, %21 ], [ 0, %18 ], [ 0, %15 ], [ 0, %12 ], [ 0, %9 ], [ 0, %6 ], [ 0, %3 ], [ 0, %0 ], [ %90, %87 ]
ret i32 %92
}