double ho_recognize_font_1_het(const double *array_in) {
  double return_value = 0.0;
  if ((array_in[17]))
    return_value += 0.1;
  if ((array_in[20]))
    return_value += 0.1;
  if ((array_in[22]))
    return_value += 0.1;
  if (!(array_in[19]))
    return_value += 0.1;
  if ((array_in[10]) < ((array_in[8]) + 0.1))
    return_value += 0.1;
  if ((array_in[14]))
    return_value += 0.1;
  if (!(array_in[17]))
    return_value -= 0.1;
  if (!(array_in[20]))
    return_value -= 0.1;
  if (!(array_in[22]))
    return_value -= 0.1;
  if ((array_in[19]))
    return_value -= 0.2;
  if ((array_in[27]))
    return_value -= 0.2;
  if ((array_in[11]) < 0.9)
    return_value -= 0.2;
  if ((array_in[44]) && (array_in[6]) > 0.2)
    return_value -= 0.3;
  if ((array_in[10]) < ((array_in[8]) + 0.1))
    return_value -= 0.1;
  if (!(array_in[14]))
    return_value -= 0.3;
  if ((array_in[33]))
    return_value -= 0.2;
  if ((array_in[69]))
    return_value -= 0.2;
  if ((array_in[67]))
    return_value -= 0.3;
  if ((array_in[5]) > ((array_in[10]) + 0.1))
    return_value -= 0.1;
  if (!(array_in[57]))
    return_value -= 0.2;
  return return_value;
}


