#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*/ bbm_long_write(void *, unsigned short, int, int);
int /*<<< orphan*/ bbm_word_write(void *, unsigned short, int, int);
int fc8300_set_cal_front_3seg(void *handle, unsigned short devid,
                              unsigned int clk) {
  switch (clk) {
  case 97650:
    bbm_word_write(handle, devid, 0x1032, 0x7dd6);
    bbm_long_write(handle, devid, 0x2008, 0x3fead);
    bbm_long_write(handle, devid, 0x103c, 0x10054ccd);
    break;
  case 97875:
    bbm_word_write(handle, devid, 0x1032, 0x7d8c);
    bbm_long_write(handle, devid, 0x2008, 0x3fc53);
    bbm_long_write(handle, devid, 0x103c, 0x100ec000);
    break;
  case 98175:
    bbm_word_write(handle, devid, 0x1032, 0x7d2a);
    bbm_long_write(handle, devid, 0x2008, 0x3f935);
    bbm_long_write(handle, devid, 0x103c, 0x101b599a);
    break;
  case 98304:
    bbm_word_write(handle, devid, 0x1032, 0x7d00);
    bbm_long_write(handle, devid, 0x2008, 0x3f7df);
    bbm_long_write(handle, devid, 0x103c, 0x1020c49c);
    break;
  case 98310:
    bbm_word_write(handle, devid, 0x1032, 0x7cfe);
    bbm_long_write(handle, devid, 0x2008, 0x3f7d0);
    bbm_long_write(handle, devid, 0x103c, 0x1021051f);
    break;
  case 99000:
    bbm_word_write(handle, devid, 0x1032, 0x7c1f);
    bbm_long_write(handle, devid, 0x2008, 0x3f0bb);
    bbm_long_write(handle, devid, 0x103c, 0x103e0000);
    break;
  case 100000:
    bbm_word_write(handle, devid, 0x1032, 0x7ae1);
    bbm_long_write(handle, devid, 0x2008, 0x3e6a5);
    bbm_long_write(handle, devid, 0x103c, 0x10680000);
    break;
  case 100750:
    bbm_word_write(handle, devid, 0x1032, 0x79f7);
    bbm_long_write(handle, devid, 0x2008, 0x3df36);
    bbm_long_write(handle, devid, 0x103c, 0x10878000);
    break;
  case 100800:
    bbm_word_write(handle, devid, 0x1032, 0x79e8);
    bbm_long_write(handle, devid, 0x2008, 0x3deb8);
    bbm_long_write(handle, devid, 0x103c, 0x1089999a);
    break;
  case 101250:
    bbm_word_write(handle, devid, 0x1032, 0x795d);
    bbm_long_write(handle, devid, 0x2008, 0x3da51);
    bbm_long_write(handle, devid, 0x103c, 0x109c8000);
    break;
  case 101376:
    bbm_word_write(handle, devid, 0x1032, 0x7936);
    bbm_long_write(handle, devid, 0x2008, 0x3d917);
    bbm_long_write(handle, devid, 0x103c, 0x10a1cac1);
    break;
  case 101700:
    bbm_word_write(handle, devid, 0x1032, 0x78d3);
    bbm_long_write(handle, devid, 0x2008, 0x3d5f3);
    bbm_long_write(handle, devid, 0x103c, 0x10af6666);
    break;
  case 102000:
    bbm_word_write(handle, devid, 0x1032, 0x7878);
    bbm_long_write(handle, devid, 0x2008, 0x3d310);
    bbm_long_write(handle, devid, 0x103c, 0x10bc0000);
    break;
  case 102300:
    bbm_word_write(handle, devid, 0x1032, 0x781e);
    bbm_long_write(handle, devid, 0x2008, 0x3d031);
    bbm_long_write(handle, devid, 0x103c, 0x10c8999a);
    break;
  case 102400:
    bbm_word_write(handle, devid, 0x1032, 0x7800);
    bbm_long_write(handle, devid, 0x2008, 0x3cf3d);
    bbm_long_write(handle, devid, 0x103c, 0x10cccccd);
    break;
  case 102850:
    bbm_word_write(handle, devid, 0x1032, 0x777a);
    bbm_long_write(handle, devid, 0x2008, 0x3caf9);
    bbm_long_write(handle, devid, 0x103c, 0x10dfb333);
    break;
  case 103125:
    bbm_word_write(handle, devid, 0x1032, 0x7728);
    bbm_long_write(handle, devid, 0x2008, 0x3c862);
    bbm_long_write(handle, devid, 0x103c, 0x10eb4000);
    break;
  case 103500:
    bbm_word_write(handle, devid, 0x1032, 0x76ba);
    bbm_long_write(handle, devid, 0x2008, 0x3c4e0);
    bbm_long_write(handle, devid, 0x103c, 0x10fb0000);
    break;
  case 104000:
    bbm_word_write(handle, devid, 0x1032, 0x7627);
    bbm_long_write(handle, devid, 0x2008, 0x3c03c);
    bbm_long_write(handle, devid, 0x103c, 0x11100000);
    break;
  case 105600:
    bbm_word_write(handle, devid, 0x1032, 0x745d);
    bbm_long_write(handle, devid, 0x2008, 0x3b1af);
    bbm_long_write(handle, devid, 0x103c, 0x11533333);
    break;
  case 107250:
    bbm_word_write(handle, devid, 0x1032, 0x7293);
    bbm_long_write(handle, devid, 0x2008, 0x3a323);
    bbm_long_write(handle, devid, 0x103c, 0x11988000);
    break;
  case 107525:
    bbm_word_write(handle, devid, 0x1032, 0x7248);
    bbm_long_write(handle, devid, 0x2008, 0x3a0c1);
    bbm_long_write(handle, devid, 0x103c, 0x11a40ccd);
    break;
  case 108000:
    bbm_word_write(handle, devid, 0x1032, 0x71c7);
    bbm_long_write(handle, devid, 0x2008, 0x39cac);
    bbm_long_write(handle, devid, 0x103c, 0x11b80000);
    break;
  case 112000:
    bbm_word_write(handle, devid, 0x1032, 0x6db7);
    bbm_long_write(handle, devid, 0x2008, 0x37ba5);
    bbm_long_write(handle, devid, 0x103c, 0x12600000);
    break;
  case 112200:
    bbm_word_write(handle, devid, 0x1032, 0x6d85);
    bbm_long_write(handle, devid, 0x2008, 0x37a0f);
    bbm_long_write(handle, devid, 0x103c, 0x12686666);
    break;
  default:
    return 1;
  }
  return 0;
}


