#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 fc8300_set_acif_3seg(void *handle, unsigned short devid, unsigned int clk) {
  switch (clk) {
  case 100750:
  case 100800:
    bbm_long_write(handle, devid, 0x1040, 0x0201ffff);
    bbm_long_write(handle, devid, 0x1044, 0x00fbfd01);
    bbm_long_write(handle, devid, 0x1048, 0xeefb0808);
    bbm_long_write(handle, devid, 0x104c, 0x604b1cf6);
    break;
  case 105600:
    bbm_long_write(handle, devid, 0x1040, 0x020200ff);
    bbm_long_write(handle, devid, 0x1044, 0x02fcfc00);
    bbm_long_write(handle, devid, 0x1048, 0xeef80509);
    bbm_long_write(handle, devid, 0x104c, 0x5c491ffa);
    break;
  case 110400:
    bbm_long_write(handle, devid, 0x1040, 0x01020100);
    bbm_long_write(handle, devid, 0x1044, 0x05fffcfe);
    bbm_long_write(handle, devid, 0x1048, 0xeff50208);
    bbm_long_write(handle, devid, 0x104c, 0x584721fe);
    break;
  case 115200:
    bbm_long_write(handle, devid, 0x1040, 0xff010200);
    bbm_long_write(handle, devid, 0x1044, 0x0701fdfd);
    bbm_long_write(handle, devid, 0x1048, 0xf1f3fe07);
    bbm_long_write(handle, devid, 0x104c, 0x53452302);
    break;
  case 99000:
    bbm_long_write(handle, devid, 0x1040, 0x0200ffff);
    bbm_long_write(handle, devid, 0x1044, 0xfffbfe02);
    bbm_long_write(handle, devid, 0x1048, 0xeefc0807);
    bbm_long_write(handle, devid, 0x104c, 0x614b1bf5);
    break;
  case 102000:
    bbm_long_write(handle, devid, 0x1040, 0x0201ffff);
    bbm_long_write(handle, devid, 0x1044, 0x01fbfd01);
    bbm_long_write(handle, devid, 0x1048, 0xeefa0708);
    bbm_long_write(handle, devid, 0x104c, 0x5f4a1df7);
    break;
  case 105000:
    bbm_long_write(handle, devid, 0x1040, 0x020100ff);
    bbm_long_write(handle, devid, 0x1044, 0x02fcfc00);
    bbm_long_write(handle, devid, 0x1048, 0xeef80609);
    bbm_long_write(handle, devid, 0x104c, 0x5d4a1ef9);
    break;
  case 98310:
    bbm_long_write(handle, devid, 0x1040, 0x0200ffff);
    bbm_long_write(handle, devid, 0x1044, 0xfffbfe02);
    bbm_long_write(handle, devid, 0x1048, 0xeefc0907);
    bbm_long_write(handle, devid, 0x104c, 0x624b1bf5);
    break;
  case 101700:
    bbm_long_write(handle, devid, 0x1040, 0x0201ffff);
    bbm_long_write(handle, devid, 0x1044, 0x01fbfd01);
    bbm_long_write(handle, devid, 0x1048, 0xeefa0708);
    bbm_long_write(handle, devid, 0x104c, 0x5f4b1df7);
    break;
  case 105090:
    bbm_long_write(handle, devid, 0x1040, 0x020200ff);
    bbm_long_write(handle, devid, 0x1044, 0x02fcfc00);
    bbm_long_write(handle, devid, 0x1048, 0xeef80609);
    bbm_long_write(handle, devid, 0x104c, 0x5d491ef9);
    break;
  case 108480:
    bbm_long_write(handle, devid, 0x1040, 0x020200ff);
    bbm_long_write(handle, devid, 0x1044, 0x04fefcff);
    bbm_long_write(handle, devid, 0x1048, 0xeef60309);
    bbm_long_write(handle, devid, 0x104c, 0x5a4820fc);
    break;
  case 100000:
    bbm_long_write(handle, devid, 0x1040, 0x0201ffff);
    bbm_long_write(handle, devid, 0x1044, 0x00fbfd01);
    bbm_long_write(handle, devid, 0x1048, 0xeefb0808);
    bbm_long_write(handle, devid, 0x104c, 0x604b1cf6);
    break;
  case 104000:
    bbm_long_write(handle, devid, 0x1040, 0x0201ffff);
    bbm_long_write(handle, devid, 0x1044, 0x02fcfc00);
    bbm_long_write(handle, devid, 0x1048, 0xeef90608);
    bbm_long_write(handle, devid, 0x104c, 0x5d4a1ef8);
    break;
  case 108000:
    bbm_long_write(handle, devid, 0x1040, 0x020200ff);
    bbm_long_write(handle, devid, 0x1044, 0x04fdfcff);
    bbm_long_write(handle, devid, 0x1048, 0xeef60409);
    bbm_long_write(handle, devid, 0x104c, 0x5a4820fc);
    break;
  case 112000:
    bbm_long_write(handle, devid, 0x1040, 0x00020100);
    bbm_long_write(handle, devid, 0x1044, 0x0600fcfd);
    bbm_long_write(handle, devid, 0x1048, 0xf0f40108);
    bbm_long_write(handle, devid, 0x104c, 0x564722ff);
    break;
  case 97650:
    bbm_long_write(handle, devid, 0x1040, 0x0200ffff);
    bbm_long_write(handle, devid, 0x1044, 0xfefbfe02);
    bbm_long_write(handle, devid, 0x1048, 0xeefd0907);
    bbm_long_write(handle, devid, 0x104c, 0x624c1af4);
    break;
  case 102300:
    bbm_long_write(handle, devid, 0x1040, 0x0201ffff);
    bbm_long_write(handle, devid, 0x1044, 0x01fbfd01);
    bbm_long_write(handle, devid, 0x1048, 0xeefa0708);
    bbm_long_write(handle, devid, 0x104c, 0x5f4a1df7);
    break;
  case 106950:
    bbm_long_write(handle, devid, 0x1040, 0x020200ff);
    bbm_long_write(handle, devid, 0x1044, 0x03fdfcff);
    bbm_long_write(handle, devid, 0x1048, 0xeef70409);
    bbm_long_write(handle, devid, 0x104c, 0x5b491ffb);
    break;
  case 111600:
    bbm_long_write(handle, devid, 0x1040, 0x00020100);
    bbm_long_write(handle, devid, 0x1044, 0x06fffcfd);
    bbm_long_write(handle, devid, 0x1048, 0xeff40108);
    bbm_long_write(handle, devid, 0x104c, 0x574722ff);
    break;
  case 98175:
    bbm_long_write(handle, devid, 0x1040, 0x0200ffff);
    bbm_long_write(handle, devid, 0x1044, 0xfffbfe02);
    bbm_long_write(handle, devid, 0x1048, 0xeefc0907);
    bbm_long_write(handle, devid, 0x104c, 0x624c1bf5);
    break;
  case 102850:
    bbm_long_write(handle, devid, 0x1040, 0x0201ffff);
    bbm_long_write(handle, devid, 0x1044, 0x01fbfc01);
    bbm_long_write(handle, devid, 0x1048, 0xeef90708);
    bbm_long_write(handle, devid, 0x104c, 0x5e4a1df8);
    break;
  case 107250:
  case 107525:
    bbm_long_write(handle, devid, 0x1040, 0x020200ff);
    bbm_long_write(handle, devid, 0x1044, 0x04fdfcff);
    bbm_long_write(handle, devid, 0x1048, 0xeef70409);
    bbm_long_write(handle, devid, 0x104c, 0x5a4920fb);
    break;
  case 112200:
    bbm_long_write(handle, devid, 0x1040, 0x00020100);
    bbm_long_write(handle, devid, 0x1044, 0x0600fcfd);
    bbm_long_write(handle, devid, 0x1048, 0xf0f40008);
    bbm_long_write(handle, devid, 0x104c, 0x564622ff);
    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     18b3 <fc8300_set_acif_3seg+0x7a3>
jmp    113c <fc8300_set_acif_3seg+0x2c>
mov    -0x1c(%rbp),%eax
sub    $0x17f7f,%eax
je     1a37 <fc8300_set_acif_3seg+0x927>
jmp    114f <fc8300_set_acif_3seg+0x3f>
mov    -0x1c(%rbp),%eax
sub    $0x18006,%eax
je     15ab <fc8300_set_acif_3seg+0x49b>
jmp    1162 <fc8300_set_acif_3seg+0x52>
mov    -0x1c(%rbp),%eax
sub    $0x182b8,%eax
je     1488 <fc8300_set_acif_3seg+0x378>
jmp    1175 <fc8300_set_acif_3seg+0x65>
mov    -0x1c(%rbp),%eax
sub    $0x186a0,%eax
je     172f <fc8300_set_acif_3seg+0x61f>
jmp    1188 <fc8300_set_acif_3seg+0x78>
mov    -0x1c(%rbp),%eax
sub    $0x1898e,%eax
je     1304 <fc8300_set_acif_3seg+0x1f4>
jmp    119b <fc8300_set_acif_3seg+0x8b>
mov    -0x1c(%rbp),%eax
sub    $0x189c0,%eax
je     1304 <fc8300_set_acif_3seg+0x1f4>
jmp    11ae <fc8300_set_acif_3seg+0x9e>
mov    -0x1c(%rbp),%eax
sub    $0x18d44,%eax
je     160c <fc8300_set_acif_3seg+0x4fc>
jmp    11c1 <fc8300_set_acif_3seg+0xb1>
mov    -0x1c(%rbp),%eax
sub    $0x18e70,%eax
je     14e9 <fc8300_set_acif_3seg+0x3d9>
jmp    11d4 <fc8300_set_acif_3seg+0xc4>
mov    -0x1c(%rbp),%eax
sub    $0x18f9c,%eax
je     1914 <fc8300_set_acif_3seg+0x804>
jmp    11e7 <fc8300_set_acif_3seg+0xd7>
mov    -0x1c(%rbp),%eax
sub    $0x191c2,%eax
je     1a98 <fc8300_set_acif_3seg+0x988>
jmp    11fa <fc8300_set_acif_3seg+0xea>
mov    -0x1c(%rbp),%eax
sub    $0x19640,%eax
je     1790 <fc8300_set_acif_3seg+0x680>
jmp    120d <fc8300_set_acif_3seg+0xfd>
mov    -0x1c(%rbp),%eax
sub    $0x19a28,%eax
je     154a <fc8300_set_acif_3seg+0x43a>
jmp    1220 <fc8300_set_acif_3seg+0x110>
mov    -0x1c(%rbp),%eax
sub    $0x19a82,%eax
je     166d <fc8300_set_acif_3seg+0x55d>
jmp    1233 <fc8300_set_acif_3seg+0x123>
mov    -0x1c(%rbp),%eax
sub    $0x19c80,%eax
je     1365 <fc8300_set_acif_3seg+0x255>
jmp    1246 <fc8300_set_acif_3seg+0x136>
mov    -0x1c(%rbp),%eax
sub    $0x1a1c6,%eax
je     1975 <fc8300_set_acif_3seg+0x865>
jmp    1259 <fc8300_set_acif_3seg+0x149>
mov    -0x1c(%rbp),%eax
sub    $0x1a2f2,%eax
je     1af9 <fc8300_set_acif_3seg+0x9e9>
jmp    126c <fc8300_set_acif_3seg+0x15c>
mov    -0x1c(%rbp),%eax
sub    $0x1a405,%eax
je     1af9 <fc8300_set_acif_3seg+0x9e9>
jmp    127f <fc8300_set_acif_3seg+0x16f>
mov    -0x1c(%rbp),%eax
sub    $0x1a5e0,%eax
je     17f1 <fc8300_set_acif_3seg+0x6e1>
jmp    1292 <fc8300_set_acif_3seg+0x182>
mov    -0x1c(%rbp),%eax
sub    $0x1a7c0,%eax
je     16ce <fc8300_set_acif_3seg+0x5be>
jmp    12a5 <fc8300_set_acif_3seg+0x195>
mov    -0x1c(%rbp),%eax
sub    $0x1af40,%eax
je     13c6 <fc8300_set_acif_3seg+0x2b6>
jmp    12b8 <fc8300_set_acif_3seg+0x1a8>
mov    -0x1c(%rbp),%eax
sub    $0x1b3f0,%eax
je     19d6 <fc8300_set_acif_3seg+0x8c6>
jmp    12cb <fc8300_set_acif_3seg+0x1bb>
mov    -0x1c(%rbp),%eax
sub    $0x1b580,%eax
je     1852 <fc8300_set_acif_3seg+0x742>
jmp    12de <fc8300_set_acif_3seg+0x1ce>
mov    -0x1c(%rbp),%eax
sub    $0x1b648,%eax
je     1b5a <fc8300_set_acif_3seg+0xa4a>
jmp    12f1 <fc8300_set_acif_3seg+0x1e1>
mov    -0x1c(%rbp),%eax
sub    $0x1c200,%eax
je     1427 <fc8300_set_acif_3seg+0x317>
jmp    1bbb <fc8300_set_acif_3seg+0xaab>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x201ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0xfbfd01,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefb0808,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x604b1cf6,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20200ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x2fcfc00,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef80509,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5c491ffa,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x1020100,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x5fffcfe,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeff50208,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x584721fe,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0xff010200,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x701fdfd,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xf1f3fe07,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x53452302,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x200ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0xfffbfe02,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefc0807,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x614b1bf5,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x201ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x1fbfd01,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefa0708,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5f4a1df7,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20100ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x2fcfc00,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef80609,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5d4a1ef9,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x200ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0xfffbfe02,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefc0907,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x624b1bf5,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x201ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x1fbfd01,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefa0708,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5f4b1df7,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20200ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x2fcfc00,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef80609,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5d491ef9,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20200ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x4fefcff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef60309,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5a4820fc,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x201ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0xfbfd01,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefb0808,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x604b1cf6,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x201ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x2fcfc00,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef90608,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5d4a1ef8,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20200ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x4fdfcff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef60409,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5a4820fc,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20100,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x600fcfd,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xf0f40108,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x564722ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x200ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0xfefbfe02,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefd0907,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x624c1af4,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x201ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x1fbfd01,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefa0708,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5f4a1df7,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20200ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x3fdfcff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef70409,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5b491ffb,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20100,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x6fffcfd,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeff40108,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x574722ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x200ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0xfffbfe02,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeefc0907,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x624c1bf5,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x201ffff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x1fbfc01,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef90708,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5e4a1df8,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20200ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x4fdfcff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xeef70409,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x5a4920fb,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
mov    -0x10(%rbp),%rdi
mov    $0x1040,%edx
mov    $0x20100,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1044,%edx
mov    $0x600fcfd,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x1048,%edx
mov    $0xf0f40008,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
mov    -0x10(%rbp),%rdi
mov    $0x104c,%edx
mov    $0x564622ff,%ecx
movzwl -0x12(%rbp),%esi
call   1030 <bbm_long_write@plt>
jmp    1bc7 <fc8300_set_acif_3seg+0xab7>
movl   $0x1,-0x4(%rbp)
jmp    1bce <fc8300_set_acif_3seg+0xabe>
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   %r12
push   %rbx
mov    %rdi,%rbx
mov    $0x1,%eax
cmp    $0x19a27,%edx
jle    1175 <fc8300_set_acif_3seg+0x65>
cmp    $0x1a5df,%edx
jle    11cf <fc8300_set_acif_3seg+0xbf>
cmp    $0x1b3ef,%edx
jle    1245 <fc8300_set_acif_3seg+0x135>
cmp    $0x1b647,%edx
jg     1316 <fc8300_set_acif_3seg+0x206>
cmp    $0x1b3f0,%edx
je     1355 <fc8300_set_acif_3seg+0x245>
cmp    $0x1b580,%edx
jne    14c1 <fc8300_set_acif_3seg+0x3b1>
mov    $0x564722ff,%r14d
mov    $0xf0f40108,%r15d
jmp    146c <fc8300_set_acif_3seg+0x35c>
mov    $0x604b1cf6,%r14d
mov    $0xeefb0808,%r15d
mov    $0xfbfd01,%r12d
mov    $0x201ffff,%ecx
cmp    $0x189bf,%edx
jg     1210 <fc8300_set_acif_3seg+0x100>
cmp    $0x182b7,%edx
jg     1285 <fc8300_set_acif_3seg+0x175>
cmp    $0x17d72,%edx
je     136c <fc8300_set_acif_3seg+0x25c>
cmp    $0x17f7f,%edx
je     1388 <fc8300_set_acif_3seg+0x278>
cmp    $0x18006,%edx
jne    14c1 <fc8300_set_acif_3seg+0x3b1>
mov    $0x624b1bf5,%r14d
jmp    138e <fc8300_set_acif_3seg+0x27e>
cmp    $0x1a1c5,%edx
jg     12ae <fc8300_set_acif_3seg+0x19e>
cmp    $0x19a28,%edx
je     1399 <fc8300_set_acif_3seg+0x289>
cmp    $0x19a82,%edx
je     13b5 <fc8300_set_acif_3seg+0x2a5>
cmp    $0x19c80,%edx
jne    14c1 <fc8300_set_acif_3seg+0x3b1>
mov    $0x5c491ffa,%r14d
mov    $0xeef80509,%r15d
jmp    13c1 <fc8300_set_acif_3seg+0x2b1>
cmp    $0x18f9b,%edx
jg     12df <fc8300_set_acif_3seg+0x1cf>
cmp    $0x189c0,%edx
je     1477 <fc8300_set_acif_3seg+0x367>
cmp    $0x18d44,%edx
je     13d1 <fc8300_set_acif_3seg+0x2c1>
cmp    $0x18e70,%edx
je     134a <fc8300_set_acif_3seg+0x23a>
jmp    14c1 <fc8300_set_acif_3seg+0x3b1>
cmp    $0x1a5e0,%edx
je     13e8 <fc8300_set_acif_3seg+0x2d8>
cmp    $0x1a7c0,%edx
je     1401 <fc8300_set_acif_3seg+0x2f1>
cmp    $0x1af40,%edx
jne    14c1 <fc8300_set_acif_3seg+0x3b1>
mov    $0x584721fe,%r14d
mov    $0xeff50208,%r15d
mov    $0x5fffcfe,%r12d
mov    $0x1020100,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
cmp    $0x182b8,%edx
je     141a <fc8300_set_acif_3seg+0x30a>
cmp    $0x186a0,%edx
je     1477 <fc8300_set_acif_3seg+0x367>
cmp    $0x1898e,%edx
je     1477 <fc8300_set_acif_3seg+0x367>
jmp    14c1 <fc8300_set_acif_3seg+0x3b1>
cmp    $0x1a1c6,%edx
je     1433 <fc8300_set_acif_3seg+0x323>
cmp    $0x1a2f2,%edx
je     12ce <fc8300_set_acif_3seg+0x1be>
cmp    $0x1a405,%edx
jne    14c1 <fc8300_set_acif_3seg+0x3b1>
mov    $0x5a4920fb,%r14d
mov    $0xeef70409,%r15d
jmp    13f4 <fc8300_set_acif_3seg+0x2e4>
cmp    $0x18f9c,%edx
je     134a <fc8300_set_acif_3seg+0x23a>
cmp    $0x191c2,%edx
je     144c <fc8300_set_acif_3seg+0x33c>
cmp    $0x19640,%edx
jne    14c1 <fc8300_set_acif_3seg+0x3b1>
mov    $0x5d4a1ef8,%r14d
mov    $0xeef90608,%r15d
mov    $0x2fcfc00,%r12d
jmp    1477 <fc8300_set_acif_3seg+0x367>
cmp    $0x1b648,%edx
je     1460 <fc8300_set_acif_3seg+0x350>
cmp    $0x1c200,%edx
jne    14c1 <fc8300_set_acif_3seg+0x3b1>
mov    $0x53452302,%r14d
mov    $0xf1f3fe07,%r15d
mov    $0x701fdfd,%r12d
mov    $0xff010200,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x5f4a1df7,%r14d
jmp    13d7 <fc8300_set_acif_3seg+0x2c7>
mov    $0x574722ff,%r14d
mov    $0xeff40108,%r15d
mov    $0x6fffcfd,%r12d
jmp    1472 <fc8300_set_acif_3seg+0x362>
mov    $0x624c1af4,%r14d
mov    $0xeefd0907,%r15d
mov    $0xfefbfe02,%r12d
mov    $0x200ffff,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x624c1bf5,%r14d
mov    $0xeefc0907,%r15d
jmp    1426 <fc8300_set_acif_3seg+0x316>
mov    $0x5d4a1ef9,%r14d
mov    $0xeef80609,%r15d
mov    $0x2fcfc00,%r12d
mov    $0x20100ff,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x5d491ef9,%r14d
mov    $0xeef80609,%r15d
mov    $0x2fcfc00,%r12d
mov    $0x20200ff,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x5f4b1df7,%r14d
mov    $0xeefa0708,%r15d
mov    $0x1fbfd01,%r12d
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x5a4820fc,%r14d
mov    $0xeef60409,%r15d
mov    $0x4fdfcff,%r12d
mov    $0x20200ff,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x5a4820fc,%r14d
mov    $0xeef60309,%r15d
mov    $0x4fefcff,%r12d
mov    $0x20200ff,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x614b1bf5,%r14d
mov    $0xeefc0807,%r15d
mov    $0xfffbfe02,%r12d
mov    $0x200ffff,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x5b491ffb,%r14d
mov    $0xeef70409,%r15d
mov    $0x3fdfcff,%r12d
mov    $0x20200ff,%ecx
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x5e4a1df8,%r14d
mov    $0xeef90708,%r15d
mov    $0x1fbfc01,%r12d
jmp    1477 <fc8300_set_acif_3seg+0x367>
mov    $0x564622ff,%r14d
mov    $0xf0f40008,%r15d
mov    $0x600fcfd,%r12d
mov    $0x20100,%ecx
movzwl %si,%ebp
mov    %rbx,%rdi
mov    %ebp,%esi
mov    $0x1040,%edx
call   1030 <bbm_long_write@plt>
mov    %rbx,%rdi
mov    %ebp,%esi
mov    $0x1044,%edx
mov    %r12d,%ecx
call   1030 <bbm_long_write@plt>
mov    %rbx,%rdi
mov    %ebp,%esi
mov    $0x1048,%edx
mov    %r15d,%ecx
call   1030 <bbm_long_write@plt>
mov    %rbx,%rdi
mov    %ebp,%esi
mov    $0x104c,%edx
mov    %r14d,%ecx
call   1030 <bbm_long_write@plt>
xor    %eax,%eax
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define i32 @fc8300_set_acif_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 %308 [
i32 100750, label %9
i32 100800, label %9
i32 105600, label %22
i32 110400, label %35
i32 115200, label %48
i32 99000, label %61
i32 102000, label %74
i32 105000, label %87
i32 98310, label %100
i32 101700, label %113
i32 105090, label %126
i32 108480, label %139
i32 100000, label %152
i32 104000, label %165
i32 108000, label %178
i32 112000, label %191
i32 97650, label %204
i32 102300, label %217
i32 106950, label %230
i32 111600, label %243
i32 98175, label %256
i32 102850, label %269
i32 107250, label %282
i32 107525, label %282
i32 112200, label %295
]
9: ; preds = %3, %3
%10 = load i8*, i8** %5
%11 = load i16, i16* %6
%12 = call i32 @bbm_long_write(i8* %10, i16 zeroext %11, i32 4160, i32 33685503)
%13 = load i8*, i8** %5
%14 = load i16, i16* %6
%15 = call i32 @bbm_long_write(i8* %13, i16 zeroext %14, i32 4164, i32 16514305)
%16 = load i8*, i8** %5
%17 = load i16, i16* %6
%18 = call i32 @bbm_long_write(i8* %16, i16 zeroext %17, i32 4168, i32 -285538296)
%19 = load i8*, i8** %5
%20 = load i16, i16* %6
%21 = call i32 @bbm_long_write(i8* %19, i16 zeroext %20, i32 4172, i32 1615535350)
br label %309
22: ; preds = %3
%23 = load i8*, i8** %5
%24 = load i16, i16* %6
%25 = call i32 @bbm_long_write(i8* %23, i16 zeroext %24, i32 4160, i32 33685759)
%26 = load i8*, i8** %5
%27 = load i16, i16* %6
%28 = call i32 @bbm_long_write(i8* %26, i16 zeroext %27, i32 4164, i32 50134016)
%29 = load i8*, i8** %5
%30 = load i16, i16* %6
%31 = call i32 @bbm_long_write(i8* %29, i16 zeroext %30, i32 4168, i32 -285735671)
%32 = load i8*, i8** %5
%33 = load i16, i16* %6
%34 = call i32 @bbm_long_write(i8* %32, i16 zeroext %33, i32 4172, i32 1548296186)
br label %309
35: ; preds = %3
%36 = load i8*, i8** %5
%37 = load i16, i16* %6
%38 = call i32 @bbm_long_write(i8* %36, i16 zeroext %37, i32 4160, i32 16908544)
%39 = load i8*, i8** %5
%40 = load i16, i16* %6
%41 = call i32 @bbm_long_write(i8* %39, i16 zeroext %40, i32 4164, i32 100662526)
%42 = load i8*, i8** %5
%43 = load i16, i16* %6
%44 = call i32 @bbm_long_write(i8* %42, i16 zeroext %43, i32 4168, i32 -269155832)
%45 = load i8*, i8** %5
%46 = load i16, i16* %6
%47 = call i32 @bbm_long_write(i8* %45, i16 zeroext %46, i32 4172, i32 1481056766)
br label %309
48: ; preds = %3
%49 = load i8*, i8** %5
%50 = load i16, i16* %6
%51 = call i32 @bbm_long_write(i8* %49, i16 zeroext %50, i32 4160, i32 -16711168)
%52 = load i8*, i8** %5
%53 = load i16, i16* %6
%54 = call i32 @bbm_long_write(i8* %52, i16 zeroext %53, i32 4164, i32 117571069)
%55 = load i8*, i8** %5
%56 = load i16, i16* %6
%57 = call i32 @bbm_long_write(i8* %55, i16 zeroext %56, i32 4168, i32 -235667961)
%58 = load i8*, i8** %5
%59 = load i16, i16* %6
%60 = call i32 @bbm_long_write(i8* %58, i16 zeroext %59, i32 4172, i32 1397039874)
br label %309
61: ; preds = %3
%62 = load i8*, i8** %5
%63 = load i16, i16* %6
%64 = call i32 @bbm_long_write(i8* %62, i16 zeroext %63, i32 4160, i32 33619967)
%65 = load i8*, i8** %5
%66 = load i16, i16* %6
%67 = call i32 @bbm_long_write(i8* %65, i16 zeroext %66, i32 4164, i32 -262654)
%68 = load i8*, i8** %5
%69 = load i16, i16* %6
%70 = call i32 @bbm_long_write(i8* %68, i16 zeroext %69, i32 4168, i32 -285472761)
%71 = load i8*, i8** %5
%72 = load i16, i16* %6
%73 = call i32 @bbm_long_write(i8* %71, i16 zeroext %72, i32 4172, i32 1632312309)
br label %309
74: ; preds = %3
%75 = load i8*, i8** %5
%76 = load i16, i16* %6
%77 = call i32 @bbm_long_write(i8* %75, i16 zeroext %76, i32 4160, i32 33685503)
%78 = load i8*, i8** %5
%79 = load i16, i16* %6
%80 = call i32 @bbm_long_write(i8* %78, i16 zeroext %79, i32 4164, i32 33291521)
%81 = load i8*, i8** %5
%82 = load i16, i16* %6
%83 = call i32 @bbm_long_write(i8* %81, i16 zeroext %82, i32 4168, i32 -285604088)
%84 = load i8*, i8** %5
%85 = load i16, i16* %6
%86 = call i32 @bbm_long_write(i8* %84, i16 zeroext %85, i32 4172, i32 1598692855)
br label %309
87: ; preds = %3
%88 = load i8*, i8** %5
%89 = load i16, i16* %6
%90 = call i32 @bbm_long_write(i8* %88, i16 zeroext %89, i32 4160, i32 33620223)
%91 = load i8*, i8** %5
%92 = load i16, i16* %6
%93 = call i32 @bbm_long_write(i8* %91, i16 zeroext %92, i32 4164, i32 50134016)
%94 = load i8*, i8** %5
%95 = load i16, i16* %6
%96 = call i32 @bbm_long_write(i8* %94, i16 zeroext %95, i32 4168, i32 -285735415)
%97 = load i8*, i8** %5
%98 = load i16, i16* %6
%99 = call i32 @bbm_long_write(i8* %97, i16 zeroext %98, i32 4172, i32 1565138681)
br label %309
100: ; preds = %3
%101 = load i8*, i8** %5
%102 = load i16, i16* %6
%103 = call i32 @bbm_long_write(i8* %101, i16 zeroext %102, i32 4160, i32 33619967)
%104 = load i8*, i8** %5
%105 = load i16, i16* %6
%106 = call i32 @bbm_long_write(i8* %104, i16 zeroext %105, i32 4164, i32 -262654)
%107 = load i8*, i8** %5
%108 = load i16, i16* %6
%109 = call i32 @bbm_long_write(i8* %107, i16 zeroext %108, i32 4168, i32 -285472505)
%110 = load i8*, i8** %5
%111 = load i16, i16* %6
%112 = call i32 @bbm_long_write(i8* %110, i16 zeroext %111, i32 4172, i32 1649089525)
br label %309
113: ; preds = %3
%114 = load i8*, i8** %5
%115 = load i16, i16* %6
%116 = call i32 @bbm_long_write(i8* %114, i16 zeroext %115, i32 4160, i32 33685503)
%117 = load i8*, i8** %5
%118 = load i16, i16* %6
%119 = call i32 @bbm_long_write(i8* %117, i16 zeroext %118, i32 4164, i32 33291521)
%120 = load i8*, i8** %5
%121 = load i16, i16* %6
%122 = call i32 @bbm_long_write(i8* %120, i16 zeroext %121, i32 4168, i32 -285604088)
%123 = load i8*, i8** %5
%124 = load i16, i16* %6
%125 = call i32 @bbm_long_write(i8* %123, i16 zeroext %124, i32 4172, i32 1598758391)
br label %309
126: ; preds = %3
%127 = load i8*, i8** %5
%128 = load i16, i16* %6
%129 = call i32 @bbm_long_write(i8* %127, i16 zeroext %128, i32 4160, i32 33685759)
%130 = load i8*, i8** %5
%131 = load i16, i16* %6
%132 = call i32 @bbm_long_write(i8* %130, i16 zeroext %131, i32 4164, i32 50134016)
%133 = load i8*, i8** %5
%134 = load i16, i16* %6
%135 = call i32 @bbm_long_write(i8* %133, i16 zeroext %134, i32 4168, i32 -285735415)
%136 = load i8*, i8** %5
%137 = load i16, i16* %6
%138 = call i32 @bbm_long_write(i8* %136, i16 zeroext %137, i32 4172, i32 1565073145)
br label %309
139: ; preds = %3
%140 = load i8*, i8** %5
%141 = load i16, i16* %6
%142 = call i32 @bbm_long_write(i8* %140, i16 zeroext %141, i32 4160, i32 33685759)
%143 = load i8*, i8** %5
%144 = load i16, i16* %6
%145 = call i32 @bbm_long_write(i8* %143, i16 zeroext %144, i32 4164, i32 83819775)
%146 = load i8*, i8** %5
%147 = load i16, i16* %6
%148 = call i32 @bbm_long_write(i8* %146, i16 zeroext %147, i32 4168, i32 -285867255)
%149 = load i8*, i8** %5
%150 = load i16, i16* %6
%151 = call i32 @bbm_long_write(i8* %149, i16 zeroext %150, i32 4172, i32 1514676476)
br label %309
152: ; preds = %3
%153 = load i8*, i8** %5
%154 = load i16, i16* %6
%155 = call i32 @bbm_long_write(i8* %153, i16 zeroext %154, i32 4160, i32 33685503)
%156 = load i8*, i8** %5
%157 = load i16, i16* %6
%158 = call i32 @bbm_long_write(i8* %156, i16 zeroext %157, i32 4164, i32 16514305)
%159 = load i8*, i8** %5
%160 = load i16, i16* %6
%161 = call i32 @bbm_long_write(i8* %159, i16 zeroext %160, i32 4168, i32 -285538296)
%162 = load i8*, i8** %5
%163 = load i16, i16* %6
%164 = call i32 @bbm_long_write(i8* %162, i16 zeroext %163, i32 4172, i32 1615535350)
br label %309
165: ; preds = %3
%166 = load i8*, i8** %5
%167 = load i16, i16* %6
%168 = call i32 @bbm_long_write(i8* %166, i16 zeroext %167, i32 4160, i32 33685503)
%169 = load i8*, i8** %5
%170 = load i16, i16* %6
%171 = call i32 @bbm_long_write(i8* %169, i16 zeroext %170, i32 4164, i32 50134016)
%172 = load i8*, i8** %5
%173 = load i16, i16* %6
%174 = call i32 @bbm_long_write(i8* %172, i16 zeroext %173, i32 4168, i32 -285669880)
%175 = load i8*, i8** %5
%176 = load i16, i16* %6
%177 = call i32 @bbm_long_write(i8* %175, i16 zeroext %176, i32 4172, i32 1565138680)
br label %309
178: ; preds = %3
%179 = load i8*, i8** %5
%180 = load i16, i16* %6
%181 = call i32 @bbm_long_write(i8* %179, i16 zeroext %180, i32 4160, i32 33685759)
%182 = load i8*, i8** %5
%183 = load i16, i16* %6
%184 = call i32 @bbm_long_write(i8* %182, i16 zeroext %183, i32 4164, i32 83754239)
%185 = load i8*, i8** %5
%186 = load i16, i16* %6
%187 = call i32 @bbm_long_write(i8* %185, i16 zeroext %186, i32 4168, i32 -285866999)
%188 = load i8*, i8** %5
%189 = load i16, i16* %6
%190 = call i32 @bbm_long_write(i8* %188, i16 zeroext %189, i32 4172, i32 1514676476)
br label %309
191: ; preds = %3
%192 = load i8*, i8** %5
%193 = load i16, i16* %6
%194 = call i32 @bbm_long_write(i8* %192, i16 zeroext %193, i32 4160, i32 131328)
%195 = load i8*, i8** %5
%196 = load i16, i16* %6
%197 = call i32 @bbm_long_write(i8* %195, i16 zeroext %196, i32 4164, i32 100728061)
%198 = load i8*, i8** %5
%199 = load i16, i16* %6
%200 = call i32 @bbm_long_write(i8* %198, i16 zeroext %199, i32 4168, i32 -252444408)
%201 = load i8*, i8** %5
%202 = load i16, i16* %6
%203 = call i32 @bbm_long_write(i8* %201, i16 zeroext %202, i32 4172, i32 1447502591)
br label %309
204: ; preds = %3
%205 = load i8*, i8** %5
%206 = load i16, i16* %6
%207 = call i32 @bbm_long_write(i8* %205, i16 zeroext %206, i32 4160, i32 33619967)
%208 = load i8*, i8** %5
%209 = load i16, i16* %6
%210 = call i32 @bbm_long_write(i8* %208, i16 zeroext %209, i32 4164, i32 -17039870)
%211 = load i8*, i8** %5
%212 = load i16, i16* %6
%213 = call i32 @bbm_long_write(i8* %211, i16 zeroext %212, i32 4168, i32 -285406969)
%214 = load i8*, i8** %5
%215 = load i16, i16* %6
%216 = call i32 @bbm_long_write(i8* %214, i16 zeroext %215, i32 4172, i32 1649154804)
br label %309
217: ; preds = %3
%218 = load i8*, i8** %5
%219 = load i16, i16* %6
%220 = call i32 @bbm_long_write(i8* %218, i16 zeroext %219, i32 4160, i32 33685503)
%221 = load i8*, i8** %5
%222 = load i16, i16* %6
%223 = call i32 @bbm_long_write(i8* %221, i16 zeroext %222, i32 4164, i32 33291521)
%224 = load i8*, i8** %5
%225 = load i16, i16* %6
%226 = call i32 @bbm_long_write(i8* %224, i16 zeroext %225, i32 4168, i32 -285604088)
%227 = load i8*, i8** %5
%228 = load i16, i16* %6
%229 = call i32 @bbm_long_write(i8* %227, i16 zeroext %228, i32 4172, i32 1598692855)
br label %309
230: ; preds = %3
%231 = load i8*, i8** %5
%232 = load i16, i16* %6
%233 = call i32 @bbm_long_write(i8* %231, i16 zeroext %232, i32 4160, i32 33685759)
%234 = load i8*, i8** %5
%235 = load i16, i16* %6
%236 = call i32 @bbm_long_write(i8* %234, i16 zeroext %235, i32 4164, i32 66977023)
%237 = load i8*, i8** %5
%238 = load i16, i16* %6
%239 = call i32 @bbm_long_write(i8* %237, i16 zeroext %238, i32 4168, i32 -285801463)
%240 = load i8*, i8** %5
%241 = load i16, i16* %6
%242 = call i32 @bbm_long_write(i8* %240, i16 zeroext %241, i32 4172, i32 1531518971)
br label %309
243: ; preds = %3
%244 = load i8*, i8** %5
%245 = load i16, i16* %6
%246 = call i32 @bbm_long_write(i8* %244, i16 zeroext %245, i32 4160, i32 131328)
%247 = load i8*, i8** %5
%248 = load i16, i16* %6
%249 = call i32 @bbm_long_write(i8* %247, i16 zeroext %248, i32 4164, i32 117439741)
%250 = load i8*, i8** %5
%251 = load i16, i16* %6
%252 = call i32 @bbm_long_write(i8* %250, i16 zeroext %251, i32 4168, i32 -269221624)
%253 = load i8*, i8** %5
%254 = load i16, i16* %6
%255 = call i32 @bbm_long_write(i8* %253, i16 zeroext %254, i32 4172, i32 1464279807)
br label %309
256: ; preds = %3
%257 = load i8*, i8** %5
%258 = load i16, i16* %6
%259 = call i32 @bbm_long_write(i8* %257, i16 zeroext %258, i32 4160, i32 33619967)
%260 = load i8*, i8** %5
%261 = load i16, i16* %6
%262 = call i32 @bbm_long_write(i8* %260, i16 zeroext %261, i32 4164, i32 -262654)
%263 = load i8*, i8** %5
%264 = load i16, i16* %6
%265 = call i32 @bbm_long_write(i8* %263, i16 zeroext %264, i32 4168, i32 -285472505)
%266 = load i8*, i8** %5
%267 = load i16, i16* %6
%268 = call i32 @bbm_long_write(i8* %266, i16 zeroext %267, i32 4172, i32 1649155061)
br label %309
269: ; preds = %3
%270 = load i8*, i8** %5
%271 = load i16, i16* %6
%272 = call i32 @bbm_long_write(i8* %270, i16 zeroext %271, i32 4160, i32 33685503)
%273 = load i8*, i8** %5
%274 = load i16, i16* %6
%275 = call i32 @bbm_long_write(i8* %273, i16 zeroext %274, i32 4164, i32 33291265)
%276 = load i8*, i8** %5
%277 = load i16, i16* %6
%278 = call i32 @bbm_long_write(i8* %276, i16 zeroext %277, i32 4168, i32 -285669624)
%279 = load i8*, i8** %5
%280 = load i16, i16* %6
%281 = call i32 @bbm_long_write(i8* %279, i16 zeroext %280, i32 4172, i32 1581915640)
br label %309
282: ; preds = %3, %3
%283 = load i8*, i8** %5
%284 = load i16, i16* %6
%285 = call i32 @bbm_long_write(i8* %283, i16 zeroext %284, i32 4160, i32 33685759)
%286 = load i8*, i8** %5
%287 = load i16, i16* %6
%288 = call i32 @bbm_long_write(i8* %286, i16 zeroext %287, i32 4164, i32 83754239)
%289 = load i8*, i8** %5
%290 = load i16, i16* %6
%291 = call i32 @bbm_long_write(i8* %289, i16 zeroext %290, i32 4168, i32 -285801463)
%292 = load i8*, i8** %5
%293 = load i16, i16* %6
%294 = call i32 @bbm_long_write(i8* %292, i16 zeroext %293, i32 4172, i32 1514742011)
br label %309
295: ; preds = %3
%296 = load i8*, i8** %5
%297 = load i16, i16* %6
%298 = call i32 @bbm_long_write(i8* %296, i16 zeroext %297, i32 4160, i32 131328)
%299 = load i8*, i8** %5
%300 = load i16, i16* %6
%301 = call i32 @bbm_long_write(i8* %299, i16 zeroext %300, i32 4164, i32 100728061)
%302 = load i8*, i8** %5
%303 = load i16, i16* %6
%304 = call i32 @bbm_long_write(i8* %302, i16 zeroext %303, i32 4168, i32 -252444664)
%305 = load i8*, i8** %5
%306 = load i16, i16* %6
%307 = call i32 @bbm_long_write(i8* %305, i16 zeroext %306, i32 4172, i32 1447437055)
br label %309
308: ; preds = %3
store i32 1, i32* %4
br label %310
309: ; preds = %295, %282, %269, %256, %243, %230, %217, %204, %191, %178, %165, %152, %139, %126, %113, %100, %87, %74, %61, %48, %35, %22, %9
store i32 0, i32* %4
br label %310
310: ; preds = %309, %308
%311 = load i32, i32* %4
ret i32 %311
}

