以下が、3DNow!によるプログラムであるが、並列実行がどれほど有効に機能しているかは疑問である。

movq mm0,mm7
;mm0 z
| y
movq mm1,mm4
;mm1 0
| x
pfmul (m0,m7)
;mm0 z^2 | y^2
pfmul (m1,m4)
;mm1 0 | x^2
pfacc (m0,m0)
;mm0 z^2+y^2 | z^2+y^2
pfadd (m0,m1)
;mm0 ??? | z^2+y^2+x^2 = R
pfrsqrt (m1,m0)
;mm1 ??? | 1/sqrt(R)
movq mm2,mm1
pfmul (m1,m1)
pfrsqit1 (m1,m0)
pfrcpit2 (m1,m2)
pfrcp (m3,m0)
pfrcpit1 (m0,m3)
movd mm2,[GMdt] ;mm2 ???
| -G*M*dt
pfrcpit2 (m0,m3) ;mm0 ???
| 1/R
pfmul (m0,m2)
;mm0 ???
| -G*M*dt/R
pfmul (m0,m1)
;mm0 ???
| -G*M*dt/(sqrt(R)*R) = w
;
=-G*M*dt/(r^3)
punpckldq mm0,mm0 ;mm0
-G*M*dt/(r^3) | -G*M*dt/(r^3)
movq mm2,[sat.V.Y] ;mm2 vz
| vy
pfmul (m7,m0)
;mm7 -z*G*M*dt/(r^3)
| -y*G*M*dt/(r^3)
movd mm3,[sat.V.X] ;mm3 ???
| vx
pfmul (m4,m0)
;mm4 ???
| -x*G*M*dt/(r^3)
movd mm6,[dt] ;mm0 ???
| dt
pfadd (m2,m7)
;mm2 vz-z*G*M*dt/(r^3)
| vy-y*G*M*dt/(r^3)
punpckldq mm6,mm6 ;mm6 dt
| dt
movq [sat.V.Y],mm2 ;vz += -z*G*M*dt/(r^3)
| vy += -y*G*M*dt/(r^3)
pfadd (m3,m4)
;mm3 ???
| vx-x*G*M*dt/(r^3)
movd [sat.V.X],mm3 ;vx += -x*G*M*dt/(r^3)
pfmul (m2,m6)
;mm2 vz*dt
| vy*dt
movq mm7,[sat.P.Y] ;mm7 z
| y
pfmul (m3,m6)
;mm3 ???
| vx*dt
movd mm4,[sat.P.X] ;mm4 ???
| x
pfadd (m7,m2)
pfadd (m4,m3)
movq [sat.P.Y],mm7
movd [sat.P.X],mm4