#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*/ CC2500_init();
int /*<<< orphan*/ CC2500_reset();
int /*<<< orphan*/ CC2500_sendCommand(int, int);
int /*<<< orphan*/ CC2500_sendStrobeCommand(int);
void LivingColors_init() {
  CC2500_init();
  CC2500_reset();
  CC2500_reset();
  CC2500_sendCommand(0x0B, 0x09);
  CC2500_sendCommand(0x0C, 0x00);
  CC2500_sendCommand(0x0D, 0x5D);
  CC2500_sendCommand(0x0E, 0x93);
  CC2500_sendCommand(0x0F, 0xB1);
  CC2500_sendCommand(0x10, 0x2D);
  CC2500_sendCommand(0x11, 0x3B);
  CC2500_sendCommand(0x12, 0x73);
  CC2500_sendCommand(0x13, 0x22);
  CC2500_sendCommand(0x14, 0xF8);
  CC2500_sendCommand(0x0A, 0x03);
  CC2500_sendCommand(0x15, 0x00);
  CC2500_sendCommand(0x21, 0xB6);
  CC2500_sendCommand(0x22, 0x10);
  CC2500_sendCommand(0x18, 0x18);
  CC2500_sendCommand(0x19, 0x1D);
  CC2500_sendCommand(0x1A, 0x1C);
  CC2500_sendCommand(0x1B, 0xC7);
  CC2500_sendCommand(0x1C, 0x00);
  CC2500_sendCommand(0x1D, 0xB2);
  CC2500_sendCommand(0x23, 0xEA);
  CC2500_sendCommand(0x24, 0x0A);
  CC2500_sendCommand(0x25, 0x00);
  CC2500_sendCommand(0x26, 0x11);
  CC2500_sendCommand(0x2C, 0x88);
  CC2500_sendCommand(0x2D, 0x31);
  CC2500_sendCommand(0x2E, 0x0B);
  CC2500_sendCommand(0x00, 0x06);
  CC2500_sendCommand(0x02, 0x01);
  CC2500_sendCommand(0x07, 0x04);
  CC2500_sendCommand(0x08, 0x45);
  CC2500_sendCommand(0x09, 0x00);
  CC2500_sendCommand(0x06, 0xFF);
  CC2500_sendCommand(0x03, 0x0D);
  CC2500_sendCommand(0x3E, 0xFF);
  CC2500_sendStrobeCommand(0x36);
  CC2500_sendStrobeCommand(0x36);
  CC2500_sendStrobeCommand(0x39);
  CC2500_sendStrobeCommand(0x36);
}


