double ho_recognize_font_1_two_tags(const double *array_in) {
  int count_edges_top;
  int count_edges_bottom;
  double return_value = 0.0;
  count_edges_top =
      (array_in[33]) * 10.0 + (array_in[32]) * 10.0 + (array_in[31]) * 10;
  count_edges_bottom =
      (array_in[36]) * 10.0 + (array_in[35]) * 10.0 + (array_in[34]) * 10;
  if ((array_in[3]) < 0.53 && (array_in[3]) > 0.45)
    return_value += 0.1;
  if ((array_in[4]) > 0.60)
    return_value += 0.15;
  if ((array_in[1]) < 0.8 && (array_in[1]) > 0.15)
    return_value += 0.1;
  if ((array_in[0]) < 0.37)
    return_value += 0.15;
  if ((array_in[5]) > 0.8)
    return_value += 0.2;
  if ((array_in[33]))
    return_value += 0.1;
  if (count_edges_top == 2)
    return_value += 0.1;
  if (count_edges_bottom == 2)
    return_value += 0.1;
  if ((array_in[25]))
    return_value -= 0.2;
  if ((array_in[4]) < 0.60)
    return_value -= 0.2;
  if ((array_in[3]) < 0.3)
    return_value -= 0.2;
  if ((array_in[1]) > 0.23)
    return_value -= 0.3;
  if (count_edges_top != 2)
    return_value -= 0.1;
  if (count_edges_bottom != 2)
    return_value -= 0.1;
  return return_value;
}