LLVM IR (-O2):
define i32 @fc8300_set_acif_3seg(i8* %0, i16 zeroext %1, i32 %2) {
switch i32 %2, label %34 [
i32 100750, label %25
i32 100800, label %25
i32 105600, label %4
i32 110400, label %5
i32 115200, label %6
i32 99000, label %7
i32 102000, label %8
i32 105000, label %9
i32 98310, label %10
i32 101700, label %11
i32 105090, label %12
i32 108480, label %13
i32 100000, label %25
i32 104000, label %14
i32 108000, label %15
i32 112000, label %16
i32 97650, label %17
i32 102300, label %18
i32 106950, label %19
i32 111600, label %20
i32 98175, label %21
i32 102850, label %22
i32 107250, label %23
i32 107525, label %23
i32 112200, label %24
]
4: ; preds = %3
br label %25
5: ; preds = %3
br label %25
6: ; preds = %3
br label %25
7: ; preds = %3
br label %25
8: ; preds = %3
br label %25
9: ; preds = %3
br label %25
10: ; preds = %3
br label %25
11: ; preds = %3
br label %25
12: ; preds = %3
br label %25
13: ; preds = %3
br label %25
14: ; preds = %3
br label %25
15: ; preds = %3
br label %25
16: ; preds = %3
br label %25
17: ; preds = %3
br label %25
18: ; preds = %3
br label %25
19: ; preds = %3
br label %25
20: ; preds = %3
br label %25
21: ; preds = %3
br label %25
22: ; preds = %3
br label %25
23: ; preds = %3, %3
br label %25
24: ; preds = %3
br label %25
25: ; preds = %3, %3, %3, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6, %5, %4
%26 = phi i32 [ 33685759, %4 ], [ 16908544, %5 ], [ -16711168, %6 ], [ 33619967, %7 ], [ 33685503, %8 ], [ 33620223, %9 ], [ 33619967, %10 ], [ 33685503, %11 ], [ 33685759, %12 ], [ 33685759, %13 ], [ 33685503, %14 ], [ 33685759, %15 ], [ 131328, %16 ], [ 33619967, %17 ], [ 33685503, %18 ], [ 33685759, %19 ], [ 131328, %20 ], [ 33619967, %21 ], [ 33685503, %22 ], [ 33685759, %23 ], [ 131328, %24 ], [ 33685503, %3 ], [ 33685503, %3 ], [ 33685503, %3 ]
%27 = phi i32 [ 50134016, %4 ], [ 100662526, %5 ], [ 117571069, %6 ], [ -262654, %7 ], [ 33291521, %8 ], [ 50134016, %9 ], [ -262654, %10 ], [ 33291521, %11 ], [ 50134016, %12 ], [ 83819775, %13 ], [ 50134016, %14 ], [ 83754239, %15 ], [ 100728061, %16 ], [ -17039870, %17 ], [ 33291521, %18 ], [ 66977023, %19 ], [ 117439741, %20 ], [ -262654, %21 ], [ 33291265, %22 ], [ 83754239, %23 ], [ 100728061, %24 ], [ 16514305, %3 ], [ 16514305, %3 ], [ 16514305, %3 ]
%28 = phi i32 [ -285735671, %4 ], [ -269155832, %5 ], [ -235667961, %6 ], [ -285472761, %7 ], [ -285604088, %8 ], [ -285735415, %9 ], [ -285472505, %10 ], [ -285604088, %11 ], [ -285735415, %12 ], [ -285867255, %13 ], [ -285669880, %14 ], [ -285866999, %15 ], [ -252444408, %16 ], [ -285406969, %17 ], [ -285604088, %18 ], [ -285801463, %19 ], [ -269221624, %20 ], [ -285472505, %21 ], [ -285669624, %22 ], [ -285801463, %23 ], [ -252444664, %24 ], [ -285538296, %3 ], [ -285538296, %3 ], [ -285538296, %3 ]
%29 = phi i32 [ 1548296186, %4 ], [ 1481056766, %5 ], [ 1397039874, %6 ], [ 1632312309, %7 ], [ 1598692855, %8 ], [ 1565138681, %9 ], [ 1649089525, %10 ], [ 1598758391, %11 ], [ 1565073145, %12 ], [ 1514676476, %13 ], [ 1565138680, %14 ], [ 1514676476, %15 ], [ 1447502591, %16 ], [ 1649154804, %17 ], [ 1598692855, %18 ], [ 1531518971, %19 ], [ 1464279807, %20 ], [ 1649155061, %21 ], [ 1581915640, %22 ], [ 1514742011, %23 ], [ 1447437055, %24 ], [ 1615535350, %3 ], [ 1615535350, %3 ], [ 1615535350, %3 ]
%30 = tail call i32 @bbm_long_write(i8* %0, i16 zeroext %1, i32 4160, i32 %26)
%31 = tail call i32 @bbm_long_write(i8* %0, i16 zeroext %1, i32 4164, i32 %27)
%32 = tail call i32 @bbm_long_write(i8* %0, i16 zeroext %1, i32 4168, i32 %28)
%33 = tail call i32 @bbm_long_write(i8* %0, i16 zeroext %1, i32 4172, i32 %29)
br label %34
34: ; preds = %25, %3
%35 = phi i32 [ 1, %3 ], [ 0, %25 ]
ret i32 %35
}