#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 */
double myPow(double, int);
int /*<<< orphan*/ printf(char *, double);
void myPowMain(void) {
  printf("%f\n", myPow(15.0, -1));
  printf("%f\n", myPow(15.0, 0));
  printf("%f\n", myPow(15.0, 1));
  printf("%f\n", myPow(15.0, 2));
  printf("%f\n", myPow(15.0, 3));
  printf("%f\n", myPow(15.0, 4));
  printf("%f\n", myPow(15.0, 5));
  printf("%f\n", myPow(15.0, 6));
  printf("%f\n", myPow(15.0, 7));
  printf("%f\n", myPow(0.00001, -1));
  printf("%f\n", myPow(0.00001, 0));
  printf("%f\n", myPow(0.00001, 1));
  printf("%f\n", myPow(0.00001, 2147483647));
  printf("%f\n", myPow(-15.0, -1));
  printf("%f\n", myPow(-15.0, 0));
  printf("%f\n", myPow(-15.0, 1));
  printf("%f\n", myPow(-15.0, 2));
  printf("%f\n", myPow(-15.0, 3));
  printf("%f\n", myPow(-15.0, 4));
  printf("%f\n", myPow(-15.0, 5));
  printf("%f\n", myPow(-15.0, 6));
  printf("%f\n\n", myPow(-15.0, 7));
  printf("%f\n", myPow(-0.00001, -1));
  printf("%f\n", myPow(-0.00001, 0));
  printf("%f\n", myPow(-0.00001, 1));
  printf("%f\n\n", myPow(-0.00001, 2147483647));
  printf("%f\n\n", myPow(1.00000, -2147483648));
  printf("%f\n\n", myPow(0.44894, -5));
  printf("%f\n", myPow(-1.00000, -2147483648));
  printf("%f\n", myPow(-1.00000, 2147483648));
  printf("%f\n", myPow(-1.00000, -2147483647));
  printf("%f\n", myPow(-1.00000, 2147483647));
}