x86 assembly (clang, -O0):
<ho_recognize_font_1_het>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1134 <ho_recognize_font_1_het+0x34>
jp     1134 <ho_recognize_font_1_het+0x34>
jmp    1146 <ho_recognize_font_1_het+0x46>
movsd  0xec4(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    116a <ho_recognize_font_1_het+0x6a>
jp     116a <ho_recognize_font_1_het+0x6a>
jmp    117c <ho_recognize_font_1_het+0x7c>
movsd  0xe8e(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    11a0 <ho_recognize_font_1_het+0xa0>
jp     11a0 <ho_recognize_font_1_het+0xa0>
jmp    11b2 <ho_recognize_font_1_het+0xb2>
movsd  0xe58(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    11e3 <ho_recognize_font_1_het+0xe3>
jp     11e3 <ho_recognize_font_1_het+0xe3>
movsd  0xe27(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0xe08(%rip),%xmm0
addsd  0x40(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    1219 <ho_recognize_font_1_het+0x119>
movsd  0xdf1(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    123a <ho_recognize_font_1_het+0x13a>
jp     123a <ho_recognize_font_1_het+0x13a>
jmp    124c <ho_recognize_font_1_het+0x14c>
movsd  0xdbe(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1281 <ho_recognize_font_1_het+0x181>
jp     1281 <ho_recognize_font_1_het+0x181>
movsd  -0x10(%rbp),%xmm0
movsd  0xd88(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    12b6 <ho_recognize_font_1_het+0x1b6>
jp     12b6 <ho_recognize_font_1_het+0x1b6>
movsd  -0x10(%rbp),%xmm0
movsd  0xd53(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xb0(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    12eb <ho_recognize_font_1_het+0x1eb>
jp     12eb <ho_recognize_font_1_het+0x1eb>
movsd  -0x10(%rbp),%xmm0
movsd  0xd1e(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    130f <ho_recognize_font_1_het+0x20f>
jp     130f <ho_recognize_font_1_het+0x20f>
jmp    1325 <ho_recognize_font_1_het+0x225>
movsd  -0x10(%rbp),%xmm0
movsd  0xcec(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xd8(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1349 <ho_recognize_font_1_het+0x249>
jp     1349 <ho_recognize_font_1_het+0x249>
jmp    135f <ho_recognize_font_1_het+0x25f>
movsd  -0x10(%rbp),%xmm0
movsd  0xcb2(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xca5(%rip),%xmm0
ucomisd 0x58(%rax),%xmm0
jbe    138c <ho_recognize_font_1_het+0x28c>
movsd  -0x10(%rbp),%xmm0
movsd  0xc85(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x160(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    13b0 <ho_recognize_font_1_het+0x2b0>
jp     13b0 <ho_recognize_font_1_het+0x2b0>
jmp    13e1 <ho_recognize_font_1_het+0x2e1>
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm0
movsd  0xc47(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    13e1 <ho_recognize_font_1_het+0x2e1>
movsd  -0x10(%rbp),%xmm0
movsd  0xc40(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0xc0a(%rip),%xmm0
addsd  0x40(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    141b <ho_recognize_font_1_het+0x31b>
movsd  -0x10(%rbp),%xmm0
movsd  0xbee(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x70(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    144d <ho_recognize_font_1_het+0x34d>
jp     144d <ho_recognize_font_1_het+0x34d>
movsd  -0x10(%rbp),%xmm0
movsd  0xbd4(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x108(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1471 <ho_recognize_font_1_het+0x371>
jp     1471 <ho_recognize_font_1_het+0x371>
jmp    1487 <ho_recognize_font_1_het+0x387>
movsd  -0x10(%rbp),%xmm0
movsd  0xb8a(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x228(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    14ab <ho_recognize_font_1_het+0x3ab>
jp     14ab <ho_recognize_font_1_het+0x3ab>
jmp    14c1 <ho_recognize_font_1_het+0x3c1>
movsd  -0x10(%rbp),%xmm0
movsd  0xb50(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x218(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    14e5 <ho_recognize_font_1_het+0x3e5>
jp     14e5 <ho_recognize_font_1_het+0x3e5>
jmp    14fb <ho_recognize_font_1_het+0x3fb>
movsd  -0x10(%rbp),%xmm0
movsd  0xb26(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0xaf0(%rip),%xmm1
addsd  0x50(%rax),%xmm1
ucomisd %xmm1,%xmm0
jbe    1535 <ho_recognize_font_1_het+0x435>
movsd  -0x10(%rbp),%xmm0
movsd  0xad4(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x1c8(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    156a <ho_recognize_font_1_het+0x46a>
jp     156a <ho_recognize_font_1_het+0x46a>
movsd  -0x10(%rbp),%xmm0
movsd  0xaa7(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<ho_recognize_font_1_het>:
movsd  0x88(%rdi),%xmm1
xorpd  %xmm12,%xmm12
ucomisd %xmm1,%xmm12
movsd  0xee6(%rip),%xmm6
movapd %xmm6,%xmm3
jne    112a <ho_recognize_font_1_het+0x2a>
movapd %xmm6,%xmm3
jp     112a <ho_recognize_font_1_het+0x2a>
xorpd  %xmm3,%xmm3
movsd  0xa0(%rdi),%xmm8
ucomisd %xmm8,%xmm12
movapd %xmm3,%xmm4
addsd  %xmm6,%xmm4
jne    1148 <ho_recognize_font_1_het+0x48>
jp     1148 <ho_recognize_font_1_het+0x48>
movapd %xmm3,%xmm4
movsd  0xb0(%rdi),%xmm10
ucomisd %xmm10,%xmm12
movapd %xmm4,%xmm2
addsd  %xmm6,%xmm2
jne    1166 <ho_recognize_font_1_het+0x66>
jp     1166 <ho_recognize_font_1_het+0x66>
movapd %xmm4,%xmm2
movsd  0x98(%rdi),%xmm11
ucomisd %xmm11,%xmm12
jne    117c <ho_recognize_font_1_het+0x7c>
jp     117c <ho_recognize_font_1_het+0x7c>
addsd  %xmm6,%xmm2
ucomisd %xmm1,%xmm12
movsd  0x40(%rdi),%xmm5
addsd  %xmm6,%xmm5
movapd %xmm2,%xmm3
addsd  %xmm6,%xmm3
movsd  0x50(%rdi),%xmm1
movapd %xmm1,%xmm4
cmpltsd %xmm5,%xmm4
movapd %xmm4,%xmm5
andnpd %xmm2,%xmm5
andpd  %xmm4,%xmm3
orpd   %xmm5,%xmm3
movsd  0x70(%rdi),%xmm7
movapd %xmm7,%xmm5
cmpneqsd %xmm12,%xmm5
movapd %xmm5,%xmm2
andnpd %xmm3,%xmm2
addsd  %xmm6,%xmm3
andpd  %xmm3,%xmm5
orpd   %xmm2,%xmm5
movsd  0xe2c(%rip),%xmm9
jne    11e5 <ho_recognize_font_1_het+0xe5>
jp     11e5 <ho_recognize_font_1_het+0xe5>
addsd  %xmm9,%xmm5
ucomisd %xmm8,%xmm12
jne    11f3 <ho_recognize_font_1_het+0xf3>
jp     11f3 <ho_recognize_font_1_het+0xf3>
addsd  %xmm9,%xmm5
ucomisd %xmm10,%xmm12
jne    1201 <ho_recognize_font_1_het+0x101>
jp     1201 <ho_recognize_font_1_het+0x101>
addsd  %xmm9,%xmm5
movsd  0x58(%rdi),%xmm6
ucomisd %xmm11,%xmm12
movsd  0xdfc(%rip),%xmm8
movapd %xmm5,%xmm3
addsd  %xmm8,%xmm3
jne    1225 <ho_recognize_font_1_het+0x125>
jp     1225 <ho_recognize_font_1_het+0x125>
movapd %xmm5,%xmm3
movapd %xmm3,%xmm5
addsd  %xmm8,%xmm5
movsd  0xd8(%rdi),%xmm2
cmpneqsd %xmm12,%xmm2
movapd %xmm2,%xmm0
andnpd %xmm3,%xmm0
andpd  %xmm5,%xmm2
cmpltsd 0xdc7(%rip),%xmm6
orpd   %xmm0,%xmm2
movapd %xmm6,%xmm0
andnpd %xmm2,%xmm0
addsd  %xmm8,%xmm2
andpd  %xmm2,%xmm6
orpd   %xmm0,%xmm6
movsd  0x160(%rdi),%xmm0
ucomisd %xmm12,%xmm0
jne    127b <ho_recognize_font_1_het+0x17b>
jnp    1292 <ho_recognize_font_1_het+0x192>
movsd  0x30(%rdi),%xmm0
ucomisd 0xd98(%rip),%xmm0
jbe    1292 <ho_recognize_font_1_het+0x192>
addsd  0xd96(%rip),%xmm6
movapd %xmm6,%xmm0
addsd  %xmm9,%xmm0
andpd  %xmm4,%xmm0
andnpd %xmm6,%xmm4
orpd   %xmm0,%xmm4
movsd  0xd79(%rip),%xmm3
movapd %xmm4,%xmm2
addsd  %xmm3,%xmm2
xorpd  %xmm0,%xmm0
cmpneqsd %xmm0,%xmm7
movapd %xmm7,%xmm5
andpd  %xmm4,%xmm5
andnpd %xmm2,%xmm7
orpd   %xmm5,%xmm7
movapd %xmm7,%xmm2
addsd  %xmm8,%xmm2
movsd  0x108(%rdi),%xmm4
cmpneqsd %xmm0,%xmm4
movapd %xmm4,%xmm5
andnpd %xmm7,%xmm5
andpd  %xmm2,%xmm4
orpd   %xmm5,%xmm4
movsd  0x228(%rdi),%xmm2
cmpneqsd %xmm0,%xmm2
movapd %xmm2,%xmm5
andnpd %xmm4,%xmm5
addsd  %xmm8,%xmm4
andpd  %xmm4,%xmm2
orpd   %xmm5,%xmm2
movsd  0x218(%rdi),%xmm4
cmpneqsd %xmm0,%xmm4
movapd %xmm4,%xmm5
andnpd %xmm2,%xmm5
addsd  %xmm3,%xmm2
andpd  %xmm2,%xmm4
orpd   %xmm5,%xmm4
addsd  0xcbf(%rip),%xmm1
cmpltsd 0x28(%rdi),%xmm1
movapd %xmm1,%xmm2
andnpd %xmm4,%xmm2
addsd  %xmm9,%xmm4
andpd  %xmm4,%xmm1
orpd   %xmm2,%xmm1
movapd %xmm1,%xmm2
cmpneqsd 0x1c8(%rdi),%xmm0
addsd  %xmm8,%xmm2
movapd %xmm0,%xmm3
andpd  %xmm1,%xmm3
andnpd %xmm2,%xmm0
orpd   %xmm3,%xmm0
ret

LLVM IR (-O0):
define double @ho_recognize_font_1_het(double* %0) {
%2 = alloca double*
%3 = alloca double
store double* %0, double** %2
store double 0.000000e+00, double* %3
%4 = load double*, double** %2
%5 = getelementptr inbounds double, double* %4, i64 17
%6 = load double, double* %5
%7 = fcmp une double %6, 0.000000e+00
br i1 %7, label %8, label %11
8: ; preds = %1
%9 = load double, double* %3
%10 = fadd double %9, 1.000000e-01
store double %10, double* %3
br label %11
11: ; preds = %8, %1
%12 = load double*, double** %2
%13 = getelementptr inbounds double, double* %12, i64 20
%14 = load double, double* %13
%15 = fcmp une double %14, 0.000000e+00
br i1 %15, label %16, label %19
16: ; preds = %11
%17 = load double, double* %3
%18 = fadd double %17, 1.000000e-01
store double %18, double* %3
br label %19
19: ; preds = %16, %11
%20 = load double*, double** %2
%21 = getelementptr inbounds double, double* %20, i64 22
%22 = load double, double* %21
%23 = fcmp une double %22, 0.000000e+00
br i1 %23, label %24, label %27
24: ; preds = %19
%25 = load double, double* %3
%26 = fadd double %25, 1.000000e-01
store double %26, double* %3
br label %27
27: ; preds = %24, %19
%28 = load double*, double** %2
%29 = getelementptr inbounds double, double* %28, i64 19
%30 = load double, double* %29
%31 = fcmp une double %30, 0.000000e+00
br i1 %31, label %35, label %32
32: ; preds = %27
%33 = load double, double* %3
%34 = fadd double %33, 1.000000e-01
store double %34, double* %3
br label %35
35: ; preds = %32, %27
%36 = load double*, double** %2
%37 = getelementptr inbounds double, double* %36, i64 10
%38 = load double, double* %37
%39 = load double*, double** %2
%40 = getelementptr inbounds double, double* %39, i64 8
%41 = load double, double* %40
%42 = fadd double %41, 1.000000e-01
%43 = fcmp olt double %38, %42
br i1 %43, label %44, label %47
44: ; preds = %35
%45 = load double, double* %3
%46 = fadd double %45, 1.000000e-01
store double %46, double* %3
br label %47
47: ; preds = %44, %35
%48 = load double*, double** %2
%49 = getelementptr inbounds double, double* %48, i64 14
%50 = load double, double* %49
%51 = fcmp une double %50, 0.000000e+00
br i1 %51, label %52, label %55
52: ; preds = %47
%53 = load double, double* %3
%54 = fadd double %53, 1.000000e-01
store double %54, double* %3
br label %55
55: ; preds = %52, %47
%56 = load double*, double** %2
%57 = getelementptr inbounds double, double* %56, i64 17
%58 = load double, double* %57
%59 = fcmp une double %58, 0.000000e+00
br i1 %59, label %63, label %60
60: ; preds = %55
%61 = load double, double* %3
%62 = fsub double %61, 1.000000e-01
store double %62, double* %3
br label %63
63: ; preds = %60, %55
%64 = load double*, double** %2
%65 = getelementptr inbounds double, double* %64, i64 20
%66 = load double, double* %65
%67 = fcmp une double %66, 0.000000e+00
br i1 %67, label %71, label %68
68: ; preds = %63
%69 = load double, double* %3
%70 = fsub double %69, 1.000000e-01
store double %70, double* %3
br label %71
71: ; preds = %68, %63
%72 = load double*, double** %2
%73 = getelementptr inbounds double, double* %72, i64 22
%74 = load double, double* %73
%75 = fcmp une double %74, 0.000000e+00
br i1 %75, label %79, label %76
76: ; preds = %71
%77 = load double, double* %3
%78 = fsub double %77, 1.000000e-01
store double %78, double* %3
br label %79
79: ; preds = %76, %71
%80 = load double*, double** %2
%81 = getelementptr inbounds double, double* %80, i64 19
%82 = load double, double* %81
%83 = fcmp une double %82, 0.000000e+00
br i1 %83, label %84, label %87
84: ; preds = %79
%85 = load double, double* %3
%86 = fsub double %85, 2.000000e-01
store double %86, double* %3
br label %87
87: ; preds = %84, %79
%88 = load double*, double** %2
%89 = getelementptr inbounds double, double* %88, i64 27
%90 = load double, double* %89
%91 = fcmp une double %90, 0.000000e+00
br i1 %91, label %92, label %95
92: ; preds = %87
%93 = load double, double* %3
%94 = fsub double %93, 2.000000e-01
store double %94, double* %3
br label %95
95: ; preds = %92, %87
%96 = load double*, double** %2
%97 = getelementptr inbounds double, double* %96, i64 11
%98 = load double, double* %97
%99 = fcmp olt double %98, 9.000000e-01
br i1 %99, label %100, label %103
100: ; preds = %95
%101 = load double, double* %3
%102 = fsub double %101, 2.000000e-01
store double %102, double* %3
br label %103
103: ; preds = %100, %95
%104 = load double*, double** %2
%105 = getelementptr inbounds double, double* %104, i64 44
%106 = load double, double* %105
%107 = fcmp une double %106, 0.000000e+00
br i1 %107, label %108, label %116
108: ; preds = %103
%109 = load double*, double** %2
%110 = getelementptr inbounds double, double* %109, i64 6
%111 = load double, double* %110
%112 = fcmp ogt double %111, 2.000000e-01
br i1 %112, label %113, label %116
113: ; preds = %108
%114 = load double, double* %3
%115 = fsub double %114, 3.000000e-01
store double %115, double* %3
br label %116
116: ; preds = %113, %108, %103
%117 = load double*, double** %2
%118 = getelementptr inbounds double, double* %117, i64 10
%119 = load double, double* %118
%120 = load double*, double** %2
%121 = getelementptr inbounds double, double* %120, i64 8
%122 = load double, double* %121
%123 = fadd double %122, 1.000000e-01
%124 = fcmp olt double %119, %123
br i1 %124, label %125, label %128
125: ; preds = %116
%126 = load double, double* %3
%127 = fsub double %126, 1.000000e-01
store double %127, double* %3
br label %128
128: ; preds = %125, %116
%129 = load double*, double** %2
%130 = getelementptr inbounds double, double* %129, i64 14
%131 = load double, double* %130
%132 = fcmp une double %131, 0.000000e+00
br i1 %132, label %136, label %133
133: ; preds = %128
%134 = load double, double* %3
%135 = fsub double %134, 3.000000e-01
store double %135, double* %3
br label %136
136: ; preds = %133, %128
%137 = load double*, double** %2
%138 = getelementptr inbounds double, double* %137, i64 33
%139 = load double, double* %138
%140 = fcmp une double %139, 0.000000e+00
br i1 %140, label %141, label %144
141: ; preds = %136
%142 = load double, double* %3
%143 = fsub double %142, 2.000000e-01
store double %143, double* %3
br label %144
144: ; preds = %141, %136
%145 = load double*, double** %2
%146 = getelementptr inbounds double, double* %145, i64 69
%147 = load double, double* %146
%148 = fcmp une double %147, 0.000000e+00
br i1 %148, label %149, label %152
149: ; preds = %144
%150 = load double, double* %3
%151 = fsub double %150, 2.000000e-01
store double %151, double* %3
br label %152
152: ; preds = %149, %144
%153 = load double*, double** %2
%154 = getelementptr inbounds double, double* %153, i64 67
%155 = load double, double* %154
%156 = fcmp une double %155, 0.000000e+00
br i1 %156, label %157, label %160
157: ; preds = %152
%158 = load double, double* %3
%159 = fsub double %158, 3.000000e-01
store double %159, double* %3
br label %160
160: ; preds = %157, %152
%161 = load double*, double** %2
%162 = getelementptr inbounds double, double* %161, i64 5
%163 = load double, double* %162
%164 = load double*, double** %2
%165 = getelementptr inbounds double, double* %164, i64 10
%166 = load double, double* %165
%167 = fadd double %166, 1.000000e-01
%168 = fcmp ogt double %163, %167
br i1 %168, label %169, label %172
169: ; preds = %160
%170 = load double, double* %3
%171 = fsub double %170, 1.000000e-01
store double %171, double* %3
br label %172
172: ; preds = %169, %160
%173 = load double*, double** %2
%174 = getelementptr inbounds double, double* %173, i64 57
%175 = load double, double* %174
%176 = fcmp une double %175, 0.000000e+00
br i1 %176, label %180, label %177
177: ; preds = %172
%178 = load double, double* %3
%179 = fsub double %178, 2.000000e-01
store double %179, double* %3
br label %180
180: ; preds = %177, %172
%181 = load double, double* %3
ret double %181
}

LLVM IR (-O2):
define double @ho_recognize_font_1_het(double* nocapture %0) {
%2 = getelementptr inbounds double, double* %0, i64 17
%3 = load double, double* %2
%4 = fcmp une double %3, 0.000000e+00
%5 = select i1 %4, double 1.000000e-01, double 0.000000e+00
%6 = getelementptr inbounds double, double* %0, i64 20
%7 = load double, double* %6
%8 = fcmp une double %7, 0.000000e+00
%9 = fadd double %5, 1.000000e-01
%10 = select i1 %8, double %9, double %5
%11 = getelementptr inbounds double, double* %0, i64 22
%12 = load double, double* %11
%13 = fcmp une double %12, 0.000000e+00
%14 = fadd double %10, 1.000000e-01
%15 = select i1 %13, double %14, double %10
%16 = getelementptr inbounds double, double* %0, i64 19
%17 = load double, double* %16
%18 = fcmp une double %17, 0.000000e+00
%19 = fadd double %15, 1.000000e-01
%20 = select i1 %18, double %15, double %19
%21 = getelementptr inbounds double, double* %0, i64 10
%22 = load double, double* %21
%23 = getelementptr inbounds double, double* %0, i64 8
%24 = load double, double* %23
%25 = fadd double %24, 1.000000e-01
%26 = fcmp olt double %22, %25
%27 = fadd double %20, 1.000000e-01
%28 = select i1 %26, double %27, double %20
%29 = getelementptr inbounds double, double* %0, i64 14
%30 = load double, double* %29
%31 = fcmp une double %30, 0.000000e+00
%32 = fadd double %28, 1.000000e-01
%33 = select i1 %31, double %32, double %28
%34 = fadd double %33, -1.000000e-01
%35 = select i1 %4, double %33, double %34
%36 = fadd double %35, -1.000000e-01
%37 = select i1 %8, double %35, double %36
%38 = fadd double %37, -1.000000e-01
%39 = select i1 %13, double %37, double %38
%40 = fadd double %39, -2.000000e-01
%41 = select i1 %18, double %40, double %39
%42 = getelementptr inbounds double, double* %0, i64 27
%43 = load double, double* %42
%44 = fcmp une double %43, 0.000000e+00
%45 = fadd double %41, -2.000000e-01
%46 = select i1 %44, double %45, double %41
%47 = getelementptr inbounds double, double* %0, i64 11
%48 = load double, double* %47
%49 = fcmp olt double %48, 9.000000e-01
%50 = fadd double %46, -2.000000e-01
%51 = select i1 %49, double %50, double %46
%52 = getelementptr inbounds double, double* %0, i64 44
%53 = load double, double* %52
%54 = fcmp une double %53, 0.000000e+00
br i1 %54, label %55, label %61
55: ; preds = %1
%56 = getelementptr inbounds double, double* %0, i64 6
%57 = load double, double* %56
%58 = fcmp ogt double %57, 2.000000e-01
br i1 %58, label %59, label %61
59: ; preds = %55
%60 = fadd double %51, -3.000000e-01
br label %61
61: ; preds = %59, %55, %1
%62 = phi double [ %60, %59 ], [ %51, %55 ], [ %51, %1 ]
%63 = fadd double %62, -1.000000e-01
%64 = select i1 %26, double %63, double %62
%65 = fadd double %64, -3.000000e-01
%66 = select i1 %31, double %64, double %65
%67 = getelementptr inbounds double, double* %0, i64 33
%68 = load double, double* %67
%69 = fcmp une double %68, 0.000000e+00
%70 = fadd double %66, -2.000000e-01
%71 = select i1 %69, double %70, double %66
%72 = getelementptr inbounds double, double* %0, i64 69
%73 = load double, double* %72
%74 = fcmp une double %73, 0.000000e+00
%75 = fadd double %71, -2.000000e-01
%76 = select i1 %74, double %75, double %71
%77 = getelementptr inbounds double, double* %0, i64 67
%78 = load double, double* %77
%79 = fcmp une double %78, 0.000000e+00
%80 = fadd double %76, -3.000000e-01
%81 = select i1 %79, double %80, double %76
%82 = getelementptr inbounds double, double* %0, i64 5
%83 = load double, double* %82
%84 = fadd double %22, 1.000000e-01
%85 = fcmp ogt double %83, %84
%86 = fadd double %81, -1.000000e-01
%87 = select i1 %85, double %86, double %81
%88 = getelementptr inbounds double, double* %0, i64 57
%89 = load double, double* %88
%90 = fcmp une double %89, 0.000000e+00
%91 = fadd double %87, -2.000000e-01
%92 = select i1 %90, double %87, double %91
ret double %92
}