// File: srajangarg[P]raytracer/src/core/mathexpr.cpp
// Function: operator/(ROperation const&, ROperation const&)
ROperation operator/(const ROperation& op1,const ROperation& op2)
{if(op1.op==Num&&op2.op==Num)return (op2.ValC?op1.ValC/op2.ValC:ErrVal);
if(op1==0.0)return 0.;if(op2==1.)return op1;if(op2==0.)return ErrVal;
if(op1.op==Opp)return -(*(op1.mmb2)/op2);if(op2.op==Opp)return -(op1/(*(op2.mmb2)));
ROperation resultat;
resultat.op=Div;resultat.mmb1=new ROperation(op1);
resultat.mmb2=new ROperation(op2);
return resultat;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0xf0(%rbp)
movq %rdi, %rax
movq %rax, -0xe8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x2, 0x24(%rax)
jne 0x1e1f9
movq -0x18(%rbp), %rax
cmpl $0x2, 0x24(%rax)
jne 0x1e1f9
movq -0x18(%rbp), %rax
movsd 0x38(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1e1b2
jp 0x1e1b2
jmp 0x1e1ce
movq -0x10(%rbp), %rax
movsd 0x38(%rax), %xmm0
movq -0x18(%rbp), %rax
divsd 0x38(%rax), %xmm0
movsd %xmm0, -0xf8(%rbp)
jmp 0x1e1e0
movsd 0x29782(%rip), %xmm0    # 0x47958
movsd %xmm0, -0xf8(%rbp)
jmp 0x1e1e0
movq -0xf0(%rbp), %rdi
movsd -0xf8(%rbp), %xmm0
callq 0x1d200
jmp 0x1e44b
movq -0x10(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x1d3f0
cmpl $0x0, %eax
je 0x1e21e
movq -0xf0(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x1d200
jmp 0x1e44b
movq -0x18(%rbp), %rdi
movsd 0x28f0e(%rip), %xmm0    # 0x47138
callq 0x1d3f0
cmpl $0x0, %eax
je 0x1e249
movq -0xf0(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1d0a0
jmp 0x1e44b
movq -0x18(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x1d3f0
cmpl $0x0, %eax
je 0x1e273
movq -0xf0(%rbp), %rdi
movsd 0x296ef(%rip), %xmm0    # 0x47958
callq 0x1d200
jmp 0x1e44b
movq -0x10(%rbp), %rax
cmpl $0x6, 0x24(%rax)
jne 0x1e2d6
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rsi
movq -0x18(%rbp), %rdx
leaq -0x70(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x1e160
movq -0xf0(%rbp), %rdi
movq -0x100(%rbp), %rsi
callq 0x1d840
jmp 0x1e2ae
leaq -0x70(%rbp), %rdi
callq 0x1ce40
jmp 0x1e44b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x1ce40
jmp 0x1e45b
movq -0x18(%rbp), %rax
cmpl $0x6, 0x24(%rax)
jne 0x1e342
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rdx
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0x1e160
movq -0xf0(%rbp), %rdi
movq -0x108(%rbp), %rsi
callq 0x1d840
jmp 0x1e314
leaq -0xd8(%rbp), %rdi
callq 0x1ce40
jmp 0x1e44b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x1ce40
jmp 0x1e45b
movq -0xf0(%rbp), %rdi
movb $0x0, -0xd9(%rbp)
callq 0x1c150
movq -0xf0(%rbp), %rax
movl $0x8, 0x24(%rax)
movl $0x58, %edi
callq 0x5400
movq %rax, -0x110(%rbp)
jmp 0x1e376
movq -0x110(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1d0a0
jmp 0x1e388
movq -0xf0(%rbp), %rax
movq -0x110(%rbp), %rcx
movq %rcx, 0x28(%rax)
movl $0x58, %edi
callq 0x5400
movq %rax, -0x118(%rbp)
jmp 0x1e3ad
movq -0x118(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x1d0a0
jmp 0x1e3bf
movq -0xf0(%rbp), %rax
movq -0x118(%rbp), %rcx
movq %rcx, 0x30(%rax)
movb $0x1, -0xd9(%rbp)
testb $0x1, -0xd9(%rbp)
jne 0x1e43b
jmp 0x1e42f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x1e43d
movq -0x110(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
movl $0x58, %esi
callq 0x5410
jmp 0x1e43d
movq -0x118(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
movl $0x58, %esi
callq 0x5410
jmp 0x1e43d
movq -0xf0(%rbp), %rdi
callq 0x1ce40
jmp 0x1e44b
movq -0xf0(%rbp), %rdi
callq 0x1ce40
jmp 0x1e45b
movq -0xe8(%rbp), %rax
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x78(%rbp), %rdi
callq 0x5720
nopw %cs:(%rax,%rax)