x86 assembly (clang, -O0):
<myPowMain>:
push   %rbp
mov    %rsp,%rbp
movsd  0xf04(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
lea    0xefb(%rip),%rdi
call   1030 <printf@plt>
movsd  0xee6(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
lea    0xee0(%rip),%rdi
call   1030 <printf@plt>
movsd  0xecb(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
lea    0xec2(%rip),%rdi
call   1030 <printf@plt>
movsd  0xead(%rip),%xmm0
mov    $0x2,%edi
call   1040 <myPow@plt>
lea    0xea4(%rip),%rdi
call   1030 <printf@plt>
movsd  0xe8f(%rip),%xmm0
mov    $0x3,%edi
call   1040 <myPow@plt>
lea    0xe86(%rip),%rdi
call   1030 <printf@plt>
movsd  0xe71(%rip),%xmm0
mov    $0x4,%edi
call   1040 <myPow@plt>
lea    0xe68(%rip),%rdi
call   1030 <printf@plt>
movsd  0xe53(%rip),%xmm0
mov    $0x5,%edi
call   1040 <myPow@plt>
lea    0xe4a(%rip),%rdi
call   1030 <printf@plt>
movsd  0xe35(%rip),%xmm0
mov    $0x6,%edi
call   1040 <myPow@plt>
lea    0xe2c(%rip),%rdi
call   1030 <printf@plt>
movsd  0xe17(%rip),%xmm0
mov    $0x7,%edi
call   1040 <myPow@plt>
lea    0xe0e(%rip),%rdi
call   1030 <printf@plt>
movsd  0xdf1(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
lea    0xdf0(%rip),%rdi
call   1030 <printf@plt>
movsd  0xdd3(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
lea    0xdd5(%rip),%rdi
call   1030 <printf@plt>
movsd  0xdb8(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
lea    0xdb7(%rip),%rdi
call   1030 <printf@plt>
movsd  0xd9a(%rip),%xmm0
mov    $0x7fffffff,%edi
call   1040 <myPow@plt>
lea    0xd99(%rip),%rdi
call   1030 <printf@plt>
movsd  0xd74(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
lea    0xd7b(%rip),%rdi
call   1030 <printf@plt>
movsd  0xd56(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
lea    0xd60(%rip),%rdi
call   1030 <printf@plt>
movsd  0xd3b(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
lea    0xd42(%rip),%rdi
call   1030 <printf@plt>
movsd  0xd1d(%rip),%xmm0
mov    $0x2,%edi
call   1040 <myPow@plt>
lea    0xd24(%rip),%rdi
call   1030 <printf@plt>
movsd  0xcff(%rip),%xmm0
mov    $0x3,%edi
call   1040 <myPow@plt>
lea    0xd06(%rip),%rdi
call   1030 <printf@plt>
movsd  0xce1(%rip),%xmm0
mov    $0x4,%edi
call   1040 <myPow@plt>
lea    0xce8(%rip),%rdi
call   1030 <printf@plt>
movsd  0xcc3(%rip),%xmm0
mov    $0x5,%edi
call   1040 <myPow@plt>
lea    0xcca(%rip),%rdi
call   1030 <printf@plt>
movsd  0xca5(%rip),%xmm0
mov    $0x6,%edi
call   1040 <myPow@plt>
lea    0xcac(%rip),%rdi
call   1030 <printf@plt>
movsd  0xc87(%rip),%xmm0
mov    $0x7,%edi
call   1040 <myPow@plt>
lea    0xc92(%rip),%rdi
call   1030 <printf@plt>
movsd  0xc61(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
lea    0xc70(%rip),%rdi
call   1030 <printf@plt>
movsd  0xc43(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
lea    0xc55(%rip),%rdi
call   1030 <printf@plt>
movsd  0xc28(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
lea    0xc37(%rip),%rdi
call   1030 <printf@plt>
movsd  0xc0a(%rip),%xmm0
mov    $0x7fffffff,%edi
call   1040 <myPow@plt>
lea    0xc1d(%rip),%rdi
call   1030 <printf@plt>
movsd  0xbe4(%rip),%xmm0
mov    $0x80000000,%edi
call   1040 <myPow@plt>
lea    0xbff(%rip),%rdi
call   1030 <printf@plt>
movsd  0xbbe(%rip),%xmm0
mov    $0xfffffffb,%edi
call   1040 <myPow@plt>
lea    0xbe1(%rip),%rdi
call   1030 <printf@plt>
movsd  0xb98(%rip),%xmm0
mov    $0x80000000,%edi
call   1040 <myPow@plt>
lea    0xbbf(%rip),%rdi
call   1030 <printf@plt>
movsd  0xb7a(%rip),%xmm0
mov    $0x80000000,%edi
call   1040 <myPow@plt>
lea    0xba1(%rip),%rdi
call   1030 <printf@plt>
movsd  0xb5c(%rip),%xmm0
mov    $0x80000001,%edi
call   1040 <myPow@plt>
lea    0xb83(%rip),%rdi
call   1030 <printf@plt>
movsd  0xb3e(%rip),%xmm0
mov    $0x7fffffff,%edi
call   1040 <myPow@plt>
lea    0xb65(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<myPowMain>:
push   %r14
push   %rbx
push   %rax
movsd  0xed4(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
lea    0xefb(%rip),%rbx
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xeb3(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xe9c(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xe82(%rip),%xmm0
mov    $0x2,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xe68(%rip),%xmm0
mov    $0x3,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xe4e(%rip),%xmm0
mov    $0x4,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xe34(%rip),%xmm0
mov    $0x5,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xe1a(%rip),%xmm0
mov    $0x6,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xe00(%rip),%xmm0
mov    $0x7,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xdee(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xdd4(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xdbd(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xda3(%rip),%xmm0
mov    $0x7fffffff,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xd91(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xd77(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xd60(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xd46(%rip),%xmm0
mov    $0x2,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xd2c(%rip),%xmm0
mov    $0x3,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xd12(%rip),%xmm0
mov    $0x4,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xcf8(%rip),%xmm0
mov    $0x5,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xcde(%rip),%xmm0
mov    $0x6,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xcc4(%rip),%xmm0
mov    $0x7,%edi
call   1040 <myPow@plt>
lea    0xcdf(%rip),%r14
mov    %r14,%rdi
call   1030 <printf@plt>
movsd  0xcab(%rip),%xmm0
mov    $0xffffffff,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xc91(%rip),%xmm0
xor    %edi,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xc7a(%rip),%xmm0
mov    $0x1,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xc60(%rip),%xmm0
mov    $0x7fffffff,%edi
call   1040 <myPow@plt>
mov    %r14,%rdi
call   1030 <printf@plt>
movsd  0xc4e(%rip),%xmm0
mov    $0x80000000,%edi
call   1040 <myPow@plt>
mov    %r14,%rdi
call   1030 <printf@plt>
movsd  0xc3c(%rip),%xmm0
mov    $0xfffffffb,%edi
call   1040 <myPow@plt>
mov    %r14,%rdi
call   1030 <printf@plt>
movsd  0xc2a(%rip),%xmm0
mov    $0x80000000,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xc10(%rip),%xmm0
mov    $0x80000000,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xbf6(%rip),%xmm0
mov    $0x80000001,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
call   1030 <printf@plt>
movsd  0xbdc(%rip),%xmm0
mov    $0x7fffffff,%edi
call   1040 <myPow@plt>
mov    %rbx,%rdi
add    $0x8,%rsp
pop    %rbx
pop    %r14
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [4 x i8] c"%f\0A\00"
@.str.1 = [5 x i8] c"%f\0A\0A\00"
define void @myPowMain() {
%1 = call double @myPow(double 1.500000e+01, i32 -1)
%2 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %1)
%3 = call double @myPow(double 1.500000e+01, i32 0)
%4 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %3)
%5 = call double @myPow(double 1.500000e+01, i32 1)
%6 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %5)
%7 = call double @myPow(double 1.500000e+01, i32 2)
%8 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %7)
%9 = call double @myPow(double 1.500000e+01, i32 3)
%10 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %9)
%11 = call double @myPow(double 1.500000e+01, i32 4)
%12 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %11)
%13 = call double @myPow(double 1.500000e+01, i32 5)
%14 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %13)
%15 = call double @myPow(double 1.500000e+01, i32 6)
%16 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %15)
%17 = call double @myPow(double 1.500000e+01, i32 7)
%18 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %17)
%19 = call double @myPow(double 1.000000e-05, i32 -1)
%20 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %19)
%21 = call double @myPow(double 1.000000e-05, i32 0)
%22 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %21)
%23 = call double @myPow(double 1.000000e-05, i32 1)
%24 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %23)
%25 = call double @myPow(double 1.000000e-05, i32 2147483647)
%26 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %25)
%27 = call double @myPow(double -1.500000e+01, i32 -1)
%28 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %27)
%29 = call double @myPow(double -1.500000e+01, i32 0)
%30 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %29)
%31 = call double @myPow(double -1.500000e+01, i32 1)
%32 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %31)
%33 = call double @myPow(double -1.500000e+01, i32 2)
%34 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %33)
%35 = call double @myPow(double -1.500000e+01, i32 3)
%36 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %35)
%37 = call double @myPow(double -1.500000e+01, i32 4)
%38 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %37)
%39 = call double @myPow(double -1.500000e+01, i32 5)
%40 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %39)
%41 = call double @myPow(double -1.500000e+01, i32 6)
%42 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %41)
%43 = call double @myPow(double -1.500000e+01, i32 7)
%44 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %43)
%45 = call double @myPow(double -1.000000e-05, i32 -1)
%46 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %45)
%47 = call double @myPow(double -1.000000e-05, i32 0)
%48 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %47)
%49 = call double @myPow(double -1.000000e-05, i32 1)
%50 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %49)
%51 = call double @myPow(double -1.000000e-05, i32 2147483647)
%52 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %51)
%53 = call double @myPow(double 1.000000e+00, i32 -2147483648)
%54 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %53)
%55 = call double @myPow(double 4.489400e-01, i32 -5)
%56 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %55)
%57 = call double @myPow(double -1.000000e+00, i32 -2147483648)
%58 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %57)
%59 = call double @myPow(double -1.000000e+00, i32 -2147483648)
%60 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %59)
%61 = call double @myPow(double -1.000000e+00, i32 -2147483647)
%62 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %61)
%63 = call double @myPow(double -1.000000e+00, i32 2147483647)
%64 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %63)
ret void
}

