#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*/ ANN(int, float, float *, float *, float *, float *, float *);
int /*<<< orphan*/ BPA(int, int, float, float *, float *, float *, float *,
                       float *);
scalar_t__ malloc(int);
double pow(int, int);
int /*<<< orphan*/ printf(char *, float);
int main() {
  double pi = pow(2, -24) + pow(2, -23);
  printf("Hello from Nios II! %e\n", pi);
  int N = 10;
  int N_dat = 102;
  int c = 0;
  float *w_ji;
  float *w_kj;
  float *y_pj;
  float *b;
  float *y_pk;
  y_pj = (float *)malloc(N * sizeof(float));
  w_ji = (float *)malloc(N * sizeof(float));
  ;
  w_kj = (float *)malloc(N * sizeof(float));
  ;
  b = (float *)malloc(1 * sizeof(float));
  y_pk = (float *)malloc(1 * sizeof(float));
  float In[192] = {
      11.800009, 16.400026, 17.400030, 16.400026, 12.600012, 16.200026,
      1.800000,  13.600016, 14.200018, 15.000021, 30.400080, 17.200029,
      13.400015, 17.800032, 15.200022, 13.600016, 13.200014, 13.600016,
      14.000017, 13.600016, 14.200018, 17.000029, 8.999998,  11.400007,
      13.600016, 13.600016, 29.000074, 13.600016, 32.800072, 17.800032,
      13.600016, 11.400007, 11.600008, 8.999998,  11.800009, 16.400026,
      13.600016, 8.999998,  13.600016, 11.200006, 21.200045, 14.000017,
      20.000040, 14.000017, 2.000000,  32.000084, 32.000084, 32.200081,
      27.600069, 26.000063, 1.800000,  1.800000,  17.000029, 1.800000,
      25.400061, 12.200010, 1.800000,  14.200018, 16.400026, 11.800009,
      13.600016, 13.600016, 13.400015, 1.800000,  11.800009, 44.799889,
      13.600016, 16.600027, 11.200006, 1.800000,  14.200018, 24.200056,
      32.200081, 1.800000,  32.200081, 16.200026, 13.800016, 33.200066,
      13.600016, 16.400026, 35.000038, 14.200018, 13.600016, 16.400026,
      1.800000,  11.800009, 12.200010, 12.200010, 15.000021, 1.800000,
      17.000029, 16.800028, 13.600016, 1.800000,  1.800000,  17.200029,
      32.200081, 13.800016, 14.200018, 13.600016, 14.200018, 16.400026,
      17.200029, 32.400078, 12.200010, 1.800000,  1.800000,  11.600008,
      13.600016, 13.600016, 11.000006, 13.600016, 32.600075, 32.400078,
      1.800000,  14.200018, 2.000000,  11.600008, 1.800000,  13.600016,
      32.000084, 17.200029, 13.600016, 39.399971, 14.000017, 2.000000,
      33.200066, 15.000021, 14.000017, 11.600008, 32.200081, 13.400015,
      1.800000,  33.600060, 19.600039, 1.800000,  14.200018, 17.400030,
      17.200029, 13.600016, 17.200029, 17.200029, 14.200018, 13.600016,
      14.400019, 16.400026, 17.200029, 16.600027, 16.400026, 13.800016,
      13.600016, 6.999996,  17.200029, 16.400026, 32.200081, 17.200029,
      16.400026, 14.000017, 2.000000,  16.400026, 17.600031, 32.600075,
      13.800016, 17.600031, 20.600042, 21.000044, 2.000000,  14.000017,
      15.000021, 13.600016, 17.400030, 14.000017, 20.600042, 15.000021,
      11.000006, 9.199999,  13.600016, 12.200010, 14.200018, 14.200018,
      13.600016, 14.200018, 32.200081, 23.800055, 13.400015, 32.200081,
      17.200029, 14.200018, 13.600016, 17.600031, 17.200029, 20.800043};
  float d_pk[192];
  for (c = 0; c < 192; c++) {
    if (In[c] < 11.6)
      d_pk[c] = -1;
    else
      d_pk[c] = 1;
  }
  float eta = 0.0000002;
  BPA(N, N_dat, eta, In, d_pk, w_ji, w_kj, b);
  int c2 = 0;
  for (c2 = 0; c2 < 192; c2++) {
    printf("%f \t", In[c2]);
    ANN(N, In[c2], w_ji, w_kj, b, y_pj, y_pk);
    printf("%f \t", *y_pk);
    printf("%f \n", d_pk[c2]);
  }
  c = 0;
  for (c = 0; c < N; c++) {
    printf(" %f \t", w_ji[c]);
    printf("%f \n", w_kj[c]);
  }
  printf("b= %f \n", *b);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x670,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x2,%edi
mov    $0xffffffe8,%esi
call   1070 <pow@plt>
movsd  %xmm0,-0x660(%rbp)
ff
mov    $0x2,%edi
mov    $0xffffffe9,%esi
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x660(%rbp),%xmm0
ff
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  -0x10(%rbp),%xmm0
cvtsd2ss %xmm0,%xmm0
lea    0xe5c(%rip),%rdi
call   1040 <printf@plt>
movl   $0xa,-0x14(%rbp)
movl   $0x66,-0x18(%rbp)
movl   $0x0,-0x1c(%rbp)
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1060 <malloc@plt>
mov    %rax,-0x38(%rbp)
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1060 <malloc@plt>
mov    %rax,-0x28(%rbp)
movslq -0x14(%rbp),%rax
shl    $0x2,%rax
mov    %eax,%edi
call   1060 <malloc@plt>
mov    %rax,-0x30(%rbp)
mov    $0x4,%edi
call   1060 <malloc@plt>
mov    %rax,-0x40(%rbp)
mov    $0x4,%edi
call   1060 <malloc@plt>
mov    %rax,-0x48(%rbp)
lea    -0x350(%rbp),%rdi
lea    0xe07(%rip),%rsi
mov    $0x300,%edx
call   1050 <memcpy@plt>
movl   $0x0,-0x1c(%rbp)
cmpl   $0xc0,-0x1c(%rbp)
jge    12bc <main+0x15c>
movslq -0x1c(%rbp),%rax
movss  -0x350(%rbp,%rax,4),%xmm0
ff ff
cvtss2sd %xmm0,%xmm1
movsd  0xda0(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    1294 <main+0x134>
movslq -0x1c(%rbp),%rax
movss  0xd82(%rip),%xmm0
movss  %xmm0,-0x650(%rbp,%rax,4)
ff ff
jmp    12a9 <main+0x149>
movslq -0x1c(%rbp),%rax
movss  0xd64(%rip),%xmm0
movss  %xmm0,-0x650(%rbp,%rax,4)
ff ff
jmp    12ae <main+0x14e>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    124a <main+0xea>
movss  0xd3c(%rip),%xmm0
movss  %xmm0,-0x654(%rbp)
ff
mov    -0x14(%rbp),%edi
mov    -0x18(%rbp),%esi
movss  -0x654(%rbp),%xmm0
ff
lea    -0x350(%rbp),%rdx
lea    -0x650(%rbp),%rcx
mov    -0x28(%rbp),%r8
mov    -0x30(%rbp),%r9
mov    -0x40(%rbp),%rax
mov    %rax,(%rsp)
call   1080 <BPA@plt>
movl   $0x0,-0x658(%rbp)
movl   $0x0,-0x658(%rbp)
cmpl   $0xc0,-0x658(%rbp)
jge    13ad <main+0x24d>
movslq -0x658(%rbp),%rax
movss  -0x350(%rbp,%rax,4),%xmm0
ff ff
lea    0xcf9(%rip),%rdi
call   1040 <printf@plt>
mov    -0x14(%rbp),%edi
movslq -0x658(%rbp),%rax
movss  -0x350(%rbp,%rax,4),%xmm0
ff ff
mov    -0x28(%rbp),%rsi
mov    -0x30(%rbp),%rdx
mov    -0x40(%rbp),%rcx
mov    -0x38(%rbp),%r8
mov    -0x48(%rbp),%r9
call   1030 <ANN@plt>
mov    -0x48(%rbp),%rax
movss  (%rax),%xmm0
lea    0xcb9(%rip),%rdi
call   1040 <printf@plt>
movslq -0x658(%rbp),%rax
movss  -0x650(%rbp,%rax,4),%xmm0
ff ff
lea    0xca5(%rip),%rdi
call   1040 <printf@plt>
mov    -0x658(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x658(%rbp)
jmp    1311 <main+0x1b1>
movl   $0x0,-0x1c(%rbp)
movl   $0x0,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1407 <main+0x2a7>
mov    -0x28(%rbp),%rax
movslq -0x1c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
lea    0xc55(%rip),%rdi
call   1040 <printf@plt>
mov    -0x30(%rbp),%rax
movslq -0x1c(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
lea    0xc45(%rip),%rdi
call   1040 <printf@plt>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    13bb <main+0x25b>
mov    -0x40(%rbp),%rax
movss  (%rax),%xmm0
lea    0xc20(%rip),%rdi
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x670,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x618,%rsp
mov    $0x2,%edi
mov    $0xffffffe8,%esi
call   1070 <pow@plt>
movsd  %xmm0,0x8(%rsp)
mov    $0x2,%edi
mov    $0xffffffe9,%esi
call   1070 <pow@plt>
addsd  0x8(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
lea    0xe9e(%rip),%rdi
call   1040 <printf@plt>
mov    $0x28,%edi
call   1060 <malloc@plt>
mov    %rax,%r12
mov    $0x28,%edi
call   1060 <malloc@plt>
mov    %rax,%r15
mov    $0x28,%edi
call   1060 <malloc@plt>
mov    %rax,%r13
mov    $0x4,%edi
call   1060 <malloc@plt>
mov    %rax,%rbp
mov    $0x4,%edi
call   1060 <malloc@plt>
mov    %rax,%rbx
lea    0xe7d(%rip),%rsi
lea    0x10(%rsp),%rdi
mov    $0x300,%edx
call   1050 <memcpy@plt>
movl   $0x3f800000,0x310(%rsp)
mov    $0xd,%eax
movapd 0xde6(%rip),%xmm0
movaps 0xdef(%rip),%xmm1
movaps 0xdf8(%rip),%xmm2
nopl   0x0(%rax,%rax,1)
cvtps2pd -0x20(%rsp,%rax,4),%xmm3
cvtps2pd -0x18(%rsp,%rax,4),%xmm4
cvtps2pd -0x10(%rsp,%rax,4),%xmm5
cvtps2pd -0x8(%rsp,%rax,4),%xmm6
cmpltpd %xmm0,%xmm4
cmpltpd %xmm0,%xmm3
shufps $0x88,%xmm4,%xmm3
cmpltpd %xmm0,%xmm6
cmpltpd %xmm0,%xmm5
shufps $0x88,%xmm6,%xmm5
movaps %xmm2,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
movaps %xmm2,%xmm4
andps  %xmm5,%xmm4
andnps %xmm1,%xmm5
orps   %xmm4,%xmm5
movups %xmm3,0x2e0(%rsp,%rax,4)
movups %xmm5,0x2f0(%rsp,%rax,4)
cmp    $0xbd,%rax
je     12f0 <main+0x190>
cvtps2pd (%rsp,%rax,4),%xmm3
cvtps2pd 0x8(%rsp,%rax,4),%xmm4
cvtps2pd 0x10(%rsp,%rax,4),%xmm5
cvtps2pd 0x18(%rsp,%rax,4),%xmm6
cmpltpd %xmm0,%xmm4
cmpltpd %xmm0,%xmm3
shufps $0x88,%xmm4,%xmm3
cmpltpd %xmm0,%xmm6
cmpltpd %xmm0,%xmm5
shufps $0x88,%xmm6,%xmm5
movaps %xmm2,%xmm4
andps  %xmm3,%xmm4
andnps %xmm1,%xmm3
orps   %xmm4,%xmm3
movaps %xmm2,%xmm4
andps  %xmm5,%xmm4
andnps %xmm1,%xmm5
orps   %xmm4,%xmm5
movups %xmm3,0x300(%rsp,%rax,4)
movups %xmm5,0x310(%rsp,%rax,4)
add    $0x10,%rax
jmp    1230 <main+0xd0>
movss  0x2f4(%rsp),%xmm0
movss  0x2f8(%rsp),%xmm3
cvtss2sd %xmm0,%xmm0
movsd  0xd22(%rip),%xmm2
ucomisd %xmm0,%xmm2
movss  0xd1e(%rip),%xmm0
movss  0xd1a(%rip),%xmm1
movaps %xmm0,%xmm4
ja     132a <main+0x1ca>
movaps %xmm1,%xmm4
movss  %xmm4,0x5f4(%rsp)
cvtss2sd %xmm3,%xmm3
ucomisd %xmm3,%xmm2
movaps %xmm0,%xmm3
ja     1343 <main+0x1e3>
movaps %xmm1,%xmm3
movss  %xmm3,0x5f8(%rsp)
movss  0x2fc(%rsp),%xmm3
cvtss2sd %xmm3,%xmm3
ucomisd %xmm3,%xmm2
movaps %xmm0,%xmm3
ja     1365 <main+0x205>
movaps %xmm1,%xmm3
movss  %xmm3,0x5fc(%rsp)
movss  0x300(%rsp),%xmm3
cvtss2sd %xmm3,%xmm3
ucomisd %xmm3,%xmm2
movaps %xmm0,%xmm3
ja     1387 <main+0x227>
movaps %xmm1,%xmm3
movss  %xmm3,0x600(%rsp)
movss  0x304(%rsp),%xmm3
cvtss2sd %xmm3,%xmm3
ucomisd %xmm3,%xmm2
movaps %xmm0,%xmm3
ja     13a9 <main+0x249>
movaps %xmm1,%xmm3
movss  %xmm3,0x604(%rsp)
movss  0x308(%rsp),%xmm3
cvtss2sd %xmm3,%xmm3
ucomisd %xmm3,%xmm2
movaps %xmm0,%xmm3
ja     13cb <main+0x26b>
movaps %xmm1,%xmm3
movss  %xmm3,0x608(%rsp)
movss  0x30c(%rsp),%xmm3
cvtss2sd %xmm3,%xmm3
ucomisd %xmm3,%xmm2
ja     13ea <main+0x28a>
movaps %xmm1,%xmm0
movss  %xmm0,0x60c(%rsp)
mov    %rbp,(%rsp)
movss  0xc41(%rip),%xmm0
lea    0x10(%rsp),%rdx
lea    0x310(%rsp),%rcx
mov    $0xa,%edi
mov    $0x66,%esi
mov    %r15,%r8
mov    %r13,%r9
call   1080 <BPA@plt>
mov    %rbp,%rax
xor    %r14d,%r14d
lea    0xc2f(%rip),%rbp
mov    %rax,0x8(%rsp)
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movss  0x10(%rsp,%r14,4),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x10(%rsp,%r14,4),%xmm0
mov    $0xa,%edi
mov    %r15,%rsi
mov    %r13,%rdx
mov    0x8(%rsp),%rcx
mov    %r12,%r8
mov    %rbx,%r9
call   1030 <ANN@plt>
movss  (%rbx),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x310(%rsp,%r14,4),%xmm0
lea    0xbd7(%rip),%rdi
call   1040 <printf@plt>
add    $0x1,%r14
cmp    $0xc0,%r14
jne    1440 <main+0x2e0>
movss  (%r15),%xmm0
lea    0xbb0(%rip),%rbp
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x0(%r13),%xmm0
lea    0xba4(%rip),%rbx
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x4(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x4(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x8(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x8(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0xc(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0xc(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x10(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x10(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x14(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x14(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x18(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x18(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x1c(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x1c(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x20(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x20(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
movss  0x24(%r15),%xmm0
mov    %rbp,%rdi
call   1040 <printf@plt>
movss  0x24(%r13),%xmm0
mov    %rbx,%rdi
call   1040 <printf@plt>
mov    0x8(%rsp),%rax
movss  (%rax),%xmm0
lea    0xa8d(%rip),%rdi
call   1040 <printf@plt>
xor    %eax,%eax
add    $0x618,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [24 x i8] c"Hello from Nios II! %e\0A\00"
@__const.main.In = [192 x float] [float 0x4027999AC0000000, float 0x4030666820000000, float 0x4031666860000000, float 0x4030666820000000, float 0x40293334C0000000, float 0x40303334E0000000, float 0x3FFCCCCCC0000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x402E0002C0000000, float 0x403E666BA0000000, float 0x4031333520000000, float 0x402ACCCEC0000000, float 0x4031CCCEE0000000, float 0x402E666940000000, float 0x402B333540000000, float 0x402A666840000000, float 0x402B333540000000, float 0x402C000240000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x40310001E0000000, float 0x4021FFFFC0000000, float 0x4026CCCDC0000000, float 0x402B333540000000, float 0x402B333540000000, float 0x403D0004E0000000, float 0x402B333540000000, float 0x40406668C0000000, float 0x4031CCCEE0000000, float 0x402B333540000000, float 0x4026CCCDC0000000, float 0x4027333440000000, float 0x4021FFFFC0000000, float 0x4027999AC0000000, float 0x4030666820000000, float 0x402B333540000000, float 0x4021FFFFC0000000, float 0x402B333540000000, float 0x4026666720000000, float 0x4035333620000000, float 0x402C000240000000, float 0x40340002A0000000, float 0x402C000240000000, float 2.000000e+00, float 0x40400002C0000000, float 0x40400002C0000000, float 0x4040199C40000000, float 0x403B999E20000000, float 0x403A000420000000, float 0x3FFCCCCCC0000000, float 0x3FFCCCCCC0000000, float 0x40310001E0000000, float 0x3FFCCCCCC0000000, float 0x4039666A60000000, float 0x40286667C0000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 0x4030666820000000, float 0x4027999AC0000000, float 0x402B333540000000, float 0x402B333540000000, float 0x402ACCCEC0000000, float 0x3FFCCCCCC0000000, float 0x4027999AC0000000, float 0x40466662C0000000, float 0x402B333540000000, float 0x4030999B60000000, float 0x4026666720000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 0x40383336E0000000, float 0x4040199C40000000, float 0x3FFCCCCCC0000000, float 0x4040199C40000000, float 0x40303334E0000000, float 0x402B999BC0000000, float 0x4040999BC0000000, float 0x402B333540000000, float 0x4030666820000000, float 0x4041800140000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x4030666820000000, float 0x3FFCCCCCC0000000, float 0x4027999AC0000000, float 0x40286667C0000000, float 0x40286667C0000000, float 0x402E0002C0000000, float 0x3FFCCCCCC0000000, float 0x40310001E0000000, float 0x4030CCCEA0000000, float 0x402B333540000000, float 0x3FFCCCCCC0000000, float 0x3FFCCCCCC0000000, float 0x4031333520000000, float 0x4040199C40000000, float 0x402B999BC0000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x4030666820000000, float 0x4031333520000000, float 0x40403335C0000000, float 0x40286667C0000000, float 0x3FFCCCCCC0000000, float 0x3FFCCCCCC0000000, float 0x4027333440000000, float 0x402B333540000000, float 0x402B333540000000, float 0x40260000C0000000, float 0x402B333540000000, float 0x40404CCF40000000, float 0x40403335C0000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 2.000000e+00, float 0x4027333440000000, float 0x3FFCCCCCC0000000, float 0x402B333540000000, float 0x40400002C0000000, float 0x4031333520000000, float 0x402B333540000000, float 0x4043B33240000000, float 0x402C000240000000, float 2.000000e+00, float 0x4040999BC0000000, float 0x402E0002C0000000, float 0x402C000240000000, float 0x4027333440000000, float 0x4040199C40000000, float 0x402ACCCEC0000000, float 0x3FFCCCCCC0000000, float 0x4040CCCEC0000000, float 0x4033999C20000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 0x4031666860000000, float 0x4031333520000000, float 0x402B333540000000, float 0x4031333520000000, float 0x4031333520000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x402CCCCF40000000, float 0x4030666820000000, float 0x4031333520000000, float 0x4030999B60000000, float 0x4030666820000000, float 0x402B999BC0000000, float 0x402B333540000000, float 0x401BFFFF00000000, float 0x4031333520000000, float 0x4030666820000000, float 0x4040199C40000000, float 0x4031333520000000, float 0x4030666820000000, float 0x402C000240000000, float 2.000000e+00, float 0x4030666820000000, float 0x4031999BA0000000, float 0x40404CCF40000000, float 0x402B999BC0000000, float 0x4031999BA0000000, float 0x4034999C60000000, float 0x40350002E0000000, float 2.000000e+00, float 0x402C000240000000, float 0x402E0002C0000000, float 0x402B333540000000, float 0x4031666860000000, float 0x402C000240000000, float 0x4034999C60000000, float 0x402E0002C0000000, float 0x40260000C0000000, float 0x4022666640000000, float 0x402B333540000000, float 0x40286667C0000000, float 0x402C6668C0000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x4040199C40000000, float 0x4037CCD060000000, float 0x402ACCCEC0000000, float 0x4040199C40000000, float 0x4031333520000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x4031999BA0000000, float 0x4031333520000000, float 0x4034CCCFA0000000]
@.str.1 = [5 x i8] c"%f \09\00"
@.str.2 = [5 x i8] c"%f \0A\00"
@.str.3 = [6 x i8] c" %f \09\00"
@.str.4 = [8 x i8] c"b= %f \0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca double
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca float*
%7 = alloca float*
%8 = alloca float*
%9 = alloca float*
%10 = alloca float*
%11 = alloca [192 x float]
%12 = alloca [192 x float]
%13 = alloca float
%14 = alloca i32
store i32 0, i32* %1
%15 = call double @pow(i32 2, i32 -24)
%16 = call double @pow(i32 2, i32 -23)
%17 = fadd double %15, %16
store double %17, double* %2
%18 = load double, double* %2
%19 = fptrunc double %18 to float
%20 = call i32 @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str, i64 0, i64 0), float %19)
store i32 10, i32* %3
store i32 102, i32* %4
store i32 0, i32* %5
%21 = load i32, i32* %3
%22 = sext i32 %21 to i64
%23 = mul i64 %22, 4
%24 = trunc i64 %23 to i32
%25 = call i64 @malloc(i32 %24)
%26 = inttoptr i64 %25 to float*
store float* %26, float** %8
%27 = load i32, i32* %3
%28 = sext i32 %27 to i64
%29 = mul i64 %28, 4
%30 = trunc i64 %29 to i32
%31 = call i64 @malloc(i32 %30)
%32 = inttoptr i64 %31 to float*
store float* %32, float** %6
%33 = load i32, i32* %3
%34 = sext i32 %33 to i64
%35 = mul i64 %34, 4
%36 = trunc i64 %35 to i32
%37 = call i64 @malloc(i32 %36)
%38 = inttoptr i64 %37 to float*
store float* %38, float** %7
%39 = call i64 @malloc(i32 4)
%40 = inttoptr i64 %39 to float*
store float* %40, float** %9
%41 = call i64 @malloc(i32 4)
%42 = inttoptr i64 %41 to float*
store float* %42, float** %10
%43 = bitcast [192 x float]* %11 to i8*
store i32 0, i32* %5
br label %44
44: ; preds = %63, %0
%45 = load i32, i32* %5
%46 = icmp slt i32 %45, 192
br i1 %46, label %47, label %66
47: ; preds = %44
%48 = load i32, i32* %5
%49 = sext i32 %48 to i64
%50 = getelementptr inbounds [192 x float], [192 x float]* %11, i64 0, i64 %49
%51 = load float, float* %50
%52 = fpext float %51 to double
%53 = fcmp olt double %52, 1.160000e+01
br i1 %53, label %54, label %58
54: ; preds = %47
%55 = load i32, i32* %5
%56 = sext i32 %55 to i64
%57 = getelementptr inbounds [192 x float], [192 x float]* %12, i64 0, i64 %56
store float -1.000000e+00, float* %57
br label %62
58: ; preds = %47
%59 = load i32, i32* %5
%60 = sext i32 %59 to i64
%61 = getelementptr inbounds [192 x float], [192 x float]* %12, i64 0, i64 %60
store float 1.000000e+00, float* %61
br label %62
62: ; preds = %58, %54
br label %63
63: ; preds = %62
%64 = load i32, i32* %5
%65 = add nsw i32 %64, 1
store i32 %65, i32* %5
br label %44
66: ; preds = %44
store float 0x3E8AD7F2A0000000, float* %13
%67 = load i32, i32* %3
%68 = load i32, i32* %4
%69 = load float, float* %13
%70 = getelementptr inbounds [192 x float], [192 x float]* %11, i64 0, i64 0
%71 = getelementptr inbounds [192 x float], [192 x float]* %12, i64 0, i64 0
%72 = load float*, float** %6
%73 = load float*, float** %7
%74 = load float*, float** %9
%75 = call i32 @BPA(i32 %67, i32 %68, float %69, float* %70, float* %71, float* %72, float* %73, float* %74)
store i32 0, i32* %14
store i32 0, i32* %14
br label %76
76: ; preds = %104, %66
%77 = load i32, i32* %14
%78 = icmp slt i32 %77, 192
br i1 %78, label %79, label %107
79: ; preds = %76
%80 = load i32, i32* %14
%81 = sext i32 %80 to i64
%82 = getelementptr inbounds [192 x float], [192 x float]* %11, i64 0, i64 %81
%83 = load float, float* %82
%84 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), float %83)
%85 = load i32, i32* %3
%86 = load i32, i32* %14
%87 = sext i32 %86 to i64
%88 = getelementptr inbounds [192 x float], [192 x float]* %11, i64 0, i64 %87
%89 = load float, float* %88
%90 = load float*, float** %6
%91 = load float*, float** %7
%92 = load float*, float** %9
%93 = load float*, float** %8
%94 = load float*, float** %10
%95 = call i32 @ANN(i32 %85, float %89, float* %90, float* %91, float* %92, float* %93, float* %94)
%96 = load float*, float** %10
%97 = load float, float* %96
%98 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), float %97)
%99 = load i32, i32* %14
%100 = sext i32 %99 to i64
%101 = getelementptr inbounds [192 x float], [192 x float]* %12, i64 0, i64 %100
%102 = load float, float* %101
%103 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %102)
br label %104
104: ; preds = %79
%105 = load i32, i32* %14
%106 = add nsw i32 %105, 1
store i32 %106, i32* %14
br label %76
107: ; preds = %76
store i32 0, i32* %5
store i32 0, i32* %5
br label %108
108: ; preds = %125, %107
%109 = load i32, i32* %5
%110 = load i32, i32* %3
%111 = icmp slt i32 %109, %110
br i1 %111, label %112, label %128
112: ; preds = %108
%113 = load float*, float** %6
%114 = load i32, i32* %5
%115 = sext i32 %114 to i64
%116 = getelementptr inbounds float, float* %113, i64 %115
%117 = load float, float* %116
%118 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %117)
%119 = load float*, float** %7
%120 = load i32, i32* %5
%121 = sext i32 %120 to i64
%122 = getelementptr inbounds float, float* %119, i64 %121
%123 = load float, float* %122
%124 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %123)
br label %125
125: ; preds = %112
%126 = load i32, i32* %5
%127 = add nsw i32 %126, 1
store i32 %127, i32* %5
br label %108
128: ; preds = %108
%129 = load float*, float** %9
%130 = load float, float* %129
%131 = call i32 @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0), float %130)
ret i32 0
}

LLVM IR (-O2):
@.str = [24 x i8] c"Hello from Nios II! %e\0A\00"
@__const.main.In = [192 x float] [float 0x4027999AC0000000, float 0x4030666820000000, float 0x4031666860000000, float 0x4030666820000000, float 0x40293334C0000000, float 0x40303334E0000000, float 0x3FFCCCCCC0000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x402E0002C0000000, float 0x403E666BA0000000, float 0x4031333520000000, float 0x402ACCCEC0000000, float 0x4031CCCEE0000000, float 0x402E666940000000, float 0x402B333540000000, float 0x402A666840000000, float 0x402B333540000000, float 0x402C000240000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x40310001E0000000, float 0x4021FFFFC0000000, float 0x4026CCCDC0000000, float 0x402B333540000000, float 0x402B333540000000, float 0x403D0004E0000000, float 0x402B333540000000, float 0x40406668C0000000, float 0x4031CCCEE0000000, float 0x402B333540000000, float 0x4026CCCDC0000000, float 0x4027333440000000, float 0x4021FFFFC0000000, float 0x4027999AC0000000, float 0x4030666820000000, float 0x402B333540000000, float 0x4021FFFFC0000000, float 0x402B333540000000, float 0x4026666720000000, float 0x4035333620000000, float 0x402C000240000000, float 0x40340002A0000000, float 0x402C000240000000, float 2.000000e+00, float 0x40400002C0000000, float 0x40400002C0000000, float 0x4040199C40000000, float 0x403B999E20000000, float 0x403A000420000000, float 0x3FFCCCCCC0000000, float 0x3FFCCCCCC0000000, float 0x40310001E0000000, float 0x3FFCCCCCC0000000, float 0x4039666A60000000, float 0x40286667C0000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 0x4030666820000000, float 0x4027999AC0000000, float 0x402B333540000000, float 0x402B333540000000, float 0x402ACCCEC0000000, float 0x3FFCCCCCC0000000, float 0x4027999AC0000000, float 0x40466662C0000000, float 0x402B333540000000, float 0x4030999B60000000, float 0x4026666720000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 0x40383336E0000000, float 0x4040199C40000000, float 0x3FFCCCCCC0000000, float 0x4040199C40000000, float 0x40303334E0000000, float 0x402B999BC0000000, float 0x4040999BC0000000, float 0x402B333540000000, float 0x4030666820000000, float 0x4041800140000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x4030666820000000, float 0x3FFCCCCCC0000000, float 0x4027999AC0000000, float 0x40286667C0000000, float 0x40286667C0000000, float 0x402E0002C0000000, float 0x3FFCCCCCC0000000, float 0x40310001E0000000, float 0x4030CCCEA0000000, float 0x402B333540000000, float 0x3FFCCCCCC0000000, float 0x3FFCCCCCC0000000, float 0x4031333520000000, float 0x4040199C40000000, float 0x402B999BC0000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x4030666820000000, float 0x4031333520000000, float 0x40403335C0000000, float 0x40286667C0000000, float 0x3FFCCCCCC0000000, float 0x3FFCCCCCC0000000, float 0x4027333440000000, float 0x402B333540000000, float 0x402B333540000000, float 0x40260000C0000000, float 0x402B333540000000, float 0x40404CCF40000000, float 0x40403335C0000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 2.000000e+00, float 0x4027333440000000, float 0x3FFCCCCCC0000000, float 0x402B333540000000, float 0x40400002C0000000, float 0x4031333520000000, float 0x402B333540000000, float 0x4043B33240000000, float 0x402C000240000000, float 2.000000e+00, float 0x4040999BC0000000, float 0x402E0002C0000000, float 0x402C000240000000, float 0x4027333440000000, float 0x4040199C40000000, float 0x402ACCCEC0000000, float 0x3FFCCCCCC0000000, float 0x4040CCCEC0000000, float 0x4033999C20000000, float 0x3FFCCCCCC0000000, float 0x402C6668C0000000, float 0x4031666860000000, float 0x4031333520000000, float 0x402B333540000000, float 0x4031333520000000, float 0x4031333520000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x402CCCCF40000000, float 0x4030666820000000, float 0x4031333520000000, float 0x4030999B60000000, float 0x4030666820000000, float 0x402B999BC0000000, float 0x402B333540000000, float 0x401BFFFF00000000, float 0x4031333520000000, float 0x4030666820000000, float 0x4040199C40000000, float 0x4031333520000000, float 0x4030666820000000, float 0x402C000240000000, float 2.000000e+00, float 0x4030666820000000, float 0x4031999BA0000000, float 0x40404CCF40000000, float 0x402B999BC0000000, float 0x4031999BA0000000, float 0x4034999C60000000, float 0x40350002E0000000, float 2.000000e+00, float 0x402C000240000000, float 0x402E0002C0000000, float 0x402B333540000000, float 0x4031666860000000, float 0x402C000240000000, float 0x4034999C60000000, float 0x402E0002C0000000, float 0x40260000C0000000, float 0x4022666640000000, float 0x402B333540000000, float 0x40286667C0000000, float 0x402C6668C0000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x402C6668C0000000, float 0x4040199C40000000, float 0x4037CCD060000000, float 0x402ACCCEC0000000, float 0x4040199C40000000, float 0x4031333520000000, float 0x402C6668C0000000, float 0x402B333540000000, float 0x4031999BA0000000, float 0x4031333520000000, float 0x4034CCCFA0000000]
@.str.1 = [5 x i8] c"%f \09\00"
@.str.2 = [5 x i8] c"%f \0A\00"
@.str.3 = [6 x i8] c" %f \09\00"
@.str.4 = [8 x i8] c"b= %f \0A\00"
define i32 @main() {
%1 = alloca [192 x float]
%2 = alloca [192 x float]
%3 = tail call double @pow(i32 2, i32 -24)
%4 = tail call double @pow(i32 2, i32 -23)
%5 = fadd double %3, %4
%6 = fptrunc double %5 to float
%7 = tail call i32 @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str, i64 0, i64 0), float %6)
%8 = tail call i64 @malloc(i32 40)
%9 = tail call i64 @malloc(i32 40)
%10 = tail call i64 @malloc(i32 40)
%11 = tail call i64 @malloc(i32 4)
%12 = tail call i64 @malloc(i32 4)
%13 = bitcast [192 x float]* %1 to i8*
%14 = bitcast [192 x float]* %2 to i8*
%15 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 0
store float 1.000000e+00, float* %15
br label %16
16: ; preds = %36, %0
%17 = phi i64 [ 0, %0 ], [ %54, %36 ]
%18 = or i64 %17, 1
%19 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 %18
%20 = bitcast float* %19 to <4 x float>*
%21 = load <4 x float>, <4 x float>* %20
%22 = getelementptr inbounds float, float* %19, i64 4
%23 = bitcast float* %22 to <4 x float>*
%24 = load <4 x float>, <4 x float>* %23
%25 = fpext <4 x float> %21 to <4 x double>
%26 = fpext <4 x float> %24 to <4 x double>
%27 = fcmp olt <4 x double> %25, <double 1.160000e+01, double 1.160000e+01, double 1.160000e+01, double 1.160000e+01>
%28 = fcmp olt <4 x double> %26, <double 1.160000e+01, double 1.160000e+01, double 1.160000e+01, double 1.160000e+01>
%29 = select <4 x i1> %27, <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
%30 = select <4 x i1> %28, <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
%31 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 %18
%32 = bitcast float* %31 to <4 x float>*
store <4 x float> %29, <4 x float>* %32
%33 = getelementptr inbounds float, float* %31, i64 4
%34 = bitcast float* %33 to <4 x float>*
store <4 x float> %30, <4 x float>* %34
%35 = icmp eq i64 %17, 176
br i1 %35, label %55, label %36
36: ; preds = %16
%37 = or i64 %17, 9
%38 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 %37
%39 = bitcast float* %38 to <4 x float>*
%40 = load <4 x float>, <4 x float>* %39
%41 = getelementptr inbounds float, float* %38, i64 4
%42 = bitcast float* %41 to <4 x float>*
%43 = load <4 x float>, <4 x float>* %42
%44 = fpext <4 x float> %40 to <4 x double>
%45 = fpext <4 x float> %43 to <4 x double>
%46 = fcmp olt <4 x double> %44, <double 1.160000e+01, double 1.160000e+01, double 1.160000e+01, double 1.160000e+01>
%47 = fcmp olt <4 x double> %45, <double 1.160000e+01, double 1.160000e+01, double 1.160000e+01, double 1.160000e+01>
%48 = select <4 x i1> %46, <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
%49 = select <4 x i1> %47, <4 x float> <float -1.000000e+00, float -1.000000e+00, float -1.000000e+00, float -1.000000e+00>, <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>
%50 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 %37
%51 = bitcast float* %50 to <4 x float>*
store <4 x float> %48, <4 x float>* %51
%52 = getelementptr inbounds float, float* %50, i64 4
%53 = bitcast float* %52 to <4 x float>*
store <4 x float> %49, <4 x float>* %53
%54 = add nuw nsw i64 %17, 16
br label %16
55: ; preds = %16
%56 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 185
%57 = load float, float* %56
%58 = fpext float %57 to double
%59 = fcmp olt double %58, 1.160000e+01
%60 = select i1 %59, float -1.000000e+00, float 1.000000e+00
%61 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 185
store float %60, float* %61
%62 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 186
%63 = load float, float* %62
%64 = fpext float %63 to double
%65 = fcmp olt double %64, 1.160000e+01
%66 = select i1 %65, float -1.000000e+00, float 1.000000e+00
%67 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 186
store float %66, float* %67
%68 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 187
%69 = load float, float* %68
%70 = fpext float %69 to double
%71 = fcmp olt double %70, 1.160000e+01
%72 = select i1 %71, float -1.000000e+00, float 1.000000e+00
%73 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 187
store float %72, float* %73
%74 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 188
%75 = load float, float* %74
%76 = fpext float %75 to double
%77 = fcmp olt double %76, 1.160000e+01
%78 = select i1 %77, float -1.000000e+00, float 1.000000e+00
%79 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 188
store float %78, float* %79
%80 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 189
%81 = load float, float* %80
%82 = fpext float %81 to double
%83 = fcmp olt double %82, 1.160000e+01
%84 = select i1 %83, float -1.000000e+00, float 1.000000e+00
%85 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 189
store float %84, float* %85
%86 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 190
%87 = load float, float* %86
%88 = fpext float %87 to double
%89 = fcmp olt double %88, 1.160000e+01
%90 = select i1 %89, float -1.000000e+00, float 1.000000e+00
%91 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 190
store float %90, float* %91
%92 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 191
%93 = load float, float* %92
%94 = fpext float %93 to double
%95 = fcmp olt double %94, 1.160000e+01
%96 = select i1 %95, float -1.000000e+00, float 1.000000e+00
%97 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 191
store float %96, float* %97
%98 = inttoptr i64 %8 to float*
%99 = inttoptr i64 %9 to float*
%100 = inttoptr i64 %10 to float*
%101 = inttoptr i64 %11 to float*
%102 = inttoptr i64 %12 to float*
%103 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 0
%104 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 0
%105 = call i32 @BPA(i32 10, i32 102, float 0x3E8AD7F2A0000000, float* %103, float* %104, float* %99, float* %100, float* %101)
br label %106
106: ; preds = %55, %106
%107 = phi i64 [ 0, %55 ], [ %118, %106 ]
%108 = getelementptr inbounds [192 x float], [192 x float]* %1, i64 0, i64 %107
%109 = load float, float* %108
%110 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), float %109)
%111 = load float, float* %108
%112 = call i32 @ANN(i32 10, float %111, float* %99, float* %100, float* %101, float* %98, float* %102)
%113 = load float, float* %102
%114 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), float %113)
%115 = getelementptr inbounds [192 x float], [192 x float]* %2, i64 0, i64 %107
%116 = load float, float* %115
%117 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %116)
%118 = add nuw nsw i64 %107, 1
%119 = icmp eq i64 %118, 192
br i1 %119, label %120, label %106
120: ; preds = %106
%121 = load float, float* %99
%122 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %121)
%123 = load float, float* %100
%124 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %123)
%125 = getelementptr inbounds float, float* %99, i64 1
%126 = load float, float* %125
%127 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %126)
%128 = getelementptr inbounds float, float* %100, i64 1
%129 = load float, float* %128
%130 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %129)
%131 = getelementptr inbounds float, float* %99, i64 2
%132 = load float, float* %131
%133 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %132)
%134 = getelementptr inbounds float, float* %100, i64 2
%135 = load float, float* %134
%136 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %135)
%137 = getelementptr inbounds float, float* %99, i64 3
%138 = load float, float* %137
%139 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %138)
%140 = getelementptr inbounds float, float* %100, i64 3
%141 = load float, float* %140
%142 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %141)
%143 = getelementptr inbounds float, float* %99, i64 4
%144 = load float, float* %143
%145 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %144)
%146 = getelementptr inbounds float, float* %100, i64 4
%147 = load float, float* %146
%148 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %147)
%149 = getelementptr inbounds float, float* %99, i64 5
%150 = load float, float* %149
%151 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %150)
%152 = getelementptr inbounds float, float* %100, i64 5
%153 = load float, float* %152
%154 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %153)
%155 = getelementptr inbounds float, float* %99, i64 6
%156 = load float, float* %155
%157 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %156)
%158 = getelementptr inbounds float, float* %100, i64 6
%159 = load float, float* %158
%160 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %159)
%161 = getelementptr inbounds float, float* %99, i64 7
%162 = load float, float* %161
%163 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %162)
%164 = getelementptr inbounds float, float* %100, i64 7
%165 = load float, float* %164
%166 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %165)
%167 = getelementptr inbounds float, float* %99, i64 8
%168 = load float, float* %167
%169 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %168)
%170 = getelementptr inbounds float, float* %100, i64 8
%171 = load float, float* %170
%172 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %171)
%173 = getelementptr inbounds float, float* %99, i64 9
%174 = load float, float* %173
%175 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0), float %174)
%176 = getelementptr inbounds float, float* %100, i64 9
%177 = load float, float* %176
%178 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), float %177)
%179 = load float, float* %101
%180 = call i32 @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0), float %179)
ret i32 0
}