double ho_recognize_font_1_ayin(const double *array_in) {
  double return_value = 0.0;
  if ((array_in[13]))
    return_value += 0.1;
  if ((array_in[27]))
    return_value += 0.1;
  if ((array_in[10]) < (array_in[12]))
    return_value += 0.1;
  if ((array_in[44]))
    return_value += 0.1;
  if ((array_in[38]) || (array_in[39]))
    return_value += 0.1;
  if ((array_in[44]))
    return_value += 0.1;
  if (((array_in[7]) + 0.15) < (array_in[12]))
    return_value += 0.1;
  if ((array_in[55]))
    return_value += 0.1;
  if ((array_in[47]))
    return_value -= 0.2;
  if ((array_in[41]) || (array_in[42]))
    return_value -= 0.2;
  if ((array_in[17]))
    return_value -= 0.3;
  if ((array_in[46]))
    return_value -= 0.2;
  if (!(array_in[55]))
    return_value -= 0.2;
  if ((array_in[41]))
    return_value -= 0.1;
  if ((array_in[9]) > 0.51 && (array_in[12]) < 0.2)
    return_value -= 0.1;
  if ((array_in[4]) > 0.55)
    return_value -= 0.2;
  if ((array_in[69]))
    return_value -= 0.2;
  if ((array_in[10]) > 0.3)
    return_value -= 0.2;
  if ((array_in[12]) < 0.3)
    return_value -= 0.1;
  if ((array_in[11]) > 0.85)
    return_value -= 0.1;
  if ((array_in[3]) > 0.56)
    return_value -= 0.2;
  if ((array_in[8]) > 0.9)
    return_value -= 0.2;
  if ((array_in[1]) < 0.3)
    return_value -= 0.2;
  if ((array_in[0]) < 0.35)
    return_value -= 0.2;
  return return_value;
}


