#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 */
int /*<<< orphan*/ printf(char *, ...);
int truncf(double);
main() {
  double x_8 = 0.71428571;
  double y_8 = 0.33333333;
  double u_8 = 0.714251;
  double v_8 = 98765.9;
  double x_5 = truncf(x_8 * 1e5) / 1e5;
  double y_5 = truncf(y_8 * 1e5) / 1e5;
  double u_5 = truncf(u_8 * 1e5) / 1e5;
  double v_5 = truncf(v_8 * 1e5) / 1e5;
  double res1_a = x_8 + y_8;
  double res1_b = truncf((x_5 + y_5) * 1e5) / 1e5;
  double res1_c = truncf((res1_a - res1_b) * 1e8) / 1e8;
  double res1_d = res1_c / res1_a;
  double res2_a = x_8 * y_8;
  double res2_b = truncf((x_5 * y_5) * 1e5) / 1e5;
  double res2_c = truncf((res2_a - res2_a) * 1e8) / 1e8;
  double res2_d = res2_c / res2_a;
  double res3_a = x_8 - u_8;
  double res3_b = truncf(((x_5 - u_5)) * 1e5) / 1e5;
  double res3_c = truncf((res3_a - res3_b) * 1e8) / 1e8;
  double res3_d = res3_c / res3_a;
  double res4_a = (x_8 - u_8) * v_8;
  double res4_b = truncf(((x_5 - u_5) * v_5) * 1e5) / 1e5;
  double res4_c = truncf((res4_a - res4_b) * 1e8) / 1e8;
  double res4_d = res4_c / res4_a;
  printf("operacion \t valor a 8 \t aritmetica \t error abs \t error r \n");
  printf("      X-Y \t %4.8f \t %1.5f \t %1.8f \t %1.8f \n", res1_a, res1_b,
         res1_c, res1_d);
  printf("      X/Y \t %4.8f \t %1.5f \t %1.8f \t %1.8f \n", res2_a, res2_b,
         res2_c, res2_d);
  printf("  (X-U)/W \t %4.8f \t %1.5f \t %1.8f \t %1.8f \n", res3_a, res3_b,
         res3_c, res3_d);
  printf("    (U+V) \t %4.8f \t %1.5f \t %1.8f \t %1.8f \n", res4_a, res4_b,
         res4_c, res4_d);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0xc0,%rsp
movsd  0xef5(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  0xee0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xecb(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xeb6(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  0xea1(%rip),%xmm0
mulsd  -0x8(%rbp),%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xe8b(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
movsd  0xe7a(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xe64(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x30(%rbp)
movsd  0xe53(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xe3d(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
movsd  0xe2c(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xe16(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x28(%rbp),%xmm0
addsd  -0x30(%rbp),%xmm0
movsd  0xdec(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xdd7(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x48(%rbp),%xmm0
subsd  -0x50(%rbp),%xmm0
movsd  0xdb4(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xd9f(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x58(%rbp),%xmm0
divsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x8(%rbp),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x28(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
movsd  0xd6e(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xd59(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x68(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
movsd  0xd36(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xd21(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x78(%rbp),%xmm0
divsd  -0x68(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x8(%rbp),%xmm0
subsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
movsd  0xced(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xcd8(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
subsd  -0x90(%rbp),%xmm0
ff
movsd  0xcac(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xc97(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
divsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
subsd  -0x18(%rbp),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  0xc4d(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xc38(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
subsd  -0xb0(%rbp),%xmm0
ff
movsd  0xc0c(%rip),%xmm1
mulsd  %xmm1,%xmm0
call   1040 <truncf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xbf7(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
divsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
lea    0xbfc(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movsd  -0x48(%rbp),%xmm0
movsd  -0x50(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm3
lea    0xc15(%rip),%rdi
mov    $0x4,%al
call   1030 <printf@plt>
movsd  -0x68(%rbp),%xmm0
movsd  -0x70(%rbp),%xmm1
movsd  -0x78(%rbp),%xmm2
movsd  -0x80(%rbp),%xmm3
lea    0xc1f(%rip),%rdi
mov    $0x4,%al
call   1030 <printf@plt>
movsd  -0x88(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm1
ff
movsd  -0x98(%rbp),%xmm2
ff
movsd  -0xa0(%rbp),%xmm3
ff
lea    0xc1d(%rip),%rdi
mov    $0x4,%al
call   1030 <printf@plt>
movsd  -0xa8(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xc0(%rbp),%xmm3
ff
lea    0xc1b(%rip),%rdi
mov    $0x4,%al
call   1030 <printf@plt>
xor    %eax,%eax
add    $0xc0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
sub    $0x70,%rsp
movsd  0xec3(%rip),%xmm0
call   1050 <truncf@plt>
mov    %eax,%ebx
movsd  0xebc(%rip),%xmm0
call   1050 <truncf@plt>
movd   %ebx,%xmm0
movd   %eax,%xmm1
punpckldq %xmm1,%xmm0
cvtdq2pd %xmm0,%xmm0
divpd  0xee7(%rip),%xmm0
movapd %xmm0,(%rsp)
movsd  0xe9a(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
divsd  0xe8e(%rip),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0xe88(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xe6c(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,0x18(%rsp)
movapd (%rsp),%xmm0
movapd %xmm0,%xmm2
unpckhpd %xmm0,%xmm2
movapd %xmm2,0x20(%rsp)
addsd  %xmm2,%xmm0
mulsd  %xmm1,%xmm0
call   1050 <truncf@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
divsd  0xe33(%rip),%xmm1
movsd  %xmm1,0x68(%rsp)
movsd  0xe35(%rip),%xmm0
subsd  %xmm1,%xmm0
mulsd  0xe31(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
divsd  0xe1d(%rip),%xmm0
movsd  %xmm0,0x60(%rsp)
divsd  0xe07(%rip),%xmm0
movsd  %xmm0,0x58(%rsp)
movapd 0x20(%rsp),%xmm0
mulsd  (%rsp),%xmm0
mulsd  0xdde(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
divsd  0xdca(%rip),%xmm0
movsd  %xmm0,0x20(%rsp)
xorpd  %xmm0,%xmm0
call   1050 <truncf@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
divsd  0xdc4(%rip),%xmm0
movsd  %xmm0,0x50(%rsp)
divsd  0xdbe(%rip),%xmm0
movsd  %xmm0,0x48(%rsp)
movapd (%rsp),%xmm0
subsd  0x10(%rsp),%xmm0
movapd %xmm0,(%rsp)
mulsd  0xd80(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
divsd  0xd6c(%rip),%xmm1
movsd  %xmm1,0x10(%rsp)
movsd  0xd86(%rip),%xmm0
subsd  %xmm1,%xmm0
mulsd  0xd6a(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
divsd  0xd56(%rip),%xmm0
movsd  %xmm0,0x40(%rsp)
divsd  0xd58(%rip),%xmm0
movsd  %xmm0,0x38(%rsp)
movapd (%rsp),%xmm0
mulsd  0x18(%rsp),%xmm0
mulsd  0xd17(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm1,%xmm1
cvtsi2sd %eax,%xmm1
divsd  0xd03(%rip),%xmm1
movsd  %xmm1,(%rsp)
movsd  0xd26(%rip),%xmm0
subsd  %xmm1,%xmm0
mulsd  0xd02(%rip),%xmm0
call   1050 <truncf@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
divsd  0xcee(%rip),%xmm0
movsd  %xmm0,0x18(%rsp)
divsd  0xcf8(%rip),%xmm0
movsd  %xmm0,0x30(%rsp)
lea    0xdb3(%rip),%rdi
call   1030 <puts@plt>
lea    0xcf7(%rip),%rdi
movsd  0xcb7(%rip),%xmm0
movsd  0x68(%rsp),%xmm1
movsd  0x60(%rsp),%xmm2
movsd  0x58(%rsp),%xmm3
mov    $0x4,%al
call   1040 <printf@plt>
lea    0xcfb(%rip),%rdi
movsd  0xc9f(%rip),%xmm0
movsd  0x20(%rsp),%xmm1
movsd  0x50(%rsp),%xmm2
movsd  0x48(%rsp),%xmm3
mov    $0x4,%al
call   1040 <printf@plt>
lea    0xcff(%rip),%rdi
movsd  0xc7f(%rip),%xmm0
movsd  0x10(%rsp),%xmm1
movsd  0x40(%rsp),%xmm2
movsd  0x38(%rsp),%xmm3
mov    $0x4,%al
call   1040 <printf@plt>
lea    0xd03(%rip),%rdi
movsd  0xc5f(%rip),%xmm0
movsd  (%rsp),%xmm1
movsd  0x18(%rsp),%xmm2
movsd  0x30(%rsp),%xmm3
mov    $0x4,%al
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x70,%rsp
pop    %rbx
ret

LLVM IR (-O0):
@.str = [59 x i8] c"operacion \09 valor a 8 \09 aritmetica \09 error abs \09 error r \0A\00"
@.str.1 = [44 x i8] c" X-Y \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
@.str.2 = [44 x i8] c" X/Y \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
@.str.3 = [44 x i8] c" (X-U)/W \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
@.str.4 = [44 x i8] c" (U+V) \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
define i32 @main() {
%1 = alloca double
%2 = alloca double
%3 = alloca double
%4 = alloca double
%5 = alloca double
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
store double 0x3FE6DB6DB48E678C, double* %1
store double 0x3FD5555551C112DA, double* %2
store double 7.142510e-01, double* %3
store double 0x40F81CDE66666666, double* %4
%25 = load double, double* %1
%26 = fmul double %25, 1.000000e+05
%27 = call i32 @truncf(double %26)
%28 = sitofp i32 %27 to double
%29 = fdiv double %28, 1.000000e+05
store double %29, double* %5
%30 = load double, double* %2
%31 = fmul double %30, 1.000000e+05
%32 = call i32 @truncf(double %31)
%33 = sitofp i32 %32 to double
%34 = fdiv double %33, 1.000000e+05
store double %34, double* %6
%35 = load double, double* %3
%36 = fmul double %35, 1.000000e+05
%37 = call i32 @truncf(double %36)
%38 = sitofp i32 %37 to double
%39 = fdiv double %38, 1.000000e+05
store double %39, double* %7
%40 = load double, double* %4
%41 = fmul double %40, 1.000000e+05
%42 = call i32 @truncf(double %41)
%43 = sitofp i32 %42 to double
%44 = fdiv double %43, 1.000000e+05
store double %44, double* %8
%45 = load double, double* %1
%46 = load double, double* %2
%47 = fadd double %45, %46
store double %47, double* %9
%48 = load double, double* %5
%49 = load double, double* %6
%50 = fadd double %48, %49
%51 = fmul double %50, 1.000000e+05
%52 = call i32 @truncf(double %51)
%53 = sitofp i32 %52 to double
%54 = fdiv double %53, 1.000000e+05
store double %54, double* %10
%55 = load double, double* %9
%56 = load double, double* %10
%57 = fsub double %55, %56
%58 = fmul double %57, 1.000000e+08
%59 = call i32 @truncf(double %58)
%60 = sitofp i32 %59 to double
%61 = fdiv double %60, 1.000000e+08
store double %61, double* %11
%62 = load double, double* %11
%63 = load double, double* %9
%64 = fdiv double %62, %63
store double %64, double* %12
%65 = load double, double* %1
%66 = load double, double* %2
%67 = fmul double %65, %66
store double %67, double* %13
%68 = load double, double* %5
%69 = load double, double* %6
%70 = fmul double %68, %69
%71 = fmul double %70, 1.000000e+05
%72 = call i32 @truncf(double %71)
%73 = sitofp i32 %72 to double
%74 = fdiv double %73, 1.000000e+05
store double %74, double* %14
%75 = load double, double* %13
%76 = load double, double* %13
%77 = fsub double %75, %76
%78 = fmul double %77, 1.000000e+08
%79 = call i32 @truncf(double %78)
%80 = sitofp i32 %79 to double
%81 = fdiv double %80, 1.000000e+08
store double %81, double* %15
%82 = load double, double* %15
%83 = load double, double* %13
%84 = fdiv double %82, %83
store double %84, double* %16
%85 = load double, double* %1
%86 = load double, double* %3
%87 = fsub double %85, %86
store double %87, double* %17
%88 = load double, double* %5
%89 = load double, double* %7
%90 = fsub double %88, %89
%91 = fmul double %90, 1.000000e+05
%92 = call i32 @truncf(double %91)
%93 = sitofp i32 %92 to double
%94 = fdiv double %93, 1.000000e+05
store double %94, double* %18
%95 = load double, double* %17
%96 = load double, double* %18
%97 = fsub double %95, %96
%98 = fmul double %97, 1.000000e+08
%99 = call i32 @truncf(double %98)
%100 = sitofp i32 %99 to double
%101 = fdiv double %100, 1.000000e+08
store double %101, double* %19
%102 = load double, double* %19
%103 = load double, double* %17
%104 = fdiv double %102, %103
store double %104, double* %20
%105 = load double, double* %1
%106 = load double, double* %3
%107 = fsub double %105, %106
%108 = load double, double* %4
%109 = fmul double %107, %108
store double %109, double* %21
%110 = load double, double* %5
%111 = load double, double* %7
%112 = fsub double %110, %111
%113 = load double, double* %8
%114 = fmul double %112, %113
%115 = fmul double %114, 1.000000e+05
%116 = call i32 @truncf(double %115)
%117 = sitofp i32 %116 to double
%118 = fdiv double %117, 1.000000e+05
store double %118, double* %22
%119 = load double, double* %21
%120 = load double, double* %22
%121 = fsub double %119, %120
%122 = fmul double %121, 1.000000e+08
%123 = call i32 @truncf(double %122)
%124 = sitofp i32 %123 to double
%125 = fdiv double %124, 1.000000e+08
store double %125, double* %23
%126 = load double, double* %23
%127 = load double, double* %21
%128 = fdiv double %126, %127
store double %128, double* %24
%129 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str, i64 0, i64 0))
%130 = load double, double* %9
%131 = load double, double* %10
%132 = load double, double* %11
%133 = load double, double* %12
%134 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.1, i64 0, i64 0), double %130, double %131, double %132, double %133)
%135 = load double, double* %13
%136 = load double, double* %14
%137 = load double, double* %15
%138 = load double, double* %16
%139 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0), double %135, double %136, double %137, double %138)
%140 = load double, double* %17
%141 = load double, double* %18
%142 = load double, double* %19
%143 = load double, double* %20
%144 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.3, i64 0, i64 0), double %140, double %141, double %142, double %143)
%145 = load double, double* %21
%146 = load double, double* %22
%147 = load double, double* %23
%148 = load double, double* %24
%149 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.4, i64 0, i64 0), double %145, double %146, double %147, double %148)
ret i32 0
}

LLVM IR (-O2):
@.str.1 = [44 x i8] c" X-Y \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
@.str.2 = [44 x i8] c" X/Y \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
@.str.3 = [44 x i8] c" (X-U)/W \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
@.str.4 = [44 x i8] c" (U+V) \09 %4.8f \09 %1.5f \09 %1.8f \09 %1.8f \0A\00"
@str = [58 x i8] c"operacion \09 valor a 8 \09 aritmetica \09 error abs \09 error r \00"
define i32 @main() {
%1 = tail call i32 @truncf(double 0x40F1704922D0E560)
%2 = tail call i32 @truncf(double 0x40E046AAA7EF9DB2)
%3 = insertelement <2 x i32> poison, i32 %1, i64 0
%4 = insertelement <2 x i32> %3, i32 %2, i64 1
%5 = sitofp <2 x i32> %4 to <2 x double>
%6 = fdiv <2 x double> %5, <double 1.000000e+05, double 1.000000e+05>
%7 = tail call i32 @truncf(double 0x40F1701199999999)
%8 = sitofp i32 %7 to double
%9 = fdiv double %8, 1.000000e+05
%10 = tail call i32 @truncf(double 9.876590e+09)
%11 = sitofp i32 %10 to double
%12 = fdiv double %11, 1.000000e+05
%13 = extractelement <2 x double> %6, i64 0
%14 = extractelement <2 x double> %6, i64 1
%15 = fadd double %13, %14
%16 = fmul double %15, 1.000000e+05
%17 = tail call i32 @truncf(double %16)
%18 = sitofp i32 %17 to double
%19 = fdiv double %18, 1.000000e+05
%20 = fsub double 0x3FF0C30C2EB7787C, %19
%21 = fmul double %20, 1.000000e+08
%22 = tail call i32 @truncf(double %21)
%23 = sitofp i32 %22 to double
%24 = fdiv double %23, 1.000000e+08
%25 = fdiv double %24, 0x3FF0C30C2EB7787C
%26 = fmul double %13, %14
%27 = fmul double %26, 1.000000e+05
%28 = tail call i32 @truncf(double %27)
%29 = sitofp i32 %28 to double
%30 = fdiv double %29, 1.000000e+05
%31 = tail call i32 @truncf(double 0.000000e+00)
%32 = sitofp i32 %31 to double
%33 = fdiv double %32, 1.000000e+08
%34 = fdiv double %33, 0x3FCE79E7964B98CE
%35 = fsub double %13, %9
%36 = fmul double %35, 1.000000e+05
%37 = tail call i32 @truncf(double %36)
%38 = sitofp i32 %37 to double
%39 = fdiv double %38, 1.000000e+05
%40 = fsub double 0x3F0232B284CD0000, %39
%41 = fmul double %40, 1.000000e+08
%42 = tail call i32 @truncf(double %41)
%43 = sitofp i32 %42 to double
%44 = fdiv double %43, 1.000000e+08
%45 = fdiv double %44, 0x3F0232B284CD0000
%46 = fmul double %35, %12
%47 = fmul double %46, 1.000000e+05
%48 = tail call i32 @truncf(double %47)
%49 = sitofp i32 %48 to double
%50 = fdiv double %49, 1.000000e+05
%51 = fsub double 0x400B6CE173808314, %50
%52 = fmul double %51, 1.000000e+08
%53 = tail call i32 @truncf(double %52)
%54 = sitofp i32 %53 to double
%55 = fdiv double %54, 1.000000e+08
%56 = fdiv double %55, 0x400B6CE173808314
%57 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @str, i64 0, i64 0))
%58 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str.1, i64 0, i64 0), double 0x3FF0C30C2EB7787C, double %19, double %24, double %25)
%59 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0), double 0x3FCE79E7964B98CE, double %30, double %33, double %34)
%60 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str.3, i64 0, i64 0), double 0x3F0232B284CD0000, double %39, double %44, double %45)
%61 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str.4, i64 0, i64 0), double 0x400B6CE173808314, double %50, double %55, double %56)
ret i32 0
}