*

: z x .05 - 1.7 * y .64 - 1.7 * ;

: z1 over dup * over dup * + rot over / -rot / ;
: zmodule dup * swap dup * + sqrt ;
: zarg swap atan2 ;
: ep over exp over cos * -rot sin swap exp * ;
: zln 2dup zmodule log -rot zarg ;
: zp push push zln pop pop z* ;

: a 2 2.1 ;
: b .3 -2 ;
: c -2 1.6 ;
: d -1.4 -1.75 ;

: f
2dup >r >r
a z* b z+
r> r> c z* d z+ c zp
z1 ep
z* zln
;

z f f f f f f f f f

abs swap abs 3 /
2dup zmodule 3.5 /
swap

comments powered by Disqus