x86 assembly (clang, -O0):
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %si,%ax
mov    %rdi,-0x10(%rbp)
mov    %ax,-0x12(%rbp)
mov    %edx,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x1c(%rbp)
sub    $0x17d72,%eax
je     1314 <fc8300_set_cal_front_3seg+0x1f4>
jmp    114c <fc8300_set_cal_front_3seg+0x2c>
mov    -0x1c(%rbp),%eax
sub    $0x17e53,%eax
je     135e <fc8300_set_cal_front_3seg+0x23e>
jmp    115f <fc8300_set_cal_front_3seg+0x3f>
mov    -0x1c(%rbp),%eax
sub    $0x17f7f,%eax
je     13a8 <fc8300_set_cal_front_3seg+0x288>
jmp    1172 <fc8300_set_cal_front_3seg+0x52>
mov    -0x1c(%rbp),%eax
sub    $0x18000,%eax
je     13f2 <fc8300_set_cal_front_3seg+0x2d2>
jmp    1185 <fc8300_set_cal_front_3seg+0x65>
mov    -0x1c(%rbp),%eax
sub    $0x18006,%eax
je     143c <fc8300_set_cal_front_3seg+0x31c>
jmp    1198 <fc8300_set_cal_front_3seg+0x78>
mov    -0x1c(%rbp),%eax
sub    $0x182b8,%eax
je     1486 <fc8300_set_cal_front_3seg+0x366>
jmp    11ab <fc8300_set_cal_front_3seg+0x8b>
mov    -0x1c(%rbp),%eax
sub    $0x186a0,%eax
je     14d0 <fc8300_set_cal_front_3seg+0x3b0>
jmp    11be <fc8300_set_cal_front_3seg+0x9e>
mov    -0x1c(%rbp),%eax
sub    $0x1898e,%eax
je     151a <fc8300_set_cal_front_3seg+0x3fa>
jmp    11d1 <fc8300_set_cal_front_3seg+0xb1>
mov    -0x1c(%rbp),%eax
sub    $0x189c0,%eax
je     1564 <fc8300_set_cal_front_3seg+0x444>
jmp    11e4 <fc8300_set_cal_front_3seg+0xc4>
mov    -0x1c(%rbp),%eax
sub    $0x18b82,%eax
je     15ae <fc8300_set_cal_front_3seg+0x48e>
jmp    11f7 <fc8300_set_cal_front_3seg+0xd7>
mov    -0x1c(%rbp),%eax
sub    $0x18c00,%eax
je     15f8 <fc8300_set_cal_front_3seg+0x4d8>
jmp    120a <fc8300_set_cal_front_3seg+0xea>
mov    -0x1c(%rbp),%eax
sub    $0x18d44,%eax
je     1642 <fc8300_set_cal_front_3seg+0x522>
jmp    121d <fc8300_set_cal_front_3seg+0xfd>
mov    -0x1c(%rbp),%eax
sub    $0x18e70,%eax
je     168c <fc8300_set_cal_front_3seg+0x56c>
jmp    1230 <fc8300_set_cal_front_3seg+0x110>
mov    -0x1c(%rbp),%eax
sub    $0x18f9c,%eax
je     16d6 <fc8300_set_cal_front_3seg+0x5b6>
jmp    1243 <fc8300_set_cal_front_3seg+0x123>
mov    -0x1c(%rbp),%eax
sub    $0x19000,%eax
je     1720 <fc8300_set_cal_front_3seg+0x600>
jmp    1256 <fc8300_set_cal_front_3seg+0x136>
mov    -0x1c(%rbp),%eax
sub    $0x191c2,%eax
je     176a <fc8300_set_cal_front_3seg+0x64a>
jmp    1269 <fc8300_set_cal_front_3seg+0x149>
mov    -0x1c(%rbp),%eax
sub    $0x192d5,%eax
je     17b4 <fc8300_set_cal_front_3seg+0x694>
jmp    127c <fc8300_set_cal_front_3seg+0x15c>
mov    -0x1c(%rbp),%eax
sub    $0x1944c,%eax
je     17fe <fc8300_set_cal_front_3seg+0x6de>
jmp    128f <fc8300_set_cal_front_3seg+0x16f>
mov    -0x1c(%rbp),%eax
sub    $0x19640,%eax
je     1848 <fc8300_set_cal_front_3seg+0x728>
jmp    12a2 <fc8300_set_cal_front_3seg+0x182>
mov    -0x1c(%rbp),%eax
sub    $0x19c80,%eax
je     1892 <fc8300_set_cal_front_3seg+0x772>
jmp    12b5 <fc8300_set_cal_front_3seg+0x195>
mov    -0x1c(%rbp),%eax
sub    $0x1a2f2,%eax
je     18dc <fc8300_set_cal_front_3seg+0x7bc>
jmp    12c8 <fc8300_set_cal_front_3seg+0x1a8>
mov    -0x1c(%rbp),%eax
sub    $0x1a405,%eax
je     1926 <fc8300_set_cal_front_3seg+0x806>
jmp    12db <fc8300_set_cal_front_3seg+0x1bb>
mov    -0x1c(%rbp),%eax
sub    $0x1a5e0,%eax
je     1970 <fc8300_set_cal_front_3seg+0x850>
jmp    12ee <fc8300_set_cal_front_3seg+0x1ce>
mov    -0x1c(%rbp),%eax
sub    $0x1b580,%eax
je     19ba <fc8300_set_cal_front_3seg+0x89a>
jmp    1301 <fc8300_set_cal_front_3seg+0x1e1>
mov    -0x1c(%rbp),%eax
sub    $0x1b648,%eax
je     1a04 <fc8300_set_cal_front_3seg+0x8e4>
jmp    1a4e <fc8300_set_cal_front_3seg+0x92e>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7dd6,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3fead,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10054ccd,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7d8c,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3fc53,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x100ec000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7d2a,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3f935,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x101b599a,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7d00,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3f7df,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x1020c49c,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7cfe,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3f7d0,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x1021051f,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7c1f,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3f0bb,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x103e0000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7ae1,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3e6a5,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10680000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x79f7,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3df36,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10878000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x79e8,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3deb8,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x1089999a,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x795d,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3da51,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x109c8000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7936,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3d917,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10a1cac1,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x78d3,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3d5f3,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10af6666,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7878,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3d310,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10bc0000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x781e,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3d031,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10c8999a,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7800,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3cf3d,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10cccccd,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x777a,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3caf9,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10dfb333,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7728,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3c862,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10eb4000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x76ba,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3c4e0,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x10fb0000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7627,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3c03c,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x11100000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x745d,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3b1af,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x11533333,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7293,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3a323,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x11988000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x7248,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x3a0c1,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x11a40ccd,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x71c7,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x39cac,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x11b80000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x6db7,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x37ba5,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x12600000,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
mov    -0x10(%rbp),%rdi
mov    $0x1032,%edx
mov    $0x6d85,%ecx
movzwl -0x12(%rbp),%esi
call   1040 <bbm_word_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x2008,%edx
mov    $0x37a0f,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x103c,%edx
mov    $0x12686666,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1a5a <fc8300_set_cal_front_3seg+0x93a>
movl   $0x1,-0x4(%rbp)
jmp    1a61 <fc8300_set_cal_front_3seg+0x941>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
mov    %rdi,%r15
mov    $0x1,%eax
cmp    $0x18e6f,%edx
jle    1188 <fc8300_set_cal_front_3seg+0x68>
cmp    $0x1963f,%edx
jle    11d9 <fc8300_set_cal_front_3seg+0xb9>
cmp    $0x1a404,%edx
jle    1263 <fc8300_set_cal_front_3seg+0x143>
cmp    $0x1b57f,%edx
jg     1347 <fc8300_set_cal_front_3seg+0x227>
cmp    $0x1a405,%edx
je     1374 <fc8300_set_cal_front_3seg+0x254>
cmp    $0x1a5e0,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x11b80000,%r14d
mov    $0x39cac,%ebp
mov    $0x71c7,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x1869f,%edx
jg     121e <fc8300_set_cal_front_3seg+0xfe>
cmp    $0x17fff,%edx
jg     129c <fc8300_set_cal_front_3seg+0x17c>
cmp    $0x17d72,%edx
je     1389 <fc8300_set_cal_front_3seg+0x269>
cmp    $0x17e53,%edx
je     139e <fc8300_set_cal_front_3seg+0x27e>
cmp    $0x17f7f,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x101b599a,%r14d
mov    $0x3f935,%ebp
mov    $0x7d2a,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x191c1,%edx
jg     12d5 <fc8300_set_cal_front_3seg+0x1b5>
cmp    $0x18e70,%edx
je     13b3 <fc8300_set_cal_front_3seg+0x293>
cmp    $0x18f9c,%edx
je     13c8 <fc8300_set_cal_front_3seg+0x2a8>
cmp    $0x19000,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x10cccccd,%r14d
mov    $0x3cf3d,%ebp
mov    $0x7800,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x18b81,%edx
jg     130e <fc8300_set_cal_front_3seg+0x1ee>
cmp    $0x186a0,%edx
je     13dd <fc8300_set_cal_front_3seg+0x2bd>
cmp    $0x1898e,%edx
je     13f2 <fc8300_set_cal_front_3seg+0x2d2>
cmp    $0x189c0,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x1089999a,%r14d
mov    $0x3deb8,%ebp
mov    $0x79e8,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x19640,%edx
je     1407 <fc8300_set_cal_front_3seg+0x2e7>
cmp    $0x19c80,%edx
je     141c <fc8300_set_cal_front_3seg+0x2fc>
cmp    $0x1a2f2,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x11988000,%r14d
mov    $0x3a323,%ebp
mov    $0x7293,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x18000,%edx
je     142e <fc8300_set_cal_front_3seg+0x30e>
cmp    $0x18006,%edx
je     1440 <fc8300_set_cal_front_3seg+0x320>
cmp    $0x182b8,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x103e0000,%r14d
mov    $0x3f0bb,%ebp
mov    $0x7c1f,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x191c2,%edx
je     1452 <fc8300_set_cal_front_3seg+0x332>
cmp    $0x192d5,%edx
je     1464 <fc8300_set_cal_front_3seg+0x344>
cmp    $0x1944c,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x10fb0000,%r14d
mov    $0x3c4e0,%ebp
mov    $0x76ba,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x18b82,%edx
je     1476 <fc8300_set_cal_front_3seg+0x356>
cmp    $0x18c00,%edx
je     1488 <fc8300_set_cal_front_3seg+0x368>
cmp    $0x18d44,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x10af6666,%r14d
mov    $0x3d5f3,%ebp
mov    $0x78d3,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
cmp    $0x1b580,%edx
je     149a <fc8300_set_cal_front_3seg+0x37a>
cmp    $0x1b648,%edx
jne    14e1 <fc8300_set_cal_front_3seg+0x3c1>
mov    $0x12686666,%r14d
mov    $0x37a0f,%ebp
mov    $0x6d85,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x11a40ccd,%r14d
mov    $0x3a0c1,%ebp
mov    $0x7248,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10054ccd,%r14d
mov    $0x3fead,%ebp
mov    $0x7dd6,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x100ec000,%r14d
mov    $0x3fc53,%ebp
mov    $0x7d8c,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10bc0000,%r14d
mov    $0x3d310,%ebp
mov    $0x7878,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10c8999a,%r14d
mov    $0x3d031,%ebp
mov    $0x781e,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10680000,%r14d
mov    $0x3e6a5,%ebp
mov    $0x7ae1,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10878000,%r14d
mov    $0x3df36,%ebp
mov    $0x79f7,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x11100000,%r14d
mov    $0x3c03c,%ebp
mov    $0x7627,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x11533333,%r14d
mov    $0x3b1af,%ebp
mov    $0x745d,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x1020c49c,%r14d
mov    $0x3f7df,%ebp
mov    $0x7d00,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x1021051f,%r14d
mov    $0x3f7d0,%ebp
mov    $0x7cfe,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10dfb333,%r14d
mov    $0x3caf9,%ebp
mov    $0x777a,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10eb4000,%r14d
mov    $0x3c862,%ebp
mov    $0x7728,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x109c8000,%r14d
mov    $0x3da51,%ebp
mov    $0x795d,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x10a1cac1,%r14d
mov    $0x3d917,%ebp
mov    $0x7936,%ecx
jmp    14aa <fc8300_set_cal_front_3seg+0x38a>
mov    $0x12600000,%r14d
mov    $0x37ba5,%ebp
mov    $0x6db7,%ecx
movzwl %si,%ebx
mov    %r15,%rdi
mov    %ebx,%esi
mov    $0x1032,%edx
call   1040 <bbm_word_write@plt>
mov    %r15,%rdi
mov    %ebx,%esi
mov    $0x2008,%edx
mov    %ebp,%ecx
call   1030 <bbm_long_write@plt>
mov    %r15,%rdi
mov    %ebx,%esi
mov    $0x103c,%edx
mov    %r14d,%ecx
call   1030 <bbm_long_write@plt>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define i32 @fc8300_set_cal_front_3seg(i8* %0, i16 zeroext %1, i32 %2) {
%4 = alloca i32
%5 = alloca i8*
%6 = alloca i16
%7 = alloca i32
store i8* %0, i8** %5
store i16 %1, i16* %6
store i32 %2, i32* %7
%8 = load i32, i32* %7
switch i32 %8, label %259 [
i32 97650, label %9
i32 97875, label %19
i32 98175, label %29
i32 98304, label %39
i32 98310, label %49
i32 99000, label %59
i32 100000, label %69
i32 100750, label %79
i32 100800, label %89
i32 101250, label %99
i32 101376, label %109
i32 101700, label %119
i32 102000, label %129
i32 102300, label %139
i32 102400, label %149
i32 102850, label %159
i32 103125, label %169
i32 103500, label %179
i32 104000, label %189
i32 105600, label %199
i32 107250, label %209
i32 107525, label %219
i32 108000, label %229
i32 112000, label %239
i32 112200, label %249
]
9: ; preds = %3
%10 = load i8*, i8** %5
%11 = load i16, i16* %6
%12 = call i32 @bbm_word_write(i8* %10, i16 zeroext %11, i32 4146, i32 32214)
%13 = load i8*, i8** %5
%14 = load i16, i16* %6
%15 = call i32 @bbm_long_write(i8* %13, i16 zeroext %14, i32 8200, i32 261805)
%16 = load i8*, i8** %5
%17 = load i16, i16* %6
%18 = call i32 @bbm_long_write(i8* %16, i16 zeroext %17, i32 4156, i32 268782797)
br label %260
19: ; preds = %3
%20 = load i8*, i8** %5
%21 = load i16, i16* %6
%22 = call i32 @bbm_word_write(i8* %20, i16 zeroext %21, i32 4146, i32 32140)
%23 = load i8*, i8** %5
%24 = load i16, i16* %6
%25 = call i32 @bbm_long_write(i8* %23, i16 zeroext %24, i32 8200, i32 261203)
%26 = load i8*, i8** %5
%27 = load i16, i16* %6
%28 = call i32 @bbm_long_write(i8* %26, i16 zeroext %27, i32 4156, i32 269402112)
br label %260
29: ; preds = %3
%30 = load i8*, i8** %5
%31 = load i16, i16* %6
%32 = call i32 @bbm_word_write(i8* %30, i16 zeroext %31, i32 4146, i32 32042)
%33 = load i8*, i8** %5
%34 = load i16, i16* %6
%35 = call i32 @bbm_long_write(i8* %33, i16 zeroext %34, i32 8200, i32 260405)
%36 = load i8*, i8** %5
%37 = load i16, i16* %6
%38 = call i32 @bbm_long_write(i8* %36, i16 zeroext %37, i32 4156, i32 270227866)
br label %260
39: ; preds = %3
%40 = load i8*, i8** %5
%41 = load i16, i16* %6
%42 = call i32 @bbm_word_write(i8* %40, i16 zeroext %41, i32 4146, i32 32000)
%43 = load i8*, i8** %5
%44 = load i16, i16* %6
%45 = call i32 @bbm_long_write(i8* %43, i16 zeroext %44, i32 8200, i32 260063)
%46 = load i8*, i8** %5
%47 = load i16, i16* %6
%48 = call i32 @bbm_long_write(i8* %46, i16 zeroext %47, i32 4156, i32 270582940)
br label %260
49: ; preds = %3
%50 = load i8*, i8** %5
%51 = load i16, i16* %6
%52 = call i32 @bbm_word_write(i8* %50, i16 zeroext %51, i32 4146, i32 31998)
%53 = load i8*, i8** %5
%54 = load i16, i16* %6
%55 = call i32 @bbm_long_write(i8* %53, i16 zeroext %54, i32 8200, i32 260048)
%56 = load i8*, i8** %5
%57 = load i16, i16* %6
%58 = call i32 @bbm_long_write(i8* %56, i16 zeroext %57, i32 4156, i32 270599455)
br label %260
59: ; preds = %3
%60 = load i8*, i8** %5
%61 = load i16, i16* %6
%62 = call i32 @bbm_word_write(i8* %60, i16 zeroext %61, i32 4146, i32 31775)
%63 = load i8*, i8** %5
%64 = load i16, i16* %6
%65 = call i32 @bbm_long_write(i8* %63, i16 zeroext %64, i32 8200, i32 258235)
%66 = load i8*, i8** %5
%67 = load i16, i16* %6
%68 = call i32 @bbm_long_write(i8* %66, i16 zeroext %67, i32 4156, i32 272498688)
br label %260
69: ; preds = %3
%70 = load i8*, i8** %5
%71 = load i16, i16* %6
%72 = call i32 @bbm_word_write(i8* %70, i16 zeroext %71, i32 4146, i32 31457)
%73 = load i8*, i8** %5
%74 = load i16, i16* %6
%75 = call i32 @bbm_long_write(i8* %73, i16 zeroext %74, i32 8200, i32 255653)
%76 = load i8*, i8** %5
%77 = load i16, i16* %6
%78 = call i32 @bbm_long_write(i8* %76, i16 zeroext %77, i32 4156, i32 275251200)
br label %260
79: ; preds = %3
%80 = load i8*, i8** %5
%81 = load i16, i16* %6
%82 = call i32 @bbm_word_write(i8* %80, i16 zeroext %81, i32 4146, i32 31223)
%83 = load i8*, i8** %5
%84 = load i16, i16* %6
%85 = call i32 @bbm_long_write(i8* %83, i16 zeroext %84, i32 8200, i32 253750)
%86 = load i8*, i8** %5
%87 = load i16, i16* %6
%88 = call i32 @bbm_long_write(i8* %86, i16 zeroext %87, i32 4156, i32 277315584)
br label %260
89: ; preds = %3
%90 = load i8*, i8** %5
%91 = load i16, i16* %6
%92 = call i32 @bbm_word_write(i8* %90, i16 zeroext %91, i32 4146, i32 31208)
%93 = load i8*, i8** %5
%94 = load i16, i16* %6
%95 = call i32 @bbm_long_write(i8* %93, i16 zeroext %94, i32 8200, i32 253624)
%96 = load i8*, i8** %5
%97 = load i16, i16* %6
%98 = call i32 @bbm_long_write(i8* %96, i16 zeroext %97, i32 4156, i32 277453210)
br label %260
99: ; preds = %3
%100 = load i8*, i8** %5
%101 = load i16, i16* %6
%102 = call i32 @bbm_word_write(i8* %100, i16 zeroext %101, i32 4146, i32 31069)
%103 = load i8*, i8** %5
%104 = load i16, i16* %6
%105 = call i32 @bbm_long_write(i8* %103, i16 zeroext %104, i32 8200, i32 252497)
%106 = load i8*, i8** %5
%107 = load i16, i16* %6
%108 = call i32 @bbm_long_write(i8* %106, i16 zeroext %107, i32 4156, i32 278691840)
br label %260
109: ; preds = %3
%110 = load i8*, i8** %5
%111 = load i16, i16* %6
%112 = call i32 @bbm_word_write(i8* %110, i16 zeroext %111, i32 4146, i32 31030)
%113 = load i8*, i8** %5
%114 = load i16, i16* %6
%115 = call i32 @bbm_long_write(i8* %113, i16 zeroext %114, i32 8200, i32 252183)
%116 = load i8*, i8** %5
%117 = load i16, i16* %6
%118 = call i32 @bbm_long_write(i8* %116, i16 zeroext %117, i32 4156, i32 279038657)
br label %260
119: ; preds = %3
%120 = load i8*, i8** %5
%121 = load i16, i16* %6
%122 = call i32 @bbm_word_write(i8* %120, i16 zeroext %121, i32 4146, i32 30931)
%123 = load i8*, i8** %5
%124 = load i16, i16* %6
%125 = call i32 @bbm_long_write(i8* %123, i16 zeroext %124, i32 8200, i32 251379)
%126 = load i8*, i8** %5
%127 = load i16, i16* %6
%128 = call i32 @bbm_long_write(i8* %126, i16 zeroext %127, i32 4156, i32 279930470)
br label %260
129: ; preds = %3
%130 = load i8*, i8** %5
%131 = load i16, i16* %6
%132 = call i32 @bbm_word_write(i8* %130, i16 zeroext %131, i32 4146, i32 30840)
%133 = load i8*, i8** %5
%134 = load i16, i16* %6
%135 = call i32 @bbm_long_write(i8* %133, i16 zeroext %134, i32 8200, i32 250640)
%136 = load i8*, i8** %5
%137 = load i16, i16* %6
%138 = call i32 @bbm_long_write(i8* %136, i16 zeroext %137, i32 4156, i32 280756224)
br label %260
139: ; preds = %3
%140 = load i8*, i8** %5
%141 = load i16, i16* %6
%142 = call i32 @bbm_word_write(i8* %140, i16 zeroext %141, i32 4146, i32 30750)
%143 = load i8*, i8** %5
%144 = load i16, i16* %6
%145 = call i32 @bbm_long_write(i8* %143, i16 zeroext %144, i32 8200, i32 249905)
%146 = load i8*, i8** %5
%147 = load i16, i16* %6
%148 = call i32 @bbm_long_write(i8* %146, i16 zeroext %147, i32 4156, i32 281581978)
br label %260
149: ; preds = %3
%150 = load i8*, i8** %5
%151 = load i16, i16* %6
%152 = call i32 @bbm_word_write(i8* %150, i16 zeroext %151, i32 4146, i32 30720)
%153 = load i8*, i8** %5
%154 = load i16, i16* %6
%155 = call i32 @bbm_long_write(i8* %153, i16 zeroext %154, i32 8200, i32 249661)
%156 = load i8*, i8** %5
%157 = load i16, i16* %6
%158 = call i32 @bbm_long_write(i8* %156, i16 zeroext %157, i32 4156, i32 281857229)
br label %260
159: ; preds = %3
%160 = load i8*, i8** %5
%161 = load i16, i16* %6
%162 = call i32 @bbm_word_write(i8* %160, i16 zeroext %161, i32 4146, i32 30586)
%163 = load i8*, i8** %5
%164 = load i16, i16* %6
%165 = call i32 @bbm_long_write(i8* %163, i16 zeroext %164, i32 8200, i32 248569)
%166 = load i8*, i8** %5
%167 = load i16, i16* %6
%168 = call i32 @bbm_long_write(i8* %166, i16 zeroext %167, i32 4156, i32 283095859)
br label %260
169: ; preds = %3
%170 = load i8*, i8** %5
%171 = load i16, i16* %6
%172 = call i32 @bbm_word_write(i8* %170, i16 zeroext %171, i32 4146, i32 30504)
%173 = load i8*, i8** %5
%174 = load i16, i16* %6
%175 = call i32 @bbm_long_write(i8* %173, i16 zeroext %174, i32 8200, i32 247906)
%176 = load i8*, i8** %5
%177 = load i16, i16* %6
%178 = call i32 @bbm_long_write(i8* %176, i16 zeroext %177, i32 4156, i32 283852800)
br label %260
179: ; preds = %3
%180 = load i8*, i8** %5
%181 = load i16, i16* %6
%182 = call i32 @bbm_word_write(i8* %180, i16 zeroext %181, i32 4146, i32 30394)
%183 = load i8*, i8** %5
%184 = load i16, i16* %6
%185 = call i32 @bbm_long_write(i8* %183, i16 zeroext %184, i32 8200, i32 247008)
%186 = load i8*, i8** %5
%187 = load i16, i16* %6
%188 = call i32 @bbm_long_write(i8* %186, i16 zeroext %187, i32 4156, i32 284884992)
br label %260
189: ; preds = %3
%190 = load i8*, i8** %5
%191 = load i16, i16* %6
%192 = call i32 @bbm_word_write(i8* %190, i16 zeroext %191, i32 4146, i32 30247)
%193 = load i8*, i8** %5
%194 = load i16, i16* %6
%195 = call i32 @bbm_long_write(i8* %193, i16 zeroext %194, i32 8200, i32 245820)
%196 = load i8*, i8** %5
%197 = load i16, i16* %6
%198 = call i32 @bbm_long_write(i8* %196, i16 zeroext %197, i32 4156, i32 286261248)
br label %260
199: ; preds = %3
%200 = load i8*, i8** %5
%201 = load i16, i16* %6
%202 = call i32 @bbm_word_write(i8* %200, i16 zeroext %201, i32 4146, i32 29789)
%203 = load i8*, i8** %5
%204 = load i16, i16* %6
%205 = call i32 @bbm_long_write(i8* %203, i16 zeroext %204, i32 8200, i32 242095)
%206 = load i8*, i8** %5
%207 = load i16, i16* %6
%208 = call i32 @bbm_long_write(i8* %206, i16 zeroext %207, i32 4156, i32 290665267)
br label %260
209: ; preds = %3
%210 = load i8*, i8** %5
%211 = load i16, i16* %6
%212 = call i32 @bbm_word_write(i8* %210, i16 zeroext %211, i32 4146, i32 29331)
%213 = load i8*, i8** %5
%214 = load i16, i16* %6
%215 = call i32 @bbm_long_write(i8* %213, i16 zeroext %214, i32 8200, i32 238371)
%216 = load i8*, i8** %5
%217 = load i16, i16* %6
%218 = call i32 @bbm_long_write(i8* %216, i16 zeroext %217, i32 4156, i32 295206912)
br label %260
219: ; preds = %3
%220 = load i8*, i8** %5
%221 = load i16, i16* %6
%222 = call i32 @bbm_word_write(i8* %220, i16 zeroext %221, i32 4146, i32 29256)
%223 = load i8*, i8** %5
%224 = load i16, i16* %6
%225 = call i32 @bbm_long_write(i8* %223, i16 zeroext %224, i32 8200, i32 237761)
%226 = load i8*, i8** %5
%227 = load i16, i16* %6
%228 = call i32 @bbm_long_write(i8* %226, i16 zeroext %227, i32 4156, i32 295963853)
br label %260
229: ; preds = %3
%230 = load i8*, i8** %5
%231 = load i16, i16* %6
%232 = call i32 @bbm_word_write(i8* %230, i16 zeroext %231, i32 4146, i32 29127)
%233 = load i8*, i8** %5
%234 = load i16, i16* %6
%235 = call i32 @bbm_long_write(i8* %233, i16 zeroext %234, i32 8200, i32 236716)
%236 = load i8*, i8** %5
%237 = load i16, i16* %6
%238 = call i32 @bbm_long_write(i8* %236, i16 zeroext %237, i32 4156, i32 297271296)
br label %260
239: ; preds = %3
%240 = load i8*, i8** %5
%241 = load i16, i16* %6
%242 = call i32 @bbm_word_write(i8* %240, i16 zeroext %241, i32 4146, i32 28087)
%243 = load i8*, i8** %5
%244 = load i16, i16* %6
%245 = call i32 @bbm_long_write(i8* %243, i16 zeroext %244, i32 8200, i32 228261)
%246 = load i8*, i8** %5
%247 = load i16, i16* %6
%248 = call i32 @bbm_long_write(i8* %246, i16 zeroext %247, i32 4156, i32 308281344)
br label %260
249: ; preds = %3
%250 = load i8*, i8** %5
%251 = load i16, i16* %6
%252 = call i32 @bbm_word_write(i8* %250, i16 zeroext %251, i32 4146, i32 28037)
%253 = load i8*, i8** %5
%254 = load i16, i16* %6
%255 = call i32 @bbm_long_write(i8* %253, i16 zeroext %254, i32 8200, i32 227855)
%256 = load i8*, i8** %5
%257 = load i16, i16* %6
%258 = call i32 @bbm_long_write(i8* %256, i16 zeroext %257, i32 4156, i32 308831846)
br label %260
259: ; preds = %3
store i32 1, i32* %4
br label %261
260: ; preds = %249, %239, %229, %219, %209, %199, %189, %179, %169, %159, %149, %139, %129, %119, %109, %99, %89, %79, %69, %59, %49, %39, %29, %19, %9
store i32 0, i32* %4
br label %261
261: ; preds = %260, %259
%262 = load i32, i32* %4
ret i32 %262
}

