#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*/ printf(char *, ...);
void levels(int kpds6, int kpds7) {
  int o11, o12;
  o11 = kpds7 / 256;
  o12 = kpds7 % 256;
  switch (kpds6) {
  case 1:
    printf("sfc");
    break;
  case 2:
    printf("cld base");
    break;
  case 3:
    printf("cld top");
    break;
  case 4:
    printf("0C isotherm");
    break;
  case 5:
    printf("cond lev");
    break;
  case 6:
    printf("max wind lev");
    break;
  case 7:
    printf("tropopause");
    break;
  case 8:
    printf("nom. top");
    break;
  case 9:
    printf("sea bottom");
    break;
  case 200:
  case 10:
    printf("atmos col");
    break;
  case 12:
  case 212:
    printf("low cld bot");
    break;
  case 13:
  case 213:
    printf("low cld top");
    break;
  case 14:
  case 214:
    printf("low cld lay");
    break;
  case 22:
  case 222:
    printf("mid cld bot");
    break;
  case 23:
  case 223:
    printf("mid cld top");
    break;
  case 24:
  case 224:
    printf("mid cld lay");
    break;
  case 32:
  case 232:
    printf("high cld bot");
    break;
  case 33:
  case 233:
    printf("high cld top");
    break;
  case 34:
  case 234:
    printf("high cld lay");
    break;
  case 201:
    printf("ocean column");
    break;
  case 209:
    printf("bndary-layer cld bot");
    break;
  case 210:
    printf("bndary-layer cld top");
    break;
  case 211:
    printf("bndary-layer cld layer");
    break;
  case 242:
    printf("convect-cld bot");
    break;
  case 243:
    printf("convect-cld top");
    break;
  case 244:
    printf("convect-cld layer");
    break;
  case 100:
    printf("%d mb", kpds7);
    break;
  case 101:
    printf("%d-%d mb", o11 * 10, o12 * 10);
    break;
  case 102:
    printf("MSL");
    break;
  case 103:
    printf("%d m above MSL", kpds7);
    break;
  case 104:
    printf("%d-%d m above msl", o11 * 100, o12 * 100);
    break;
  case 105:
    printf("%d m above gnd", kpds7);
    break;
  case 106:
    printf("%d-%d m above gnd", o11 * 100, o12 * 100);
    break;
  case 107:
    printf("sigma=%.4f", kpds7 / 10000.0);
    break;
  case 108:
    printf("sigma %.2f-%.2f", o11 / 100.0, o12 / 100.0);
    break;
  case 109:
    printf("hybrid lev %d", kpds7);
    break;
  case 110:
    printf("hybrid %d-%d", o11, o12);
    break;
  case 111:
    printf("%d cm down", kpds7);
    break;
  case 112:
    printf("%d-%d cm down", o11, o12);
    break;
  case 113:
    printf("%dK", kpds7);
    break;
  case 114:
    printf("%d-%dK", 475 - o11, 475 - o12);
    break;
  case 115:
    printf("%d mb above gnd", kpds7);
    break;
  case 116:
    printf("%d-%d mb above gnd", o11, o12);
    break;
  case 117:
    printf("%d (pv units)", kpds7);
    break;
  case 119:
    printf("%.5f (ETA level)", kpds7 / 10000.0);
    break;
  case 120:
    printf("%.2f-%.2f (ETA levels)", o11 / 100.0, o12 / 100.0);
    break;
  case 121:
    printf("%d-%d mb", 1100 - o11, 1100 - o12);
    break;
  case 125:
    printf("%d cm above gnd", kpds7);
    break;
  case 128:
    printf("%.3f-%.3f (sigma)", 1.1 - o11 / 1000.0, 1.1 - o12 / 1000.0);
    break;
  case 141:
    printf("%d-%d mb", o11, 1100 - o12);
    break;
  case 160:
    printf("%d m below sea level", kpds7);
    break;
  default:
    break;
  }
}


