double ho_recognize_font_1_gimal(const double *array_in) {
  double return_value = 0.0;
  if ((array_in[34]))
    return_value += 0.1;
  if ((array_in[36]))
    return_value += 0.1;
  if ((array_in[103]))
    return_value += 0.1;
  if ((array_in[47]) || (array_in[48]))
    return_value += 0.1;
  if ((array_in[5]) > (array_in[10]))
    return_value += 0.1;
  if ((array_in[7]) > (array_in[12]))
    return_value += 0.1;
  if ((array_in[11]) > 0.25 && (array_in[11]) < 0.45)
    return_value += 0.1;
  if ((array_in[5]) > ((array_in[10]) + 0.25))
    return_value += 0.2;
  if ((array_in[1]) < 0.3)
    return_value += 0.2;
  if ((array_in[1]) < 0.3 && (array_in[19]) &&
      ((array_in[65]) == 0.1 || (array_in[66]) == 0.1))
    return_value += 0.2;
  if ((array_in[11]) > 0.5)
    return_value -= 0.3;
  if ((array_in[4]) > 0.57 || (array_in[4]) < 43)
    return_value -= 0.10;
  if ((array_in[4]) < 0.43)
    return_value -= 0.3;
  if (!(array_in[47]) && !(array_in[48]))
    return_value -= 0.2;
  if ((array_in[20]))
    return_value -= 0.3;
  if ((array_in[1]) > 0.34)
    return_value -= 0.2;
  if ((array_in[2]) > 0.8)
    return_value -= 0.2;
  if ((array_in[0]) < 0.3)
    return_value -= 0.3;
  if (!(array_in[36]))
    return_value -= 0.2;
  return return_value;
}


