int ephcom_jd2cal(double tjd, int idate[6], int calendar_type) {
  int ihour, imin, isec;
  int j;
  int I, J, K, L, N, D, M, Y;
  tjd += 0.5 + 0.5 / 86400.0;
  j = tjd;
  tjd = (tjd - j) * 24.0;
  ihour = tjd;
  tjd = (tjd - ihour) * 60.0;
  imin = tjd;
  tjd = (tjd - imin) * 60.0;
  isec = tjd;
  if (calendar_type == -1 || (calendar_type == 0 && j <= 2299160)) {
    J = j + 1402;
    K = (J - 1) / 1461;
    L = J - 1461 * K;
    N = (L - 1) / 365 - L / 1461;
    I = L - 365 * N + 30;
    J = (80 * I) / 2447;
    D = I - (2447 * J) / 80;
    I = J / 11;
    M = J + 2 - 12 * I;
    Y = 4 * K + N + I - 4716;
  } else {
    L = j + 68569;
    N = (4 * L) / 146097;
    L = L - (146097 * N + 3) / 4;
    I = (4000 * (L + 1)) / 1461001;
    L = L - (1461 * I) / 4 + 31;
    J = (80 * L) / 2447;
    D = L - (2447 * J) / 80;
    L = J / 11;
    M = J + 2 - 12 * L;
    Y = 100 * (N - 49) + I + L;
  }
  idate[0] = Y;
  idate[1] = M;
  idate[2] = D;
  idate[3] = ihour;
  idate[4] = imin;
  idate[5] = isec;
  return (0);
}