x86 assembly (clang, -O0):
<ho_recognize_font_1_two_tags>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0xee0(%rip),%xmm0
mulsd  0x100(%rax),%xmm0
movsd  0xed0(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x8(%rbp),%rax
movsd  0xf8(%rax),%xmm0
movsd  0xeb4(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0xc(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x120(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0xe8d(%rip),%xmm0
mulsd  0x118(%rax),%xmm0
movsd  0xe7d(%rip),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm0
movsd  0xe61(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xe3e(%rip),%xmm0
ucomisd 0x18(%rax),%xmm0
jbe    11fa <ho_recognize_font_1_two_tags+0xfa>
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  0xe32(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    11fa <ho_recognize_font_1_two_tags+0xfa>
movsd  0xe28(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  0xe15(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1227 <ho_recognize_font_1_two_tags+0x127>
movsd  0xe0b(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xdfd(%rip),%xmm0
ucomisd 0x8(%rax),%xmm0
jbe    126b <ho_recognize_font_1_two_tags+0x16b>
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  0xdd9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    126b <ho_recognize_font_1_two_tags+0x16b>
movsd  0xdb7(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xdc1(%rip),%xmm0
ucomisd (%rax),%xmm0
jbe    1293 <ho_recognize_font_1_two_tags+0x193>
movsd  0xd9f(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
movsd  0xd8c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    12c0 <ho_recognize_font_1_two_tags+0x1c0>
movsd  0xd8a(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    12e4 <ho_recognize_font_1_two_tags+0x1e4>
jp     12e4 <ho_recognize_font_1_two_tags+0x1e4>
jmp    12f6 <ho_recognize_font_1_two_tags+0x1f6>
movsd  0xd2c(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
cmpl   $0x2,-0xc(%rbp)
jne    1312 <ho_recognize_font_1_two_tags+0x212>
movsd  0xd10(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
cmpl   $0x2,-0x10(%rbp)
jne    132e <ho_recognize_font_1_two_tags+0x22e>
movsd  0xcf4(%rip),%xmm0
addsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xc8(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1352 <ho_recognize_font_1_two_tags+0x252>
jp     1352 <ho_recognize_font_1_two_tags+0x252>
jmp    1368 <ho_recognize_font_1_two_tags+0x268>
movsd  -0x18(%rbp),%xmm0
movsd  0xce1(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xcac(%rip),%xmm0
ucomisd 0x20(%rax),%xmm0
jbe    1395 <ho_recognize_font_1_two_tags+0x295>
movsd  -0x18(%rbp),%xmm0
movsd  0xcb4(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xca7(%rip),%xmm0
ucomisd 0x18(%rax),%xmm0
jbe    13c2 <ho_recognize_font_1_two_tags+0x2c2>
movsd  -0x18(%rbp),%xmm0
movsd  0xc87(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  0xc7d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    13f3 <ho_recognize_font_1_two_tags+0x2f3>
movsd  -0x18(%rbp),%xmm0
movsd  0xc5e(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rbp)
cmpl   $0x2,-0xc(%rbp)
je     1413 <ho_recognize_font_1_two_tags+0x313>
movsd  -0x18(%rbp),%xmm0
movsd  0xc0e(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rbp)
cmpl   $0x2,-0x10(%rbp)
je     1433 <ho_recognize_font_1_two_tags+0x333>
movsd  -0x18(%rbp),%xmm0
movsd  0xbee(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  -0x18(%rbp),%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<ho_recognize_font_1_two_tags>:
movsd  0x108(%rdi),%xmm0
movsd  0x118(%rdi),%xmm1
movhpd 0x100(%rdi),%xmm1
movapd 0xee0(%rip),%xmm2
mulpd  %xmm2,%xmm1
movsd  0x120(%rdi),%xmm3
unpcklpd %xmm0,%xmm3
mulpd  %xmm2,%xmm3
addpd  %xmm1,%xmm3
movsd  0x110(%rdi),%xmm1
movhpd 0xf8(%rdi),%xmm1
mulpd  %xmm2,%xmm1
addpd  %xmm3,%xmm1
cvttpd2dq %xmm1,%xmm12
movsd  0x18(%rdi),%xmm1
movsd  0xebe(%rip),%xmm2
cmpltsd %xmm1,%xmm2
movsd  0xeb8(%rip),%xmm9
andpd  %xmm9,%xmm2
movapd %xmm1,%xmm3
cmpltsd 0xeae(%rip),%xmm3
andpd  %xmm2,%xmm3
movsd  0x20(%rdi),%xmm2
movsd  0xea4(%rip),%xmm10
movsd  0xea3(%rip),%xmm8
movapd %xmm8,%xmm7
cmpltsd %xmm2,%xmm7
movapd %xmm7,%xmm4
andnpd %xmm3,%xmm4
addsd  %xmm10,%xmm3
andpd  %xmm3,%xmm7
orpd   %xmm4,%xmm7
movsd  (%rdi),%xmm4
movsd  0x8(%rdi),%xmm11
movapd %xmm7,%xmm5
addsd  %xmm9,%xmm5
movapd %xmm10,%xmm3
cmpltsd %xmm11,%xmm3
movapd %xmm3,%xmm6
andnpd %xmm7,%xmm6
andpd  %xmm5,%xmm3
orpd   %xmm6,%xmm3
movsd  0xe56(%rip),%xmm5
movapd %xmm11,%xmm6
cmpltsd %xmm5,%xmm6
andpd  %xmm6,%xmm3
andnpd %xmm7,%xmm6
orpd   %xmm3,%xmm6
cmpltsd 0xe3f(%rip),%xmm4
movapd %xmm4,%xmm3
andnpd %xmm6,%xmm3
addsd  %xmm10,%xmm6
andpd  %xmm6,%xmm4
orpd   %xmm3,%xmm4
cmpltsd 0x28(%rdi),%xmm5
movapd %xmm5,%xmm3
andnpd %xmm4,%xmm3
addsd  0xe1c(%rip),%xmm4
andpd  %xmm4,%xmm5
orpd   %xmm3,%xmm5
xorpd  %xmm7,%xmm7
cmpneqsd %xmm7,%xmm0
movapd %xmm0,%xmm3
andnpd %xmm5,%xmm3
addsd  %xmm9,%xmm5
andpd  %xmm5,%xmm0
pcmpeqd 0xda9(%rip),%xmm12
orpd   %xmm3,%xmm0
pshufd $0x50,%xmm12,%xmm3
movmskpd %xmm3,%eax
test   $0x2,%al
je     127e <ho_recognize_font_1_two_tags+0x17e>
addsd  %xmm9,%xmm0
test   $0x1,%al
je     1287 <ho_recognize_font_1_two_tags+0x187>
addsd  %xmm9,%xmm0
movsd  0xdd1(%rip),%xmm3
cmpneqsd 0xc8(%rdi),%xmm7
movapd %xmm7,%xmm4
andnpd %xmm0,%xmm4
addsd  %xmm3,%xmm0
andpd  %xmm7,%xmm0
orpd   %xmm4,%xmm0
movapd %xmm0,%xmm4
addsd  %xmm3,%xmm4
cmpltsd %xmm8,%xmm2
movapd %xmm2,%xmm5
andnpd %xmm0,%xmm5
andpd  %xmm4,%xmm2
orpd   %xmm5,%xmm2
movapd %xmm2,%xmm0
addsd  %xmm3,%xmm0
cmpltsd 0xd8d(%rip),%xmm1
movapd %xmm1,%xmm3
andnpd %xmm2,%xmm3
andpd  %xmm0,%xmm1
orpd   %xmm3,%xmm1
movapd %xmm1,%xmm2
addsd  0xd79(%rip),%xmm2
movsd  0xd79(%rip),%xmm0
cmpltsd %xmm11,%xmm0
movapd %xmm0,%xmm3
andnpd %xmm1,%xmm3
andpd  %xmm2,%xmm0
orpd   %xmm3,%xmm0
movsd  0xd63(%rip),%xmm1
test   $0x2,%al
je     1326 <ho_recognize_font_1_two_tags+0x226>
test   $0x1,%al
je     132e <ho_recognize_font_1_two_tags+0x22e>
ret
addsd  %xmm1,%xmm0
test   $0x1,%al
jne    1325 <ho_recognize_font_1_two_tags+0x225>
addsd  %xmm1,%xmm0
ret

LLVM IR (-O0):
define double @ho_recognize_font_1_two_tags(double* %0) {
%2 = alloca double*
%3 = alloca i32
%4 = alloca i32
%5 = alloca double
store double* %0, double** %2
store double 0.000000e+00, double* %5
%6 = load double*, double** %2
%7 = getelementptr inbounds double, double* %6, i64 33
%8 = load double, double* %7
%9 = load double*, double** %2
%10 = getelementptr inbounds double, double* %9, i64 32
%11 = load double, double* %10
%12 = fmul double %11, 1.000000e+01
%13 = call double @llvm.fmuladd.f64(double %8, double 1.000000e+01, double %12)
%14 = load double*, double** %2
%15 = getelementptr inbounds double, double* %14, i64 31
%16 = load double, double* %15
%17 = call double @llvm.fmuladd.f64(double %16, double 1.000000e+01, double %13)
%18 = fptosi double %17 to i32
store i32 %18, i32* %3
%19 = load double*, double** %2
%20 = getelementptr inbounds double, double* %19, i64 36
%21 = load double, double* %20
%22 = load double*, double** %2
%23 = getelementptr inbounds double, double* %22, i64 35
%24 = load double, double* %23
%25 = fmul double %24, 1.000000e+01
%26 = call double @llvm.fmuladd.f64(double %21, double 1.000000e+01, double %25)
%27 = load double*, double** %2
%28 = getelementptr inbounds double, double* %27, i64 34
%29 = load double, double* %28
%30 = call double @llvm.fmuladd.f64(double %29, double 1.000000e+01, double %26)
%31 = fptosi double %30 to i32
store i32 %31, i32* %4
%32 = load double*, double** %2
%33 = getelementptr inbounds double, double* %32, i64 3
%34 = load double, double* %33
%35 = fcmp olt double %34, 5.300000e-01
br i1 %35, label %36, label %44
36: ; preds = %1
%37 = load double*, double** %2
%38 = getelementptr inbounds double, double* %37, i64 3
%39 = load double, double* %38
%40 = fcmp ogt double %39, 4.500000e-01
br i1 %40, label %41, label %44
41: ; preds = %36
%42 = load double, double* %5
%43 = fadd double %42, 1.000000e-01
store double %43, double* %5
br label %44
44: ; preds = %41, %36, %1
%45 = load double*, double** %2
%46 = getelementptr inbounds double, double* %45, i64 4
%47 = load double, double* %46
%48 = fcmp ogt double %47, 6.000000e-01
br i1 %48, label %49, label %52
49: ; preds = %44
%50 = load double, double* %5
%51 = fadd double %50, 1.500000e-01
store double %51, double* %5
br label %52
52: ; preds = %49, %44
%53 = load double*, double** %2
%54 = getelementptr inbounds double, double* %53, i64 1
%55 = load double, double* %54
%56 = fcmp olt double %55, 8.000000e-01
br i1 %56, label %57, label %65
57: ; preds = %52
%58 = load double*, double** %2
%59 = getelementptr inbounds double, double* %58, i64 1
%60 = load double, double* %59
%61 = fcmp ogt double %60, 1.500000e-01
br i1 %61, label %62, label %65
62: ; preds = %57
%63 = load double, double* %5
%64 = fadd double %63, 1.000000e-01
store double %64, double* %5
br label %65
65: ; preds = %62, %57, %52
%66 = load double*, double** %2
%67 = getelementptr inbounds double, double* %66, i64 0
%68 = load double, double* %67
%69 = fcmp olt double %68, 3.700000e-01
br i1 %69, label %70, label %73
70: ; preds = %65
%71 = load double, double* %5
%72 = fadd double %71, 1.500000e-01
store double %72, double* %5
br label %73
73: ; preds = %70, %65
%74 = load double*, double** %2
%75 = getelementptr inbounds double, double* %74, i64 5
%76 = load double, double* %75
%77 = fcmp ogt double %76, 8.000000e-01
br i1 %77, label %78, label %81
78: ; preds = %73
%79 = load double, double* %5
%80 = fadd double %79, 2.000000e-01
store double %80, double* %5
br label %81
81: ; preds = %78, %73
%82 = load double*, double** %2
%83 = getelementptr inbounds double, double* %82, i64 33
%84 = load double, double* %83
%85 = fcmp une double %84, 0.000000e+00
br i1 %85, label %86, label %89
86: ; preds = %81
%87 = load double, double* %5
%88 = fadd double %87, 1.000000e-01
store double %88, double* %5
br label %89
89: ; preds = %86, %81
%90 = load i32, i32* %3
%91 = icmp eq i32 %90, 2
br i1 %91, label %92, label %95
92: ; preds = %89
%93 = load double, double* %5
%94 = fadd double %93, 1.000000e-01
store double %94, double* %5
br label %95
95: ; preds = %92, %89
%96 = load i32, i32* %4
%97 = icmp eq i32 %96, 2
br i1 %97, label %98, label %101
98: ; preds = %95
%99 = load double, double* %5
%100 = fadd double %99, 1.000000e-01
store double %100, double* %5
br label %101
101: ; preds = %98, %95
%102 = load double*, double** %2
%103 = getelementptr inbounds double, double* %102, i64 25
%104 = load double, double* %103
%105 = fcmp une double %104, 0.000000e+00
br i1 %105, label %106, label %109
106: ; preds = %101
%107 = load double, double* %5
%108 = fsub double %107, 2.000000e-01
store double %108, double* %5
br label %109
109: ; preds = %106, %101
%110 = load double*, double** %2
%111 = getelementptr inbounds double, double* %110, i64 4
%112 = load double, double* %111
%113 = fcmp olt double %112, 6.000000e-01
br i1 %113, label %114, label %117
114: ; preds = %109
%115 = load double, double* %5
%116 = fsub double %115, 2.000000e-01
store double %116, double* %5
br label %117
117: ; preds = %114, %109
%118 = load double*, double** %2
%119 = getelementptr inbounds double, double* %118, i64 3
%120 = load double, double* %119
%121 = fcmp olt double %120, 3.000000e-01
br i1 %121, label %122, label %125
122: ; preds = %117
%123 = load double, double* %5
%124 = fsub double %123, 2.000000e-01
store double %124, double* %5
br label %125
125: ; preds = %122, %117
%126 = load double*, double** %2
%127 = getelementptr inbounds double, double* %126, i64 1
%128 = load double, double* %127
%129 = fcmp ogt double %128, 2.300000e-01
br i1 %129, label %130, label %133
130: ; preds = %125
%131 = load double, double* %5
%132 = fsub double %131, 3.000000e-01
store double %132, double* %5
br label %133
133: ; preds = %130, %125
%134 = load i32, i32* %3
%135 = icmp ne i32 %134, 2
br i1 %135, label %136, label %139
136: ; preds = %133
%137 = load double, double* %5
%138 = fsub double %137, 1.000000e-01
store double %138, double* %5
br label %139
139: ; preds = %136, %133
%140 = load i32, i32* %4
%141 = icmp ne i32 %140, 2
br i1 %141, label %142, label %145
142: ; preds = %139
%143 = load double, double* %5
%144 = fsub double %143, 1.000000e-01
store double %144, double* %5
br label %145
145: ; preds = %142, %139
%146 = load double, double* %5
ret double %146
}

LLVM IR (-O2):
define double @ho_recognize_font_1_two_tags(double* nocapture %0) {
%2 = getelementptr inbounds double, double* %0, i64 33
%3 = load double, double* %2
%4 = getelementptr inbounds double, double* %0, i64 32
%5 = load double, double* %4
%6 = getelementptr inbounds double, double* %0, i64 31
%7 = load double, double* %6
%8 = getelementptr inbounds double, double* %0, i64 36
%9 = load double, double* %8
%10 = getelementptr inbounds double, double* %0, i64 35
%11 = load double, double* %10
%12 = insertelement <2 x double> poison, double %11, i64 0
%13 = insertelement <2 x double> %12, double %5, i64 1
%14 = fmul <2 x double> %13, <double 1.000000e+01, double 1.000000e+01>
%15 = insertelement <2 x double> poison, double %9, i64 0
%16 = insertelement <2 x double> %15, double %3, i64 1
%17 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %16, <2 x double> <double 1.000000e+01, double 1.000000e+01>, <2 x double> %14)
%18 = getelementptr inbounds double, double* %0, i64 34
%19 = load double, double* %18
%20 = insertelement <2 x double> poison, double %19, i64 0
%21 = insertelement <2 x double> %20, double %7, i64 1
%22 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %21, <2 x double> <double 1.000000e+01, double 1.000000e+01>, <2 x double> %17)
%23 = fptosi <2 x double> %22 to <2 x i32>
%24 = getelementptr inbounds double, double* %0, i64 3
%25 = load double, double* %24
%26 = fcmp olt double %25, 5.300000e-01
%27 = fcmp ogt double %25, 4.500000e-01
%28 = and i1 %26, %27
%29 = select i1 %28, double 1.000000e-01, double 0.000000e+00
%30 = getelementptr inbounds double, double* %0, i64 4
%31 = load double, double* %30
%32 = fcmp ogt double %31, 6.000000e-01
%33 = fadd double %29, 1.500000e-01
%34 = select i1 %32, double %33, double %29
%35 = getelementptr inbounds double, double* %0, i64 1
%36 = load double, double* %35
%37 = fcmp olt double %36, 8.000000e-01
%38 = fcmp ogt double %36, 1.500000e-01
%39 = and i1 %37, %38
%40 = fadd double %34, 1.000000e-01
%41 = select i1 %39, double %40, double %34
%42 = load double, double* %0
%43 = fcmp olt double %42, 3.700000e-01
%44 = fadd double %41, 1.500000e-01
%45 = select i1 %43, double %44, double %41
%46 = getelementptr inbounds double, double* %0, i64 5
%47 = load double, double* %46
%48 = fcmp ogt double %47, 8.000000e-01
%49 = fadd double %45, 2.000000e-01
%50 = select i1 %48, double %49, double %45
%51 = fcmp une double %3, 0.000000e+00
%52 = fadd double %50, 1.000000e-01
%53 = select i1 %51, double %52, double %50
%54 = fadd double %53, 1.000000e-01
%55 = icmp eq <2 x i32> %23, <i32 2, i32 2>
%56 = extractelement <2 x i1> %55, i64 1
%57 = select i1 %56, double %54, double %53
%58 = fadd double %57, 1.000000e-01
%59 = extractelement <2 x i1> %55, i64 0
%60 = select i1 %59, double %58, double %57
%61 = getelementptr inbounds double, double* %0, i64 25
%62 = load double, double* %61
%63 = fcmp une double %62, 0.000000e+00
%64 = fadd double %60, -2.000000e-01
%65 = select i1 %63, double %64, double %60
%66 = fcmp olt double %31, 6.000000e-01
%67 = fadd double %65, -2.000000e-01
%68 = select i1 %66, double %67, double %65
%69 = fcmp olt double %25, 3.000000e-01
%70 = fadd double %68, -2.000000e-01
%71 = select i1 %69, double %70, double %68
%72 = fcmp ogt double %36, 2.300000e-01
%73 = fadd double %71, -3.000000e-01
%74 = select i1 %72, double %73, double %71
%75 = fadd double %74, -1.000000e-01
%76 = select i1 %56, double %74, double %75
%77 = fadd double %76, -1.000000e-01
%78 = select i1 %59, double %76, double %77
ret double %78
}