opcodes[]: global scope global { global scope implicit__n-body { planet kill ( planet ) { var planet ANON dup ( -- planet¢ ) item+0 "p" ( -- P& ) peek ( P& -- P¢ ) dispose ( P -- ) dup ( -- planet¢ ) item+8 "v" ( -- V& ) peek ( V& -- V¢ ) dispose ( V -- ) } } type utf8str: type ucs1str: type ucs2str: type ucs4str: global scope vt100 { } type P: V operator - ( P¢ p1, P¢ p2 ) = inline { var P¢ p1 var P¢ p2 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) lvar+8+0 "p1" ( -- P¢& ) peek ( P¢& -- P¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "p2" ( -- P¢& ) peek ( P¢& -- P¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) - ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) lvar+8+0 "p1" ( -- P¢& ) peek ( P¢& -- P¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "p2" ( -- P¢& ) peek ( P¢& -- P¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) - ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) lvar+8+0 "p1" ( -- P¢& ) peek ( P¢& -- P¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "p2" ( -- P¢& ) peek ( P¢& -- P¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) - ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) tor ( V -- ) drop ( P¢ -- ) drop ( P¢ -- ) fromr ( -- V ) } void operator += ( P¢ z, V¢ v ) = inline { var P¢ z var V¢ v lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- P¢& ) peek ( P¢& -- P¢ ) item+0 "x" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- P¢& ) peek ( P¢& -- P¢ ) item+8 "y" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- P¢& ) peek ( P¢& -- P¢ ) item+16 "z" ( -- float64& ) += ( float64, float64& -- ) drop ( V¢ -- ) drop ( P¢ -- ) } type V: V operator * ( V¢ v, float64 f ) = inline { var V¢ v var float64 f 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) lvar+8+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "f" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) lvar+8+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "f" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) lvar+8+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "f" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) tor ( V -- ) drop ( float64 -- ) drop ( V¢ -- ) fromr ( -- V ) } V operator / ( V¢ v, float64 f ) = inline { var V¢ v var float64 f 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) lvar+8+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "f" ( -- float64& ) peek ( float64& -- float64 ) / ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) lvar+8+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "f" ( -- float64& ) peek ( float64& -- float64 ) / ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) lvar+8+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "f" ( -- float64& ) peek ( float64& -- float64 ) / ( float64, float64 -- float64 ) peekr ( -- V¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) tor ( V -- ) drop ( float64 -- ) drop ( V¢ -- ) fromr ( -- V ) } void operator -= ( V¢ z, V¢ v ) = inline { var V¢ z var V¢ v lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) -= ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) -= ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) -= ( float64, float64& -- ) drop ( V¢ -- ) drop ( V¢ -- ) } void operator += ( V¢ z, V¢ v ) = inline { var V¢ z var V¢ v lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) += ( float64, float64& -- ) drop ( V¢ -- ) drop ( V¢ -- ) } float64 abs ( V¢ v ) = inline { var V¢ v lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) lvar+0+8 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+16 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) + ( float64, float64 -- float64 ) lvar+0+8 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+16 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) + ( float64, float64 -- float64 ) sqrt ( float64 -- float64 ) tor ( float64 -- ) drop ( V¢ -- ) fromr ( -- float64 ) } float64 abs_2 ( V¢ v ) = inline { var V¢ v lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+8 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) lvar+0+8 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+16 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) + ( float64, float64 -- float64 ) lvar+0+8 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+0+16 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) + ( float64, float64 -- float64 ) tor ( float64 -- ) drop ( V¢ -- ) fromr ( -- float64 ) } void advance ( float64 dt ) { var float64 dt var int32 i var int32 j var int32 n var float64 distance var float64 mag var planet b1 var planet b2 var V v 0 ( -- int32 ) 0 ( -- int32 ) gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) count ( planet[]¢ -- uint32 ) 0 ( -- float64 ) 0 ( -- float64 ) NULL ( -- planet ) NULL ( -- planet ) 24 ( -- uint32 ) alloc ( uint32 -- V ) -1 ( -- int32 ) lvar-4+56 "i" ( -- int32& ) poke ( int32, int32& -- ) L986: lvar-4+52 "i" ( -- int32& ) pppeek ( int32& -- int32 ) lvar-12+56 "n" ( -- int32& ) peek ( int32& -- int32 ) < ( int32, int32 -- bool ) !! ( uint32 -- bool ) jp_z ( bool -- ) -> L985 gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) lvar-4+60 "i" ( -- int32& ) peek ( int32& -- int32 ) atindex ( planet[]¢, int32 -- planet& ) peek ( planet& -- planet¢ ) retain ( planet¢ -- planet ) lvar-36+60 "b1" ( -- planet& ) swapwithvar ( planet, planet& -- planet ) call! kill ( planet -- planet ) dispose ( planet -- ) lvar-4+52 "i" ( -- int32& ) peek ( int32& -- int32 ) lvar-8+56 "j" ( -- int32& ) poke ( int32, int32& -- ) L989: lvar-8+52 "j" ( -- int32& ) pppeek ( int32& -- int32 ) lvar-12+56 "n" ( -- int32& ) peek ( int32& -- int32 ) < ( int32, int32 -- bool ) !! ( uint32 -- bool ) jp_z ( bool -- ) -> L990 gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) lvar-8+60 "j" ( -- int32& ) peek ( int32& -- int32 ) atindex ( planet[]¢, int32 -- planet& ) peek ( planet& -- planet¢ ) retain ( planet¢ -- planet ) lvar-44+60 "b2" ( -- planet& ) swapwithvar ( planet, planet& -- planet ) call! kill ( planet -- planet ) dispose ( planet -- ) lvar-36+52 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+0 "p" ( -- P& ) peek ( P& -- P¢ ) lvar-44+60 "b2" ( -- planet& ) peek ( planet& -- planet¢ ) item+0 "p" ( -- P& ) peek ( P& -- P¢ ) call operator - ( P¢, P¢ -- V ) lvar-52+60 "v" ( -- V& ) swapwithvar ( V, V& -- V ) dispose ( V -- ) lvar-52+52 "v" ( -- V& ) peek ( V& -- V¢ ) call abs ( V¢ -- float64 ) lvar-20+60 "distance" ( -- float64& ) poke ( float64, float64& -- ) lvar+0+52 "dt" ( -- float64& ) peek ( float64& -- float64 ) lvar-20+60 "distance" ( -- float64& ) peek ( float64& -- float64 ) 3 ( -- int32 ) pow ( float64, int32 -- float64 ) / ( float64, float64 -- float64 ) lvar-28+60 "mag" ( -- float64& ) poke ( float64, float64& -- ) lvar-36+52 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+8 "v" ( -- V& ) peek ( V& -- V¢ ) lvar-52+60 "v" ( -- V& ) peek ( V& -- V¢ ) lvar-44+68 "b2" ( -- planet& ) peek ( planet& -- planet¢ ) item+16 "mass" ( -- float64& ) peek ( float64& -- float64 ) lvar-28+76 "mag" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) call operator * ( V¢, float64 -- V ) dup2r ( V -- V¢ ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) -= ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) -= ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) -= ( float64, float64& -- ) drop ( V¢ -- ) drop ( V¢ -- ) fromr ( -- V ) dispose ( V -- ) lvar-44+52 "b2" ( -- planet& ) peek ( planet& -- planet¢ ) item+8 "v" ( -- V& ) peek ( V& -- V¢ ) lvar-52+60 "v" ( -- V& ) peek ( V& -- V¢ ) lvar-36+68 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+16 "mass" ( -- float64& ) peek ( float64& -- float64 ) lvar-28+76 "mag" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) call operator * ( V¢, float64 -- V ) dup2r ( V -- V¢ ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) += ( float64, float64& -- ) drop ( V¢ -- ) drop ( V¢ -- ) fromr ( -- V ) dispose ( V -- ) jp ( -- ) -> L989 L990: lvar-36+52 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+0 "p" ( -- P& ) peek ( P& -- P¢ ) lvar-36+60 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+8 "v" ( -- V& ) peek ( V& -- V¢ ) lvar+0+68 "dt" ( -- float64& ) peek ( float64& -- float64 ) call operator * ( V¢, float64 -- V ) dup2r ( V -- V¢ ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- P¢& ) peek ( P¢& -- P¢ ) item+0 "x" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- P¢& ) peek ( P¢& -- P¢ ) item+8 "y" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- P¢& ) peek ( P¢& -- P¢ ) item+16 "z" ( -- float64& ) += ( float64, float64& -- ) drop ( V¢ -- ) drop ( P¢ -- ) fromr ( -- V ) dispose ( V -- ) jp ( -- ) -> L986 L985: dispose ( V -- ) call! kill ( planet -- planet ) dispose ( planet -- ) call! kill ( planet -- planet ) dispose ( planet -- ) drop ( float64 -- ) drop ( float64 -- ) drop ( int32 -- ) drop ( int32 -- ) drop ( int32 -- ) drop ( float64 -- ) } float64 energy () { var float64 e var float64 distance var int32 i var int32 j var int32 n var planet b1 var planet b2 var V v 0 ( -- float64 ) 0 ( -- float64 ) 0 ( -- int32 ) 0 ( -- int32 ) gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) count ( planet[]¢ -- uint32 ) NULL ( -- planet ) NULL ( -- planet ) 24 ( -- uint32 ) alloc ( uint32 -- V ) -1 ( -- int32 ) lvar-20+56 "i" ( -- int32& ) poke ( int32, int32& -- ) L996: lvar-20+52 "i" ( -- int32& ) pppeek ( int32& -- int32 ) lvar-28+56 "n" ( -- int32& ) peek ( int32& -- int32 ) < ( int32, int32 -- bool ) !! ( uint32 -- bool ) jp_z ( bool -- ) -> L995 gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) lvar-20+60 "i" ( -- int32& ) peek ( int32& -- int32 ) atindex ( planet[]¢, int32 -- planet& ) peek ( planet& -- planet¢ ) retain ( planet¢ -- planet ) lvar-36+60 "b1" ( -- planet& ) swapwithvar ( planet, planet& -- planet ) call! kill ( planet -- planet ) dispose ( planet -- ) lvar-36+52 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+16 "mass" ( -- float64& ) peek ( float64& -- float64 ) 0.5 ( -- float64 ) * ( float64, float64 -- float64 ) lvar-36+60 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+8 "v" ( -- V& ) peek ( V& -- V¢ ) call abs_2 ( V¢ -- float64 ) * ( float64, float64 -- float64 ) lvar-8+60 "e" ( -- float64& ) += ( float64, float64& -- ) lvar-20+52 "i" ( -- int32& ) peek ( int32& -- int32 ) lvar-24+56 "j" ( -- int32& ) poke ( int32, int32& -- ) L998: lvar-24+52 "j" ( -- int32& ) pppeek ( int32& -- int32 ) lvar-28+56 "n" ( -- int32& ) peek ( int32& -- int32 ) < ( int32, int32 -- bool ) !! ( uint32 -- bool ) jp_z ( bool -- ) -> L996 gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) lvar-24+60 "j" ( -- int32& ) peek ( int32& -- int32 ) atindex ( planet[]¢, int32 -- planet& ) peek ( planet& -- planet¢ ) retain ( planet¢ -- planet ) lvar-44+60 "b2" ( -- planet& ) swapwithvar ( planet, planet& -- planet ) call! kill ( planet -- planet ) dispose ( planet -- ) lvar-36+52 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+0 "p" ( -- P& ) peek ( P& -- P¢ ) lvar-44+60 "b2" ( -- planet& ) peek ( planet& -- planet¢ ) item+0 "p" ( -- P& ) peek ( P& -- P¢ ) call operator - ( P¢, P¢ -- V ) dup2r ( V -- V¢ ) call abs ( V¢ -- float64 ) fromr ( -- V ) dispose ( V -- ) lvar-16+60 "distance" ( -- float64& ) poke ( float64, float64& -- ) lvar-36+52 "b1" ( -- planet& ) peek ( planet& -- planet¢ ) item+16 "mass" ( -- float64& ) peek ( float64& -- float64 ) lvar-44+60 "b2" ( -- planet& ) peek ( planet& -- planet¢ ) item+16 "mass" ( -- float64& ) peek ( float64& -- float64 ) * ( float64, float64 -- float64 ) lvar-16+60 "distance" ( -- float64& ) peek ( float64& -- float64 ) / ( float64, float64 -- float64 ) lvar-8+60 "e" ( -- float64& ) -= ( float64, float64& -- ) jp ( -- ) -> L998 L995: dispose ( V -- ) call! kill ( planet -- planet ) dispose ( planet -- ) call! kill ( planet -- planet ) dispose ( planet -- ) drop ( int32 -- ) drop ( int32 -- ) drop ( int32 -- ) drop ( float64 -- ) } void offset_momentum () { var int32 i var int32 n var V v 0 ( -- int32 ) gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) count ( planet[]¢ -- uint32 ) 24 ( -- uint32 ) alloc ( uint32 -- V ) -1 ( -- int32 ) lvar-4+20 "i" ( -- int32& ) poke ( int32, int32& -- ) L1002: lvar-4+16 "i" ( -- int32& ) pppeek ( int32& -- int32 ) lvar-8+20 "n" ( -- int32& ) peek ( int32& -- int32 ) < ( int32, int32 -- bool ) !! ( uint32 -- bool ) jp_z ( bool -- ) -> L1003 lvar-16+16 "v" ( -- V& ) peek ( V& -- V¢ ) gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) lvar-4+32 "i" ( -- int32& ) peek ( int32& -- int32 ) atindex ( planet[]¢, int32 -- planet& ) peek ( planet& -- planet¢ ) item+8 "v" ( -- V& ) peek ( V& -- V¢ ) gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) lvar-4+40 "i" ( -- int32& ) peek ( int32& -- int32 ) atindex ( planet[]¢, int32 -- planet& ) peek ( planet& -- planet¢ ) item+16 "mass" ( -- float64& ) peek ( float64& -- float64 ) call operator * ( V¢, float64 -- V ) dup2r ( V -- V¢ ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+0 "x" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+8 "y" ( -- float64& ) += ( float64, float64& -- ) lvar+0+0 "v" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) peek ( float64& -- float64 ) lvar+8+8 "z" ( -- V¢& ) peek ( V¢& -- V¢ ) item+16 "z" ( -- float64& ) += ( float64, float64& -- ) drop ( V¢ -- ) drop ( V¢ -- ) fromr ( -- V ) dispose ( V -- ) jp ( -- ) -> L1002 L1003: lvar-16+16 "v" ( -- V& ) peek ( V& -- V¢ ) -39.478417604357 ( -- float64 ) call operator / ( V¢, float64 -- V ) gvar-12 "bodies" ( -- planet[]& ) peek ( planet[]& -- planet[]¢ ) 0 ( -- int32 ) atindex ( planet[]¢, int32 -- planet& ) peek ( planet& -- planet¢ ) item+8 "v" ( -- V& ) swapwithvar ( V, V& -- V ) dispose ( V -- ) dispose ( V -- ) drop ( int32 -- ) drop ( int32 -- ) } } args ( -- utf8str[]& ) peek ( utf8str[]& -- utf8str[]¢ ) count ( utf8str[]¢ -- uint32 ) 2 ( -- uint32 ) == ( uint32, uint32 -- bool ) !! ( uint32 -- bool ) jp_z ( bool -- ) -> L964 args ( -- utf8str[]& ) peek ( utf8str[]& -- utf8str[]¢ ) 1 ( -- int32 ) atindex ( utf8str[]¢, int32 -- utf8str& ) peek ( utf8str& -- utf8str¢ ) numval ( utf8str¢ -- int32 ) jp ( -- ) -> L965 L964: 1000 ( -- int32 ) L965: 24 ( -- uint32 ) alloc ( uint32 -- planet ) tor ( planet -- ) 24 ( -- uint32 ) alloc ( uint32 -- P ) tor ( P -- ) 0 ( -- float64 ) peekr ( -- P¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) 0 ( -- float64 ) peekr ( -- P¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) 0 ( -- float64 ) peekr ( -- P¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- P ) peekr ( -- planet¢ ) item+0 "p" ( -- P& ) poke ( P, P& -- ) 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) 0 ( -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) 0 ( -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) 0 ( -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) peekr ( -- planet¢ ) item+8 "v" ( -- V& ) poke ( V, V& -- ) 39.478417604357 ( -- float64 ) peekr ( -- planet¢ ) item+16 "mass" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- planet ) 24 ( -- uint32 ) alloc ( uint32 -- planet ) tor ( planet -- ) 24 ( -- uint32 ) alloc ( uint32 -- P ) tor ( P -- ) 4.8414314424647 ( -- float64 ) peekr ( -- P¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) -1.1603200440274 ( -- float64 ) peekr ( -- P¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) -0.10362204447112 ( -- float64 ) peekr ( -- P¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- P ) peekr ( -- planet¢ ) item+0 "p" ( -- P& ) poke ( P, P& -- ) 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) 0.60632639299583 ( -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) 2.8119868449163 ( -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) -0.025218361659888 ( -- float64 ) peekr ( -- V¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) peekr ( -- planet¢ ) item+8 "v" ( -- V& ) poke ( V, V& -- ) 0.037693674870389 ( -- float64 ) peekr ( -- planet¢ ) item+16 "mass" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- planet ) 24 ( -- uint32 ) alloc ( uint32 -- planet ) tor ( planet -- ) 24 ( -- uint32 ) alloc ( uint32 -- P ) tor ( P -- ) 8.3433667182446 ( -- float64 ) peekr ( -- P¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) 4.1247985641243 ( -- float64 ) peekr ( -- P¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) -0.40352341711432 ( -- float64 ) peekr ( -- P¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- P ) peekr ( -- planet¢ ) item+0 "p" ( -- P& ) poke ( P, P& -- ) 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) -1.0107743461788 ( -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) 1.8256623712304 ( -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) 0.0084157613765842 ( -- float64 ) peekr ( -- V¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) peekr ( -- planet¢ ) item+8 "v" ( -- V& ) poke ( V, V& -- ) 0.011286326131969 ( -- float64 ) peekr ( -- planet¢ ) item+16 "mass" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- planet ) 24 ( -- uint32 ) alloc ( uint32 -- planet ) tor ( planet -- ) 24 ( -- uint32 ) alloc ( uint32 -- P ) tor ( P -- ) 12.894369562139 ( -- float64 ) peekr ( -- P¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) -15.111151401699 ( -- float64 ) peekr ( -- P¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) -0.22330757889266 ( -- float64 ) peekr ( -- P¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- P ) peekr ( -- planet¢ ) item+0 "p" ( -- P& ) poke ( P, P& -- ) 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) 1.0827910064415 ( -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) 0.86871301816961 ( -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) -0.010832637401364 ( -- float64 ) peekr ( -- V¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) peekr ( -- planet¢ ) item+8 "v" ( -- V& ) poke ( V, V& -- ) 0.0017237240570597 ( -- float64 ) peekr ( -- planet¢ ) item+16 "mass" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- planet ) 24 ( -- uint32 ) alloc ( uint32 -- planet ) tor ( planet -- ) 24 ( -- uint32 ) alloc ( uint32 -- P ) tor ( P -- ) 15.379697114851 ( -- float64 ) peekr ( -- P¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) -25.919314609988 ( -- float64 ) peekr ( -- P¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) 0.17925877295037 ( -- float64 ) peekr ( -- P¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- P ) peekr ( -- planet¢ ) item+0 "p" ( -- P& ) poke ( P, P& -- ) 24 ( -- uint32 ) alloc ( uint32 -- V ) tor ( V -- ) 0.9790907322439 ( -- float64 ) peekr ( -- V¢ ) item+0 "x" ( -- float64& ) poke ( float64, float64& -- ) 0.59469899864768 ( -- float64 ) peekr ( -- V¢ ) item+8 "y" ( -- float64& ) poke ( float64, float64& -- ) -0.034755955504078 ( -- float64 ) peekr ( -- V¢ ) item+16 "z" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- V ) peekr ( -- planet¢ ) item+8 "v" ( -- V& ) poke ( V, V& -- ) 0.0020336868699246 ( -- float64 ) peekr ( -- planet¢ ) item+16 "mass" ( -- float64& ) poke ( float64, float64& -- ) fromr ( -- planet ) 40 ( -- uint32 ) alloc ( uint32 -- planet[5] ) dup2r ( planet[5] -- planet[5]¢ ) forallitems ( planet[5]¢ -- planet& ) -> L983 L982: poke ( planet, planet& -- ) L983: ForAllEnd .. L982 fromr ( -- planet[5] ) call offset_momentum () call energy ( -- float64 ) gvar-20 "e0" ( -- float64& ) peek ( float64& -- float64 ) print ( float64 ) "\n" ( -- utf8str¢ ) print ( utf8str¢ ) gvar-4 "N" ( -- int32& ) peek ( int32& -- int32 ) L1005: gvar-24 "i" ( -- int32& ) peekmm ( int32& -- int32 ) !! ( int32 -- bool ) jp_z ( bool -- ) -> L1006 0.01 ( -- float64 ) call advance ( float64 ) jp ( -- ) -> L1005 L1006: call energy ( -- float64 ) gvar-32 "e1" ( -- float64& ) peek ( float64& -- float64 ) print ( float64 ) "\n" ( -- utf8str¢ ) print ( utf8str¢ )