x86 assembly (clang, -O0):
<ho_recognize_font_1_gimal>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x110(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1134 <ho_recognize_font_1_gimal+0x34>
jp     1134 <ho_recognize_font_1_gimal+0x34>
jmp    1146 <ho_recognize_font_1_gimal+0x46>
movsd  0xec4(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x120(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    116a <ho_recognize_font_1_gimal+0x6a>
jp     116a <ho_recognize_font_1_gimal+0x6a>
jmp    117c <ho_recognize_font_1_gimal+0x7c>
movsd  0xe8e(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x338(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    11a0 <ho_recognize_font_1_gimal+0xa0>
jp     11a0 <ho_recognize_font_1_gimal+0xa0>
jmp    11b2 <ho_recognize_font_1_gimal+0xb2>
movsd  0xe58(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x178(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    11f5 <ho_recognize_font_1_gimal+0xf5>
jp     11f5 <ho_recognize_font_1_gimal+0xf5>
mov    -0x8(%rbp),%rax
movsd  0x180(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    11f5 <ho_recognize_font_1_gimal+0xf5>
jp     11f5 <ho_recognize_font_1_gimal+0xf5>
jmp    1207 <ho_recognize_font_1_gimal+0x107>
movsd  0xe03(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
ucomisd 0x50(%rax),%xmm0
jbe    1231 <ho_recognize_font_1_gimal+0x131>
movsd  0xdd9(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x8(%rbp),%rax
ucomisd 0x60(%rax),%xmm0
jbe    125b <ho_recognize_font_1_gimal+0x15b>
movsd  0xdaf(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  0xd9c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    129f <ho_recognize_font_1_gimal+0x19f>
mov    -0x8(%rbp),%rax
movsd  0xd8e(%rip),%xmm0
ucomisd 0x58(%rax),%xmm0
jbe    129f <ho_recognize_font_1_gimal+0x19f>
movsd  0xd6b(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0xd54(%rip),%xmm1
addsd  0x50(%rax),%xmm1
ucomisd %xmm1,%xmm0
jbe    12d5 <ho_recognize_font_1_gimal+0x1d5>
movsd  0xd4d(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xd3f(%rip),%xmm0
ucomisd 0x8(%rax),%xmm0
jbe    12fe <ho_recognize_font_1_gimal+0x1fe>
movsd  0xd24(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xd16(%rip),%xmm0
ucomisd 0x8(%rax),%xmm0
jbe    1398 <ho_recognize_font_1_gimal+0x298>
mov    -0x8(%rbp),%rax
movsd  0x98(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1339 <ho_recognize_font_1_gimal+0x239>
jp     1339 <ho_recognize_font_1_gimal+0x239>
jmp    1398 <ho_recognize_font_1_gimal+0x298>
mov    -0x8(%rbp),%rax
movsd  0x208(%rax),%xmm0
movsd  0xcb3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1362 <ho_recognize_font_1_gimal+0x262>
jp     1362 <ho_recognize_font_1_gimal+0x262>
jmp    1386 <ho_recognize_font_1_gimal+0x286>
mov    -0x8(%rbp),%rax
movsd  0x210(%rax),%xmm0
movsd  0xc8a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1398 <ho_recognize_font_1_gimal+0x298>
jp     1398 <ho_recognize_font_1_gimal+0x298>
movsd  0xc8a(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  0xc7f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    13c9 <ho_recognize_font_1_gimal+0x2c9>
movsd  -0x10(%rbp),%xmm0
movsd  0xc60(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  0xc56(%rip),%xmm1
ucomisd %xmm1,%xmm0
ja     13fb <ho_recognize_font_1_gimal+0x2fb>
mov    -0x8(%rbp),%rax
movsd  0xc48(%rip),%xmm0
ucomisd 0x20(%rax),%xmm0
jbe    1411 <ho_recognize_font_1_gimal+0x311>
movsd  -0x10(%rbp),%xmm0
movsd  0xbf8(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xc23(%rip),%xmm0
ucomisd 0x20(%rax),%xmm0
jbe    143e <ho_recognize_font_1_gimal+0x33e>
movsd  -0x10(%rbp),%xmm0
movsd  0xbeb(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x178(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1492 <ho_recognize_font_1_gimal+0x392>
jp     1492 <ho_recognize_font_1_gimal+0x392>
mov    -0x8(%rbp),%rax
movsd  0x180(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1492 <ho_recognize_font_1_gimal+0x392>
jp     1492 <ho_recognize_font_1_gimal+0x392>
movsd  -0x10(%rbp),%xmm0
movsd  0xb8f(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xa0(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    14b6 <ho_recognize_font_1_gimal+0x3b6>
jp     14b6 <ho_recognize_font_1_gimal+0x3b6>
jmp    14cc <ho_recognize_font_1_gimal+0x3cc>
movsd  -0x10(%rbp),%xmm0
movsd  0xb5d(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x8(%rax),%xmm0
movsd  0xb6b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    14fd <ho_recognize_font_1_gimal+0x3fd>
movsd  -0x10(%rbp),%xmm0
movsd  0xb24(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x10(%rax),%xmm0
movsd  0xb42(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    152e <ho_recognize_font_1_gimal+0x42e>
movsd  -0x10(%rbp),%xmm0
movsd  0xaf3(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xae6(%rip),%xmm0
ucomisd (%rax),%xmm0
jbe    155a <ho_recognize_font_1_gimal+0x45a>
movsd  -0x10(%rbp),%xmm0
movsd  0xacf(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x120(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    158f <ho_recognize_font_1_gimal+0x48f>
jp     158f <ho_recognize_font_1_gimal+0x48f>
movsd  -0x10(%rbp),%xmm0
movsd  0xa92(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<ho_recognize_font_1_gimal>:
xorpd  %xmm1,%xmm1
movsd  0x110(%rdi),%xmm3
cmpneqsd %xmm1,%xmm3
movsd  0xee7(%rip),%xmm2
andpd  %xmm2,%xmm3
movsd  0x120(%rdi),%xmm0
movsd  0x178(%rdi),%xmm8
movapd %xmm0,%xmm6
cmpneqsd %xmm1,%xmm6
movapd %xmm6,%xmm4
andnpd %xmm3,%xmm4
addsd  %xmm2,%xmm3
andpd  %xmm3,%xmm6
orpd   %xmm4,%xmm6
movsd  0x338(%rdi),%xmm4
cmpneqsd %xmm1,%xmm4
movapd %xmm4,%xmm3
andnpd %xmm6,%xmm3
addsd  %xmm2,%xmm6
andpd  %xmm6,%xmm4
orpd   %xmm3,%xmm4
ucomisd %xmm1,%xmm8
jne    1185 <ho_recognize_font_1_gimal+0x85>
jp     1185 <ho_recognize_font_1_gimal+0x85>
movsd  0x180(%rdi),%xmm3
ucomisd %xmm1,%xmm3
jne    1185 <ho_recognize_font_1_gimal+0x85>
jnp    118d <ho_recognize_font_1_gimal+0x8d>
addsd  0xe73(%rip),%xmm4
movsd  0x8(%rdi),%xmm9
movsd  0x28(%rdi),%xmm6
movsd  0x50(%rdi),%xmm5
movapd %xmm4,%xmm7
addsd  %xmm2,%xmm7
movapd %xmm5,%xmm3
cmpltsd %xmm6,%xmm3
andpd  %xmm3,%xmm7
andnpd %xmm4,%xmm3
orpd   %xmm7,%xmm3
movsd  0x60(%rdi),%xmm7
cmpltsd 0x38(%rdi),%xmm7
movapd %xmm7,%xmm4
andnpd %xmm3,%xmm4
addsd  %xmm2,%xmm3
andpd  %xmm3,%xmm7
orpd   %xmm4,%xmm7
movsd  0x58(%rdi),%xmm4
movapd %xmm7,%xmm3
addsd  %xmm2,%xmm3
movapd %xmm4,%xmm2
cmpltsd 0xe15(%rip),%xmm2
movapd %xmm2,%xmm1
andnpd %xmm7,%xmm1
andpd  %xmm3,%xmm2
orpd   %xmm1,%xmm2
movsd  0xe05(%rip),%xmm1
addsd  %xmm1,%xmm5
cmpltsd %xmm4,%xmm1
andpd  %xmm1,%xmm2
andnpd %xmm7,%xmm1
orpd   %xmm2,%xmm1
movsd  0xdf0(%rip),%xmm7
cmpltsd %xmm6,%xmm5
movapd %xmm5,%xmm2
andnpd %xmm1,%xmm2
addsd  %xmm7,%xmm1
andpd  %xmm1,%xmm5
orpd   %xmm2,%xmm5
movsd  0xdd7(%rip),%xmm6
ucomisd %xmm9,%xmm6
movapd %xmm5,%xmm3
jbe    12be <ho_recognize_font_1_gimal+0x1be>
movapd %xmm5,%xmm3
addsd  %xmm7,%xmm3
movsd  0x98(%rdi),%xmm1
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
jne    1270 <ho_recognize_font_1_gimal+0x170>
jnp    12be <ho_recognize_font_1_gimal+0x1be>
movsd  0x208(%rdi),%xmm1
ucomisd 0xd80(%rip),%xmm1
jne    1284 <ho_recognize_font_1_gimal+0x184>
jnp    1298 <ho_recognize_font_1_gimal+0x198>
movsd  0x210(%rdi),%xmm1
ucomisd 0xd6c(%rip),%xmm1
jne    12be <ho_recognize_font_1_gimal+0x1be>
jp     12be <ho_recognize_font_1_gimal+0x1be>
movapd %xmm9,%xmm1
cmpltsd %xmm6,%xmm1
movapd %xmm1,%xmm2
andnpd %xmm5,%xmm2
andpd  %xmm3,%xmm1
orpd   %xmm2,%xmm1
addsd  0xd5e(%rip),%xmm1
movapd %xmm1,%xmm3
xorpd  %xmm5,%xmm5
ucomisd %xmm5,%xmm8
movsd  0xd59(%rip),%xmm2
movapd %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0xd51(%rip),%xmm6
cmpltsd %xmm4,%xmm6
andpd  %xmm6,%xmm1
andnpd %xmm3,%xmm6
orpd   %xmm1,%xmm6
movsd  0x20(%rdi),%xmm4
movapd %xmm4,%xmm1
cmpltsd 0xd3e(%rip),%xmm1
movapd %xmm1,%xmm3
andnpd %xmm6,%xmm3
addsd  0xd26(%rip),%xmm6
andpd  %xmm6,%xmm1
orpd   %xmm3,%xmm1
movsd  0xd26(%rip),%xmm3
cmpltsd %xmm4,%xmm3
movapd %xmm3,%xmm7
andnpd %xmm1,%xmm7
andpd  %xmm6,%xmm3
orpd   %xmm7,%xmm3
cmpltsd 0xd10(%rip),%xmm4
movapd %xmm4,%xmm1
andnpd %xmm3,%xmm1
addsd  %xmm2,%xmm3
andpd  %xmm3,%xmm4
orpd   %xmm1,%xmm4
jne    1370 <ho_recognize_font_1_gimal+0x270>
jp     1370 <ho_recognize_font_1_gimal+0x270>
movsd  0x180(%rdi),%xmm1
ucomisd %xmm5,%xmm1
jne    1370 <ho_recognize_font_1_gimal+0x270>
jp     1370 <ho_recognize_font_1_gimal+0x270>
addsd  0xce8(%rip),%xmm4
movapd %xmm4,%xmm1
addsd  %xmm2,%xmm1
movsd  0xa0(%rdi),%xmm3
cmpneqsd %xmm5,%xmm3
andpd  %xmm3,%xmm1
andnpd %xmm4,%xmm3
orpd   %xmm1,%xmm3
movsd  0xcbf(%rip),%xmm4
movsd  0xcbf(%rip),%xmm1
cmpltsd %xmm9,%xmm1
movapd %xmm1,%xmm6
andnpd %xmm3,%xmm6
addsd  %xmm4,%xmm3
andpd  %xmm3,%xmm1
orpd   %xmm6,%xmm1
movsd  0xca5(%rip),%xmm3
cmpltsd 0x10(%rdi),%xmm3
movapd %xmm3,%xmm6
andnpd %xmm1,%xmm6
addsd  %xmm4,%xmm1
andpd  %xmm1,%xmm3
orpd   %xmm6,%xmm3
movsd  (%rdi),%xmm1
cmpltsd 0xc36(%rip),%xmm1
movapd %xmm1,%xmm6
andnpd %xmm3,%xmm6
addsd  %xmm2,%xmm3
andpd  %xmm3,%xmm1
orpd   %xmm6,%xmm1
cmpneqsd %xmm5,%xmm0
movapd %xmm0,%xmm2
andpd  %xmm1,%xmm2
addsd  %xmm4,%xmm1
andnpd %xmm1,%xmm0
orpd   %xmm2,%xmm0
ret

LLVM IR (-O0):
define double @ho_recognize_font_1_gimal(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 34
%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 36
%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 103
%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 47
%30 = load double, double* %29
%31 = fcmp une double %30, 0.000000e+00
br i1 %31, label %37, label %32
32: ; preds = %27
%33 = load double*, double** %2
%34 = getelementptr inbounds double, double* %33, i64 48
%35 = load double, double* %34
%36 = fcmp une double %35, 0.000000e+00
br i1 %36, label %37, label %40
37: ; preds = %32, %27
%38 = load double, double* %3
%39 = fadd double %38, 1.000000e-01
store double %39, double* %3
br label %40
40: ; preds = %37, %32
%41 = load double*, double** %2
%42 = getelementptr inbounds double, double* %41, i64 5
%43 = load double, double* %42
%44 = load double*, double** %2
%45 = getelementptr inbounds double, double* %44, i64 10
%46 = load double, double* %45
%47 = fcmp ogt double %43, %46
br i1 %47, label %48, label %51
48: ; preds = %40
%49 = load double, double* %3
%50 = fadd double %49, 1.000000e-01
store double %50, double* %3
br label %51
51: ; preds = %48, %40
%52 = load double*, double** %2
%53 = getelementptr inbounds double, double* %52, i64 7
%54 = load double, double* %53
%55 = load double*, double** %2
%56 = getelementptr inbounds double, double* %55, i64 12
%57 = load double, double* %56
%58 = fcmp ogt double %54, %57
br i1 %58, label %59, label %62
59: ; preds = %51
%60 = load double, double* %3
%61 = fadd double %60, 1.000000e-01
store double %61, double* %3
br label %62
62: ; preds = %59, %51
%63 = load double*, double** %2
%64 = getelementptr inbounds double, double* %63, i64 11
%65 = load double, double* %64
%66 = fcmp ogt double %65, 2.500000e-01
br i1 %66, label %67, label %75
67: ; preds = %62
%68 = load double*, double** %2
%69 = getelementptr inbounds double, double* %68, i64 11
%70 = load double, double* %69
%71 = fcmp olt double %70, 4.500000e-01
br i1 %71, label %72, label %75
72: ; preds = %67
%73 = load double, double* %3
%74 = fadd double %73, 1.000000e-01
store double %74, double* %3
br label %75
75: ; preds = %72, %67, %62
%76 = load double*, double** %2
%77 = getelementptr inbounds double, double* %76, i64 5
%78 = load double, double* %77
%79 = load double*, double** %2
%80 = getelementptr inbounds double, double* %79, i64 10
%81 = load double, double* %80
%82 = fadd double %81, 2.500000e-01
%83 = fcmp ogt double %78, %82
br i1 %83, label %84, label %87
84: ; preds = %75
%85 = load double, double* %3
%86 = fadd double %85, 2.000000e-01
store double %86, double* %3
br label %87
87: ; preds = %84, %75
%88 = load double*, double** %2
%89 = getelementptr inbounds double, double* %88, i64 1
%90 = load double, double* %89
%91 = fcmp olt double %90, 3.000000e-01
br i1 %91, label %92, label %95
92: ; preds = %87
%93 = load double, double* %3
%94 = fadd 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 1
%98 = load double, double* %97
%99 = fcmp olt double %98, 3.000000e-01
br i1 %99, label %100, label %118
100: ; preds = %95
%101 = load double*, double** %2
%102 = getelementptr inbounds double, double* %101, i64 19
%103 = load double, double* %102
%104 = fcmp une double %103, 0.000000e+00
br i1 %104, label %105, label %118
105: ; preds = %100
%106 = load double*, double** %2
%107 = getelementptr inbounds double, double* %106, i64 65
%108 = load double, double* %107
%109 = fcmp oeq double %108, 1.000000e-01
br i1 %109, label %115, label %110
110: ; preds = %105
%111 = load double*, double** %2
%112 = getelementptr inbounds double, double* %111, i64 66
%113 = load double, double* %112
%114 = fcmp oeq double %113, 1.000000e-01
br i1 %114, label %115, label %118
115: ; preds = %110, %105
%116 = load double, double* %3
%117 = fadd double %116, 2.000000e-01
store double %117, double* %3
br label %118
118: ; preds = %115, %110, %100, %95
%119 = load double*, double** %2
%120 = getelementptr inbounds double, double* %119, i64 11
%121 = load double, double* %120
%122 = fcmp ogt double %121, 5.000000e-01
br i1 %122, label %123, label %126
123: ; preds = %118
%124 = load double, double* %3
%125 = fsub double %124, 3.000000e-01
store double %125, double* %3
br label %126
126: ; preds = %123, %118
%127 = load double*, double** %2
%128 = getelementptr inbounds double, double* %127, i64 4
%129 = load double, double* %128
%130 = fcmp ogt double %129, 5.700000e-01
br i1 %130, label %136, label %131
131: ; preds = %126
%132 = load double*, double** %2
%133 = getelementptr inbounds double, double* %132, i64 4
%134 = load double, double* %133
%135 = fcmp olt double %134, 4.300000e+01
br i1 %135, label %136, label %139
136: ; preds = %131, %126
%137 = load double, double* %3
%138 = fsub double %137, 1.000000e-01
store double %138, double* %3
br label %139
139: ; preds = %136, %131
%140 = load double*, double** %2
%141 = getelementptr inbounds double, double* %140, i64 4
%142 = load double, double* %141
%143 = fcmp olt double %142, 4.300000e-01
br i1 %143, label %144, label %147
144: ; preds = %139
%145 = load double, double* %3
%146 = fsub double %145, 3.000000e-01
store double %146, double* %3
br label %147
147: ; preds = %144, %139
%148 = load double*, double** %2
%149 = getelementptr inbounds double, double* %148, i64 47
%150 = load double, double* %149
%151 = fcmp une double %150, 0.000000e+00
br i1 %151, label %160, label %152
152: ; preds = %147
%153 = load double*, double** %2
%154 = getelementptr inbounds double, double* %153, i64 48
%155 = load double, double* %154
%156 = fcmp une double %155, 0.000000e+00
br i1 %156, label %160, label %157
157: ; preds = %152
%158 = load double, double* %3
%159 = fsub double %158, 2.000000e-01
store double %159, double* %3
br label %160
160: ; preds = %157, %152, %147
%161 = load double*, double** %2
%162 = getelementptr inbounds double, double* %161, i64 20
%163 = load double, double* %162
%164 = fcmp une double %163, 0.000000e+00
br i1 %164, label %165, label %168
165: ; preds = %160
%166 = load double, double* %3
%167 = fsub double %166, 3.000000e-01
store double %167, double* %3
br label %168
168: ; preds = %165, %160
%169 = load double*, double** %2
%170 = getelementptr inbounds double, double* %169, i64 1
%171 = load double, double* %170
%172 = fcmp ogt double %171, 3.400000e-01
br i1 %172, label %173, label %176
173: ; preds = %168
%174 = load double, double* %3
%175 = fsub double %174, 2.000000e-01
store double %175, double* %3
br label %176
176: ; preds = %173, %168
%177 = load double*, double** %2
%178 = getelementptr inbounds double, double* %177, i64 2
%179 = load double, double* %178
%180 = fcmp ogt double %179, 8.000000e-01
br i1 %180, label %181, label %184
181: ; preds = %176
%182 = load double, double* %3
%183 = fsub double %182, 2.000000e-01
store double %183, double* %3
br label %184
184: ; preds = %181, %176
%185 = load double*, double** %2
%186 = getelementptr inbounds double, double* %185, i64 0
%187 = load double, double* %186
%188 = fcmp olt double %187, 3.000000e-01
br i1 %188, label %189, label %192
189: ; preds = %184
%190 = load double, double* %3
%191 = fsub double %190, 3.000000e-01
store double %191, double* %3
br label %192
192: ; preds = %189, %184
%193 = load double*, double** %2
%194 = getelementptr inbounds double, double* %193, i64 36
%195 = load double, double* %194
%196 = fcmp une double %195, 0.000000e+00
br i1 %196, label %200, label %197
197: ; preds = %192
%198 = load double, double* %3
%199 = fsub double %198, 2.000000e-01
store double %199, double* %3
br label %200
200: ; preds = %197, %192
%201 = load double, double* %3
ret double %201
}

LLVM IR (-O2):
define double @ho_recognize_font_1_gimal(double* nocapture %0) {
%2 = getelementptr inbounds double, double* %0, i64 34
%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 36
%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 103
%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 47
%17 = load double, double* %16
%18 = fcmp une double %17, 0.000000e+00
br i1 %18, label %23, label %19
19: ; preds = %1
%20 = getelementptr inbounds double, double* %0, i64 48
%21 = load double, double* %20
%22 = fcmp une double %21, 0.000000e+00
br i1 %22, label %23, label %25
23: ; preds = %19, %1
%24 = fadd double %15, 1.000000e-01
br label %25
25: ; preds = %23, %19
%26 = phi double [ %24, %23 ], [ %15, %19 ]
%27 = getelementptr inbounds double, double* %0, i64 5
%28 = load double, double* %27
%29 = getelementptr inbounds double, double* %0, i64 10
%30 = load double, double* %29
%31 = fcmp ogt double %28, %30
%32 = fadd double %26, 1.000000e-01
%33 = select i1 %31, double %32, double %26
%34 = getelementptr inbounds double, double* %0, i64 7
%35 = load double, double* %34
%36 = getelementptr inbounds double, double* %0, i64 12
%37 = load double, double* %36
%38 = fcmp ogt double %35, %37
%39 = fadd double %33, 1.000000e-01
%40 = select i1 %38, double %39, double %33
%41 = getelementptr inbounds double, double* %0, i64 11
%42 = load double, double* %41
%43 = fcmp ogt double %42, 2.500000e-01
%44 = fcmp olt double %42, 4.500000e-01
%45 = and i1 %43, %44
%46 = fadd double %40, 1.000000e-01
%47 = select i1 %45, double %46, double %40
%48 = fadd double %30, 2.500000e-01
%49 = fcmp ogt double %28, %48
%50 = fadd double %47, 2.000000e-01
%51 = select i1 %49, double %50, double %47
%52 = getelementptr inbounds double, double* %0, i64 1
%53 = load double, double* %52
%54 = fcmp olt double %53, 3.000000e-01
%55 = fadd double %51, 2.000000e-01
%56 = select i1 %54, double %55, double %51
br i1 %54, label %57, label %71
57: ; preds = %25
%58 = getelementptr inbounds double, double* %0, i64 19
%59 = load double, double* %58
%60 = fcmp une double %59, 0.000000e+00
br i1 %60, label %61, label %71
61: ; preds = %57
%62 = getelementptr inbounds double, double* %0, i64 65
%63 = load double, double* %62
%64 = fcmp oeq double %63, 1.000000e-01
br i1 %64, label %69, label %65
65: ; preds = %61
%66 = getelementptr inbounds double, double* %0, i64 66
%67 = load double, double* %66
%68 = fcmp oeq double %67, 1.000000e-01
br i1 %68, label %69, label %71
69: ; preds = %65, %61
%70 = fadd double %56, 2.000000e-01
br label %71
71: ; preds = %69, %65, %57, %25
%72 = phi double [ %70, %69 ], [ %55, %65 ], [ %55, %57 ], [ %51, %25 ]
%73 = fcmp ogt double %42, 5.000000e-01
%74 = fadd double %72, -3.000000e-01
%75 = select i1 %73, double %74, double %72
%76 = getelementptr inbounds double, double* %0, i64 4
%77 = load double, double* %76
%78 = fcmp ogt double %77, 5.700000e-01
%79 = fcmp olt double %77, 4.300000e+01
%80 = or i1 %78, %79
%81 = fadd double %75, -1.000000e-01
%82 = select i1 %80, double %81, double %75
%83 = fcmp olt double %77, 4.300000e-01
%84 = fadd double %82, -3.000000e-01
%85 = select i1 %83, double %84, double %82
br i1 %18, label %92, label %86
86: ; preds = %71
%87 = getelementptr inbounds double, double* %0, i64 48
%88 = load double, double* %87
%89 = fcmp une double %88, 0.000000e+00
br i1 %89, label %92, label %90
90: ; preds = %86
%91 = fadd double %85, -2.000000e-01
br label %92
92: ; preds = %90, %86, %71
%93 = phi double [ %85, %71 ], [ %85, %86 ], [ %91, %90 ]
%94 = getelementptr inbounds double, double* %0, i64 20
%95 = load double, double* %94
%96 = fcmp une double %95, 0.000000e+00
%97 = fadd double %93, -3.000000e-01
%98 = select i1 %96, double %97, double %93
%99 = fcmp ogt double %53, 3.400000e-01
%100 = fadd double %98, -2.000000e-01
%101 = select i1 %99, double %100, double %98
%102 = getelementptr inbounds double, double* %0, i64 2
%103 = load double, double* %102
%104 = fcmp ogt double %103, 8.000000e-01
%105 = fadd double %101, -2.000000e-01
%106 = select i1 %104, double %105, double %101
%107 = load double, double* %0
%108 = fcmp olt double %107, 3.000000e-01
%109 = fadd double %106, -3.000000e-01
%110 = select i1 %108, double %109, double %106
%111 = fadd double %110, -2.000000e-01
%112 = select i1 %8, double %110, double %111
ret double %112
}