#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*/ vcons(long, double);
scalar_t__ vnorm(int /*<<< orphan*/);
scalar_t__ vsume(int /*<<< orphan*/);
double case40() {
  double acc = 0.0;
  acc += vnorm(vcons((long)vsume(vcons(0, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(1, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(2, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(3, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(4, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(5, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(6, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(7, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(8, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(9, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(10, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(11, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(12, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(13, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(14, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(15, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(16, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(17, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(18, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(19, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(20, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(21, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(22, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(23, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(24, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(25, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(26, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(27, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(28, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(29, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(30, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(31, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(32, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(33, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(34, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(35, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(36, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(37, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(38, 1.0)), 2.0));
  acc += vnorm(vcons((long)vsume(vcons(39, 1.0)), 2.0));
  return (acc);
}


x86 assembly (clang, -O0):
<case40>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
xor    %eax,%eax
mov    %eax,%edi
movsd  0xebc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xe9d(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1,%edi
movsd  0xe7d(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xe5e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x2,%edi
movsd  0xe3e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xe1f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x3,%edi
movsd  0xdff(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xde0(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x4,%edi
movsd  0xdc0(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xda1(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x5,%edi
movsd  0xd81(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xd62(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x6,%edi
movsd  0xd42(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xd23(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x7,%edi
movsd  0xd03(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xce4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x8,%edi
movsd  0xcc4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xca5(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x9,%edi
movsd  0xc85(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xc66(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0xa,%edi
movsd  0xc46(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xc27(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0xb,%edi
movsd  0xc07(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xbe8(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0xc,%edi
movsd  0xbc8(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xba9(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0xd,%edi
movsd  0xb89(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xb6a(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0xe,%edi
movsd  0xb4a(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xb2b(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0xf,%edi
movsd  0xb0b(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xaec(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x10,%edi
movsd  0xacc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xaad(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x11,%edi
movsd  0xa8d(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xa6e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x12,%edi
movsd  0xa4e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xa2f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x13,%edi
movsd  0xa0f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x9f0(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x14,%edi
movsd  0x9d0(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x9b1(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x15,%edi
movsd  0x991(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x972(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x16,%edi
movsd  0x952(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x933(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x17,%edi
movsd  0x913(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x8f4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x18,%edi
movsd  0x8d4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x8b5(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x19,%edi
movsd  0x895(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x876(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1a,%edi
movsd  0x856(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x837(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1b,%edi
movsd  0x817(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x7f8(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1c,%edi
movsd  0x7d8(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x7b9(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1d,%edi
movsd  0x799(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x77a(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1e,%edi
movsd  0x75a(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x73b(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1f,%edi
movsd  0x71b(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x6fc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x20,%edi
movsd  0x6dc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x6bd(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x21,%edi
movsd  0x69d(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x67e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x22,%edi
movsd  0x65e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x63f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x23,%edi
movsd  0x61f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x600(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x24,%edi
movsd  0x5e0(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x5c1(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x25,%edi
movsd  0x5a1(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x582(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x26,%edi
movsd  0x562(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x543(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x27,%edi
movsd  0x523(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x504(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
cvtsi2sd %rax,%xmm0
addsd  -0x8(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<case40>:
push   %rax
movsd  0xec7(%rip),%xmm0
xor    %edi,%edi
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
movsd  0xeb9(%rip),%xmm0
mov    %rax,%rdi
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
movsd  %xmm0,(%rsp)
mov    $0x1,%edi
movsd  0xe88(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xe79(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x2,%edi
movsd  0xe46(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xe37(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x3,%edi
movsd  0xe04(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xdf5(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x4,%edi
movsd  0xdc2(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xdb3(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x5,%edi
movsd  0xd80(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xd71(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x6,%edi
movsd  0xd3e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xd2f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x7,%edi
movsd  0xcfc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xced(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x8,%edi
movsd  0xcba(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xcab(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x9,%edi
movsd  0xc78(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xc69(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0xa,%edi
movsd  0xc36(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xc27(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0xb,%edi
movsd  0xbf4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xbe5(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0xc,%edi
movsd  0xbb2(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xba3(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0xd,%edi
movsd  0xb70(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xb61(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0xe,%edi
movsd  0xb2e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xb1f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0xf,%edi
movsd  0xaec(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xadd(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x10,%edi
movsd  0xaaa(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xa9b(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x11,%edi
movsd  0xa68(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xa59(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x12,%edi
movsd  0xa26(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0xa17(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x13,%edi
movsd  0x9e4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x9d5(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x14,%edi
movsd  0x9a2(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x993(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x15,%edi
movsd  0x960(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x951(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x16,%edi
movsd  0x91e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x90f(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x17,%edi
movsd  0x8dc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x8cd(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x18,%edi
movsd  0x89a(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x88b(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x19,%edi
movsd  0x858(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x849(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x1a,%edi
movsd  0x816(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x807(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x1b,%edi
movsd  0x7d4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x7c5(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x1c,%edi
movsd  0x792(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x783(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x1d,%edi
movsd  0x750(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x741(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x1e,%edi
movsd  0x70e(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x6ff(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x1f,%edi
movsd  0x6cc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x6bd(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x20,%edi
movsd  0x68a(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x67b(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x21,%edi
movsd  0x648(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x639(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x22,%edi
movsd  0x606(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x5f7(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x23,%edi
movsd  0x5c4(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x5b5(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x24,%edi
movsd  0x582(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x573(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x25,%edi
movsd  0x540(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x531(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x26,%edi
movsd  0x4fe(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x4ef(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
mov    $0x27,%edi
movsd  0x4bc(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1040 <vsume@plt>
mov    %rax,%rdi
movsd  0x4ad(%rip),%xmm0
call   1030 <vcons@plt>
mov    %eax,%edi
call   1050 <vnorm@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %rax,%xmm0
addsd  (%rsp),%xmm0
pop    %rax
ret

LLVM IR (-O0):
define double @case40() {
%1 = alloca double
store double 0.000000e+00, double* %1
%2 = call i32 @vcons(i64 0, double 1.000000e+00)
%3 = call i64 @vsume(i32 %2)
%4 = call i32 @vcons(i64 %3, double 2.000000e+00)
%5 = call i64 @vnorm(i32 %4)
%6 = sitofp i64 %5 to double
%7 = load double, double* %1
%8 = fadd double %7, %6
store double %8, double* %1
%9 = call i32 @vcons(i64 1, double 1.000000e+00)
%10 = call i64 @vsume(i32 %9)
%11 = call i32 @vcons(i64 %10, double 2.000000e+00)
%12 = call i64 @vnorm(i32 %11)
%13 = sitofp i64 %12 to double
%14 = load double, double* %1
%15 = fadd double %14, %13
store double %15, double* %1
%16 = call i32 @vcons(i64 2, double 1.000000e+00)
%17 = call i64 @vsume(i32 %16)
%18 = call i32 @vcons(i64 %17, double 2.000000e+00)
%19 = call i64 @vnorm(i32 %18)
%20 = sitofp i64 %19 to double
%21 = load double, double* %1
%22 = fadd double %21, %20
store double %22, double* %1
%23 = call i32 @vcons(i64 3, double 1.000000e+00)
%24 = call i64 @vsume(i32 %23)
%25 = call i32 @vcons(i64 %24, double 2.000000e+00)
%26 = call i64 @vnorm(i32 %25)
%27 = sitofp i64 %26 to double
%28 = load double, double* %1
%29 = fadd double %28, %27
store double %29, double* %1
%30 = call i32 @vcons(i64 4, double 1.000000e+00)
%31 = call i64 @vsume(i32 %30)
%32 = call i32 @vcons(i64 %31, double 2.000000e+00)
%33 = call i64 @vnorm(i32 %32)
%34 = sitofp i64 %33 to double
%35 = load double, double* %1
%36 = fadd double %35, %34
store double %36, double* %1
%37 = call i32 @vcons(i64 5, double 1.000000e+00)
%38 = call i64 @vsume(i32 %37)
%39 = call i32 @vcons(i64 %38, double 2.000000e+00)
%40 = call i64 @vnorm(i32 %39)
%41 = sitofp i64 %40 to double
%42 = load double, double* %1
%43 = fadd double %42, %41
store double %43, double* %1
%44 = call i32 @vcons(i64 6, double 1.000000e+00)
%45 = call i64 @vsume(i32 %44)
%46 = call i32 @vcons(i64 %45, double 2.000000e+00)
%47 = call i64 @vnorm(i32 %46)
%48 = sitofp i64 %47 to double
%49 = load double, double* %1
%50 = fadd double %49, %48
store double %50, double* %1
%51 = call i32 @vcons(i64 7, double 1.000000e+00)
%52 = call i64 @vsume(i32 %51)
%53 = call i32 @vcons(i64 %52, double 2.000000e+00)
%54 = call i64 @vnorm(i32 %53)
%55 = sitofp i64 %54 to double
%56 = load double, double* %1
%57 = fadd double %56, %55
store double %57, double* %1
%58 = call i32 @vcons(i64 8, double 1.000000e+00)
%59 = call i64 @vsume(i32 %58)
%60 = call i32 @vcons(i64 %59, double 2.000000e+00)
%61 = call i64 @vnorm(i32 %60)
%62 = sitofp i64 %61 to double
%63 = load double, double* %1
%64 = fadd double %63, %62
store double %64, double* %1
%65 = call i32 @vcons(i64 9, double 1.000000e+00)
%66 = call i64 @vsume(i32 %65)
%67 = call i32 @vcons(i64 %66, double 2.000000e+00)
%68 = call i64 @vnorm(i32 %67)
%69 = sitofp i64 %68 to double
%70 = load double, double* %1
%71 = fadd double %70, %69
store double %71, double* %1
%72 = call i32 @vcons(i64 10, double 1.000000e+00)
%73 = call i64 @vsume(i32 %72)
%74 = call i32 @vcons(i64 %73, double 2.000000e+00)
%75 = call i64 @vnorm(i32 %74)
%76 = sitofp i64 %75 to double
%77 = load double, double* %1
%78 = fadd double %77, %76
store double %78, double* %1
%79 = call i32 @vcons(i64 11, double 1.000000e+00)
%80 = call i64 @vsume(i32 %79)
%81 = call i32 @vcons(i64 %80, double 2.000000e+00)
%82 = call i64 @vnorm(i32 %81)
%83 = sitofp i64 %82 to double
%84 = load double, double* %1
%85 = fadd double %84, %83
store double %85, double* %1
%86 = call i32 @vcons(i64 12, double 1.000000e+00)
%87 = call i64 @vsume(i32 %86)
%88 = call i32 @vcons(i64 %87, double 2.000000e+00)
%89 = call i64 @vnorm(i32 %88)
%90 = sitofp i64 %89 to double
%91 = load double, double* %1
%92 = fadd double %91, %90
store double %92, double* %1
%93 = call i32 @vcons(i64 13, double 1.000000e+00)
%94 = call i64 @vsume(i32 %93)
%95 = call i32 @vcons(i64 %94, double 2.000000e+00)
%96 = call i64 @vnorm(i32 %95)
%97 = sitofp i64 %96 to double
%98 = load double, double* %1
%99 = fadd double %98, %97
store double %99, double* %1
%100 = call i32 @vcons(i64 14, double 1.000000e+00)
%101 = call i64 @vsume(i32 %100)
%102 = call i32 @vcons(i64 %101, double 2.000000e+00)
%103 = call i64 @vnorm(i32 %102)
%104 = sitofp i64 %103 to double
%105 = load double, double* %1
%106 = fadd double %105, %104
store double %106, double* %1
%107 = call i32 @vcons(i64 15, double 1.000000e+00)
%108 = call i64 @vsume(i32 %107)
%109 = call i32 @vcons(i64 %108, double 2.000000e+00)
%110 = call i64 @vnorm(i32 %109)
%111 = sitofp i64 %110 to double
%112 = load double, double* %1
%113 = fadd double %112, %111
store double %113, double* %1
%114 = call i32 @vcons(i64 16, double 1.000000e+00)
%115 = call i64 @vsume(i32 %114)
%116 = call i32 @vcons(i64 %115, double 2.000000e+00)
%117 = call i64 @vnorm(i32 %116)
%118 = sitofp i64 %117 to double
%119 = load double, double* %1
%120 = fadd double %119, %118
store double %120, double* %1
%121 = call i32 @vcons(i64 17, double 1.000000e+00)
%122 = call i64 @vsume(i32 %121)
%123 = call i32 @vcons(i64 %122, double 2.000000e+00)
%124 = call i64 @vnorm(i32 %123)
%125 = sitofp i64 %124 to double
%126 = load double, double* %1
%127 = fadd double %126, %125
store double %127, double* %1
%128 = call i32 @vcons(i64 18, double 1.000000e+00)
%129 = call i64 @vsume(i32 %128)
%130 = call i32 @vcons(i64 %129, double 2.000000e+00)
%131 = call i64 @vnorm(i32 %130)
%132 = sitofp i64 %131 to double
%133 = load double, double* %1
%134 = fadd double %133, %132
store double %134, double* %1
%135 = call i32 @vcons(i64 19, double 1.000000e+00)
%136 = call i64 @vsume(i32 %135)
%137 = call i32 @vcons(i64 %136, double 2.000000e+00)
%138 = call i64 @vnorm(i32 %137)
%139 = sitofp i64 %138 to double
%140 = load double, double* %1
%141 = fadd double %140, %139
store double %141, double* %1
%142 = call i32 @vcons(i64 20, double 1.000000e+00)
%143 = call i64 @vsume(i32 %142)
%144 = call i32 @vcons(i64 %143, double 2.000000e+00)
%145 = call i64 @vnorm(i32 %144)
%146 = sitofp i64 %145 to double
%147 = load double, double* %1
%148 = fadd double %147, %146
store double %148, double* %1
%149 = call i32 @vcons(i64 21, double 1.000000e+00)
%150 = call i64 @vsume(i32 %149)
%151 = call i32 @vcons(i64 %150, double 2.000000e+00)
%152 = call i64 @vnorm(i32 %151)
%153 = sitofp i64 %152 to double
%154 = load double, double* %1
%155 = fadd double %154, %153
store double %155, double* %1
%156 = call i32 @vcons(i64 22, double 1.000000e+00)
%157 = call i64 @vsume(i32 %156)
%158 = call i32 @vcons(i64 %157, double 2.000000e+00)
%159 = call i64 @vnorm(i32 %158)
%160 = sitofp i64 %159 to double
%161 = load double, double* %1
%162 = fadd double %161, %160
store double %162, double* %1
%163 = call i32 @vcons(i64 23, double 1.000000e+00)
%164 = call i64 @vsume(i32 %163)
%165 = call i32 @vcons(i64 %164, double 2.000000e+00)
%166 = call i64 @vnorm(i32 %165)
%167 = sitofp i64 %166 to double
%168 = load double, double* %1
%169 = fadd double %168, %167
store double %169, double* %1
%170 = call i32 @vcons(i64 24, double 1.000000e+00)
%171 = call i64 @vsume(i32 %170)
%172 = call i32 @vcons(i64 %171, double 2.000000e+00)
%173 = call i64 @vnorm(i32 %172)
%174 = sitofp i64 %173 to double
%175 = load double, double* %1
%176 = fadd double %175, %174
store double %176, double* %1
%177 = call i32 @vcons(i64 25, double 1.000000e+00)
%178 = call i64 @vsume(i32 %177)
%179 = call i32 @vcons(i64 %178, double 2.000000e+00)
%180 = call i64 @vnorm(i32 %179)
%181 = sitofp i64 %180 to double
%182 = load double, double* %1
%183 = fadd double %182, %181
store double %183, double* %1
%184 = call i32 @vcons(i64 26, double 1.000000e+00)
%185 = call i64 @vsume(i32 %184)
%186 = call i32 @vcons(i64 %185, double 2.000000e+00)
%187 = call i64 @vnorm(i32 %186)
%188 = sitofp i64 %187 to double
%189 = load double, double* %1
%190 = fadd double %189, %188
store double %190, double* %1
%191 = call i32 @vcons(i64 27, double 1.000000e+00)
%192 = call i64 @vsume(i32 %191)
%193 = call i32 @vcons(i64 %192, double 2.000000e+00)
%194 = call i64 @vnorm(i32 %193)
%195 = sitofp i64 %194 to double
%196 = load double, double* %1
%197 = fadd double %196, %195
store double %197, double* %1
%198 = call i32 @vcons(i64 28, double 1.000000e+00)
%199 = call i64 @vsume(i32 %198)
%200 = call i32 @vcons(i64 %199, double 2.000000e+00)
%201 = call i64 @vnorm(i32 %200)
%202 = sitofp i64 %201 to double
%203 = load double, double* %1
%204 = fadd double %203, %202
store double %204, double* %1
%205 = call i32 @vcons(i64 29, double 1.000000e+00)
%206 = call i64 @vsume(i32 %205)
%207 = call i32 @vcons(i64 %206, double 2.000000e+00)
%208 = call i64 @vnorm(i32 %207)
%209 = sitofp i64 %208 to double
%210 = load double, double* %1
%211 = fadd double %210, %209
store double %211, double* %1
%212 = call i32 @vcons(i64 30, double 1.000000e+00)
%213 = call i64 @vsume(i32 %212)
%214 = call i32 @vcons(i64 %213, double 2.000000e+00)
%215 = call i64 @vnorm(i32 %214)
%216 = sitofp i64 %215 to double
%217 = load double, double* %1
%218 = fadd double %217, %216
store double %218, double* %1
%219 = call i32 @vcons(i64 31, double 1.000000e+00)
%220 = call i64 @vsume(i32 %219)
%221 = call i32 @vcons(i64 %220, double 2.000000e+00)
%222 = call i64 @vnorm(i32 %221)
%223 = sitofp i64 %222 to double
%224 = load double, double* %1
%225 = fadd double %224, %223
store double %225, double* %1
%226 = call i32 @vcons(i64 32, double 1.000000e+00)
%227 = call i64 @vsume(i32 %226)
%228 = call i32 @vcons(i64 %227, double 2.000000e+00)
%229 = call i64 @vnorm(i32 %228)
%230 = sitofp i64 %229 to double
%231 = load double, double* %1
%232 = fadd double %231, %230
store double %232, double* %1
%233 = call i32 @vcons(i64 33, double 1.000000e+00)
%234 = call i64 @vsume(i32 %233)
%235 = call i32 @vcons(i64 %234, double 2.000000e+00)
%236 = call i64 @vnorm(i32 %235)
%237 = sitofp i64 %236 to double
%238 = load double, double* %1
%239 = fadd double %238, %237
store double %239, double* %1
%240 = call i32 @vcons(i64 34, double 1.000000e+00)
%241 = call i64 @vsume(i32 %240)
%242 = call i32 @vcons(i64 %241, double 2.000000e+00)
%243 = call i64 @vnorm(i32 %242)
%244 = sitofp i64 %243 to double
%245 = load double, double* %1
%246 = fadd double %245, %244
store double %246, double* %1
%247 = call i32 @vcons(i64 35, double 1.000000e+00)
%248 = call i64 @vsume(i32 %247)
%249 = call i32 @vcons(i64 %248, double 2.000000e+00)
%250 = call i64 @vnorm(i32 %249)
%251 = sitofp i64 %250 to double
%252 = load double, double* %1
%253 = fadd double %252, %251
store double %253, double* %1
%254 = call i32 @vcons(i64 36, double 1.000000e+00)
%255 = call i64 @vsume(i32 %254)
%256 = call i32 @vcons(i64 %255, double 2.000000e+00)
%257 = call i64 @vnorm(i32 %256)
%258 = sitofp i64 %257 to double
%259 = load double, double* %1
%260 = fadd double %259, %258
store double %260, double* %1
%261 = call i32 @vcons(i64 37, double 1.000000e+00)
%262 = call i64 @vsume(i32 %261)
%263 = call i32 @vcons(i64 %262, double 2.000000e+00)
%264 = call i64 @vnorm(i32 %263)
%265 = sitofp i64 %264 to double
%266 = load double, double* %1
%267 = fadd double %266, %265
store double %267, double* %1
%268 = call i32 @vcons(i64 38, double 1.000000e+00)
%269 = call i64 @vsume(i32 %268)
%270 = call i32 @vcons(i64 %269, double 2.000000e+00)
%271 = call i64 @vnorm(i32 %270)
%272 = sitofp i64 %271 to double
%273 = load double, double* %1
%274 = fadd double %273, %272
store double %274, double* %1
%275 = call i32 @vcons(i64 39, double 1.000000e+00)
%276 = call i64 @vsume(i32 %275)
%277 = call i32 @vcons(i64 %276, double 2.000000e+00)
%278 = call i64 @vnorm(i32 %277)
%279 = sitofp i64 %278 to double
%280 = load double, double* %1
%281 = fadd double %280, %279
store double %281, double* %1
%282 = load double, double* %1
ret double %282
}

LLVM IR (-O2):
define double @case40() {
%1 = tail call i32 @vcons(i64 0, double 1.000000e+00)
%2 = tail call i64 @vsume(i32 %1)
%3 = tail call i32 @vcons(i64 %2, double 2.000000e+00)
%4 = tail call i64 @vnorm(i32 %3)
%5 = sitofp i64 %4 to double
%6 = tail call i32 @vcons(i64 1, double 1.000000e+00)
%7 = tail call i64 @vsume(i32 %6)
%8 = tail call i32 @vcons(i64 %7, double 2.000000e+00)
%9 = tail call i64 @vnorm(i32 %8)
%10 = sitofp i64 %9 to double
%11 = fadd double %5, %10
%12 = tail call i32 @vcons(i64 2, double 1.000000e+00)
%13 = tail call i64 @vsume(i32 %12)
%14 = tail call i32 @vcons(i64 %13, double 2.000000e+00)
%15 = tail call i64 @vnorm(i32 %14)
%16 = sitofp i64 %15 to double
%17 = fadd double %11, %16
%18 = tail call i32 @vcons(i64 3, double 1.000000e+00)
%19 = tail call i64 @vsume(i32 %18)
%20 = tail call i32 @vcons(i64 %19, double 2.000000e+00)
%21 = tail call i64 @vnorm(i32 %20)
%22 = sitofp i64 %21 to double
%23 = fadd double %17, %22
%24 = tail call i32 @vcons(i64 4, double 1.000000e+00)
%25 = tail call i64 @vsume(i32 %24)
%26 = tail call i32 @vcons(i64 %25, double 2.000000e+00)
%27 = tail call i64 @vnorm(i32 %26)
%28 = sitofp i64 %27 to double
%29 = fadd double %23, %28
%30 = tail call i32 @vcons(i64 5, double 1.000000e+00)
%31 = tail call i64 @vsume(i32 %30)
%32 = tail call i32 @vcons(i64 %31, double 2.000000e+00)
%33 = tail call i64 @vnorm(i32 %32)
%34 = sitofp i64 %33 to double
%35 = fadd double %29, %34
%36 = tail call i32 @vcons(i64 6, double 1.000000e+00)
%37 = tail call i64 @vsume(i32 %36)
%38 = tail call i32 @vcons(i64 %37, double 2.000000e+00)
%39 = tail call i64 @vnorm(i32 %38)
%40 = sitofp i64 %39 to double
%41 = fadd double %35, %40
%42 = tail call i32 @vcons(i64 7, double 1.000000e+00)
%43 = tail call i64 @vsume(i32 %42)
%44 = tail call i32 @vcons(i64 %43, double 2.000000e+00)
%45 = tail call i64 @vnorm(i32 %44)
%46 = sitofp i64 %45 to double
%47 = fadd double %41, %46
%48 = tail call i32 @vcons(i64 8, double 1.000000e+00)
%49 = tail call i64 @vsume(i32 %48)
%50 = tail call i32 @vcons(i64 %49, double 2.000000e+00)
%51 = tail call i64 @vnorm(i32 %50)
%52 = sitofp i64 %51 to double
%53 = fadd double %47, %52
%54 = tail call i32 @vcons(i64 9, double 1.000000e+00)
%55 = tail call i64 @vsume(i32 %54)
%56 = tail call i32 @vcons(i64 %55, double 2.000000e+00)
%57 = tail call i64 @vnorm(i32 %56)
%58 = sitofp i64 %57 to double
%59 = fadd double %53, %58
%60 = tail call i32 @vcons(i64 10, double 1.000000e+00)
%61 = tail call i64 @vsume(i32 %60)
%62 = tail call i32 @vcons(i64 %61, double 2.000000e+00)
%63 = tail call i64 @vnorm(i32 %62)
%64 = sitofp i64 %63 to double
%65 = fadd double %59, %64
%66 = tail call i32 @vcons(i64 11, double 1.000000e+00)
%67 = tail call i64 @vsume(i32 %66)
%68 = tail call i32 @vcons(i64 %67, double 2.000000e+00)
%69 = tail call i64 @vnorm(i32 %68)
%70 = sitofp i64 %69 to double
%71 = fadd double %65, %70
%72 = tail call i32 @vcons(i64 12, double 1.000000e+00)
%73 = tail call i64 @vsume(i32 %72)
%74 = tail call i32 @vcons(i64 %73, double 2.000000e+00)
%75 = tail call i64 @vnorm(i32 %74)
%76 = sitofp i64 %75 to double
%77 = fadd double %71, %76
%78 = tail call i32 @vcons(i64 13, double 1.000000e+00)
%79 = tail call i64 @vsume(i32 %78)
%80 = tail call i32 @vcons(i64 %79, double 2.000000e+00)
%81 = tail call i64 @vnorm(i32 %80)
%82 = sitofp i64 %81 to double
%83 = fadd double %77, %82
%84 = tail call i32 @vcons(i64 14, double 1.000000e+00)
%85 = tail call i64 @vsume(i32 %84)
%86 = tail call i32 @vcons(i64 %85, double 2.000000e+00)
%87 = tail call i64 @vnorm(i32 %86)
%88 = sitofp i64 %87 to double
%89 = fadd double %83, %88
%90 = tail call i32 @vcons(i64 15, double 1.000000e+00)
%91 = tail call i64 @vsume(i32 %90)
%92 = tail call i32 @vcons(i64 %91, double 2.000000e+00)
%93 = tail call i64 @vnorm(i32 %92)
%94 = sitofp i64 %93 to double
%95 = fadd double %89, %94
%96 = tail call i32 @vcons(i64 16, double 1.000000e+00)
%97 = tail call i64 @vsume(i32 %96)
%98 = tail call i32 @vcons(i64 %97, double 2.000000e+00)
%99 = tail call i64 @vnorm(i32 %98)
%100 = sitofp i64 %99 to double
%101 = fadd double %95, %100
%102 = tail call i32 @vcons(i64 17, double 1.000000e+00)
%103 = tail call i64 @vsume(i32 %102)
%104 = tail call i32 @vcons(i64 %103, double 2.000000e+00)
%105 = tail call i64 @vnorm(i32 %104)
%106 = sitofp i64 %105 to double
%107 = fadd double %101, %106
%108 = tail call i32 @vcons(i64 18, double 1.000000e+00)
%109 = tail call i64 @vsume(i32 %108)
%110 = tail call i32 @vcons(i64 %109, double 2.000000e+00)
%111 = tail call i64 @vnorm(i32 %110)
%112 = sitofp i64 %111 to double
%113 = fadd double %107, %112
%114 = tail call i32 @vcons(i64 19, double 1.000000e+00)
%115 = tail call i64 @vsume(i32 %114)
%116 = tail call i32 @vcons(i64 %115, double 2.000000e+00)
%117 = tail call i64 @vnorm(i32 %116)
%118 = sitofp i64 %117 to double
%119 = fadd double %113, %118
%120 = tail call i32 @vcons(i64 20, double 1.000000e+00)
%121 = tail call i64 @vsume(i32 %120)
%122 = tail call i32 @vcons(i64 %121, double 2.000000e+00)
%123 = tail call i64 @vnorm(i32 %122)
%124 = sitofp i64 %123 to double
%125 = fadd double %119, %124
%126 = tail call i32 @vcons(i64 21, double 1.000000e+00)
%127 = tail call i64 @vsume(i32 %126)
%128 = tail call i32 @vcons(i64 %127, double 2.000000e+00)
%129 = tail call i64 @vnorm(i32 %128)
%130 = sitofp i64 %129 to double
%131 = fadd double %125, %130
%132 = tail call i32 @vcons(i64 22, double 1.000000e+00)
%133 = tail call i64 @vsume(i32 %132)
%134 = tail call i32 @vcons(i64 %133, double 2.000000e+00)
%135 = tail call i64 @vnorm(i32 %134)
%136 = sitofp i64 %135 to double
%137 = fadd double %131, %136
%138 = tail call i32 @vcons(i64 23, double 1.000000e+00)
%139 = tail call i64 @vsume(i32 %138)
%140 = tail call i32 @vcons(i64 %139, double 2.000000e+00)
%141 = tail call i64 @vnorm(i32 %140)
%142 = sitofp i64 %141 to double
%143 = fadd double %137, %142
%144 = tail call i32 @vcons(i64 24, double 1.000000e+00)
%145 = tail call i64 @vsume(i32 %144)
%146 = tail call i32 @vcons(i64 %145, double 2.000000e+00)
%147 = tail call i64 @vnorm(i32 %146)
%148 = sitofp i64 %147 to double
%149 = fadd double %143, %148
%150 = tail call i32 @vcons(i64 25, double 1.000000e+00)
%151 = tail call i64 @vsume(i32 %150)
%152 = tail call i32 @vcons(i64 %151, double 2.000000e+00)
%153 = tail call i64 @vnorm(i32 %152)
%154 = sitofp i64 %153 to double
%155 = fadd double %149, %154
%156 = tail call i32 @vcons(i64 26, double 1.000000e+00)
%157 = tail call i64 @vsume(i32 %156)
%158 = tail call i32 @vcons(i64 %157, double 2.000000e+00)
%159 = tail call i64 @vnorm(i32 %158)
%160 = sitofp i64 %159 to double
%161 = fadd double %155, %160
%162 = tail call i32 @vcons(i64 27, double 1.000000e+00)
%163 = tail call i64 @vsume(i32 %162)
%164 = tail call i32 @vcons(i64 %163, double 2.000000e+00)
%165 = tail call i64 @vnorm(i32 %164)
%166 = sitofp i64 %165 to double
%167 = fadd double %161, %166
%168 = tail call i32 @vcons(i64 28, double 1.000000e+00)
%169 = tail call i64 @vsume(i32 %168)
%170 = tail call i32 @vcons(i64 %169, double 2.000000e+00)
%171 = tail call i64 @vnorm(i32 %170)
%172 = sitofp i64 %171 to double
%173 = fadd double %167, %172
%174 = tail call i32 @vcons(i64 29, double 1.000000e+00)
%175 = tail call i64 @vsume(i32 %174)
%176 = tail call i32 @vcons(i64 %175, double 2.000000e+00)
%177 = tail call i64 @vnorm(i32 %176)
%178 = sitofp i64 %177 to double
%179 = fadd double %173, %178
%180 = tail call i32 @vcons(i64 30, double 1.000000e+00)
%181 = tail call i64 @vsume(i32 %180)
%182 = tail call i32 @vcons(i64 %181, double 2.000000e+00)
%183 = tail call i64 @vnorm(i32 %182)
%184 = sitofp i64 %183 to double
%185 = fadd double %179, %184
%186 = tail call i32 @vcons(i64 31, double 1.000000e+00)
%187 = tail call i64 @vsume(i32 %186)
%188 = tail call i32 @vcons(i64 %187, double 2.000000e+00)
%189 = tail call i64 @vnorm(i32 %188)
%190 = sitofp i64 %189 to double
%191 = fadd double %185, %190
%192 = tail call i32 @vcons(i64 32, double 1.000000e+00)
%193 = tail call i64 @vsume(i32 %192)
%194 = tail call i32 @vcons(i64 %193, double 2.000000e+00)
%195 = tail call i64 @vnorm(i32 %194)
%196 = sitofp i64 %195 to double
%197 = fadd double %191, %196
%198 = tail call i32 @vcons(i64 33, double 1.000000e+00)
%199 = tail call i64 @vsume(i32 %198)
%200 = tail call i32 @vcons(i64 %199, double 2.000000e+00)
%201 = tail call i64 @vnorm(i32 %200)
%202 = sitofp i64 %201 to double
%203 = fadd double %197, %202
%204 = tail call i32 @vcons(i64 34, double 1.000000e+00)
%205 = tail call i64 @vsume(i32 %204)
%206 = tail call i32 @vcons(i64 %205, double 2.000000e+00)
%207 = tail call i64 @vnorm(i32 %206)
%208 = sitofp i64 %207 to double
%209 = fadd double %203, %208
%210 = tail call i32 @vcons(i64 35, double 1.000000e+00)
%211 = tail call i64 @vsume(i32 %210)
%212 = tail call i32 @vcons(i64 %211, double 2.000000e+00)
%213 = tail call i64 @vnorm(i32 %212)
%214 = sitofp i64 %213 to double
%215 = fadd double %209, %214
%216 = tail call i32 @vcons(i64 36, double 1.000000e+00)
%217 = tail call i64 @vsume(i32 %216)
%218 = tail call i32 @vcons(i64 %217, double 2.000000e+00)
%219 = tail call i64 @vnorm(i32 %218)
%220 = sitofp i64 %219 to double
%221 = fadd double %215, %220
%222 = tail call i32 @vcons(i64 37, double 1.000000e+00)
%223 = tail call i64 @vsume(i32 %222)
%224 = tail call i32 @vcons(i64 %223, double 2.000000e+00)
%225 = tail call i64 @vnorm(i32 %224)
%226 = sitofp i64 %225 to double
%227 = fadd double %221, %226
%228 = tail call i32 @vcons(i64 38, double 1.000000e+00)
%229 = tail call i64 @vsume(i32 %228)
%230 = tail call i32 @vcons(i64 %229, double 2.000000e+00)
%231 = tail call i64 @vnorm(i32 %230)
%232 = sitofp i64 %231 to double
%233 = fadd double %227, %232
%234 = tail call i32 @vcons(i64 39, double 1.000000e+00)
%235 = tail call i64 @vsume(i32 %234)
%236 = tail call i32 @vcons(i64 %235, double 2.000000e+00)
%237 = tail call i64 @vnorm(i32 %236)
%238 = sitofp i64 %237 to double
%239 = fadd double %233, %238
ret double %239
}