x86 assembly (clang, -O0):
<LivingColors_init>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1060 <CC2500_init@plt>
mov    $0x0,%al
call   1030 <CC2500_reset@plt>
mov    $0x0,%al
call   1030 <CC2500_reset@plt>
mov    $0xb,%edi
mov    $0x9,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xc,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xd,%edi
mov    $0x5d,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xe,%edi
mov    $0x93,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xf,%edi
mov    $0xb1,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x10,%edi
mov    $0x2d,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x11,%edi
mov    $0x3b,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x12,%edi
mov    $0x73,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x13,%edi
mov    $0x22,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x14,%edi
mov    $0xf8,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xa,%edi
mov    $0x3,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x15,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x21,%edi
mov    $0xb6,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x22,%edi
mov    $0x10,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x18,%esi
mov    %esi,%edi
call   1050 <CC2500_sendCommand@plt>
mov    $0x19,%edi
mov    $0x1d,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1a,%edi
mov    $0x1c,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1b,%edi
mov    $0xc7,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1c,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1d,%edi
mov    $0xb2,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x23,%edi
mov    $0xea,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x24,%edi
mov    $0xa,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x25,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x26,%edi
mov    $0x11,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2c,%edi
mov    $0x88,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2d,%edi
mov    $0x31,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2e,%edi
mov    $0xb,%esi
call   1050 <CC2500_sendCommand@plt>
xor    %edi,%edi
mov    $0x6,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2,%edi
mov    $0x1,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x7,%edi
mov    $0x4,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x8,%edi
mov    $0x45,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x9,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x6,%edi
mov    $0xff,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x3,%edi
mov    $0xd,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x3e,%edi
mov    $0xff,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x36,%edi
call   1040 <CC2500_sendStrobeCommand@plt>
mov    $0x36,%edi
call   1040 <CC2500_sendStrobeCommand@plt>
mov    $0x39,%edi
call   1040 <CC2500_sendStrobeCommand@plt>
mov    $0x36,%edi
call   1040 <CC2500_sendStrobeCommand@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<LivingColors_init>:
push   %rax
xor    %eax,%eax
call   1060 <CC2500_init@plt>
xor    %eax,%eax
call   1030 <CC2500_reset@plt>
xor    %eax,%eax
call   1030 <CC2500_reset@plt>
mov    $0xb,%edi
mov    $0x9,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xc,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xd,%edi
mov    $0x5d,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xe,%edi
mov    $0x93,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xf,%edi
mov    $0xb1,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x10,%edi
mov    $0x2d,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x11,%edi
mov    $0x3b,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x12,%edi
mov    $0x73,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x13,%edi
mov    $0x22,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x14,%edi
mov    $0xf8,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0xa,%edi
mov    $0x3,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x15,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x21,%edi
mov    $0xb6,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x22,%edi
mov    $0x10,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x18,%edi
mov    $0x18,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x19,%edi
mov    $0x1d,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1a,%edi
mov    $0x1c,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1b,%edi
mov    $0xc7,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1c,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x1d,%edi
mov    $0xb2,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x23,%edi
mov    $0xea,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x24,%edi
mov    $0xa,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x25,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x26,%edi
mov    $0x11,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2c,%edi
mov    $0x88,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2d,%edi
mov    $0x31,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2e,%edi
mov    $0xb,%esi
call   1050 <CC2500_sendCommand@plt>
xor    %edi,%edi
mov    $0x6,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x2,%edi
mov    $0x1,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x7,%edi
mov    $0x4,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x8,%edi
mov    $0x45,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x9,%edi
xor    %esi,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x6,%edi
mov    $0xff,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x3,%edi
mov    $0xd,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x3e,%edi
mov    $0xff,%esi
call   1050 <CC2500_sendCommand@plt>
mov    $0x36,%edi
call   1040 <CC2500_sendStrobeCommand@plt>
mov    $0x36,%edi
call   1040 <CC2500_sendStrobeCommand@plt>
mov    $0x39,%edi
call   1040 <CC2500_sendStrobeCommand@plt>
mov    $0x36,%edi
pop    %rax
jmp    1040 <CC2500_sendStrobeCommand@plt>

LLVM IR (-O0):
define void @LivingColors_init() {
%1 = call i32 (...) @CC2500_init()
%2 = call i32 (...) @CC2500_reset()
%3 = call i32 (...) @CC2500_reset()
%4 = call i32 @CC2500_sendCommand(i32 11, i32 9)
%5 = call i32 @CC2500_sendCommand(i32 12, i32 0)
%6 = call i32 @CC2500_sendCommand(i32 13, i32 93)
%7 = call i32 @CC2500_sendCommand(i32 14, i32 147)
%8 = call i32 @CC2500_sendCommand(i32 15, i32 177)
%9 = call i32 @CC2500_sendCommand(i32 16, i32 45)
%10 = call i32 @CC2500_sendCommand(i32 17, i32 59)
%11 = call i32 @CC2500_sendCommand(i32 18, i32 115)
%12 = call i32 @CC2500_sendCommand(i32 19, i32 34)
%13 = call i32 @CC2500_sendCommand(i32 20, i32 248)
%14 = call i32 @CC2500_sendCommand(i32 10, i32 3)
%15 = call i32 @CC2500_sendCommand(i32 21, i32 0)
%16 = call i32 @CC2500_sendCommand(i32 33, i32 182)
%17 = call i32 @CC2500_sendCommand(i32 34, i32 16)
%18 = call i32 @CC2500_sendCommand(i32 24, i32 24)
%19 = call i32 @CC2500_sendCommand(i32 25, i32 29)
%20 = call i32 @CC2500_sendCommand(i32 26, i32 28)
%21 = call i32 @CC2500_sendCommand(i32 27, i32 199)
%22 = call i32 @CC2500_sendCommand(i32 28, i32 0)
%23 = call i32 @CC2500_sendCommand(i32 29, i32 178)
%24 = call i32 @CC2500_sendCommand(i32 35, i32 234)
%25 = call i32 @CC2500_sendCommand(i32 36, i32 10)
%26 = call i32 @CC2500_sendCommand(i32 37, i32 0)
%27 = call i32 @CC2500_sendCommand(i32 38, i32 17)
%28 = call i32 @CC2500_sendCommand(i32 44, i32 136)
%29 = call i32 @CC2500_sendCommand(i32 45, i32 49)
%30 = call i32 @CC2500_sendCommand(i32 46, i32 11)
%31 = call i32 @CC2500_sendCommand(i32 0, i32 6)
%32 = call i32 @CC2500_sendCommand(i32 2, i32 1)
%33 = call i32 @CC2500_sendCommand(i32 7, i32 4)
%34 = call i32 @CC2500_sendCommand(i32 8, i32 69)
%35 = call i32 @CC2500_sendCommand(i32 9, i32 0)
%36 = call i32 @CC2500_sendCommand(i32 6, i32 255)
%37 = call i32 @CC2500_sendCommand(i32 3, i32 13)
%38 = call i32 @CC2500_sendCommand(i32 62, i32 255)
%39 = call i32 @CC2500_sendStrobeCommand(i32 54)
%40 = call i32 @CC2500_sendStrobeCommand(i32 54)
%41 = call i32 @CC2500_sendStrobeCommand(i32 57)
%42 = call i32 @CC2500_sendStrobeCommand(i32 54)
ret void
}

