#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*/ vertical_cylinder(double, int /*<<< orphan*/, double, double,
                                     int, int, int /*<<< orphan*/,
                                     int /*<<< orphan*/, int /*<<< orphan*/,
                                     int);
void streetlamp_plane() {
  vertical_cylinder(-0.6125, 0, 0.225, 0.25, 45, 1, 0, 0, 0, 28);
  vertical_cylinder(-1.125, 0, 0.225, 0.25, 90, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.6125, 0, -0.225, 0.25, -45, 1, 0, 0, 0, 28);
  vertical_cylinder(-1.125, 0, -0.225, 0.25, -90, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.185, 0, 0.225, 0.25, 135, 1, 0, 0, 0, 28);
  vertical_cylinder(0.585, 0, 0.225, 0.25, 90, 1, 0, 0, 0, 28);
  vertical_cylinder(1.185, 0, 0.225, 0.25, 45, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.185, 0, -0.225, 0.25, -135, 1, 0, 0, 0, 28);
  vertical_cylinder(1.185, 0, -0.225, 0.25, -45, 1, 0, 0, 0, 28);
  vertical_cylinder(1.185, 0, -1.2, 0.25, -45, 1, 0, 0, 0, 28);
  vertical_cylinder(1.625, 0, -.785, 0.25, 135, 1, 0, 0, 0, 28);
  vertical_cylinder(1.625, 0, -0.225, 0.25, 180, 1, 0, 0, 0, 28);
  vertical_cylinder(1.625, 0, 0.225, 0.25, 180, 1, 0, 0, 0, 28);
  vertical_cylinder(1.625, 0, 1, 0.25, 180, 1, 0, 0, 0, 28);
  vertical_cylinder(1.625, 0, 1.8, 0.25, 180, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.6125, 0, -.725, 0.25, 0, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.6125, 0, -1.59, 0.25, 45, 1, 0, 0, 0, 28);
  vertical_cylinder(-1.125, 0, -1.59, 0.25, 90, 1, 0, 0, 0, 28);
  vertical_cylinder(-1.125, 0, 1.175, 0.25, -90, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.6125, 0, 1.175, 0.25, -45, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.185, 0, 1.175, 0.25, -135, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.185, 0, 1.625, 0.25, 135, 1, 0, 0, 0, 28);
  vertical_cylinder(0.5, 0, 1.625, 0.25, 45, 1, 0, 0, 0, 28);
  vertical_cylinder(-0.185, 0, -1.25, 0.25, 180, 1, 0, 0, 0, 28);
}