x86 assembly (clang, -O0):
<ephcom_jd2cal>:
push   %rbp
mov    %rsp,%rbp
movsd  %xmm0,-0x8(%rbp)
mov    %rdi,-0x10(%rbp)
mov    %esi,-0x14(%rbp)
movsd  0xef8(%rip),%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
cvttsd2si -0x8(%rbp),%eax
mov    %eax,-0x24(%rbp)
movsd  -0x8(%rbp),%xmm0
cvtsi2sdl -0x24(%rbp),%xmm1
subsd  %xmm1,%xmm0
movsd  0xec8(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
cvttsd2si -0x8(%rbp),%eax
mov    %eax,-0x18(%rbp)
movsd  -0x8(%rbp),%xmm0
cvtsi2sdl -0x18(%rbp),%xmm1
subsd  %xmm1,%xmm0
movsd  0xe99(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
cvttsd2si -0x8(%rbp),%eax
mov    %eax,-0x1c(%rbp)
movsd  -0x8(%rbp),%xmm0
cvtsi2sdl -0x1c(%rbp),%xmm1
subsd  %xmm1,%xmm0
movsd  0xe72(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
cvttsd2si -0x8(%rbp),%eax
mov    %eax,-0x20(%rbp)
cmpl   $0xffffffff,-0x14(%rbp)
je     11c0 <ephcom_jd2cal+0xc0>
cmpl   $0x0,-0x14(%rbp)
jne    1287 <ephcom_jd2cal+0x187>
cmpl   $0x231518,-0x24(%rbp)
jg     1287 <ephcom_jd2cal+0x187>
mov    -0x24(%rbp),%eax
add    $0x57a,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
sub    $0x1,%eax
mov    $0x5b5,%ecx
cltd
idiv   %ecx
mov    %eax,-0x30(%rbp)
mov    -0x2c(%rbp),%eax
imul   $0x5b5,-0x30(%rbp),%ecx
sub    %ecx,%eax
mov    %eax,-0x34(%rbp)
mov    -0x34(%rbp),%eax
sub    $0x1,%eax
mov    $0x16d,%ecx
cltd
idiv   %ecx
mov    %eax,-0x4c(%rbp)
mov    -0x34(%rbp),%eax
mov    $0x5b5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x4c(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x38(%rbp)
mov    -0x34(%rbp),%eax
imul   $0x16d,-0x38(%rbp),%ecx
sub    %ecx,%eax
add    $0x1e,%eax
mov    %eax,-0x28(%rbp)
imul   $0x50,-0x28(%rbp),%eax
mov    $0x98f,%ecx
cltd
idiv   %ecx
mov    %eax,-0x2c(%rbp)
mov    -0x28(%rbp),%eax
mov    %eax,-0x48(%rbp)
imul   $0x98f,-0x2c(%rbp),%eax
mov    $0x50,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x48(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x3c(%rbp)
mov    -0x2c(%rbp),%eax
mov    $0xb,%ecx
cltd
idiv   %ecx
mov    %eax,-0x28(%rbp)
mov    -0x2c(%rbp),%eax
add    $0x2,%eax
imul   $0xc,-0x28(%rbp),%ecx
sub    %ecx,%eax
mov    %eax,-0x40(%rbp)
mov    -0x30(%rbp),%eax
shl    $0x2,%eax
add    -0x38(%rbp),%eax
add    -0x28(%rbp),%eax
sub    $0x126c,%eax
mov    %eax,-0x44(%rbp)
jmp    135b <ephcom_jd2cal+0x25b>
mov    -0x24(%rbp),%eax
add    $0x10bd9,%eax
mov    %eax,-0x34(%rbp)
mov    -0x34(%rbp),%eax
shl    $0x2,%eax
mov    $0x23ab1,%ecx
cltd
idiv   %ecx
mov    %eax,-0x38(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x58(%rbp)
imul   $0x23ab1,-0x38(%rbp),%eax
add    $0x3,%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x58(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x34(%rbp)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
imul   $0xfa0,%eax,%eax
mov    $0x164b09,%ecx
cltd
idiv   %ecx
mov    %eax,-0x28(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x54(%rbp)
imul   $0x5b5,-0x28(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x54(%rbp),%eax
sub    %ecx,%eax
add    $0x1f,%eax
mov    %eax,-0x34(%rbp)
imul   $0x50,-0x34(%rbp),%eax
mov    $0x98f,%ecx
cltd
idiv   %ecx
mov    %eax,-0x2c(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x50(%rbp)
imul   $0x98f,-0x2c(%rbp),%eax
mov    $0x50,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x50(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x3c(%rbp)
mov    -0x2c(%rbp),%eax
mov    $0xb,%ecx
cltd
idiv   %ecx
mov    %eax,-0x34(%rbp)
mov    -0x2c(%rbp),%eax
add    $0x2,%eax
imul   $0xc,-0x34(%rbp),%ecx
sub    %ecx,%eax
mov    %eax,-0x40(%rbp)
mov    -0x38(%rbp),%eax
sub    $0x31,%eax
imul   $0x64,%eax,%eax
add    -0x28(%rbp),%eax
add    -0x34(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x44(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x40(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x3c(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x18(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x1c(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x20(%rbp),%ecx
mov    -0x10(%rbp),%rax
mov    %ecx,0x14(%rax)
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<ephcom_jd2cal>:
push   %rbx
addsd  0xef7(%rip),%xmm0
cvttsd2si %xmm0,%ecx
cvttpd2dq %xmm0,%xmm1
cvtdq2pd %xmm1,%xmm1
subsd  %xmm1,%xmm0
mulsd  0xee7(%rip),%xmm0
cvttsd2si %xmm0,%r8d
cvttpd2dq %xmm0,%xmm1
cvtdq2pd %xmm1,%xmm1
subsd  %xmm1,%xmm0
mulsd  0xed6(%rip),%xmm0
cvttsd2si %xmm0,%r9d
cmp    $0xffffffff,%esi
je     1158 <ephcom_jd2cal+0x58>
test   %esi,%esi
jne    125f <ephcom_jd2cal+0x15f>
cmp    $0x231518,%ecx
jg     125f <ephcom_jd2cal+0x15f>
lea    0x579(%rcx),%eax
cltq
imul   $0x166db073,%rax,%r10
mov    %r10,%rax
shr    $0x3f,%rax
shr    $0x20,%r10
sar    $0x7,%r10d
add    %eax,%r10d
imul   $0xfffffa4b,%r10d,%edx
mov    %ecx,%eax
add    %edx,%eax
lea    (%rcx,%rdx,1),%esi
add    $0x57a,%esi
add    %edx,%ecx
add    $0x579,%ecx
movslq %ecx,%rcx
imul   $0xffffffffb38cf9b1,%rcx,%rcx
shr    $0x20,%rcx
lea    (%rcx,%rax,1),%edx
add    $0x579,%edx
mov    %edx,%ecx
shr    $0x1f,%ecx
sar    $0x8,%edx
add    %ecx,%edx
movslq %esi,%rcx
imul   $0xffffffffe9924f8d,%rcx,%rcx
mov    %rcx,%rsi
shr    $0x3f,%rsi
shr    $0x20,%rcx
sar    $0x7,%ecx
add    %esi,%ecx
add    %edx,%ecx
imul   $0xfffffe93,%ecx,%edx
lea    (%rdx,%rax,1),%r11d
add    $0x598,%r11d
mov    %r11d,%eax
shl    $0x4,%eax
lea    (%rax,%rax,4),%eax
movslq %eax,%rsi
imul   $0x1ac83d19,%rsi,%rdx
mov    %rdx,%rax
shr    $0x3f,%rax
shr    $0x20,%rdx
sar    $0x8,%edx
add    %eax,%edx
imul   $0x98f,%edx,%eax
cltq
imul   $0xffffffff99999999,%rax,%rax
mov    %rax,%rbx
shr    $0x3f,%rbx
shr    $0x20,%rax
sar    $0x5,%eax
add    %ebx,%eax
add    %r11d,%eax
imul   $0xffffffff9bd2d7d7,%rsi,%rbx
shr    $0x20,%rbx
add    %ebx,%esi
mov    %esi,%ebx
shr    $0x1f,%ebx
sar    $0xe,%esi
add    %ebx,%esi
lea    0x0(,%rsi,4),%ebx
lea    (%rbx,%rbx,2),%ebx
sub    %ebx,%edx
add    $0x2,%edx
lea    (%rcx,%r10,4),%ecx
add    %esi,%ecx
add    $0xffffed94,%ecx
jmp    1363 <ephcom_jd2cal+0x263>
mov    %ecx,%eax
add    $0x10bd9,%eax
lea    0x42f64(,%rcx,4),%ecx
movslq %ecx,%rcx
imul   $0x396b06bd,%rcx,%r10
mov    %r10,%rcx
shr    $0x3f,%rcx
shr    $0x20,%r10
sar    $0xf,%r10d
add    %ecx,%r10d
imul   $0x23ab1,%r10d,%ecx
lea    0x3(%rcx),%edx
add    $0x6,%ecx
test   %edx,%edx
cmovns %edx,%ecx
sar    $0x2,%ecx
sub    %ecx,%eax
imul   $0xfa0,%eax,%ecx
mov    %ecx,%edx
add    $0xfa0,%edx
movslq %edx,%rdx
imul   $0xffffffffb7bbe2dd,%rdx,%rdx
shr    $0x20,%rdx
add    %edx,%ecx
add    $0xfa0,%ecx
mov    %ecx,%edx
shr    $0x1f,%edx
sar    $0x14,%ecx
add    %edx,%ecx
imul   $0x5b5,%ecx,%edx
lea    0x3(%rdx),%esi
test   %edx,%edx
cmovns %edx,%esi
sar    $0x2,%esi
neg    %esi
lea    (%rax,%rsi,1),%r11d
add    $0x1f,%r11d
mov    %r11d,%eax
shl    $0x4,%eax
lea    (%rax,%rax,4),%eax
movslq %eax,%rsi
imul   $0x1ac83d19,%rsi,%rdx
mov    %rdx,%rax
shr    $0x3f,%rax
shr    $0x20,%rdx
sar    $0x8,%edx
add    %eax,%edx
imul   $0x98f,%edx,%eax
cltq
imul   $0xffffffff99999999,%rax,%rax
mov    %rax,%rbx
shr    $0x3f,%rbx
shr    $0x20,%rax
sar    $0x5,%eax
add    %ebx,%eax
add    %r11d,%eax
imul   $0xffffffff9bd2d7d7,%rsi,%rbx
shr    $0x20,%rbx
add    %ebx,%esi
mov    %esi,%ebx
shr    $0x1f,%ebx
sar    $0xe,%esi
add    %ebx,%esi
lea    0x0(,%rsi,4),%ebx
lea    (%rbx,%rbx,2),%ebx
sub    %ebx,%edx
add    $0x2,%edx
imul   $0x64,%r10d,%ebx
add    %ecx,%ebx
lea    (%rbx,%rsi,1),%ecx
add    $0xffffecdc,%ecx
cvtsi2sd %r9d,%xmm1
subsd  %xmm1,%xmm0
mulsd  0xc9c(%rip),%xmm0
cvttsd2si %xmm0,%esi
mov    %ecx,(%rdi)
mov    %edx,0x4(%rdi)
mov    %eax,0x8(%rdi)
mov    %r8d,0xc(%rdi)
mov    %r9d,0x10(%rdi)
mov    %esi,0x14(%rdi)
xor    %eax,%eax
pop    %rbx
ret

LLVM IR (-O0):
define i32 @ephcom_jd2cal(double %0, i32* %1, i32 %2) {
%4 = alloca double
%5 = alloca i32*
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
store double %0, double* %4
store i32* %1, i32** %5
store i32 %2, i32* %6
%19 = load double, double* %4
%20 = fadd double %19, 0x3FE0000C22E45067
store double %20, double* %4
%21 = load double, double* %4
%22 = fptosi double %21 to i32
store i32 %22, i32* %10
%23 = load double, double* %4
%24 = load i32, i32* %10
%25 = sitofp i32 %24 to double
%26 = fsub double %23, %25
%27 = fmul double %26, 2.400000e+01
store double %27, double* %4
%28 = load double, double* %4
%29 = fptosi double %28 to i32
store i32 %29, i32* %7
%30 = load double, double* %4
%31 = load i32, i32* %7
%32 = sitofp i32 %31 to double
%33 = fsub double %30, %32
%34 = fmul double %33, 6.000000e+01
store double %34, double* %4
%35 = load double, double* %4
%36 = fptosi double %35 to i32
store i32 %36, i32* %8
%37 = load double, double* %4
%38 = load i32, i32* %8
%39 = sitofp i32 %38 to double
%40 = fsub double %37, %39
%41 = fmul double %40, 6.000000e+01
store double %41, double* %4
%42 = load double, double* %4
%43 = fptosi double %42 to i32
store i32 %43, i32* %9
%44 = load i32, i32* %6
%45 = icmp eq i32 %44, -1
br i1 %45, label %52, label %46
46: ; preds = %3
%47 = load i32, i32* %6
%48 = icmp eq i32 %47, 0
br i1 %48, label %49, label %95
49: ; preds = %46
%50 = load i32, i32* %10
%51 = icmp sle i32 %50, 2299160
br i1 %51, label %52, label %95
52: ; preds = %49, %3
%53 = load i32, i32* %10
%54 = add nsw i32 %53, 1402
store i32 %54, i32* %12
%55 = load i32, i32* %12
%56 = sub nsw i32 %55, 1
%57 = sdiv i32 %56, 1461
store i32 %57, i32* %13
%58 = load i32, i32* %12
%59 = load i32, i32* %13
%60 = mul nsw i32 1461, %59
%61 = sub nsw i32 %58, %60
store i32 %61, i32* %14
%62 = load i32, i32* %14
%63 = sub nsw i32 %62, 1
%64 = sdiv i32 %63, 365
%65 = load i32, i32* %14
%66 = sdiv i32 %65, 1461
%67 = sub nsw i32 %64, %66
store i32 %67, i32* %15
%68 = load i32, i32* %14
%69 = load i32, i32* %15
%70 = mul nsw i32 365, %69
%71 = sub nsw i32 %68, %70
%72 = add nsw i32 %71, 30
store i32 %72, i32* %11
%73 = load i32, i32* %11
%74 = mul nsw i32 80, %73
%75 = sdiv i32 %74, 2447
store i32 %75, i32* %12
%76 = load i32, i32* %11
%77 = load i32, i32* %12
%78 = mul nsw i32 2447, %77
%79 = sdiv i32 %78, 80
%80 = sub nsw i32 %76, %79
store i32 %80, i32* %16
%81 = load i32, i32* %12
%82 = sdiv i32 %81, 11
store i32 %82, i32* %11
%83 = load i32, i32* %12
%84 = add nsw i32 %83, 2
%85 = load i32, i32* %11
%86 = mul nsw i32 12, %85
%87 = sub nsw i32 %84, %86
store i32 %87, i32* %17
%88 = load i32, i32* %13
%89 = mul nsw i32 4, %88
%90 = load i32, i32* %15
%91 = add nsw i32 %89, %90
%92 = load i32, i32* %11
%93 = add nsw i32 %91, %92
%94 = sub nsw i32 %93, 4716
store i32 %94, i32* %18
br label %139
95: ; preds = %49, %46
%96 = load i32, i32* %10
%97 = add nsw i32 %96, 68569
store i32 %97, i32* %14
%98 = load i32, i32* %14
%99 = mul nsw i32 4, %98
%100 = sdiv i32 %99, 146097
store i32 %100, i32* %15
%101 = load i32, i32* %14
%102 = load i32, i32* %15
%103 = mul nsw i32 146097, %102
%104 = add nsw i32 %103, 3
%105 = sdiv i32 %104, 4
%106 = sub nsw i32 %101, %105
store i32 %106, i32* %14
%107 = load i32, i32* %14
%108 = add nsw i32 %107, 1
%109 = mul nsw i32 4000, %108
%110 = sdiv i32 %109, 1461001
store i32 %110, i32* %11
%111 = load i32, i32* %14
%112 = load i32, i32* %11
%113 = mul nsw i32 1461, %112
%114 = sdiv i32 %113, 4
%115 = sub nsw i32 %111, %114
%116 = add nsw i32 %115, 31
store i32 %116, i32* %14
%117 = load i32, i32* %14
%118 = mul nsw i32 80, %117
%119 = sdiv i32 %118, 2447
store i32 %119, i32* %12
%120 = load i32, i32* %14
%121 = load i32, i32* %12
%122 = mul nsw i32 2447, %121
%123 = sdiv i32 %122, 80
%124 = sub nsw i32 %120, %123
store i32 %124, i32* %16
%125 = load i32, i32* %12
%126 = sdiv i32 %125, 11
store i32 %126, i32* %14
%127 = load i32, i32* %12
%128 = add nsw i32 %127, 2
%129 = load i32, i32* %14
%130 = mul nsw i32 12, %129
%131 = sub nsw i32 %128, %130
store i32 %131, i32* %17
%132 = load i32, i32* %15
%133 = sub nsw i32 %132, 49
%134 = mul nsw i32 100, %133
%135 = load i32, i32* %11
%136 = add nsw i32 %134, %135
%137 = load i32, i32* %14
%138 = add nsw i32 %136, %137
store i32 %138, i32* %18
br label %139
139: ; preds = %95, %52
%140 = load i32, i32* %18
%141 = load i32*, i32** %5
%142 = getelementptr inbounds i32, i32* %141, i64 0
store i32 %140, i32* %142
%143 = load i32, i32* %17
%144 = load i32*, i32** %5
%145 = getelementptr inbounds i32, i32* %144, i64 1
store i32 %143, i32* %145
%146 = load i32, i32* %16
%147 = load i32*, i32** %5
%148 = getelementptr inbounds i32, i32* %147, i64 2
store i32 %146, i32* %148
%149 = load i32, i32* %7
%150 = load i32*, i32** %5
%151 = getelementptr inbounds i32, i32* %150, i64 3
store i32 %149, i32* %151
%152 = load i32, i32* %8
%153 = load i32*, i32** %5
%154 = getelementptr inbounds i32, i32* %153, i64 4
store i32 %152, i32* %154
%155 = load i32, i32* %9
%156 = load i32*, i32** %5
%157 = getelementptr inbounds i32, i32* %156, i64 5
store i32 %155, i32* %157
ret i32 0
}

LLVM IR (-O2):
define i32 @ephcom_jd2cal(double %0, i32* nocapture writeonly %1, i32 %2) {
%4 = fadd double %0, 0x3FE0000C22E45067
%5 = fptosi double %4 to i32
%6 = sitofp i32 %5 to double
%7 = fsub double %4, %6
%8 = fmul double %7, 2.400000e+01
%9 = fptosi double %8 to i32
%10 = sitofp i32 %9 to double
%11 = fsub double %8, %10
%12 = fmul double %11, 6.000000e+01
%13 = fptosi double %12 to i32
%14 = icmp eq i32 %2, -1
br i1 %14, label %19, label %15
15: ; preds = %3
%16 = icmp eq i32 %2, 0
%17 = icmp slt i32 %5, 2299161
%18 = select i1 %16, i1 %17, i1 false
br i1 %18, label %19, label %45
19: ; preds = %15, %3
%20 = add nsw i32 %5, 1402
%21 = add nsw i32 %5, 1401
%22 = sdiv i32 %21, 1461
%23 = mul nsw i32 %22, -1461
%24 = add i32 %20, %23
%25 = add nsw i32 %24, -1
%26 = sdiv i32 %25, 365
%27 = sdiv i32 %24, -1461
%28 = add nsw i32 %26, %27
%29 = mul i32 %28, -365
%30 = add i32 %24, 30
%31 = add i32 %30, %29
%32 = mul nsw i32 %31, 80
%33 = sdiv i32 %32, 2447
%34 = mul nsw i32 %33, 2447
%35 = sdiv i32 %34, -80
%36 = add i32 %35, %31
%37 = sdiv i32 %32, 26917
%38 = add nsw i32 %33, 2
%39 = mul nsw i32 %37, -12
%40 = add nsw i32 %38, %39
%41 = shl nsw i32 %22, 2
%42 = add nsw i32 %41, -4716
%43 = add i32 %42, %28
%44 = add i32 %43, %37
br label %73
45: ; preds = %15
%46 = add nsw i32 %5, 68569
%47 = shl nsw i32 %46, 2
%48 = sdiv i32 %47, 146097
%49 = mul nsw i32 %48, 146097
%50 = add nsw i32 %49, 3
%51 = sdiv i32 %50, -4
%52 = add i32 %51, %46
%53 = mul i32 %52, 4000
%54 = add i32 %53, 4000
%55 = sdiv i32 %54, 1461001
%56 = mul nsw i32 %55, 1461
%57 = sdiv i32 %56, -4
%58 = add i32 %52, 31
%59 = add i32 %58, %57
%60 = mul nsw i32 %59, 80
%61 = sdiv i32 %60, 2447
%62 = mul nsw i32 %61, 2447
%63 = sdiv i32 %62, -80
%64 = add i32 %63, %59
%65 = sdiv i32 %60, 26917
%66 = add nsw i32 %61, 2
%67 = mul nsw i32 %65, -12
%68 = add nsw i32 %66, %67
%69 = mul nsw i32 %48, 100
%70 = add nsw i32 %69, -4900
%71 = add nsw i32 %70, %55
%72 = add nsw i32 %71, %65
br label %73
73: ; preds = %45, %19
%74 = phi i32 [ %36, %19 ], [ %64, %45 ]
%75 = phi i32 [ %40, %19 ], [ %68, %45 ]
%76 = phi i32 [ %44, %19 ], [ %72, %45 ]
%77 = sitofp i32 %13 to double
%78 = fsub double %12, %77
%79 = fmul double %78, 6.000000e+01
%80 = fptosi double %79 to i32
store i32 %76, i32* %1
%81 = getelementptr inbounds i32, i32* %1, i64 1
store i32 %75, i32* %81
%82 = getelementptr inbounds i32, i32* %1, i64 2
store i32 %74, i32* %82
%83 = getelementptr inbounds i32, i32* %1, i64 3
store i32 %9, i32* %83
%84 = getelementptr inbounds i32, i32* %1, i64 4
store i32 %13, i32* %84
%85 = getelementptr inbounds i32, i32* %1, i64 5
store i32 %80, i32* %85
ret i32 0
}