LLVM IR (-O2):
@.str = [4 x i8] c"%f\0A\00"
@.str.1 = [5 x i8] c"%f\0A\0A\00"
define void @myPowMain() {
%1 = tail call double @myPow(double 1.500000e+01, i32 -1)
%2 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %1)
%3 = tail call double @myPow(double 1.500000e+01, i32 0)
%4 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %3)
%5 = tail call double @myPow(double 1.500000e+01, i32 1)
%6 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %5)
%7 = tail call double @myPow(double 1.500000e+01, i32 2)
%8 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %7)
%9 = tail call double @myPow(double 1.500000e+01, i32 3)
%10 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %9)
%11 = tail call double @myPow(double 1.500000e+01, i32 4)
%12 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %11)
%13 = tail call double @myPow(double 1.500000e+01, i32 5)
%14 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %13)
%15 = tail call double @myPow(double 1.500000e+01, i32 6)
%16 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %15)
%17 = tail call double @myPow(double 1.500000e+01, i32 7)
%18 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %17)
%19 = tail call double @myPow(double 1.000000e-05, i32 -1)
%20 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %19)
%21 = tail call double @myPow(double 1.000000e-05, i32 0)
%22 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %21)
%23 = tail call double @myPow(double 1.000000e-05, i32 1)
%24 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %23)
%25 = tail call double @myPow(double 1.000000e-05, i32 2147483647)
%26 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %25)
%27 = tail call double @myPow(double -1.500000e+01, i32 -1)
%28 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %27)
%29 = tail call double @myPow(double -1.500000e+01, i32 0)
%30 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %29)
%31 = tail call double @myPow(double -1.500000e+01, i32 1)
%32 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %31)
%33 = tail call double @myPow(double -1.500000e+01, i32 2)
%34 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %33)
%35 = tail call double @myPow(double -1.500000e+01, i32 3)
%36 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %35)
%37 = tail call double @myPow(double -1.500000e+01, i32 4)
%38 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %37)
%39 = tail call double @myPow(double -1.500000e+01, i32 5)
%40 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %39)
%41 = tail call double @myPow(double -1.500000e+01, i32 6)
%42 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %41)
%43 = tail call double @myPow(double -1.500000e+01, i32 7)
%44 = tail call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %43)
%45 = tail call double @myPow(double -1.000000e-05, i32 -1)
%46 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %45)
%47 = tail call double @myPow(double -1.000000e-05, i32 0)
%48 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %47)
%49 = tail call double @myPow(double -1.000000e-05, i32 1)
%50 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %49)
%51 = tail call double @myPow(double -1.000000e-05, i32 2147483647)
%52 = tail call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %51)
%53 = tail call double @myPow(double 1.000000e+00, i32 -2147483648)
%54 = tail call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %53)
%55 = tail call double @myPow(double 4.489400e-01, i32 -5)
%56 = tail call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %55)
%57 = tail call double @myPow(double -1.000000e+00, i32 -2147483648)
%58 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %57)
%59 = tail call double @myPow(double -1.000000e+00, i32 -2147483648)
%60 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %59)
%61 = tail call double @myPow(double -1.000000e+00, i32 -2147483647)
%62 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %61)
%63 = tail call double @myPow(double -1.000000e+00, i32 2147483647)
%64 = tail call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), double %63)
ret void
}