#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*/ DrvSw_OFILM(int);
int /*<<< orphan*/ IniPtAve_OFILM();
int /*<<< orphan*/ RamAccFixMod_OFILM(int);
int /*<<< orphan*/ RamWrite32A_Ofilm(int, int);
int /*<<< orphan*/ RamWriteA_Ofilm(int, int);
int /*<<< orphan*/ RegWriteA_Ofilm(int, int);
int /*<<< orphan*/ SetGcf_OFILM(int /*<<< orphan*/);
int /*<<< orphan*/ SetH1cMod_OFILM(int);
int /*<<< orphan*/ SetPanTiltMode_OFILM(int);
int /*<<< orphan*/ SetZsp_OFILM(int /*<<< orphan*/);
void IniAdj_OFILM(void) {
  RegWriteA_Ofilm(0x018D, 0x00);
  IniPtAve_OFILM();
  RegWriteA_Ofilm(0x0251, 0x44);
  RegWriteA_Ofilm(0x0253, 0x03);
  RegWriteA_Ofilm(0x0254, 0x03);
  RegWriteA_Ofilm(0x0252, 0x00);
  RegWriteA_Ofilm(0x0255, 0x00);
  RegWriteA_Ofilm(0x0257, 0x2E);
  RegWriteA_Ofilm(0x02A0, 0x00);
  RegWriteA_Ofilm(0x02A1, 0x00);
  RegWriteA_Ofilm(0x02A2, 0x00);
  RegWriteA_Ofilm(0x02A3, 0x00);
  RamAccFixMod_OFILM(0x01);
  RamWriteA_Ofilm(0x1479, 0x0000);
  RamWriteA_Ofilm(0x147A, 0xE000);
  RamWriteA_Ofilm(0x14F9, 0x0000);
  RamWriteA_Ofilm(0x14FA, 0xE000);
  RamWriteA_Ofilm(0x1450, 0x0000);
  RamWriteA_Ofilm(0x14D0, 0x0000);
  RamWriteA_Ofilm(0x10D3, 0x3000);
  RamWriteA_Ofilm(0x11D3, 0x3000);
  RamWriteA_Ofilm(0x1529, 0x0000);
  RamWriteA_Ofilm(0x152A, 0x8001);
  RamAccFixMod_OFILM(0x00);
  RamWrite32A_Ofilm(0x1020, 0x3F19999A);
  RamWrite32A_Ofilm(0x1120, 0x3F19999A);
  RamWrite32A_Ofilm(0x10E5, 0x3F800000);
  RamWrite32A_Ofilm(0x11E5, 0xBF800000);
  if (0) {
    RamWrite32A_Ofilm(0x10B8, 0x00000000);
    RamWrite32A_Ofilm(0x10B9, 0x3F800000);
    RamWrite32A_Ofilm(0x11B8, 0x00000000);
    RamWrite32A_Ofilm(0x11B9, 0x3F800000);
  }
  SetZsp_OFILM(0);
  RegWriteA_Ofilm(0x0010, 0xC0);
  RegWriteA_Ofilm(0x0250, 0xDF);
  RegWriteA_Ofilm(0x01E0, 0x02);
  RegWriteA_Ofilm(0x0193, 0x02);
  RegWriteA_Ofilm(0x0192, 0x00);
  RegWriteA_Ofilm(0x01A3, 0x02);
  RegWriteA_Ofilm(0x01A2, 0x00);
  SetPanTiltMode_OFILM(0x00);
  SetGcf_OFILM(0);
  SetH1cMod_OFILM(0x80);
  DrvSw_OFILM(0x01);
  RegWriteA_Ofilm(0x0101, 0x01);
}


