#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*/ exit(int);
int /*<<< orphan*/ printf(char *);
double Z2mass(int Z) {
  double mass;
  switch (Z) {
  case 1:
    mass = 1.008;
    break;
  case 2:
    mass = 4.003;
    break;
  case 3:
    mass = 6.941;
    break;
  case 4:
    mass = 9.012;
    break;
  case 5:
    mass = 10.81;
    break;
  case 6:
    mass = 12.01;
    break;
  case 7:
    mass = 14.01;
    break;
  case 8:
    mass = 16.00;
    break;
  case 9:
    mass = 19.00;
    break;
  case 10:
    mass = 20.18;
    break;
  case 11:
    mass = 22.99;
    break;
  case 12:
    mass = 24.31;
    break;
  case 13:
    mass = 26.98;
    break;
  case 14:
    mass = 28.09;
    break;
  case 15:
    mass = 30.97;
    break;
  case 16:
    mass = 32.07;
    break;
  case 17:
    mass = 35.45;
    break;
  case 18:
    mass = 39.95;
    break;
  case 19:
    mass = 39.10;
    break;
  case 20:
    mass = 40.08;
    break;
  case 21:
    mass = 44.96;
    break;
  case 22:
    mass = 47.87;
    break;
  case 23:
    mass = 50.94;
    break;
  case 24:
    mass = 52.00;
    break;
  case 25:
    mass = 54.94;
    break;
  case 26:
    mass = 55.84;
    break;
  case 27:
    mass = 58.93;
    break;
  case 28:
    mass = 58.69;
    break;
  case 29:
    mass = 63.55;
    break;
  case 30:
    mass = 65.39;
    break;
  case 31:
    mass = 69.72;
    break;
  case 32:
    mass = 72.61;
    break;
  case 33:
    mass = 74.92;
    break;
  case 34:
    mass = 78.96;
    break;
  case 35:
    mass = 79.90;
    break;
  case 36:
    mass = 83.80;
    break;
  case 37:
    mass = 85.47;
    break;
  case 38:
    mass = 87.62;
    break;
  case 39:
    mass = 88.91;
    break;
  case 40:
    mass = 91.22;
    break;
  case 41:
    mass = 92.91;
    break;
  case 42:
    mass = 95.94;
    break;
  case 43:
    mass = 99.00;
    break;
  case 44:
    mass = 101.07;
    break;
  case 45:
    mass = 102.91;
    break;
  case 46:
    mass = 106.42;
    break;
  case 47:
    mass = 107.87;
    break;
  case 48:
    mass = 112.41;
    break;
  case 49:
    mass = 114.82;
    break;
  case 50:
    mass = 118.71;
    break;
  case 51:
    mass = 121.76;
    break;
  case 52:
    mass = 127.60;
    break;
  case 53:
    mass = 126.90;
    break;
  case 54:
    mass = 131.29;
    break;
  case 55:
    mass = 132.91;
    break;
  case 56:
    mass = 137.33;
    break;
  case 57:
    mass = 138.91;
    break;
  case 58:
    mass = 140.12;
    break;
  case 59:
    mass = 140.91;
    break;
  case 60:
    mass = 144.24;
    break;
  case 61:
    mass = 145.00;
    break;
  case 62:
    mass = 150.36;
    break;
  case 63:
    mass = 151.96;
    break;
  case 64:
    mass = 157.25;
    break;
  case 65:
    mass = 158.93;
    break;
  case 66:
    mass = 162.50;
    break;
  case 67:
    mass = 164.93;
    break;
  case 68:
    mass = 167.26;
    break;
  case 69:
    mass = 168.93;
    break;
  case 70:
    mass = 173.04;
    break;
  case 71:
    mass = 174.97;
    break;
  case 72:
    mass = 178.49;
    break;
  case 73:
    mass = 180.95;
    break;
  case 74:
    mass = 183.84;
    break;
  case 75:
    mass = 186.21;
    break;
  case 76:
    mass = 190.23;
    break;
  case 77:
    mass = 192.22;
    break;
  case 78:
    mass = 195.08;
    break;
  case 79:
    mass = 196.97;
    break;
  case 80:
    mass = 200.59;
    break;
  case 81:
    mass = 204.38;
    break;
  case 82:
    mass = 207.2;
    break;
  case 83:
    mass = 208.98;
    break;
  case 84:
    mass = 209;
    break;
  case 85:
    mass = 210;
    break;
  case 86:
    mass = 222;
    break;
  case 87:
    mass = 223;
    break;
  case 88:
    mass = 226;
    break;
  case 89:
    mass = 227;
    break;
  case 90:
    mass = 232.04;
    break;
  case 91:
    mass = 231.04;
    break;
  case 92:
    mass = 238.03;
    break;
  case 93:
    mass = 237;
    break;
  case 94:
    mass = 244;
    break;
  case 95:
    mass = 243;
    break;
  case 96:
    mass = 247;
    break;
  case 97:
    mass = 247;
    break;
  case 98:
    mass = 251;
    break;
  case 99:
    mass = 252;
    break;
  case 100:
    mass = 257;
    break;
  case 101:
    mass = 258;
    break;
  case 102:
    mass = 259;
    break;
  case 103:
    mass = 262;
    break;
  default:
    printf("Z2kg not supported atom type\n");
    exit(-1);
  }
  return mass;
}


