#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 */
scalar_t__ aspectRatioMatch(float, double);
void calculateLetterBoxAdjustment(float *letterBoxXPercent,
                                  float *letterBoxYPercent) {
  if (aspectRatioMatch(((float)(1916) / (float)(1080)), 1.77)) {
    *letterBoxXPercent = *letterBoxYPercent = 1.0;
  } else if ((1.77) > ((float)(1916) / (float)(1080))) {
    *letterBoxXPercent = 1.0;
    *letterBoxYPercent = ((float)(1916) / (float)(1080)) / (1.77);
  } else if ((1.77) < ((float)(1916) / (float)(1080))) {
    *letterBoxXPercent = (1.77) / ((float)(1916) / (float)(1080));
    *letterBoxYPercent = 1.0;
  }
}


x86 assembly (clang, -O0):
<calculateLetterBoxAdjustment>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movss  0xed8(%rip),%xmm0
movsd  0xee0(%rip),%xmm1
call   1030 <aspectRatioMatch@plt>
cmp    $0x0,%rax
je     1164 <calculateLetterBoxAdjustment+0x54>
mov    -0x10(%rbp),%rax
movss  0xeb9(%rip),%xmm0
movss  %xmm0,(%rax)
mov    -0x8(%rbp),%rax
movss  0xea9(%rip),%xmm0
movss  %xmm0,(%rax)
jmp    1184 <calculateLetterBoxAdjustment+0x74>
mov    -0x8(%rbp),%rax
movss  0xe98(%rip),%xmm0
movss  %xmm0,(%rax)
mov    -0x10(%rbp),%rax
movss  0xe84(%rip),%xmm0
movss  %xmm0,(%rax)
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<calculateLetterBoxAdjustment>:
push   %r14
push   %rbx
push   %rax
mov    %rsi,%r14
mov    %rdi,%rbx
movss  0xede(%rip),%xmm0
movsd  0xede(%rip),%xmm1
call   1030 <aspectRatioMatch@plt>
test   %rax,%rax
je     113d <calculateLetterBoxAdjustment+0x2d>
movl   $0x3f800000,(%r14)
jmp    1146 <calculateLetterBoxAdjustment+0x36>
movl   $0x3f7f6980,(%rbx)
mov    %r14,%rbx
movl   $0x3f800000,(%rbx)
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
define void @calculateLetterBoxAdjustment(float* %0, float* %1) {
%3 = alloca float*
%4 = alloca float*
store float* %0, float** %3
store float* %1, float** %4
%5 = call i64 @aspectRatioMatch(float 0x3FFC629B80000000, double 1.770000e+00)
%6 = icmp ne i64 %5, 0
br i1 %6, label %7, label %10
7: ; preds = %2
%8 = load float*, float** %4
store float 1.000000e+00, float* %8
%9 = load float*, float** %3
store float 1.000000e+00, float* %9
br label %13
10: ; preds = %2
%11 = load float*, float** %3
store float 0x3FEFED3000000000, float* %11
%12 = load float*, float** %4
store float 1.000000e+00, float* %12
br label %13
13: ; preds = %10, %7
ret void
}

LLVM IR (-O2):
define void @calculateLetterBoxAdjustment(float* nocapture writeonly %0, float* nocapture writeonly %1) {
%3 = tail call i64 @aspectRatioMatch(float 0x3FFC629B80000000, double 1.770000e+00)
%4 = icmp eq i64 %3, 0
br i1 %4, label %6, label %5
5: ; preds = %2
store float 1.000000e+00, float* %1
br label %7
6: ; preds = %2
store float 0x3FEFED3000000000, float* %0
br label %7
7: ; preds = %6, %5
%8 = phi float* [ %1, %6 ], [ %0, %5 ]
store float 1.000000e+00, float* %8
ret void
}