x86 assembly (clang, -O0):
<IniAdj_OFILM>:
push   %rbp
mov    %rsp,%rbp
mov    $0x18d,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x0,%al
call   1080 <IniPtAve_OFILM@plt>
mov    $0x251,%edi
mov    $0x44,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x253,%edi
mov    $0x3,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x254,%edi
mov    $0x3,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x252,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x255,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x257,%edi
mov    $0x2e,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a0,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a1,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a2,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a3,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1,%edi
call   1060 <RamAccFixMod_OFILM@plt>
mov    $0x1479,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x147a,%edi
mov    $0xe000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x14f9,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x14fa,%edi
mov    $0xe000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x1450,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x14d0,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x10d3,%edi
mov    $0x3000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x11d3,%edi
mov    $0x3000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x1529,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x152a,%edi
mov    $0x8001,%esi
call   1050 <RamWriteA_Ofilm@plt>
xor    %edi,%edi
call   1060 <RamAccFixMod_OFILM@plt>
mov    $0x1020,%edi
mov    $0x3f19999a,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
mov    $0x1120,%edi
mov    $0x3f19999a,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
mov    $0x10e5,%edi
mov    $0x3f800000,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
mov    $0x11e5,%edi
mov    $0xbf800000,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
xor    %edi,%edi
call   1070 <SetZsp_OFILM@plt>
mov    $0x10,%edi
mov    $0xc0,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x250,%edi
mov    $0xdf,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1e0,%edi
mov    $0x2,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x193,%edi
mov    $0x2,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x192,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1a3,%edi
mov    $0x2,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1a2,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
xor    %edi,%edi
call   10a0 <SetPanTiltMode_OFILM@plt>
xor    %edi,%edi
call   1030 <SetGcf_OFILM@plt>
mov    $0x80,%edi
call   1040 <SetH1cMod_OFILM@plt>
mov    $0x1,%edi
call   10b0 <DrvSw_OFILM@plt>
mov    $0x101,%edi
mov    $0x1,%esi
call   1090 <RegWriteA_Ofilm@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<IniAdj_OFILM>:
push   %rax
mov    $0x18d,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
xor    %eax,%eax
call   1080 <IniPtAve_OFILM@plt>
mov    $0x251,%edi
mov    $0x44,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x253,%edi
mov    $0x3,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x254,%edi
mov    $0x3,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x252,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x255,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x257,%edi
mov    $0x2e,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a0,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a1,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a2,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x2a3,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1,%edi
call   1060 <RamAccFixMod_OFILM@plt>
mov    $0x1479,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x147a,%edi
mov    $0xe000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x14f9,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x14fa,%edi
mov    $0xe000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x1450,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x14d0,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x10d3,%edi
mov    $0x3000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x11d3,%edi
mov    $0x3000,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x1529,%edi
xor    %esi,%esi
call   1050 <RamWriteA_Ofilm@plt>
mov    $0x152a,%edi
mov    $0x8001,%esi
call   1050 <RamWriteA_Ofilm@plt>
xor    %edi,%edi
call   1060 <RamAccFixMod_OFILM@plt>
mov    $0x1020,%edi
mov    $0x3f19999a,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
mov    $0x1120,%edi
mov    $0x3f19999a,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
mov    $0x10e5,%edi
mov    $0x3f800000,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
mov    $0x11e5,%edi
mov    $0xbf800000,%esi
call   10c0 <RamWrite32A_Ofilm@plt>
xor    %edi,%edi
call   1070 <SetZsp_OFILM@plt>
mov    $0x10,%edi
mov    $0xc0,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x250,%edi
mov    $0xdf,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1e0,%edi
mov    $0x2,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x193,%edi
mov    $0x2,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x192,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1a3,%edi
mov    $0x2,%esi
call   1090 <RegWriteA_Ofilm@plt>
mov    $0x1a2,%edi
xor    %esi,%esi
call   1090 <RegWriteA_Ofilm@plt>
xor    %edi,%edi
call   10a0 <SetPanTiltMode_OFILM@plt>
xor    %edi,%edi
call   1030 <SetGcf_OFILM@plt>
mov    $0x80,%edi
call   1040 <SetH1cMod_OFILM@plt>
mov    $0x1,%edi
call   10b0 <DrvSw_OFILM@plt>
mov    $0x101,%edi
mov    $0x1,%esi
pop    %rax
jmp    1090 <RegWriteA_Ofilm@plt>

LLVM IR (-O0):
define void @IniAdj_OFILM() {
%1 = call i32 @RegWriteA_Ofilm(i32 397, i32 0)
%2 = call i32 (...) @IniPtAve_OFILM()
%3 = call i32 @RegWriteA_Ofilm(i32 593, i32 68)
%4 = call i32 @RegWriteA_Ofilm(i32 595, i32 3)
%5 = call i32 @RegWriteA_Ofilm(i32 596, i32 3)
%6 = call i32 @RegWriteA_Ofilm(i32 594, i32 0)
%7 = call i32 @RegWriteA_Ofilm(i32 597, i32 0)
%8 = call i32 @RegWriteA_Ofilm(i32 599, i32 46)
%9 = call i32 @RegWriteA_Ofilm(i32 672, i32 0)
%10 = call i32 @RegWriteA_Ofilm(i32 673, i32 0)
%11 = call i32 @RegWriteA_Ofilm(i32 674, i32 0)
%12 = call i32 @RegWriteA_Ofilm(i32 675, i32 0)
%13 = call i32 @RamAccFixMod_OFILM(i32 1)
%14 = call i32 @RamWriteA_Ofilm(i32 5241, i32 0)
%15 = call i32 @RamWriteA_Ofilm(i32 5242, i32 57344)
%16 = call i32 @RamWriteA_Ofilm(i32 5369, i32 0)
%17 = call i32 @RamWriteA_Ofilm(i32 5370, i32 57344)
%18 = call i32 @RamWriteA_Ofilm(i32 5200, i32 0)
%19 = call i32 @RamWriteA_Ofilm(i32 5328, i32 0)
%20 = call i32 @RamWriteA_Ofilm(i32 4307, i32 12288)
%21 = call i32 @RamWriteA_Ofilm(i32 4563, i32 12288)
%22 = call i32 @RamWriteA_Ofilm(i32 5417, i32 0)
%23 = call i32 @RamWriteA_Ofilm(i32 5418, i32 32769)
%24 = call i32 @RamAccFixMod_OFILM(i32 0)
%25 = call i32 @RamWrite32A_Ofilm(i32 4128, i32 1058642330)
%26 = call i32 @RamWrite32A_Ofilm(i32 4384, i32 1058642330)
%27 = call i32 @RamWrite32A_Ofilm(i32 4325, i32 1065353216)
%28 = call i32 @RamWrite32A_Ofilm(i32 4581, i32 -1082130432)
%29 = call i32 @SetZsp_OFILM(i32 0)
%30 = call i32 @RegWriteA_Ofilm(i32 16, i32 192)
%31 = call i32 @RegWriteA_Ofilm(i32 592, i32 223)
%32 = call i32 @RegWriteA_Ofilm(i32 480, i32 2)
%33 = call i32 @RegWriteA_Ofilm(i32 403, i32 2)
%34 = call i32 @RegWriteA_Ofilm(i32 402, i32 0)
%35 = call i32 @RegWriteA_Ofilm(i32 419, i32 2)
%36 = call i32 @RegWriteA_Ofilm(i32 418, i32 0)
%37 = call i32 @SetPanTiltMode_OFILM(i32 0)
%38 = call i32 @SetGcf_OFILM(i32 0)
%39 = call i32 @SetH1cMod_OFILM(i32 128)
%40 = call i32 @DrvSw_OFILM(i32 1)
%41 = call i32 @RegWriteA_Ofilm(i32 257, i32 1)
ret void
}