x86 assembly (clang, -O0):
<ho_recognize_font_1_ayin>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x68(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1131 <ho_recognize_font_1_ayin+0x31>
jp     1131 <ho_recognize_font_1_ayin+0x31>
jmp    1143 <ho_recognize_font_1_ayin+0x43>
movsd  0xec7(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xd8(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1167 <ho_recognize_font_1_ayin+0x67>
jp     1167 <ho_recognize_font_1_ayin+0x67>
jmp    1179 <ho_recognize_font_1_ayin+0x79>
movsd  0xe91(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    11a7 <ho_recognize_font_1_ayin+0xa7>
movsd  0xe63(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x160(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    11cb <ho_recognize_font_1_ayin+0xcb>
jp     11cb <ho_recognize_font_1_ayin+0xcb>
jmp    11dd <ho_recognize_font_1_ayin+0xdd>
movsd  0xe2d(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x130(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1220 <ho_recognize_font_1_ayin+0x120>
jp     1220 <ho_recognize_font_1_ayin+0x120>
mov    -0x8(%rbp),%rax
movsd  0x138(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1220 <ho_recognize_font_1_ayin+0x120>
jp     1220 <ho_recognize_font_1_ayin+0x120>
jmp    1232 <ho_recognize_font_1_ayin+0x132>
movsd  0xdd8(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x160(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1256 <ho_recognize_font_1_ayin+0x156>
jp     1256 <ho_recognize_font_1_ayin+0x156>
jmp    1268 <ho_recognize_font_1_ayin+0x168>
movsd  0xda2(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xd94(%rip),%xmm1
addsd  0x38(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0x60(%rax),%xmm0
ucomisd %xmm1,%xmm0
jbe    129e <ho_recognize_font_1_ayin+0x19e>
movsd  0xd6c(%rip),%xmm0
addsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x1b8(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    12c2 <ho_recognize_font_1_ayin+0x1c2>
jp     12c2 <ho_recognize_font_1_ayin+0x1c2>
jmp    12d4 <ho_recognize_font_1_ayin+0x1d4>
movsd  0xd36(%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    12f8 <ho_recognize_font_1_ayin+0x1f8>
jp     12f8 <ho_recognize_font_1_ayin+0x1f8>
jmp    130e <ho_recognize_font_1_ayin+0x20e>
movsd  -0x10(%rbp),%xmm0
movsd  0xd0b(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x148(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1351 <ho_recognize_font_1_ayin+0x251>
jp     1351 <ho_recognize_font_1_ayin+0x251>
mov    -0x8(%rbp),%rax
movsd  0x150(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1351 <ho_recognize_font_1_ayin+0x251>
jp     1351 <ho_recognize_font_1_ayin+0x251>
jmp    1367 <ho_recognize_font_1_ayin+0x267>
movsd  -0x10(%rbp),%xmm0
movsd  0xcb2(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x88(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    138b <ho_recognize_font_1_ayin+0x28b>
jp     138b <ho_recognize_font_1_ayin+0x28b>
jmp    13a1 <ho_recognize_font_1_ayin+0x2a1>
movsd  -0x10(%rbp),%xmm0
movsd  0xc80(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x170(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    13c5 <ho_recognize_font_1_ayin+0x2c5>
jp     13c5 <ho_recognize_font_1_ayin+0x2c5>
jmp    13db <ho_recognize_font_1_ayin+0x2db>
movsd  -0x10(%rbp),%xmm0
movsd  0xc3e(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x1b8(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1410 <ho_recognize_font_1_ayin+0x310>
jp     1410 <ho_recognize_font_1_ayin+0x310>
movsd  -0x10(%rbp),%xmm0
movsd  0xc09(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x148(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    1434 <ho_recognize_font_1_ayin+0x334>
jp     1434 <ho_recognize_font_1_ayin+0x334>
jmp    144a <ho_recognize_font_1_ayin+0x34a>
movsd  -0x10(%rbp),%xmm0
movsd  0xbbf(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x48(%rax),%xmm0
movsd  0xbc5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1492 <ho_recognize_font_1_ayin+0x392>
mov    -0x8(%rbp),%rax
movsd  0xb9f(%rip),%xmm0
ucomisd 0x60(%rax),%xmm0
jbe    1492 <ho_recognize_font_1_ayin+0x392>
movsd  -0x10(%rbp),%xmm0
movsd  0xb77(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x20(%rax),%xmm0
movsd  0xb85(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    14c3 <ho_recognize_font_1_ayin+0x3c3>
movsd  -0x10(%rbp),%xmm0
movsd  0xb56(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x228(%rax),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jne    14e7 <ho_recognize_font_1_ayin+0x3e7>
jp     14e7 <ho_recognize_font_1_ayin+0x3e7>
jmp    14fd <ho_recognize_font_1_ayin+0x3fd>
movsd  -0x10(%rbp),%xmm0
movsd  0xb1c(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x50(%rax),%xmm0
movsd  0xb0a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    152e <ho_recognize_font_1_ayin+0x42e>
movsd  -0x10(%rbp),%xmm0
movsd  0xaeb(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xade(%rip),%xmm0
ucomisd 0x60(%rax),%xmm0
jbe    155b <ho_recognize_font_1_ayin+0x45b>
movsd  -0x10(%rbp),%xmm0
movsd  0xaae(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x58(%rax),%xmm0
movsd  0xac4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    158c <ho_recognize_font_1_ayin+0x48c>
movsd  -0x10(%rbp),%xmm0
movsd  0xa7d(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm0
movsd  0xa9b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    15bd <ho_recognize_font_1_ayin+0x4bd>
movsd  -0x10(%rbp),%xmm0
movsd  0xa5c(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x40(%rax),%xmm0
movsd  0xa72(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    15ee <ho_recognize_font_1_ayin+0x4ee>
movsd  -0x10(%rbp),%xmm0
movsd  0xa2b(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xa1e(%rip),%xmm0
ucomisd 0x8(%rax),%xmm0
jbe    161b <ho_recognize_font_1_ayin+0x51b>
movsd  -0x10(%rbp),%xmm0
movsd  0x9fe(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movsd  0xa21(%rip),%xmm0
ucomisd (%rax),%xmm0
jbe    1647 <ho_recognize_font_1_ayin+0x547>
movsd  -0x10(%rbp),%xmm0
movsd  0x9d2(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<ho_recognize_font_1_ayin>:
xorpd  %xmm3,%xmm3
movsd  0x68(%rdi),%xmm0
cmpneqsd %xmm3,%xmm0
movsd  0xeea(%rip),%xmm2
andpd  %xmm2,%xmm0
movsd  0xd8(%rdi),%xmm4
cmpneqsd %xmm3,%xmm4
movapd %xmm4,%xmm1
andnpd %xmm0,%xmm1
addsd  %xmm2,%xmm0
andpd  %xmm0,%xmm4
orpd   %xmm1,%xmm4
movsd  0x50(%rdi),%xmm8
movsd  0x60(%rdi),%xmm0
movapd %xmm8,%xmm6
cmpltsd %xmm0,%xmm6
movapd %xmm6,%xmm5
andnpd %xmm4,%xmm5
addsd  %xmm2,%xmm4
andpd  %xmm4,%xmm6
orpd   %xmm5,%xmm6
movsd  0x160(%rdi),%xmm4
movapd %xmm4,%xmm5
cmpneqsd %xmm3,%xmm5
movapd %xmm5,%xmm7
andnpd %xmm6,%xmm7
addsd  %xmm2,%xmm6
andpd  %xmm6,%xmm5
orpd   %xmm7,%xmm5
movsd  0x130(%rdi),%xmm6
ucomisd %xmm3,%xmm6
jne    11a9 <ho_recognize_font_1_ayin+0xa9>
jp     11a9 <ho_recognize_font_1_ayin+0xa9>
movsd  0x138(%rdi),%xmm6
ucomisd %xmm3,%xmm6
jne    11a9 <ho_recognize_font_1_ayin+0xa9>
jnp    11b1 <ho_recognize_font_1_ayin+0xb1>
addsd  0xe4f(%rip),%xmm5
movapd %xmm5,%xmm6
addsd  %xmm2,%xmm6
xorpd  %xmm3,%xmm3
cmpneqsd %xmm3,%xmm4
andpd  %xmm4,%xmm6
andnpd %xmm5,%xmm4
orpd   %xmm6,%xmm4
movsd  0x38(%rdi),%xmm7
movsd  0x148(%rdi),%xmm5
addsd  0xe25(%rip),%xmm7
movapd %xmm4,%xmm6
addsd  %xmm2,%xmm6
cmpltsd %xmm0,%xmm7
movapd %xmm7,%xmm1
andnpd %xmm4,%xmm1
andpd  %xmm6,%xmm7
orpd   %xmm1,%xmm7
movsd  0x1b8(%rdi),%xmm6
movapd %xmm6,%xmm1
cmpneqsd %xmm3,%xmm1
movapd %xmm1,%xmm4
andnpd %xmm7,%xmm4
addsd  %xmm2,%xmm7
andpd  %xmm7,%xmm1
orpd   %xmm4,%xmm1
movsd  0x178(%rdi),%xmm2
cmpneqsd %xmm3,%xmm2
movapd %xmm2,%xmm4
andnpd %xmm1,%xmm4
addsd  0xdce(%rip),%xmm1
andpd  %xmm1,%xmm2
orpd   %xmm4,%xmm2
ucomisd %xmm3,%xmm5
jne    1262 <ho_recognize_font_1_ayin+0x162>
jp     1262 <ho_recognize_font_1_ayin+0x162>
movsd  0x150(%rdi),%xmm1
ucomisd %xmm3,%xmm1
jne    1262 <ho_recognize_font_1_ayin+0x162>
jnp    126a <ho_recognize_font_1_ayin+0x16a>
addsd  0xda6(%rip),%xmm2
movsd  0xda6(%rip),%xmm1
addsd  %xmm2,%xmm1
xorpd  %xmm3,%xmm3
movsd  0x88(%rdi),%xmm4
cmpneqsd %xmm3,%xmm4
andpd  %xmm4,%xmm1
andnpd %xmm2,%xmm4
orpd   %xmm1,%xmm4
movsd  0xd75(%rip),%xmm2
movsd  0x170(%rdi),%xmm1
cmpneqsd %xmm3,%xmm1
movapd %xmm1,%xmm7
andnpd %xmm4,%xmm7
addsd  %xmm2,%xmm4
andpd  %xmm4,%xmm1
orpd   %xmm7,%xmm1
cmpneqsd %xmm3,%xmm6
movapd %xmm6,%xmm4
andpd  %xmm1,%xmm4
addsd  %xmm2,%xmm1
andnpd %xmm1,%xmm6
orpd   %xmm4,%xmm6
movsd  0xd43(%rip),%xmm4
movapd %xmm6,%xmm1
addsd  %xmm4,%xmm1
cmpneqsd %xmm3,%xmm5
movapd %xmm5,%xmm7
andnpd %xmm6,%xmm7
andpd  %xmm1,%xmm5
orpd   %xmm7,%xmm5
movapd %xmm5,%xmm1
movapd %xmm0,%xmm6
cmpltsd 0xd1d(%rip),%xmm6
addsd  %xmm4,%xmm1
movapd %xmm6,%xmm7
andnpd %xmm5,%xmm7
andpd  %xmm1,%xmm6
orpd   %xmm7,%xmm6
movsd  0xd09(%rip),%xmm1
cmpltsd 0x48(%rdi),%xmm1
andpd  %xmm1,%xmm6
andnpd %xmm5,%xmm1
movsd  0xcfb(%rip),%xmm5
cmpltsd 0x20(%rdi),%xmm5
orpd   %xmm6,%xmm1
movapd %xmm5,%xmm6
andnpd %xmm1,%xmm6
addsd  %xmm2,%xmm1
andpd  %xmm1,%xmm5
orpd   %xmm6,%xmm5
cmpneqsd 0x228(%rdi),%xmm3
movapd %xmm3,%xmm1
andnpd %xmm5,%xmm1
addsd  %xmm2,%xmm5
andpd  %xmm5,%xmm3
orpd   %xmm1,%xmm3
movsd  0xcc0(%rip),%xmm5
cmpltsd %xmm5,%xmm0
movsd  0x8(%rdi),%xmm1
cmpltsd %xmm5,%xmm1
cmpltsd %xmm8,%xmm5
movapd %xmm5,%xmm6
andnpd %xmm3,%xmm6
addsd  %xmm2,%xmm3
andpd  %xmm3,%xmm5
orpd   %xmm6,%xmm5
movapd %xmm0,%xmm3
andnpd %xmm5,%xmm3
addsd  %xmm4,%xmm5
andpd  %xmm5,%xmm0
orpd   %xmm3,%xmm0
movapd %xmm0,%xmm3
addsd  %xmm4,%xmm3
movsd  0xc7b(%rip),%xmm4
cmpltsd 0x58(%rdi),%xmm4
movapd %xmm4,%xmm5
andnpd %xmm0,%xmm5
andpd  %xmm3,%xmm4
orpd   %xmm5,%xmm4
movsd  0xc65(%rip),%xmm0
cmpltsd 0x18(%rdi),%xmm0
movapd %xmm0,%xmm3
andnpd %xmm4,%xmm3
addsd  %xmm2,%xmm4
andpd  %xmm4,%xmm0
movsd  0xc4f(%rip),%xmm4
cmpltsd 0x40(%rdi),%xmm4
orpd   %xmm3,%xmm0
movapd %xmm4,%xmm3
andnpd %xmm0,%xmm3
addsd  %xmm2,%xmm0
andpd  %xmm0,%xmm4
orpd   %xmm3,%xmm4
movsd  (%rdi),%xmm0
movapd %xmm1,%xmm3
andnpd %xmm4,%xmm3
addsd  %xmm2,%xmm4
andpd  %xmm4,%xmm1
orpd   %xmm3,%xmm1
cmpltsd 0xc18(%rip),%xmm0
movapd %xmm0,%xmm3
andnpd %xmm1,%xmm3
addsd  %xmm2,%xmm1
andpd  %xmm1,%xmm0
orpd   %xmm3,%xmm0
ret

LLVM IR (-O0):
define double @ho_recognize_font_1_ayin(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 13
%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 27
%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 10
%22 = load double, double* %21
%23 = load double*, double** %2
%24 = getelementptr inbounds double, double* %23, i64 12
%25 = load double, double* %24
%26 = fcmp olt double %22, %25
br i1 %26, label %27, label %30
27: ; preds = %19
%28 = load double, double* %3
%29 = fadd double %28, 1.000000e-01
store double %29, double* %3
br label %30
30: ; preds = %27, %19
%31 = load double*, double** %2
%32 = getelementptr inbounds double, double* %31, i64 44
%33 = load double, double* %32
%34 = fcmp une double %33, 0.000000e+00
br i1 %34, label %35, label %38
35: ; preds = %30
%36 = load double, double* %3
%37 = fadd double %36, 1.000000e-01
store double %37, double* %3
br label %38
38: ; preds = %35, %30
%39 = load double*, double** %2
%40 = getelementptr inbounds double, double* %39, i64 38
%41 = load double, double* %40
%42 = fcmp une double %41, 0.000000e+00
br i1 %42, label %48, label %43
43: ; preds = %38
%44 = load double*, double** %2
%45 = getelementptr inbounds double, double* %44, i64 39
%46 = load double, double* %45
%47 = fcmp une double %46, 0.000000e+00
br i1 %47, label %48, label %51
48: ; preds = %43, %38
%49 = load double, double* %3
%50 = fadd double %49, 1.000000e-01
store double %50, double* %3
br label %51
51: ; preds = %48, %43
%52 = load double*, double** %2
%53 = getelementptr inbounds double, double* %52, i64 44
%54 = load double, double* %53
%55 = fcmp une double %54, 0.000000e+00
br i1 %55, label %56, label %59
56: ; preds = %51
%57 = load double, double* %3
%58 = fadd double %57, 1.000000e-01
store double %58, double* %3
br label %59
59: ; preds = %56, %51
%60 = load double*, double** %2
%61 = getelementptr inbounds double, double* %60, i64 7
%62 = load double, double* %61
%63 = fadd double %62, 1.500000e-01
%64 = load double*, double** %2
%65 = getelementptr inbounds double, double* %64, i64 12
%66 = load double, double* %65
%67 = fcmp olt double %63, %66
br i1 %67, label %68, label %71
68: ; preds = %59
%69 = load double, double* %3
%70 = fadd double %69, 1.000000e-01
store double %70, double* %3
br label %71
71: ; preds = %68, %59
%72 = load double*, double** %2
%73 = getelementptr inbounds double, double* %72, i64 55
%74 = load double, double* %73
%75 = fcmp une double %74, 0.000000e+00
br i1 %75, label %76, label %79
76: ; preds = %71
%77 = load double, double* %3
%78 = fadd 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 47
%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 41
%90 = load double, double* %89
%91 = fcmp une double %90, 0.000000e+00
br i1 %91, label %97, label %92
92: ; preds = %87
%93 = load double*, double** %2
%94 = getelementptr inbounds double, double* %93, i64 42
%95 = load double, double* %94
%96 = fcmp une double %95, 0.000000e+00
br i1 %96, label %97, label %100
97: ; preds = %92, %87
%98 = load double, double* %3
%99 = fsub double %98, 2.000000e-01
store double %99, double* %3
br label %100
100: ; preds = %97, %92
%101 = load double*, double** %2
%102 = getelementptr inbounds double, double* %101, i64 17
%103 = load double, double* %102
%104 = fcmp une double %103, 0.000000e+00
br i1 %104, label %105, label %108
105: ; preds = %100
%106 = load double, double* %3
%107 = fsub double %106, 3.000000e-01
store double %107, double* %3
br label %108
108: ; preds = %105, %100
%109 = load double*, double** %2
%110 = getelementptr inbounds double, double* %109, i64 46
%111 = load double, double* %110
%112 = fcmp une double %111, 0.000000e+00
br i1 %112, label %113, label %116
113: ; preds = %108
%114 = load double, double* %3
%115 = fsub double %114, 2.000000e-01
store double %115, double* %3
br label %116
116: ; preds = %113, %108
%117 = load double*, double** %2
%118 = getelementptr inbounds double, double* %117, i64 55
%119 = load double, double* %118
%120 = fcmp une double %119, 0.000000e+00
br i1 %120, label %124, label %121
121: ; preds = %116
%122 = load double, double* %3
%123 = fsub double %122, 2.000000e-01
store double %123, double* %3
br label %124
124: ; preds = %121, %116
%125 = load double*, double** %2
%126 = getelementptr inbounds double, double* %125, i64 41
%127 = load double, double* %126
%128 = fcmp une double %127, 0.000000e+00
br i1 %128, label %129, label %132
129: ; preds = %124
%130 = load double, double* %3
%131 = fsub double %130, 1.000000e-01
store double %131, double* %3
br label %132
132: ; preds = %129, %124
%133 = load double*, double** %2
%134 = getelementptr inbounds double, double* %133, i64 9
%135 = load double, double* %134
%136 = fcmp ogt double %135, 5.100000e-01
br i1 %136, label %137, label %145
137: ; preds = %132
%138 = load double*, double** %2
%139 = getelementptr inbounds double, double* %138, i64 12
%140 = load double, double* %139
%141 = fcmp olt double %140, 2.000000e-01
br i1 %141, label %142, label %145
142: ; preds = %137
%143 = load double, double* %3
%144 = fsub double %143, 1.000000e-01
store double %144, double* %3
br label %145
145: ; preds = %142, %137, %132
%146 = load double*, double** %2
%147 = getelementptr inbounds double, double* %146, i64 4
%148 = load double, double* %147
%149 = fcmp ogt double %148, 5.500000e-01
br i1 %149, label %150, label %153
150: ; preds = %145
%151 = load double, double* %3
%152 = fsub double %151, 2.000000e-01
store double %152, double* %3
br label %153
153: ; preds = %150, %145
%154 = load double*, double** %2
%155 = getelementptr inbounds double, double* %154, i64 69
%156 = load double, double* %155
%157 = fcmp une double %156, 0.000000e+00
br i1 %157, label %158, label %161
158: ; preds = %153
%159 = load double, double* %3
%160 = fsub double %159, 2.000000e-01
store double %160, double* %3
br label %161
161: ; preds = %158, %153
%162 = load double*, double** %2
%163 = getelementptr inbounds double, double* %162, i64 10
%164 = load double, double* %163
%165 = fcmp ogt double %164, 3.000000e-01
br i1 %165, label %166, label %169
166: ; preds = %161
%167 = load double, double* %3
%168 = fsub double %167, 2.000000e-01
store double %168, double* %3
br label %169
169: ; preds = %166, %161
%170 = load double*, double** %2
%171 = getelementptr inbounds double, double* %170, i64 12
%172 = load double, double* %171
%173 = fcmp olt double %172, 3.000000e-01
br i1 %173, label %174, label %177
174: ; preds = %169
%175 = load double, double* %3
%176 = fsub double %175, 1.000000e-01
store double %176, double* %3
br label %177
177: ; preds = %174, %169
%178 = load double*, double** %2
%179 = getelementptr inbounds double, double* %178, i64 11
%180 = load double, double* %179
%181 = fcmp ogt double %180, 8.500000e-01
br i1 %181, label %182, label %185
182: ; preds = %177
%183 = load double, double* %3
%184 = fsub double %183, 1.000000e-01
store double %184, double* %3
br label %185
185: ; preds = %182, %177
%186 = load double*, double** %2
%187 = getelementptr inbounds double, double* %186, i64 3
%188 = load double, double* %187
%189 = fcmp ogt double %188, 5.600000e-01
br i1 %189, label %190, label %193
190: ; preds = %185
%191 = load double, double* %3
%192 = fsub double %191, 2.000000e-01
store double %192, double* %3
br label %193
193: ; preds = %190, %185
%194 = load double*, double** %2
%195 = getelementptr inbounds double, double* %194, i64 8
%196 = load double, double* %195
%197 = fcmp ogt double %196, 9.000000e-01
br i1 %197, label %198, label %201
198: ; preds = %193
%199 = load double, double* %3
%200 = fsub double %199, 2.000000e-01
store double %200, double* %3
br label %201
201: ; preds = %198, %193
%202 = load double*, double** %2
%203 = getelementptr inbounds double, double* %202, i64 1
%204 = load double, double* %203
%205 = fcmp olt double %204, 3.000000e-01
br i1 %205, label %206, label %209
206: ; preds = %201
%207 = load double, double* %3
%208 = fsub double %207, 2.000000e-01
store double %208, double* %3
br label %209
209: ; preds = %206, %201
%210 = load double*, double** %2
%211 = getelementptr inbounds double, double* %210, i64 0
%212 = load double, double* %211
%213 = fcmp olt double %212, 3.500000e-01
br i1 %213, label %214, label %217
214: ; preds = %209
%215 = load double, double* %3
%216 = fsub double %215, 2.000000e-01
store double %216, double* %3
br label %217
217: ; preds = %214, %209
%218 = load double, double* %3
ret double %218
}

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