RNG::rejection_in_unit_disk(): ; 41 instructions push rbp mov rbp, rsp push rbx sub rsp, 40 mov QWORD PTR [rbp-40], rdi .L12: movsd xmm0, QWORD PTR .LC1[rip] mov rdx, QWORD PTR .LC3[rip] mov rax, QWORD PTR [rbp-40] movapd xmm1, xmm0 movq xmm0, rdx mov rdi, rax call RNG::num(double, double) ; 19 instructions movq rbx, xmm0 movsd xmm0, QWORD PTR .LC1[rip] mov rdx, QWORD PTR .LC3[rip] mov rax, QWORD PTR [rbp-40] movapd xmm1, xmm0 movq xmm0, rdx mov rdi, rax call RNG::num(double, double) ; 19 instructions movq rax, xmm0 lea rdx, [rbp-32] movq xmm1, rbx movq xmm0, rax mov rdi, rdx call Vec2::Vec2(double, double) [complete object constructor] ; 14 instructions lea rax, [rbp-32] mov rdi, rax call Vec2::length_squared() const ; 16 instructions movsd xmm1, QWORD PTR .LC1[rip] comisd xmm1, xmm0 seta al test al, al je .L12 ; Possible jump to repeat the above (29 instructions) mov rax, QWORD PTR [rbp-32] mov rdx, QWORD PTR [rbp-24] movq xmm0, rax movq xmm1, rdx mov rbx, QWORD PTR [rbp-8] leave ret