void a_very_long_line(int *ip, float *FloatPointer) {
  for (int ALongIndexName = 0; ALongIndexName < 100; ALongIndexName++)
    if (ip[ALongIndexName] == 17)
      a_func_to_call(ip == FloatPointer, ip[ALongIndexName],
                     FloatPointer[ALongIndexName]);
  int array0[] = {[3] 3, 5,  7,   4,  2,   7,   6,   3,   4,   5,   6,   7,  8,
                  9,     12, 345, 14, 345, 789, 234, 678, 345, 123, 765, 234};
}


x86 assembly (clang, -O0):
<a_very_long_line>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
cmpl   $0x64,-0x14(%rbp)
jge    119f <a_very_long_line+0x7f>
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
cmpl   $0x11,(%rax,%rcx,4)
jne    118c <a_very_long_line+0x6c>
mov    -0x8(%rbp),%rax
mov    -0x10(%rbp),%rcx
cmp    %rcx,%rax
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    (%rax,%rcx,4),%esi
mov    -0x10(%rbp),%rax
movslq -0x14(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
cvtss2sd %xmm0,%xmm0
mov    $0x1,%al
call   1040 <a_func_to_call@plt>
jmp    1191 <a_very_long_line+0x71>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    113a <a_very_long_line+0x1a>
lea    -0x90(%rbp),%rdi
lea    0xe53(%rip),%rsi
mov    $0x70,%edx
call   1030 <memcpy@plt>
add    $0x90,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<a_very_long_line>:
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
mov    %rsi,%r14
mov    %rdi,%rbx
xor    %r15d,%r15d
cmp    %rdi,%rsi
sete   %r15b
xor    %ebp,%ebp
jmp    113a <a_very_long_line+0x2a>
nopl   0x0(%rax,%rax,1)
add    $0x1,%rbp
cmp    $0x64,%rbp
je     115b <a_very_long_line+0x4b>
cmpl   $0x11,(%rbx,%rbp,4)
jne    1130 <a_very_long_line+0x20>
movss  (%r14,%rbp,4),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %r15d,%edi
mov    $0x11,%esi
mov    $0x1,%al
call   1030 <a_func_to_call@plt>
jmp    1130 <a_very_long_line+0x20>
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@__const.a_very_long_line.array0 = [28 x i32] [i32 0, i32 0, i32 0, i32 3, i32 5, i32 7, i32 4, i32 2, i32 7, i32 6, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 12, i32 345, i32 14, i32 345, i32 789, i32 234, i32 678, i32 345, i32 123, i32 765, i32 234]
define void @a_very_long_line(i32* %0, float* %1) {
%3 = alloca i32*
%4 = alloca float*
%5 = alloca i32
%6 = alloca [28 x i32]
store i32* %0, i32** %3
store float* %1, float** %4
store i32 0, i32* %5
br label %7
7: ; preds = %36, %2
%8 = load i32, i32* %5
%9 = icmp slt i32 %8, 100
br i1 %9, label %10, label %39
10: ; preds = %7
%11 = load i32*, i32** %3
%12 = load i32, i32* %5
%13 = sext i32 %12 to i64
%14 = getelementptr inbounds i32, i32* %11, i64 %13
%15 = load i32, i32* %14
%16 = icmp eq i32 %15, 17
br i1 %16, label %17, label %35
17: ; preds = %10
%18 = load i32*, i32** %3
%19 = load float*, float** %4
%20 = bitcast float* %19 to i32*
%21 = icmp eq i32* %18, %20
%22 = zext i1 %21 to i32
%23 = load i32*, i32** %3
%24 = load i32, i32* %5
%25 = sext i32 %24 to i64
%26 = getelementptr inbounds i32, i32* %23, i64 %25
%27 = load i32, i32* %26
%28 = load float*, float** %4
%29 = load i32, i32* %5
%30 = sext i32 %29 to i64
%31 = getelementptr inbounds float, float* %28, i64 %30
%32 = load float, float* %31
%33 = fpext float %32 to double
%34 = call i32 (i32, i32, double, ...) bitcast (i32 (...)* @a_func_to_call to i32 (i32, i32, double, ...)*)(i32 %22, i32 %27, double %33)
br label %35
35: ; preds = %17, %10
br label %36
36: ; preds = %35
%37 = load i32, i32* %5
%38 = add nsw i32 %37, 1
store i32 %38, i32* %5
br label %7
39: ; preds = %7
%40 = bitcast [28 x i32]* %6 to i8*
ret void
}

LLVM IR (-O2):
define void @a_very_long_line(i32* %0, float* %1) {
%3 = bitcast float* %1 to i32*
%4 = icmp eq i32* %3, %0
%5 = zext i1 %4 to i32
br label %7
6: ; preds = %17
ret void
7: ; preds = %2, %17
%8 = phi i64 [ 0, %2 ], [ %18, %17 ]
%9 = getelementptr inbounds i32, i32* %0, i64 %8
%10 = load i32, i32* %9
%11 = icmp eq i32 %10, 17
br i1 %11, label %12, label %17
12: ; preds = %7
%13 = getelementptr inbounds float, float* %1, i64 %8
%14 = load float, float* %13
%15 = fpext float %14 to double
%16 = tail call i32 (i32, i32, double, ...) bitcast (i32 (...)* @a_func_to_call to i32 (i32, i32, double, ...)*)(i32 %5, i32 17, double %15)
br label %17
17: ; preds = %7, %12
%18 = add nuw nsw i64 %8, 1
%19 = icmp eq i64 %18, 100
br i1 %19, label %6, label %7
}