#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*/ RamWrite32A(int, int);
int /*<<< orphan*/ RegWriteA(int, int);
void IniPtAve(void) {
  RegWriteA(0x0134, 0x00);
  RegWriteA(0x0135, 0x00);
  RegWriteA(0x0136, 0x90);
  RegWriteA(0x0137, 0x01);
  RegWriteA(0x0138, 0x64);
  RegWriteA(0x0139, 0x00);
  RegWriteA(0x013A, 0x00);
  RegWriteA(0x013B, 0x00);
  RamWrite32A(0x1235, 0x3f800000);
  RamWrite32A(0x1236, 0x3B23D700);
  RamWrite32A(0x1237, 0x3C23D700);
  RamWrite32A(0x1238, 0x3f800000);
}


x86 assembly (clang, -O0):
<IniPtAve>:
push   %rbp
mov    %rsp,%rbp
mov    $0x134,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x135,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x136,%edi
mov    $0x90,%esi
call   1040 <RegWriteA@plt>
mov    $0x137,%edi
mov    $0x1,%esi
call   1040 <RegWriteA@plt>
mov    $0x138,%edi
mov    $0x64,%esi
call   1040 <RegWriteA@plt>
mov    $0x139,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x13a,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x13b,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x1235,%edi
mov    $0x3f800000,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1236,%edi
mov    $0x3b23d700,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1237,%edi
mov    $0x3c23d700,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1238,%edi
mov    $0x3f800000,%esi
call   1030 <RamWrite32A@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<IniPtAve>:
push   %rax
mov    $0x134,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x135,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x136,%edi
mov    $0x90,%esi
call   1040 <RegWriteA@plt>
mov    $0x137,%edi
mov    $0x1,%esi
call   1040 <RegWriteA@plt>
mov    $0x138,%edi
mov    $0x64,%esi
call   1040 <RegWriteA@plt>
mov    $0x139,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x13a,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x13b,%edi
xor    %esi,%esi
call   1040 <RegWriteA@plt>
mov    $0x1235,%edi
mov    $0x3f800000,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1236,%edi
mov    $0x3b23d700,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1237,%edi
mov    $0x3c23d700,%esi
call   1030 <RamWrite32A@plt>
mov    $0x1238,%edi
mov    $0x3f800000,%esi
pop    %rax
jmp    1030 <RamWrite32A@plt>

LLVM IR (-O0):
define void @IniPtAve() {
%1 = call i32 @RegWriteA(i32 308, i32 0)
%2 = call i32 @RegWriteA(i32 309, i32 0)
%3 = call i32 @RegWriteA(i32 310, i32 144)
%4 = call i32 @RegWriteA(i32 311, i32 1)
%5 = call i32 @RegWriteA(i32 312, i32 100)
%6 = call i32 @RegWriteA(i32 313, i32 0)
%7 = call i32 @RegWriteA(i32 314, i32 0)
%8 = call i32 @RegWriteA(i32 315, i32 0)
%9 = call i32 @RamWrite32A(i32 4661, i32 1065353216)
%10 = call i32 @RamWrite32A(i32 4662, i32 992204544)
%11 = call i32 @RamWrite32A(i32 4663, i32 1008981760)
%12 = call i32 @RamWrite32A(i32 4664, i32 1065353216)
ret void
}

LLVM IR (-O2):
define void @IniPtAve() {
%1 = tail call i32 @RegWriteA(i32 308, i32 0)
%2 = tail call i32 @RegWriteA(i32 309, i32 0)
%3 = tail call i32 @RegWriteA(i32 310, i32 144)
%4 = tail call i32 @RegWriteA(i32 311, i32 1)
%5 = tail call i32 @RegWriteA(i32 312, i32 100)
%6 = tail call i32 @RegWriteA(i32 313, i32 0)
%7 = tail call i32 @RegWriteA(i32 314, i32 0)
%8 = tail call i32 @RegWriteA(i32 315, i32 0)
%9 = tail call i32 @RamWrite32A(i32 4661, i32 1065353216)
%10 = tail call i32 @RamWrite32A(i32 4662, i32 992204544)
%11 = tail call i32 @RamWrite32A(i32 4663, i32 1008981760)
%12 = tail call i32 @RamWrite32A(i32 4664, i32 1065353216)
ret void
}