LLVM IR (-O2):
define i32 @fc8300_set_cal_front_3seg(i8* %0, i16 zeroext %1, i32 %2) {
switch i32 %2, label %35 [
i32 97650, label %28
i32 97875, label %4
i32 98175, label %5
i32 98304, label %6
i32 98310, label %7
i32 99000, label %8
i32 100000, label %9
i32 100750, label %10
i32 100800, label %11
i32 101250, label %12
i32 101376, label %13
i32 101700, label %14
i32 102000, label %15
i32 102300, label %16
i32 102400, label %17
i32 102850, label %18
i32 103125, label %19
i32 103500, label %20
i32 104000, label %21
i32 105600, label %22
i32 107250, label %23
i32 107525, label %24
i32 108000, label %25
i32 112000, label %26
i32 112200, label %27
]
4: ; preds = %3
br label %28
5: ; preds = %3
br label %28
6: ; preds = %3
br label %28
7: ; preds = %3
br label %28
8: ; preds = %3
br label %28
9: ; preds = %3
br label %28
10: ; preds = %3
br label %28
11: ; preds = %3
br label %28
12: ; preds = %3
br label %28
13: ; preds = %3
br label %28
14: ; preds = %3
br label %28
15: ; preds = %3
br label %28
16: ; preds = %3
br label %28
17: ; preds = %3
br label %28
18: ; preds = %3
br label %28
19: ; preds = %3
br label %28
20: ; preds = %3
br label %28
21: ; preds = %3
br label %28
22: ; preds = %3
br label %28
23: ; preds = %3
br label %28
24: ; preds = %3
br label %28
25: ; preds = %3
br label %28
26: ; preds = %3
br label %28
27: ; preds = %3
br label %28
28: ; preds = %3, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6, %5, %4
%29 = phi i32 [ 32140, %4 ], [ 32042, %5 ], [ 32000, %6 ], [ 31998, %7 ], [ 31775, %8 ], [ 31457, %9 ], [ 31223, %10 ], [ 31208, %11 ], [ 31069, %12 ], [ 31030, %13 ], [ 30931, %14 ], [ 30840, %15 ], [ 30750, %16 ], [ 30720, %17 ], [ 30586, %18 ], [ 30504, %19 ], [ 30394, %20 ], [ 30247, %21 ], [ 29789, %22 ], [ 29331, %23 ], [ 29256, %24 ], [ 29127, %25 ], [ 28087, %26 ], [ 28037, %27 ], [ 32214, %3 ]
%30 = phi i32 [ 261203, %4 ], [ 260405, %5 ], [ 260063, %6 ], [ 260048, %7 ], [ 258235, %8 ], [ 255653, %9 ], [ 253750, %10 ], [ 253624, %11 ], [ 252497, %12 ], [ 252183, %13 ], [ 251379, %14 ], [ 250640, %15 ], [ 249905, %16 ], [ 249661, %17 ], [ 248569, %18 ], [ 247906, %19 ], [ 247008, %20 ], [ 245820, %21 ], [ 242095, %22 ], [ 238371, %23 ], [ 237761, %24 ], [ 236716, %25 ], [ 228261, %26 ], [ 227855, %27 ], [ 261805, %3 ]
%31 = phi i32 [ 269402112, %4 ], [ 270227866, %5 ], [ 270582940, %6 ], [ 270599455, %7 ], [ 272498688, %8 ], [ 275251200, %9 ], [ 277315584, %10 ], [ 277453210, %11 ], [ 278691840, %12 ], [ 279038657, %13 ], [ 279930470, %14 ], [ 280756224, %15 ], [ 281581978, %16 ], [ 281857229, %17 ], [ 283095859, %18 ], [ 283852800, %19 ], [ 284884992, %20 ], [ 286261248, %21 ], [ 290665267, %22 ], [ 295206912, %23 ], [ 295963853, %24 ], [ 297271296, %25 ], [ 308281344, %26 ], [ 308831846, %27 ], [ 268782797, %3 ]
%32 = tail call i32 @bbm_word_write(i8* %0, i16 zeroext %1, i32 4146, i32 %29)
%33 = tail call i32 @bbm_long_write(i8* %0, i16 zeroext %1, i32 8200, i32 %30)
%34 = tail call i32 @bbm_long_write(i8* %0, i16 zeroext %1, i32 4156, i32 %31)
br label %35
35: ; preds = %28, %3
%36 = phi i32 [ 1, %3 ], [ 0, %28 ]
ret i32 %36
}