Annotated perf output for hottest function compiled with float
Percent | Source code & Disassembly of spheres-white for cycles (282748 samples, percent: local period)
-------------------------------------------------------------------------------------------------------------
:
:
:
: Disassembly of section .text:
:
: 000000000040d930 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)>:
: __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag):
0.01 : 40d930: push %rbp
0.03 : 40d931: push %r15
0.01 : 40d933: push %r14
0.04 : 40d935: push %r13
0.01 : 40d937: push %r12
0.03 : 40d939: push %rbx
0.03 : 40d93a: sub $0x28,%rsp
0.01 : 40d93e: movaps %xmm0,%xmm10
0.03 : 40d942: mov %rdx,%rbx
0.00 : 40d945: mov %rsi,%r14
0.02 : 40d948: mov %rdi,%r15
0.01 : 40d94b: mov %rsi,%r12
0.03 : 40d94e: sub %rdi,%r12
0.01 : 40d951: movabs $0xcccccccccccccccd,%rcx
0.02 : 40d95b: cmp $0x3d,%r12
0.01 : 40d95f: movss %xmm0,0xc(%rsp)
0.02 : 40d965: jl 40df2e <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x5fe>
0.01 : 40d96b: mov %r12,%rax
0.04 : 40d96e: mul %rcx
0.03 : 40d971: mov %rdx,%r13
0.01 : 40d974: shr $0x6,%r13
0.02 : 40d978: add $0x1,%r13
0.01 : 40d97c: xor %ebp,%ebp
0.03 : 40d97e: movaps 0x779a(%rip),%xmm8 # 415120 <_IO_stdin_used+0x120>
0.01 : 40d986: movss 0x76cd(%rip),%xmm9 # 41505c <_IO_stdin_used+0x5c>
0.02 : 40d98f: xorps %xmm11,%xmm11
0.01 : 40d993: movaps 0x7705(%rip),%xmm12 # 4150a0 <_IO_stdin_used+0xa0>
0.03 : 40d99b: jmp 40d9b2 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x82>
0.00 : 40d99d: nopl (%rax)
0.03 : 40d9a0: add $0xffffffffffffffff,%r13
0.00 : 40d9a4: add $0x50,%rbp
0.01 : 40d9a8: cmp $0x1,%r13
0.05 : 40d9ac: jle 40df1e <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x5ee>
0.66 : 40d9b2: movsd (%rbx),%xmm1
0.05 : 40d9b6: movsd 0x8(%rbx),%xmm4
0.01 : 40d9bb: movsd 0x14(%rbx),%xmm2
0.03 : 40d9c0: movsd 0x4(%r15,%rbp,1),%xmm6
0.66 : 40d9c7: movsd 0xc(%r15,%rbp,1),%xmm5
0.04 : 40d9ce: movaps %xmm5,%xmm7
0.03 : 40d9d1: shufps $0x55,%xmm5,%xmm7
0.03 : 40d9d5: movaps %xmm6,%xmm0
0.84 : 40d9d8: divss %xmm7,%xmm0
0.03 : 40d9dc: shufps $0xe1,%xmm1,%xmm1
0.00 : 40d9e0: movaps %xmm4,%xmm3
0.03 : 40d9e3: shufps $0x55,%xmm4,%xmm3
0.85 : 40d9e7: divps %xmm3,%xmm1
0.03 : 40d9ea: movaps %xmm1,%xmm3
0.04 : 40d9ed: shufps $0x55,%xmm1,%xmm3
0.16 : 40d9f1: subss %xmm0,%xmm3
0.69 : 40d9f5: shufps $0x55,%xmm6,%xmm6
0.11 : 40d9f9: divss %xmm7,%xmm6
0.00 : 40d9fd: movaps %xmm1,%xmm0
0.28 : 40da00: subss %xmm6,%xmm0
0.61 : 40da04: divss %xmm7,%xmm5
0.02 : 40da08: movss 0x10(%rbx),%xmm6
0.00 : 40da0d: unpcklps %xmm6,%xmm6
0.11 : 40da10: movaps %xmm4,%xmm7
0.56 : 40da13: movlhps %xmm6,%xmm7
0.02 : 40da16: shufps $0x21,%xmm7,%xmm2
0.00 : 40da1a: movss 0x1c(%rbx),%xmm6
0.12 : 40da1f: movss %xmm6,%xmm4
0.57 : 40da23: shufps $0x40,%xmm4,%xmm4
1.36 : 40da27: divps %xmm4,%xmm2
0.00 : 40da2a: movaps %xmm2,%xmm4
0.35 : 40da2d: shufps $0xff,%xmm2,%xmm4
1.43 : 40da31: subss %xmm5,%xmm4
0.02 : 40da35: movaps %xmm2,%xmm5
0.01 : 40da38: unpckhpd %xmm2,%xmm5
0.04 : 40da3c: unpcklps %xmm3,%xmm5
0.71 : 40da3f: shufps $0x0,%xmm3,%xmm3
0.53 : 40da43: mulps %xmm5,%xmm3
0.00 : 40da46: movaps %xmm0,%xmm5
0.04 : 40da49: shufps $0xd4,%xmm2,%xmm5
0.80 : 40da4d: shufps $0x52,%xmm2,%xmm5
0.37 : 40da51: shufps $0x0,%xmm0,%xmm0
0.59 : 40da55: mulps %xmm5,%xmm0
1.95 : 40da58: addps %xmm3,%xmm0
0.18 : 40da5b: movaps %xmm4,%xmm3
0.02 : 40da5e: movlhps %xmm2,%xmm3
0.00 : 40da61: shufps $0xe2,%xmm2,%xmm3
0.52 : 40da65: shufps $0x0,%xmm4,%xmm4
0.86 : 40da69: mulps %xmm3,%xmm4
2.72 : 40da6c: addps %xmm0,%xmm4
0.00 : 40da6f: movaps %xmm4,%xmm5
2.09 : 40da72: addps %xmm4,%xmm5
0.18 : 40da75: addps %xmm8,%xmm4
0.57 : 40da79: shufps $0x1,%xmm5,%xmm4
0.84 : 40da7d: shufps $0xe2,%xmm5,%xmm4
0.74 : 40da81: movaps %xmm9,%xmm0
0.10 : 40da85: movlhps %xmm5,%xmm0
0.65 : 40da88: shufps $0xe2,%xmm5,%xmm0
3.36 : 40da8c: mulps %xmm4,%xmm0
0.05 : 40da8f: movaps %xmm0,%xmm3
0.67 : 40da92: shufps $0x55,%xmm0,%xmm3
1.54 : 40da96: subss %xmm3,%xmm0
1.82 : 40da9a: ucomiss %xmm0,%xmm11
0.69 : 40da9e: ja 40db41 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x211>
0.06 : 40daa4: ucomiss %xmm11,%xmm0
0.00 : 40daa8: jb 40dab0 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x180>
0.06 : 40daaa: sqrtss %xmm0,%xmm0
0.00 : 40daae: jmp 40dae3 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x1b3>
0.00 : 40dab0: movaps %xmm5,0x10(%rsp)
0.00 : 40dab5: call 403540 <sqrtf@plt>
0.00 : 40daba: movaps 0x10(%rsp),%xmm5
0.00 : 40dabf: movaps 0x75d9(%rip),%xmm12 # 4150a0 <_IO_stdin_used+0xa0>
0.00 : 40dac7: xorps %xmm11,%xmm11
0.00 : 40dacb: movss 0x7588(%rip),%xmm9 # 41505c <_IO_stdin_used+0x5c>
0.00 : 40dad4: movaps 0x7644(%rip),%xmm8 # 415120 <_IO_stdin_used+0x120>
0.00 : 40dadc: movss 0xc(%rsp),%xmm10
0.00 : 40dae3: movaps %xmm5,%xmm1
0.00 : 40dae6: xorps %xmm12,%xmm1
0.03 : 40daea: subss %xmm0,%xmm1
0.02 : 40daee: ucomiss %xmm10,%xmm1
0.01 : 40daf2: jae 40e030 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x700>
0.00 : 40daf8: subss %xmm5,%xmm0
0.00 : 40dafc: ucomiss %xmm10,%xmm0
0.00 : 40db00: jae 40e030 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x700>
0.01 : 40db06: movsd (%rbx),%xmm1
0.00 : 40db0a: movsd 0x8(%rbx),%xmm0
0.00 : 40db0f: movsd 0x14(%rbx),%xmm2
0.00 : 40db14: shufps $0xe1,%xmm1,%xmm1
0.00 : 40db18: movaps %xmm0,%xmm3
0.00 : 40db1b: shufps $0x55,%xmm0,%xmm3
0.01 : 40db1f: divps %xmm3,%xmm1
0.00 : 40db22: movss 0x10(%rbx),%xmm3
0.00 : 40db27: movaps %xmm0,%xmm4
0.00 : 40db2a: movlhps %xmm3,%xmm4
0.00 : 40db2d: shufps $0x21,%xmm4,%xmm2
0.00 : 40db31: movss 0x1c(%rbx),%xmm3
0.00 : 40db36: movss %xmm3,%xmm0
0.00 : 40db3a: shufps $0x40,%xmm0,%xmm0
0.00 : 40db3e: divps %xmm0,%xmm2
0.03 : 40db41: movsd 0x18(%r15,%rbp,1),%xmm3
0.01 : 40db48: movsd 0x20(%r15,%rbp,1),%xmm5
0.01 : 40db4f: movaps %xmm5,%xmm6
0.70 : 40db52: shufps $0x55,%xmm5,%xmm6
0.00 : 40db56: movaps %xmm3,%xmm0
0.08 : 40db59: divss %xmm6,%xmm0
0.01 : 40db5d: movaps %xmm1,%xmm4
0.71 : 40db60: shufps $0x55,%xmm1,%xmm4
0.03 : 40db64: subss %xmm0,%xmm4
0.01 : 40db68: shufps $0x55,%xmm3,%xmm3
0.04 : 40db6c: divss %xmm6,%xmm3
0.68 : 40db70: movaps %xmm1,%xmm0
0.13 : 40db73: subss %xmm3,%xmm0
0.04 : 40db77: divss %xmm6,%xmm5
0.00 : 40db7b: movaps %xmm2,%xmm3
0.66 : 40db7e: shufps $0xff,%xmm2,%xmm3
0.12 : 40db82: subss %xmm5,%xmm3
0.01 : 40db86: movaps %xmm2,%xmm5
0.00 : 40db89: unpckhpd %xmm2,%xmm5
0.63 : 40db8d: unpcklps %xmm4,%xmm5
0.07 : 40db90: shufps $0x0,%xmm4,%xmm4
0.02 : 40db94: mulps %xmm5,%xmm4
0.00 : 40db97: movaps %xmm0,%xmm5
0.67 : 40db9a: shufps $0xd4,%xmm2,%xmm5
0.17 : 40db9e: shufps $0x52,%xmm2,%xmm5
0.01 : 40dba2: shufps $0x0,%xmm0,%xmm0
0.12 : 40dba6: mulps %xmm5,%xmm0
1.17 : 40dba9: addps %xmm4,%xmm0
0.01 : 40dbac: movaps %xmm3,%xmm4
0.00 : 40dbaf: movlhps %xmm2,%xmm4
0.01 : 40dbb2: shufps $0xe2,%xmm2,%xmm4
0.68 : 40dbb6: shufps $0x0,%xmm3,%xmm3
0.20 : 40dbba: mulps %xmm4,%xmm3
1.75 : 40dbbd: addps %xmm0,%xmm3
0.01 : 40dbc0: movaps %xmm3,%xmm4
2.30 : 40dbc3: addps %xmm3,%xmm4
0.12 : 40dbc6: addps %xmm8,%xmm3
0.43 : 40dbca: shufps $0x1,%xmm4,%xmm3
0.58 : 40dbce: shufps $0xe2,%xmm4,%xmm3
1.01 : 40dbd2: movaps %xmm9,%xmm0
0.07 : 40dbd6: movlhps %xmm4,%xmm0
0.56 : 40dbd9: shufps $0xe2,%xmm4,%xmm0
2.80 : 40dbdd: mulps %xmm3,%xmm0
0.28 : 40dbe0: movaps %xmm0,%xmm3
0.61 : 40dbe3: shufps $0x55,%xmm0,%xmm3
1.39 : 40dbe7: subss %xmm3,%xmm0
1.71 : 40dbeb: ucomiss %xmm0,%xmm11
0.70 : 40dbef: ja 40dca1 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x371>
0.05 : 40dbf5: ucomiss %xmm11,%xmm0
0.00 : 40dbf9: jb 40dc10 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x2e0>
0.05 : 40dbfb: sqrtss %xmm0,%xmm0
0.00 : 40dbff: jmp 40dc43 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x313>
0.00 : 40dc01: cs nopw 0x0(%rax,%rax,1)
0.00 : 40dc0b: nopl 0x0(%rax,%rax,1)
0.00 : 40dc10: movaps %xmm4,0x10(%rsp)
0.00 : 40dc15: call 403540 <sqrtf@plt>
0.00 : 40dc1a: movaps 0x10(%rsp),%xmm4
0.00 : 40dc1f: movaps 0x7479(%rip),%xmm12 # 4150a0 <_IO_stdin_used+0xa0>
0.00 : 40dc27: xorps %xmm11,%xmm11
0.00 : 40dc2b: movss 0x7428(%rip),%xmm9 # 41505c <_IO_stdin_used+0x5c>
0.00 : 40dc34: movaps 0x74e4(%rip),%xmm8 # 415120 <_IO_stdin_used+0x120>
0.00 : 40dc3c: movss 0xc(%rsp),%xmm10
0.00 : 40dc43: movaps %xmm4,%xmm1
0.00 : 40dc46: xorps %xmm12,%xmm1
0.03 : 40dc4a: subss %xmm0,%xmm1
0.01 : 40dc4e: ucomiss %xmm10,%xmm1
0.00 : 40dc52: jae 40e038 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x708>
0.00 : 40dc58: subss %xmm4,%xmm0
0.00 : 40dc5c: ucomiss %xmm10,%xmm0
0.00 : 40dc60: jae 40e038 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x708>
0.01 : 40dc66: movsd (%rbx),%xmm1
0.00 : 40dc6a: movsd 0x8(%rbx),%xmm0
0.00 : 40dc6f: movsd 0x14(%rbx),%xmm2
0.00 : 40dc74: shufps $0xe1,%xmm1,%xmm1
0.00 : 40dc78: movaps %xmm0,%xmm3
0.00 : 40dc7b: shufps $0x55,%xmm0,%xmm3
0.00 : 40dc7f: divps %xmm3,%xmm1
0.00 : 40dc82: movss 0x10(%rbx),%xmm3
0.00 : 40dc87: movaps %xmm0,%xmm4
0.00 : 40dc8a: movlhps %xmm3,%xmm4
0.00 : 40dc8d: shufps $0x21,%xmm4,%xmm2
0.00 : 40dc91: movss 0x1c(%rbx),%xmm3
0.00 : 40dc96: movss %xmm3,%xmm0
0.00 : 40dc9a: shufps $0x40,%xmm0,%xmm0
0.00 : 40dc9e: divps %xmm0,%xmm2
0.02 : 40dca1: movsd 0x2c(%r15,%rbp,1),%xmm3
0.01 : 40dca8: movsd 0x34(%r15,%rbp,1),%xmm5
0.00 : 40dcaf: movaps %xmm5,%xmm6
0.68 : 40dcb2: shufps $0x55,%xmm5,%xmm6
0.00 : 40dcb6: movaps %xmm3,%xmm0
0.02 : 40dcb9: divss %xmm6,%xmm0
0.00 : 40dcbd: movaps %xmm1,%xmm4
0.72 : 40dcc0: shufps $0x55,%xmm1,%xmm4
0.01 : 40dcc4: subss %xmm0,%xmm4
0.00 : 40dcc8: shufps $0x55,%xmm3,%xmm3
0.02 : 40dccc: divss %xmm6,%xmm3
0.65 : 40dcd0: movaps %xmm1,%xmm0
0.09 : 40dcd3: subss %xmm3,%xmm0
0.03 : 40dcd7: divss %xmm6,%xmm5
0.00 : 40dcdb: movaps %xmm2,%xmm3
0.62 : 40dcde: shufps $0xff,%xmm2,%xmm3
0.13 : 40dce2: subss %xmm5,%xmm3
0.00 : 40dce6: movaps %xmm2,%xmm5
0.00 : 40dce9: unpckhpd %xmm2,%xmm5
0.63 : 40dced: unpcklps %xmm4,%xmm5
0.06 : 40dcf0: shufps $0x0,%xmm4,%xmm4
0.02 : 40dcf4: mulps %xmm5,%xmm4
0.00 : 40dcf7: movaps %xmm0,%xmm5
0.72 : 40dcfa: shufps $0xd4,%xmm2,%xmm5
0.17 : 40dcfe: shufps $0x52,%xmm2,%xmm5
0.01 : 40dd02: shufps $0x0,%xmm0,%xmm0
0.15 : 40dd06: mulps %xmm5,%xmm0
1.34 : 40dd09: addps %xmm4,%xmm0
0.01 : 40dd0c: movaps %xmm3,%xmm4
0.00 : 40dd0f: movlhps %xmm2,%xmm4
0.02 : 40dd12: shufps $0xe2,%xmm2,%xmm4
0.70 : 40dd16: shufps $0x0,%xmm3,%xmm3
0.22 : 40dd1a: mulps %xmm4,%xmm3
2.11 : 40dd1d: addps %xmm0,%xmm3
0.00 : 40dd20: movaps %xmm3,%xmm4
2.44 : 40dd23: addps %xmm3,%xmm4
0.14 : 40dd26: addps %xmm8,%xmm3
0.51 : 40dd2a: shufps $0x1,%xmm4,%xmm3
0.71 : 40dd2e: shufps $0xe2,%xmm4,%xmm3
1.05 : 40dd32: movaps %xmm9,%xmm0
0.09 : 40dd36: movlhps %xmm4,%xmm0
0.61 : 40dd39: shufps $0xe2,%xmm4,%xmm0
3.10 : 40dd3d: mulps %xmm3,%xmm0
0.14 : 40dd40: movaps %xmm0,%xmm3
0.69 : 40dd43: shufps $0x55,%xmm0,%xmm3
1.44 : 40dd47: subss %xmm3,%xmm0
1.76 : 40dd4b: ucomiss %xmm0,%xmm11
0.67 : 40dd4f: ja 40de01 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x4d1>
0.08 : 40dd55: ucomiss %xmm11,%xmm0
0.00 : 40dd59: jb 40dd70 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x440>
0.05 : 40dd5b: sqrtss %xmm0,%xmm0
0.00 : 40dd5f: jmp 40dda3 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x473>
0.00 : 40dd61: cs nopw 0x0(%rax,%rax,1)
0.00 : 40dd6b: nopl 0x0(%rax,%rax,1)
0.00 : 40dd70: movaps %xmm4,0x10(%rsp)
0.00 : 40dd75: call 403540 <sqrtf@plt>
0.00 : 40dd7a: movaps 0x10(%rsp),%xmm4
0.00 : 40dd7f: movaps 0x7319(%rip),%xmm12 # 4150a0 <_IO_stdin_used+0xa0>
0.00 : 40dd87: xorps %xmm11,%xmm11
0.00 : 40dd8b: movss 0x72c8(%rip),%xmm9 # 41505c <_IO_stdin_used+0x5c>
0.00 : 40dd94: movaps 0x7384(%rip),%xmm8 # 415120 <_IO_stdin_used+0x120>
0.00 : 40dd9c: movss 0xc(%rsp),%xmm10
0.00 : 40dda3: movaps %xmm4,%xmm1
0.00 : 40dda6: xorps %xmm12,%xmm1
0.02 : 40ddaa: subss %xmm0,%xmm1
0.01 : 40ddae: ucomiss %xmm10,%xmm1
0.00 : 40ddb2: jae 40e044 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x714>
0.00 : 40ddb8: subss %xmm4,%xmm0
0.00 : 40ddbc: ucomiss %xmm10,%xmm0
0.00 : 40ddc0: jae 40e044 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x714>
0.00 : 40ddc6: movsd (%rbx),%xmm1
0.00 : 40ddca: movsd 0x8(%rbx),%xmm0
0.00 : 40ddcf: movsd 0x14(%rbx),%xmm2
0.00 : 40ddd4: shufps $0xe1,%xmm1,%xmm1
0.00 : 40ddd8: movaps %xmm0,%xmm3
0.00 : 40dddb: shufps $0x55,%xmm0,%xmm3
0.00 : 40dddf: divps %xmm3,%xmm1
0.00 : 40dde2: movss 0x10(%rbx),%xmm3
0.00 : 40dde7: movaps %xmm0,%xmm4
0.00 : 40ddea: movlhps %xmm3,%xmm4
0.00 : 40dded: shufps $0x21,%xmm4,%xmm2
0.00 : 40ddf1: movss 0x1c(%rbx),%xmm3
0.00 : 40ddf6: movss %xmm3,%xmm0
0.00 : 40ddfa: shufps $0x40,%xmm0,%xmm0
0.00 : 40ddfe: divps %xmm0,%xmm2
0.03 : 40de01: movsd 0x40(%r15,%rbp,1),%xmm3
0.01 : 40de08: movsd 0x48(%r15,%rbp,1),%xmm4
0.01 : 40de0f: movaps %xmm4,%xmm5
0.68 : 40de12: shufps $0x55,%xmm4,%xmm5
0.00 : 40de16: movaps %xmm3,%xmm6
0.02 : 40de19: divss %xmm5,%xmm6
0.01 : 40de1d: movaps %xmm1,%xmm0
0.71 : 40de20: shufps $0x55,%xmm1,%xmm0
0.03 : 40de24: subss %xmm6,%xmm0
0.00 : 40de28: shufps $0x55,%xmm3,%xmm3
0.02 : 40de2c: divss %xmm5,%xmm3
0.76 : 40de30: subss %xmm3,%xmm1
0.03 : 40de34: divss %xmm5,%xmm4
0.00 : 40de38: movaps %xmm2,%xmm3
0.00 : 40de3b: shufps $0xff,%xmm2,%xmm3
0.74 : 40de3f: subss %xmm4,%xmm3
0.00 : 40de43: movaps %xmm2,%xmm4
0.00 : 40de46: unpckhpd %xmm2,%xmm4
0.00 : 40de4a: unpcklps %xmm0,%xmm4
0.71 : 40de4d: shufps $0x0,%xmm0,%xmm0
0.02 : 40de51: mulps %xmm4,%xmm0
0.00 : 40de54: movaps %xmm1,%xmm4
0.01 : 40de57: shufps $0xd4,%xmm2,%xmm4
1.30 : 40de5b: shufps $0x52,%xmm2,%xmm4
0.02 : 40de5f: shufps $0x0,%xmm1,%xmm1
0.10 : 40de63: mulps %xmm4,%xmm1
0.52 : 40de66: addps %xmm0,%xmm1
0.50 : 40de69: movaps %xmm3,%xmm0
0.01 : 40de6c: movlhps %xmm2,%xmm0
0.00 : 40de6f: shufps $0xe2,%xmm2,%xmm0
0.19 : 40de73: shufps $0x0,%xmm3,%xmm3
1.42 : 40de77: mulps %xmm0,%xmm3
1.38 : 40de7a: addps %xmm1,%xmm3
0.00 : 40de7d: movaps %xmm3,%xmm2
1.93 : 40de80: addps %xmm3,%xmm2
0.27 : 40de83: addps %xmm8,%xmm3
0.44 : 40de87: shufps $0x1,%xmm2,%xmm3
0.75 : 40de8b: shufps $0xe2,%xmm2,%xmm3
0.76 : 40de8f: movaps %xmm9,%xmm0
0.15 : 40de93: movlhps %xmm2,%xmm0
0.58 : 40de96: shufps $0xe2,%xmm2,%xmm0
3.32 : 40de9a: mulps %xmm3,%xmm0
0.04 : 40de9d: movaps %xmm0,%xmm1
0.69 : 40dea0: shufps $0x55,%xmm0,%xmm1
1.53 : 40dea4: subss %xmm1,%xmm0
1.77 : 40dea8: ucomiss %xmm0,%xmm11
0.70 : 40deac: ja 40d9a0 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x70>
0.04 : 40deb2: ucomiss %xmm11,%xmm0
0.00 : 40deb6: jb 40dec0 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x590>
0.05 : 40deb8: sqrtss %xmm0,%xmm0
0.00 : 40debc: jmp 40def3 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x5c3>
0.00 : 40debe: xchg %ax,%ax
0.00 : 40dec0: movaps %xmm2,0x10(%rsp)
0.00 : 40dec5: call 403540 <sqrtf@plt>
0.00 : 40deca: movaps 0x10(%rsp),%xmm2
0.00 : 40decf: movaps 0x71c9(%rip),%xmm12 # 4150a0 <_IO_stdin_used+0xa0>
0.00 : 40ded7: xorps %xmm11,%xmm11
0.00 : 40dedb: movss 0x7178(%rip),%xmm9 # 41505c <_IO_stdin_used+0x5c>
0.00 : 40dee4: movaps 0x7234(%rip),%xmm8 # 415120 <_IO_stdin_used+0x120>
0.00 : 40deec: movss 0xc(%rsp),%xmm10
0.00 : 40def3: movaps %xmm2,%xmm1
0.00 : 40def6: xorps %xmm12,%xmm1
0.03 : 40defa: subss %xmm0,%xmm1
0.01 : 40defe: ucomiss %xmm10,%xmm1
0.00 : 40df02: jae 40df12 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x5e2>
0.00 : 40df04: subss %xmm2,%xmm0
0.00 : 40df08: ucomiss %xmm10,%xmm0
0.00 : 40df0c: jb 40d9a0 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x70>
0.01 : 40df12: add %rbp,%r15
0.00 : 40df15: add $0x3c,%r15
0.00 : 40df19: jmp 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40df1e: sub %rbp,%r12
0.00 : 40df21: add %rbp,%r15
0.00 : 40df24: movabs $0xcccccccccccccccd,%rcx
0.04 : 40df2e: sar $0x2,%r12
0.00 : 40df32: imul %rcx,%r12
0.00 : 40df36: cmp $0x1,%r12
0.00 : 40df3a: je 40e1ab <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x87b>
0.00 : 40df40: cmp $0x3,%r12
0.00 : 40df44: je 40df55 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x625>
0.04 : 40df46: cmp $0x2,%r12
0.00 : 40df4a: je 40e090 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x760>
0.00 : 40df50: jmp 40e2ba <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98a>
0.00 : 40df55: movsd (%rbx),%xmm8
0.00 : 40df5a: movsd 0x8(%rbx),%xmm1
0.00 : 40df5f: movss 0x14(%rbx),%xmm0
0.00 : 40df64: movss 0x10(%rbx),%xmm3
0.00 : 40df69: movss 0x18(%rbx),%xmm2
0.00 : 40df6e: unpcklps %xmm3,%xmm2
0.00 : 40df71: movss 0x1c(%rbx),%xmm9
0.00 : 40df77: movsd 0x4(%r15),%xmm5
0.00 : 40df7d: movsd 0xc(%r15),%xmm3
0.00 : 40df83: movaps %xmm3,%xmm7
0.00 : 40df86: unpcklps %xmm5,%xmm7
0.00 : 40df89: shufps $0x11,%xmm8,%xmm5
0.00 : 40df8e: shufps $0xe2,%xmm8,%xmm5
0.00 : 40df93: movaps %xmm1,%xmm4
0.00 : 40df96: shufps $0x55,%xmm1,%xmm4
0.00 : 40df9a: movaps %xmm3,%xmm6
0.00 : 40df9d: shufps $0x55,%xmm1,%xmm6
0.00 : 40dfa1: shufps $0x52,%xmm1,%xmm6
0.00 : 40dfa5: divps %xmm6,%xmm5
0.00 : 40dfa8: movaps %xmm5,%xmm6
0.00 : 40dfab: shufps $0x55,%xmm5,%xmm6
0.00 : 40dfaf: subss %xmm6,%xmm5
0.00 : 40dfb3: unpcklps %xmm8,%xmm1
0.00 : 40dfb7: divps %xmm4,%xmm1
0.00 : 40dfba: shufps $0x55,%xmm3,%xmm3
0.00 : 40dfbe: divps %xmm3,%xmm7
0.00 : 40dfc1: subps %xmm7,%xmm1
0.00 : 40dfc4: divss %xmm9,%xmm0
0.00 : 40dfc9: mulss %xmm5,%xmm0
0.00 : 40dfcd: shufps $0x0,%xmm9,%xmm9
0.00 : 40dfd2: divps %xmm9,%xmm2
0.00 : 40dfd6: mulps %xmm1,%xmm2
0.00 : 40dfd9: movaps %xmm2,%xmm3
0.00 : 40dfdc: shufps $0x55,%xmm2,%xmm3
0.00 : 40dfe0: addss %xmm0,%xmm3
0.00 : 40dfe4: addss %xmm2,%xmm3
0.00 : 40dfe8: mulps %xmm1,%xmm1
0.00 : 40dfeb: mulss %xmm5,%xmm5
0.00 : 40dfef: movaps %xmm1,%xmm0
0.00 : 40dff2: shufps $0x55,%xmm1,%xmm0
0.00 : 40dff6: addss %xmm5,%xmm0
0.00 : 40dffa: addss %xmm1,%xmm0
0.00 : 40dffe: addss 0x704e(%rip),%xmm0 # 415054 <_IO_stdin_used+0x54>
0.00 : 40e006: addss %xmm3,%xmm3
0.00 : 40e00a: movaps %xmm3,%xmm1
0.00 : 40e00d: mulss %xmm3,%xmm1
0.00 : 40e011: mulss 0x703f(%rip),%xmm0 # 415058 <_IO_stdin_used+0x58>
0.00 : 40e019: addss %xmm1,%xmm0
0.00 : 40e01d: xorps %xmm1,%xmm1
0.00 : 40e020: ucomiss %xmm0,%xmm1
0.00 : 40e023: ja 40e08c <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x75c>
0.00 : 40e025: ucomiss %xmm1,%xmm0
0.00 : 40e028: jb 40e050 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x720>
0.00 : 40e02a: sqrtss %xmm0,%xmm0
0.00 : 40e02e: jmp 40e066 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x736>
0.00 : 40e030: add %rbp,%r15
0.00 : 40e033: jmp 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e038: add %rbp,%r15
0.00 : 40e03b: add $0x14,%r15
0.00 : 40e03f: jmp 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e044: add %rbp,%r15
0.00 : 40e047: add $0x28,%r15
0.00 : 40e04b: jmp 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e050: movaps %xmm3,0x10(%rsp)
0.00 : 40e055: call 403540 <sqrtf@plt>
0.00 : 40e05a: movaps 0x10(%rsp),%xmm3
0.00 : 40e05f: movss 0xc(%rsp),%xmm10
0.00 : 40e066: movaps 0x7033(%rip),%xmm1 # 4150a0 <_IO_stdin_used+0xa0>
0.00 : 40e06d: xorps %xmm3,%xmm1
0.00 : 40e070: subss %xmm0,%xmm1
0.00 : 40e074: ucomiss %xmm10,%xmm1
0.00 : 40e078: jae 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e07e: subss %xmm3,%xmm0
0.00 : 40e082: ucomiss %xmm10,%xmm0
0.00 : 40e086: jae 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e08c: add $0x14,%r15
0.00 : 40e090: movsd (%rbx),%xmm8
0.00 : 40e095: movsd 0x8(%rbx),%xmm1
0.00 : 40e09a: movss 0x14(%rbx),%xmm0
0.00 : 40e09f: movss 0x10(%rbx),%xmm3
0.00 : 40e0a4: movss 0x18(%rbx),%xmm2
0.00 : 40e0a9: unpcklps %xmm3,%xmm2
0.00 : 40e0ac: movss 0x1c(%rbx),%xmm9
0.00 : 40e0b2: movsd 0x4(%r15),%xmm5
0.00 : 40e0b8: movsd 0xc(%r15),%xmm3
0.00 : 40e0be: movaps %xmm3,%xmm7
0.00 : 40e0c1: unpcklps %xmm5,%xmm7
0.00 : 40e0c4: shufps $0x11,%xmm8,%xmm5
0.00 : 40e0c9: shufps $0xe2,%xmm8,%xmm5
0.00 : 40e0ce: movaps %xmm1,%xmm4
0.00 : 40e0d1: shufps $0x55,%xmm1,%xmm4
0.00 : 40e0d5: movaps %xmm3,%xmm6
0.00 : 40e0d8: shufps $0x55,%xmm1,%xmm6
0.00 : 40e0dc: shufps $0x52,%xmm1,%xmm6
0.00 : 40e0e0: divps %xmm6,%xmm5
0.00 : 40e0e3: movaps %xmm5,%xmm6
0.00 : 40e0e6: shufps $0x55,%xmm5,%xmm6
0.00 : 40e0ea: subss %xmm6,%xmm5
0.00 : 40e0ee: unpcklps %xmm8,%xmm1
0.00 : 40e0f2: divps %xmm4,%xmm1
0.00 : 40e0f5: shufps $0x55,%xmm3,%xmm3
0.00 : 40e0f9: divps %xmm3,%xmm7
0.00 : 40e0fc: subps %xmm7,%xmm1
0.00 : 40e0ff: divss %xmm9,%xmm0
0.00 : 40e104: mulss %xmm5,%xmm0
0.00 : 40e108: shufps $0x0,%xmm9,%xmm9
0.00 : 40e10d: divps %xmm9,%xmm2
0.00 : 40e111: mulps %xmm1,%xmm2
0.00 : 40e114: movaps %xmm2,%xmm3
0.00 : 40e117: shufps $0x55,%xmm2,%xmm3
0.00 : 40e11b: addss %xmm0,%xmm3
0.00 : 40e11f: addss %xmm2,%xmm3
0.00 : 40e123: mulps %xmm1,%xmm1
0.00 : 40e126: mulss %xmm5,%xmm5
0.00 : 40e12a: movaps %xmm1,%xmm0
0.00 : 40e12d: shufps $0x55,%xmm1,%xmm0
0.00 : 40e131: addss %xmm5,%xmm0
0.00 : 40e135: addss %xmm1,%xmm0
0.00 : 40e139: addss 0x6f13(%rip),%xmm0 # 415054 <_IO_stdin_used+0x54>
0.00 : 40e141: addss %xmm3,%xmm3
0.00 : 40e145: movaps %xmm3,%xmm1
0.00 : 40e148: mulss %xmm3,%xmm1
0.00 : 40e14c: mulss 0x6f04(%rip),%xmm0 # 415058 <_IO_stdin_used+0x58>
0.00 : 40e154: addss %xmm1,%xmm0
0.00 : 40e158: xorps %xmm1,%xmm1
0.00 : 40e15b: ucomiss %xmm0,%xmm1
0.00 : 40e15e: ja 40e1a7 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x877>
0.00 : 40e160: ucomiss %xmm1,%xmm0
0.00 : 40e163: jb 40e16b <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x83b>
0.00 : 40e165: sqrtss %xmm0,%xmm0
0.00 : 40e169: jmp 40e181 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x851>
0.00 : 40e16b: movaps %xmm3,0x10(%rsp)
0.00 : 40e170: call 403540 <sqrtf@plt>
0.00 : 40e175: movaps 0x10(%rsp),%xmm3
0.00 : 40e17a: movss 0xc(%rsp),%xmm10
0.00 : 40e181: movaps 0x6f18(%rip),%xmm1 # 4150a0 <_IO_stdin_used+0xa0>
0.00 : 40e188: xorps %xmm3,%xmm1
0.00 : 40e18b: subss %xmm0,%xmm1
0.00 : 40e18f: ucomiss %xmm10,%xmm1
0.00 : 40e193: jae 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e199: subss %xmm3,%xmm0
0.00 : 40e19d: ucomiss %xmm10,%xmm0
0.00 : 40e1a1: jae 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e1a7: add $0x14,%r15
0.00 : 40e1ab: movsd (%rbx),%xmm8
0.00 : 40e1b0: movsd 0x8(%rbx),%xmm1
0.00 : 40e1b5: movss 0x14(%rbx),%xmm0
0.00 : 40e1ba: movss 0x10(%rbx),%xmm3
0.00 : 40e1bf: movss 0x18(%rbx),%xmm2
0.00 : 40e1c4: unpcklps %xmm3,%xmm2
0.00 : 40e1c7: movss 0x1c(%rbx),%xmm9
0.00 : 40e1cd: movsd 0x4(%r15),%xmm5
0.00 : 40e1d3: movsd 0xc(%r15),%xmm3
0.00 : 40e1d9: movaps %xmm3,%xmm7
0.00 : 40e1dc: unpcklps %xmm5,%xmm7
0.00 : 40e1df: shufps $0x11,%xmm8,%xmm5
0.00 : 40e1e4: shufps $0xe2,%xmm8,%xmm5
0.00 : 40e1e9: movaps %xmm1,%xmm4
0.00 : 40e1ec: shufps $0x55,%xmm1,%xmm4
0.00 : 40e1f0: movaps %xmm3,%xmm6
0.00 : 40e1f3: shufps $0x55,%xmm1,%xmm6
0.00 : 40e1f7: shufps $0x52,%xmm1,%xmm6
0.00 : 40e1fb: divps %xmm6,%xmm5
0.00 : 40e1fe: movaps %xmm5,%xmm6
0.00 : 40e201: shufps $0x55,%xmm5,%xmm6
0.00 : 40e205: subss %xmm6,%xmm5
0.00 : 40e209: unpcklps %xmm8,%xmm1
0.00 : 40e20d: divps %xmm4,%xmm1
0.00 : 40e210: shufps $0x55,%xmm3,%xmm3
0.00 : 40e214: divps %xmm3,%xmm7
0.00 : 40e217: subps %xmm7,%xmm1
0.00 : 40e21a: divss %xmm9,%xmm0
0.00 : 40e21f: mulss %xmm5,%xmm0
0.00 : 40e223: shufps $0x0,%xmm9,%xmm9
0.00 : 40e228: divps %xmm9,%xmm2
0.00 : 40e22c: mulps %xmm1,%xmm2
0.00 : 40e22f: movaps %xmm2,%xmm3
0.00 : 40e232: shufps $0x55,%xmm2,%xmm3
0.00 : 40e236: addss %xmm0,%xmm3
0.00 : 40e23a: addss %xmm2,%xmm3
0.00 : 40e23e: mulps %xmm1,%xmm1
0.00 : 40e241: mulss %xmm5,%xmm5
0.00 : 40e245: movaps %xmm1,%xmm0
0.00 : 40e248: shufps $0x55,%xmm1,%xmm0
0.00 : 40e24c: addss %xmm5,%xmm0
0.00 : 40e250: addss %xmm1,%xmm0
0.00 : 40e254: addss 0x6df8(%rip),%xmm0 # 415054 <_IO_stdin_used+0x54>
0.00 : 40e25c: addss %xmm3,%xmm3
0.00 : 40e260: movaps %xmm3,%xmm1
0.00 : 40e263: mulss %xmm3,%xmm1
0.00 : 40e267: mulss 0x6de9(%rip),%xmm0 # 415058 <_IO_stdin_used+0x58>
0.00 : 40e26f: addss %xmm1,%xmm0
0.00 : 40e273: xorps %xmm1,%xmm1
0.00 : 40e276: ucomiss %xmm0,%xmm1
0.00 : 40e279: ja 40e2ba <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98a>
0.00 : 40e27b: ucomiss %xmm1,%xmm0
0.00 : 40e27e: jb 40e286 <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x956>
0.00 : 40e280: sqrtss %xmm0,%xmm0
0.00 : 40e284: jmp 40e29c <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x96c>
0.00 : 40e286: movaps %xmm3,0x10(%rsp)
0.00 : 40e28b: call 403540 <sqrtf@plt>
0.00 : 40e290: movaps 0x10(%rsp),%xmm3
0.00 : 40e295: movss 0xc(%rsp),%xmm10
0.00 : 40e29c: movaps 0x6dfd(%rip),%xmm1 # 4150a0 <_IO_stdin_used+0xa0>
0.00 : 40e2a3: xorps %xmm3,%xmm1
0.00 : 40e2a6: subss %xmm0,%xmm1
0.00 : 40e2aa: ucomiss %xmm10,%xmm1
0.00 : 40e2ae: jae 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e2b0: subss %xmm3,%xmm0
0.00 : 40e2b4: ucomiss %xmm10,%xmm0
0.00 : 40e2b8: jae 40e2bd <__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > > std::__find_if<__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}> >(__gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__normal_iterator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const*, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >, __gnu_cxx::__ops::_Iter_pred<animray::collection<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::vector<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>, std::allocator<animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> > > >::occludes<animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float>(animray::ray<float, animray::point3d<float>, animray::unit_vector<float> > const&, float) const::{lambda(animray::unit_sphere<animray::point3d<float>, animray::ray<float, animray::point3d<float>, animray::unit_vector<float> >, float> const&)#1}>, std::random_access_iterator_tag)+0x98d>
0.00 : 40e2ba: mov %r14,%r15
0.00 : 40e2bd: mov %r15,%rax
0.05 : 40e2c0: add $0x28,%rsp
0.01 : 40e2c4: pop %rbx
0.01 : 40e2c5: pop %r12
0.00 : 40e2c7: pop %r13
0.05 : 40e2c9: pop %r14
0.00 : 40e2cb: pop %r15
0.01 : 40e2cd: pop %rbp
0.01 : 40e2ce: ret