x86 assembly (clang, -O0):
<levels>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,%ecx
add    $0xff,%ecx
test   %eax,%eax
cmovs  %ecx,%eax
sar    $0x8,%eax
mov    %eax,-0xc(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,%edx
add    $0xff,%edx
test   %eax,%eax
mov    %eax,%ecx
cmovs  %edx,%ecx
and    $0xffffff00,%ecx
sub    %ecx,%eax
mov    %eax,-0x10(%rbp)
mov    -0x4(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0xf3,%eax
ja     1658 <levels+0x548>
mov    -0x18(%rbp),%rax
lea    0xead(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x126d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x125e(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x12d3(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x1241(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x123a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x1230(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x122a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x1222(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x1218(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x1210(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x1207(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x1200(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11f9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11f2(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11eb(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11e4(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11dd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11d7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11d1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11cb(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11c5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11c7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11c9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11cd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11ca(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11c7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x11c6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
imul   $0xa,-0xc(%rbp),%esi
imul   $0xa,-0x10(%rbp),%edx
lea    0x11a8(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
lea    0x11a9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x1188(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
imul   $0x64,-0xc(%rbp),%esi
imul   $0x64,-0x10(%rbp),%edx
lea    0x117c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x117b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
imul   $0x64,-0xc(%rbp),%esi
imul   $0x64,-0x10(%rbp),%edx
lea    0x115d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
cvtsi2sdl -0x8(%rbp),%xmm0
movsd  0xbfb(%rip),%xmm1
divsd  %xmm1,%xmm0
lea    0x114b(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
cvtsi2sdl -0xc(%rbp),%xmm0
movsd  0xbcf(%rip),%xmm1
divsd  %xmm1,%xmm0
cvtsi2sdl -0x10(%rbp),%xmm1
movsd  0xbbe(%rip),%xmm2
divsd  %xmm2,%xmm1
lea    0x1121(%rip),%rdi
mov    $0x2,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x111b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0xc(%rbp),%esi
mov    -0x10(%rbp),%edx
lea    0x1110(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x110a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0xc(%rbp),%esi
mov    -0x10(%rbp),%edx
lea    0x10ee(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x10e9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    $0x1db,%esi
sub    -0xc(%rbp),%esi
mov    $0x1db,%edx
sub    -0x10(%rbp),%edx
lea    0x10c3(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x10b7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0xc(%rbp),%esi
mov    -0x10(%rbp),%edx
lea    0x109b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x1098(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
cvtsi2sdl -0x8(%rbp),%xmm0
movsd  0xac6(%rip),%xmm1
divsd  %xmm1,%xmm0
lea    0x1082(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
cvtsi2sdl -0xc(%rbp),%xmm0
movsd  0xa9a(%rip),%xmm1
divsd  %xmm1,%xmm0
cvtsi2sdl -0x10(%rbp),%xmm1
movsd  0xa89(%rip),%xmm2
divsd  %xmm2,%xmm1
lea    0x105e(%rip),%rdi
mov    $0x2,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    $0x44c,%esi
sub    -0xc(%rbp),%esi
mov    $0x44c,%edx
sub    -0x10(%rbp),%edx
lea    0xf82(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0x103c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
cvtsi2sdl -0xc(%rbp),%xmm1
movsd  0xa24(%rip),%xmm0
divsd  %xmm0,%xmm1
movsd  0xa10(%rip),%xmm0
subsd  %xmm1,%xmm0
cvtsi2sdl -0x10(%rbp),%xmm2
movsd  0xa07(%rip),%xmm1
divsd  %xmm1,%xmm2
movsd  0x9f3(%rip),%xmm1
subsd  %xmm2,%xmm1
lea    0xfff(%rip),%rdi
mov    $0x2,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0xc(%rbp),%esi
mov    $0x44c,%edx
sub    -0x10(%rbp),%edx
lea    0xf01(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
mov    -0x8(%rbp),%esi
lea    0xfdd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    165d <levels+0x54d>
jmp    165d <levels+0x54d>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<levels>:
lea    0xff(%rsi),%ecx
test   %esi,%esi
cmovns %esi,%ecx
add    $0xffffffff,%edi
cmp    $0xf3,%edi
ja     1253 <levels+0x143>
mov    %ecx,%eax
sar    $0x8,%eax
and    $0xffffff00,%ecx
mov    %esi,%edx
sub    %ecx,%edx
lea    0xee0(%rip),%rcx
movslq (%rcx,%rdi,4),%rdi
add    %rcx,%rdi
jmp    *%rdi
lea    0x12ee(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12ea(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12e8(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12e6(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12e4(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12e2(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12e0(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12de(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12dd(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12dc(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x1214(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x120a(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x1284(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x11f7(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x11f5(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x11f0(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x11ef(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x11ec(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x11e7(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
ret
lea    0x12df(%rip),%rdi
jmp    143b <levels+0x32b>
add    %eax,%eax
lea    (%rax,%rax,4),%esi
add    %edx,%edx
lea    (%rdx,%rdx,4),%edx
lea    0x12c6(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12cc(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12b3(%rip),%rdi
jmp    143b <levels+0x32b>
imul   $0x64,%eax,%esi
imul   $0x64,%edx,%edx
lea    0x12b0(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x12b7(%rip),%rdi
jmp    143b <levels+0x32b>
imul   $0x64,%eax,%esi
imul   $0x64,%edx,%edx
lea    0x12a2(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
cvtsi2sd %esi,%xmm0
divsd  0xd46(%rip),%xmm0
lea    0x129a(%rip),%rdi
mov    $0x1,%al
jmp    1030 <printf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xd24(%rip),%xmm2
cvtsi2sd %edx,%xmm1
divsd  %xmm2,%xmm0
divsd  %xmm2,%xmm1
lea    0x127f(%rip),%rdi
mov    $0x2,%al
jmp    1030 <printf@plt>
lea    0x1281(%rip),%rdi
jmp    143b <levels+0x32b>
lea    0x1283(%rip),%rdi
jmp    1369 <levels+0x259>
lea    0x128a(%rip),%rdi
jmp    143b <levels+0x32b>
lea    0x127b(%rip),%rdi
jmp    1369 <levels+0x259>
lea    0x1283(%rip),%rdi
jmp    143b <levels+0x32b>
mov    $0x1db,%ecx
mov    $0x1db,%esi
sub    %eax,%esi
sub    %edx,%ecx
lea    0x1266(%rip),%rdi
jmp    142b <levels+0x31b>
lea    0x1264(%rip),%rdi
jmp    143b <levels+0x32b>
lea    0x1255(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x1258(%rip),%rdi
jmp    143b <levels+0x32b>
cvtsi2sd %esi,%xmm0
divsd  0xc8e(%rip),%xmm0
lea    0x124e(%rip),%rdi
mov    $0x1,%al
jmp    1030 <printf@plt>
cvtsi2sd %eax,%xmm0
movsd  0xc6c(%rip),%xmm2
cvtsi2sd %edx,%xmm1
divsd  %xmm2,%xmm0
divsd  %xmm2,%xmm1
lea    0x1239(%rip),%rdi
mov    $0x2,%al
jmp    1030 <printf@plt>
mov    $0x44c,%ecx
mov    $0x44c,%esi
sub    %eax,%esi
sub    %edx,%ecx
lea    0x1164(%rip),%rdi
jmp    142b <levels+0x31b>
lea    0x122b(%rip),%rdi
jmp    143b <levels+0x32b>
cvtsi2sd %eax,%xmm2
movsd  0xc16(%rip),%xmm3
divsd  %xmm3,%xmm2
movsd  0xc12(%rip),%xmm1
movapd %xmm1,%xmm0
subsd  %xmm2,%xmm0
xorps  %xmm2,%xmm2
cvtsi2sd %edx,%xmm2
divsd  %xmm3,%xmm2
subsd  %xmm2,%xmm1
lea    0x1203(%rip),%rdi
mov    $0x2,%al
jmp    1030 <printf@plt>
mov    $0x44c,%ecx
sub    %edx,%ecx
lea    0x110e(%rip),%rdi
mov    %eax,%esi
mov    %ecx,%edx
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x11ee(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x106e(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x106d(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x1074(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x107b(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x1084(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x1086(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>
lea    0x1088(%rip),%rdi
xor    %eax,%eax
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [4 x i8] c"sfc\00"
@.str.1 = [9 x i8] c"cld base\00"
@.str.2 = [8 x i8] c"cld top\00"
@.str.3 = [12 x i8] c"0C isotherm\00"
@.str.4 = [9 x i8] c"cond lev\00"
@.str.5 = [13 x i8] c"max wind lev\00"
@.str.6 = [11 x i8] c"tropopause\00"
@.str.7 = [9 x i8] c"nom. top\00"
@.str.8 = [11 x i8] c"sea bottom\00"
@.str.9 = [10 x i8] c"atmos col\00"
@.str.10 = [12 x i8] c"low cld bot\00"
@.str.11 = [12 x i8] c"low cld top\00"
@.str.12 = [12 x i8] c"low cld lay\00"
@.str.13 = [12 x i8] c"mid cld bot\00"
@.str.14 = [12 x i8] c"mid cld top\00"
@.str.15 = [12 x i8] c"mid cld lay\00"
@.str.16 = [13 x i8] c"high cld bot\00"
@.str.17 = [13 x i8] c"high cld top\00"
@.str.18 = [13 x i8] c"high cld lay\00"
@.str.19 = [13 x i8] c"ocean column\00"
@.str.20 = [21 x i8] c"bndary-layer cld bot\00"
@.str.21 = [21 x i8] c"bndary-layer cld top\00"
@.str.22 = [23 x i8] c"bndary-layer cld layer\00"
@.str.23 = [16 x i8] c"convect-cld bot\00"
@.str.24 = [16 x i8] c"convect-cld top\00"
@.str.25 = [18 x i8] c"convect-cld layer\00"
@.str.26 = [6 x i8] c"%d mb\00"
@.str.27 = [9 x i8] c"%d-%d mb\00"
@.str.28 = [4 x i8] c"MSL\00"
@.str.29 = [15 x i8] c"%d m above MSL\00"
@.str.30 = [18 x i8] c"%d-%d m above msl\00"
@.str.31 = [15 x i8] c"%d m above gnd\00"
@.str.32 = [18 x i8] c"%d-%d m above gnd\00"
@.str.33 = [11 x i8] c"sigma=%.4f\00"
@.str.34 = [16 x i8] c"sigma %.2f-%.2f\00"
@.str.35 = [14 x i8] c"hybrid lev %d\00"
@.str.36 = [13 x i8] c"hybrid %d-%d\00"
@.str.37 = [11 x i8] c"%d cm down\00"
@.str.38 = [14 x i8] c"%d-%d cm down\00"
@.str.39 = [4 x i8] c"%dK\00"
@.str.40 = [7 x i8] c"%d-%dK\00"
@.str.41 = [16 x i8] c"%d mb above gnd\00"
@.str.42 = [19 x i8] c"%d-%d mb above gnd\00"
@.str.43 = [14 x i8] c"%d (pv units)\00"
@.str.44 = [17 x i8] c"%.5f (ETA level)\00"
@.str.45 = [23 x i8] c"%.2f-%.2f (ETA levels)\00"
@.str.46 = [16 x i8] c"%d cm above gnd\00"
@.str.47 = [18 x i8] c"%.3f-%.3f (sigma)\00"
@.str.48 = [21 x i8] c"%d m below sea level\00"
define void @levels(i32 %0, i32 %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
store i32 %0, i32* %3
store i32 %1, i32* %4
%7 = load i32, i32* %4
%8 = sdiv i32 %7, 256
store i32 %8, i32* %5
%9 = load i32, i32* %4
%10 = srem i32 %9, 256
store i32 %10, i32* %6
%11 = load i32, i32* %3
switch i32 %11, label %179 [
i32 1, label %12
i32 2, label %14
i32 3, label %16
i32 4, label %18
i32 5, label %20
i32 6, label %22
i32 7, label %24
i32 8, label %26
i32 9, label %28
i32 200, label %30
i32 10, label %30
i32 12, label %32
i32 212, label %32
i32 13, label %34
i32 213, label %34
i32 14, label %36
i32 214, label %36
i32 22, label %38
i32 222, label %38
i32 23, label %40
i32 223, label %40
i32 24, label %42
i32 224, label %42
i32 32, label %44
i32 232, label %44
i32 33, label %46
i32 233, label %46
i32 34, label %48
i32 234, label %48
i32 201, label %50
i32 209, label %52
i32 210, label %54
i32 211, label %56
i32 242, label %58
i32 243, label %60
i32 244, label %62
i32 100, label %64
i32 101, label %67
i32 102, label %73
i32 103, label %75
i32 104, label %78
i32 105, label %84
i32 106, label %87
i32 107, label %93
i32 108, label %98
i32 109, label %106
i32 110, label %109
i32 111, label %113
i32 112, label %116
i32 113, label %120
i32 114, label %123
i32 115, label %129
i32 116, label %132
i32 117, label %136
i32 119, label %139
i32 120, label %144
i32 121, label %152
i32 125, label %158
i32 128, label %161
i32 141, label %171
i32 160, label %176
]
12: ; preds = %2
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
br label %180
14: ; preds = %2
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0))
br label %180
16: ; preds = %2
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i64 0, i64 0))
br label %180
18: ; preds = %2
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0))
br label %180
20: ; preds = %2
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.4, i64 0, i64 0))
br label %180
22: ; preds = %2
%23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0))
br label %180
24: ; preds = %2
%25 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6, i64 0, i64 0))
br label %180
26: ; preds = %2
%27 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0))
br label %180
28: ; preds = %2
%29 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.8, i64 0, i64 0))
br label %180
30: ; preds = %2, %2
%31 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
br label %180
32: ; preds = %2, %2
%33 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.10, i64 0, i64 0))
br label %180
34: ; preds = %2, %2
%35 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11, i64 0, i64 0))
br label %180
36: ; preds = %2, %2
%37 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.12, i64 0, i64 0))
br label %180
38: ; preds = %2, %2
%39 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.13, i64 0, i64 0))
br label %180
40: ; preds = %2, %2
%41 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.14, i64 0, i64 0))
br label %180
42: ; preds = %2, %2
%43 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0))
br label %180
44: ; preds = %2, %2
%45 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0))
br label %180
46: ; preds = %2, %2
%47 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0))
br label %180
48: ; preds = %2, %2
%49 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.18, i64 0, i64 0))
br label %180
50: ; preds = %2
%51 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0))
br label %180
52: ; preds = %2
%53 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.20, i64 0, i64 0))
br label %180
54: ; preds = %2
%55 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %180
56: ; preds = %2
%57 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.22, i64 0, i64 0))
br label %180
58: ; preds = %2
%59 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.23, i64 0, i64 0))
br label %180
60: ; preds = %2
%61 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.24, i64 0, i64 0))
br label %180
62: ; preds = %2
%63 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.25, i64 0, i64 0))
br label %180
64: ; preds = %2
%65 = load i32, i32* %4
%66 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i64 0, i64 0), i32 %65)
br label %180
67: ; preds = %2
%68 = load i32, i32* %5
%69 = mul nsw i32 %68, 10
%70 = load i32, i32* %6
%71 = mul nsw i32 %70, 10
%72 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 %69, i32 %71)
br label %180
73: ; preds = %2
%74 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0))
br label %180
75: ; preds = %2
%76 = load i32, i32* %4
%77 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.29, i64 0, i64 0), i32 %76)
br label %180
78: ; preds = %2
%79 = load i32, i32* %5
%80 = mul nsw i32 %79, 100
%81 = load i32, i32* %6
%82 = mul nsw i32 %81, 100
%83 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0), i32 %80, i32 %82)
br label %180
84: ; preds = %2
%85 = load i32, i32* %4
%86 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.31, i64 0, i64 0), i32 %85)
br label %180
87: ; preds = %2
%88 = load i32, i32* %5
%89 = mul nsw i32 %88, 100
%90 = load i32, i32* %6
%91 = mul nsw i32 %90, 100
%92 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.32, i64 0, i64 0), i32 %89, i32 %91)
br label %180
93: ; preds = %2
%94 = load i32, i32* %4
%95 = sitofp i32 %94 to double
%96 = fdiv double %95, 1.000000e+04
%97 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.33, i64 0, i64 0), double %96)
br label %180
98: ; preds = %2
%99 = load i32, i32* %5
%100 = sitofp i32 %99 to double
%101 = fdiv double %100, 1.000000e+02
%102 = load i32, i32* %6
%103 = sitofp i32 %102 to double
%104 = fdiv double %103, 1.000000e+02
%105 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.34, i64 0, i64 0), double %101, double %104)
br label %180
106: ; preds = %2
%107 = load i32, i32* %4
%108 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.35, i64 0, i64 0), i32 %107)
br label %180
109: ; preds = %2
%110 = load i32, i32* %5
%111 = load i32, i32* %6
%112 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.36, i64 0, i64 0), i32 %110, i32 %111)
br label %180
113: ; preds = %2
%114 = load i32, i32* %4
%115 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.37, i64 0, i64 0), i32 %114)
br label %180
116: ; preds = %2
%117 = load i32, i32* %5
%118 = load i32, i32* %6
%119 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.38, i64 0, i64 0), i32 %117, i32 %118)
br label %180
120: ; preds = %2
%121 = load i32, i32* %4
%122 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.39, i64 0, i64 0), i32 %121)
br label %180
123: ; preds = %2
%124 = load i32, i32* %5
%125 = sub nsw i32 475, %124
%126 = load i32, i32* %6
%127 = sub nsw i32 475, %126
%128 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i64 0, i64 0), i32 %125, i32 %127)
br label %180
129: ; preds = %2
%130 = load i32, i32* %4
%131 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.41, i64 0, i64 0), i32 %130)
br label %180
132: ; preds = %2
%133 = load i32, i32* %5
%134 = load i32, i32* %6
%135 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.42, i64 0, i64 0), i32 %133, i32 %134)
br label %180
136: ; preds = %2
%137 = load i32, i32* %4
%138 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.43, i64 0, i64 0), i32 %137)
br label %180
139: ; preds = %2
%140 = load i32, i32* %4
%141 = sitofp i32 %140 to double
%142 = fdiv double %141, 1.000000e+04
%143 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.44, i64 0, i64 0), double %142)
br label %180
144: ; preds = %2
%145 = load i32, i32* %5
%146 = sitofp i32 %145 to double
%147 = fdiv double %146, 1.000000e+02
%148 = load i32, i32* %6
%149 = sitofp i32 %148 to double
%150 = fdiv double %149, 1.000000e+02
%151 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0), double %147, double %150)
br label %180
152: ; preds = %2
%153 = load i32, i32* %5
%154 = sub nsw i32 1100, %153
%155 = load i32, i32* %6
%156 = sub nsw i32 1100, %155
%157 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 %154, i32 %156)
br label %180
158: ; preds = %2
%159 = load i32, i32* %4
%160 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.46, i64 0, i64 0), i32 %159)
br label %180
161: ; preds = %2
%162 = load i32, i32* %5
%163 = sitofp i32 %162 to double
%164 = fdiv double %163, 1.000000e+03
%165 = fsub double 1.100000e+00, %164
%166 = load i32, i32* %6
%167 = sitofp i32 %166 to double
%168 = fdiv double %167, 1.000000e+03
%169 = fsub double 1.100000e+00, %168
%170 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.47, i64 0, i64 0), double %165, double %169)
br label %180
171: ; preds = %2
%172 = load i32, i32* %5
%173 = load i32, i32* %6
%174 = sub nsw i32 1100, %173
%175 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 %172, i32 %174)
br label %180
176: ; preds = %2
%177 = load i32, i32* %4
%178 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.48, i64 0, i64 0), i32 %177)
br label %180
179: ; preds = %2
br label %180
180: ; preds = %179, %176, %171, %161, %158, %152, %144, %139, %136, %132, %129, %123, %120, %116, %113, %109, %106, %98, %93, %87, %84, %78, %75, %73, %67, %64, %62, %60, %58, %56, %54, %52, %50, %48, %46, %44, %42, %40, %38, %36, %34, %32, %30, %28, %26, %24, %22, %20, %18, %16, %14, %12
ret void
}