x86 assembly (clang, -O0):
<streetlamp_plane>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movsd  0xf10(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xf35(%rip),%xmm1
movsd  0xedd(%rip),%xmm2
mov    $0x2d,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xede(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xefb(%rip),%xmm1
movsd  0xea3(%rip),%xmm2
mov    $0x5a,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xe9c(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xec9(%rip),%xmm1
movsd  0xe69(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xe6a(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xe8f(%rip),%xmm1
movsd  0xe2f(%rip),%xmm2
mov    $0xffffffa6,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xdf8(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xe4d(%rip),%xmm1
movsd  0xdf5(%rip),%xmm2
mov    $0x87,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xe46(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xe13(%rip),%xmm1
movsd  0xdbb(%rip),%xmm2
mov    $0x5a,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xdfc(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xdd9(%rip),%xmm1
movsd  0xd81(%rip),%xmm2
mov    $0x2d,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xd4a(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xda7(%rip),%xmm1
movsd  0xd47(%rip),%xmm2
mov    $0xffffff79,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xd88(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xd6d(%rip),%xmm1
movsd  0xd0d(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xd4e(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xd4b(%rip),%xmm1
movsd  0xcd3(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xcbc(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xd01(%rip),%xmm1
movsd  0xc99(%rip),%xmm2
mov    $0x87,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xc82(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xcbf(%rip),%xmm1
movsd  0xc5f(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xc48(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xc7d(%rip),%xmm1
movsd  0xc25(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xc0e(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xc3b(%rip),%xmm1
movsd  0xbeb(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xbd4(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xbf9(%rip),%xmm1
movsd  0xbb1(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xbaa(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xbb7(%rip),%xmm1
movsd  0xb77(%rip),%xmm2
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xb72(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xb77(%rip),%xmm1
movsd  0xb3f(%rip),%xmm2
mov    $0x2d,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xb40(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xb3d(%rip),%xmm1
movsd  0xb05(%rip),%xmm2
mov    $0x5a,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xb06(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xaeb(%rip),%xmm1
movsd  0xacb(%rip),%xmm2
mov    $0xffffffa6,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xac4(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xab1(%rip),%xmm1
movsd  0xa91(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xa5a(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xa77(%rip),%xmm1
movsd  0xa57(%rip),%xmm2
mov    $0xffffff79,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0xa20(%rip),%xmm0
xor    %r9d,%r9d
movsd  0xa35(%rip),%xmm1
movsd  0xa1d(%rip),%xmm2
mov    $0x87,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0x9fe(%rip),%xmm0
xor    %r9d,%r9d
movsd  0x9fb(%rip),%xmm1
movsd  0x9e3(%rip),%xmm2
mov    $0x2d,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
movsd  0x9ac(%rip),%xmm0
xor    %r9d,%r9d
movsd  0x9a9(%rip),%xmm1
movsd  0x9a9(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
mov    %r9d,%edi
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1c,(%rsp)
call   1030 <vertical_cylinder@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<streetlamp_plane>:
push   %rax
movl   $0x1c,(%rsp)
movsd  0xee0(%rip),%xmm0
movsd  0xee0(%rip),%xmm1
movsd  0xee0(%rip),%xmm2
xor    %edi,%edi
mov    $0x2d,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xec0(%rip),%xmm0
xor    %edi,%edi
movsd  0xea6(%rip),%xmm1
movsd  0xea6(%rip),%xmm2
mov    $0x5a,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xe90(%rip),%xmm1
movsd  0xe68(%rip),%xmm0
xor    %edi,%edi
movsd  0xe6e(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xe50(%rip),%xmm0
xor    %edi,%edi
movsd  0xe4e(%rip),%xmm1
movsd  0xe36(%rip),%xmm2
mov    $0xffffffa6,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xe28(%rip),%xmm0
xor    %edi,%edi
movsd  0xdfe(%rip),%xmm1
movsd  0xdfe(%rip),%xmm2
mov    $0x87,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xdf8(%rip),%xmm0
xor    %edi,%edi
movsd  0xdc6(%rip),%xmm1
movsd  0xdc6(%rip),%xmm2
mov    $0x5a,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xdc8(%rip),%xmm0
xor    %edi,%edi
movsd  0xd8e(%rip),%xmm1
movsd  0xd8e(%rip),%xmm2
mov    $0x2d,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xd80(%rip),%xmm0
xor    %edi,%edi
movsd  0xd6e(%rip),%xmm1
movsd  0xd56(%rip),%xmm2
mov    $0xffffff79,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xd58(%rip),%xmm0
xor    %edi,%edi
movsd  0xd36(%rip),%xmm1
movsd  0xd1e(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xd28(%rip),%xmm1
movsd  0xd18(%rip),%xmm0
xor    %edi,%edi
movsd  0xce6(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xcf8(%rip),%xmm0
movsd  0xcf8(%rip),%xmm1
xor    %edi,%edi
movsd  0xcae(%rip),%xmm2
mov    $0x87,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xcc0(%rip),%xmm0
xor    %edi,%edi
movsd  0xc8e(%rip),%xmm1
movsd  0xc76(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xc88(%rip),%xmm0
xor    %edi,%edi
movsd  0xc3e(%rip),%xmm1
movsd  0xc3e(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xc60(%rip),%xmm1
movsd  0xc48(%rip),%xmm0
xor    %edi,%edi
movsd  0xc06(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xc30(%rip),%xmm1
movsd  0xc10(%rip),%xmm0
xor    %edi,%edi
movsd  0xbce(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xc00(%rip),%xmm1
movsd  0xb90(%rip),%xmm0
xor    %edi,%edi
movsd  0xb96(%rip),%xmm2
xor    %esi,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xbd3(%rip),%xmm1
movsd  0xb5b(%rip),%xmm0
xor    %edi,%edi
movsd  0xb61(%rip),%xmm2
mov    $0x2d,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xb43(%rip),%xmm0
xor    %edi,%edi
movsd  0xb91(%rip),%xmm1
movsd  0xb29(%rip),%xmm2
mov    $0x5a,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xb6b(%rip),%xmm1
movsd  0xb03(%rip),%xmm0
xor    %edi,%edi
movsd  0xaf1(%rip),%xmm2
mov    $0xffffffa6,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xabb(%rip),%xmm0
xor    %edi,%edi
movsd  0xb29(%rip),%xmm1
movsd  0xab9(%rip),%xmm2
mov    $0xffffffd3,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xaab(%rip),%xmm0
xor    %edi,%edi
movsd  0xaf1(%rip),%xmm1
movsd  0xa81(%rip),%xmm2
mov    $0xffffff79,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xa73(%rip),%xmm0
xor    %edi,%edi
movsd  0xa89(%rip),%xmm1
movsd  0xa49(%rip),%xmm2
mov    $0x87,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xa93(%rip),%xmm0
xor    %edi,%edi
movsd  0xa51(%rip),%xmm1
movsd  0xa11(%rip),%xmm2
mov    $0x2d,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
movl   $0x1c,(%rsp)
movsd  0xa63(%rip),%xmm1
movsd  0x9fb(%rip),%xmm0
xor    %edi,%edi
movsd  0x9d9(%rip),%xmm2
mov    $0xb4,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
call   1030 <vertical_cylinder@plt>
pop    %rax
ret

LLVM IR (-O0):
define void @streetlamp_plane() {
%1 = call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double 2.250000e-01, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%2 = call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double 2.250000e-01, double 2.500000e-01, i32 90, i32 1, i32 0, i32 0, i32 0, i32 28)
%3 = call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%4 = call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -90, i32 1, i32 0, i32 0, i32 0, i32 28)
%5 = call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double 2.250000e-01, double 2.500000e-01, i32 135, i32 1, i32 0, i32 0, i32 0, i32 28)
%6 = call i32 @vertical_cylinder(double 5.850000e-01, i32 0, double 2.250000e-01, double 2.500000e-01, i32 90, i32 1, i32 0, i32 0, i32 0, i32 28)
%7 = call i32 @vertical_cylinder(double 1.185000e+00, i32 0, double 2.250000e-01, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%8 = call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -135, i32 1, i32 0, i32 0, i32 0, i32 28)
%9 = call i32 @vertical_cylinder(double 1.185000e+00, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%10 = call i32 @vertical_cylinder(double 1.185000e+00, i32 0, double -1.200000e+00, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%11 = call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double -7.850000e-01, double 2.500000e-01, i32 135, i32 1, i32 0, i32 0, i32 0, i32 28)
%12 = call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double -2.250000e-01, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%13 = call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double 2.250000e-01, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%14 = call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double 1.000000e+00, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%15 = call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double 1.800000e+00, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%16 = call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double -7.250000e-01, double 2.500000e-01, i32 0, i32 1, i32 0, i32 0, i32 0, i32 28)
%17 = call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double -1.590000e+00, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%18 = call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double -1.590000e+00, double 2.500000e-01, i32 90, i32 1, i32 0, i32 0, i32 0, i32 28)
%19 = call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double 1.175000e+00, double 2.500000e-01, i32 -90, i32 1, i32 0, i32 0, i32 0, i32 28)
%20 = call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double 1.175000e+00, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%21 = call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double 1.175000e+00, double 2.500000e-01, i32 -135, i32 1, i32 0, i32 0, i32 0, i32 28)
%22 = call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double 1.625000e+00, double 2.500000e-01, i32 135, i32 1, i32 0, i32 0, i32 0, i32 28)
%23 = call i32 @vertical_cylinder(double 5.000000e-01, i32 0, double 1.625000e+00, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%24 = call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double -1.250000e+00, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
ret void
}

LLVM IR (-O2):
define void @streetlamp_plane() {
%1 = tail call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double 2.250000e-01, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%2 = tail call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double 2.250000e-01, double 2.500000e-01, i32 90, i32 1, i32 0, i32 0, i32 0, i32 28)
%3 = tail call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%4 = tail call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -90, i32 1, i32 0, i32 0, i32 0, i32 28)
%5 = tail call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double 2.250000e-01, double 2.500000e-01, i32 135, i32 1, i32 0, i32 0, i32 0, i32 28)
%6 = tail call i32 @vertical_cylinder(double 5.850000e-01, i32 0, double 2.250000e-01, double 2.500000e-01, i32 90, i32 1, i32 0, i32 0, i32 0, i32 28)
%7 = tail call i32 @vertical_cylinder(double 1.185000e+00, i32 0, double 2.250000e-01, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%8 = tail call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -135, i32 1, i32 0, i32 0, i32 0, i32 28)
%9 = tail call i32 @vertical_cylinder(double 1.185000e+00, i32 0, double -2.250000e-01, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%10 = tail call i32 @vertical_cylinder(double 1.185000e+00, i32 0, double -1.200000e+00, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%11 = tail call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double -7.850000e-01, double 2.500000e-01, i32 135, i32 1, i32 0, i32 0, i32 0, i32 28)
%12 = tail call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double -2.250000e-01, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%13 = tail call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double 2.250000e-01, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%14 = tail call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double 1.000000e+00, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%15 = tail call i32 @vertical_cylinder(double 1.625000e+00, i32 0, double 1.800000e+00, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
%16 = tail call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double -7.250000e-01, double 2.500000e-01, i32 0, i32 1, i32 0, i32 0, i32 0, i32 28)
%17 = tail call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double -1.590000e+00, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%18 = tail call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double -1.590000e+00, double 2.500000e-01, i32 90, i32 1, i32 0, i32 0, i32 0, i32 28)
%19 = tail call i32 @vertical_cylinder(double -1.125000e+00, i32 0, double 1.175000e+00, double 2.500000e-01, i32 -90, i32 1, i32 0, i32 0, i32 0, i32 28)
%20 = tail call i32 @vertical_cylinder(double -6.125000e-01, i32 0, double 1.175000e+00, double 2.500000e-01, i32 -45, i32 1, i32 0, i32 0, i32 0, i32 28)
%21 = tail call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double 1.175000e+00, double 2.500000e-01, i32 -135, i32 1, i32 0, i32 0, i32 0, i32 28)
%22 = tail call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double 1.625000e+00, double 2.500000e-01, i32 135, i32 1, i32 0, i32 0, i32 0, i32 28)
%23 = tail call i32 @vertical_cylinder(double 5.000000e-01, i32 0, double 1.625000e+00, double 2.500000e-01, i32 45, i32 1, i32 0, i32 0, i32 0, i32 28)
%24 = tail call i32 @vertical_cylinder(double -1.850000e-01, i32 0, double -1.250000e+00, double 2.500000e-01, i32 180, i32 1, i32 0, i32 0, i32 0, i32 28)
ret void
}