LLVM IR (-O2):
define void @LivingColors_init() {
%1 = tail call i32 (...) @CC2500_init()
%2 = tail call i32 (...) @CC2500_reset()
%3 = tail call i32 (...) @CC2500_reset()
%4 = tail call i32 @CC2500_sendCommand(i32 11, i32 9)
%5 = tail call i32 @CC2500_sendCommand(i32 12, i32 0)
%6 = tail call i32 @CC2500_sendCommand(i32 13, i32 93)
%7 = tail call i32 @CC2500_sendCommand(i32 14, i32 147)
%8 = tail call i32 @CC2500_sendCommand(i32 15, i32 177)
%9 = tail call i32 @CC2500_sendCommand(i32 16, i32 45)
%10 = tail call i32 @CC2500_sendCommand(i32 17, i32 59)
%11 = tail call i32 @CC2500_sendCommand(i32 18, i32 115)
%12 = tail call i32 @CC2500_sendCommand(i32 19, i32 34)
%13 = tail call i32 @CC2500_sendCommand(i32 20, i32 248)
%14 = tail call i32 @CC2500_sendCommand(i32 10, i32 3)
%15 = tail call i32 @CC2500_sendCommand(i32 21, i32 0)
%16 = tail call i32 @CC2500_sendCommand(i32 33, i32 182)
%17 = tail call i32 @CC2500_sendCommand(i32 34, i32 16)
%18 = tail call i32 @CC2500_sendCommand(i32 24, i32 24)
%19 = tail call i32 @CC2500_sendCommand(i32 25, i32 29)
%20 = tail call i32 @CC2500_sendCommand(i32 26, i32 28)
%21 = tail call i32 @CC2500_sendCommand(i32 27, i32 199)
%22 = tail call i32 @CC2500_sendCommand(i32 28, i32 0)
%23 = tail call i32 @CC2500_sendCommand(i32 29, i32 178)
%24 = tail call i32 @CC2500_sendCommand(i32 35, i32 234)
%25 = tail call i32 @CC2500_sendCommand(i32 36, i32 10)
%26 = tail call i32 @CC2500_sendCommand(i32 37, i32 0)
%27 = tail call i32 @CC2500_sendCommand(i32 38, i32 17)
%28 = tail call i32 @CC2500_sendCommand(i32 44, i32 136)
%29 = tail call i32 @CC2500_sendCommand(i32 45, i32 49)
%30 = tail call i32 @CC2500_sendCommand(i32 46, i32 11)
%31 = tail call i32 @CC2500_sendCommand(i32 0, i32 6)
%32 = tail call i32 @CC2500_sendCommand(i32 2, i32 1)
%33 = tail call i32 @CC2500_sendCommand(i32 7, i32 4)
%34 = tail call i32 @CC2500_sendCommand(i32 8, i32 69)
%35 = tail call i32 @CC2500_sendCommand(i32 9, i32 0)
%36 = tail call i32 @CC2500_sendCommand(i32 6, i32 255)
%37 = tail call i32 @CC2500_sendCommand(i32 3, i32 13)
%38 = tail call i32 @CC2500_sendCommand(i32 62, i32 255)
%39 = tail call i32 @CC2500_sendStrobeCommand(i32 54)
%40 = tail call i32 @CC2500_sendStrobeCommand(i32 54)
%41 = tail call i32 @CC2500_sendStrobeCommand(i32 57)
%42 = tail call i32 @CC2500_sendStrobeCommand(i32 54)
ret void
}