x86 assembly (clang, -O0):
<Z2mass>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0x66,%eax
ja     1892 <Z2mass+0x772>
mov    -0x18(%rbp),%rax
lea    0x11e5(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x11cc(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x11b2(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1198(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x117e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1164(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x114a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1130(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1116(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x10fc(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x10e2(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x10c8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x10ae(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1094(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x107a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1060(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1046(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x102c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x1012(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xff8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xfde(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xfc4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xfaa(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xf90(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xf76(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xf5c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xf42(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xf28(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xf0e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xef4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xeda(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xec0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xea6(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xe8c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xe72(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xe58(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xe3e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xe24(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xe0a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xdf0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xdd6(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xdbc(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xda2(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xd88(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xd6e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xd54(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xd3a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xd20(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xd06(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xcec(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xcd2(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xcb8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xc9e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xc84(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xc6a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xc50(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xc36(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xc1c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xc02(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xbe8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xbce(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xbb4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xb9a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xb80(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xb66(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xb4c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xb32(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xb18(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xafe(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xae4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xaca(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xab0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xa96(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xa7c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xa62(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xa48(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xa2e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0xa14(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x9fa(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x9e0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x9c6(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x9ac(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x992(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x978(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x95e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x944(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x92a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x910(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x8f6(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x8dc(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x8c2(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x8a8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x88e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x874(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x85a(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x840(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x826(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x814(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x7fa(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x7e0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x7c6(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x7ac(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x792(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
movsd  0x778(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
jmp    18a8 <Z2mass+0x788>
lea    0xc33(%rip),%rdi
call   1030 <printf@plt>
mov    $0xffffffff,%edi
call   1040 <exit@plt>
movsd  -0x10(%rbp),%xmm0
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<Z2mass>:
push   %rax
add    $0xffffffff,%edi
cmp    $0x67,%edi
jae    113a <Z2mass+0x1a>
movslq %edi,%rax
lea    0xeed(%rip),%rcx
movsd  (%rcx,%rax,8),%xmm0
pop    %rax
ret
lea    0xebf(%rip),%rdi
call   1030 <puts@plt>
mov    $0xffffffff,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@.str = [30 x i8] c"Z2kg not supported atom type\0A\00"
define double @Z2mass(i32 %0) {
%2 = alloca i32
%3 = alloca double
store i32 %0, i32* %2
%4 = load i32, i32* %2
switch i32 %4, label %108 [
i32 1, label %5
i32 2, label %6
i32 3, label %7
i32 4, label %8
i32 5, label %9
i32 6, label %10
i32 7, label %11
i32 8, label %12
i32 9, label %13
i32 10, label %14
i32 11, label %15
i32 12, label %16
i32 13, label %17
i32 14, label %18
i32 15, label %19
i32 16, label %20
i32 17, label %21
i32 18, label %22
i32 19, label %23
i32 20, label %24
i32 21, label %25
i32 22, label %26
i32 23, label %27
i32 24, label %28
i32 25, label %29
i32 26, label %30
i32 27, label %31
i32 28, label %32
i32 29, label %33
i32 30, label %34
i32 31, label %35
i32 32, label %36
i32 33, label %37
i32 34, label %38
i32 35, label %39
i32 36, label %40
i32 37, label %41
i32 38, label %42
i32 39, label %43
i32 40, label %44
i32 41, label %45
i32 42, label %46
i32 43, label %47
i32 44, label %48
i32 45, label %49
i32 46, label %50
i32 47, label %51
i32 48, label %52
i32 49, label %53
i32 50, label %54
i32 51, label %55
i32 52, label %56
i32 53, label %57
i32 54, label %58
i32 55, label %59
i32 56, label %60
i32 57, label %61
i32 58, label %62
i32 59, label %63
i32 60, label %64
i32 61, label %65
i32 62, label %66
i32 63, label %67
i32 64, label %68
i32 65, label %69
i32 66, label %70
i32 67, label %71
i32 68, label %72
i32 69, label %73
i32 70, label %74
i32 71, label %75
i32 72, label %76
i32 73, label %77
i32 74, label %78
i32 75, label %79
i32 76, label %80
i32 77, label %81
i32 78, label %82
i32 79, label %83
i32 80, label %84
i32 81, label %85
i32 82, label %86
i32 83, label %87
i32 84, label %88
i32 85, label %89
i32 86, label %90
i32 87, label %91
i32 88, label %92
i32 89, label %93
i32 90, label %94
i32 91, label %95
i32 92, label %96
i32 93, label %97
i32 94, label %98
i32 95, label %99
i32 96, label %100
i32 97, label %101
i32 98, label %102
i32 99, label %103
i32 100, label %104
i32 101, label %105
i32 102, label %106
i32 103, label %107
]
5: ; preds = %1
store double 1.008000e+00, double* %3
br label %111
6: ; preds = %1
store double 4.003000e+00, double* %3
br label %111
7: ; preds = %1
store double 6.941000e+00, double* %3
br label %111
8: ; preds = %1
store double 9.012000e+00, double* %3
br label %111
9: ; preds = %1
store double 1.081000e+01, double* %3
br label %111
10: ; preds = %1
store double 1.201000e+01, double* %3
br label %111
11: ; preds = %1
store double 1.401000e+01, double* %3
br label %111
12: ; preds = %1
store double 1.600000e+01, double* %3
br label %111
13: ; preds = %1
store double 1.900000e+01, double* %3
br label %111
14: ; preds = %1
store double 2.018000e+01, double* %3
br label %111
15: ; preds = %1
store double 2.299000e+01, double* %3
br label %111
16: ; preds = %1
store double 2.431000e+01, double* %3
br label %111
17: ; preds = %1
store double 2.698000e+01, double* %3
br label %111
18: ; preds = %1
store double 2.809000e+01, double* %3
br label %111
19: ; preds = %1
store double 3.097000e+01, double* %3
br label %111
20: ; preds = %1
store double 3.207000e+01, double* %3
br label %111
21: ; preds = %1
store double 3.545000e+01, double* %3
br label %111
22: ; preds = %1
store double 3.995000e+01, double* %3
br label %111
23: ; preds = %1
store double 3.910000e+01, double* %3
br label %111
24: ; preds = %1
store double 4.008000e+01, double* %3
br label %111
25: ; preds = %1
store double 4.496000e+01, double* %3
br label %111
26: ; preds = %1
store double 4.787000e+01, double* %3
br label %111
27: ; preds = %1
store double 5.094000e+01, double* %3
br label %111
28: ; preds = %1
store double 5.200000e+01, double* %3
br label %111
29: ; preds = %1
store double 5.494000e+01, double* %3
br label %111
30: ; preds = %1
store double 5.584000e+01, double* %3
br label %111
31: ; preds = %1
store double 0x404D770A3D70A3D7, double* %3
br label %111
32: ; preds = %1
store double 0x404D5851EB851EB8, double* %3
br label %111
33: ; preds = %1
store double 6.355000e+01, double* %3
br label %111
34: ; preds = %1
store double 6.539000e+01, double* %3
br label %111
35: ; preds = %1
store double 6.972000e+01, double* %3
br label %111
36: ; preds = %1
store double 7.261000e+01, double* %3
br label %111
37: ; preds = %1
store double 7.492000e+01, double* %3
br label %111
38: ; preds = %1
store double 0x4053BD70A3D70A3D, double* %3
br label %111
39: ; preds = %1
store double 7.990000e+01, double* %3
br label %111
40: ; preds = %1
store double 0x4054F33333333333, double* %3
br label %111
41: ; preds = %1
store double 8.547000e+01, double* %3
br label %111
42: ; preds = %1
store double 8.762000e+01, double* %3
br label %111
43: ; preds = %1
store double 8.891000e+01, double* %3
br label %111
44: ; preds = %1
store double 9.122000e+01, double* %3
br label %111
45: ; preds = %1
store double 0x40573A3D70A3D70A, double* %3
br label %111
46: ; preds = %1
store double 0x4057FC28F5C28F5C, double* %3
br label %111
47: ; preds = %1
store double 9.900000e+01, double* %3
br label %111
48: ; preds = %1
store double 1.010700e+02, double* %3
br label %111
49: ; preds = %1
store double 1.029100e+02, double* %3
br label %111
50: ; preds = %1
store double 1.064200e+02, double* %3
br label %111
51: ; preds = %1
store double 1.078700e+02, double* %3
br label %111
52: ; preds = %1
store double 1.124100e+02, double* %3
br label %111
53: ; preds = %1
store double 1.148200e+02, double* %3
br label %111
54: ; preds = %1
store double 1.187100e+02, double* %3
br label %111
55: ; preds = %1
store double 1.217600e+02, double* %3
br label %111
56: ; preds = %1
store double 1.276000e+02, double* %3
br label %111
57: ; preds = %1
store double 1.269000e+02, double* %3
br label %111
58: ; preds = %1
store double 1.312900e+02, double* %3
br label %111
59: ; preds = %1
store double 1.329100e+02, double* %3
br label %111
60: ; preds = %1
store double 1.373300e+02, double* %3
br label %111
61: ; preds = %1
store double 1.389100e+02, double* %3
br label %111
62: ; preds = %1
store double 1.401200e+02, double* %3
br label %111
63: ; preds = %1
store double 1.409100e+02, double* %3
br label %111
64: ; preds = %1
store double 1.442400e+02, double* %3
br label %111
65: ; preds = %1
store double 1.450000e+02, double* %3
br label %111
66: ; preds = %1
store double 1.503600e+02, double* %3
br label %111
67: ; preds = %1
store double 1.519600e+02, double* %3
br label %111
68: ; preds = %1
store double 1.572500e+02, double* %3
br label %111
69: ; preds = %1
store double 1.589300e+02, double* %3
br label %111
70: ; preds = %1
store double 1.625000e+02, double* %3
br label %111
71: ; preds = %1
store double 1.649300e+02, double* %3
br label %111
72: ; preds = %1
store double 1.672600e+02, double* %3
br label %111
73: ; preds = %1
store double 1.689300e+02, double* %3
br label %111
74: ; preds = %1
store double 1.730400e+02, double* %3
br label %111
75: ; preds = %1
store double 1.749700e+02, double* %3
br label %111
76: ; preds = %1
store double 1.784900e+02, double* %3
br label %111
77: ; preds = %1
store double 1.809500e+02, double* %3
br label %111
78: ; preds = %1
store double 1.838400e+02, double* %3
br label %111
79: ; preds = %1
store double 1.862100e+02, double* %3
br label %111
80: ; preds = %1
store double 1.902300e+02, double* %3
br label %111
81: ; preds = %1
store double 1.922200e+02, double* %3
br label %111
82: ; preds = %1
store double 1.950800e+02, double* %3
br label %111
83: ; preds = %1
store double 1.969700e+02, double* %3
br label %111
84: ; preds = %1
store double 2.005900e+02, double* %3
br label %111
85: ; preds = %1
store double 2.043800e+02, double* %3
br label %111
86: ; preds = %1
store double 2.072000e+02, double* %3
br label %111
87: ; preds = %1
store double 2.089800e+02, double* %3
br label %111
88: ; preds = %1
store double 2.090000e+02, double* %3
br label %111
89: ; preds = %1
store double 2.100000e+02, double* %3
br label %111
90: ; preds = %1
store double 2.220000e+02, double* %3
br label %111
91: ; preds = %1
store double 2.230000e+02, double* %3
br label %111
92: ; preds = %1
store double 2.260000e+02, double* %3
br label %111
93: ; preds = %1
store double 2.270000e+02, double* %3
br label %111
94: ; preds = %1
store double 2.320400e+02, double* %3
br label %111
95: ; preds = %1
store double 2.310400e+02, double* %3
br label %111
96: ; preds = %1
store double 2.380300e+02, double* %3
br label %111
97: ; preds = %1
store double 2.370000e+02, double* %3
br label %111
98: ; preds = %1
store double 2.440000e+02, double* %3
br label %111
99: ; preds = %1
store double 2.430000e+02, double* %3
br label %111
100: ; preds = %1
store double 2.470000e+02, double* %3
br label %111
101: ; preds = %1
store double 2.470000e+02, double* %3
br label %111
102: ; preds = %1
store double 2.510000e+02, double* %3
br label %111
103: ; preds = %1
store double 2.520000e+02, double* %3
br label %111
104: ; preds = %1
store double 2.570000e+02, double* %3
br label %111
105: ; preds = %1
store double 2.580000e+02, double* %3
br label %111
106: ; preds = %1
store double 2.590000e+02, double* %3
br label %111
107: ; preds = %1
store double 2.620000e+02, double* %3
br label %111
108: ; preds = %1
%109 = call i32 @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str, i64 0, i64 0))
%110 = call i32 @exit(i32 -1)
unreachable
111: ; preds = %107, %106, %105, %104, %103, %102, %101, %100, %99, %98, %97, %96, %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6, %5
%112 = load double, double* %3
ret double %112
}

LLVM IR (-O2):
@str = [29 x i8] c"Z2kg not supported atom type\00"
@switch.table.Z2mass = [103 x double] [double 1.008000e+00, double 4.003000e+00, double 6.941000e+00, double 9.012000e+00, double 1.081000e+01, double 1.201000e+01, double 1.401000e+01, double 1.600000e+01, double 1.900000e+01, double 2.018000e+01, double 2.299000e+01, double 2.431000e+01, double 2.698000e+01, double 2.809000e+01, double 3.097000e+01, double 3.207000e+01, double 3.545000e+01, double 3.995000e+01, double 3.910000e+01, double 4.008000e+01, double 4.496000e+01, double 4.787000e+01, double 5.094000e+01, double 5.200000e+01, double 5.494000e+01, double 5.584000e+01, double 0x404D770A3D70A3D7, double 0x404D5851EB851EB8, double 6.355000e+01, double 6.539000e+01, double 6.972000e+01, double 7.261000e+01, double 7.492000e+01, double 0x4053BD70A3D70A3D, double 7.990000e+01, double 0x4054F33333333333, double 8.547000e+01, double 8.762000e+01, double 8.891000e+01, double 9.122000e+01, double 0x40573A3D70A3D70A, double 0x4057FC28F5C28F5C, double 9.900000e+01, double 1.010700e+02, double 1.029100e+02, double 1.064200e+02, double 1.078700e+02, double 1.124100e+02, double 1.148200e+02, double 1.187100e+02, double 1.217600e+02, double 1.276000e+02, double 1.269000e+02, double 1.312900e+02, double 1.329100e+02, double 1.373300e+02, double 1.389100e+02, double 1.401200e+02, double 1.409100e+02, double 1.442400e+02, double 1.450000e+02, double 1.503600e+02, double 1.519600e+02, double 1.572500e+02, double 1.589300e+02, double 1.625000e+02, double 1.649300e+02, double 1.672600e+02, double 1.689300e+02, double 1.730400e+02, double 1.749700e+02, double 1.784900e+02, double 1.809500e+02, double 1.838400e+02, double 1.862100e+02, double 1.902300e+02, double 1.922200e+02, double 1.950800e+02, double 1.969700e+02, double 2.005900e+02, double 2.043800e+02, double 2.072000e+02, double 2.089800e+02, double 2.090000e+02, double 2.100000e+02, double 2.220000e+02, double 2.230000e+02, double 2.260000e+02, double 2.270000e+02, double 2.320400e+02, double 2.310400e+02, double 2.380300e+02, double 2.370000e+02, double 2.440000e+02, double 2.430000e+02, double 2.470000e+02, double 2.470000e+02, double 2.510000e+02, double 2.520000e+02, double 2.570000e+02, double 2.580000e+02, double 2.590000e+02, double 2.620000e+02]
define double @Z2mass(i32 %0) {
%2 = add i32 %0, -1
%3 = icmp ult i32 %2, 103
br i1 %3, label %7, label %4
4: ; preds = %1
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([29 x i8], [29 x i8]* @str, i64 0, i64 0))
%6 = tail call i32 @exit(i32 -1)
unreachable
7: ; preds = %1
%8 = sext i32 %2 to i64
%9 = getelementptr inbounds [103 x double], [103 x double]* @switch.table.Z2mass, i64 0, i64 %8
%10 = load double, double* %9
ret double %10
}