LLVM IR (-O2):
@.str = [4 x i8] c"sfc\00"
@.str.1 = [9 x i8] c"cld base\00"
@.str.2 = [8 x i8] c"cld top\00"
@.str.3 = [12 x i8] c"0C isotherm\00"
@.str.4 = [9 x i8] c"cond lev\00"
@.str.5 = [13 x i8] c"max wind lev\00"
@.str.6 = [11 x i8] c"tropopause\00"
@.str.7 = [9 x i8] c"nom. top\00"
@.str.8 = [11 x i8] c"sea bottom\00"
@.str.9 = [10 x i8] c"atmos col\00"
@.str.10 = [12 x i8] c"low cld bot\00"
@.str.11 = [12 x i8] c"low cld top\00"
@.str.12 = [12 x i8] c"low cld lay\00"
@.str.13 = [12 x i8] c"mid cld bot\00"
@.str.14 = [12 x i8] c"mid cld top\00"
@.str.15 = [12 x i8] c"mid cld lay\00"
@.str.16 = [13 x i8] c"high cld bot\00"
@.str.17 = [13 x i8] c"high cld top\00"
@.str.18 = [13 x i8] c"high cld lay\00"
@.str.19 = [13 x i8] c"ocean column\00"
@.str.20 = [21 x i8] c"bndary-layer cld bot\00"
@.str.21 = [21 x i8] c"bndary-layer cld top\00"
@.str.22 = [23 x i8] c"bndary-layer cld layer\00"
@.str.23 = [16 x i8] c"convect-cld bot\00"
@.str.24 = [16 x i8] c"convect-cld top\00"
@.str.25 = [18 x i8] c"convect-cld layer\00"
@.str.26 = [6 x i8] c"%d mb\00"
@.str.27 = [9 x i8] c"%d-%d mb\00"
@.str.28 = [4 x i8] c"MSL\00"
@.str.29 = [15 x i8] c"%d m above MSL\00"
@.str.30 = [18 x i8] c"%d-%d m above msl\00"
@.str.31 = [15 x i8] c"%d m above gnd\00"
@.str.32 = [18 x i8] c"%d-%d m above gnd\00"
@.str.33 = [11 x i8] c"sigma=%.4f\00"
@.str.34 = [16 x i8] c"sigma %.2f-%.2f\00"
@.str.35 = [14 x i8] c"hybrid lev %d\00"
@.str.36 = [13 x i8] c"hybrid %d-%d\00"
@.str.37 = [11 x i8] c"%d cm down\00"
@.str.38 = [14 x i8] c"%d-%d cm down\00"
@.str.39 = [4 x i8] c"%dK\00"
@.str.40 = [7 x i8] c"%d-%dK\00"
@.str.41 = [16 x i8] c"%d mb above gnd\00"
@.str.42 = [19 x i8] c"%d-%d mb above gnd\00"
@.str.43 = [14 x i8] c"%d (pv units)\00"
@.str.44 = [17 x i8] c"%.5f (ETA level)\00"
@.str.45 = [23 x i8] c"%.2f-%.2f (ETA levels)\00"
@.str.46 = [16 x i8] c"%d cm above gnd\00"
@.str.47 = [18 x i8] c"%.3f-%.3f (sigma)\00"
@.str.48 = [21 x i8] c"%d m below sea level\00"
define void @levels(i32 %0, i32 %1) {
%3 = sdiv i32 %1, 256
%4 = srem i32 %1, 256
switch i32 %0, label %136 [
i32 1, label %5
i32 2, label %7
i32 3, label %9
i32 4, label %11
i32 5, label %13
i32 6, label %15
i32 7, label %17
i32 8, label %19
i32 9, label %21
i32 200, label %23
i32 10, label %23
i32 12, label %25
i32 212, label %25
i32 13, label %27
i32 213, label %27
i32 14, label %29
i32 214, label %29
i32 22, label %31
i32 222, label %31
i32 23, label %33
i32 223, label %33
i32 24, label %35
i32 224, label %35
i32 32, label %37
i32 232, label %37
i32 33, label %39
i32 233, label %39
i32 34, label %41
i32 234, label %41
i32 201, label %43
i32 209, label %45
i32 210, label %47
i32 211, label %49
i32 242, label %51
i32 243, label %53
i32 244, label %55
i32 100, label %57
i32 101, label %59
i32 102, label %63
i32 103, label %65
i32 104, label %67
i32 105, label %71
i32 106, label %73
i32 107, label %77
i32 108, label %81
i32 109, label %87
i32 110, label %89
i32 111, label %91
i32 112, label %93
i32 113, label %95
i32 114, label %97
i32 115, label %101
i32 116, label %103
i32 117, label %105
i32 119, label %107
i32 120, label %111
i32 121, label %117
i32 125, label %121
i32 128, label %123
i32 141, label %131
i32 160, label %134
]
5: ; preds = %2
%6 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
br label %136
7: ; preds = %2
%8 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0))
br label %136
9: ; preds = %2
%10 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i64 0, i64 0))
br label %136
11: ; preds = %2
%12 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0))
br label %136
13: ; preds = %2
%14 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.4, i64 0, i64 0))
br label %136
15: ; preds = %2
%16 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0))
br label %136
17: ; preds = %2
%18 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6, i64 0, i64 0))
br label %136
19: ; preds = %2
%20 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0))
br label %136
21: ; preds = %2
%22 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.8, i64 0, i64 0))
br label %136
23: ; preds = %2, %2
%24 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
br label %136
25: ; preds = %2, %2
%26 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.10, i64 0, i64 0))
br label %136
27: ; preds = %2, %2
%28 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11, i64 0, i64 0))
br label %136
29: ; preds = %2, %2
%30 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.12, i64 0, i64 0))
br label %136
31: ; preds = %2, %2
%32 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.13, i64 0, i64 0))
br label %136
33: ; preds = %2, %2
%34 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.14, i64 0, i64 0))
br label %136
35: ; preds = %2, %2
%36 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0))
br label %136
37: ; preds = %2, %2
%38 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.16, i64 0, i64 0))
br label %136
39: ; preds = %2, %2
%40 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.17, i64 0, i64 0))
br label %136
41: ; preds = %2, %2
%42 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.18, i64 0, i64 0))
br label %136
43: ; preds = %2
%44 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.19, i64 0, i64 0))
br label %136
45: ; preds = %2
%46 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @.str.20, i64 0, i64 0))
br label %136
47: ; preds = %2
%48 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @.str.21, i64 0, i64 0))
br label %136
49: ; preds = %2
%50 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.22, i64 0, i64 0))
br label %136
51: ; preds = %2
%52 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.23, i64 0, i64 0))
br label %136
53: ; preds = %2
%54 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.24, i64 0, i64 0))
br label %136
55: ; preds = %2
%56 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.25, i64 0, i64 0))
br label %136
57: ; preds = %2
%58 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i64 0, i64 0), i32 %1)
br label %136
59: ; preds = %2
%60 = mul nsw i32 %3, 10
%61 = mul nsw i32 %4, 10
%62 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 %60, i32 %61)
br label %136
63: ; preds = %2
%64 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0))
br label %136
65: ; preds = %2
%66 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.29, i64 0, i64 0), i32 %1)
br label %136
67: ; preds = %2
%68 = mul nsw i32 %3, 100
%69 = mul nsw i32 %4, 100
%70 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0), i32 %68, i32 %69)
br label %136
71: ; preds = %2
%72 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.31, i64 0, i64 0), i32 %1)
br label %136
73: ; preds = %2
%74 = mul nsw i32 %3, 100
%75 = mul nsw i32 %4, 100
%76 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.32, i64 0, i64 0), i32 %74, i32 %75)
br label %136
77: ; preds = %2
%78 = sitofp i32 %1 to double
%79 = fdiv double %78, 1.000000e+04
%80 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.33, i64 0, i64 0), double %79)
br label %136
81: ; preds = %2
%82 = sitofp i32 %3 to double
%83 = fdiv double %82, 1.000000e+02
%84 = sitofp i32 %4 to double
%85 = fdiv double %84, 1.000000e+02
%86 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.34, i64 0, i64 0), double %83, double %85)
br label %136
87: ; preds = %2
%88 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.35, i64 0, i64 0), i32 %1)
br label %136
89: ; preds = %2
%90 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.36, i64 0, i64 0), i32 %3, i32 %4)
br label %136
91: ; preds = %2
%92 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.37, i64 0, i64 0), i32 %1)
br label %136
93: ; preds = %2
%94 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.38, i64 0, i64 0), i32 %3, i32 %4)
br label %136
95: ; preds = %2
%96 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.39, i64 0, i64 0), i32 %1)
br label %136
97: ; preds = %2
%98 = sub nsw i32 475, %3
%99 = sub nsw i32 475, %4
%100 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.40, i64 0, i64 0), i32 %98, i32 %99)
br label %136
101: ; preds = %2
%102 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.41, i64 0, i64 0), i32 %1)
br label %136
103: ; preds = %2
%104 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.42, i64 0, i64 0), i32 %3, i32 %4)
br label %136
105: ; preds = %2
%106 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.43, i64 0, i64 0), i32 %1)
br label %136
107: ; preds = %2
%108 = sitofp i32 %1 to double
%109 = fdiv double %108, 1.000000e+04
%110 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.44, i64 0, i64 0), double %109)
br label %136
111: ; preds = %2
%112 = sitofp i32 %3 to double
%113 = fdiv double %112, 1.000000e+02
%114 = sitofp i32 %4 to double
%115 = fdiv double %114, 1.000000e+02
%116 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.45, i64 0, i64 0), double %113, double %115)
br label %136
117: ; preds = %2
%118 = sub nsw i32 1100, %3
%119 = sub nsw i32 1100, %4
%120 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 %118, i32 %119)
br label %136
121: ; preds = %2
%122 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.46, i64 0, i64 0), i32 %1)
br label %136
123: ; preds = %2
%124 = sitofp i32 %3 to double
%125 = fdiv double %124, 1.000000e+03
%126 = fsub double 1.100000e+00, %125
%127 = sitofp i32 %4 to double
%128 = fdiv double %127, 1.000000e+03
%129 = fsub double 1.100000e+00, %128
%130 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.47, i64 0, i64 0), double %126, double %129)
br label %136
131: ; preds = %2
%132 = sub nsw i32 1100, %4
%133 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i32 %3, i32 %132)
br label %136
134: ; preds = %2
%135 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @.str.48, i64 0, i64 0), i32 %1)
br label %136
136: ; preds = %2, %134, %131, %123, %121, %117, %111, %107, %105, %103, %101, %97, %95, %93, %91, %89, %87, %81, %77, %73, %71, %67, %65, %63, %59, %57, %55, %53, %51, %49, %47, %45, %43, %41, %39, %37, %35, %33, %31, %29, %27, %25, %23, %21, %19, %17, %15, %13, %11, %9, %7, %5
ret void
}