LLVM IR (-O2):
define void @IniAdj_OFILM() {
%1 = tail call i32 @RegWriteA_Ofilm(i32 397, i32 0)
%2 = tail call i32 (...) @IniPtAve_OFILM()
%3 = tail call i32 @RegWriteA_Ofilm(i32 593, i32 68)
%4 = tail call i32 @RegWriteA_Ofilm(i32 595, i32 3)
%5 = tail call i32 @RegWriteA_Ofilm(i32 596, i32 3)
%6 = tail call i32 @RegWriteA_Ofilm(i32 594, i32 0)
%7 = tail call i32 @RegWriteA_Ofilm(i32 597, i32 0)
%8 = tail call i32 @RegWriteA_Ofilm(i32 599, i32 46)
%9 = tail call i32 @RegWriteA_Ofilm(i32 672, i32 0)
%10 = tail call i32 @RegWriteA_Ofilm(i32 673, i32 0)
%11 = tail call i32 @RegWriteA_Ofilm(i32 674, i32 0)
%12 = tail call i32 @RegWriteA_Ofilm(i32 675, i32 0)
%13 = tail call i32 @RamAccFixMod_OFILM(i32 1)
%14 = tail call i32 @RamWriteA_Ofilm(i32 5241, i32 0)
%15 = tail call i32 @RamWriteA_Ofilm(i32 5242, i32 57344)
%16 = tail call i32 @RamWriteA_Ofilm(i32 5369, i32 0)
%17 = tail call i32 @RamWriteA_Ofilm(i32 5370, i32 57344)
%18 = tail call i32 @RamWriteA_Ofilm(i32 5200, i32 0)
%19 = tail call i32 @RamWriteA_Ofilm(i32 5328, i32 0)
%20 = tail call i32 @RamWriteA_Ofilm(i32 4307, i32 12288)
%21 = tail call i32 @RamWriteA_Ofilm(i32 4563, i32 12288)
%22 = tail call i32 @RamWriteA_Ofilm(i32 5417, i32 0)
%23 = tail call i32 @RamWriteA_Ofilm(i32 5418, i32 32769)
%24 = tail call i32 @RamAccFixMod_OFILM(i32 0)
%25 = tail call i32 @RamWrite32A_Ofilm(i32 4128, i32 1058642330)
%26 = tail call i32 @RamWrite32A_Ofilm(i32 4384, i32 1058642330)
%27 = tail call i32 @RamWrite32A_Ofilm(i32 4325, i32 1065353216)
%28 = tail call i32 @RamWrite32A_Ofilm(i32 4581, i32 -1082130432)
%29 = tail call i32 @SetZsp_OFILM(i32 0)
%30 = tail call i32 @RegWriteA_Ofilm(i32 16, i32 192)
%31 = tail call i32 @RegWriteA_Ofilm(i32 592, i32 223)
%32 = tail call i32 @RegWriteA_Ofilm(i32 480, i32 2)
%33 = tail call i32 @RegWriteA_Ofilm(i32 403, i32 2)
%34 = tail call i32 @RegWriteA_Ofilm(i32 402, i32 0)
%35 = tail call i32 @RegWriteA_Ofilm(i32 419, i32 2)
%36 = tail call i32 @RegWriteA_Ofilm(i32 418, i32 0)
%37 = tail call i32 @SetPanTiltMode_OFILM(i32 0)
%38 = tail call i32 @SetGcf_OFILM(i32 0)
%39 = tail call i32 @SetH1cMod_OFILM(i32 128)
%40 = tail call i32 @DrvSw_OFILM(i32 1)
%41 = tail call i32 @RegWriteA_Ofilm(i32 257, i32 1)
ret void
}