" /** This version uses local double variable to hold the temporary values */" "" " public void crossProductLocalVar(Vector3d a, Vector3d b) {" "" " double x = a.y*b.z - a.z*b.y;" "" "crossProductLocalVar: cmp eax, DWORD PTR [ecx+04h]" "" " jnz $-46147" "" "crossProductLocalVar+9: push ebp" "" " mov ebp, esp" "" " mov DWORD PTR [esp-12288], eax" "" " sub esp, 038h" "" " mov edx, DWORD PTR [ebp+0ch]" "" " fld QWORD PTR [edx+010h]" "" " mov edi, DWORD PTR [ebp+08h]" "" " fld QWORD PTR [edi+018h]" "" " fld QWORD PTR [edx+018h]" "" " fld QWORD PTR [edi+010h]" "" " fld st(3)" "" " fld st(3)" "" " fmulp st(1), st(0)" "" " fld st(2)" "" " fxch st(5)" "" " fstp QWORD PTR [ebp-32]" "" " fld st(1)" "" " fxch st(5)" "" " fxch st(1)" "" " fxch st(5)" "" " fmulp st(1), st(0)" "" " fxch st(4)" "" " fxch st(1)" "" " fxch st(4)" "" " fsubp st(1), st(0)" "" " fstp QWORD PTR [ebp-8]" "" " fld QWORD PTR [edi+08h]" "" " fld QWORD PTR [edx+08h]" "" " fld st(1)" "" " fxch st(3)" "" " fxch st(1)" "" " fxch st(3)" "" " fmulp st(1), st(0)" "" " fld st(2)" "" " fxch st(1)" "" " fxch st(4)" "" " fmulp st(1), st(0)" "" " fxch st(3)" "" " fxch st(1)" "" " fxch st(3)" "" " fsubp st(1), st(0)" "" " fstp QWORD PTR [ebp-16]" "" " fxch st(1)" "" " fxch st(2)" "" " fmulp st(1), st(0)" "" " fxch st(1)" "" " fmul QWORD PTR [ebp-32]" "" " fsubp st(1), st(0)" "" " fstp QWORD PTR [ebp-24]" "" " mov ebx, DWORD PTR [ebp-4]" "" " mov edi, DWORD PTR [ebp-8]" "" " mov DWORD PTR [edx+08h], edi" "" " mov DWORD PTR [edx+0ch], ebx" "" " mov ebx, DWORD PTR [ebp-12]" "" " mov edi, DWORD PTR [ebp-16]" "" " mov DWORD PTR [edx+010h], edi" "" " mov DWORD PTR [edx+014h], ebx" "" " mov ebx, DWORD PTR [ebp-20]" "" " mov edi, DWORD PTR [ebp-24]" "" " mov DWORD PTR [edx+018h], edi" "" " mov DWORD PTR [edx+01ch], ebx" "" " mov esp, ebp" "" " pop ebp" "" " ret " "" "crossProductLocalVar+a5: nop" "" " nop" "" " nop" ""