Formulas by Otto Magus, 2015/16/17 otto.magus@yahoo.co.uk f7{ init: z=fn1(1/pixel+0.25) loop: z=fn2((cabs(cos(z*z+pixel))^z)^(pixel-z)+@var) bailout: |z|<=@bail default: title="f7" center=(1.76562499985,0) magn=2.4935065 periodicity=0 param var caption="Parameter 1" default=(0,0) endparam func fn1 caption="function 1" default=cotanh() endfunc func fn2 caption="function 2" default=log() endfunc param bail caption="Bailout" default=4.0 endparam } f9{ init: z=fn1(pixel) loop: z=fn2((abs(cos(pixel))^z)^flip(pixel-z))/z+@var z=p2*fn3(z)+p3 bailout: |z|<=@bail default: title="f9" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f10{ init: z=fn1(pixel) loop: z=(@fn(asin(asinh(z*z+pixel))^z)^cosh(pixel-z))/(z/pixel)+@var z=p2*fn3(z)+p3 bailout: |z|<=@bail default: title="f10" center=(0.36,0.001) magn=1.79 angle=270 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=cabs() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f22{ init: z=0 loop: z=abs(z*z*z*z*z+pixel)+@var z=p2*fn1(z)+p3 bailout: |z|<@bail default: title="f22" center=(0.001,0.001) func fn1 caption="Function" default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f23{ init: z=0 loop: z=abs(z*z*z*z*z*z+pixel)+@var z=p2*fn1(z)+p3 bailout: |z|<@bail default: title="f23" center=(0.001,0.001) func fn1 caption="Function" default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f27{ init: z=fn1(cos(pixel-1)) loop: z=abs(z*z*z+p1*(pixel*z)^@pow) z=p2*fn2(z)+p3 bailout: |z|<@bail default: title="f27" center=(-1,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param pow caption="Exponent" default=1 endparam param bail caption="Bailout" default=4.0 endparam } f28 { init: z=fn1(pixel) loop: z=@fn(log(z+pixel)^z)+@var z=p2*fn3(z) bailout: |z|<@bail default: title="f28" center=(-1,0) maxiter=500 param var caption="Parameter 1" default=(-1.446429,0) endparam param p2 default=1.0 endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=exp() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=3.0 endparam } f29{ init: z=fn1(pixel) loop: z=@fn(cosh(recip(z*z*z)+tan(pixel*z+@var))) z=p2*fn3(z)+p3 bailout: |z|<@bail default: title="f29" center=(1.25,0) magn=0.57692308 angle=90 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=sqrt() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f30{ init: z=fn1(pixel) loop: z=@fn(cos(z*z*z)^(pixel-2)) z=p1*fn3(z)+p2 bailout: |z|<@bail default: title="f30" center=(0.020898438,0.001) magn=1.2205976 angle=270 func fn1 default=ident() endfunc func fn caption="Function 2" default=sin() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f32{ init: z=fn1(pixel) loop: z=abs((z^3)+(pixel*z))+p1 z=p2*fn2(z)+p3 bailout: |z|1 c=cos(z) endif z=fn2(z) bailout: |z|<=@bail default: title="f76" param seed default=(-0.13095,-0.27381) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f78{ init: z=fn1(pixel) loop: z=cos((z*z)-3)+pixel+@var if real(pixel)<10 z=sin(z-3) z=fn2(z) endif bailout: |z|<=@bail default: center=(0.001,0.001) title="f78" param var caption="Parameter" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f79{ init: z=fn1(pixel) loop: z=abs(cos((z*z)-3)+pixel)+@var if real(pixel)>10 z=sin(z-3) endif z=fn2(z) bailout: |z|<=@bail default: center=(0.001,0.001) title="f79" param var caption="Parameter" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f80{ init: z=fn1(recip(pixel+3)) loop: z=recip(sin(z*z*z-3)/pixel+recip(pixel+2)/z)+@var z=fn2(z) bailout: |z|<=@bail default: title="f80" center=(-2.5,0) magn=.5 periodicity=0 param var caption="Parameter" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f81{ init: z=fn1(recip(pixel+3)^(z-1)) loop: z=recip(sin(z*z*z-3)/pixel+recip(pixel+2)/z)+@var z=p2*fn2(z)+p3 bailout: |z|<=@bail default: title="f81" center=(-2.5,0) magn=.5 periodicity=0 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f82{ init: z=recip(pixel+3) loop: z=@fn(cos(recip(tanh(z*z*z-3))+(pixel*pixel)/(z+2)))+@seed bailout: |z|<=@bail default: title="f82" center=(0.001,0.001) magn=.5 param seed caption="Parameter" default=(-1.19047,0.65476) endparam func fn caption="Function" default=conj() endfunc param bail caption="Bailout" default=4.0 endparam } f83{ init: z=recip(pixel +3) loop: z=fn1(abs(recip(tanh( z*z*z -3))+(pixel*pixel)/(z+2)))+@var bailout: |z|<=@bail default: title="f83" center=(0.001,0.001) func fn1 caption="Function" default=ident() endfunc param var caption="Parameter" default=(0.6,-0.4) endparam param bail caption="Bailout" default=4.0 endparam } f85{ init: z=fn1(cosh(pixel^z)) loop: z=fn2(((z*z*z*z)/pixel^3)^recip(z+1)+pixel/z-z)+@var bailout: |z|<=@bail default: title="f85" center=(1.1,0.001) magn=4 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f86{ init: z=fn1(pixel^z) loop: z=fn2(((z*z*z*z)/(pixel^3))^((recip(z+1))^3)-z)+@var bailout: |z|<=@bail default: title="f86" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f87{ init: z=cotanh(pixel+3) loop: z=@fn((asinh(z*z*z-3))+(pixel*pixel)/(z+2)+@var) bailout: |z|<=@bail default: title="f87" center=(0.5,0.001) magn=.5 param var caption="Parameter" default=(0,0) endparam func fn caption="Function" default=sin() endfunc param bail caption="Bailout" default=4.0 endparam } f88{ init: z=@Fn(pixel) loop: z=abs(z*z*z-(pixel*pixel)/(z/(1-pixel))+@var) bailout: |z|<=@bail default: title="f88" center=(0.3,0) magn=1.7 func fn caption="Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f89{ init: z=cos(pixel^(z-2)) loop: z=@fn(sqrt(sin(z*z)^(pixel+3)+(pixel/z)^(z-1)))+@var bailout: |z|<@bail default: title="f89" center=(4.6785714286,0.001) magn=0.47727273 param var caption="Parameter" default=(0,0) endparam func fn caption="Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f90{ init: z=@Fs(pixel)^(z-2) loop: z=@fn(sin(z*z)+(pixel/z)^(z-1))+@var z=p2*fn2(z) bailout: |z|<@bail default: title="f90" center=(0.001,0.001) func Fs caption="Start Function" default=cotanh() endfunc func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f92{ init: z=@Fs(recip(pixel+3)) loop: z=@fn(sin(z*z*z-3)+recip(pixel+2)-z/pixel+@var) z=p2*fn2(z) bailout: |z|<=@bail default: title="f92" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f93{ init: z=@Fs(recip(pixel+3)) loop: z=abs(sin(z*z*z-3)+recip(pixel+2)-cos(z/pixel))+@var z=p2*fn2(z) bailout: |z|<=@bail default: title="f93" center=(-6.65,0.05) magn=8 func Fs caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f94{ init: z=@start loop: z=@fn((cos(z*z*z*z-0.62)+pixel-0.878)^(z^1.333))*@mult bailout: |z|<@bail default: title="f94" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam param mult caption="Parameter" default=1.0 endparam func fn caption="Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f96{ init: z=@start loop: z=@fn((z*z*z*z)+sqr(pixel+z)^2)+@var bailout: |z|<@bail default: title="f96" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn caption="Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f97{ init: z=@start loop: z=@fn(abs((z^4)-(pixel^3)))+@seed bailout: |z|<@bail default: title="f97" param start caption="Start Value" default=0.0 endparam param seed caption="Parameter" default=(0,0) endparam func fn caption="Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f98{ init: z=@start loop: z=@fn(cosh((z*z*z*z)-(pixel*pixel*pixel))^cos(z-pixel))+@var bailout: |z|<@bail default: title="f98" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam param var caption="Parameter" default=(0,0) endparam func fn caption="Function" default=sin() endfunc param bail caption="Bailout" default=4.0 endparam } f101{ init: z=@start loop: z=@fn(sin(z*z-1)+pixel) z=p1*fn2(z)+p2 bailout: |z|<=@bail default: title="f101" center=(0.19921875,0.001) angle=90 param start caption="Start Value" default=(0,0) endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f104{ init: z=@start loop: z=abs(fn1(z*z)-fn2(pixel*pixel*pixel*pixel*pixel*pixel))^abs(z*pixel)+@seed bailout: |z|<@bail default: title = "f104" maxiter=1000 param start caption="Start Value" default=(0,0) endparam param seed caption="Parameter" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f107{ init: z=@start loop: z=abs(fn1(z*z)-fn2(pixel^9))^tan(z*pixel*pixel*pixel)+@seed bailout: |z|<@bail default: title="f107" center=(0.001,0.001) periodicity=0 param start caption="Start Value" default=(0,0) endparam param seed caption="Parameter" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f108{ init: z=fn1(pixel) loop: z=@fn(sqrt(fn3(z*z)-(pixel*pixel))^cos(fn4(z)*pixel*pixel*pixel))+@seed bailout: |z|<@bail default: title="f108" center=(0.001,0.001) param seed caption="Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=abs() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Loop Function 3" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f109{ init: z=@start loop: z=abs(fn1(z*z)+(pixel*pixel))^tan(fn2(z)*pixel*pixel)+@seed bailout: |z|<@bail default: title="f109" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam param seed caption="Parameter" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f111{ init: z=@fn1(asin(pixel+@seed-3)/pixel) loop: z=@fn2(fn3(acosh(z*z*z*z))+(pixel*pixel)^(fn4(z)-pixel))+@seed2 bailout: |z|<@bail default: title="f111" center=(2.1640625,0.001) angle=90 func fn1 default=exp() endfunc func fn2 default=sinh() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param seed caption="Parameter 1" default=0.0 endparam param seed2 caption="Parameter 2" default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } f112{ init: z=@start loop: z=abs(fn2(z*z*z*z)+@fn(pixel*pixel))+@seed bailout: |z|<@bail default: title="f112" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f113{ init: z=@start loop: z=(fn1(z*z*z*z)^2)+@fn(pixel-fn3(z))+p1 bailout: |z|<@bail default: title="f113" center=(0.001,0.001) angle=90 param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=tan() endfunc func fn3 default=ident() endfunc param p1 caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f115{ init: z=@start loop: z=@fn(fn2(z*z*z*z)+fn3(z)+abs(pixel-fn4(z))+@var) bailout: |z|<@bail default: title="f115" center=(0.34375000015,0.4625) magn=2.0689655 periodicity=0 param start caption="Start Value" default=(0,0) endparam func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f116{ init: z=@fn5(cos(pixel-z)^sqrt(cosh(pixel+2))) loop: z=@fn(p1*fn2(z*z*z*z)-fn3(z)+p2*cos(pixel-fn4(z))+@var) bailout: |z|<@bail default: title="f116" center=(-0.5,0.001) magn=1.3333333 func fn5 caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=sqr() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc func fn3 caption="Loop Function 3" default=ident() endfunc func fn4 caption="Loop Function 4" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param var caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f117{ init: z=@start loop: z=@fn(p1*cos(fn2(z*z*z*z)-fn3(z)+p2*cos(pixel-fn4(z))))+@var bailout: |z|<@bail default: title="f117" center=(-2.291320801,0) magn=1.6695652 param start caption="Start Value" default=(0,0) endparam func fn caption="Function 1" default=sqrt() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param var caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f120{ init: z=@fn1(sqrt(2.61+pixel)) loop: z=@fn2(cosh(p1*fn3(z*z*z))+p2*asinh(pixel*fn4(z))^2+@seed) bailout: |z|<@bail default: title="f120" center=(0.001,0.001) magn=1 func fn1 default=recip() endfunc func fn2 default=sin() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param seed caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f123{ init: z=@start loop: z=@fn(abs(p1*fn2(z*z*z))-p2*fn3(sin(1+pixel)))+@seed bailout: |z|<@bail default: title="f123" maxiter=1000 center=(0.5,0) magn=0.7 param start caption="Start Value" default=0.1 endparam func fn caption="Function 1" default=abs() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param seed caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f125{ init: z=@fn(pixel) loop: z=sinh(sqrt(p1*fn2(z*z*z*pixel)))^(p2*fn3(z))+p3 bailout: |z|<@bail default: title="f125" center=(0.001,0.001) func fn caption="Function 1" default=cabs() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=1.0 endparam param p3 default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } f126{ init: z=fn1(abs(pixel)) loop: z=@fn(acos(cosh(pixel*p1*fn3(z))))+@seed bailout: |z|<@bail default: title="f126" center=(0.001,0.001) magn=0.5 func fn1 default=ident() endfunc func fn caption="function" default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param seed caption="Parameter 2" default=(0.05952,1.19048) endparam param bail caption="Bailout" default=4.0 endparam } f127{ init: z=fn1(pixel*pixel) loop: z=fn2(abs(pixel*p1*fn3(z)))+p2 bailout: |z|<@bail default: title="f127" maxiter=1000 magn=0.73563218 angle=270 skew=30 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(-1.17857,0.36905) endparam param bail caption="Bailout" default=4.0 endparam } f132{ init: z=fn1(pixel) loop: z=cos(p1*fn2(z)^2+(pixel/cos(@var+fn3(z)))) bailout: |z|<=@bail default: title="f132" center=(-1,0.001) magn=0.8 maxiter=500 param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f134{ init: z=fn1(pixel) loop: z=@fn(sqrt(p1*fn3(z)^4+sqrt(pixel/cos(@var-fn4(z))))) bailout: |z|<=@bail default: title="f134" center=(0.001,0.001) magn=4 angle=270 param p1 default=(1,0) endparam param var caption="Parameter 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } f135{ init: z=fn1(pixel) loop: z=@fn((p1*fn3(z)^1.5)+cabs(atanh(@var-p3*fn4(z))/pixel))+@seed bailout: |z|<=@bail default: title="f135" center=(0.001,0.001) magn=0.5 func fn1 default=ident() endfunc func fn caption="Function 2" default=asin() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 caption="Parameter 1" default=1.0 endparam param var caption="Parameter 2" default=0.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param seed caption="Parameter 4" default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } f136{ init: z=fn1(sqrt(pixel+1)) loop: z=@fn(cos((z^1.2)-cosh(log(@var+z)/pixel))+sqrt(pixel^z)) x=p2*fn3(z)+p3 bailout: |z|<=@bail*real(pixel) default: title="f136" center=(2.55625,0) angle=90 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="function" default=cos() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=1.0 endparam } f137{ init: z=fn1(sqrt(pixel-1)) loop: z=sqr(p1*fn2(z)^1.5-pixel/cotan(log(@var+fn3(z)))) bailout: |z|<=@bail default: title="f137" center=(1.2265625,0) angle=270 param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0.63095,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f146{ init: z=@start loop: z=p1*fn1(abs(z*z*z*z*z*z*z+pixel))+@var bailout: |z|<@bail default: title="f146" param start caption="Start Value" default=0.0 endparam param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 caption="Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f147{ init: z=@start loop: z=abs(z*z*z*z+pixel)+@var z=p2*fn1(z) bailout: |z|<@bail default: title="f147" param start caption="Start Value" default=0.0 endparam param var caption="Parameter 1" default=(0,0) endparam param p2 caption="Parameter 2" default=(1,0) endparam func fn1 caption="Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f148{ init: z=@start loop: z=abs(p1*fn1(z*z)-(pixel^9))^abs(fn2(z)*pixel)+@var bailout: |z|<@bail default: title = "f148" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f154{ init: z=@start loop: z=@fn(recip(p1*fn2(z*z)-(pixel^9))^tan(p2*fn3(z)*#pixel)+@var) bailout: |z|<@bail default: title = "f154" center=(0.001,0.001) periodicity=0 param start caption="Start Value" default=0.0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param var caption="Parameter 3" default=(0,0) endparam func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f158{ init: z=fn2(5/pixel) a=pixel+@seed-sqrt(z-1) loop: z=z-@fn1((cos(a-pixel))/((z^pixel)/a)+@var) bailout: |z|<=@bail default: title="f158" center=(2.1875,0.001) magn=0.57831325 angle=90 param seed caption="Parameter 1" default=(0,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 default=sqrt() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=80.0 endparam } f159{ init: z=fn2(5/pixel) a=pixel+@var-acosh(z/3) loop: z=z-@fn1((sqrt(a-pixel))/(((z*z*z)^pixel)*a)+@var)+recip((3/pixel)^(z*z+a))^z z=p2*fn3(z)+p3 bailout: |z|<=@bail default: title="f159" center=(1.78515625,0) angle=90 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn2 caption="function 1" default=sqrt() endfunc func fn1 caption="function 2" default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f160{ init: z=(fn2(pixel+1))^pixel a=(z*z-1+@var)/pixel loop: z=z-fn1(sin((a*a*a)+((3/(z+1))^pixel))^z)/(z-pixel) z=p2*fn3(z)+p3 bailout: |z|<=@bail default: title="f160" center=(-0.2265625,0) magn=0.92307692 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn2 caption="Function 1" default=cotan() endfunc func fn1 caption="Function 2" default=exp() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=80.0 endparam } f169{ init: z=@fn1(sin(pixel+@var))^sqr(3+cos(pixel)) loop: z=@fn2((cos((z/pixel)-(pixel*z)))+@var) bailout: |z|<@bail default: title="f169" center=(0.001,0.001) param var caption="Parameter" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f170{ init: z=a=@Fs(pixel) loop: z=@fn1(1-exp(-z)-a) z=@fn2(z+cos(a+pixel+@var)) bailout: |z|<=4*@bailout default: title="f170" center=(1.5,0.001) magn=0.5 param var caption="Parameter" default=(0,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=sqr() endfunc func fn2 caption="Loop Function 2" default=conj() endfunc param bailout caption="Bailout" default=32.0 endparam } f171{ init: z=a=1/(cos(@Fs(pixel))*@Fs(pixel)) loop: z=1/(fn1(@fn2(cosh(1+sqrt(z)*cos(a))+@var))^pixel) bailout: |z|<=4*@bailout default: title="f171" center=(0.3046875,0.001) magn=0.63787375 angle=90 param var caption="Parameter" default=(0,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=conj() endfunc func fn2 caption="Loop Function 2" default=sinh() endfunc param bailout caption="Bailout" default=63.0 endparam } f172{ init: z=@fn1(sqrt(1/pixel)/pixel) c=sqrt(pixel)-1.62+@var loop: z=p2*@fn2(z-cotan(z^pixel+c)+1/c) bailout: |z|<=@bail default: title="f172" magn=0.16107383 center=(-4.1875,0) angle=90 param var caption="Parameter 1" default=0.0 endparam param p2 default=1.0 endparam func fn1 default=exp() endfunc func fn2 default=conj() endfunc param bail caption="Bailout" default=100.0 endparam } f173{ init: z=fn1(pixel) loop: z=fn2(((tan(z*z+1.7))*z*z)-sin(z-7.1)+@var) bailout: |z|<@bail default: title = "f173" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=abs() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f174{ init: z=fn1(pixel+3) loop: z=fn2(((tan(z*z+2.3))*z*z)*z+1+@var-sin(z-3.7))^z z=p2*fn3(Z)+p3 bailout: |z|<@bail default: title="f174" center=(0.001,0.001) magn=0.5 angle=90 periodicity=0 func fn1 default=cotanh() endfunc func fn2 default=atan() endfunc func fn3 default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f176{ init: z=fn1(pixel) loop: z=fn2(exp(recip((z/pixel)-log(z*z*z+3)+@var))^z) z=p2*fn3(z)+p3 bailout: |z|<=@bail default: title="f176" center=(0.001,0.001) magn=0.5 angle=90 param var caption="Parameter 1" default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f177{ init: z=@fn1(pixel) loop: z=(@fn2(tan(cos((z*z*z)/2)))/1.5-(cos(pixel^z))^3)^@power bailout: |z|<=4+@bailout default: title="f177" center=(1.14375,0.001) magn=1.589404 angle=90 param power caption="Exponent" default=(1,0) endparam func fn1 default=sin() endfunc func fn2 default=asin() endfunc param bailout caption="Bailout" default=0.0 endparam } f178{ init: z=fn1(pixel) loop: z=fn2((z^2)+(pixel/tan(sin(cos(@seed+z)))+@var)) bailout: |z|<=4 default: title="f178" center=(-0.55625,0.001) angle=270 magn=1.1594203 param seed caption="Parameter 1" default=(0,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 default=sqr() endfunc func fn2 default=cosh() endfunc param bailout caption="Bailout" default=16.0 endparam } f179{ init: z=fn1(pixel) loop: z=fn2((z+#pixel)/flip(@var-z)) z=p2*fn3(z)+p3 bailout: |z|<=@bail default: title="f179" param var caption="Parameter" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f180 { init: z=x=sin(pixel)^z loop: x=fn1(cos(z))*fn2(tan(x))^pixel+@var z=fn1(sqr(x))/fn2(sqrt(z))^x+@var bailout: |z|<4+@bailout default: title="f180" angle=90 center=(0.001,0.001) periodicity=0 func fn1 default=cos() endfunc func fn2 default=tanh() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=0.0 endparam } f181 { init: z=fn1(pixel) loop: z=fn2((z+pixel)/6i^(@var-z)) bailout: |z|<4+@bailout default: title="f181" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=16.0 endparam } f182{ init: z=fn1(3/cos(2/sin(1/pixel))) loop: z=fn2((((p1*pixel^z)^(z+1))^(z+2))^(z+3))+p2 bailout: |z|<4+@bailout default: title="f182" center=(0.001,0.001) angle=90 func fn1 default=tanh() endfunc func fn2 default=sqrt() endfunc param p1 default=1.0 endparam param p2 default=0.0 endparam param bailout caption="Bailout" default=0.0 endparam } f183{ init: z=fn1(3^cos(2^sin(1.5^pixel))) loop: z=fn2((((pixel*z)*(z+3))*(z+2))*(z+1))+@var bailout: |z|<4+@bailout default: title="f183" center=(0.001,0.001) magn=1.5 func fn1 default=log() endfunc func fn2 default=sqr() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=0.0 endparam } f184{ init: z=fn1(1/(z+pixel)) loop: z=fn2((pixel/z)+@var)*(z*z*z-3) bailout: |z|<4+@bailout default: title="f184" center=(0.075,0.001) magn=2.75 angle=90 func fn1 default=log() endfunc func fn2 default=conj() endfunc param var caption="Parameter" default=(0.11905,0) endparam param bailout default=21.0 endparam } f185 { init: z=@Fs(pixel) loop: z=((@var+1)/4)*((fn1(z^pixel))/2)/(log(fn2(z*z^(pixel-1)))) bailout: |z|<=@bailout default: title="f185" center=(0.001,0.001) angle=90 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(2,0) endparam param bailout caption="Bailout" default=4.0 endparam } f186{ init: z=@Fs(pixel) c=@Fs(pixel)+4 loop: z=fn1(1/(z+@var))*fn2(z+c) bailout: |z|<=real(c) default: title="f186" center=(0.001,0.001) magn=0.5 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn1 default=conj() endfunc func fn2 default=log() endfunc param var caption="Parameter" default=(0,0) endparam } f187{ init: z=@start c=@Fs(pixel) k=2+@var loop: z=fn1(z*z)-fn2(c*k) z=k*c*z z=z+cos(k)+c bailout: |z|<@bail default: title="f187" center=(1.1,0.001) magn=1.4 param start caption="Start Value" default=(0,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn1 default=cos() endfunc func fn2 default=log() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f188{ init: z=@start c=@Fs(pixel) k=3+@var loop: z=sqr(fn1(z*z)-fn2(c/k)) z=asinh((k*c*z)/pixel) z=cos(z+acosh(k)+c) bailout: |z|<@bail default: title="f188" center=(0.001,0.001) periodicity=0 param start caption="Start Value" default=(0,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f193{ init: z=pixel a=pixel+3 b=pixel^pixel c=pixel*pixel loop: z=fn1(fn2(z*z+a/b+c+@var)) z=fn1(fn2(z*z*z+a*b-c+@var)) z=fn1(fn2(z*z*z*z+(a+b)/c+@var)) bailout: |z|<4+@bailout default: title="f193" center=(-1,0) magn=4.8 angle=90 func fn1 default=cabs() endfunc func fn2 default=tan() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=0.0 endparam } f194{ init: z=fn1(pixel) loop: z=fn2(z*z+@seed) bailout: |z|<4+@bailout default: title="f194" center=(0.001,0.001) magn=0.5 func fn1 default=atan() endfunc func fn2 default=sinh() endfunc param seed caption="Seed" default=(-0.58333,0.29762) endparam param bailout caption="Bailout" default=0.0 endparam } f195 { init: z=fn1(pixel) loop: z=fn2(z*z+@seed) z=(z*z*z)/pixel bailout: |z|<@bailout default: title="f195" center=(0.001,0.001) func fn1 default=cabs() endfunc func fn2 default=sinh() endfunc param seed caption="Parameter" default=(-0.55953,-0.44047) endparam param bailout caption="Bailout" default=4.0 endparam } f196 { init: z=fn1(pixel) loop: z=fn2((z*z+1+@var)^(pixel-1)) if real(z)>3 z=cos((4+pixel)^(pixel+1)) endif bailout: |z|<@bail default: title="f196" center=(0.501,0.001) func fn1 default=ident() endfunc func fn2 default=log() endfunc param var caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f198 { init: z=pixel a=pixel b=@var c=z d=@bail+1 loop: z=fn1(fn2((z*z)+(a*a*a)+(b*b*b*b)+(c*c*c*c*c)+(d*d*d*d*d*d))) bailout: |z|<@bail default: title="f198" center=(0.001,0.001) angle=90 func fn1 default=asin() endfunc func fn2 default=cos() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f199{ init: z=@Fs(pixel) a=@Fs(pixel) b=@var c=z d=@bailout+1 loop: z=fn1(fn2((z*z*z*z*z*z)+(a*a*a*a*a)+(b*b*b*b)+(c*c*c)+(d*d))) bailout: |z|<@bailout default: title="f199" center=(0.001,0.001) angle=90 func Fs caption="Start Function" default=ident() endfunc func fn1 default=cos() endfunc func fn2 default=conj() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=8.0 endparam } f200{ init: z=@Fs(pixel) a=@Fs(pixel) b=@var c=z d=@bailout+1 loop: z=fn1(fn2(p2*log(z*z*z*z*z*z)-exp(a*a*a*a*a)-sqr(b*b*b*b)-sqrt(c*c*c)-conj(d*d)))+p3 bailout: |z|<@bailout default: title="f200" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn1 default=sqrt() endfunc func fn2 default=sin() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(0,0) endparam param bailout caption="Bailout" default=25.0 endparam } f202{ init: z=fn1(pixel) a=fn1(pixel-1) b=fn1(pixel-2) c=fn1(pixel-3) loop: z=fn2(z-log((z^a-b)^c)*(a*z^(a+1)*c*(z^a+b)^(c+1)/exp((z^a-b)^c))+@var) bailout: |z|<=2^@bailout default: title="f202" center=(1.9,0.001) param var caption="Parameter" default=(0,0) endparam func fn1 default=asinh() endfunc func fn2 default=cos() endfunc param bailout caption="Bailout" default=2.0 endparam } f203{ init: z=fn1(pixel) a=fn1(pixel-1) b=fn1(pixel-2) c=fn1(pixel-3) loop: z=fn2(z*z*z*z+a*a*a+b*b+c+@var)^z z=fn2(c*c*c*c+b*b*b+a*a+z+@var)^c bailout: |z|<=2^@bailout default: title="f203" center=(0.001,0.001) magn=0.5 angle=90 param var caption="Parameter" default=(0,0) endparam func fn1 default=cotan() endfunc func fn2 default=conj() endfunc param bailout caption="Bailout" default=2.0 endparam } f204{ init: z=fn1(pixel) c=fn1(pixel-1) x=fn1(pixel-2) loop: z=p1*fn2(c*((z-1/z)*log(z)-z+log(3*x)/2)+@var) bailout: |z|<=2^@bail default: title="f204" center=(0.751,0.001) magn=1.5 angle=90 param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=30 endparam } f205{ init: z=fn1(#pixel) a=fn1(z) b=fn1(z-1) c=fn1(z+1) loop: z=fn2(z-(c*((z-a)/(b-c)))+@var) bailout: |z|<=2^@bail default: title = "f205" center=(0.001,0.001) magn=0.65 angle=90 periodicity=0 param var caption="Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=sqr() endfunc func fn2 caption="Loop Function" default=sin() endfunc param bail caption="Bailout" default=29.0 endparam } f206{ init: z=fn1(pixel+1) loop: z=fn2(real(pixel+z)+flip(sin(imag(pixel-z)))+@var) z=fn2((z*z)+(z*pixel)+@var) z=p2*fn3(z)+p3 bailout: |z|<=2^@bail default: title="f206" center=(-0.6,0) angle=90 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=cos() endfunc func fn2 default=conj() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=2.0 endparam } f208{ init: z=fn1(cos(pixel)) c=z loop: z=z-fn2(((z^2-c)*sin(z))/((2*z)-cos(z))+@var) z=p2*fn3(z)+p3 bailout: |z|<=2^@bail default: title="f208" center=(0.001,0.001) magn=0.5 periodicity=0 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=log() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=18.0 endparam } f212{ init: z=fn1(pixel) b=fn1(0) c=fn1((z-(pixel^3))/2) x=fn1((z+c)/2) loop: z=fn2(((z^c)/(@var+10))/(b-(c^(@var-2)))) z=fn2(z-x+1) c=fn2(c-x+1) x=fn2(x/2)+p2 bailout: |z|<=2^@bailout default: title="f212" center=(0.001,0.001) magn=0.8 periodicity=0 param var caption="Parameter" default=(0,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=2.0 endparam } f214{ init: z=fn1(pixel) a=fn1(tan(pixel)) b=fn1(1/pixel) loop: z=fn2(cos(p1*z*z*z+a+b+@var)) bailout: |z|<=2^@bail default: title="f214" center=(0.001,0.001) maxiter=250 angle=90 param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=2.0 endparam } f215{ init: z=fn1(pixel) loop: z=fn2(cabs(p1*fn3(z*z)+(pixel*pixel))^tan(p2*fn4(z)*pixel*pixel)+@var) bailout: |z|<@bail default: title="f215" center=(0.001,0.001) angle=90 param p1 default=(1,0) endparam param p2 default=(-1.5,0) endparam param var caption="Parameter 3" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f216{ init: z=fn1((sin(pixel+3))^(pixel-1)) loop: z=fn2(cos(z^@param1+@param2)^z) bailout: |z|<=@bail default: title="f216" center=(0.001,0.001) param param1 caption="Parameter 1" default=(-1.5,0) endparam param param2 caption="Parameter 2" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f220{ init: z=fn1(3^pixel+2) loop: z=fn2(((p1*cos(fn3(z*z*z)))+@var)) bailout: |z|<=2^@bail default: title="f220" center=(-2.001,0.001) angle=270 param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=cotan() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=2.0 endparam } f221{ init: z=fn1(abs(pixel)) c=fn1(abs(pixel+1)) loop: z=fn2(cabs(z*z+c)^z+@var) z=fn2(z*z*z)^c bailout: |z|<=2^@bailout default: title="f221" center=(0.001,0.001) param var caption="Parameter" default=(0,0) endparam func fn1 default=flip() endfunc func fn2 default=sqrt() endfunc param bailout caption="Bailout" default=4.0 endparam } f222{ init: z=fn1(sin(pixel)) c=fn1(cos(pixel+1)) loop: z=fn2((exp(z*z+c)+@var)/z) bailout: |z|<=2^@bailout default: title="f222" center=(2.18,0.001) param var caption="Parameter" default=(0,0) endparam func fn1 default=recip() endfunc func fn2 default=sqrt() endfunc param bailout caption="Bailout" default=4.0 endparam } f223{ init: z=@Fs(pixel)+@start loop: z=fn1(fn2(((z*z*z)+pixel)*((z*z)+(pixel*pixel))*(z+(pixel*pixel*pixel))))+p1 bailout: |z|<=2^@bailout default: title="f223" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func Fs caption="Start Function" default=ident() endfunc param p1 default=(0,0) endparam func fn1 default=cos() endfunc func fn2 default=sqrt() endfunc param bailout caption="Bailout" default=2.0 endparam } f224{ init: z=@Fs(pixel) loop: z=fn1(fn2(z^6/pixel^6+@seed)) bailout: |z|<=2^@bailout default: title="f224" center=(0.001,0.001) magn=0.5 func Fs caption="Start Function" default=ident() endfunc func fn1 default=acosh() endfunc func fn2 default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=2.0 endparam } f225{ init: z=pixel+@start loop: z=p1*fn3(z)+p2 z=fn1(fn2(((z*z*z)^pixel)*((z*z)^(pixel*pixel))*(z^(pixel*pixel*pixel)))) bailout: |z|<=2^@bailout default: title="f225" center=(0.001,0.001) magn=1.37 angle=270 param start caption="Start Value" default=(0,0) endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=cos() endfunc func fn2 default=atanh() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=2.0 endparam } f227{ init: z=cos(sin(pixel+@var)) loop: z=p1*fn3(z)+p2 z=fn1(fn2(((z*z*z)+pixel)/((z*z)+(pixel*pixel)/(z+(pixel*pixel*pixel))))) bailout: |z|<=2^@bailout default: title="f227" center=(0.001,0.001) param var caption="Start Value" default=(1,0) endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=sqr() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=2.0 endparam } f228{ init: z=cos(sin(pixel+@var)) loop: z=fn1(fn2(((z*z*z)-pixel)/((z*z)+(pixel*pixel)*(z-(pixel*pixel*pixel))))) z=p2*fn3(z)+p3 bailout: |z|<=2^@bail default: title="f228" center=(0.001,0.001) magn=2 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=acosh() endfunc func fn2 default=cos() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=2 endparam } f229{ init: z=sin(cos(pixel+@var)) loop: z=fn1(fn2(((z*z*z)/pixel)+((z*z)/(pixel*pixel)*(z*(pixel*pixel*pixel))))) z=p2*fn3(z)+p3 bailout: |z|<=2^@bail default: title = "f229" center=(0.001,0.001) magn=2.4458599 angle=90 param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=recip() endfunc func fn2 default=atan() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=1.0 endparam } f230{ init: z=@Fs(pixel) loop: z=fn1(fn2(((z*z*z*z)/pixel)*((z*z*z)/(pixel*pixel))*((z*z)/(pixel*pixel*pixel))))+@seed bailout: |z|<=2^@bail default: title="f230" center=(0.001,0.001) magn=0.5 func Fs caption="Start Function" default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam func fn1 default=sqrt() endfunc func fn2 default=acos() endfunc param bail caption="Bailout" default=2.0 endparam } f231{ init: z=fn3(pixel)+@start loop: z=fn1(fn2((p1*(z*z*z*z*z)^pixel)/((z*z*z*z)^(pixel*pixel))/((z*z*z)^(pixel*pixel*pixel))))+p2 bailout: |z|<=2^@bail default: title="f231" center=(0.001,0.001) angle=90 periodicity=0 param start caption="Start Value" default=(0,0) endparam func fn3 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f238{ init: z=fn1((pixel)+@var) loop: z=fn2(sin(pixel*fn3(z)))+p1 bailout: |z|<@bail default: title="f238" center=(0.001,0.001) param var caption="Start Value" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param p1 caption="Parameter" endparam param bail caption="Bailout" default=4.0 endparam } f239{ init: z=fn1(pixel+cos(0)) loop: z=fn2(z*z*z+sin(z^0)+@seed) bailout: |z|<@bail default: title="f239" center=(-0.390625,0) magn=0.25 func fn1 default=log() endfunc func fn2 default=tan() endfunc param seed caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f241{ init: z=fn1(asinh(pixel+cos(0)+1)) loop: z=fn2(sin(z*z*z+pixel+@var)^cosh(@var +(pixel*pixel))) bailout: |z|<2^@bail default: title="f241" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f243{ init: z=fn1(pixel)+@var loop: z=fn2((z*z)*(z-pixel))+@var bailout: |z|< 2^@bail default: title="f243" center=(0.32421875,0.001) maxiter=250 angle=270 func fn1 caption="Start Function" default=sin() endfunc func fn2 caption="Loop Function" default=sqrt() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=12.0 endparam } f244{ init: z=fn1(recip(-pixel)+@var) loop: z=fn2(recip((z*z)*(z+pixel))+@var) bailout: |z|<2^@bail default: title="f244" center=(2,0.001) magn=0.34909091 angle=270 periodicity=0 func fn1 caption="Start Function" default=sqrt() endfunc func fn2 caption="Loop Function" default=sqrt() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f245{ init: z=fn1(recip(-pixel)+@var) c=pixel loop: z=fn2(recip((z*z)*(z+c*c+pixel))+c+@var) bailout: |z|<2^@bail default: title="f245" center=(0.001,0.001) periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f246{ init: z=fn1(recip(pixel)) a=fn1(pixel+sin(0)) b=fn1(pixel+cos(0)) loop: z=fn2(z*z+pixel+@var+(a*b)) z=fn2(pixel+z*b) bailout: |z|<2^@bail default: title="f246" center=(-1.2,0.001) maxiter=250 angle=90 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f247{ init: z=fn1(recip(pixel)) a=fn1(pixel+cosh(0)) b=fn1(pixel+sin(0)) loop: z=fn2(z*z+pixel+@var+a-b) z=fn2(cos(pixel+z+b+@var+1)) bailout: |z|<2^@bail default: title="f247" center=(0.55,0.001) magn=1.36 func fn1 caption="Start Function" default=cotan() endfunc func fn2 caption="Loop Function" default=asin() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="bailout" default=2.0 endparam } f247a{ init: z=fn1(recip(pixel)) a=fn1(pixel+cosh(0)) b=fn1(pixel+sin(0)) loop: z=fn2(z*z+#pixel+@var+a-b) z=fn2(cos(#pixel+z+b+@var+1)) z=p2*fn3(z)+p3 bailout: |z|<2^@bail default: title="f247a" center=(1.5,0.001) magn=10.457872 func fn1 default=cotan() endfunc func fn2 default=asin() endfunc func fn3 default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f248{ init: z=fn1(cos(pixel)) a=fn1(pixel+tan(0)) b=fn1(pixel+sinh(0)) loop: z=fn2(z*z*z-#pixel+@var+a-b) z=fn2(log(pixel+z+b+@var)) bailout: |z|<2^@bail default: title="f248" center=(2.4,0.001) magn=0.6 func fn1 caption="Start Function" default=asinh() endfunc func fn2 caption="Loop Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } f249{ init: z=fn1(1) a=fn1(pixel+tan(0)) b=fn1(pixel+sinh(0)) loop: z=fn2(z*z*z-pixel-@var+a-b) z=fn2(exp(#pixel+z+b+@var+1)) bailout: |z|<2^@bail default: title="f249" center=(-2.6,0.001) magn=0.4 angle=270 func fn1 caption="Start Function" default=cotan() endfunc func fn2 caption="Loop Function" default=log() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=3.0 endparam } f250{ init: z=0 a=fn1(pixel) b=fn1(pixel) loop: z=fn2(z*z*z*z-pixel*pixel-@var+a-b) z=fn2(conj(pixel+z+b+@var)) bailout: |z|<2^@bail default: title="f250" center=(0.001,0.001) magn=2 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=3.0 endparam } f251{ init: z=fn1(pixel) loop: z=fn2(z*z+pixel)^z z=fn2(z)+p1 bailout: |z|<2^@bailout default: title="f251" center=(0.001,0.001) magn=0.5 angle=90 func fn1 default=sqrt() endfunc func fn2 default=asin() endfunc param p1 caption="Parameter" default=0.0 endparam param bailout default=2.0 endparam } f252{ init: z=fn1(pixel) c=fn2(pixel+1) loop: z=p1*fn3(z) z=fn2(z*z+c+@var) if real(z)>0 c=pixel*pixel else c=pixel+2 endif bailout: |z|<2^@bailout default: title="f252" center=(0.001,0.001) maxiter=1000 angle=90 func fn1 default=sqr() endfunc func fn2 default=asinh() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam param bailout caption="Bailout" default=3.0 endparam } f253{ init: z=fn1(sin(pixel)) c=fn2(cos(pixel+1)) loop: z=p1*fn3(z) z=fn2(acosh(sqrt(cosh(z*z*z+c+@var)))) if real(z)<0 c=sin(pixel*pixel) endif bailout: |z|< 2^@bailout default: title = "f253" center=(0.001,0.001) angle=90 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=sqr() endfunc param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam param bailout caption="Bailout" default=3.0 endparam } f254{ init: z=fn1(sin(pixel)) c=fn1(cos(pixel+1)) z=fn1(pixel) loop: z=p1*fn3(z) z=fn2(acosh(sqrt(cosh(z*z*z+c+@var)))) z=fn2(z*z+c+@var) if real(z)<0 c=sin(pixel*pixel) endif bailout: |z|<2^@bailout default: title="f254" center=(2.17,0.001) magn=0.6 angle=90 func fn1 default=sin() endfunc func fn2 default=asinh() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param var caption="Parameter 2" default=(0,0) endparam param bailout caption="Bailout" default=3.0 endparam } f256{ init: z=fn1(pixel) a=fn1(pixel+1) b=fn1(pixel+2) c=fn1(pixel+3) loop: z=p2*fn3(z) z=fn2(log(#pixel+z+b+@var+(b*0))+@var) z=fn2(z*z*z*z+a*a*a+b*b+c+@var)^z bailout: |z|<=2^@bailout default: title="f256" center=(1.6,0) maxiter=1000 magn=1.3379791 angle=90 param var caption="Parameter" default=(0,0) endparam param p2 default=(1,0) endparam func fn1 default=sin() endfunc func fn2 default=conj() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=12.0 endparam } f257{ init: z=fn1(pixel) loop: z=fn2(log(pixel+z)+@var) z=fn2((((p2*z*z)/pixel)^3)+@var) z=fn2(fn3(z*z)+pixel+@var) bailout: |z|<=2^@bail default: title="f257" center=(1.001,0.001) magn=2 angle=270 param var caption="Parameter" default=(0,0) endparam param p2 caption="Parameter 2" default=1.0 endparam func fn1 caption="Start Function" default=asin() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=9.0 endparam } f259{ init: z=fn1(pixel) loop: z=fn2(exp(z)+@var) z=fn2((fn3(z)/pixel)-z*z*z+@var) bailout: |z|<=@bail default: title="f259" maxiter=100 center=(0.001,0.001) angle=270 param var caption="Parameter" default=(-1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=sinh() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f260 { init: z=@start loop: z=fn1((p1*z*z*z)/(pixel*pixel)) z=fn2(z*z+pixel)+p2 bailout: |z|<@bail default: title="f260" center=(-1.22,0.001) magn=1.13 angle=90 param start caption="Start Value" default=0.0 endparam func fn1 default=cosh() endfunc func fn2 default=sqr() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f261 { init: z=@start loop: z=fn1((z*z*z)/(pixel*pixel))+@var z=fn2(z*z+pixel)+@var z=((z*z*z*z)/pixel)+@var bailout: |z|<@bail default: title="f261" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=sqrt() endfunc func fn2 default=abs() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f262{ init: z=@start loop: z=fn1((z*z*z)/(pixel*pixel))+@var z=fn2((z*z*z*z)/pixel)+@var bailout: |z|<@bail default: title="f262" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f264{ init: z=@start loop: z=fn1(sin(z*z*z-3)+recip(pixel+2)) z=fn2(sin(((z*z*z-2)/pixel)))+p1 bailout: |z|<@bail default: title="f264" center=(0.001,0.001) magn=0.5 param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f265{ init: z=@start loop: z=p1*fn3(z) z=fn1(sin(z*z*z-3))+p2 z=fn2(sin(((z*z*z-2)/pixel))) bailout: |z|<@bailout default: title="f265" center=(0.001,0.001) magn=0.5 angle=90 param start caption="Start Value" default=(0,0) endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } f266{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(sin((z*z)-(pixel^9))^cos(z*pixel)) z=fn2(z*z+pixel) bailout: |z|<@bailout default: title="f266" center=(0.25,0.001) magn=2.7 maxiter=1000 param start caption="Start Value" default=0.0 endparam func fn1 default=atanh() endfunc func fn2 default=cos() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f268{ init: z=@start loop: z=fn1(cos(p1*(z*z)+acosh(pixel*pixel))+cosh(z*pixel))+p2 z=fn2(z*z+pixel) bailout: |z|<@bailout default: title="f268" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=sqrt() endfunc func fn2 default=sin() endfunc param p1 default=1.0 endparam param p2 default=0.0 endparam param bailout caption="Bailout" default=4.0 endparam } f269{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(cosh(z+1)+z/pixel) z=fn2(z*z+pixel) bailout: |z|<@bailout default: title = "f269" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=cotan() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f270{ init: z=@start loop: z=p1*fn1(exp((z*z*z*z)-z+log(#pixel-z))^pixel)+p2 z=fn2(z*z+pixel) bailout: |z|<@bail default: title="f270" center=(0.001,0.001) angle=90 param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f271{ init: z=@start loop: z=fn1(((tan(z*z+2.3))*z*z)*z+1-sin(z-3.7))^z z=fn2(z*z+pixel) z=p1*fn3(z)+p2 bailout: |z|<@bail default: title="f271" center=(-0.5,0.001) angle=270 param start caption="Start Value" default=0.0 endparam func fn1 default=cotan() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f272{ init: z=@start loop: z=fn1((z/pixel)+p1*(z*z/(pixel+1))+p2*(z*z*z/(pixel+2))) z=fn2(z*z*z+pixel) bailout: |z|<@bail default: title="f272" center=(0.001,0.001) angle=90 param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f273{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((z*pixel)+(z*z*(pixel+1))+(z*z*z*(pixel+2))) z=fn2(z*z*z+pixel) bailout: |z|<@bailout default: title="f273" center=(-0.35,0.001) angle=90 param start caption="Start Value" default=0.0 endparam func fn1 default=conj() endfunc func fn2 default=sqr() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f277{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(z+(3*pixel)+ 5) z=fn2(sqrt(z*z*z*z*z)+pixel) bailout: |z|<@bailout default: title="f277" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=cos() endfunc func fn2 default=sqrt() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f278{ init: z=@start loop: z=fn1(z+pixel-(((z^3)-(z^2)-z-(sin(z)*pixel)-(sin(z)))/((3*z^2)-(3*z)-cos(z))))+p1 z=p2*fn2(z*z+pixel) bailout: |z|<@bail default: title="f278" center=(-0.31640625015,0) magn=1.5673469 param start caption="Start Value" default=0.5 endparam func fn1 caption="function 1" default=ident() endfunc func fn2 caption="function 2" default=ident() endfunc param p1 default=(0.5,0) endparam param p2 default=(1,0) endparam param bail default=1.0 endparam } f279{ init: z=@start loop: z=fn1(z+pixel-(z^3)-(sin(z)*pixel))+p1 z=p2*fn2(z*z*z+pixel) bailout: |z|<@bail default: title="f279" center=(0.25,0.001) magn=2 angle=270 maxiter=250 param start caption="Start Value" default=0.0 endparam func fn1 caption="function 1" default=tan() endfunc func fn2 caption="function 2" default=sin() endfunc param p1 default=(0,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f280{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(z+pixel-(pixel^3)-(sin(pixel)*z)) z=fn2(z*z*z+pixel) bailout: |z|<@bailout default: title="f280" center=(0.001,0.001) maxiter=1000 param start caption="Start Value" default=0.0 endparam func fn1 default=sin() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f281 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((pixel*pixel*pixel)^(z*z)) z=fn2(pixel*pixel+z) bailout: |z|<@bailout default: title="f281" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f282 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(z*z+(3*pixel)+5) z=fn2(pixel*pixel+z) bailout: |z|<@bailout default: title="f282" center=(1.5,0.001) magn=1.2 param start caption="Start Value" default=0.0 endparam func fn1 default=sin() endfunc func fn2 default=log() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f283 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(z*z+(3*pixel)+5) z=fn2(z+pixel-(z^3)-(sin(z)*pixel)) bailout: |z|<@bailout default: title="f283" center=(-1.1,0.001) magn=2.5 angle=90 param start caption="Start Value" default=0.0 endparam func fn1 default=log() endfunc func fn2 default=asinh() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f284 { init: z=@start loop: z=p1*fn1((z*z*z)/(pixel*pixel)) z=fn2(z+pixel-(z^3)-(sin(z)*pixel)) z=fn3(sin(((z*z*z-2)/pixel)))+p2 bailout: |z|<@bailout default: title="f284" center=(-2.5,0.001) magn=2.5 param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=1.0 endparam param p2 default=0.0 endparam param bailout caption="Bailout" default=4.0 endparam } f285 { init: z=@start loop: z=p1*fn1((z*z)+(z*pixel)) z=fn2((pixel*3)-(pixel*z*z)-pixel) z=fn3(sin(((z*z*z+2)*pixel)))+p2 bailout: |z|<@bailout default: title="f285" center=(0.001,0.001) magn=2 param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f286 { init: z=@start loop: z=p1*fn1((z^pixel)+pixel*(z-1)-pixel) z=fn2(z*(z*z*(z*z*(2*z*z-3)+1+pixel)-1)) z=fn3(sin(((z*z*z+2)*pixel)))+p2 bailout: |z|<@bailout default: title="f286" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(0.3,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f287 { init: z=@start loop: z=p1*fn1((z*z^pixel)+pixel*(z+1)+pixel) z=fn2(z*(z*z*(z*z-3)+pixel)) z=fn3(((z*z*z +2)*pixel))+p2 bailout: |z|<@bailout default: title="f287" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(0.2,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f288 { init: z=@start loop: z=p1*fn1(z*z*#pixel+z*pixel+z) z=fn2(z*z*z*z*z*z+pixel) z=fn3(((z*z*z+2)*pixel))+p2 bailout: |z|<@bailout default: title="f288" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(0.3,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f289 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(((z*(z+1)*(Z+2))+(pixel*(pixel+1)*(pixel+2)))) z=fn2((z*z)^(z+pixel)) bailout: |z|<@bailout default: title="f289" center=(0.001,0.001) magn=2 param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=log() endfunc func fn3 default=ident() endfunc param p1 default=(0.2,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f290 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((((2*z+pixel)*z^2)+pixel)/(((3*z+pixel)*z)-1)) z=fn2(z*z+pixel) bailout: |z|<@bailout default: title="f290" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f291 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(((z*z)/pixel)+z-pixel) z=fn2(z*z+pixel) bailout: |z|<@bailout default: title="f291" center=(0.001,0.001) magn=1.3019708 param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(-0.6,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f292 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(((z*z)/pixel)+z-pixel) z=fn2(z*z*z*pixel*pixel) bailout: |z|<@bailout default: title="f292" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f293 { init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(((z*z)/pixel)+z-pixel) z=fn2(z-((z^pixel-pixel)/(pixel*z))) bailout: |z|<@bailout default: title="f293" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=log() endfunc func fn2 default=cos() endfunc func fn3 default=cosh() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f294 { init: z=@start loop: z=p1*fn3(z) z=fn1(((z^z)*pixel)+z-pixel) z=fn2(z-((z/pixel-pixel)/(pixel^z)))+p2 bailout: |z|<@bailout default: title="f294" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param bailout caption="Bailout" default=4.0 endparam } f295{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(((z^z)*pixel)+z-pixel) z=fn2(z-(((z^pixel+z)/(1/pixel))*(z^pixel+z))-(z^pixel+z)) bailout: |z|<@bailout default: title="f295" center=(0.001,0.001) magn=2 param start caption="Start Value" default=(0,0) endparam func fn1 default=conj() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 caption="Parameter 1" default=1.0 endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f297{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((z*z*z)*(pixel*pixel)) z=fn2((z*z*z*z+1)*(pixel*pixel*pixel+1)) if real(z)<0 z=(z*z+1)^(pixel*pixel+1) endif bailout: |z|<@bailout default: title="f297" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=sqrt() endfunc func fn2 default=sqrt() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f298{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1(z+(z*z)+(z*z*z)+pixel) z=fn2(pixel+(pixel*pixel)+(pixel*pixel*pixel)+z) bailout: |z|<@bailout default: title="f298" center=(0.001,0.001) angle=270 param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(0.7,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f299{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((1.23/(z*z))+pixel) z=fn2((1.183/(z*z*z))+pixel) bailout: |z|<@bailout default: title="f299" center=(0.001,0.001) param Start caption="Start Value" default=(-0.5,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f300{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((1/(z*z*z))+(1/(z*z))+pixel) z=fn2((1/(z*z*z*z))+(1/(z*z*z))+pixel) bailout: |z|<@bailout default: title="f300" center=(0.001,0.001) param start caption="Start Value" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f302{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((1/(z*z))+pixel) z=fn2(z*z+pixel) bailout: |z|<@bailout default: title="f302" center=(0.001,0.001) param start caption="Start Value" default=(1,0) endparam func fn1 default=atanh() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f303{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((1/(z*z*z))+pixel) z=fn2((z*z*z)+pixel) bailout: |z|<@bailout default: title="f303" center=(0.001,0.001) angle=90 param start caption="Start Value" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=cotanh() endfunc param p1 default=(2,0) endparam param p2 default=(0,0) endparam param bailout caption="bailout" default=4.0 endparam } f304{ init: z=@start loop: z=p1*fn3(z)+p2 z=fn1((1/(z*z*z))+(1/pixel)) z=fn2((z*z*z*z)+(pixel*pixel)) bailout: |z|<@bailout default: title="f304" center=(0.001,0.001) param start caption="Start Value" default=(1,0) endparam func fn1 default=cotan() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f305{ init: z=@start loop: z=fn1((pixel/(z*z*z))+pixel) z=fn2((pixel/(z*z*z*z))+pixel) z=p1*fn3(z)+p2 bailout: |z|<@bail default: title = "f305" center=(0.001,0.001) param start caption="Start Value" default=1.0 endparam func fn1 default=sqr() endfunc func fn2 default=sqr() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f306{ init: z=@start loop: z=fn1(1/((pixel/(z*z*z))+pixel))+@seed z=fn2(1/((pixel/(z*z*z*z))+pixel))+@seed bailout: |z|<@bailout default: title="f306" center=(0.001,0.001) angle=90 param start caption="Start Value" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=cotanh() endfunc param seed caption="Parameter" default=(0.7,0) endparam param bailout default=4.0 endparam } f307{ init: z=@start loop: z=fn1((z*z)+pixel) z=fn2((z*z*z)^(-pixel)) z=p1*fn3(z)+p2 bailout: |z|<@bail default: title = "f307" center=(0.001,0.001) magn=4 param start caption="Start Value" default=1.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f308{ init: z=@start loop: z=fn1(z*(z^pixel)) z=fn2((z*z)/(z^pixel)) z=p1*fn3(z)+p2 bailout: |z|<@bail default: title = "f308" center=(0.001,0.001) magn=0.8 param start caption="Start Value" default=1.0 endparam func fn1 default=cotanh() endfunc func fn2 default=sin() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f309{ init: z=@start loop: z=fn1(z*z+pixel) z=fn2((z*z*z)^pixel+(z*z)^(pixel*pixel)) z=p1*fn3(z)+p2 bailout: |z|<@bail default: title="f309" center=(0.001,0.001) param start caption="Start Value" default=1.0 endparam func fn1 default=cos() endfunc func fn2 default=sin() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f310{ init: z=@start loop: z=fn1(z*z) z=fn2(z*z*z*pixel+z*z*pixel*pixel) z=p1*fn3(z)+p2 bailout: |z|<@bail default: title="f310" center=(-0.25,0.001) param start caption="Start Value" default=1.0 endparam func fn1 default=cos() endfunc func fn2 default=asinh() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f311 { init: z=@start loop: z=fn1(z*z+pixel) z=fn2((z*z*z+pixel)*(pixel-1)) z=fn3((z+pixel)*(z-pixel)) z=fn4((z*pixel)*(z-1)) z=@fn5((z*z-pixel)*(pixel*pixel+1)) bailout: |z|<@bail default: title = "f311" center=(0.001,0.001) magn=1.5 angle=270 param start caption="Start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f314 { init: z=@start loop: z=@fn(((z*z+pixel)*(z*z*z+pixel))+((z*z*z*z+pixel)/(z*z*z*z-pixel)))^@pow z=p1*fn2(z)+p2 bailout: |z|<@bail default: title = "f314" center=(-1,0.001) magn=2 maxiter=500 param start caption="Start Value" default=1.0 endparam func fn caption="Function 1" default=cos() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param pow caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f315 { init: z=@start loop: z = @fn(((z*z+pixel)/(z*z*z+pixel*pixel))+(((z^4)+(pixel^3))*((z^4)-(pixel^4))))^@pow bailout: |z|<@bail default: title = "f315" center=(-1,0.001) magn=6.0 angle=0 maxiter=500 param start caption="Start Value" default=0.0 endparam func fn caption="Function" default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f317 { init: z=@start loop: z = @fn(((z/(z+1))*(z/(z-1)))+pixel)^@pow z = @fn((z*(z*0.95)*(z*1.05))+pixel)^@pow bailout: |z|<@bail default: title ="f317" center=(0.001,0.001) angle=270 func fn caption="Function" default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param start caption="Start Value" default=0.0 endparam param bail default=4.0 endparam } f318 { init: z=@start loop: z=@fn(((z/(z+1))*(z/(z-1)))+pixel)^@power z=@fn((z*(z*0.95)*(z*1.05))+pixel)^@power z=@fn((z*(z-1)*(z+1)*(z+2))+pixel)^@power z=p1*fn2(z)+p2 bailout: |z|<@bail default: title="f318" center=(0.001,0.001) param start caption="Start Value" default=0.0 endparam func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param power caption="exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f319 { init: z=@start loop: z=@fn1((z^3)+(pixel^5))^@pow z=@fn2((z^5)+(pixel^8))^@pow z=@fn3((z^8)+(pixel^13))^@pow bailout: |z|<@bail default: title="f319" center=(0.001,0.001) param start caption="start Value" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=0.25 endparam param bail caption="Bailout" default=4.0 endparam } f322 { init: z=@start loop: z=p1*fn1(sqr(z)) z=fn2(z*z+sin(z)+pixel) z=fn3(z*z*z+(pixel/2))+p2 bailout: |z|<@bailout default: title="f322" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f324 { init: z=@Fs(pixel) loop: z=fn1(fn2(fn3(((1/(z^2))/(3+z)+z*z*z)+@var))) bailout: |z|<@bail default: title="f324" center=(0.001,0.001) periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn1 default=sqrt() endfunc func fn2 default=abs() endfunc func fn3 default=cos() endfunc param var caption="Parameter" default=(-0.20238,0.14286) endparam param bail caption="Bailout" default=2.0 endparam } f326{ init: z=@Fs(pixel) loop: z=fn1(fn2(cos(((z^9)*pixel*@seed)))) bailout: |z|<@bail default: title="f326" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param seed caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f327{ init: z=@Fs(pixel) loop: z=fn1(fn2(cotanh((p1*(z^2)/(z^3)/(z^4)/pixel^@pow+p2)))) bailout: |z|<@bail default: title="f327" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=0.0 endparam param pow caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f329{ init: z=c=@Fs(pixel) loop: z=p1*fn1((z^3+z+c)/(z^2-z-c)) z=fn2(((z^2)*((1+z)^2))/(z+c))+p2 bailout: |z|<@bailout default: title="f329" center=(0.001,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=tan() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f330{ init: z=c=pixel loop: z=p1*fn1(z^3-3*pixel^2*z+c) z=fn2(3*(z-pixel)*(z+pixel)) z=fn3(c*exp(-z)+(z^2))+p2 bailout: |z|<@bailout default: title="f330" center=(0.001,0.001) magn=2.4 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f331{ init: z=@Fs(pixel)*@start c=@start loop: z=fn1(z^2*c*pixel)^@pow z=fn2((z/pixel)+c)^@pow bailout: |z|<@bail default: title="f331" center=(0.001,0.001) angle=90 func Fs caption="Start Function" default=ident() endfunc param start caption="Start Value" default=1.0 endparam func fn1 default=ident() endfunc func fn2 default=cotan() endfunc param pow caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f332{ init: z=@start loop: z=fn1(fn2(fn3(p1*(z^2)+real(z^3)+imag(z^4)+pixel))) bailout: |z|<@bail default: title="f332" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f333{ init: z=@start loop: z=fn1(fn2(fn3(p1*(z^2)+real(z^3*(z+1))+imag((z^4)/(z-1))+pixel))) bailout: |z|<@bail default: title="f333" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f334{ init: z=@start loop: z=fn1(fn2(fn3((p1*(z*pixel)^2)+real(z^3*((z+1)^pixel))+imag((z^4)/(z-1))+pixel))) bailout: |z|<@bail default: title="f334" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f335{ init: z=@start loop: z=fn1(fn2(fn3(p1*(z^3)+real(z^4)+imag(z^5)+pixel))) z=fn1(fn2(fn3(p2*(z/3)+real(z/4)+imag(z/5)+pixel))) bailout: |z|<@bail default: title="f335" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f336{ init: z=@start loop: z=fn1(fn2(fn3(((p1*(z^2)*real(z^3)*imag(z^4)+pixel)*p2)))) bailout: |z|<@bail default: title="f336" center=(0.001,0.001) param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f345{ init: z=pixel*@start loop: if |z|<=|(0.5,0.5)| z=fn1(((z^z)+pixel)*@mult) endif if |z|>|(0.5,0.5)| z=fn2(((z^z)-pixel)*@mult) endif bailout: |z|<=@bail default: title="f345" center=(0.3,0.001) magn=3.3 angle=270 param start caption="Start Value" default=1.0 endparam func fn1 default=tan() endfunc func fn2 default=recip() endfunc param mult caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f346{ init: z=@Fs(pixel) loop: if |z|<=|(1,1)| z=fn1(((1/(z^3))^5)+@seed) endif if |z|>|(1,1)| z=fn2((z^2)*(z^3)*(z^4)+@seed) endif bailout: |z|<@bail default: title="f346" center=(0.001,0.001) func Fs caption="Start Function" default=cotanh() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param seed caption="Parameter" default=(-0.5,-1) endparam param bail caption="Bailout" default=4 endparam } f347 { init: z=@Fs(pixel) loop: if |z|<=2 z=fn1((z^2)+pixel)+@var endif if |z|>2 z=fn2((z^3)+pixel)+@var endif if |z|>0 z=fn3((z^4)+pixel)+@var endif bailout: |z|<=@bail default: title="f347" center=(-0.5,0.001) magn=1.5 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4 endparam } f350{ init: z=@start loop: if |z|<1 z=fn1(imag(z^2)+pixel)+@var else z=fn2(real(z^3)-(pixel*pixel))+@var endif bailout: |z|<=@bail default: title="f350" center=(0.001,0.001) maxiter=250 param start caption="Start Value" default=0 endparam func fn1 default=sqr() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f352{ init: z=pixel loop: if |z|<1 z=fn1(sqrt(real(z)*imag(z))*@seed) else z=fn2(z*#pixel*(real(z)/imag(z))*@seed) endif bailout:|z|<=@bail default: title="f352" center=(0.001,0.001) angle=90 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param seed caption="Parameter" default=(0.86,-1.26) endparam param bail caption="Bailout" default=4.0 endparam } f353{ init: z=pixel if |z|>1 c=1 else c=-1 endif loop: if |z|>1 z=fn1((sin(z)^2)+c)+@seed else z=fn2((cos(z/c)^3)+c)+@seed endif bailout:|z|<=@bail default: title="f353" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param seed caption="Parameter" default=(-0.69,0.38) endparam param bail caption="Bailout" default=4.0 endparam } f354{ init: z=pixel if |z|<1 c=1 else c=-1 endif loop: if |z|>1 z=fn1((log(z)^3)+c)+@var else z=fn2((exp(z/c)^2)+c)+@var endif bailout: |z|<=@bail default: title="f354" center=(0.001,0.001) magn=1.5 angle=90 maxiter=250 func fn1 default=exp() endfunc func fn2 default=atanh() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f355{ init: z=pixel if |z|<1 c=1+sin(z) else c=-1+cos(z) endif loop: if |z|>2 z=fn1(p1*imag(z^2+1))+@var else z=fn2(p2*real((z/c)^2)+c)+@var endif bailout: |z|<=@bail default: title="f355" center=(0.001,0.001) angle=90 maxiter=250 periodicity=0 func fn1 default=atanh() endfunc func fn2 default=atanh() endfunc param p1 default=2.0 endparam param p2 default=-1.0 endparam param var caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f356{ init: z=pixel if |z|real(z) z=1/fn1(z+z^2/2+z^3/3+z^4/4 +c)+@var1 else z=1/fn2(z^2+#pixel)+@var2 endif bailout: |z|<@bailout default: title="f392" center=(0.001,0.001) angle=90 param var1 caption="Parameter 1" default=(0,0) endparam param var2 caption="Parameter 2" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } f393{ init: z=pixel loop: z=(1/(@fn(z^(-2)+pixel+@var)))^(-z) bailout: |z|<@bailout default: title="f393" center=(0.001,0.001) func fn caption="Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=10.0 endparam } f394 { init: z=@Fs(pixel) loop: z=@fn(log(z^2)+@seed) bailout: |z|<@bailout default: title="f394" center=(0.001,0.001) magn=.4 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param seed caption="Parameter" default=(-0.09524,0.22619) endparam param bailout caption="Bailout" default=10.0 endparam } f395 { init: z=@Fs(log(pixel)) loop: z=log(@fn(log(z^2)+@var)) bailout: |z|<@bailout default: title="f395" center=(2.42187500015,0) magn=0.60472441 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=cos() endfunc param var caption="Parameter" default=(0.47619,-0.03571) endparam param bailout default=10.0 endparam } f396{ init: z=@Fs(pixel) loop: z=@fn(recip(z^2)+@seed) bailout: |z|<@bail default: title="f396" maxiter=250 magn=.4 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=abs() endfunc param seed caption="Parameter" default=(-0.75,-0.30952) endparam param bail caption="Bailout" default=10.0 endparam } f397{ init: z=@Fs(pixel) loop: z=@fn(log(recip(z^2.5)+@var)) z=p2*fn2(z) bailout: |z|<@bailout default: title="f397" center=(0.001,0.001) maxiter=250 magn=.4 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param var caption="Parameter" default=0.0 endparam param p2 default=1.0 endparam param bailout caption="Bailout" default=10.0 endparam } f400{ init: z=@Fs(pixel) loop: z=@fn(z^z/(pixel^pixel)^@var) bailout: |z|<@bailout default: title="f400" center=(0.001,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=asinh() endfunc param var caption="Parameter" default=(1,0) endparam param bailout caption="Bailout" default=10.0 endparam } f403{ init: z=(real(pixel^1.3)+(e*pixel)) x=sqr(imag(pixel^3)) y=sin(pixel*3.98976)^(pixel/e) w=exp(z^2*pixel-pixel) loop: z=p1*fn1(z)+p2 z=@fn((z^2.87656*pixel)*cos((w+x*y)+(z*y)))^@var bailout: |z|<@bailout default: title="f403" center=(0.001,0.001) angle=270 maxiter=250 magn=2.5 func fn1 default=cosh() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param var caption="Exponent" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f404{ init: z=(real(pixel^3)+(2*pixel)) x=sqr(imag(z^3)) y=sin(pixel*3)^(z^z) w=exp(z^2*pixel-z) loop: z=p1*fn1(z)+p2 z=@fn((z^2*pixel)*exp((w+x^y)+(z*y)))^@var bailout: |z|<@bailout default: title="f404" center=(-0.1,0.001) angle=270 maxiter=250 magn=2.6 periodicity=0 func fn1 default=ident() endfunc func fn caption="Function 2" default=sqrt() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param var caption="Exponent" default=(0.8,0) endparam param bailout caption="Bailout" default=17.0 endparam } f406{ init: z=imag(pixel) x=imag(pixel)-real(z) y=imag(z)*real(pixel^x) loop: z=p1*fn1(z)+p2 z=@fn((z^2)+(x*y^2)+pixel)^@var bailout: |z|<@bailout default: title="f406" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param var caption="Exponent" default=(1,0) endparam param bailout caption="Bailout" default=14.0 endparam } f407{ init: z=imag(pixel) x=imag(pixel+1) y=imag(pixel-1) loop: z=p1*fn1(z)+p2 z=@fn((z^3)+(x+y^2)+pixel)^@var bailout: |z|<@bailout default: title="f407" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn caption="Function 2" default=flip() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param var caption="Exponent" default=(1,0) endparam param bailout caption="Bailout" default=14.0 endparam } f408 { init: z=imag(0.33*pixel) loop: z=@fn(cosh(0.67*z^3*(cosh(z))/pixel^@var)) bailout: |z|<@bail default: title="f408" center=(0.001,0.001) maxiter=250 func fn caption="Function" default=ident() endfunc param var caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=10.0 endparam } f409{ init: z=0.67*imag(pixel) x=0.33*imag(pixel) y=imag(pixel) loop: z=@fn((z^3)+flip(x+y)+pixel*@seed) bailout: |z|<@bail default: title="f409" center=(0.001,0.001) maxiter=250 magn=1.5 func fn caption="Function" default=flip() endfunc param seed caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f410{ init: z=0.67*imag(pixel) x=0.33*imag(pixel) y=imag(pixel) loop: z=@fn(flip(z^3)+(x*y)+pixel*@var) z=fn2(z)+p2 bailout: |z|<@bail default: title="f410" center=(0.001,0.001) maxiter=250 magn=1.5 func fn caption="Function 1" default=sqr() endfunc func fn2 default=ident() endfunc param var caption="Parameter 1" default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f411{ init: z=0.67*flip(pixel) x=0.33*flip(pixel) y=flip(pixel) loop: z=@fn(flip(z^3)+(x*y)+pixel*@var) z=fn2(z)+p2 bailout: |z|<@bail default: title="f411" center=(0.001,0.001) maxiter=250 func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter 1" default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f412{ init: z=0.67*imag(pixel) x=0.33*flip(pixel) y=conj(pixel) loop: z=@fn(flip(z^4)+imag(x*y)+pixel*@var) z=fn2(z)+p2 bailout: |z|<@bail default: title="f412" center=(-1.5,0.001) maxiter=250 magn=0.8 func fn caption="Function 1" default=sqr() endfunc func fn2 default=ident() endfunc param var caption="Parameter 1" default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f413{ init: z=flip(imag(pixel)) x=conj(flip(pixel))+flip(pixel) y=conj(pixel)*imag(pixel) loop: z=@fn(flip(z^4)+conj(imag(x*y))+pixel*@var) bailout: |z|<@bailout default: title="f413" center=(0.001,0.001) maxiter=250 func fn caption="Function" default=ident() endfunc param var caption="Parameter" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f414{ init: z=@Fs(pixel) loop: z=@fn(imag(flip(z^2)+flip(z^2.5)+flip(z^3)+flip(z^3.5)+flip(z^4))+real((z^2)+(z^2.5)+(z^3)+(z^3.5)+(z^4))+(z^2)+(z^2.5)+(z^3)+(z^3.5)+(z^4)+pixel+@var) bailout: |z|<@bailout default: title="f414" center=(-0.5,0.001) maxiter=250 magn=1.8640777 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f415{ init: z=@Fs(pixel) loop: if sqr(imag(z))>real(z) z=fn1(imag(flip(z^2)+flip(z^2.5)+flip(z^3)+flip(z^3.5)+flip(z^4))+real((z^2)+(z^2.5)+(z^3)+(z^3.5)+(z^4))+(z^2)+(z^2.5)+(z^3)+(z^3.5)+(z^4)+pixel+@var) else z=fn2(imag(flip(z^3)+flip(z^3.5)+flip(z^4)+flip(z^4.5)+flip(z^5))+real((z^3)+(z^3.5)+(z^4)+(z^4.5)+(z^5))+(z^3)+(z^3.5)+(z^4)+(z^4.5)+(z^5)+pixel+@var) endif bailout: |z|<@bailout default: title="f415" center=(0.001,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=30.0 endparam } f416{ init: z=@Fs(pixel) loop: if sqr(imag(z))>real(z) z=fn1(imag(flip(z))^2+(z^3)+pixel+@var) else z=fn2(imag(flip(z))^4+(z^4)+pixel+@var) endif bailout: |z|<@bailout default: title="f416" center=(0.001,0.001) angle=270 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=atan() endfunc func fn2 default=sinh() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f417{ init: z=@Fs(pixel) loop: if sqr(imag(z))>real(z) z=fn1(imag(flip(z^pixel))^2+(z^3)+pixel+@var) else z=fn2(imag(flip(z^pixel))^4+(z^4)+pixel+@var) endif bailout: |z|<@bailout default: title="f417" center=(0.001,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f418{ init: z=@Fs(pixel) loop: if sqr(imag(z))>real(z) z=fn1(imag(flip(z/#pixel))^2*(z^3)+pixel+@var) else z=fn2(imag(flip(z/#pixel))^4*(z^4)+pixel+@var) endif bailout: |z|<@bailout default: title="f418" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn1 default=conj() endfunc func fn2 default=asin() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=30.0 endparam } f419{ init: z=@Fs(pixel) loop: if sqr(imag(z))>real(z) z=fn1(imag(flip(z/pixel))^z*(z^3)+pixel+@var) else z=fn2(imag(flip(z/pixel))^(z^2)*(z^4)+pixel+@var) endif bailout: |z|<@bailout default: title="f419" center=(0.001,0.001) angle=90 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=10.0 endparam } f420{ init: z=@Fs(pixel) loop: if sqr(imag(z))|pixel| z=fn2(z^pi+pixel+@var1) else z=fn3(z^e+pixel+@var2) endif bailout: |z|<@bail default: title = "f441" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param var1 caption="Parameter 1" default=(0,0) endparam param var2 caption="Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f442{ init: z=fn1(pixel) loop: if |z|>|pixel| z=fn2(z^@power1+pixel+@var1) else z=fn3(z^@power2+pixel+@var2) endif bailout: |z|<@bail default: title="f442" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param var1 caption="Parameter 1" default=(0,0) endparam param var2 caption="Parameter 2" default=(0,0) endparam param power1 caption="Exponent 1" default=(2,0) endparam param power2 caption="Exponent 2" default=(3,0) endparam param bail caption="Bailout" default=4.0 endparam } f443{ init: z=fn1(pixel) loop: z=fn2(z^2+z)+pixel+@var bailout: |z|<@bail default: title="f443" center=(0.001,0.01) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f444{ init: z=fn1(pixel) loop: z=fn2((z^3)+(z^2)+z)+pixel+@var bailout: |z|<@bail default: title="f444" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f445{ init: z=p1*#random loop: z=fn2(z^@power)+pixel bailout: |z|<@bail default: title="f445" center=(0.001,0.001) periodicity=0 param p1 caption="Start Value" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f446{ init: z=fn1(pixel) loop: z=fn2(z^(real(p1*#random)+2))+pixel+@var bailout: |z|<@bail default: title="f446" center=(0.001,0.001) func fn1 default=tanh() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param p1 caption="Fuzz" default=0.01 endparam param bail caption="Bailout" default=4.0 endparam } f448{ init: z=fn1(pixel) loop: z=fn2(z^@power)+(abs(random(1234))/#randomrange)+pixel+@var bailout: |z|<@bail default: title="f448" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f449{ init: z=fn1(pixel) loop: z=fn2(z^@power)^(abs(random(1234))/#randomrange)+pixel+@var bailout: |z|<@bail default: title="f449" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f450{ init: z=fn1(abs(random(1234))/#randomrange/pixel) loop: z=fn2(z+(abs(random(1234))/#randomrange)^@power)+pixel+@var bailout: |z|<@bail default: title="f450" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=sqr() endfunc param var caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f451{ init: z=fn1(abs(random(1234))/#randomrange/pixel) loop: z=fn2((abs(random(1234))/#randomrange)/z^@power)+pixel+@var bailout: |z|<@bail default: title="f451" center=(0.001,0.001) func fn1 default=sqrt() endfunc func fn2 default=ident() endfunc param var caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f452{ init: z=fn1(pixel^pixel) loop: if |z|>|pixel| z=fn2(z^(z-pixel))-pixel-@var1 else z=fn3(z^(z+pixel))+pixel+@var2 endif bailout: |z|<@bail default: title="f452" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param var1 caption="Parameter 1" default=(1,0) endparam param var2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f453{ init: z=fn1(sqr(imag(pixel^pi))) loop: if |z|>|pixel| z=fn2(z^(z/pixel))-pixel-@var1 else z=fn3(z^(z*pixel))+pixel+@var2 endif bailout: |z|<@bail default: title="f453" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param var1 caption="Parameter 1" default=(0,0) endparam param var2 caption="Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f454{ init: if |z|>|cos(pixel)| z=fn1(sqr(pixel^pi)) else z=fn1(pixel^pi) endif loop: if |z|>|pixel| z=fn2(z^(-@power))-pixel-@var1 else z=fn3(z^@power)+pixel+@var2 endif bailout: |z|<@bail default: title="f454" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param var1 caption="Parameter 1" default=(0,0) endparam param var2 caption="Parameter 2" default=(0,0) endparam param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f455{ init: if |z|>0 z=fn1(sqr(pixel*pi)) else z=fn1(pixel^e) endif loop: if |z|>|pixel| z=fn2(z^(-@power))-((abs(random(1234))/#randomrange)*pixel)-@var1 else z=fn3(real(z)^@power+(imag(z)^@power))+pixel+@var2 endif bailout: |z|<@bail default: title="f455" center=(-0.3,0) magn=2 func fn1 default=atanh() endfunc func fn2 default=cotan() endfunc func fn3 default=exp() endfunc param var1 caption="Parameter 1" default=(0,0) endparam param var2 caption="Parameter 2" default=(0,0) endparam param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f456{ init: z=pixel a=cabs(pixel) b=conj(pixel) c=log(pixel) loop: z=@fn(flip(z^9))+a+b+c+(8*pixel)^@var z=fn2(z) bailout: |z|<@bail default: title="f456" center=(0.18,0) magn=16 angle=270 func fn caption="Function" default=ident() endfunc func fn2 default=ident() endfunc param var caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f457{ init: z=@Fs(pixel) loop: z=@fn(z^4+(z^2)+(z*(1-sqrt(-1)))+sqrt(-1)+@var) bailout: |z|<@bail default: title="f457" center=(0.0859375,-0.86328125) magn=4.2666667 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=flip() endfunc param var caption="Parameter" default=(0.19048,-0.19048) endparam param bail caption="Bailout" default=4.0 endparam } f458{ init: z=@Fs(sqrt(-6*pixel)+(pixel^5)) loop: z=1/fn1(sqrt(-8)*@fn2(z^2)+(sqrt(-3)*pixel^3)*@var) z=fn3(z)+p2 bailout: |z|<@bail default: title="f458" center=(0.001,0.001) func Fs caption="Start Function" default=cotan() endfunc func fn1 default=asin() endfunc func fn2 default=sin() endfunc func fn3 default=ident() endfunc param var caption="Parameter" default=(0.2,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f460{ init: z=@Fs(pixel) loop: z=@fn(z^5*2/(z^2*5))+@var bailout: |z|<@bail default: title="f460" center=(0.001,0.001) magn=0.7 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param var caption="Parameter" default=(0.57143,-1.04762) endparam param bail caption="Bailout" default=4.0 endparam } f461{ init: z=fn3(pixel)^4 loop: z=fn1(fn2((z^3)+(z*2)))+(pixel^5)+@var z=p2*fn4(z)+p3 bailout: |z|<@bail default: title="f461" center=(0.001,0.001) magn=2 periodicity=0 func fn3 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=cos() endfunc func fn4 caption="Function 4" default=ident() endfunc param var caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f462{ init: z=imag(pixel) loop: z=@fn(cosh(z^2*sin(z)/pixel+@var)) z=fn2(z)^p2 bailout: |z|<@bail default: title="f462" center=(0.01,0.12) maxiter=250 magn=6 func fn caption="Function 1" default=ident() endfunc func fn2 caption="Function 2" default=ident() endfunc param var caption="Parameter 1" default=(0,1.8) endparam param p2 caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f464{ init: z=-fn1(recip(-pixel)) loop: z=-fn2(recip(-z^(-@power)))-(-pixel^(-@power))-@seed bailout: |z|<@bail default: title="f464" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Parameter" default=0.0 endparam param power caption="Exponent" default=3.0 endparam param bail caption="Bailout" default=4.0 endparam } f465{ init: z=fn1(sqr(atanh(pixel))) loop: z=fn2(sqr(cos(tan(z^@power)+(z^@power))))+@seed bailout: |z|<@bail default: title="f465" center=(0.001,0.001) magn=0.6 angle=90 periodicity=0 func fn1 caption="Start Function" default=exp() endfunc func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Parameter" default=0.0 endparam param power caption="Exponent" default=3.0 endparam param bail caption="Bailout" default=4.0 endparam } f466{ init: z=fn1(cotan(8*pixel-2)) loop: z=fn2(cos(z^4))+((2*#pixel)^9)+@par bailout: |z|<@bail default: title="f466" center=(0.001,0.001) magn=2.5 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f467{ init: z=fn1(pixel) loop: z=(fn2((1-(z^@power))/(1+(z^@power)))*pixel)+@par bailout: |z|<@bail default: title="f467" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param power default=3.0 endparam param bail caption="Bailout" default=4.0 endparam } f468{ init: z=fn1(pixel) loop: z=fn2(((z^2+pixel)/(z+pixel))^2)+@par bailout: |z|<@bail default: title="f468" center=(0.001,0.001) magn=0.5 func fn1 caption="Start Function" default=sin() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f469{ init: z=fn1(pixel) loop: z=fn2(sin(z))*pixel+@par bailout: |z|<@bailout default: title="f469" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } f470{ init: z=fn1(pixel) loop: z=fn2(sin(z)+log(z))*pixel+@par bailout: |z|<@bailout default: title="f470" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } f471{ init: z=fn1(pixel) loop: z=pixel*fn2(cotan(z/(3-(z^3))))+@par bailout: |z|<@bailout default: title="f471" center=(0.001,0.001) magn=4 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=10.0 endparam } f472{ init: z=fn1(pixel) loop: z=pixel*fn2((z-1)^(z+1))+@par bailout: |z|<@bailout default: title="f472" center=(0.001,0.001) magn=0.5 angle=90 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f474{ init: z=fn1(pixel*0.6) loop: z=fn2((z+1)*z*(z-1))+@seed bailout: |z|<@bail default: title="f474" center=(0.001,0.001) magn=0.8 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Parameter" default=(0,-0.5) endparam param bail caption="Bailout" default=4.0 endparam } f475{ init: z=fn1(pixel) loop: z=fn2(flip((z*#pixel)^2))+pixel+@par bailout: |z|<@bail default: title="f475" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f476{ init: z=fn1(pixel) loop: z=fn2(cosh(z))+pixel+@par bailout: |z|<@bailout default: title="f476" center=(0.001,0.001) magn=0.5 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } f478{ init: z=pixel loop: z=fn1(asin(z))^fn2(acosh(@power))+fn3(@par)+fn4(abs(pixel)) bailout: |z|<@bail default: title="f478" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f479{ init: z=fn1(1/pixel) loop: z=fn2(z^2)+(1/pixel)+@par z=fn3(z^3)+(1/pixel)+@par bailout: |z|<@bail default: title="f479" center=(0.001,0.001) magn=0.5 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f480{ init: z=fn1(1/pixel) loop: z=fn2(z^@power)+(1/pixel)+@par bailout: |z|<@bail default: title="Teardrop" center=(1.3,0.001) magn=0.5 angle=270 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param power caption="Exponent" default=(2,0) endparam param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f481{ init: z=@Fs(pixel) loop: z=@fn(z*(1-z))*pixel+@par z=p2*fn3(z) bailout: |z|<@bail default: title="f481" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f482{ init: z=@Fs(pixel) loop: z=(fn1(z)/fn2(pixel))^@power+@par+pixel bailout: |z|<@bail default: title = "f482" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param power caption="Exponent" default=(2,0) endparam param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f483{ init: z=@Fs(pixel) loop: z=@fn(z^4+4*z^3+4*z^2+z)+@seed z=p2*fn2(z) bailout: |z|<@bail default: title="f483" center=(-1,0.001) magn=1.5 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param seed caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f484{ init: z=@Fs(pixel) loop: z=@fn(z^5+5*z^4+8*z^3+5*z^2+z)+@seed z=p2*fn2(z) bailout: |z|<@bail default: title = "f484" center=(-0.5001,0.0001) magn=1.5 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param seed caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f485{ init: z=fn1(pixel) loop: z=fn2(p1*fn3(recip(z))*fn4(cotanh(z))*cotan(p2*z+p3))+pixel+@par bailout: |z|<@bailout default: title="f485" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Loop Function 3" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param par caption="Parameter 4" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f486{ init: z=fn1(atanh(cos(pixel))) loop: z=p1*fn3(z)+p2 z=(fn2(cos(asinh(cos(z)*cos(z)*atan(z))))+pixel)^@par bailout: |z|<@bailout default: title="f486" center=(0.001,0.001) magn=0.175 angle=270 func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param par caption="Exponent" default=(1,0) endparam param bailout caption="Bailout" default=50.0 endparam } f487{ init: z=fn1(pixel) loop: z=p1*fn3(z)+p2 z=fn2(cotanh(sqrt(conj(log((z^(pixel/2))^2)))))+@par bailout: |z|<@bailout default: title="f487" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn2 default=ident() caption="Loop Function 2" endfunc param p1 default=(1,0) endparam param p2 caption="Parameter 2" default=0.0 endparam param par caption="Parameter 3" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f488{ init: z=fn1(pixel) loop: z=fn2(z*fn3(z)*fn3(fn3(z)))+pixel+@par bailout: |z|<@bailout default: title="f488" center=(0.001,0.001) angle=270 func fn1 default=ident() endfunc func fn2 default=sin() endfunc func fn3 default=atanh() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f489{ init: z=fn1(asinh(cabs(pixel))) loop: z=fn2(atanh(cosh((p1*z/sqrt(-pixel))^2)))+@seed bailout: |z|<@bail default: title="f489" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 default=(1,0) endparam param seed caption="Parameter 2" default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } f490{ init: z=pixel i=sqrt(-1) loop: z=(pixel*@fn(z*i*(1-(z*i)))/(1+i))+@par bailout: |z|<@bail default: title="f490" center=(0,0) angle=90 func fn caption="Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f491{ init: z=fn1(cosh(pixel)) loop: z=(pixel*fn2(z*tan(pi/z)))+@par bailout: |z|<@bail default: title = "f491" center=(0.001,0.001) angle=90 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f492{ init: z=fn1(pixel) loop: z=fn2((pixel*z^3)+(1-pixel*z^2))+@par bailout: |z|<@bail default: title="f492" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f493{ init: z=fn1(pixel) loop: z=fn2((z^2)+imag(z))+pixel+@par bailout: |z|<@bail default: title = "f493" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f494{ init: z=fn1(pixel) loop: z=fn2(cos((z^2)+atan2(z)))+pixel+@par bailout: |z|<@bail default: title = "f494" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f495{ init: z=fn1(pixel) loop: z=fn2(cos(tan(z^@pow)))+pixel z=p1*fn3(z)+p2 bailout: |z|<@bail default: title="f495" center=(-1.301,0.001) magn=0.7 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 caption="Parameter 2" default=0.0 endparam param pow caption="Exponent" default=2.0 endparam param bail caption="Bailout" default=4.0 endparam } f496{ init: z=fn1(pixel) loop: z=fn2(abs(z^@pow))+atan2(pixel)+@par bailout: |z|<@bail default: title="f496" center=(0.2,-0.9) angle=90 magn=1.4222222 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param pow caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f497{ init: z=fn1(tan(cabs(pixel+#randomrange))) loop: z=(fn2(cos(z^@pow+#randomrange+@par))+pixel) bailout: |z|<@bail default: title="f497" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param pow caption="Exponent" default=2.0 endparam param bail caption="Bailout" default=4.0 endparam } f498{ init: z=fn3(pixel) y=fn3(imag(z)) b=fn3(imag(pixel)) loop: y=fn1(cos(y^2))+b+@seed z=fn2(abs(sinh(z^2)))+y+@seed bailout: |z|<@bail default: title="f498" center=(0.001,-0.8) magn=1.15 func fn3 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f499{ init: z=fn1(pixel) loop: z=fn2(asinh(tan(cosh(((z^@seed)*(@seed-1))/(z^(@seed-1)*@seed))))) z=p2*fn3(z)+p3 bailout: |z|<@bail default: title="f499" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param seed caption="Parameter 1" default=(4,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=12.5 endparam } f500{ init: z=fn1(pixel) a=(1.3,0.2) b=(-1.5,0.7) loop: z=(fn2(sqr(((z-a)*(z+b))+((z-a)*(z+b))))+pixel)*@par bailout: |z|<@bail default: title="f500" center=(1.3,-0.2) magn=1.9 angle=270 param par caption="Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f501{ init: z=fn1(pixel) a=z b=real(z) c=sqr(imag(z)) d=b+c loop: z=fn2(cotan(z+(a^2)+(b^3)+(c^4)+(d^5)))+pixel+@par bailout: |z|<@bail default: title="f501" center=(0.001,0.001) param par caption="Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f502{ init: z=fn1(pixel) a=z b=real(z) c=sqr(imag(z)) d=b+c loop: z=p1*fn3(z)+p2 z= fn2(tan(((a-b)/(c-d))*z))+pixel+@par bailout: |z|<@bail default: title="f502" center=(0.001,0.001) angle=90 param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param par caption="Parameter 3" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f503{ init: z=fn1(pixel) a=z b=cos(z) c=sqr(cos(z)) d=b+c loop: z=fn2(cos(((a-b)/(c-d))*z))+pixel+@par bailout: |z|<@bailout default: title="f503" center=(0.001,0.001) angle=90 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=50.0 endparam } f504{ init: z=fn1(pixel) a=z-1 b=flip(z) c=sqr(flip(z)) d=b+c loop: z= fn2(Z^2*a*b*c*d)+pixel+@par bailout: |z|<@bail default: title="f504" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f505{ init: z=fn1(cos(pixel)) a=z+1 b=cotan(z) c=sqr(cotan(z)) d=b+c loop: z= fn2(sqr((z*a)-(z*b)-(c*d)))+pixel+@par bailout: |z|<@bailout default: title="f505" center=(0.001,0.001) magn=2 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=444444.0 endparam } f506{ init: z=fn1(abs(flip(pixel))) loop: z=fn2(exp(asin(sinh(z^2))))+pixel+@par bailout: |z|<@bailout default: title="f506" center=(-0.75,0.001) angle=90 maxiter=1000 func fn1 caption="Start Function" default=log() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f507{ ;various distortions of the mandelbrot set init: if @start==0 z=fn1(real(pixel)+sqr(imag(pixel)))+@par elseif @start==1 z=fn1(real(pixel)-sqr(imag(pixel)))+@par elseif @start==2 z=fn1(real(pixel)/sqr(imag(pixel)))+@par elseif @start==3 z=fn1(sqr(imag(pixel))/real(pixel))+@par elseif @start==4 z=fn1(sqr(real(pixel))+sqr(imag(pixel)))+@par elseif @start==5 z=fn1(sqr(real(pixel))-sqr(imag(pixel)))+@par elseif @start==6 z=fn1(sqr(real(pixel))/sqr(imag(pixel)))+@par elseif @start==7 z=fn1(sqr(imag(pixel))/sqr(real(pixel)))+@par endif loop: if @loop==0 z=fn2(z^2)+(pixel^2)+@par2 elseif @loop==1 z=fn2(z^2)+(pixel^2)+pixel+@par2 elseif @loop==2 z=fn2(z^2)+(pixel^3)+@par2 elseif @loop==3 z=fn2(z^2)+(pixel^3)+(pixel^2)+@par2 elseif @loop==4 z=fn2(z^2)+(pixel^3)+(pixel^2)+pixel+@par2 elseif @loop==5 z=fn2(z^2)+(pixel^4)+@par2 elseif @loop==6 z=fn2(z^2)+(pixel^4)+(pixel^3)+@par2 elseif @loop==7 z=fn2(z^2)+(pixel^4)+(pixel^3)+(pixel^2)+@par2 elseif @loop==8 z=fn2(z^2)+(pixel^4)+(pixel^3)+(pixel^2)+pixel+@par2 endif bailout: |z|<@bail default: title="f507" center=(0.001,0.001) param start caption="Start Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam func fn1 caption="Start Function" default=ident() endfunc param par caption="Start Parameter" default=0.0 endparam param loop caption="Loop Variant" enum="1""2""3""4""5""6""7""8""9" default=0 endparam func fn2 caption="Loop Function" default=ident() endfunc param par2 caption="Loop Parameter" default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } f508{ init: z=pixel c=cotanh(pixel) d=sqr(imag(c))%sqr(real(z)) loop: if @loop==0 z=@fn(sin(z^2))+(c*d)+pixel+@par elseif @loop==1 z=@fn(sin(z^2))+(c^d)+pixel+@par elseif @loop==2 z=(@fn(z^2)+(c*d))*pixel+@par endif bailout: |z|<@bailout default: title="f508" center=(0.001,0.001) param loop caption="Variant" enum="1""2""3" default=0 endparam func fn caption="Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f509{ init: z=pixel c=cotanh(pixel) d=sqr(imag(pixel))%sqr(real(pixel)) loop: if @loop==0 z=@fn(sqrt(sin((z+|z|)^2)))+(c^d)-2+pixel+@par elseif @loop==1 z=@fn(sqrt((z+|z|)^2))+(c*d)-0.6+pixel+@par elseif @loop==2 z=(@fn(cos(log(((z*0.2)*|z*0.2|)^2)))+(cotanh(pixel*0.2)*(sqr(imag(pixel*0.2))%sqr(real(pixel*0.2)))))*(pixel*0.2)+@par endif bailout: |z|<@bailout default: title="f509" center=(0.001,0.001) param loop caption="Variant" enum="1" "2" "3" default=0 endparam func fn caption="Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f510{ init: z=fn1(((pixel*sin(pixel))/cotanh(pixel))*((pixel-1)^2)*(pixel+1))*@par1 c=fn2(cos((cotan(pixel)-1)^pixel)-((pixel/2)/log(pixel))+(pixel^3))*@par2 loop: z=(z^2)+c bailout: |z|<@bail default: title="f510" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f511{ init: z=fn1(((pixel+(pixel^2))/(1-pixel))^((tan(pixel)-cos(pixel))-pixel))*@par1 c=fn2(((cotan(1-(pixel^3)))^pixel)/(sqrt(pixel)+recip(pixel)+atanh(-pixel)-cosh((pixel/2)+(pixel/3))))*@par2 loop: z=(z+1)*(z-1)+c bailout: |z|<@bail default: title="f511" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f512{ init: t=pixel v=real(pixel) b=imag(pixel) w=pixel^2 u=cos(pixel) a=tan(pixel) z=fn1(sqrt(((a^(-b))+sin(t))*(((1-u)/(v-1))+cotanh(w)))+((a*t*u/b)^sqr(w)))*@par1 c=fn2((3/(1-(w^(3/v))))-cos(cotan(u*t)*(b^a)))*@par2 loop: z=(z+1)*(z-1)+c bailout: |z|<@bail default: title="f512" center=(-1.6,0.9) magn=3.1 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f513{ init: a=abs(pixel) v=cotanh(pixel) b=acosh(pixel) w=1/pixel u=pixel t=cabs(pixel) c=fn1(cotan(sqrt(((a^(-b))+sin(t))* (((1-u)/(v-1))+cotanh(w)))+((a*t*u/b)^sqr(w))))*@par1 z=fn2(cos((3/(1-(w^(3/v))))-cos(cotan(u*t)*(b^a))))*@par2 loop: z=((sqrt(z*(z+1))))^2+c bailout: |z|<@bail default: title="f513" center=(1.36,1.47) magn=4.7 angle=46.76 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f514{ init: a=flip(pixel) v=cosh(pixel) b=sinh(pixel) w=log(pixel) u=pixel t=conj(pixel) z=fn1(log(((t^(a-b))+sin(b))*(((1-u)/(v-t))+cotan(w))))*@par1 c=fn2(atan((4/(1-(v^(3/w))))-cosh(atan(a*t)*(b^u))))*@par2 loop: z=((sqrt(z*(z+1))))^2+c bailout: |z|<@bail default: title="f514" center=(2.75,0) magn=4.3 angle=90 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f515{ init: a=sin(pixel) v=acosh(pixel) b=asinh(pixel) w=log(pixel) u=pixel t=exp(pixel) z=fn1(log(cosh(log((((1-u)/(w-t))+cotan(v))))))*@par1 c=fn2(atan(cotan(atan(-cosh(atan(a*u)*(b^7))))))*@par2 loop: z=(z*(z+1)*(z+2))^2+c bailout: |z|<@bail default: title="f515" center=(1.36,0) magn=0.87 angle=270 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f517{ init: z=@Fs(#randomrange) loop: z=(fn1(sin(z^2))+pixel)*@par1 bailout: |z|<@bail default: title="f517" center=(0.001,0.001) angle=270 func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param par1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } fnewf518{ init: z=#randomrange loop: z=fn1(recip(sin(z^2)*pixel+@par1)) bailout: |z|<@bail default: title="f518" center=(0.001,0.001) angle=270 func fn1 caption="Function" default=cotanh() endfunc param par1 caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f519{ init: z=@Fs(#screenmax) loop: z=(fn1(atan(z^2))+pixel-1.4)*@par1 bailout: |z|<@bail default: title="f519" center=(0.001,0.001) func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function" default=conj() endfunc param par1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f520{ init: z=1/(pixel*conj(5/pixel)) loop: z=fn1(sqr(((z^2)/sin(pixel)/cos(1/flip(pixel)))-1/pixel))+@seed z=p2*fn3(z)+p3 bailout: |z|<@bail default: title="f520" center=(0.001,0.001) func fn1 caption="Function 1" default=ident() endfunc func fn3 caption="Function 2" default=ident() endfunc param seed caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f521{ init: c=fn1(log(0.8*pixel^5/sqr(0.33-pixel)+0.4-conj(0.1/pixel))) z=fn2(0.8*pixel^5/pixel^2+0.4-flip(0.1/pixel)) loop: z=fn3(z*z+c)+@seed c=fn4(((1+flip(imag(sqrt(sin(c-0.1/pixel)))))*real(sqrt(tan(c)))/9+(z)))+@seed bailout: |z|<@bail default: title="f521" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f522{ init: z=fn1(acos(exp(1/atanh(pixel-0.5)))) c=fn2(sqr(1+asin(pixel))) loop: z=fn3(z^2+c)+@seed c=fn4(atan((1+flip(imag(sqrt(c))))*real(sqrt(c))/3+z))+@seed bailout: |z|<@bail default: title="f522" center=(-1.5,0) magn=1.5 angle=90 maxiter=500 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f523{ init: z=fn1(pixel) c=fn2(asin(pixel)) loop: z=fn3(z^2+c)+@seed c=fn4(c^2+z)+@seed bailout: |z|<=@bail default: title="f523" center=(0.001,0.001) magn=2 maxiter=250 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param seed caption="Parameter" default=(-0.33333,-0.04762) endparam param bail caption="Bailout" default=4.0 endparam } f524{ init: z=fn1(pixel^#pixel) c=fn2(log(pixel^(#pixel-1))) loop: z=fn3(sinh(z^z+c))+@seed c=fn4(conj(c^c+z))+@seed bailout:|z|<=@bail default: title="f524" center=(-0.75,0) magn=1.25 angle=90 maxiter=250 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param seed caption="Parameter" default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } f525{ init: z=(cos(tanh(cotanh(pixel)))) c=round(sinh(pixel)) loop: z=fn1(asinh(cos((z^3)+(z^2)+z+c)))-0.85+@seed c=fn2(recip(tanh((c^3)+(c^2)+c+z)))-0.85+@seed bailout: |z|<=@bail default: title="f525" center=(0.001,0.001) magn=4 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f526{ init: z=cos(tanh(cotanh(pixel))) c=round(sinh(pixel)) loop: z=fn1(z-((z*z*z*c)-(z*z)-1)/((3*z*z*c)-(3*z*z)-(3*z)))+@par bailout: |z|<=@bail default: title="f526" center=(2.001,0.001) magn=0.7 angle=90 maxiter=250 func fn1 caption="Function" default=conj() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f527{ init: z=fn2(cos(tanh(cotanh(pixel)))) c=fn2(round(sinh(pixel))) loop: z=fn1(atan(z-((z*z*z*c-z)*z-1)/(((3*z*z*c-3)*z*z-3)*z)))+@par bailout: |z|<=@bail default: title="f527" center=(2.001,0.001) magn=1.4 angle=90 maxiter=250 func fn2 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param par caption="parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f528{ init: z=fn2(pixel-sin(pixel)/cos(pixel)+1/pixel*3/pixel-1) c=fn2(3*pixel/cotanh(pixel-1)*2*pixel*atan(pixel)) loop: z=p1*fn1(cos(cotan(z^2*c-z*c-sqrt(c)^2-z)))+p2*c+@par bailout:|z|<=@bail default: title="f528" center=(0.17,0.001) magn=1.7 maxiter=250 func fn2 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param par caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f530{ init: z=fn1(pixel) loop: z=z-fn2(log(z^3))/fn3(sqr(3*z^2))+@par bailout: |z|<=@bail default: title="f530" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f531{ init: z=pixel loop: z=z-(fn1(z^@power)*fn2(cotanh(@power*z^(@power-1)))/fn3(atanh((@power-1)*@power*z^(@power-2))))+@par bailout: |z|<=@bail default: title="f531" center=(0.001,0.001) angle=90 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par caption="Parameter" default=(0.1,0) endparam param power caption="Exponent" default=(3,0) endparam param bail caption="Bailout" default=4.0 endparam } f532{ init: z=fn1(sqr(abs(pixel))) loop: z=z-fn2(exp(exp(acosh(sqr(3*z^2)))))/fn3(sqr(log(z^3)))+@seed bailout:|z|<@bail default: title="f532" center=(0.001,0.001) magn=2 angle=90 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param seed caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f533{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(z-@par*sin(c+tan(3*c))) c=fn4(c-@par*sin(z+tan(3*z))) bailout: |z|<@bailout default: title="f533" center=(-0.25,0.001) magn=0.6 angle=90 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par caption="Parameter" default=0.05 endparam param bailout caption="Bailout" default=4.0 endparam } f535{ init: z=fn1(sqr(pixel)) c=fn2(cotan(pixel^2)) loop: z=fn3(acos(c-1-sqrt(abs((@par1+0.2)*p4*z-4.2-@par2))*sin(p5*z-1))) c=fn4(sin(@par3-p5*z+3.7)) bailout:|z|<@bail default: title="f535" center=(0.001,0.001) magn=1 angle=0 maxiter=250 func fn1 default=sqr() endfunc func fn2 default=ident() endfunc func fn3 default=conj() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=(0.2,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param par3 caption="Parameter 3" default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam param bail caption="Bailout" default=100.0 endparam } f537{ init: z=fn1(pixel) c=fn2(cosh(pixel^2)) loop: z=fn3(acos(1-c+|z|))*@par c=fn4(z)*@par+p2 bailout: |z|<@bail default: title="f537" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par caption="Parameter" default=(0.86429,0.0119) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f538{ init: z=fn1(sin(pixel)) c=fn1(sin(pixel^2)) r=fn1(sin(pixel^3)) loop: z=fn2((-c-r)^2*0.5) c=fn3(atanh((z+@par1^c)^2*0.5)) r=fn4(cotanh(@par2+z*r-@par3*r)) bailout: |z|<@bailout default: title="f538" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=0.6 endparam param par2 caption="Parameter 2" default=-2 endparam param par3 caption="Parameter 3" default=-5.7 endparam param bailout caption="Bailout" default=4.0 endparam } f539{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(asinh(sqr(sqrt(z)-@par1*c))) c=fn4(exp((c-1)+(@par2+2.6)*z)) bailout:|z|<@bailout default: title="f539" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f540{ init: z=fn1(cotanh(pixel)) c=fn2(atan(pixel^2)) loop: z=fn3(sin(c-sin(z)*(sin(z)*cos(@par2)+@par3-z*sin(@par1+@par2+@par3)))) c=fn4(cotanh(@par1-z-cos(c+@par3))) bailout: |z|<@bail default: title="f540" center=(-1.7,0.001) angle=270 maxiter=250 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(-38,0) endparam param par2 caption="Parameter 2" default=(-40,0) endparam param par3 caption="Parameter 3" default=(3,0) endparam param bail caption="Bailout" default=4.0 endparam } f541{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(asinh(exp(c-sin(z)*sin(log(|@par2*z-@par3|))*atan(|@par3*z-@par2|^2)))) c=fn4(atanh(@par1-z)) bailout: |z|<@bail default: title="f541" center=(0.001,0.001) angle=90 periodicity=0 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(-12,0) endparam param par2 caption="Parameter 2" default=(-26,0) endparam param par3 caption="Parameter 3" default=(3,0) endparam param bail caption="Bailout" default=4.0 endparam } f542{ init: z=0 c=pixel loop: z=fn1(exp(z^2))+c c=fn2(c^2/(c+@par1))+z bailout: |z|<@bailout default: title="f542" center=(-1.3,0.001) angle=270 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100000000.0 endparam } f543{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(abs(z+@par1/2*(@par2*pixel+@par2*(z+@par3*@par2*pixel+c+@par3*@par4*pixel)))) c=fn4(sin(conj(c+@par1/2*(@par4*pixel+@par4*(z+@par3*@par2*pixel+c+@par3*@par4*pixel))))) bailout: |z|<=@bail default: title="f543" center=(0.001,0.001) magn=0.7 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(-1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param par4 caption="Parameter 4" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f544{ init: z=@Fs(pixel) y=@Fs(pixel)^2 x=@Fs(pixel)^3 loop: z=fn1(sin(x)) y=fn2(z*sin(@par1*x)-cos(@par2*y)) x=fn3(sin(@par3*y)-z*cos(@par4*x)) bailout: |z|<=@bail default: title="f544" center=(0.001,0.001) periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc func fn3 caption="Loop Function 3" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param par4 caption="Parameter 4" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f545{ init: z=@Fs(pixel) y=@Fs(pixel)^2 x=@Fs(pixel)^3 loop: x=fn1(tan(0.5*(-(@par1+(-0.1,-0.8))*x+(@par1+(-0.1,-0.8))*y)^2)) y=fn2(0.5*(@par2*x-y-z*x)^2) z=fn3(acosh(-0.5*((@par3+(0.714,0.57143))*z+x*y)^2)) bailout:|z|<=@bail default: title = "f545" center=(0.001,0.001) angle=90 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f546{ init: z=fn1(pixel) c=fn1(pixel^2) loop: z=fn2(sqr(flip(c-z^2*sqrt(abs(@par1*z-@par2+0.6))))) c=fn3(tanh(@par3-z)) bailout: |z|<=@bail default: title="f546" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f547{ init: z=#pixel c=@Fs(pixel)^2 a=@Fs(pixel)^3 b=@Fs(pixel)^3 w=a*z+(1-a)*2*z^2/(1+z^2) loop: z=fn1(sinh(b+c+w))*(1,0.3)*@par1 c=fn2(w-z)*(1,-0.2)*@par2 bailout: |z|<=@bailout default: title="f547" center=(0.001,0.001) magn=2 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="parameter 2" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f548{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(c-1-sqrt(abs(@par1*z-1-@par2))*((z-1)/|z-1|)) c=fn4(cotan(@par3-z-1)) bailout: |z|<=@bailout default: title="f548" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=sqr() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=1.0 endparam param par2 caption="Parameter 2" default=0.0 endparam param par3 caption="Parameter 3" default=-0.711813 endparam param bailout caption="Bailout" default=4.0 endparam } f549{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(sqr(z)-sqr(c)+(@par1*z)+(@par2*c)) c=fn4((2*z*c)+(@par3*z)+(@par4*c)) bailout:|z|<=@bail default: title="f549" center=(-0.4,0.001) magn=1.8 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param par4 caption="Parameter 4" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f550{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(z*cos(@par)+(z^2-c)*sin(@par)) c=fn4(z*sin(@par)-(z^2-c)*cos(@par)) bailout:|z|<=@bail default: title="f550" center=(0.001,0.001) magn=0.5 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f551{ init: z=fn1(cotanh(acosh(tan(pixel)))) loop: z=fn2(cotan(sqrt(log(@seed1+(1.26333,0.0119)-z*@seed2*z)))) bailout:|z|<=@bail default: title="f551" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param seed1 caption="Parameter 1" default=(1,0) endparam param seed2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f553{ ;Householder's method: https://en.wikipedia.org/wiki/Householder's_method init: z=fn1(pixel) loop: z=fn2(z+@par1*((1/z^@power)^(@par1-1)*z+@par2)/((1/z^@power)^@par1*z)) bailout: |z|<@bailout default: title="f553" center=(0.001,0.001) periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param power caption="Exponent" default=(3,0) endparam param bailout caption="Bailout" default=4.0 endparam } f556{ init: z=fn1(pixel) c=fn1(pixel^2) loop: z=fn2(tan(c-(|z|/z)*(abs(sin(z)*cos(@par2)+@par3-z*sin(@par1+@par2+@par3))))) c=fn3(@par1-z) bailout:|z|<=@bail default: title="f556" center=(0.001,0.001) maxiter=250 magn=2 periodicity=0 func fn1 caption="Start Function" default=abs() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param par3 caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f557{ init: z=fn1(cos(exp(pixel))) loop: if real(z)>0 z=fn2(sinh(asinh(sqr((abs(sin(z)*cos(@par2)+@par3-z*sin(@par1+@par2+@par3-0.23))))))) else z=fn2(sinh(asinh(log(z^2+@par1-1.23)/(2*z+@par2-2))))^2 endif bailout: |z|<=@bailout default: title="f557" center=(0.55,0.001) angle=90 maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param par3 caption="Parameter 3" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f558{ init: z=fn1(cos(exp(pixel))) loop: Z=fn2(log(((@par1+(0.5,-0.196429))^(@par2+(0.875,-0.017857))-1)* Z^2))+(@par1+(0.5,-0.196429)) bailout: |z|<=@bailout default: title="f558" center=(0.001,0.001) maxiter=250 func fn1 caption="Start Function" default=cotanh() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param bailout caption="Bailout" default=10.0 endparam } f559{ init: z=fn1(tanh(pixel)) y=fn1(tanh(cotanh(pixel))) x=fn1(tanh(cos(exp(pixel)))) loop: z=fn2(log((x*x)+(y*y)))+@par y=fn3((2-z)*x)+@par x=fn4(log((2-z)*y))+@par bailout: |z|<=@bailout default: title="f559" center=(-0.2,0.001) magn=2 angle=90 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Loop Function 3" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout default=30.0 endparam } f560{ init: z=fn1(cotanh(pixel)) y=fn1(cotanh(cotanh(pixel))) x=fn1(cotanh(cos(exp(pixel)))) loop: z=fn2(cotanh((@par1+(0.97857,0.05952))*z+(@par2+(-1.10714,0.9881))*real(x)-(@par3+(1.20238,0.0119))*y)) y=fn3((@par1+(0.97857,0.05952))*y-(@par2+(-1.10714,0.9881))*imag(x)+(@par3+(1.20238,0.0119))*z) bailout: |z|<=@bailout default: title = "f560" center=(0.001,0.001) angle=90 maxiter=250 periodicity=0 func fn1 caption="Start Function" default=abs() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param par3 caption="Parameter 3" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f561{ init: z=((pixel*sin(pixel))/cotanh(pixel))*((pixel-1)^2)*(pixel+1) c=@Fs1(@Fs2(cos((cotan(pixel)-1)^pixel)-((pixel/2)/log(pixel))+(pixel^3))) loop: z=fn1(c*@par1)+@par2*fn2(z*@par1) c=fn3(z*@par3)+@par4*fn4(c*@par3) bailout: |z|<=@bailout default: title="f561" center=(0.001,0.001) angle=90 maxiter=250 periodicity=0 func Fs1 default=ident() endfunc func Fs2 default=ident() endfunc func fn1 default=conj() endfunc func fn2 default=cabs() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param par4 caption="Parameter 4" default=(1,0) endparam param bailout caption="Bailout" default=6666666666.0 endparam } f562{ init: z=fn1(pixel) c=fn1(pixel^2) loop: z=fn2(c) c=fn3(@seed1*z+@seed2*c-c^3) bailout:|z|<=@bail default: title="f562" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param seed1 caption="Parameter 1" default=(1,0) endparam param seed2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f563{ init: z=fn1(pixel) c=fn1(pixel^2) loop: z=fn2(cotan(1+ @par1*(z*cos(@par2)-c*sin(@par2)))) c=fn3(@par1*(z*sin(@par2)+c*cos(@par2))) bailout: |z|<=@bailout default: title="f563" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 caption="Start Function" default=abs() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par1 caption= "Parameter 1" default=(1,1) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f564{ init: z=fn1(atanh(recip(pixel))) y=fn1(atanh(recip(pixel^2))) x=fn1(atanh(recip(pixel^3))) loop: x=fn2(atanh(0.5*(-y-z)^2)) y=fn3(0.5*(x+@par1*y)^2) z=fn4(sinh(log(0.5*(@par2+z*(x-@par3))^2))) bailout: |z|<@bail default: title="f564" center=(2.4,0.001) magn=0.25 angle=270 maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Loop Function 3" default=ident() endfunc param par1 caption= "Parameter 1" default=(1,0) endparam param par2 caption= "Parameter 2" default=(1.75,0) endparam param par3 caption= "Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f565{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=fn3(sin(c-(|z|/z)*cos(sqr(log(abs(@par1*z-@par2-0.75))))*atan(sqr(log(abs((@par2+0.75)*z-@par1)))))) c=fn4(exp(log(@par3-z))) bailout: |z|<=@bail default: title="f565" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption= "Parameter 1" default=(1,0) endparam param par2 caption= "Parameter 2" default=(1,0) endparam param par3 caption= "Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=25.0 endparam } f566{ init: z=fn1(conj(pixel))+@par1 c=fn2(cotanh(pixel))+@par2 loop: z=z+@par3 c=c/fn3(cos(z)) z=z*fn4(c) bailout: |z|<@bail default: title="f566" center=(0.001,0.001) magn=0.5 angle=270 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f567{ init: z=fn1(cos(pixel)) c=fn2(log(abs(0.5*pixel^2))) loop: z=fn3(flip(exp((z-c)/(log(z)-log(c)))))+0.95-1.53*sqrt(-1)+@par bailout: |z|<=@bailout default: title="f567" center=(0.001,0.001) magn=0.4 angle=0 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=500.0 endparam } f568{ init: z=@Fs(pixel) loop: z=((z-fn1(tanh(z))/fn2(cotanh(z))+@par)/3)^3+(z-fn1(tanh(z))/fn2(cotanh(z))+@par)^2+2*(z-fn1(tanh(z))/fn2(cotanh(z))+@par) bailout: |z|<=@bailout default: title="f568" center=(0.001,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=50.0 endparam } f570{ init: z=fn1(pixel) c=fn2(pixel^2) loop: z=z-fn3((z^@power-z)/(@power*z^(@power-1)-1))+c+@par bailout: |z|<@bail default: title="f570" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(4,0) endparam param bail caption="Bailout" default=4.0 endparam } f571{ init: z=fn1(pixel) loop: z=z-fn2((z^@power-z^(@power-2)-1)/(3*z^(@power-1)))+@par bailout: |z|<@bail default: title="f571" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(4,0) endparam param bail caption="Bailout" default=4.0 endparam } f572{ init: z=fn1(pixel) loop: z=fn2((z-(z^@power-1)/(3*z^(@power-1)))^(3*(@power-2))+@par) bailout: |z|<@bailout default: title = "f572" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param power caption="Exponent" default=(3,0) endparam param bailout caption="Bailout" default=4.0 endparam } f573{ init: a=@Fs(pixel) b=0.5*@Fs(pixel)^2 c=(0.5/3)*@Fs(pixel)^3 z= fn1(cos((-b+sqrt(b^2-4*a*c))/(2*a))) loop: z=fn2(sinh(flip(recip(a*z^3+b*3*z^2+c*6*z))))+0.1+@par bailout: |z|<@bail default: title="f573" center=(-0.2,0.001) angle=90 magn=0.5 func Fs default=ident() caption="Start Function" endfunc func fn1 default=ident() endfunc func fn2 default=flip() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f574{ init: z=fn1(abs(pixel)) loop: z=z-fn2(acosh((@power*z^(@power-1))/((@power-1)*@power*z^(@power-2)+@par*@power*z^(@power-1)))) bailout: |z|<@bailout default: title="f574" center=(-0.5,0.001) angle=90 param power caption="Exponent" default=(3,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(1,0) endparam param bailout caption="Bailout" default=30.0 endparam } f575{ init: z=fn1(abs(pixel)) c=fn2(tanh(0.5*pixel^2)) loop: z=fn3(log((@par+6.5)*((z+sqrt(z*c)+c)/3))) bailout: |z|<@bailout default: title="f575" center=(0.001,0.001) angle=90 magn=0.5 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=9.0 endparam } f576{ init: z=fn1(pixel) loop: z=z-fn2(cos(z^2*((z-@par)/(z^2-@par^2)))) bailout: |z|<@bailout default: title="f576" center=(0.001,0.001) angle=0 magn=0.5 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f577{ init: z=@Fs(pixel) loop: z=(@par1*z)-@fn(((@par1*z)^3-1)*(((@par1*z)-(@par2*z))/(((@par1*z)^3-1)-((@par2*z)^3-1)))) bailout: |z|<@bail default: title="f577" center=(0.001,0.001) func Fs default=ident() caption="Start Function" endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0.1,0) endparam param par2 caption="Parameter 2" default=(-12,0) endparam param bail caption="Bailout" default=4.0 endparam } f578{ init: z=@Fs(pixel) loop: z=@par1*z-@fn(atanh( (@par1*z+1)*(@par1*z-1)*(@par1*z+2)*(@par1*z-2)*((@par1*z-@par2*z)/((@par1*z+1)*(@par1*z-1)*(@par1*z+2)*(@par1*z-2)-(@par2*z+1)*(@par2*z-1)*(@par2*z+2)*(@par2*z-2))))) bailout: |z|<@bailout default: title="f578" center=(0.001,0.001) angle=90 func Fs default=ident() caption="Start Function" endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(1.715,0) endparam param par2 caption="Parameter 2" default=(0.039,0) endparam param bailout caption="Bailout" default=4.0 endparam } f579{ init: z=fn1(pixel) loop: z=fn2(flip((z^3+@par1*z+@par2)/(3*@par1*z^2+9*@par2*z-@par1^2))) bailout: |z|<@bail default: title="f579" center=(0.001,0.001) magn=0.7 func fn1 default=sqr() endfunc func fn2 default=abs() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f580{ init: z=fn1(pixel) loop: z=fn2(flip((z^11+66*z^6-11*z)/(-11*z^10-66*z^5+1)))*@par bailout: |z|<@bail default: title="f580" center=(0.001,0.001) magn=0.5 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f581{ init: z=fn1(sqrt(pixel+@par)) c=fn1(sqrt(pixel^2/2+@par)) loop: z=fn2(z^11*c+11*z^6*c^6-z*c^11)+1 bailout: |z|<@bail default: title="f581" center=(0.001,0.001) angle=90 magn=4 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f582{ init: z=fn1(log(pixel)) loop: z=fn2(sin((-57*z^15+247*z^10+171*z^5+1)/(-z^19+171*z^14-247*z^9-57*z^4)))+@par bailout: |z|<@bail default: title="f582" center=(0.2,0.001) angle=90 periodicity=0 magn=8 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f584{ init: z=fn1(log(sqrt(pixel))) c=fn2(tan(sqrt(pixel^2/2))) loop: z=fn3(flip(abs(z^30+522*z^25*c^5-10005*z^20*c^10-10005*z^10*c^20-522*z^5*c^25+c^30)))-0.97+@par z=p2*fn4(z) bailout: |z|<@bail default: title="f584" center=(0.2,0.001) angle=270 magn=3 func fn1 caption="Start Function 1" default=sqr() endfunc func fn2 caption="Start Function 2" default=abs() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param par caption="Parameter 1" default=(0,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=0.95 endparam } f585{ init: z=fn1(sqrt(#pixel+@par)) c=fn2(sqr(sqr(#pixel^2/2+@par))) loop: z=@par2*fn3(sqrt(z^5-10*c^3+45*c^2-c^2))-@par3 bailout: |z|<@bail default: title="f585" center=(0.001,0.001) func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param par2 caption="Parameter" default=1.0 endparam param par3 caption="Parameter" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f587{ init: z=fn1(pixel) c=fn2(exp(pixel^2/2)) loop: z=fn3(abs(flip((-z/sqrt(@par1*@par2))*((1/z^2)*(1/@par1) \ *(1/sqrt(@par1))*sqrt(c)+(1/c^2)*(1/@par1)*(1/sqrt(@par2))*sqrt(z))))) bailout: |z|<@bailout default: title="f587" center=(0.001,0.001) angle=0 magn=2 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(1.5,0) endparam param par2 caption="Parameter 2" default=(7.9,0) endparam param bailout caption="Bailout" default=4.0 endparam } f588{ init: z=@Fs(pixel) c=@Fs(pixel)^2/2 loop: z=@fn(atanh(((1-z^2)*c+2*(1+z*c)*z)/(1+z^2+2*z*c)))+@par z=p2*fn3(z) bailout: |z|<@bailout default: title="f588" center=(0.001,0.001) magn=0.25 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par caption="Parameter 1" default=0.0 endparam param p2 caption="Parameter 2" default=1.0 endparam param bailout caption="Bailout" default=4.0 endparam } f589{ init: z=@Fs(pixel) c=@Fs(pixel)^2/2 loop: z=@fn(sin(z*cosh(1-c/z)-sqrt(c*(2*z-c))))-0.53673+@par z=p2*fn3(z) bailout: |z|<@bail default: title="f589" center=(0.001,0.001) magn=2 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par caption="Parameter 1" default=(0,0) endparam param p2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f590{ init: z=@Fs(pixel) loop: z=@fn(flip(recip(z^4+2*(@par1*@par2-(@par1+@par2)^2)*z^2+4*@par1*@par2*(@par1+@par2)*z+@par3))) bailout: |z|<@bail default: title="f590" center=(0.6,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f591{ init: z=@Fs(pixel) loop: z=@fn(z^2+sqrt((z^2*cos(z)-@par1+0.2)^2+(z^2*sin(z)-@par2-0.4)^2)) bailout: |z|<@bailout default: title="f591" center=(0.001,0.001) angle=270 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f592{ init: z=@Fs(pixel) loop: z=@fn(atanh(sin(atanh(atanh(atanh(@par1-1.6+(@par2+1.04)*cos(z))))))) bailout: |z|<@bailout default: title="f592" center=(0.001,0.001) angle=90 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f593{ init: z=@Fs(pixel) loop: z=@fn(asinh(@par*z*(1-z))) bailout: |z|<@bail default: title="f593" center=(0.001,0.001) maxiter=250 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(1.04,-0.33) endparam param bail caption="Bailout" default=4.0 endparam } f595{ init: z=@Fs(pixel) c=@Fs(pixel)^2/2 loop: z=@fn(z-(1+sqrt(-1)*c)*|z|^2*z+@par*(1+sqrt(-1)*c)*(z^2-z)) bailout: |z|<@bail default: title="f595" center=(0.001,0.001) maxiter=500 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } f596{ init: z=@Fs(pixel) loop: z=@fn(sinh(atan(((@par+0.01538)/z-z)/ (0.98462-@par)))) bailout: |z|<@bail default: title = "f596" center=(0.001,0.001) maxiter=500 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f597{ init: z=@Fs(pixel) c=@Fs(pixel)^2/2 loop: z=@fn(flip(z^2+c))+1+@par z=@fn(z*abs(c*z))-0.3+@par c=@fn(sin((c*z)^2-c))-0.6+@par bailout: |z|<@bail default: title="f597" center=(0.001,0.001) angle=90 maxiter=250 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par caption="parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f598{ init: z=@Fs(pixel) c=@Fs(pixel)^2/2 loop: z=fn1(conj(c*(@par1+1.4)))+(@par2+0.14)*fn2(log(z*(@par1+1.4))) c=fn3(atanh(z*(@par3+0.8)))+(@par4+0.06)*fn4(sin(c*(@par3+0.8))) bailout: |z|<@bail default: title="f598" center=(0.001,0.001) angle=270 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param par1 caption="Parameter 1" default=0.0 endparam param par2 caption="Parameter 2" default=0.0 endparam param par3 caption="Parameter 3" default=0.0 endparam param par4 caption="Parameter 4" default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } f599{ init: z=@Fs(pixel) y=@Fs(pixel)^2/2 x=@Fs(pixel)^3/6 loop: x=fn1(sqrt(((@par1+2.4)*(y-x))^2/2)) y=fn2(sqrt(cosh((@par2*x-y-x*z)^2/2))) z=fn3(asin((x*y-@par3*z)^2/2)) bailout: |z|<@bail default: title="f599" center=(0.39,0.001) angle=90 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f600{ init: z=@Fs(pixel) c=1/@Fs(pixel) loop: z=fn1(sinh(c+1-(@par1+0.46)*z)) c=fn2(log((@par2-0.57)*z)) bailout: |z|<@bail default: title="f600" center=(1.7,0.001) angle=90 magn=0.37 maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=24.0 endparam } f602{ init: z=pixel c=pixel^2/2 loop: z=@fn(flip((c/sqrt(@par))*exp(@par*z)*(log(|z|)-1))) bailout: |z|<@bailout default: title="f602" center=(0.001,0.001) maxiter=250 func fn caption="Function" default=ident() endfunc param par caption="Parameter" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f603{ init: z=@Fs(pixel) loop: z=@fn(sqr(exp(z/cos(@par1+0.93))*((1-(@par2+1.02)*tan(@par1+0.93))*exp(|z|)+(1/z)*sin(z)))) bailout: |z|<@bail default: title="f603" center=(-0.33,0.001) maxiter=250 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f604{ init: z=@Fs(pixel) loop: z=@fn((@par1-@par2*z^2)/(1+@par3*z^2)) bailout: |z|<@bail default: title="f604" center=(0.001,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f606{ init: x=((@par1+1.2)+(@par2-1.9)*cos(pixel))*cos(pixel) y=((@par1+1.2)+(@par2-1.9)*cos(pixel))*sin(pixel) z=(@par2-1.9)*sin(pixel) loop: z=@fn(recip(z-y*z*(z-x)*(z-1)-(@par1+1.2)*z+(@par2-1.9)*z+x*z)) bailout: |z|<@bailout default: title="f606" center=(-1.41,0.001) magn=0.78 maxiter=250 periodicity=0 func fn caption="Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0,0) endparam param par2 caption="Parameter 2" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f607{ init: z=@Fs(pixel) loop: z=fn1(z^2-@par*real(z)+1)+p2 z=fn2(z^2+@par*imag(z)-1)+p2 bailout: |z|<@bail default: title="f607" center=(0.001,0.001) angle=270 maxiter=250 periodicity=0 func Fs caption="Start Function" default=cosh() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=exp() endfunc param par caption="Parameter 1" default=(0.75,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f608{ init: z=pixel loop: z=@fn(|real(z)|+sqrt(-1)*|imag(z)|+@par)^2+pixel bailout: |z|<@bailout default: title="f608" center=(0.001,0.001) maxiter=250 func fn caption="Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f609{ init: z=fn1(pixel) loop: z=abs(recip(9*z+33*z^2+57*z^3+123*z^4))-0.4+@par bailout: |z|<@bail default: title="f609" center=(-0.13,0.001) angle=270 maxiter=250 periodicity=0 func fn1 caption="Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f610{ init: z=fn1(pixel) c=fn1(pixel)^2/2 loop: z=@fn(log(abs(cos(18*@par1*z*c*@par2-4*z^3*@par2+z^2*c^2-4*@par1*c^3-27*@par1^2*@par2^2)))) bailout: |z|<@bail default: title="f610" center=(0.001,0.001) maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0.15,0) endparam param par2 caption="parameter 2" default=(1.3,0) endparam param bail caption="Bailout" default=4.0 endparam } f611{ init: z=fn3(pixel) loop: z=p1*(fn1(sqr(cabs(z)))+sqrt(fn2(cos(z))^4-4))/2+@par bailout: |z|<@bail default: title="f611" center=(0.001,0.001) maxiter=250 periodicity=0 func fn3 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param p1 default=1.0 endparam param par caption="Parameter 2" default=-0.2685 endparam param bail caption="Bailout" default=4.0 endparam } f612{ init: z=fn1(pixel) loop: z=@fn(asinh(recip(z*@par1+(5*z*(z-1)*@par2)/2+(z*(z-1)*(2*z-3)*@par1)/2))) bailout: |z|<@bail default: title="f612" center=(0.25,0.001) angle=90 maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(2.3,0) endparam param par2 caption="Parameter 2" default=(1.3,0) endparam param bail caption="Bailout" default=4.0 endparam } f617{ init: z=fn4(pixel) loop: z=fn1(abs((1-z)^3*@par1+fn2(atan(3*z*(1-z)^2))+3*z^2*(1-z)*@par2+fn3(z^3))) bailout: |z|<@bail default: title = "f617" center=(0.75,0.001) angle=270 magn=1.5 maxiter=250 periodicity=0 func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc func fn3 caption="Loop Function 3" default=ident() endfunc param par1 caption="Parameter 1" default=(2,0) endparam param par2 caption="Parameter 2" default=(1.4,0) endparam param bail caption="Bailout" default=4.0 endparam } f618{ init: z=fn1(pixel) loop: z=@fn(log(@par^3*z+3*(1-@par)*@par*z^2+3*(1-@par)^2*@par*z^3+(1-@par)*z^4)) bailout: |z|<@bail default: title="f618" center=(0.75,0.001) angle=270 magn=1.5 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par caption="parameter" default=(1.38,0) endparam param bail caption="Bailout" default=4.0 endparam } f619{ init: z=fn4(pixel) c=fn4(pixel)^2/2 t=fn4(pixel)^3/6 loop: z=fn1(tan(@par1*z*(1-z)-0.05*(c+0.35)*(1-2*t))) c=fn2(0.1*((c+0.35)*(1+2*t)-1)*(1-1.9*z)) t=fn3(cotan(3.78*t*(1-t)+@par2*c)) bailout: |z|<@bail default: title="f619" center=(0.001,0.001) periodicity=0 func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc func fn3 caption="Loop Function 3" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f623{ init: z=fn1(pixel) loop: z=@fn(flip(log(abs(z)+@par))) z=p2*fn3(z) bailout: |z|<@bail default: title="f623" center=(0.001,0.001) magn=0.5 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param par caption="Parameter 1" default=(0.003,-0.23) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f625{ init: z=fn3(pixel) c=fn3(pixel)^2/2 loop: z=fn1(cos(-((2*c*z+@par1*sin(z))/c))) c=fn2(cabs((c*z^2+@par1*(cos(-@par2)))/(1+@par2))) bailout: |z|<@bail default: title="f625" center=(0.001,0.001) maxiter=250 periodicity=0 func fn3 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f626{ init: z=fn1(pixel) loop: z=@fn(sqrt(asin(recip(@par1*sqrt(2*pi))*e^-((z-@par2)^2/(2*@par1^2))))) bailout: |z|<@bail default: title="f626" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(0.4,0) endparam param par2 caption="Parameter 2" default=(0.45,0) endparam param bail caption="Bailout" default=4.0 endparam } f627{ init: z=fn1(pixel) loop: z=@fn(z^2+@par1*|z|^@par2+@par2) z=p3*fn3(z) bailout: |z|<@bail default: title="f627" center=(0.001,0.001) param par1 caption="Parameter 1" default=-0.969 endparam param par2 caption="Parameter 2" default=(1,0) endparam param p3 caption="Parameter 3" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f628{ init: z=fn4(pixel) y=fn4(sin(pixel)) x=fn4(cos(pixel)) loop: x=fn1(@par1*(y-x)) y=fn2((@par3-@par1)*x-x*z+@par3*y) z=fn3(x*y-@par2*z) bailout: |z|<@bail default: title="f628" center=(0.001,0.001) maxiter=250 func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=sqrt() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc func fn3 caption="Loop Function 3" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f629{ init: z=fn3(pixel) c=fn3(pixel)^2/2 loop: z=fn1(c) c=-fn2(@par1*z^3+@par2*z+@par3*c) bailout: |z|<@bail default: title="f629" center=(0.001,0.001) maxiter=250 periodicity=0 func fn3 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(1,0) endparam param par3 caption="Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f630{ ; Modification of formulas from ikenaga.frm by Jon Horner. ; Originally by Bruce Ikenaga init: z=fn1(pixel) c=fn2(pixel)^2/2 loop: z=@fn(sqrt(z^3+z*(c-1)-c^@par)) z=p2*fn4(z)+p3 bailout: |z|<@bail default: title="Ikenaga Mod" center=(1.18,0.001) angle=270 magn=8.25 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn caption="Function 3" default=abs() endfunc func fn4 default=ident() endfunc param par caption="Parameter 1" default=14.86 endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f631{ init: z=fn1(pixel) loop: z=z-@fn(sin(tan((-z^3+9*z^2-18*z+@par)/(-3*z^2+18*z-18)))) bailout: |z|<@bail default: title="f631" center=(1.3,0.001) angle=90 magn=2 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f632{ init: z=pixel y=sin(pixel) x=cos(pixel) u=tan(pixel) v=1-pixel w=1+pixel loop: x=@par1*(y-x) y=@par3*y-x*z z=-@par2*z+x*y+u u=fn1(sqr(v)) v=-fn2(atan(w^2*u)) bailout: |z|<@bail default: title="f632" center=(0.57,0.001) maxiter=500 func fn1 caption="function 1" default=ident() endfunc func fn2 caption="function 2" default=ident() endfunc param par1 caption="parameter 1" default=(0.496,0) endparam param par2 caption="parameter 2" default=(1.048,0) endparam param par3 caption="parameter 3" default=(1.192,0) endparam param bail caption="Bailout" default=4.0 endparam } f633{ init: z=fn1(pixel) loop: z=@fn((z^2*(z-@par1))/(z-@par2)+@par3) bailout: |z|<@bail default: title="f633" center=(0.7,0.001) magn=1.2 maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(1.53,0) endparam param par2 caption="Parameter 2" default=(0.09,0) endparam param par3 caption="Parameter 3" default=(0.04,0) endparam param bail caption="Bailout" default=4.0 endparam } f634{ init: z=fn1(pixel) y=fn2(sin(pixel)) x=fn2(cos(pixel)) loop: x=@fn(-@par1*(x+y)) y=@fn(-y-@par1*x*z) z=@fn(@par1*x*y+@par2) bailout: |z|<@bail default: title="f634" center=(0.8,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn caption="Function 3" default=ident() endfunc param par1 caption="Parameter 1" default=(0.95496,0) endparam param par2 caption="Parameter 2" default=(-0.11,0) endparam param bail caption="Bailout" default=4.0 endparam } f635{ init: z=pixel y=fn1(sin(pixel)) x=fn1(cos(pixel)) loop: x=@fn(-y^2-z^2-@par1*x+@par1*@par2) y=@fn(x*y-@par3*x*z-y+@par4) z=@fn(@par3*x*y+x*z-z) bailout: |z|<@bail default: title="f635" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param par1 caption="Parameter 1" default=(1.3,0) endparam param par2 caption="Parameter 2" default=(1.65314,0) endparam param par3 caption="Parameter 3" default=(0.77478,0) endparam param par4 caption="Parameter 4" default=(-0.02252,0) endparam param bail caption="Bailout" default=4.0 endparam } f636{ init: z=pixel y=sin(pixel) x=cos(pixel) loop: x=fn1(@par1*(z-e^(-y)+1)/@par2*(1-@par3)) y=fn2(@par1*z/@par2*@par3) z=fn3(-@par2*@par3*(1-@par3)*(x+y)/@par1-z/@par2) bailout: |z|<@bail default: title="f636" center=(0.001,0.001) angle=270 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param par1 caption="Parameter 1" default=(8.58,0) endparam param par2 caption="Parameter 2" default=(0.82,0) endparam param par3 caption="Parameter 3" default=(1.16,0) endparam param bail caption="Bailout" default=4.0 endparam } f637{ init: z=@Fs(pixel) loop: z=fn1(log(z^p1-log(fn2((p2^p1*p3*z^p1)/(@p4^2))))) bailout: |z|<@bail default: title="f637" center=(0.25,0.001) angle=270 maxiter=250 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param p1 caption="Exponent" default=(-0.5,0) endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(1,0) endparam param p4 caption="Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f639{ init: z=fn1(pixel) y=fn2(sin(pixel)) x=fn2(cos(pixel)) loop: x=z*(@par1*x-@par2*y)+(2-z)*(@par3*x*(1-(x^2+y^2)/@par4)-@par5*y) y=z*(@par2*x+@par1*y)+(2-z)*(@par3*y*(1-(x^2+y^2)/@par4)-@par5*x) z=(z*((2-z)*(@par6*(z-2)^2+@par7)-@par8*x)*(z+@par9*(x^2+y^2)-@par10)-@par11*(z-1))/e bailout: |z|<@bail default: title="f639" center=(0.83,0.001) magn=2 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param par1 caption="Parameter 1" default=(0.7525,0) endparam param par2 caption="Parameter 2" default=(0.3925,0) endparam param par3 caption="Parameter 3" default=(1.0225,0) endparam param par4 caption="Parameter 4" default=(0.73,0) endparam param par5 caption="Parameter 5" default=(0.37,0) endparam param par6 caption="Parameter 6" default=(1,0) endparam param par7 caption="Parameter 7" default=(1,0) endparam param par8 caption="Parameter 8" default=(0.78625,0) endparam param par9 caption="Parameter 9" default=(1.2925,0) endparam param par10 caption="Parameter 10" default=(0.780625,0) endparam param par11 caption="Parameter 11" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f640{ init: z=fn3(pixel) loop: z=p1*fn1(cos(p2))+p3*fn2(1-z^2)*z-z^3 bailout: |z|<@bail default: title="f640" center=(0.001,0.001) magn=1.7 maxiter=250 func fn3 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc param p1 caption="Parameter 1" default=(0.9,0) endparam param p2 caption="Parameter 2" default=(0.6,0) endparam param p3 caption="parameter 3" default=(0.6,0) endparam param bail caption="Bailout" default=4.0 endparam } f641{ init: z=fn3(pixel) y=fn4(sin(pixel)) x=fn4(cos(pixel)) loop: x=fn1(abs(y)) y=-@par*y+z z=fn2(-x+x*y)+@par2 bailout: |z|<@bail default: title="f641" center=(0.001,0.001) angle=90 magn=4 func fn3 caption="Function 1" default=ident() endfunc func fn4 caption="Function 2" default=ident() endfunc func fn1 caption="Function 3" default=ident() endfunc func fn2 caption="Function 4" default=ident() endfunc param par caption="Parameter 1" default=(1,0) endparam param par2 caption="Parameter 2" default=(0.05,0.05) endparam param bail caption="Bailout" default=4.0 endparam } f642 { init: z=fn1(pixel) loop: x=p1*(imag(z)-real(z)-p2) y=p2*(real(z)*sin(z)+imag(z)*cos(z)) z=p3*@fn(conj(x+flip(y)))+p4 bailout: |z|<@bail default: title="f642" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(-0.88,0.78) endparam param p2 default=(-0.5,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f643{ init: z=fn1(pixel) loop: x=-@p*(real(z)+imag(z)) y=-imag(z)-@p*real(z)*z z=p2*@fn(x+flip(y))+p3 bailout: |z|<@bail default: title="f643" center=(0.001,0.001) maxiter=500 periodicity=0 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p caption="Parameter 1" default=(-1.14,-1.33) endparam param p2 default=(-0.19,-0.9) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } f644{ init: z=fn1(pixel) loop: x=p1*real(z)+p2*imag(z)-p3*real(z)*imag(z)-(p4*z+p5)*real(z)/(real(z)+p6) y=@p7+@p8*z-@p9*imag(z)-@p10*real(z)*imag(z)/(imag(z)+@p11) z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f644" center=(0.001,0.001) maxiter=500 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(0.4,-0.7) endparam param p2 default=(0.7,0.3) endparam param p3 default=(0.5,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam param p6 default=(0,0) endparam param p7 caption="Parameter 7" default=(0,0) endparam param p8 caption="Parameter 8" default=(1,0) endparam param p9 caption="Parameter 9" default=(1,0) endparam param p10 caption="Parameter 10" default=(1,0) endparam param p11 caption="Parameter 11" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } f645{ init: z=fn1(pixel) loop: z=((p1*z+p2)*(p3*z+p4)+p1*p3*p5)/(|p3*z+p4|^2+|p3|^2*p5^2) bailout: |z|<@bail default: title="f645" center=(-1.37,0.001) angle=270 magn=0.38 maxiter=500 param p1 default=(5.58,0.57) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam func fn1 caption="Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f646{ init: z=fn1(pixel) loop: x=(1/3)*(-(pi+1)*real(z)+p1-p2+z*imag(z)+((1-p1)*(real(z)^2-imag(z))^2)\ +(2*(p1+p2-z))*real(z)*imag(z))*(1/(3*sqrt(real(z)^2+imag(z)^2))) y=(1/3)*((p2-p1-z)*real(z)-(p1+1)*imag(z))+((2*(p1-1))*real(z)*imag(z)\ +(p1+p2-z)*(real(z)^2-imag(z)^2))*(1/(3*sqrt(real(z)^2+imag(z)^2))) z=p3*@fn(x+flip(y))+p4 bailout: |z|<@bail default: title="f646" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(-0.95,0) endparam param p2 default=(1.67,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f647{ init: z=fn1(pixel) loop: x=p1*(imag(z)-real(z)) y=real(z)-real(z)*imag(z)+p2*imag(z)+p3 z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f647" center=(0.001,0.001) magn=0.5 maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } f648{ init: z=fn3(pixel) loop: x=fn1(imag(z)) y=-p1*real(z)-((p2-p1)/2)*(|real(z)+1|-|real(z)-1|)-p3*imag(z)+@p4*cos(@p5*z) z=fn2(x+flip(y)) bailout: |z|<@bail default: title="f648" center=(0.001,0.001) magn=0.6 maxiter=500 param p1 default=(2,0) endparam param p2 default=(1,0) endparam param p3 default=(0.25,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam func fn3 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f649{ init: z=fn1(pixel) loop: x=real(z)*z/2+(p1-p2*z/2)*imag(z)+p3 y=-(p1-p2*z/2)*real(z)+imag(z)*z/2 z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f649" center=(0.001,0.001) maxiter=500 periodicity=0 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(1.3,0) endparam param p2 default=(1.8,0) endparam param p3 default=(0.1,0) endparam param bail caption="Bailout" default=1000.0 endparam } f650{ init: z=fn1(pixel) loop: x=-(imag(z))^2-z^2-p1*real(z)+p1*p2 y=real(z)*imag(z)-p3*real(z)*z-imag(z)+p4 z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f650" center=(-0.3,0.017) magn=0.94 maxiter=500 periodicity=0 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(0.2,-0.18) endparam param p2 default=(2.52,-0.86) endparam param p3 default=(0.48,-0.26) endparam param p4 default=(1.52,-0.28) endparam param bail caption="Bailout" default=4.0 endparam } f651{ init: z=fn1(pixel) c=fn1(pixel)^2/2 loop: z=(1-@par)*z+c c=c+@fn(sqr(z)) bailout: |z|<@bail default: title="f651" center=(-0.16,0.001) angle=90 magn=2 periodicity=0 maxiter=500 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param par caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f652{ init: z=fn1(pixel) c=fn1(pixel)^2/2 loop: z=@fn(c+@par*z+(2*(1-@par)*z^2)/(1+z^2)+@par2*(1-@par3*c^2)*c) c=@fn(z+@par*(c+@par*z+(2*(1-@par)*z^2)/(1+z^2)+@par2*(1-@par3*c^2)*c)+(2*(1-@par)*(c+@par*z+(2*(1-@par)*z^2)/(1+z^2)+@par2*(1-@par3*c^2)*c)^2)/(1+(c+@par*z+(2*(1-@par)*z^2)/(1+z^2)+@par2*(1-@par3*c^2)*c)^2)) bailout: |z|<@bail default: title="f652" center=(-0.13,0.001) magn=1.8 maxiter=500 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param par caption="Parameter 1" default=(0.23,0) endparam param par2 caption="Parameter 2" default=(-2.24,0) endparam param par3 caption="Parameter 3" default=(1.18,0) endparam param bail caption="Bailout" default=4.0 endparam } f653{ init: z=@Fs(pixel) c=@Fs(pixel)^2/2 loop: z=fn1(1-@par1*|z|+c) c=fn2(@par2*z) bailout: |z|<@bail default: title="f653" center=(0.001,0.001) magn=2 maxiter=500 periodicity=0 func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param par1 caption="Parameter 1" default=(2.35,0) endparam param par2 caption="Parameter 2" default=(1.09,0) endparam param bail caption="Bailout" default=4.0 endparam } f655{ init: z=fn1(pixel) loop: x=(real(z)-p1*imag(z))*cos(z)-p2*imag(z)*sin(z) y=(real(z)*p3*imag(z))*sin(z)+@p4*imag(z)*cos(z) z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f655" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(0,0.4) endparam param p2 default=(-0.1,0) endparam param p3 default=(-0.5,0) endparam param p4 default=(1.5,0) endparam param bail caption="Bailout" default=4.0 endparam } f656 (kam torus){ ; http://www.fredsfractalpage.nl/contents.html init: z=fn1(pixel) loop: x=real(z)*cos(p1)+(real(z)^2-imag(z))*sin(p1) y=real(z)*sin(p1)-(real(z)^2-imag(z))*cos(p1) z=p2*@fn(x+flip(y))+p3 bailout: |z|<@bail default: title="Kam Torus" center=(0.001,0.001) periodicity=0 maxiter=500 param p1 default=(1.37871,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f657 (tinkerbell){ ; https://en.wikipedia.org/wiki/Tinkerbell_map init: z=fn1(pixel) loop: x=real(z)^2-imag(z)^2+p1*real(z)+p2*imag(z) y=2*real(z)*imag(z)-p3*real(z)+p4*imag(z) z=@fn(x+flip(y))^@pow bailout:|z|<@bail default: title="Tinkerbell" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0.16,0) endparam param p2 default=(-0.15,0) endparam param p3 default=(1.76,0) endparam param p4 default=(0.16,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f658 (de jong) { ;http://www.algosome.com/articles/strange-attractors-de-jong.html init: z=@fn(pixel) loop: x=sin(p1*imag(z))-cos(p2*real(z)) y=sin(p3*real(z))-cos(p4*imag(z)) z=fn2(x+flip(y))^@pow bailout: |z|<@bail default: title="de Jong" center=(0.001,0.001) magn=0.25 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam param p4 default=(2,0) endparam func fn caption="Function 1" default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f659(duffing){ init: z=@Fs(pixel) loop: x=fn1(imag(z)) y=real(z)-real(z)^3-p1*imag(z)+p2 z=fn2(x+flip(y)) bailout: |z|<@bail default: title="f659" center=(0.001,0.65) maxiter=500 periodicity=0 param p1 default=(1.15789,0) endparam param p2 default=(1.45112,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f660 (gingerbread){ ; http://mathworld.wolfram.com/GingerbreadmanMap.html init: z=fn3(pixel) loop: x=p1-imag(z)+abs(real(z)) y=fn1(real(z)) z=p2*fn2(x+flip(y))+p3 bailout: |z|<@bail default: title="Gingerbread" center=(0.49,0.38) maxiter=500 param p1 default=(0.21055,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn3 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f661 (hopalong){ init: z=@Fs(pixel) loop: x=imag(z)-1-sqrt(abs(p1*real(z)-1-p2))*((real(z)-1)/|real(z)-1|) y=p3-real(z)-1 z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f661" center=(0.001,0.001) maxiter=500 func Fs caption="Start Function" default=ident() endfunc param p1 caption="parameter 1" default=(1.5,-0.3) endparam param p2 caption="parameter 2" default=(-0.3,0) endparam param p3 caption="parameter 3" default=(-0.2,0) endparam func fn caption="function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f662 (hopalong 2){ init: z=@Fs(pixel) loop: x=imag(z)-(real(z)/|real(z)|)*sqrt(|p1*real(z)+p2|) y=p3-real(z) z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f662" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(-0.13,0) endparam param p3 default=(0.05,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Threeply{ ;Formula by Martin Peters, from Fractint init: z=fn1(pixel) loop: x=imag(z)-(real(z)/cabs(real(z)))*(abs(sin(real(z))*cos(p1)+p2-real(z)*sin(p1+p2+p3))) y=p3-real(z) z=x+flip(y) z=fn2(z) bailout: |z|<@bail default: title="Threeply" center=(0.001,0.001) param p1 default=(0.9,0) endparam param p2 default=(-0.3,0) endparam param p3 default=(-0.1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Quadruptwo{ ;Formula by Martin Peters, from Fractint ;http://www.nahee.com/spanky/www/fractint/fractal_types.html init: z=fn1(pixel) loop: x=imag(z)-(real(z)/cabs(real(z)))*sin(log(abs(p2*real(z)-p3)))*atan(sqr(log(abs(p3*real(z)-p2)))) y=p1-real(z) z=x+flip(y) z=fn2(z) bailout:|z|<@bail default: title="Quadruptwo" center=(0.001,0.001) param p1 default=(-0.2,-0.48) endparam param p2 default=(1,0) endparam param p3 default=(0.44,0.05) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } f665(chip){ ; Fractint formula from http://www.nahee.com/spanky/www/fractint/fractal_types.html init: z=fn1(pixel)^p4 loop: x=imag(z)-(real(z)/cabs(real(z)))*cos(sqr(log(abs(p2*real(z)-p3))))*atan(sqr(log(abs(p3*real(z)-p2)))) y=p1-real(z) z=x+flip(y) z=fn2(z) z=z^p5 bailout:|z|<@bail default: title="Chip" center=(0.001,0.001) maxiter=250 param p1 default=(-0.6,0.35) endparam param p2 default=(1,0) endparam param p3 default=(0.46,0.5) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Exponent 1" default=1 endparam param p5 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f666 (van der pol){ ; https://en.wikipedia.org/wiki/Van_der_Pol_oscillator init: z=fn1(#pixel) loop: x=p1*(real(z)-real(z)^3/3-imag(z)) y=real(z)/p1 z=@fn(x+flip(y))+p2 bailout: |z|<@bail default: title="Van der Pol 1" center=(0.001,0.001) maxiter=500 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(1.46,-0.16) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f667 (van der pol 2){ ; https://en.wikipedia.org/wiki/Van_der_Pol_oscillator init: z=fn3(pixel) loop: x=fn1(imag(z)) y=p1*(1-real(z)^2)*imag(z)-real(z) z=fn2(x+flip(y))+p2 bailout: |z|<@bail default: title="Van der Pol 2" center=(0.001,0.001) maxiter=500 func fn3 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc param p1 default=(0.061761,0.017703) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } Hénon{ ;http://chaosbook.org/projects/Wen14.pdf ;http://www.cns.gatech.edu/~predrag/papers/gunaratne.pdf init: z=fn1(pixel) loop: z=fn2(z) if @V==0 x=1-p1*real(z)^2+imag(z) y=p2*real(z) elseif @V==1 x=-(imag(z)-real(z)^2)*sin(2*pi/p3)+real(z)*cos(2*pi/p3) y=(imag(z)-real(z)^2)*cos(2*pi/p3)+real(z)*sin(2*pi/p3) elseif @V==2 x=imag(z) y=-p5^(-1)*(1-p4*imag(z)^2-p5*real(z)) elseif @V==3 x=exp(-p6*@p7/2)*(real(z)*cos(@p7*@p8)+(1/@p8)*(imag(z)-(@p9+real(z)^2)+p6*real(z)/2)*sin(@p7*@p8)) y=exp(-p6*@p7/2)*(-@p8*real(z)*sin(@p7*@p8)+(imag(z)-(@p9+real(z)^2)+p6*real(z)/2)*cos(@p7*@p8))-p6*x/2 else x=imag(z)+@p10*cos(pi*real(z)/2)-1 y=@p11*real(z) endif z=x+flip(y) z=fn3(z) bailout: |z|<@bail default: title="Hénon" center=(0.001,0.001) param V caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(1.29,-0.07) visible=@V==0 endparam param p2 default=(-1.16,0.43) visible=@V==0 endparam param p3 caption="Parameter" default=(3.8743,0) visible=@V==1 endparam param p4 caption="Parameter 1" default=(1,0) visible=@V==2 endparam param p5 caption="Parameter 2" default=(1,0) visible=@V==2 endparam param p6 caption="Parameter 1" default=(-0.533,0.503) visible=@V==3 endparam param p7 caption="Parameter 2" default=(1.814,0.371) visible=@V==3 endparam param p8 caption="Parameter 3" default=(0.653,0.048) visible=@V==3 endparam param p9 caption="Parameter 4" default=(0,0) visible=@V==3 endparam param p10 caption="Parameter 1" default=(1.38,0) visible=@V==4 endparam param p11 caption="Parameter 2" default=(1.11,0) visible=@V==4 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=450.0 endparam } f671 (pickover){ ;http://paulbourke.net/fractals/clifford/ init: z=fn1(pixel)^@pow1 loop: x=sin(p1*imag(z))+p2*cos(p1*real(z)) y=sin(p3*real(z))+p4*cos(p3*imag(z)) z=@fn(x+flip(y))^@pow bailout: |z|<@bail default: title="Pickover" center=(0.001,0.001) magn=0.25 maxiter=500 param p1 default=(-1.04,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) endparam param p4 default=(1.15,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Gumowski-Mira{ ;http://www.atomosyd.net/spip.php?article98 init: z=fn1(pixel) loop: x=imag(z)+p1*real(z)+2*(1-p1)*real(z)^2/(1+real(z)^2)+p2*(1-p3*imag(z)^2)*imag(z) y=-real(z)+p1*x+2*(1-p1)*x^2/(1+x) z=x+flip(y) z=fn2(z) bailout:|z|<@bail default: title="Erratum 7" center=(0.001,0.001) magn=4 param p1 default=(.225,0) endparam param p2 default=(.005,0) endparam param p3 default=(.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Gumowski-MiraMod{ init: z=fn1(pixel) loop: x=(1-p1)*real(z)+imag(z) y=imag(z)+ p2*real(z)+2*(1-p2)*real(z)^2*(1+real(z)^2)^(-2) z=x+flip(y) z=fn2(z) bailout:|z|<@bail default: title="Gumowski-Mira Mod" center=(0.001,0.001) periodicity=0 param p1 default=(1.97,0) endparam param p2 default=(-0.6,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Gumowski-Mira3{ ;http://www.atomosyd.net/spip.php?article103 init: z=fn1(pixel) loop: x=(1-p1)*real(z)+imag(z) if real(z)<-0.5 y=imag(z)+(-2*p1*real(z)-0.9*p1) elseif cabs(real(z))<0.5 y=imag(z)-p1*real(z)/5 else y=imag(z)+(-2*p1*real(z)+0.9*p1) endif z=p2*fn2(x+flip(y))+p3 bailout: |z|<@bail default: title="Gumowski-Mira 2" center=(0.001,0.001) periodicity=0 param p1 default=(-0.93,1.23) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=7.0 endparam } f675 (sprott){ ;http://mathworld.wolfram.com/StrangeAttractor.html init: z=fn1(pixel)^@pow1 loop: x=p1+p2*real(z)+p3*real(z)^2+p4*real(z)*imag(z)+@p5*imag(z)+@p6*imag(z)^2 y=@p7+@p8*real(z)+@p9*real(z)^2+@p10*real(z)*imag(z)+@p11*imag(z)+@p12*imag(z)^2 z=@fn(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Sprott" center=(0.001,0.001) maxiter=500 param p1 default=(-0.85,-0.91) endparam param p2 default=(-0.05,0.34) endparam param p3 default=(1.12,-0.57) endparam param p4 default=(-0.05036,-0.09441) endparam param p5 default=(0.37451,-0.87333) endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(1,0) endparam param p8 caption="Parameter 8" default=(1,0) endparam param p9 caption="Parameter 9" default=(1,0) endparam param p10 caption="Parameter 10" default=(1,0) endparam param p11 caption="Parameter 11" default=(1,0) endparam param p12 caption="Parameter 12" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f677 (bogdanov){ ;https://en.wikipedia.org/wiki/Bogdanov_map init: z=fn1(pixel)^@pow1 loop: y=imag(z)+p1*imag(z)+p2*real(z)*(real(z)-1)+p3*real(z)*imag(z) x=real(z)+y z=@fn(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Bogdanov" center=(0.53,0.001) angle=-110 maxiter=500 periodicity=0 param p1 default=(-2.0015,0) endparam param p2 default=(-0.16167,0) endparam param p3 default=(-0.034,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f678 (arnold){ ;Arnold's cat map https://en.wikipedia.org/wiki/Arnold%27s_cat_map init: z=pixel loop: x=(2*real(z)+imag(z))%1 y=(real(z)+imag(z))%1 z=@fn(x+p1+flip(y+p2)) bailout: |z|<@bail default: title="f678" center=(0.626,0.036) maxiter=500 param p1 default=(-0.70802,1.08563) endparam param p2 default=(0,-0.1416) endparam func fn caption="Function" default=cosh() endfunc param bail caption="Bailout" default=4.0 endparam } StandardMap{ ;https://en.wikipedia.org/wiki/Standard_map init: z=fn1(pixel) loop: z=fn2(z) if @V==0 x=real(z)%(2*pi)+p1*sin(imag(z)%(2*pi)) y=imag(z)%(2*pi)+x else x=real(z)+imag(z)+(p2/(2*pi))*sin(2*pi*real(z)) y=imag(z)+(p2/(2*pi))*sin(2*pi*real(z)) endif z=x+flip(y) bailout: |z|<@bail default: title="Standard Map" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2" default=0 endparam param p1 caption="Parameter" default=(-5.1,2.5) visible=@V==0 endparam param p2 caption="Parameter" default=(1,0) visible=@V==1 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } f680 (popcorn){ ; http://www.nahee.com/spanky/www/fractint/popcorn_type.html init: z=@Fs(pixel)^@pow1 loop: x=real(z)-real(p1*fn1(imag(z)+fn2(p2*imag(z))))-imag(p1*fn3(real(z)+fn4(p2*real(z)))) y=imag(z)-real(p1*fn3(real(z)+fn4(p2*real(z))))-imag(p1*fn1(imag(z)+fn2(p2*imag(z)))) z=(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Pickover 6" center=(0.001,0.001) periodicity=0 param p1 default=(0.074752,-0.044356) endparam param p2 default=(3,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn1 default=sin() endfunc func fn2 default=tan() endfunc func fn3 default=sin() endfunc func fn4 default=tan() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Chirikov{ ;https://en.wikipedia.org/wiki/Arnold_tongue init: z=fn1(pixel) loop: x=real(z)+imag(z)+(p1/2*pi)*sin(2*pi*real(z)) y=x-real(z) z=fn2(x+flip(y))^@pow+p2 bailout: |z|<@bail default: title="Chirikov Mod" center=(0.001,0.001) maxiter=500 param p1 default=(0.90559,-0.73171) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=conj() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } ChirikovStandardMap{ ;https://en.wikipedia.org/wiki/Standard_map init: z=fn1(pixel)^p2 loop: x=(real(z)%(2*pi))+(imag(z)%(2*pi))+(p1/2*pi)*sin(2*pi*(real(z)%(2*pi))) y=(real(z)%(2*pi))+(imag(z)%(2*pi))+(p1/2*pi)*sin(2*pi*(real(z)%(2*pi)))-(real(z)%(2*pi)) z=p4*(x+flip(y))^p3 z=fn2(z) bailout: |z|<@bail default: title="Erratum 9" center=(0.001,0.001) param p1 caption="Parameter 1" default=(0.1,0) endparam param p4 caption="Parameter 2" default=(1,0) endparam param p2 caption="Exponent 1" default=1 endparam param p3 caption="Exponent 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Baker'sMap{ ;https://en.wikipedia.org/wiki/Baker's_map init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sin+cos" z=sin(pixel)+cos(pixel) elseif @Fs=="sin*cos" z=sin(pixel)*cos(pixel) elseif @Fs=="sinsin+coscos" z=sin(sin(pixel))+cos(cos(pixel)) elseif @Fs=="sinsin*coscos" z=sin(sin(pixel))*cos(cos(pixel)) elseif @Fs=="sinabs+cosabs" z=sin(abs(pixel))+cos(abs(pixel)) elseif @Fs=="sinabs*cosabs" z=sin(abs(pixel))*cos(abs(pixel)) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="sinhsinh" z=sinh(sinh(pixel)) elseif @Fs=="sqrsinhsinh" z=sinh(sinh(pixel))^2 elseif @Fs=="abssinh" z=abs(sinh(pixel)) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="versinversin" z=1-cos(1-cos(pixel)) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="haversinhaversin" z=1-cos((1-cos(pixel))/2)/2 elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="coversin+" z=(1-sin(pixel))+pixel elseif @Fs=="coversin*" z=(1-sin(pixel))*pixel elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="covercoscovercos" z=1+sin(1+sin(pixel)) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="hacovercos+" z=(1+sin(pixel))/2+pixel elseif @Fs=="hacovercos*" z=((1+sin(pixel))/2)*pixel elseif @Fs=="hacovercoshacovercos" z=(1+sin((1+sin(pixel))/2))/2 elseif @Fs=="hacovercoshacovercos+" z=(1+sin((1+sin(pixel))/2))/2+pixel elseif @Fs=="hacovercoshacovercos*" z=((1+sin((1+sin(pixel))/2))/2)*pixel elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sqrsec" z=(1/cos(pixel))^2 elseif @Fs=="secabs" z=1/cos(abs(pixel)) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="sqrexsec" z=(1/cos(pixel)-1)^2 elseif @Fs=="exsecabs+" z=1/cos(abs(pixel))-1+pixel elseif @Fs=="exsecabs*" z=(1/cos(abs(pixel))-1)*pixel elseif @Fs=="exsecabs" z=1/cos(abs(pixel))-1 elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="coscrd" z=cos(2*sin(pixel/2)) elseif @Fs=="coshcrd" z=cosh(2*sin(pixel/2)) elseif @Fs=="sqrcrd" z=sqr(2*sin(pixel/2)) elseif @Fs=="sqrtcrd" z=sqrt(2*sin(pixel/2)) elseif @Fs=="sqrtcrdabs" z=sqrt(2*sin(abs(pixel)/2)) elseif @Fs=="expcrd" z=exp(2*sin(pixel/2)) elseif @Fs=="abscrd" z=abs(2*sin(pixel/2)) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="gdabs" z=asin(tanh(abs(pixel))) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="agdabs" z=asinh(tan(abs(pixel))) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="abssqrt" z=abs(sqrt(pixel)) elseif @Fs=="abssqrt+" z=abs(sqrt(pixel))+pixel elseif @Fs=="abssqrt*" z=abs(sqrt(pixel))*pixel elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="sqrcuberoot" z=(pixel^(1/3))^2 elseif @Fs=="abscuberoot" z=abs(pixel^(1/3)) elseif @Fs=="cotanhcuberoot" z=cotanh(pixel^(1/3)) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="sinexp" z=sin(exp(pixel)) elseif @Fs=="expexp" z=exp(exp(pixel)) elseif @Fs=="absexp" z=abs(exp(pixel)) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="sqrabs" z=abs(pixel)^2 elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="sinsoftplus" z=sin(log(1+exp(pixel))) elseif @Fs=="cossoftplus" z=cos(log(1+exp(pixel))) elseif @Fs=="abssoftplus" z=abs(log(1+exp(pixel))) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sincotanh*" z=sin(cotanh(pixel))*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="sec*+sin" z=pixel/cos(pixel)+sin(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="cosec*+sin" z=pixel/sin(pixel)+sin(pixel) elseif @Fs=="loglogsin" z=log(log(sin(pixel))) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="sinsin+" z=sin(sin(pixel))+pixel elseif @Fs=="sinsin*" z=sin(sin(pixel))*pixel elseif @Fs=="sinsinabs" z=sin(sin(abs(pixel))) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="coscos+" z=cos(cos(pixel))+pixel elseif @Fs=="coscos*" z=cos(cos(pixel))*pixel elseif @Fs=="coscosabs" z=cos(cos(abs(pixel))) elseif @Fs=="sinsinsin" z=sin(sin(sin(pixel))) elseif @Fs=="coscoscos" z=cos(cos(cos(pixel))) endif loop: if @V=="Folded" if 0<=real(z) && real(z)<0.5 x=2*real(z) y=imag(z)/2 else x=2-2*real(z) y=1-imag(z)/2 endif else x=2*real(z)-floor(2*real(z)) y=(imag(z)+floor(2*real(z)))/2 endif z=p1*(x+flip(y))+p2 bailout: |z|<@bail default: title="Baker's Map" center=(0.001,0.001) magn=0.5 periodicity=0 maxiter=500 param V caption="Variant" enum="Folded""Unfolded" default=0 endparam param Fs caption="Function" enum="ident""sin""sin+cos""sin*cos""sinsin+coscos""sinsin*coscos""sinabs+cosabs"\ "sinabs*cosabs""sinh""sinhsinh""sqrsinhsinh""abssinh""versin""versinversin"\ "haversin""haversinhaversin""coversin""coversin+""coversin*"\ "hacoversin""cos""cosh""vercos""havercos""covercos""covercoscovercos"\ "hacovercos""hacovercos+""hacovercos*""hacovercoshacovercos""hacovercoshacovercos+""hacovercoshacovercos*"\ "sec""sqrsec""secabs""exsec""sqrexsec""exsecabs""exsecabs+""exsecabs*"\ "crd""coscrd""coshcrd""sqrcrd""sqrtcrd""sqrtcrdabs""expcrd""abscrd""acrd""gd""gdabs""agd""agdabs""sinc""cosc""coshc"\ "tanc""secc""sechc""cosecc""sqr""sqrt""abssqrt""abssqrt+""abssqrt*"\ "cube""cuberoot""sqrcuberoot""abscuberoot""cotanhcuberoot""log""colog""exp""sinexp""expexp""absexp""abs""sqrabs"\ "gauss""softplus""sinsoftplus""cossoftplus""abssoftplus""sqr+""cube+""sin+"\ "cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sincotanh*""sec*""sec*+sin"\ "cosec*""cosec*+sin""loglogsin""sinsin""sinsin+""sinsin*""sinsinabs""coscos""coscos+"\ "coscos*""coscosabs""sinsinsin""coscoscos" default=0 endparam param p1 default=(0.38,-0.95) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=60.0 endparam } f690 (nose-hoover 1b){ init: z=fn1(pixel) loop: x=fn3(imag(z)) y=fn4(real(z))+imag(z)*(p1-imag(z)^2) z=@fn(x+flip(y))^p3+p2 bailout: |z|<@bail default: title="Ov Nerehoos 1" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0.38,0.02) endparam param p2 default=(0,0) endparam param p3 caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f693 (nose-hoover 3a){ init: z=fn1(pixel) loop: x=z+fn3(real(z))*imag(z) y=p1-real(z)^2 z=@fn(x+flip(y))^p3+p2 bailout: |z|<@bail default: title="Ov Nerehoos 2" center=(0.001,0.001) periodicity=0 param p1 default=(0.2,0) endparam param p2 default=(0,0) endparam param p3 caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } Heagy-Hammel{ ; http://www.3d-meier.de/tut19/Seite96.html init: z=fn1(pixel)^p6 loop: if @form==0 x=p1*(1-p2*cos(2*pi*imag(z)))*real(z)*(1-real(z)) y=imag(z)+(p3)%p5 z=fn2(x+flip(y))^p4 elseif @form==1 x=p1*(1-p2*cos(2*pi*imag(z)))*real(z)*(1-real(z)) y=(imag(z)+p3)%p5 z=fn2(x+flip(y))^p4 endif bailout: |z|<@bail default: title="Heagy-Hammel" center=(0.001,0.001) maxiter=500 param form caption="Formula" enum="Version 1""Version 2" default=0 endparam param p1 default=(0.25838,1.06216) endparam param p2 default=(3.0236,-0.0236) endparam param p3 caption="Parameter 3" default=-62.019 endparam param p6 caption="Exponent 1" default=1 endparam param p4 caption="Exponent 2" default=(1,0) endparam param p5 caption="Modulus" default=1.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f696 (buckling column model){ ;http://www.siam.org/students/siuro/vol4/S01079.pdf init: z=fn1(pixel)^p6 loop: x=imag(z) y=(p1*real(z)^3+p2*real(z)+p3*imag(z))/p4 z=@fn(x+flip(y))^@p5 bailout: |z|<@bail default: title="Buckling Column Model" center=(0.001,0.001) angle=53 periodicity=0 param p1 default=(-0.7,-0.7) endparam param p2 default=(0.5,-0.5) endparam param p3 default=(0.93,0.06) endparam param p4 default=(1,-0.1) endparam param p6 caption="Exponent 1" default=1 endparam param p5 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } f697 (nowicki-swirszcz){ ;http://www.aimsciences.org/journals/pdfs.jsp?paperID=1277&mode=full init: z=fn1(pixel)^p6 loop: x=3*real(z)*((real(z)-imag(z))^2-p1)/((3*real(z)-imag(z))^2-p2) y=imag(z)*(imag(z)^2+2*real(z)*imag(z)-3*real(z)^2-p3)/((3*real(z)-imag(z))^2-p4) z=@fn(x+flip(y))^@p5 bailout: |z|<@bail default: title="Nowicki-Swirszcz" center=(0.001,0.001) periodicity=0 maxiter=500 param p1 default=(-0.3,0) endparam param p2 default=(1.1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p6 caption="Exponent 1" default=1 endparam param p5 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f698 (sprott-elhadj){ ;http://sprott.physics.wisc.edu/pubs/paper310.htm init: z=fn1(pixel)^@pow1 loop: x=p1*real(z)/(1+imag(z)^2) y=real(z)+p2*imag(z) z=@fn(x+flip(y))^p3 bailout: |z|<@bail default: title="Sprott-Elhadj" center=(0.001,0.001) angle=-52 magn=0.5 periodicity=0 maxiter=500 param p1 default=(1.31369,-0.92054) endparam param p2 default=(0.69441,0.05279) endparam param pow1 caption="Exponent 1" default=1 endparam param p3 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f699 (popcorn 2) { ;http://www.3d-meier.de/tut19/Seite61.html init: z=fn1(pixel)^@pow loop: if @V==0 x=p1*sin(imag(z)+tan(p2*imag(z))) y=p1*sin(real(z)+tan(p2*real(z))) else x=real(z)-p1*sin(imag(z)+tan(p2*imag(z))) y=imag(z)-p1*sin(real(z)+tan(p2*real(z))) endif z=@fn(x+flip(y))^p3 bailout: |z|<@bail default: title="Popcorn" center=(0.001,0.001) magn=0.125 periodicity=0 param V caption="Variant" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0.5,0.75) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param pow caption="Exponent 1" default=1 endparam param p3 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=7.0 endparam } f700 (svensson){ ;http://www.3d-meier.de/tut19/Seite148.html init: z=fn1(pixel) loop: x=p1*sin(p2*real(z))-sin(p3*imag(z)) y=p4*cos(p2*real(z))-cos(p3*imag(z)) z=@fn(x+flip(y))^p5 bailout: |z|<@bail default: title="Svensson" center=(0.001,0.001) magn=0.5 maxiter=500 periodicity=0 param p1 default=(1.1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f701 (hca){ ;http://www.3d-meier.de/tut19/Seite98.html init: z=@Fs(pixel) loop: x=1-p1*real(z)^2+p2*(imag(z)^2-real(z)^2) y=1-p1*imag(z)^2+p2*(real(z)^2-imag(z)^2) z=@fn(x+flip(y))^p3 bailout: |z|<@bail default: title="HCA" center=(0.001,0.001) maxiter=500 param p1 default=(0.9,0.9) endparam param p2 default=(1.3,0.3) endparam param p3 caption="Exponent" default=(1,0) endparam func Fs caption="Start Function" default=ident() endfunc func fn caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f702 (strelkova-anishchenko){ ;http://www.emis.de/journals/HOA/DDNS/2/153.pdf init: z=fn1(pixel)^p4 loop: x=1-p1*real(z)^2+p2*(imag(z)-real(z)) y=1-p1*imag(z)^2+p2*(real(z)-imag(z)) z=@fn(x+flip(y))^p3 bailout: |z|<@bail default: title="Strelkova-Anishchenko" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1.0136,1.15656) endparam param p2 default=(-1.60211,-1.15643) endparam param p4 caption="Exponent 1" default=1 endparam param p3 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f703 (mackey-glass 1){ ;http://www.scholarpedia.org/article/Noninvertibility init: z=fn1(pixel)^@pow1 loop: z=@fn((p1*z*p2^@pow2)/(p2^@pow2+z^@pow2)) bailout: |z|<@bail default: title="Mackey-Glass 1" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(-0.8055,0.60495) endparam param p2 default=(0.74892,-1.37698) endparam param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=1 endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f704 (mackey-glass 2){ ;http://www.scholarpedia.org/article/Mackey-Glass_equation init: z=fn1(pixel)^@pow1 loop: z=@fn(p1*z/(1+z^@pow2)-p2*z) bailout: |z|<@bail default: title="Mackey-Glass 2" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(-0.00144,-0.08345) endparam param p2 default=(1.005216,0.062598) endparam param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=1 endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f705 (hamiltonian){ ;https://physics.ucsd.edu/students/courses/spring2011/physics221a/LECTURES/CH07_CHAOS.pdf init: z=fn1(pixel)^p4 loop: x=real(z)+p1*p2*sin(2*pi*imag(z)) y=imag(z)-(p1/p2)*sin(2*pi*(real(z)+p1*p2*sin(2*pi*imag(z)))) z=@fn(x+flip(y))^p3 bailout: |z|<@bail default: title="Hamilton" center=(0.001,0.001) param p1 default=(0.274907,-0.010433) endparam param p2 default=(1.312989,0.020866) endparam param p4 caption="Exponent 1" default=1 endparam param p3 caption="Exponent 2" default=1.0 endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f706 (brusselator){ ;http://www-dimat.unipv.it/boffi/teaching/download/Brusselator.pdf init: z=fn1(pixel)^p4 loop: x=1-(p2+1)*real(z)+p1*imag(z)*real(z)^2 y=p2*real(z)-p1*imag(z)*real(z)^2 z=@fn(x+flip(y))^p5 bailout: |z|<@bail default: title="Brusselator" center=(0.001,0.001) maxiter=250 magn=0.7 periodicity=0 param p1 default=(-1.37,-0.91) endparam param p2 default=(0.57,0.46) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p4 caption="Exponent 1" default=1 endparam param p5 caption="Exponent 2" default=1.0 endparam param bail caption="Bailout" default=10.0 endparam } f707 (burgers){ ;http://www.worldacademicunion.com/journal/1749-3889-3897IJNS/IJNSVol4No3Paper02.pdf init: z=fn1(pixel)^p5 loop: x=(1-p1)*real(z)-imag(z)^2 y=(1+p2)*imag(z)+real(z)*imag(z) z=@fn(x+flip(y))^p4+p3 bailout: |z|<@bail default: title="Burgers" center=(0.001,0.001) periodicity=0 param p1 default=(2.05584,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p5 caption="Exponent 1" default=1 endparam param p4 caption="Exponent 2" default=1.0 endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f708 (cao-lai){ init: z=fn1(pixel)^p5 loop: x=p1*real(z)*(1-real(z)) y=p2*real(z)*sin(2*pi*imag(z))/2*pi z=@fn(x+flip(y))^p4+p3 bailout: |z|<@bail default: title="Erratum 8" center=(0.501,0.001) angle=270 param p1 default=(-1.8,0.2) endparam param p2 default=(-0.6,-0.7) endparam param p3 default=(0,0) endparam param p5 caption="Exponent 1" default=1 endparam param p4 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Cao-Lai{ ;http://chaos1.la.asu.edu/~yclai/papers/PRE_98_CL.pdf init: z=fn1(pixel)^p5 loop: x=p1*real(z)*(1-real(z)) y=p2*real(z)*sin(2*pi*imag(z))/(2*pi) z=@fn(x+flip(y))^p4+p3 bailout: |z|<@bail default: title="Cao-Lai" center=(0.501,0.001) angle=270 periodicity=0 param p1 default=(-1.6,-0.5) endparam param p2 default=(2.5,-3.7) endparam param p3 default=(0,0) endparam param p5 caption="Exponent 1" default=1 endparam param p4 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f709 (cathala){ ;https://books.google.de/books?id=6Rrgc_1cN2IC&pg=PA56&lpg=PA56&dq=mira+fractal&source=bl&ots=AIujM4uhTU&sig=2ubJkswWXqw6xE6Qiq0dW9u22B0&sa=X&ei=slYzUJ72I-SB4gS-n4CYCQ&hl=de#v=onepage&q=mira%20fractal&f=false ;Also known as Kawakami map, https://books.google.co.uk/books?id=Pn0tcHcpP-oC&pg=PA32&lpg=PA32&dq=kawakami+attractor&source=bl&ots=swVLtgNACh&sig=xEEVkusAFoA3hQzUNKFnoW2WWt0&hl=en&sa=X&ved=0ahUKEwib7MXL28jLAhXCAxoKHWcGDOQQ6AEIKTAC#v=onepage&q=kawakami%20attractor&f=false init: z=fn1(pixel)^p5 loop: x=p1*real(z)+imag(z) y=p2+real(z)^2 z=@fn(x+flip(y))^p4+p3 bailout: |z|<@bail default: title="Cathala" center=(0.001,0.001) angle=26 magn=0.77 maxiter=500 param p1 default=(-0.59,0) endparam param p2 default=(-1.25,0) endparam param p3 default=(0,0) endparam param p5 caption="Exponent 1" default=1 endparam param p4 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f711 (marotto-lorenz){ ;http://sprott.physics.wisc.edu/pubs/paper371.pdf init: z=fn1(pixel) loop: x=(1-p1*real(z)-p2*imag(z))*(p1*real(z)+p2*imag(z)) y=real(z) z=@fn(x+flip(y))^p4+p3 bailout: |z|<@bail default: title = "Marotto-Lorenz" center=(0.25,0.25) angle=0 magn=3 periodicity=0 maxiter=500 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(-0.6,-0.8) endparam param p2 default=(2.5,0) endparam param p3 default=(0,0) endparam param p4 caption="Exponent" default=1 endparam param bail caption="Bailout" default=4.0 endparam } f712 (modified lozi){ init: z=@Fs(pixel) loop: if @V==0 x=1+p1*(cabs(real(z))-imag(z)^2)+imag(z) else x=1+p1*(|real(z)|-imag(z)^2)+imag(z) endif y=p2*real(z) z=@fn(x+flip(y))^p4+p3 bailout: |z|<@bail default: title="Modified Lozi" center=(0.001,0.001) maxiter=250 func Fs caption="Start Function" default=ident() endfunc param V caption="Variant" enum="1""2" default=0 endparam param p1 default=(0.33,-1.05) endparam param p2 default=(0.43,-1.1) endparam param p3 default=(0,0) endparam param p4 caption="Exponent" default=(1,0) endparam func fn caption="Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f713 (multifold henon){ ; http://sprott.physics.wisc.edu/pubs/paper308.pdf init: z=fn1(pixel) loop: x=1-p1*sin(real(z))+p2*imag(z) y=real(z) z=fn2(x+flip(y))^p4+p3 bailout: |z|<@bail default: title="Multifold Henon" center=(0.001,0.001) magn=0.125 maxiter=500 periodicity=0 param p1 default=(-0.9,1.9) endparam param p2 default=(0.9,0.1) endparam param p3 default=(0,0) endparam param p4 caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=105.0 endparam } f714 (sprott-elhadj 2){ ;http://sprott.physics.wisc.edu/pubs/paper310.pdf init: z=fn1(pixel) loop: z=@fn(recip(p2+z^2))-fn3(p1*z) bailout: |z|<@bail default: title="Sprott-Elhadj 2" center=(0.001,0.001) maxiter=500 param p1 default=(0.97619,0) endparam param p2 default=(0.1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f715 (ushiki){ ;Based on Ushiki map, http://n-vasegh.ir/Chaos/Ushiki_map.pdf init: z=fn1(#pixel) loop: x=(p1-real(z)-p2*imag(z))*real(z) y=(p3-imag(z)-p4*real(z))*imag(z) z=fn2(x+flip(y))^@p6+p5 bailout: |z|<@bail default: title="Ushiki" center=(0.001,0.001) magn=0.5 maxiter=500 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(-1.45,0) endparam param p4 default=(0.2,0) endparam param p5 default=(0,0) endparam param p6 caption="Exponent" default=(1,0) endparam func fn1 default=cos() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=12.0 endparam } f716 (sine){ ;http://www.3d-meier.de/tut19/Seite114.html init: z=fn1(pixel) loop: x=imag(z) y=p1*sin(real(z))+p2*imag(z) z=@fn(x+flip(y))^P4+P3 bailout: |z|<@bail default: title = "f716 (sine)" center=(0.001,0.001) magn=0.5 maxiter=500 param p1 default=(-1.44173,0.25394) endparam param p2 default=(0.74783,-0.07914) endparam param p3 default=(0,0) endparam param p4 caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f718{ init: z=pixel c=pixel^2/2 loop: z=fn1(p1*(z-z^3/3-c)) c=fn2(z/p2) bailout: |z|<@bail default: title="f718" center=(0.001,0.001) magn=0.5 maxiter=1000 periodicity=0 func fn1 default=tan() endfunc func fn2 default=flip() endfunc param p1 default=(-0.022381,-0.201905) endparam param p2 default=(-0.053095,-0.192976) endparam param bail caption="Bailout" default=4.0 endparam } f719{ init: z=@Fs(pixel) loop: z=p1*fn1(conj(p1/(fn2(z)-p2)))+p2 bailout: |z|<@bail default: title="f719" center=(0.001,0.001) maxiter=500 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=sqr() endfunc param p1 default=(1.14162,-0.08261) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f720 (Kolmogorov-Volterra){ ; Based on equations from the book 'Invariant sets for windows', ; https://books.google.de/books?id=6Rrgc_1cN2IC&pg=PA56&lpg=PA56&dq=mira+fractal&source=bl&ots=AIujM4uhTU&sig=2ubJkswWXqw6xE6Qiq0dW9u22B0&sa=X&ei=slYzUJ72I-SB4gS-n4CYCQ&hl=de#v=onepage&q=mira%20fractal&f=false init: z=fn1(pixel) loop: x=(real(z)*(p1-real(z)^2)-p2*real(z)*imag(z))/(1+real(z)^2) y=(p3*real(z)^2-1)*imag(z)/(1+real(z)^2) z=fn2(x+flip(y))^@pow bailout: |z|<@bail default: title="Kolmogorov-Volterra" center=(0.001,0.001) maxiter=500 param p1 default=(-1.1,0) endparam param p2 default=(4.4,0) endparam param p3 default=(2.8,0) endparam param pow caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f721 (Mira 1){ ; Based on equations given in the book 'Invariant sets for windows' ; https://books.google.co.uk/books?id=6Rrgc_1cN2IC&printsec=frontcover&dq=Invariant+Sets+for+Windows&hl=en&sa=X&ved=0ahUKEwjt_dvD4c_LAhVGnRoKHc4mDk0Q6AEIHTAA#v=onepage&q=Invariant%20Sets%20for%20Windows&f=false init: z=fn1(pixel) loop: x=(1-p1)*real(z)+imag(z) y=p1*p2*real(z)+p3*imag(z)-p1*real(z)^3 z=@fn(x+flip(y))^@pow bailout: |z|<@bail default: title="Mira 1" center=(0.001,0.001) maxiter=500 param p1 default=(1.7,0) endparam param p2 default=(1,0) endparam param p3 default=(1.2,0) endparam param pow caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } f722 (Mira 2){ ; Based on equations given in the book 'Invariant sets for windows' ; https://books.google.co.uk/books?id=6Rrgc_1cN2IC&printsec=frontcover&dq=Invariant+Sets+for+Windows&hl=en&sa=X&ved=0ahUKEwjt_dvD4c_LAhVGnRoKHc4mDk0Q6AEIHTAA#v=onepage&q=Invariant%20Sets%20for%20Windows&f=false init: z=fn1(pixel) loop: x=real(z)^2-imag(z)^2+p1*real(z)+p2 y=2*real(z)*imag(z)-5*p1*imag(z)/2+p3 z=@fn(x+flip(y))^@pow bailout: |z|<@bail default: title="Mira 2" center=(0.001,0.001) magn=1.35 angle=300 maxiter=500 param p1 default=(0.06,0.08333) endparam param p2 default=(0.4,-0.5) endparam param p3 default=(1.05,-0.25) endparam param pow caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Volterra{ ; Based on equations given in the book 'Invariant sets for windows' ; https://books.google.co.uk/books?id=6Rrgc_1cN2IC&printsec=frontcover&dq=Invariant+Sets+for+Windows&hl=en&sa=X&ved=0ahUKEwjt_dvD4c_LAhVGnRoKHc4mDk0Q6AEIHTAA#v=onepage&q=Invariant%20Sets%20for%20Windows&f=false init: z=fn1(pixel) loop: x=e^imag(z)-1+p2*(e^real(z)-1)*e^imag(z)/(p2+e^(2*real(z))) y=p1*(1-e^real(z))-p1*p2*(e^real(z)-1)*e^real(z)/(p2+e^(2*real(z))) z=fn2(x+flip(y))^@pow+p3 bailout: |z|<@bail default: title="Volterra" center=(0.001,0.001) angle=0 magn=2 periodicity=0 param p1 default=(0.75,1.1) endparam param p2 default=(-2.92,2.02) endparam param p3 default=(0,0) endparam param pow caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=450.0 endparam } f724 { init: z=@Fs(pixel) loop: if |z-p2|<|p1| z=p1*fn1(conj(p1/(fn2(z)-p2)))+p2 else z=p1*fn1(conj(p1/(fn2(z^2)-p2)))+p2 endif bailout: |z|<@bail default: title="f724" center=(-0.15,0.001) angle=90 magn=2 maxiter=500 func Fs caption="Start Function" default=ident() endfunc func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1.1,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f725 { init: z=@Fs(pixel) loop: z=@fn(exp(p1/(1+sqrt(p2)-z)-(1+sqrt(p1))/(2+sqrt(p2)))) bailout: |z|<@bail default: title="f725" center=(1.5,0.001) maxiter=500 periodicity=0 func Fs caption="Start Function" default=ident() endfunc param p1 default=(0.407915,0) endparam param p2 default=(0.362806,0) endparam func fn caption="Loop Function" default=abs() endfunc param bail caption="Bailout" default=4.0 endparam } f726 { init: z=@Fs(pixel) loop: z=@fn(sinh((1+2*sqrt(-1)-|p1*z|^2)*z+p2)) bailout: |z|<@bail default: title="f726" center=(-0.03025,0.6650625) magn=2.2588235 maxiter=500 func Fs caption="Start Function" default=ident() endfunc param p1 default=(0.73171,-0.59008) endparam param p2 default=(1.58143,1.56963) endparam func fn caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f727{ init: z=fn1(pixel) loop: z=fn2(z) z=(p1+sqrt(p1^2-p2*cos(z)*cos(z-p3)))/cos(z) z=fn3(z) bailout: |z|<@bail default: title="f727" center=(0.001,0.001) func fn1 default=cos() endfunc func fn2 default=cos() endfunc func fn3 default=cos() endfunc param p1 default=(1.65,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } f728{ init: z=fn1(pixel) loop: x=p1*log(z) y=p1*(z+recip(z))/2 z=p3*@fn(x+flip(y))+p2 bailout: |z|<@bail default: title="f728" center=(0.79,-0.06) magn=2.8 maxiter=500 param p1 default=(0.221917,0.866725) endparam param p3 caption="Parameter 2" default=(1,0) endparam param p2 caption="Parameter 3" default=(-0.093567,-0.077562) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Pickover2{ ;by Clifford Pickover, as given here http://rouxjeanbernard.ch/AM/html/amch82.html init: z=fn2(pixel)^@pow1 loop: x=sin(p1*imag(z))+p2*sin(p1*real(z)) y=sin(p3*real(z))+p4*sin(p3*imag(z)) z=fn1(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Pickover 2 (Latoocarfian)" center=(-0.8,-1.2) magn=0.0625 maxiter=500 param p1 default=(-0.5,0) endparam param p2 default=(1.5,0) endparam param p3 default=(0.8,0) endparam param p4 default=(-1.7,0) endparam func fn2 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Pickover3{ ;by Clifford Pickover, as given here http://rouxjeanbernard.ch/AM/html/amch82.html init: z=fn2(pixel)^@pow1 loop: x=sin(p1*imag(z))+(sin(p1*real(z)))^2+ (sin(p1*real(z)))^3 y=sin(p2*real(z))+(sin(p2*imag(z)))^2+ (sin(p3*imag(z)))^3 z=fn1(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Pickover 3" center=(0.001,0.001) magn=0.25 maxiter=500 param p1 default=(4,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn2 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Pickover4{ ;by Clifford Pickover, as given here http://rouxjeanbernard.ch/AM/html/amch82.html init: z=fn2(pixel)^@pow1 loop: x=sin(p1*imag(z))+(sin(p1*real(z)))^2 y=sin(p2*real(z))+(sin(p2*imag(z)))^2 z=fn1(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Pickover 4" center=(0.001,0.001) magn=0.125 maxiter=500 periodicity=0 param p1 default=(0.65,0) endparam param p2 default=(1,0) endparam func fn2 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Pickover5{ init: z=fn2(pixel)^@pow1 loop: x=|sin(p1*imag(z))|+(sin(p1*real(z)))^2 y=|sin(p2*real(z))|+(sin(p2*imag(z)))^2 z=fn1(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Pickover 5 Erratum" center=(0.001,0.001) magn=0.25 maxiter=500 param p1 default=(-0.66667,0) endparam param p2 default=(1.59524,0) endparam func fn2 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Pickover5a{ ;by Clifford Pickover, as given here http://rouxjeanbernard.ch/AM/html/amch82.html init: z=fn2(pixel)^@pow1 loop: x=cabs(sin(p1*imag(z)))+(sin(p1*real(z)))^2 y=cabs(sin(p2*real(z)))+(sin(p2*imag(z)))^2 z=fn1(x+flip(y))^@pow2 bailout: |z|<@bail default: title="Pickover 5" center=(0.001,0.001) magn=0.25 maxiter=500 param p1 default=(0.5,0) endparam param p2 default=(1,0) endparam func fn2 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Sprott2{ ;http://sprott.physics.wisc.edu/pubs/paper371.pdf init: z=fn2(pixel)^p3 loop: x=(1+p1*p2)*real(z)-p2*real(z)*imag(z) y=(1-p2)*imag(z)+p2*real(z)^2 z=fn1(x+flip(y))^@pow bailout: |z|<@bail default: title="Sprott 2" center=(0.001,2.001) maxiter=500 magn=0.7 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn2 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc param p3 caption="Exponent 1" default=1 endparam param pow caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=15.0 endparam } Volterra-Lotka{ ;https://en.wikipedia.org/wiki/Lotka%E2%80%93Volterra_equations init: z=fn1(pixel) loop: x=p1*real(z)-p2*real(z)*imag(z) y=-p3*imag(z)+p4*real(z)*imag(z) z=@fn(x+flip(y)) bailout: |z|<@bail default: title="Volterra-Lotka" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(-1.05,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1.8,-1.4) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Latoocarfian Plus{ init: z=@fn5(pixel)^@pow1 loop: x=fn1(p1*imag(z))+p2*fn2(p1*real(z)) y=fn3(p3*real(z))+p4*fn4(p3*imag(z)) z=(x+flip(y))^@pow bailout: |z|<@bail default: title="Latoocarfian Plus" center=(0.001,0.001) maxiter=500 magn=0.125 periodicity=0 param p1 default=(-0.5,0) endparam param p2 default=(1.3,0) endparam param p3 default=(1.05,0) endparam param p4 default=(-1.6,0) endparam func fn5 caption="Start Function" default=ident() endfunc func fn1 default=sin() endfunc func fn2 default=sin() endfunc func fn3 default=sin() endfunc func fn4 default=sin() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow caption="Exponent 2" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f736{ init: z=fn3(pixel) loop: x=(imag(z)-fn1(real(z)^@pow+p1))/p2 y=-real(z)/p3 z=fn2(x+flip(y)) bailout: |z|<@bail default: title="f736" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn3 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc param pow caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } f737{ init: z=fn1(pixel) loop: x=1-p1*(real(z))^2+imag(z) y=-real(z)-(real(z))^3-p1*imag(z)+p2*cos(p3*imag(z)) z=@fn(x+flip(y))^@power bailout: |z|<@bail default: title="f737" center=(0.001,0.001) angle=90 magn=0.7 maxiter=250 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=(1.1,0.8) endparam param p2 default=(0.9,-0.1) endparam param p3 default=(-0.4,-0.4) endparam param power caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=100.0 endparam } f738{ init: z=fn1(pixel) loop: x=imag(z)-p1*real(z)^3+p2*real(z)^2-z+p3 y=p4-p5*real(z)^2-imag(z) z=@fn(x+flip(y)) bailout: |z|<@bail default: title="f738" center=(0.001,0.001) maxiter=500 param p1 default=(0.38,-0.36) endparam param p2 default=(0.2,-1.5) endparam param p3 default=(-0.7,-1.9) endparam param p4 default=(1,0.7) endparam param p5 default=(-1.3,-0.5) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=cosh() endfunc param bail caption="Bailout" default=20.0 endparam } f739{ init: z=fn4(pixel) loop: x=real(z)*fn1(4-imag(z))+p1*z y=p2*(fn2(real(z))-imag(z)+z) z=p3*fn3(x+flip(y))+p4 bailout: |z|<@bail default: title="f739" center=(0.001,0.001) angle=270 maxiter=500 param p1 default=(-1.584251,1.840836) endparam param p2 default=(-0.27443,-1.20363) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn4 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc func fn3 caption="Function 4" default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } f740{ init: z=fn4(pixel) loop: x=p1*sin(real(z))-imag(tan(z))-fn1(z) y=-p2*tan(real(z))+real(sin(z))+fn2(z) z=fn3(x+flip(y))+p3 bailout: |z|<@bail default: title="f740" center=(0.001,0.001) periodicity=0 param p1 default=(1.8,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn4 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc func fn3 caption="Function 4" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f741{ init: z=fn2(pixel) loop: x=imag(z) y=z z=fn1(-p1*x-p2*flip(y)-p3*z+x^2) bailout:|z|<@bail default: title="f741" center=(0.14,-0.52) angle=90 param p1 default=(-1.8537,-0.3295) endparam param p2 default=(0.92,-0.1382) endparam param p3 default=(0.9606,-0.0188) endparam func fn2 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f742{ init: z=fn4(pixel) loop: x=fn1(p1*(1-real(z)^2)*real(z)-real(z)) y=fn2(-p1*(1-real(z)^2)*imag(z)-imag(z)) z=p3*fn3(x+flip(y))+p2 bailout: |z|<@bail default: title="f742" center=(0.001,0.001) angle=-51 maxiter=500 periodicity=0 param p1 default=(0.056,-0.85) endparam param p3 caption="Parameter 2" default=(1,0) endparam param p2 caption="Parameter 3" default=(0,0) endparam func fn4 caption="Function 1" default=ident() endfunc func fn1 caption="Function 2" default=ident() endfunc func fn2 caption="Function 3" default=ident() endfunc func fn3 caption="Function 4" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f745{ init: z=fn1(pixel) c=fn1(pixel)^2/2 loop: z=@fn(z*cos(p1)-(c-z^2)*sin(p1)) c=@fn(z*sin(p1)+(c-z^2)*cos(p1)) bailout: |z|<@bail default: title="f745" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 caption="Parameter" default=(0.5,0) endparam param bail caption="Bailout" default=4.0 endparam } f746{ init: z=pixel x=real(pixel) y=imag(pixel) w=|pixel| loop: x=fn1(p1*(y-x)+p2*w) y=fn2(x*(p3-z)-y) z=fn3(x*y-p4*z) w=fn4(-x-p1*w) bailout:|z|<@bail default: title="f746" center=(0.25,-0.14) magn=2.16 maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0.72426,-0.63027) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=sqr() endfunc param bail caption="Bailout" default=4.0 endparam } f747{ init: z=pixel x=real(z) y=imag(z) w=|z| loop: x=fn1(p1*(y-x)+w) y=fn2(p2*x-x*z-y) z=fn3(-p3*z+x*y) w=fn4(-x*z+p4*w) bailout:|z|<@bail default: title="f747" center=(-0.1,0.001) magn=2.145 maxiter=500 periodicity=0 param p1 default=(-0.024,0.049) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f748{ init: z=pixel x=real(z) y=imag(z) w=|z| loop: x=fn1(p1*(y-x)) y=fn2((p2-p1)*x-x*z+p2*y) z=fn3(-p3*z+x*y-y*z+x*z-w) w=fn4(-p4*w+y*z-x*z) bailout:|z|<@bail default: title="f748" center=(-0.24,-0.23) angle=45 magn=2.43 maxiter=500 periodicity=0 param p1 default=(1,-0.04) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Möbius{ init: z=@Fs(pixel) loop: if @f==0 z=@mult*fn1((p1*z+p2)/(p3*z+p4))^@pow elseif @f==1 z=@mult*fn1((p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2))^@pow elseif @f==2 z=@mult*fn1((p1*z+p2)/(p3*z+p4)-(p3*z+p4)/(p1*z+p2))^@pow elseif @f==3 z=@mult*fn1((p4*z-p2)/(-p3*z+p1))^@pow elseif @f==4 z=@mult*fn1((p1*z+p2)/(p3*z+p4)+(p4*z-p2)/(-p3*z+p1))^@pow elseif @f==5 z=@mult*fn1((p1*z+p2)/(p3*z+p4)-(p4*z-p2)/(-p3*z+p1))^@pow elseif @f==6 z=@mult*fn1((p1*z+p2)/(p3*z+p4)*(p4*z-p2)/(-p3*z+p1))^@pow elseif @f==7 z=@mult*fn1((p1*z+p2)/(p3*z+p4)/(p4*z-p2)/(-p3*z+p1))^@pow elseif @f==8 z=@mult*fn1((p1*conj(z)+p2)/(p3*conj(z)+p4))^@pow endif bailout: |z|<@bail default: title="Möbius" center=(0.001,0.001) maxiter=500 param f caption="Variant" enum= "Möbius" "M+Recip" "M-Recip" "Inverse" "M+Inverse" "M-Inverse" "M*Inverse" "M/Inverse" "Anti-Möbius" default=0 endparam func Fs caption="Start Function" default=ident() endfunc param p1 default=(2,1) endparam param p2 default=(1,2) endparam param p3 default=(1,2) endparam param p4 default=(2,0) endparam func fn1 caption="Function" default=ident() endfunc param mult caption="Parameter 5" default=(1,0) endparam param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Lozi{ init: z=fn1(pixel) loop: x=1-p1*cabs(real(z))+imag(z) y=p2*real(z) z=@fn(x+flip(y)) bailout: |z|<@bail default: title="Lozi" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Mobius2 { init: z=@Fs(pixel) loop: if @f==0 z=@mult*fn1((p1*(p1*conj(z)+p2)/(p3*conj(z)+p4)+p2)/(p3*(p1*conj(z)+p2)/(p3*conj(z)+p4)+p4))^@pow elseif @f==1 z=@mult*fn1((p1* (p3*conj(z)+p4) /(p1*conj(z)+p2)+p2)/(p3* (p3*conj(z)+p4) /(p1*conj(z)+p2)+p4))^@pow elseif @f==2 z=@mult*fn1((p1*(-p3*conj(z)+p1)/ (p4*conj(z)-p2)+p2)/(p3*(-p3*conj(z)+p1)/ (p4*conj(z)-p2)+p4))^@pow elseif @f==3 z=@mult*fn1((p1*conj(z)+p2)/(p3*conj(z)+p4)+(p3*conj(z)+p4)/(p1*conj(z)+p2))^@pow elseif @f==4 z=@mult*fn1((p1*conj(z)+p2)/(p3*conj(z)+p4)-(p3*conj(z)+p4)/(p1*conj(z)+p2))^@pow elseif @f==5 z=@mult*fn1((p1*conj(z)+p2)/(p3*conj(z)+p4)+(p4*conj(z)-p2)/(-p3*conj(z)+p1))^@pow elseif @f==6 z=@mult*fn1((p1*conj(z)+p2)/(p3*conj(z)+p4)-(p4*conj(z)-p2)/(-p3*conj(z)+p1) )^@pow elseif @f==7 z=@mult*fn1(((p1*conj(z)+p2)/(p3*conj(z)+p4))*(p4*conj(z)-p2)/(-p3*conj(z)+p1) )^@pow elseif @f==8 z=@mult*fn1((p1*conj(z)+p2)/(p3*conj(z)+p4)/(p4*conj(z)-p2)/(-p3*conj(z)+p1) )^@pow endif bailout: |z|<@bail default: title="Möbius 2" center=(0.001,0.001) maxiter=500 periodicity=0 func Fs caption="Start Function" default=ident() endfunc param f caption="Variant" enum="M sub A" "M sub Recip A" "M sub Recip Inv A" "A + Recip A" "A - Recip A" "A + Inv A" "A-Inv A" "A * Inv A" "A / Inv A" default=0 endparam param p1 default=(-2,-0.5) endparam param p2 default=(1,2) endparam param p3 default=(1,-2) endparam param p4 default=(2,0) endparam func fn1 caption="Function" default=ident() endfunc param mult caption="Parameter 5" default=(1,0) endparam param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Möbius3 { global: import "common.ulb" import "Standard.ulb" Formula f = new @formulaClass(0) init: z=@Fs(pixel) loop: if @f==0 z=@mult*fn1( f.Iterate((p1*z+p2)/(p3*z+p4)))^@pow elseif @f==1 z=@mult*fn1( f.Iterate((p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2)))^@pow elseif @f==2 z=@mult*fn1( f.Iterate((p1*z+p2)/(p3*z+p4)-(p3*z+p4)/(p1*z+p2)))^@pow elseif @f==3 z=@mult*fn1( f.Iterate((p4*z-p2)/(-p3*z+p1)))^@pow elseif @f==4 z=@mult*fn1( f.Iterate((p1*z+p2)/(p3*z+p4)+(p4*z-p2)/(-p3*z+p1)))^@pow elseif @f==5 z=@mult*fn1( f.Iterate((p1*z+p2)/(p3*z+p4)-(p4*z-p2)/(-p3*z+p1)))^@pow elseif @f==6 z=@mult*fn1( f.Iterate((p1*z+p2)/(p3*z+p4)*(p4*z-p2)/(-p3*z+p1)))^@pow elseif @f==7 z=@mult*fn1( f.Iterate((p1*z+p2)/(p3*z+p4)/(p4*z-p2)/(-p3*z+p1)))^@pow elseif @f==8 z=@mult*fn1( f.Iterate((p1*conj(z)+p2)/(p3*conj(z)+p4)))^@pow elseif @f==9 z=@mult*fn1(f.Iterate((p1*(p1*conj(z)+p2)/(p3*conj(z)+p4)+p2)/(p3*(p1*conj(z)+p2)/(p3*conj(z)+p4)+p4)))^@pow elseif @f==10 z=@mult*fn1(f.Iterate((p1* (p3*conj(z)+p4) /(p1*conj(z)+p2)+p2)/(p3* (p3*conj(z)+p4) /(p1*conj(z)+p2)+p4)))^@pow elseif @f==11 z=@mult*fn1(f.Iterate((p1*(-p3*conj(z)+p1)/ (p4*conj(z)-p2)+p2)/(p3*(-p3*conj(z)+p1)/ (p4*conj(z)-p2)+p4)))^@pow elseif @f==12 z=@mult*fn1(f.Iterate((p1*conj(z)+p2)/(p3*conj(z)+p4)+(p3*conj(z)+p4)/(p1*conj(z)+p2)))^@pow elseif @f==13 z=@mult*fn1(f.Iterate((p1*conj(z)+p2)/(p3*conj(z)+p4)-(p3*conj(z)+p4)/(p1*conj(z)+p2)))^@pow elseif @f==14 z=@mult*fn1(f.Iterate((p1*conj(z)+p2)/(p3*conj(z)+p4)+(p4*conj(z)-p2)/(-p3*conj(z)+p1)))^@pow elseif @f==15 z=@mult*fn1(f.Iterate((p1*conj(z)+p2)/(p3*conj(z)+p4)-(p4*conj(z)-p2)/(-p3*conj(z)+p1)) )^@pow elseif @f==16 z=@mult*fn1(f.Iterate(((p1*conj(z)+p2)/(p3*conj(z)+p4))*(p4*conj(z)-p2)/(-p3*conj(z)+p1) ) )^@pow elseif @f==17 z=@mult*fn1(f.Iterate((p1*conj(z)+p2)/(p3*conj(z)+p4)/(p4*conj(z)-p2)/(-p3*conj(z)+p1)) )^@pow endif bailout: |Z|<@bail default: title="Möbius 3" center=(0.001,0.001) maxiter=500 param f caption="Variant" enum= "Möbius" "M + Recip" "M - Recip" "Inverse" "M + Inverse" "M - Inverse" "M * Inverse" "M / Inverse" "Anti-Möbius" "M sub A" "M sub Recip A" "M sub Recip Inverse A" "A + Recip A" "A - Recip A" "A + Inverse A" "A - Inverse A" "A * Inverse A" "A / Inverse A" default=0 endparam func Fs caption="Start Function" default=ident() endfunc param p1 default=(2,1) endparam param p2 default=(1,2) endparam param p3 default=(1,2) endparam param p4 default=(-2,-0.4) endparam func fn1 caption="Function" default=ident() endfunc param mult caption="Parameter 5" default=(1,0) endparam param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam Formula param formulaClass caption = "Plug-In" default = Standard_Mandelbrot endparam } Möbius4{ global: import "common.ulb" import "mt.ulb" Formula f = new @formulaClass(0) init: z=@Fs(pixel) loop: if @plugin if @form==0 z=fn1(f.Iterate((p1*z+p2)/(p3*z+p4)+(@p7*z+@p8)/(p5*z+p6)))^@pow elseif @form==1 z=fn1(f.Iterate((p5*z+p6)/(@p7*z+@p8)+(p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2)))^@pow elseif @form==2 z=fn1(f.Iterate((p5*z+p6)/(@p7*z+@p8)+(@p7*z+@p8)/(p5*z+p6)+(p4*z-p2)/(-p3*z+p1)))^@pow elseif @form==3 z=fn1(f.Iterate((p1*z+p2)/(p3*z+p4)+(@p8*z-p6)/(-@p7*z+p5)+ (p3*z+p4)/(p1*z+p2)+(p4*z-p2)/(-p3*z+p1)))^@pow elseif @form==4 z=fn1(f.Iterate((p5*z+p6)/(@p7*z+@p8)+(p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2)+(@p7*z+@p8)/(p5*z+p6)))^@pow elseif @form==5 z=fn1(f.Iterate((p4*z-p2)/(-p3*z+p1)+(p1*z+p2)/(p3*z+p4)+(@p8*z-p6)/(-@p7*z+p5)+(p5*z+p6)/(@p7*z+@p8)))^@pow elseif @form==6 z=fn1(f.Iterate((p5*z+p6)/(@p7*z+@p8)+(p1*z+p2)/(p3*z+p4)+(p4*z-p2)/(-p3*z+p1)+(@p7*z+@p8)/(p5*z+p6)+(p3*z+p4)/(p1*z+p2)))^@pow elseif @form==7 z=fn1(f.Iterate((@p8*z-p6)/(-@p7*z+p5)+(p4*z-p2)/(-p3*z+p1)+(p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2)+(@p7*z+@p8)/(p5*z+p6)))^@pow elseif @form==8 z=fn1(f.Iterate((@p8*z-p6)/(-@p7*z+p5)+(p3*z+p4)/(p1*z+p2)+(p4*z-p2)/(-p3*z+p1)+(@p7*z+@p8)/(p5*z+p6) +(p5*z+p6)/(@p7*z+@p8)))^@pow elseif @form==9 z=fn1(f.Iterate((@p7*z+@p8)/(p5*z+p6)+(p3*z+p4)/(p1*z+p2)+(@p8*z-p6)/(-@p7*z+p5)+(p1*z+p2)/(p3*z+p4)+(p5*z+p6)/(@p7*z+@p8)))^@pow endif else if @form==0 z=fn1((p1*z+p2)/(p3*z+p4)+(@p7*z+@p8)/(p5*z+p6))^@pow elseif @form==1 z=fn1((p5*z+p6)/(@p7*z+@p8)+(p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2))^@pow elseif @form==2 z=fn1((p5*z+p6)/(@p7*z+@p8)+(@p7*z+@p8)/(p5*z+p6)+(p4*z-p2)/(-p3*z+p1))^@pow elseif @form==3 z=fn1((p1*z+p2)/(p3*z+p4)+(@p8*z-p6)/(-@p7*z+p5)+ (p3*z+p4)/(p1*z+p2)+(p4*z-p2)/(-p3*z+p1))^@pow elseif @form==4 z=fn1((p5*z+p6)/(@p7*z+@p8)+(p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2)+(@p7*z+@p8)/(p5*z+p6))^@pow elseif @form==5 z=fn1((p4*z-p2)/(-p3*z+p1)+(p1*z+p2)/(p3*z+p4)+(@p8*z-p6)/(-@p7*z+p5)+(p5*z+p6)/(@p7*z+@p8))^@pow elseif @form==6 z=fn1((p5*z+p6)/(@p7*z+@p8)+(p1*z+p2)/(p3*z+p4)+(p4*z-p2)/(-p3*z+p1)+(@p7*z+@p8)/(p5*z+p6)+(p3*z+p4)/(p1*z+p2))^@pow elseif @form==7 z=fn1((@p8*z-p6)/(-@p7*z+p5)+(p4*z-p2)/(-p3*z+p1)+(p1*z+p2)/(p3*z+p4)+(p3*z+p4)/(p1*z+p2)+(@p7*z+@p8)/(p5*z+p6))^@pow elseif @form==8 z=fn1((@p8*z-p6)/(-@p7*z+p5)+(p3*z+p4)/(p1*z+p2)+(p4*z-p2)/(-p3*z+p1)+(@p7*z+@p8)/(p5*z+p6) +(p5*z+p6)/(@p7*z+@p8))^@pow elseif @form==9 z=fn1((@p7*z+@p8)/(p5*z+p6)+(p3*z+p4)/(p1*z+p2)+(@p8*z-p6)/(-@p7*z+p5)+(p1*z+p2)/(p3*z+p4)+(p5*z+p6)/(@p7*z+@p8))^@pow endif endif bailout: |z|<@bail default: title="Möbius 4" center=(0.001,0.001) maxiter=500 param form caption="Variant" enum="a1 + b3" "b1 + a1 + a3" "b1 + b3 + a2" "a1 + b2 + a3 +a2" "b1 + a1 + a3 + b3" "a2 + a1 + b2 + b1" "b1 + a1 + a2 + b3 + a3 " "b2 + a2 + a1 + a3 + b3" "b2 + a3 + a2 + b3 + b1" "b3 + a3 + b2 + a1 + b1" default=0 endparam func Fs caption="Start Function" default=ident() endfunc param p1 default=(-2.6,-1.4) endparam param p2 default=(1.2,-0.3) endparam param p3 default=(2.4,-2) endparam param p4 default=(5.3,1.9) endparam param p5 default=(-2.1,0.9) endparam param p6 default=(0.5,1.2) endparam param p7 caption="Parameter 7" default=(-0.9,-0.3) endparam param p8 caption="Parameter 8" default=(-1.2,-1.3) endparam func fn1 caption="Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=false endparam Formula param formulaClass caption="Plug-In" default=MT_BarnsleyIJulia endparam } AtomGusto(MagusAttractor1){ global: import "common.ulb" import "thm.ulb" Formula f=new @formulaClass(0) init: z=@Fs(pixel) loop: if @plugin if @form==0 z=fn1(f.iterate((p1*z^2+p2*z+p3)/(p4*z^2+p5*z+p6)))^@pow elseif @form==1 z=fn1(f.iterate((@p7*z^3+p1*z^2+p2*z+p3)/(@p8*z^3+p4*z^2+p5*z+p6)))^@pow elseif @form==2 z=fn1(f.iterate((@p9*z^4+@p7*z^3+p1*z^2+p2*z+p3)/(@p10*z^4+@p8*z^3+p4*z^2+p5*z+p6)))^@pow elseif @form==3 z=fn1(f.iterate((@p11*z^5+@p9*z^4+@p7*z^3+p1*z^2+p2*z+p3)/(@p12*z^5+@p10*z^4+@p8*z^3+p4*z^2+p5*z+p6)))^@pow endif else if @form==0 z=fn1((p1*z^2+p2*z+p3)/(p4*z^2+p5*z+p6))^@pow elseif @form==1 z=fn1((@p7*z^3+p1*z^2+p2*z+p3)/(@p8*z^3+p4*z^2+p5*z+p6))^@pow elseif @form==2 z=fn1((@p9*z^4+@p7*z^3+p1*z^2+p2*z+p3)/(@p10*z^4+@p8*z^3+p4*z^2+p5*z+p6))^@pow elseif @form==3 z=fn1((@p11*z^5+@p9*z^4+@p7*z^3+p1*z^2+p2*z+p3)/(@p12*z^5+@p10*z^4+@p8*z^3+p4*z^2+p5*z+p6))^@pow endif endif bailout: |z|<=@bail default: title="f749" center=(0.001,0.001) maxiter=500 param form caption="Variant" enum="Quadratic" "Cubic" "quartic" "Quintic" default=0 endparam func Fs caption="Start Function" default=ident() endfunc param p1 default=(-0.95,0) endparam param p2 default=(0.67,0) endparam param p3 default=(0.76,0) endparam param p4 default=(-3,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(1,0) endparam param p8 caption="Parameter 8" default=(1,0) endparam param p9 caption="Parameter 9" default=(1,0) endparam param p10 caption="Parameter 10" default=(1,0) endparam param p11 caption="Parameter 11" default=(1,0) endparam param p12 caption="Parameter 12" default=(1,0) endparam func fn1 caption="Function" default=sin() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=false endparam Formula param formulaClass caption="Plug-In" default=TSwCGreenNewton visible=@plugin==true endparam } OmTutSagoMagusAttractor2{ global: import "common.ulb" import "reb.ulb" Formula f = new @formulaClass(0) init: z=@Fs(pixel) loop: if @plugin if @form==0 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(f.Iterate(x+flip(y)))^@pow elseif @form==1 x=p1*real(z)^2*z+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(f.Iterate(x+flip(y)))^@pow elseif @form==2 x=p1*real(z)^2+p2*imag(z)*z+p3 y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(f.Iterate(x+flip(y)))^@pow elseif @form==3 x=p1*real(z)^2+p2*imag(z)+p3*z y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(f.Iterate(x+flip(y)))^@pow elseif @form==4 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)*z+p5*imag(z)^2+p6 z=fn1(f.Iterate(x+flip(y)))^@pow elseif @form==5 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2*z+p6 z=fn1(f.Iterate(x+flip(y)))^@pow elseif @form==6 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2+p6*z z=fn1(f.Iterate(x+flip(y)))^@pow endif else if @form==0 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(x+flip(y))^@pow elseif @form==1 x=p1*real(z)^2*z+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(x+flip(y))^@pow elseif @form==2 x=p1*real(z)^2+p2*imag(z)*z+p3 y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(x+flip(y))^@pow elseif @form==3 x=p1*real(z)^2+p2*imag(z)+p3*z y=p4*real(z)+p5*imag(z)^2+p6 z=fn1(x+flip(y))^@pow elseif @form==4 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)*z+p5*imag(z)^2+p6 z=fn1(x+flip(y))^@pow elseif @form==5 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2*z+p6 z=fn1(x+flip(y))^@pow elseif @form==6 x=p1*real(z)^2+p2*imag(z)+p3 y=p4*real(z)+p5*imag(z)^2+p6*z z=fn1(x+flip(y))^@pow endif endif bailout: |z|<=@bail default: title="f750" center=(0.89,-0.29) magn=1.15 maxiter=500 param form caption="Variant" enum="1" "2" "3" "4" "5" "6" "7" default=0 endparam func Fs caption="Start Function" default=ident() endfunc param p1 default=(1.18,-0.03) endparam param p2 default=(0.92,-0.73) endparam param p3 default=(1.23,-0.42) endparam param p4 default=(-1,-1.15) endparam param p5 default=(1,0) endparam param p6 default=(0.36,-0.3) endparam func fn1 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=false endparam Formula param formulaClass caption="Plug-In" default=REB_CayleyJulia endparam } Newton/Mandelbrot{ init: z=@Fs(pixel) loop: z=fn1(p1*(z^2+#pixel)/3+recip(p2*(z^2+#pixel)^2))^@pow bailout: |z|<=@bail default: title="Newton/Mandelbrot" center=(0.001,0.001) maxiter=500 func Fs caption="Start Function" default=ident() endfunc param p1 default=(2,0) endparam param p2 default=(3,0) endparam func fn1 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Newton/Möbius { global: import "common.ulb" import "thm.ulb" Formula f = new @formulaClass(0) init: z=@Fs(pixel) loop: if @plugin z=fn1(f.iterate((p1*(2*z/3+recip(3*z^2))+p2)/(p3*(2*z/3+recip(3*z^2))+p4)))^@pow else z=fn1((p1*(2*z/3+recip(3*z^2))+p2)/(p3*(2*z/3+recip(3*z^2))+p4))^@pow endif bailout: |z|<=@bail default: title="Newton / Möbius" center=(0.001,0.001) maxiter=500 func Fs caption="Start Function" default=ident() endfunc param p1 default=(0.47,0.2) endparam param p2 default=(1.7,-1) endparam param p3 default=(-2,0.2) endparam param p4 default=(1.03,0.5) endparam func fn1 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=false endparam Formula param formulaClass caption="Plug-In" default=TSwCGreenNewton endparam } Möbius/Julia { init: z=@Fs(pixel) loop: z=fn1((p1*(z^2+p5)+p2)/(p3*(z^2+p6)+p4))^@pow bailout: |z|<=@bail default: title = "Möbius / Julia" center=(0.001,0.001) magn=1.5 maxiter=500 angle=90 func Fs caption="Start Function" default=ident() endfunc param p1 default=(-1.95,0.5) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,-0.08) endparam param p5 caption="Julia Seed 1" default=(1,0) endparam param p6 caption="Julia Seed 2" default=(1.08,-0.23) endparam func fn1 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Hopalong{ ;http://softology.com.au/tutorials/attractors2d/tutorial.htm init: z=fn1(pixel) loop: x=imag(z)-1-sqrt(abs(p1*real(z)-1-p2))*((real(z)-1)/cabs(real(z)-1)) y=p3-real(z)-1 z=@fn(x+flip(y))^@pow +p4 bailout: |z|<@bail default: title="Hopalong 2" center=(0.001,0.001) maxiter=500 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Hopalong/Möbius{ init: z=@Fs(pixel) loop: x=imag((p1*z+p2)/(p3*z+p4))-1-sqrt(abs(p5*real((p1*z+p2)/(p3*z+p4))-1-p6))*((real((p1*z+p2)/(p3*z+p4))-1)/cabs(real((p1*z+p2)/(p3*z+p4))-1)) y=@p7-real((p1*z+p2)/(p3*z+p4))-1 z=@fn(x+flip(y))^@pow bailout: |z|<@bail default: title="Hopalong / Möbius" center=(-0.84,0.43) angle=71 magn=1.3 maxiter=500 func Fs caption="Start Function" default=ident() endfunc param p1 default=(-1.5,1.5) endparam param p2 default=(0.7,0.5) endparam param p3 default=(-0.3,0.1) endparam param p4 default=(1.4,-0.4) endparam param p5 default=(-0.2,-0.1) endparam param p6 default=(-1.6,0.1) endparam param p7 caption="Parameter 7" default=(2.5,0.6) endparam func fn caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Lozi/Julia{ init: z=@Fs(pixel) loop: x=1-p1*sqrt(|real(z^2+p3)|)+imag(z^2+p3) y=p2*real(z^2+p3) z=@fn(x+flip(y))^@pow bailout: |z|<@bail default: title="Lozi / Julia" center=(0.001,0.001) maxiter=500 func Fs caption="Start Function" default=ident() endfunc param p1 default=(0.75,0.57) endparam param p2 default=(1.03,-0.06) endparam param p3 default=(1,0) endparam func fn caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Duffing{ init: z=fn2(pixel) loop: x=imag(z) y=-p1*real(z)+p2*imag(z)-imag(z)^3 z=fn1(x+flip(y))^@pow bailout: |z|<=@bail default: title="Duffing Mod" center=(0.001,0.001) maxiter=500 param p1 default=(0.990408,-0.028777) endparam param p2 default=(1,0) endparam func fn2 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Halley/Mobius { init: z=fn1(pixel) loop: z=fn2(((p1*z+p2)/(p3*z+p4))-p5*(2*((p1*z+p2)/(p3*z+p4))^@pow*(@pow*((p1*z+p2)/(p3*z+p4))^(@pow-1))+p6)/(2*(@pow*((p1*z+p2)/(p3*z+p4))^(@pow-1))^2-(((p1*z+p2)/(p3*z+p4))^@pow*((@pow-1)*@pow*((p1*z+p2)/(p3*z+p4))^(@pow-2))))) bailout: |z|<@bailout default: title="Halley/Mobius" param pow caption="Exponent" default=(3,0) endparam param p1 default=(0.8,-0.5) endparam param p2 default=(1,2) endparam param p3 default=(-2.6,-1.2) endparam param p4 default=(1.5,-1.5) endparam param p5 default=(1,0) endparam param p6 default=(-2,0.5) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Schröder/Möbius{ init: z=fn1(pixel) loop: z=fn2(((p1*z+p2)/(p3*z+p4))-p5*((((p1*z+p2)/(p3*z+p4))^@pow*@pow*((p1*z+p2)/(p3*z+p4))^(@pow-1)+p6)/((@pow*((p1*z+p2)/(p3*z+p4))^(@pow-1))^2-((p1*z+p2)/(p3*z+p4))^@pow*(@pow-1)*@pow*((p1*z+p2)/(p3*z+p4))^(@pow-2)))) bailout: |z|<@bailout default: title="Schröder / Möbius" center=(0.001,0.001) param p1 default=(1.6,-0.1) endparam param p2 default=(0.3,-0.6) endparam param p3 default=(1.1,-0.2) endparam param p4 default=(1.1,-0.2) endparam param p5 default=(0.9,-0.2) endparam param p6 default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Klein5 { ; Adapted and modified from Morgan_L_Owens.frm init: ang=2*pi/5 c1=p3*fn2(exp((0,0)*ang)) c2=p3*fn2(exp((0,1)*ang)) c3=p3*fn2(exp((0,2)*ang)) c4=p3*fn2(exp((0,3)*ang)) c5=p3*fn2(exp((0,4)*ang)) r=fn3(sqrt(p4)/2) z=fn4(pixel) loop: if |z-c1|<|r| z=p1*fn1(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn1(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn1(r*conj(r/(z-c3))+c3)+p2 elseif |z-c4|<|r| z=p1*fn1(r*conj(r/(z-c4))+c4)+p2 elseif |z-c5|<|r| z=p1*fn1(r*conj(r/(z-c5))+c5)+p2 else z=p1*fn1(r*conj(r/z))+p2 endif bailout:|z|<@bail default: title="Five Klein" center=(0.001,0.001) maxiter=500 periodicity=0 func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param p1 default=(2.3,0.05) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default= 1.38 endparam param bail caption="Bailout" default=4.0 endparam } Klein7 { ; Adapted and modified from Morgan_L_Owens.frm init: a=2*pi/7 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) c4=p3*fn2(exp((0,3)*a)) c5=p3*fn2(exp((0,4)*a)) c6=p3*fn2(exp((0,5)*a)) c7=p3*fn2(exp((0,6)*a)) r=fn3(sqrt(p4)/2) z=fn4(pixel) loop: if |z-c1|<|r| z=p1*fn1(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn1(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn1(r*conj(r/(z-c3))+c3)+p2 elseif |z-c4|<|r| z=p1*fn1(r*conj(r/(z-c4))+c4)+p2 elseif |z-c5|<|r| z=p1*fn1(r*conj(r/(z-c5))+c5)+p2 elseif |z-c6|<|r| z=p1*fn1(r*conj(r/(z-c6))+c6)+p2 elseif |z-c7|<|r| z=p1*fn1(r*conj(r/(z-c7))+c7)+p2 else z=p1*fn1(r*conj(r/z))+p2 endif bailout: |z|<@bail default: title="Seven Klein" center=(0.001,0.001) maxiter=500 periodicity=0 func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param p1 default=(2.071,0.012) endparam param p2 default=(0,0) endparam param p3 default= (1,0) endparam param p4 caption="Parameter 4" default=0.7515 endparam param bail caption="Bailout" default=4.0 endparam } 1{ ;Modified from 'Twisted Sierpinksi Triangle' in sam.ufm, by Luke Plant and Frederik Slijkerman and Samuel Monnier init: z=@fn7(pixel)^@pow+@p13 loop: if imag(z)>0.5 z=@p11*@fn6(p1*fn1(2*real(z) + flip(2*imag(z)-1))+p6)+@p12 elseif real(z)>0.5 z=@p11*@fn6(p2*fn2(2*real(z)-1 + flip(2*imag(z)))+@p7)+@p12 elseif imag(z)<-0.5 z=@p11*@fn6(p3*fn3(2*real(z) + flip(2*imag(z)+1))+@p8)+@p12 elseif real(z)<-0.5 z=@p11*@fn6(p4*fn4(2*real(z)+1 + flip(2*imag(z)))+@p9)+@p12 else z=@p11*@fn6(p5*@fn5(2*real(z) + flip(2*imag(z)))+@p10)+@p12 endif bailout: |z|<@bail default: title="Sierpinski Surprise" center=(0.001,0.001) maxiter=250 periodicity=0 func fn7 caption="Function (Start)" default=ident() endfunc param pow caption="Exponent (Start)" default=1.0 endparam param p13 caption="Parameter (Start)" default=0.0 endparam func fn1 caption="Function (Top)" default=ident() endfunc param p1 caption="Parameter (Top) 1" default=(1,0) endparam param p6 caption="Parameter (Top) 2" default=(0,0) endparam func fn2 caption="Function (Right)" default=ident() endfunc param p2 caption="Parameter (Right) 1" default=(1,0) endparam param p7 caption="Parameter (Right) 2" default=(0,0) endparam func fn3 caption="Function (Bottom)" default=ident() endfunc param p3 caption="Parameter (Bottom) 1" default=(1,0) endparam param p8 caption="Parameter (Bottom) 2" default=(0,0) endparam func fn4 caption="Function (Left)" default=ident() endfunc param p4 caption="Parameter (Left) 1" default=(1,0) endparam param p9 caption="Parameter (Left) 2" default=(0,0) endparam func fn5 caption="Function (Centre)" default=ident() endfunc param p5 caption="Parameter (Centre) 1" default=(1,0) endparam param p10 caption="Parameter (Centre) 2" default=(0,0) endparam func fn6 caption="Function (Whole)" default=ident() endfunc param p11 caption="Parameter (Whole) 1" default=(1,0) endparam param p12 caption="Parameter (Whole) 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } IFS2{ ; Modified from 'IFSEscape1' in reb.ufm, by Ramiro Perez and Ron Barnett init: z=fn1(log(pixel)) loop: if real(fn2(z))=p1 z=z*conj(p2)+p3 endif bailout: |z|<@bail default: title="Eosene Faspic" angle=45 maxiter=500 center=(0.35,1) magn=4 param p1 caption="Parameter 1" default=0.0 endparam param p2 default=(0.9,-0.87) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=1000000000.0 endparam } Inkle{ init: z=fn1(pixel) loop: z=p1*fn2(p2*conj(p2/(z+p3))+p3)^@pow+p4 bailout:|z|<@bail default: title="Inkle" center=(0.001,0.001) maxiter=500 magn=0.5 param p1 default=(1,0) endparam param p2 default=(0.77,0) endparam param p3 default=(-1,0) endparam param p4 default=(-2,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=2.205 endparam param bail caption="Bailout" default=4.0 endparam } ifs/inkle{ init: z=fn4(pixel) loop: if imag(p1*conj(p1/(z-p2))+p2)>0.5 z=fn1(2*real(p1*conj(p1/(z-p2))+p2)+flip(2*imag(p1*conj(p1/(z-p2))+p2)-1)) elseif real(p1*conj(p1/(z-p2))+p2)>0.5 z=fn2(2*real(p1*conj(p1/(z-p2))+p2)-1+flip(2*imag(p1*conj(p1/(z-p2))+p2))) else z=fn3(2*real(p1*conj(p1/(z-p2))+p2)+flip(2*imag(p1*conj(p1/(z-p2))+p2))) endif bailout: |z|<@bailout default: title="Lef Si Nik" center=(0.001,0.001) maxiter=250 func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn2 caption="Loop Function 2" default=ident() endfunc func fn3 caption="Loop Function 3" default=ident() endfunc param p1 default=(0.4,-0.8) endparam param p2 default=(1.2,0) endparam param bailout caption="Bailout" default=4.0 endparam } FourKlein{ ; Adapted and modified from Morgan_L_Owens.frm init: a=2*pi/4 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) c4=p3*fn2(exp((0,3)*a)) r=fn3(sqrt(p4)/2) z=fn4(pixel) loop: if |z-c1|<|r| z=p1*fn1(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn1(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn1(r*conj(r/(z-c3))+c3)+p2 elseif |z-c4|<|r| z=p1*fn1(r*conj(r/(z-c4))+c4)+p2 else z=p1*fn1(r*conj(r/z))+p2 endif bailout:|z|<@bail default: title="Four Klein" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1.02,0.75) endparam param p2 default=(0,0) endparam param p3 default=(0.85,0) endparam param p4 caption="Parameter 4" default=1.47 endparam func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } EightKlein { ; Adapted and modified from Morgan_L_Owens.frm init: a=2*pi/8 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) c4=p3*fn2(exp((0,3)*a)) c5=p3*fn2(exp((0,4)*a)) c6=p3*fn2(exp((0,5)*a)) c7=p3*fn2(exp((0,6)*a)) c8=p3*fn2(exp((0,7)*a)) r=fn3(sqrt(p4)/2) z=fn4(pixel) loop: if |z-c1|<|r| z=p1*fn1(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn1(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn1(r*conj(r/(z-c3))+c3)+p2 elseif |z-c4|<|r| z=p1*fn1(r*conj(r/(z-c4))+c4)+p2 elseif |z-c5|<|r| z=p1*fn1(r*conj(r/(z-c5))+c5)+p2 elseif |z-c6|<|r| z=p1*fn1(r*conj(r/(z-c6))+c6)+p2 elseif |z-c7|<|r| z=p1*fn1(r*conj(r/(z-c7))+c7)+p2 elseif |z-c8|<|r| z=p1*fn1(r*conj(r/(z-c8))+c8)+p2 else z=p1*fn1(r*conj(r/z))+p2 endif bailout: |z|<@bail default: title="Eight Klein" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(2.16,0.95) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default=0.66 endparam func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=sqr() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Magnet/Inkle{ init: z=fn1(pixel) loop: z=fn2((((p1*conj(p1/(z-p2))+p2)^2+p3-1)/(2*(p1*conj(p1/(z-p2))+p2)+p3-2))^2)^@pow bailout: |z|<@bail default: title="Magnet / Inkle" center=(0.001,0.001) magn=0.5 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } King'sDream { ; http://softology.com.au/tutorials/attractors2d/tutorial.htm init: z=fn1(pixel) loop: x=sin(p1*imag(z))+p2*sin(p1*real(z)) y=sin(p3*real(z))+p4*sin(p3*imag(z)) z=fn2(x+flip(y))^@pow bailout: |z|<@bail default: title="King's Dream" center=(0.001,0.001) magn=0.5 periodicity=0 param p1 default=(-1.48,0.29) endparam param p2 default=(1.6,-0.48) endparam param p3 default=(-0.05,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } IFS3{ init: z=fn1(pixel)^@pow loop: if real(fn2(z))*imag(fn3(z))>1 z=fn4(p1)*(z+p2) else z=@fn5(p1)*(z+p3) endif bailout: |z|<@bail default: title="Ifetresh" center=(0.001,0.001) magn=0.5 param p1 default=(-0.7,-0.8) endparam param p2 default=(1.7,1.4) endparam param p3 default=(-0.2,0.7) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param pow caption="Exponent" default=1 endparam param bail caption="Bailout" default=4.0 endparam } KleinLatticePlus{ ; Adapted and modified from Morgan_L_Owens.frm init: r=p1*(1/2) z=fn1(pixel) c=p2*fn2(z) loop: if |z-c|<|r| z=p4*fn3(r*conj(r/(fn4(z)-c))+c)^@pow+p3 endif bailout: |z|<=@bail default: title="Klein Lattice Plus" center=(0.001,0.001) maxiter=250 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=round() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } IFS4{ init: z=fn1(pixel) loop: if imag(z)>1 z=p1*fn2(asin(2*real(z)+flip(2*imag(z)-1)))+p4 elseif real(z)>1 z=p2*fn3(asinh(2*real(z)-1+flip(2*imag(z))))+p5 else z=p3*fn4(2*real(z)+flip(2*imag(z)))+p6 endif bailout: |z|<@bail default: title="Nisufrufoy" center=(0.001,0.001) angle=315 magn=0.5 maxiter=250 func fn1 default=abs() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam param p6 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } IFS/Möbius{ init: z=fn1(pixel) loop: if imag((p1*z+p2)/(p3*z+p4))>0.5 z=fn2(2*real((p1*z+p2)/(p3*z+p4))+flip(2*imag((p1*z+p2)/(p3*z+p4))-1)) elseif real((p1*z+p2)/(p3*z+p4))>0.5 z=fn3(2*real((p1*z+p2)/(p3*z+p4))-1+flip(2*imag((p1*z+p2)/(p3*z+p4)))) else z=fn4(2*real((p1*z+p2)/(p3*z+p4))+flip(2*imag((p1*z+p2)/(p3*z+p4)))) endif bailout: |z|<@bail default: title="Soifi Smub" center=(0.001,0.001) maxiter=250 func fn1 default=abs() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(-0.667,-0.083) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Magnet/Möbius { ; hybrid of type 1 Julia magnet and mobius init: z=fn1(pixel) loop: z=fn2(((((p1*z+p2)/(p3*z+p4))^2+p5-1)/(2*((p1*z+p2)/(p3*z+p4))+p5-2))^2)+p6 bailout: |z|<@bail default: title="Magnet / Möbius 1" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(-0.7,0) endparam param p3 default=(1,0) endparam param p4 default=(0.4,0) endparam param p5 default=(0,0) endparam param p6 default=(0,0) endparam func fn1 default=exp() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Magnet/Möbius2{ ; hybrid of type 1 mandelbrot magnet and mobius init: z=fn1(pixel) loop: z=fn2(((((p1*z+p2)/(p3*z+p4))^2+pixel-1)/(2*((p1*z+p2)/(p3*z+p4))+pixel-2))^2)+p5 bailout: |z|<@bail default: title="Magnet / Möbius 2" center=(0.7,0.001) param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(-2,0) endparam param p4 default=(2,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } IFS/Devaney1 { ; Devaney/Sierpinski hybrid init: z=fn1(pixel) loop: if imag(z^@pow1+pixel/(z-p1)^@pow2)>0.5 z=fn2(2*real(z^@pow1+pixel/(z-p1)^@pow2)+flip(2*imag(z^@pow1+pixel/(z-p1)^@pow2)-1)) elseif real(z^@pow1+pixel/(z-p1)^@pow2)> 0.5 z=fn3(2*real(z^@pow1+pixel/(z-p1)^@pow2)-1+flip(2*imag(z^@pow1+pixel/(z-p1)^@pow2))) else z=fn4(2*real(z^@pow1+pixel/(z-p1)^@pow2)+flip(2*imag(z^@pow1+pixel/(z-p1)^@pow2))) endif bailout: |z|<@bail default: title="Fevidenasy 1" center=(0.001,0.001) magn=4 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(1,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=1 endparam param bail caption="Bailout" default=4.0 endparam } IFS/Devaney2 { ; Devaney/Sierpinski hybrid init: z=fn1(pixel) loop: if imag(z^@pow1+p1/(z-p2)^@pow2)>0.5 z=fn2(2*real(z^@pow1+p1/(z-p2)^@pow2)+flip(2*imag(z^@pow1+p1/(z-p2)^@pow2)-1)) elseif real(z^@pow1+p1/(z-p2)^@pow2)> 0.5 z=fn3(2*real(z^@pow1+p1/(z-p2)^@pow2)-1+flip(2*imag(z^@pow1+p1/(z-p2)^@pow2))) else z=fn4(2*real(z^@pow1+p1/(z-p2)^@pow2)+flip(2*imag(z^@pow1+p1/(z-p2)^@pow2))) endif bailout: |z|<@bail default: title="Fevidenasy 2" center=(0.001,0.001) magn=2 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(-0.065,0) endparam param p2 default=(0,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=1 endparam param bail caption="Bailout" default=4.0 endparam } IFS/Devaney3 { ; Devaney/Sierpinski hybrid init: z=fn1(pixel) loop: if imag(z^@pow1+pixel+p1/(z-p2)^@pow2)>0.5 z=fn2(2*real(z^@pow1+pixel+p1/(z-p2)^@pow2)+flip(2*imag(z^@pow1+pixel+p1/(z-p2)^@pow2)-1)) elseif real(z^@pow1+pixel+p1/(z-p2)^@pow2)> 0.5 z=fn3(2*real(z^@pow1+pixel+p1/(z-p2)^@pow2)-1+flip(2*imag(z^@pow1+pixel+p1/(z-p2)^@pow2))) else z=fn4(2*real(z^@pow1+pixel+p1/(z-p2)^@pow2)+flip(2*imag(z^@pow1+pixel+p1/(z-p2)^@pow2))) endif bailout: |z|<@bail default: title="Fevidenasy 3" center=(0.001,0.001) magn=4 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(0.06,0) endparam param p2 default=(1,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=1 endparam param bail caption="Bailout" default=4.0 endparam } f759{ ;A modification of 'IFS-Barnsley' in sam.ufm init: z=fn1(pixel) x=fn2(p1) y=fn3(p1) loop: if real(p5*@fn5(z))*imag(p5*@fn5(z))>p2 z=fn4(x*(z+p3)) else z=fn4(y*(z+p4)) endif bailout: |z|<@bailout default: title="Barnsley" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=cotan() endfunc func fn3 default=sqrt() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param p1 default=(1,-0.8) endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(1,0) endparam param p4 default=(0,0.1) endparam param p5 default=(1,0) endparam param bailout caption="Bailout" default=1000.0 endparam } f762 { ;A modification of 'IFS-Barnsley' in sam.ufm init: z=fn1(pixel) x=fn2(p1) y=fn3(p1) loop: if real(p5*@fn5(p6*conj(p6/(z+@p7))+@p7))*imag(p5*@fn5(p6*conj(p6/(z+@p7))+@p7))>p2 z=fn4(x*(p6*conj(p6/(z+@p7))+@p7+p3)) else z=fn4(y*(p6*conj(p6/(z+@p7))+@p7+p4)) endif bailout: |z|<@bailout default: title="Barnsley / Inkle" center=(0.001,0.001) maxiter=250 func fn1 default=abs() endfunc func fn2 default=ident() endfunc func fn3 default=asinh() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param p1 default=(-0.75,0) endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(1,0) endparam param bailout caption="Bailout" default=1000.0 endparam } f760{ ;Based on the Fractint formula http://www.nahee.com/spanky/www/fractint/fractal_types.html init: z=fn1(pixel) loop: if real(z)>0 z=fn2(real(z)^2-imag(z)^2-1+flip(2*real(z)*imag(z)))^@pow+p2 else z=fn2(real(z)^2-imag(z)^2-1+real(p1)*real(z)+flip(2*real(z)*imag(z) +imag(p1)*real(z)))^@pow+p2 endif bailout: |z|<@bailout default: title="Barnsley 2" center=(0.001,0.001) magn=2 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(-0.65,0) endparam param p2 default=(0,0) endparam param pow caption="Exponent" default=1.0 endparam param bailout caption="Bailout" default=1000.0 endparam } f761 { init: z=fn1(pixel) x=fn2(p1) y=fn3(p1) loop: if real(z^2+p5)*imag(z^2+p5)>p2 z=fn4(x*(z^2+p5+p3)) else z=fn4(y*(z^2+p5+p4)) endif bailout: |z|<@bailout default: title="Ubels Yarlij Snaif" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=cotan() endfunc func fn3 default=sqrt() endfunc func fn4 default=ident() endfunc param p1 default=(1,-0.8) endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(1.8,0.1) endparam param p4 default=(-0.096,-0.073) endparam param p5 default=(-0.8,-0.6) endparam param bailout caption="Bailout" default=1000.0 endparam } f755 { init: z=fn1(log(pixel)) loop: if real(fn2(z^2+p4))=p1 z=(z^2+p4)*conj(p2)+p3 endif bailout: |z|<@bail default: title="Luisijaf 1" angle=90 maxiter=500 center=(1,0.6) param p1 caption="Parameter 1" default=2.38 endparam param p2 default=(0.48,-1.02) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=1000000000.0 endparam } f756 { init: z=fn1(pixel)^@pow1 loop: z=fn2(p1*cos(p2)*real(z^2+@p7)-p3*sin(p4)*imag(z^2+@p7)+p5+flip(p1*sin(p2)*real(z^2+@p7)+p3*cos(p4)*imag(z^2+@p7)+p6))^@pow2 bailout: |z|<@bailout default: title="Luisijaf 2" center=(0.001,0.001) maxiter=250 param p1 default=(0.22,0.82) endparam param p2 default=(0.85,0.12) endparam param p3 default=(2.21,0.96) endparam param p4 default=(0.74,0.41) endparam param p5 default=(1.12,-0.62) endparam param p6 default=(0.68,-0.35) endparam param p7 default=(-0.71,0.02) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f757 { init: z=fn1(pixel) loop: z=fn2(p1*real(z^@pow+p4)+flip(p2*imag(z^@pow+p4))+p3) bailout: |z|<@bailout default: title="Luisijaf 3" center=(0.001,0.001) angle=90 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(0.56,-0.08) endparam param p2 default=(0.87,-0.04) endparam param p3 default=(0.02,-0.4) endparam param p4 default=(1.02,0.23) endparam param pow caption="Exponent" default=2 endparam param bailout caption="Bailout" default=4.0 endparam } f752 { init: z=fn1(abs(sqr(p1*pixel^3+p2*pixel^2+p3*pixel+p4))) loop: if imag(z)>0.5 z=fn2(log(2*real(z)+flip(2*imag(z)-p5))) elseif real(z)>0.5 z=fn3(sinh(2*real(z)-p6+flip(2*imag(z)))) else z=fn4(cosh(2*real(z)+flip(2*imag(z)))) endif bailout: |z|<@bailout default: title="Grovand" center=(-0.33,0.001) angle=90 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f753 { init: z=fn1(pixel) loop: if imag(p1*(z*(p2-z^2)+1/z*(p2-z^2)))>0.5 z=fn2(2*real(p1*(z*(p2-z^2)+1/z*(p2-z^2)))+flip(2*imag(p1*(z*(p2-z^2)+1/z*(p2-z^2)))-1))^@pow elseif real(p1*(z*(p2-z^2)+1/z*(p2-z^2)))> 0.5 z=fn3(2*real(p1*(z*(p2-z^2)+1/z*(p2-z^2)))-1+flip(2*imag(p1*(z*(p2-z^2)+1/z*(p2-z^2)))))^@pow else z=fn4(2*real(p1*(z*(p2-z^2)+1/z*(p2-z^2)))+flip(2*imag(p1*(z*(p2-z^2)+1/z*(p2-z^2)))))^@pow endif bailout: |z|<@bail default: title="Brifishyd" center=(0.001,0.001) maxiter=250 func fn1 default=flip() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=sqrt() endfunc param p1 default=(0.577934,-0.201441) endparam param p2 default=(0,0) endparam param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } f758{ init: z=fn1(pixel) loop: z=fn2(p1-(z+p2)^2/p3) bailout: |z|<@bail default: title="Juliation" center=(-1,0.001) magn=0.86 maxiter=500 param p1 default=(0.51613,0.15342) endparam param p2 default=(1,0) endparam param p3 default=(2,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } f754 { ;I found the basis of this formula in the book "The Science of Fractal Images", ; in a section written by Heinz-Otto Peitgen init: z=fn1(pixel) loop: z=fn2(cos(((z^2+p1-1)/(2*z+p1-2))^2))^@pow+p2 bailout: |z|<@bailout default: title="Peitgen" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param pow caption="Exponent" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f763{ ;http://algorithmic-worlds.net/blog/blog.php?Post=20110227 init: z=fn1(pixel) loop: if imag(z)>0 k=p1*fn2(z) else k=p1*fn2(conj(z)) endif z=p2*fn3(log(k+p3))+p4 bailout: |z|<@bailout default: title="Quack" center=(0.001,0.001) angle=90 magn=1 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=cotan() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0.894483,-0.31655) endparam param p4 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } f764{ init: z=fn1(pixel) loop: if imag(z^@pow+p5)>0 k=p1*fn2(z^@pow+p5) else k=p1*fn2(conj(z^@pow+p5)) endif z=p2*fn3(log(k+p3))+p4 bailout: |z|<@bailout default: title="Quack / Julia" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=asinh() endfunc func fn3 default=cotan() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 caption="Julia Seed" default=(0.374104,-0.508398) endparam param pow caption="Exponent" default=2 endparam param bailout caption="Bailout" default=4.0 endparam } f765{ init: z=fn1(pixel) loop: if imag(p5*conj(p5/(z+p6))+p6)>0 k=p1*fn2(p5*conj(p5/(z+p6))+p6) else k=p1*fn2(conj(p5*conj(p5/(z+p6))+p6)) endif z=p2*fn3(log(k+p3))+p4 bailout: |z|<@bailout default: title="Quack / Inkle" center=(0.001,0.001) angle=90 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=atanh() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0.89,-0.32) endparam param p4 default=(0,0) endparam param p5 default=(1.1954,-0.01) endparam param p6 default=(0.06,0.09) endparam param bailout caption="Bailout" default=4.0 endparam } f766 { init: z=fn1(pixel) loop: if imag((p5*z+p6)/(@p7*z+@p8))>0 k=p1*fn2((p5*z+p6)/(@p7*z+@p8)) else k=p1*fn2(conj((p5*z+p6)/(@p7*z+@p8))) endif z=p2*fn3(log(k+p3))+p4 bailout: |z|<@bailout default: title="Quack / Möbius" center=(0.001,0.001) periodicity=0 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(0.75,0.15) endparam param p2 default=(1,0) endparam param p3 default=(1.25,-0.6) endparam param p4 default=(0.2,-0.65) endparam param p5 default=(-2,0) endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(1,0) endparam param p8 caption="Parameter 8" default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } Mayan{ init: z=p4*fn1(abs(pixel)) loop: if imag(z)>0.4 z=p1*fn2(asinh(1.9*real(z)+flip(1.9*imag(z)-1.6))) elseif real(z)>0.4 z=p2*fn3(conj(1.9*real(z)-1.6+flip(1.9*imag(z)))) else z=p3*fn4(exp(1.9*real(z)+flip(1.9*imag(z)))) endif bailout: |z|<@bail default: title="Mayan" center=(0.001,0.001) maxiter=500 magn=0.8 angle=90 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } SierpinskiTriangle { ;Based very closely on 'Twisted Sierpinski' in sam.ufm ; I have added extra parameters and functions init: z=fn1(pixel)^@pow loop: if imag(z)>p6 z=fn2((p1*real(z))/p3+flip((p2*imag(z)-@p7)/p3))+@p8 elseif real(z)>p6 z=fn3((p1*real(z)-@p7)/p4+flip((p2*imag(z))/p4))+@p9 else z=fn4((p1*real(z))/p5+flip((p2*imag(z))/p5))+@p10 endif bailout: |z|<@bailout default: title="Sierpinski Triangle" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 caption="Multiply 1" default=(2,0) endparam param p2 caption="Multiply 2" default=(2,0) endparam heading endheading param p3 caption="Divide 1" default=(1,0) endparam param p4 caption="Divide 2" default=(1,0) endparam param p5 caption="Divide 3" default=(1,0) endparam heading endheading param @p7 caption="Subtract" default=(1,0) endparam heading endheading param @p8 caption="Add 1" default=(0,0) endparam param @p9 caption="Add 2" default=(0,0) endparam param @p10 caption="Add 3" default=(0,0) endparam heading endheading param p6 caption="Conditional" default=0.5 endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc heading endheading param pow caption="Exponent" default=1 endparam heading endheading param bailout caption="Bailout" default=4.0 endparam } SierpinskiWeb { ; http://vismath7.tripod.com/proceedings/barrallo.htm init: z=fn1(abs(pixel^3))/5 loop: if imag(z)>p1 z=fn2(p2*real(z)+flip(p2*imag(z)-p3)) elseif real(z)>p1 z= fn3(p2*real(z)-p3+flip(p2*imag(z))) else z= fn4(p2*real(z)+flip(p2*imag(z))) endif bailout:|z|<@bailout default: title="Sierpinski Web" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 caption="Parameter 1" default=0.5 endparam param p2 default=(2,0) endparam param p3 default=(1,0) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc heading endheading param bailout caption="Bailout" default=4.0 endparam } Erratum{ init: z=fn1(pixel) loop: z=p5*fn2(z+p1*(recip(fn3(z^p2-p3*z-p4))^(p1-1)*z/recip(fn3(z^p2-p3*z-p4))^p1*z))+p6 bailout: |z|<@bail default: title="Erratum" center=(0.001,0.001) maxiter=500 param p1 default=(-0.15,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p4 caption="Parameter 3" default=(1,0) endparam param p5 caption="Parameter 4" default=(1.35,0) endparam param p6 caption="Parameter 5" default=(0.25,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p2 caption="Exponent" default=4 endparam param bail caption="Bailout" default=4.0 endparam } Erratum2{ init: z=fn1(pixel) loop: z=p2*fn2(z+p1*(recip(fn3(atan(z^4-p3*z-p4)))^(p1-1)/recip(fn3(atan(z^4-p3*z-p4)))^p1))+p5 bailout: |z|<@bail default: title="Erratum 2" center=(0.001,0.001) magn=2 maxiter=500 param p1 default=(1,0) endparam param p2 default=(1.4,0) endparam param p3 default=(7.7,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } InskiInkli{ init: z=fn1(pixel)^@pow loop: if imag(p5*conj(p5/(z+p6))+p6)>p1 z=fn2(p2*real(p5*conj(p5/(z+p6))+p6)+flip(p2*imag(p5*conj(p5/(z+p6))+p6)-p3)) elseif real(p5*conj(p5/(z+p6))+p6)>p1 z= fn3(p2*real(p5*conj(p5/(z+p6))+p6)-p3+flip(p2*imag(p5*conj(p5/(z+p6))+p6))) else z= fn4(p2*real(p5*conj(p5/(z+p6))+p6)+flip(p2*imag(p5*conj(p5/(z+p6))+p6))) endif z=p5*conj(p5/(z+p6))+p6+p4 z=abs(p5*conj(p5/(z+p6))+p6) bailout: |z|<@bailout default: title="Inski Inkli" center=(0.001,0.001) maxiter=500 param p1 caption="Parameter 1" default=1.0 endparam param p2 default=(1,0) endparam param p3 default=(2.4,-0.045) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam func fn1 default=abs() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=1 endparam param bailout caption="Bailout" default=4.0 endparam } FrulumaSmago{ init: z=(0,0) c=fn1(recip(pixel))+p1 loop: z=z^(-2)+c c=p2*(fn2(asinh(c^@pow))) bailout: |z|<@bailout default: title="Fruluma Smago" center=(0.001,0.001) maxiter=500 param p1 default=(0,0) endparam param p2 caption="Parameter 2" default=1.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=1.66 endparam param bailout caption="Bailout" default=10000000.0 endparam } Sortanova1{ ; A modification of code from here: ; https://github.com/edyoung/gnofract4d/blob/master/formulas/sterling2.frm ; which in turn is based on a formula by Tad Boniecki init: z=fn1(pixel) loop: a=z z=fn2(z-(sin(z)*log(z)-tan(z))/(z*(z*cos(z)-p1))*pixel)+p2 bailout: |a-z|>@bailout default: title="Sortanova 1" center=(-4,0.001) magn=0.4 maxiter=500 periodicity=0 param p1 caption="Parameter 1" default=4.2 endparam param p2 caption="Parameter 2" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=0.01 endparam } Sortanova2{ ; A modification of 'Sortanova 1' init: z=fn1(pixel) loop: a=z z=fn2(z-(sin(z)*log(z)-tan(z))/(z*(z*cos(z)-p1)))+p2 bailout: |a-z|>@bailout default: title="Sortanova 2" center=(0.001,0.001) maxiter=500 param p1 caption="Parameter 1" default=-5.0 endparam param p2 caption="Parameter 2" default=-0.33 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=0.00001 endparam } Castle { ;A modification of the formula found here: ; http://www.fracton.org/fmlposts/castle.html init: float a=real(p1) float b=real(@pow) float c=imag(p1) float d=imag(@pow) z=0 f=fn1(pixel)-p2 g=fn1(pixel)-p3 loop: z=1/(1/(a*(fn2(z^b))+f)+1/(c*(fn2(z^d))+g)) bailout: |z|<@bailout default: title="Castle" center=(0.001,0.001) magn=0.25 maxiter=250 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param pow caption="Exponent" default=2.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Leafbook{ init: z=fn1(pixel) loop: z=fn2((p1+p2*sqrt(-1)*fn3(z))*tanh(fn3(z))) bailout:|z|<@bail default: title="Leafbook" center=(0.001,0.001) maxiter=500 param p1 default=(0.425,0) endparam param p2 default=(1.1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Mandelmas{ init: z=fn1(pixel) a=fn2(pixel) loop: z=p1*fn3(z)^2+a z=(p2*0.5*fn3(z)^2)/(p2*fn3(z)+0.5)+a bailout: |z|<@bail default: title="Mandelmas" center=(0.001,0.001) maxiter=500 param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } ParallelResistance{ ; Formula by Mike Frazier, as given here: ; http://www.fracton.org/fmlposts/two_mand.html init: z=@start loop: a=recip(z^2+pixel-p1) b=recip(z^2+pixel-p2) z=fn1(recip(a+b)) bailout: |z|<@bailout default: title="Parallel Resistance" center=(0.001,0.001) magn=0.25 maxiter=500 param start caption="Start Value" default=(0,0) endparam param p1 default=(-2,0) endparam param p2 default=(1,0) endparam func fn1 caption="Function" default=ident() endfunc param bailout caption="Bailout" default=100.0 endparam } ParallelResistance2{ ; Formula by Mike Frazier, as given here: ; http://www.fracton.org/fmlposts/two_mand.html ; This version has 3 interacting Msets init: z=@start loop: a=recip(z^2+pixel-p1) b=recip(z^2+pixel-p2) c=recip(z^2+pixel-p3) z=fn1(recip(a+b+c)) bailout:|z|<@bailout default: title="Parallel Resistance 2" center=(0.001,0.001) magn=0.125 maxiter=500 param start caption="Start Value" default=(0,0) endparam param p1 default=(0,0) endparam param p2 default=(-4,0) endparam param p3 default=(3,0) endparam func fn1 caption="Function" default=ident() endfunc param bailout caption="Bailout" default=100.0 endparam } Perforaties { init: z=fn1(pixel) loop: z=p1*((p2*fn2(z^4-1)/z)^4-1)/(p2*fn2(z^4-1)/z) bailout: |z|<@bailout default: title="Perforaties" center=(0.001,0.001) angle=90 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(0.1,-0.1) endparam param p2 default=(0.4,0) endparam param bailout caption="Bailout" default=4.0 endparam } ShumbaHeevee{ ;Inspired by several formulas in Morgan L. Owen's 'Chby' series of frms init: z=fn1(pixel) a=p1 b=p2*p1^2-1 loop: c=z d=b b=p2*z^@pow-1 z=fn2(sqr(z-b*(z-a)/(b-d))) a=c bailout: |b|>@bail default: title="Shumba Heevee" center=(-2.5,0.001) magn=0.5 periodicity=0 maxiter=500 param p1 default=(1.1,0) endparam param p2 caption="Parameter 2" default=0.58 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=2 endparam param bail caption="Bailout" default=0.1 endparam } Skeleatics{ init: z=fn1(pixel) loop: z=p1*(p1*(fn2(z)-recip(fn2(z)))-recip(sqr(p1*(fn2(z)-recip(fn2(z)))))) bailout: |z|<@bailout default: title="Skeleatics" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=sqr() endfunc param p1 caption="Parameter" default=(-0.73,0) endparam param bailout caption="Bailout" default=4.0 endparam } TetrationJ { ; Based on a Fractint formula by Daniel Geisler, found here: ; http://www.tetration.org/Resources/Files/Fractint/FRACTINT.FRM init: z=fn1(pixel) loop: if @v2==0 z=fn2(p2^z)+p1 elseif @v2==1 z=fn2(p2^z^z)+p1 elseif @v2==2 z=fn2(p2^z^z^z)+p1 endif bailout:|z|<@bailout default: title="Tetration J" center=(0.001,0.001) maxiter=500 func fn1 caption="Start Function" default=sqr() endfunc param v2 caption="Loop" enum="z=c^z" "z=c^z^z" "z=c^z^z^z" default=0 endparam param p1 caption="Parameter 1" default=-0.9 endparam param p2 default=(3,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bailout caption="Bailout" default=100.0 endparam } TetrationM{ ; Based on a Fractint formula by Daniel Geisler, found here: ; http://www.tetration.org/Resources/Files/Fractint/FRACTINT.FRM init: if @v==0 z=fn1(pixel)+p1 else z=fn1(pixel^pixel)+p1 endif loop: if @v2==0 z=fn2(pixel^z)+p2 elseif @v2==1 z=fn2(pixel^z^z)+p2 endif bailout: |z|<@bailout default: title="Tetration M" center=(0.001,0.001) magn=0.5 maxiter=500 param v caption="Init" enum="z=pixel" "z=pixel^pixel" default=0 endparam param p1 caption="Start Parameter" default=0.0 endparam func fn1 caption="Start Function" default=ident() endfunc param v2 caption="Loop" enum="z=pixel^z" "z=pixel^z^z" default=0 endparam param p2 caption="Loop Parameter" default=-0.9 endparam func fn2 caption="Loop Function" default=ident() endfunc param bailout caption="Bailout" default=100.0 endparam } Inkle2{ init: z=fn1(pixel) loop: z=p1*fn2(p2*conj(p2/(z-p3))+p3)^@pow+p4 bailout: |z|<@bail default: title="Inkle Two" center=(0.001,0.001) maxiter=500 magn=0.7 periodicity=0 param p1 default=(-0.63,0) endparam param p2 default=(1,0) endparam param p3 default=(0.676,0) endparam param p4 default=(-0.4453,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=1 endparam param bail caption="Bailout" default=4.0 endparam } Inkle2/Julia{ init: z=fn1(pixel) loop: z=p1*fn2(p2*conj(p2/((z^2+p5)-p3))+p3)^@pow+p4 bailout: |z|<@bail default: title="Inkle Two / Julia" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param p1 default=(0.3,0) endparam param p2 default=(-0.333,0) endparam param p3 default=(0.2,0) endparam param p4 default=(-0.42,0) endparam param p5 default=(-0.17,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=1 endparam param bail caption="Bailout" default=4.0 endparam } Cocactamon{ init: z=fn1(pixel) a=sqrt(3)/2 i=sqrt(-1) loop: c=(-0.5*(p1*fn2(conj(p1/(z-p2)))+p2)-a)/(a*(p1*fn2(conj(p1/(z-p2)))+p2)-0.5) d=(i*c+i)/(-c+1) f=(-0.5*d+a)/(-a*d-0.5) z=(f-i)/(f+i) bailout: |z|<@bailout default: title="Cocactamon" center=(0.001,0.001) magn=0.25 maxiter=250 periodicity=0 func fn1 default=ident() endfunc func fn2 default=abs() endfunc param p1 default=(3.28,0.15) endparam param p2 default=(-2.75,-2.04) endparam param bailout caption="Bailout" default=100.0 endparam } Gunifanea{ init: z=fn1(pixel) loop: z=(-0.1,0.15)*((0.1*sqr(p1*fn2(z)+p2)+sqrt(-0.99))/(sqrt(-0.99)*sqr(p1*fn2(z)+p2)+0.1))+0.6 bailout: |z|<@bailout default: title="Gunifanea" center=(0.001,0.001) maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } Hau { init: z=fn1(abs(pixel)) k1=(2.25,0.55) k2=(0.95,0.05) k3=(0.1,0.35) loop: a=z/(-z+k1) b=(a+k1)/(a-k1) c=b/(b+k1) d=c/(c+k1) z=p1*(k2*abs((-d-k1)/(-d+k1))+k3)+p2 bailout: |z|<@bailout default: title="Hau" center=(0.001,0.001) maxiter=250 func fn1 Caption="Function" default=ident() endfunc param p1 default=(1.275,0.085) endparam param p2 default=(-0.313,-0.123) endparam param bailout caption="Bailout" default=10.0 endparam } Ingioness{ init: z=fn1(pixel) i=sqrt(-1) loop: a=(z-i)/(z+i) z=((p1*fn2(a)+p2)-1)/((p1*fn2(a)+p2)+1) bailout: |z|<@bailout default: title="Ingioness" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=abs() endfunc param p1 default=(-1.056872,0.113745) endparam param p2 default=(0.028436,0.094787) endparam param bailout caption="Bailout" default=1000.0 endparam } MackZonHine{ init: z=fn1(pixel) i=sqrt(-1) loop: z=p1*((fn2(conj(z))+i)/(fn2(conj(z))-1))+p2 bailout: |z|<@bailout default: title="Mack Zon Hine" center=(0.001,0.001) maxiter=500 param p1 default=(-0.354,-0.409) endparam param p2 default=(0.447,0.162) endparam func fn1 default=sqr() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=10.0 endparam } Multischuliar{ init: a=2*pi/3 c1=exp((0,0)*a) c2=exp((0,1)*a) c3=exp((0,2)*a) r=sqrt(3)/2 z=fn1(exp(pixel)) loop: b=p3*fn2(z)+p4 if |b-c1|<|r| z=p1*fn3(sqr(r*(b-c1)/(b+c1)))+p2 elseif |b-c2|<|r| z=p1*fn3(sqr(r*(b-c2)/(b+c2)))+p2 elseif |b-c3|<|r| z=p1*fn3(sqr(r*(b-c3)/(b+c3)))+p2 else z=p1*fn3(sqr(r))+p2 endif bailout: |z|<@bailout default: title="Multischuliar" center=(-0.5,0.001) angle=270 maxiter=500 periodicity=0 param p1 default=(1,-2.4) endparam param p2 default=(0.2,-0.5) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Pyctaktion{ init: z=fn1(pixel) a=p1*fn2(exp((0,0))) b=p1*fn2(exp((0,1))) c=p1*fn2(exp((0,2))) loop: v=(fn3(abs(z))-a)/(fn3(abs(z))+b) w=(p2*v+c)/(p2*v-b) z=(p3+w+a)/(p3+w+c) bailout: |z|<@bailout default: title="Pyctaktion" center=(0.001,0.001) maxiter=500 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Rominose{ init: z=fn1(pixel) i=sqrt(-1) a=sqrt(3) loop: b=3/(1+a-p1*sqr(z)+p2)-(1+a)/(2+a) c=(-1+i*a)*b z=fn2((-1-i*a)/c)+p3 bailout: |z|<@bailout default: title="Rominose" center=(0.001,0.001) magn=0.5 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 default=(0.4,-0.7) endparam param p2 default=(-0.3,-0.1) endparam param p3 default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } Rominose2{ init: z=fn1(pixel) i=sqrt(-1) loop: a=3/(1+p1-abs(z))-(1+p1)/(2+p1) b=0.5*(-1+i*p1)/a z=p2*fn2(0.5*(-1-i*p1)/b)+p3 bailout: |z|<@bailout default: title="Rominose 2" center=(0.001,0.001) magn=0.5 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(-0.75,0.93) endparam param p2 default=(1.09,0) endparam param p3 default=(0.123,0.645) endparam param bailout caption="Bailout" default=100.0 endparam } RubraBoumay{ init: z=fn1(pixel) i=sqrt(-1) loop: a=recip(-2*i*(p1*fn2(abs(z))+p2)+1) z=((1-i)*a+1)/(a+1+i) bailout: |z|<@bailout default: title="Rubra Boumay" center=(0.001,0.001) maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 default=(-0.9,-1.5) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } Sastambor{ init: z=fn1(pixel) i=sqrt(-1) loop: a=((z^4-1)-i)/((z^4-1)+i) b=((p1*fn2(a)+p2)-1)/((p1*fn2(a)+p2)+1) z=p3*conj(p3/(b-p4))+p4 bailout: |z|<@bailout default: title="Sastambor" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0.63,-0.03) endparam param p4 default=(0.08,-0.08) endparam param bailout caption="Bailout" default=4.0 endparam } Sicchin-U-Bigh{ init: z=fn1(sqr(pixel)) a=p1*fn2(abs(exp((p2)))) loop: z=(fn3(z)^2+a)/(fn3(z)^2-a) bailout:|z|<@bailout default: title="Sicchin-U-Bigh" center=(0.001,0.001) maxiter=500 param p1 caption="Parameter 1" default=0.715 endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=10.0 endparam } Slusenite{ init: z=fn1(pixel) loop: a=(2*p1*fn2(abs(z+p2))-sqrt(-1))/(-sqrt(-1)*p1*fn2(abs(z+p2))) z=a+2 bailout: |z|<@bailout default: title="Slusenite" center=(0.001,0.001) angle=0 magn=0.5 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 default=(0,0.4) endparam param p2 default=(-0.11,-0.1) endparam param bailout caption="Bailout" default=4.0 endparam } SomusPlejade{ init: z=fn1(pixel) a=sqrt(3) loop: b=1+a-real(z) c=3/(b^2+imag(z)^2) z=p1*fn2(b*c-(1+a)/(2+a)+flip(imag(z)*c))+p2 bailout: |z|<@bailout default: title="Somus Plejade" center=(0.001,0.001) magn=0.125 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=sqr() endfunc param p1 default=(6,0) endparam param p2 default=(0.13667,0) endparam param bailout caption="Bailout" default=10000.0 endparam } SomusPlejade2{ init: z=fn1(pixel) a=Sqrt(3) loop: b=1+a-real(p1*fn2(abs(z))+p2) c=3/(b^2+imag(p1*fn2(abs(z))+p2)^2) z=6*fn3(sqr(b*c-(1+a)/(2+a)+flip(imag(p1*fn2(abs(z))+p2)*c)))+p3 bailout: |z|<@bailout default: title="Somus Plejade 2" center=(0.001,0.001) magn=0.125 maxiter=250 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param bailout caption="Bailout" default=10000.0 endparam } Unginongus{ init: z=fn1(pixel) loop: a=p1*fn3(p1/(fn2(z)-p2))+p2 z=p3*fn4(p3/(fn2(a)-p4))+p4 bailout: |z|<@bailout default: title="Unginongus" center=(0.001,0.001) magn=0.5 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=abs() endfunc func fn4 default=log() endfunc param p1 default=(0.97,-0.78) endparam param p2 default=(-0.45,0.03) endparam param p3 default=(0.63,-0.04) endparam param p4 default=(-0.17,0.05) endparam param bailout caption="Bailout" default=4.0 endparam } Umplifilian{ ;Anti-Mobius Flip Julia init: z=fn1(pixel) i=sqrt(-1) loop: a=p1*fn2(flip(z^2+p3))+p2 b=conj(a)/(-2*i*conj(a)+1) c=((1-i)*conj(b)+1)/(conj(b)+(1+i)) d=conj(c)/(2*i*conj(c)+1) z=((1+i)*conj(d)-1)/(-conj(d)+(1-i)) bailout: |z|<@bailout default: title="Umplifilian" center=(0.001,0.001) maxiter=250 param p1 default=(1,0) endparam param p2 default=(-2,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Umplifilian2{ init: z=fn1(pixel) i=sqrt(-1) loop: a=p1*fn2((z-1)^2)+p2 b=((1-i)*a+1)/(a+(1+i)) z=b/(-2*i*b+1) bailout: |z|<@bailout default: title="Umplifilian 2" center=(0.001,0.001) magn=1.3 maxiter=250 param p1 default=(0.7,0.5) endparam param p2 default=(0.2,-0.4) endparam func fn1 default=sqr() endfunc func fn2 default=flip() endfunc param bailout caption="Bailout" default=4.0 endparam } KleinVeryMod{ init: z=fn1(pixel) a=2*pi/3 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) r=fn3(sqrt(p4)/2) loop: b=@fn5(z)^2+p5 if |b-c1|<|r| z=p1*fn4(r*conj(r/(b-c1))+c1)+p2 elseif |b-c2|<|r| z=p1*fn4(r*conj(r/(b-c2))+c2)+p2 elseif |b-c3|<|r| z=p1*fn4(r*conj(r/(b-c3))+c3)+p2 else z=p1*fn4(r*conj(r/(b)))+p2 endif bailout:|z|<@bailout default: title="Klein Very Mod" center=(0.001,0.001) magn=0.9 maxiter=500 param p1 default=(1,0) endparam param p2 default= (0,0) endparam param p3 default= (2,0) endparam param p4 caption="Parameter 4" default= 3.0 endparam param p5 default=(1,0.5) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=log() endfunc func fn5 caption="Function 5" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } KleinVeryMod2{ init: z=fn1(pixel) a=2*pi/3 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) r=fn3(sqrt(p4)/2) loop: b=p5*conj(p5/(@fn5(z)-p6))+p6 if |b-c1|<|r| z=p1*fn4(r*conj(r/(b-c1))+c1)+p2 elseif |b-c2|<|r| z=p1*fn4(r*conj(r/(b-c2))+c2)+p2 elseif |b-c3|<|r| z=p1*fn4(r*conj(r/(b-c3))+c3)+p2 else z=p1*fn4(r*conj(r/(b)))+p2 endif bailout: |z|<@bailout default: title="Klein Very Mod 2" center=(0.001,0.001) magn=0.5 maxiter=500 param p1 default=(1,0) endparam param p2 default= (0,0) endparam param p3 default= (1,0) endparam param p4 caption="Parameter 4" default= 3.0 endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } EmacybinMetra{ init: z=fn1(sqr(pixel)) loop: if |z-p1|<|p2| z=p2*conj(real(p2)/(fn2(z)-p1))+p1 elseif |z-p2|<|p3| z=p3*conj(imag(p3)/(fn2(z)-p2))+p2 elseif |z-p3|<|p4| z=p4*conj(real(p4)/(fn2(z)-p3))+p3 elseif |z-p4|<|p1| z=p1*conj(imag(p1)/(fn2(z)-p4))+p4 endif bailout: |z|<@bailout default: title="Emacybin Metra" center=(0.001,0.001) maxiter=500 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(2.3,0.5) endparam param p2 default=(1.76,-0.114) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } Newton/Möbius2{ init: z=fn1(pixel) loop: a=(fn2(z)-1)/(fn2(z)+1) z=fn3(z-p1*((a^p2+p3)/(p2*a^(p2-1)))) bailout: |z|<@bailout default: title="Newton / Möbius 2" center=(0.001,0.001) angle=90 magn=0.5 maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=abs() endfunc param p1 default=(1,0) endparam param p3 caption="Parameter 2" default=(-1,0) endparam param p2 caption="Exponent" default=3.0 endparam param bailout caption="Bailout" default=100.0 endparam } AnSincPonisis{ init: z=fn1(pixel) y=sin(pixel) x=cos(pixel) loop: z=fn2(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)) bailout: |z|<@bail default: title="An Sinc Ponisis" center=(1,0.001) angle=270 magn=2 maxiter=250 param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } XisTiph{ init: z=pixel y=sin(pixel) x=cos(pixel) u=tan(pixel) v=1-pixel w=1+pixel loop: x=p1*(y-x) y=p3*y-x*z z=-p2*z+x*y+u u=fn1(sqr(v)) v=-fn2(atan(w^2*u)) bailout: |z|<@bailout default: title="Xis Tiph" center=(0.57,0.001) angle=90 maxiter=500 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(0.496,0) endparam param p2 default=(1.048,0) endparam param p3 default=(1.192,0) endparam param bailout caption="Bailout" default=4.0 endparam } Bofnewt{ ;From 'The Beauty of Fractals' via Bofmaps.frm init: z=fn1(pixel) loop: a=p1*fn2(z) b=a^2 c=a^3 d=a^4 z=z-((d-c*0.5+b*0.5-a*0.5-0.5)/((c*4-b*1.5+a-0.5)+p2)) bailout: |d-c*0.5+b*0.5-a*0.5-0.5|>@bail default: title="Bofnewt" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=0.00004 endparam } Disc { ;adapted from RSP.frm by Rui S. Parracho init: z=fn1(fn2(fn3(pixel))) if cabs(p1)==0 k=1 else k=p1 endif loop: a=(p2*z+p3)^2 b=2*a*cos(a)+(a^2-2)*sin(a)+p1 c=a^2*cos(a) z=a-k*b/c bailout: cabs(z)>@bail default: title="Disc" center=(0.001,0.001) param p1 default=(0.019029,-0.009514) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=0.0 endparam } Zig{ init: z=fn1(pixel) a=p1*fn4((0,2)) b=p1*fn4((0,-2)) loop: c=p2*fn2(z)+p3 if cabs(c-a)<1 z=p4*fn3(conj(1/(c-a))+a)+p5 elseif cabs(c-b)<1 z=p4*fn3(conj(1/(c-b))+b)+p5 else z=p4*fn3(conj(1/c))+p5 endif bailout: |z|<@bailout default: title="Zig" center=(0.001,0.001) magn=2 maxiter=250 param p1 default=(0.5,0) endparam param p2 default=(1.1,0) endparam param p3 default=(0,0.1) endparam param p4 default=(1.7,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } FourKlein2{ ; Adapted and modified from '4ApolloKlein' by Morgan L. Owens init: h=sqr(real(p1))+sqr(imag(p1))-sqr(real(p2)) a=2*(real(p2)-imag(p3)) b=2*(real(p1)-imag(p2)) c=2*(imag(p1)-real(p3)) d=h-(sqr(imag(p2))+sqr(real(p3))-sqr(imag(p3))) e2=2*(real(p2)-real(p5)) f=2*(real(p1)-real(p4)) g=2*(imag(p1)-imag(p4)) h=h-(sqr(real(p4))+sqr(imag(p4))-sqr(real(p5))) l=(b*g-c*f) i=(d*g-c*h)/l j=(a*g-c*e2)/l k=(b*h-d*f)/l l=(b*e2-a*f)/l m=2*(1-sqr(l)-sqr(l)) n=2*(real(p5)+(i-real(p4))*j+(k-imag(p4))*l) o=2*(real(p5)^2-sqr(i-real(p4))-sqr(k-imag(p4))) r=sqrt(sqr(n)-m*o) r1=(-n-r)/m r2=(-n+r)/m if(imag(r1)==0 && real(r1)>0) r=r1 else r=r2 endif x=i-j*r y=k-l*r u=p6*fn4(real(real(p1))+flip(imag(p1))) v=p6*fn4(real(imag(p2))+flip(real(p3))) w=p6*fn4(real(real(p4))+flip(imag(p4))) p=p6*fn4(real(x)+flip(y)) z=fn1(pixel) loop: t=fn3(abs(z)) if |t-u|imag(p1)^2 z=p3*fn3(imag(p1)*conj(imag(p1)/(a-p2))+p2)+p4 endif bailout: |z|<@bailout default: title="Three Klein 2" center=(0.001,0.001) magn=1.3 angle=90 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam func fn1 default=sqr() endfunc func fn2 default=ident() endfunc func fn3 default=asin() endfunc func fn4 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Bramboom{ init: z=fn1(pixel) i=sqrt(-1) loop: a=fn2(z) z=((2 *a-i)/((2*p1+i)*a+1-i*p1))^@pow bailout: |z|<@bail default: title="Bramboom" center=(0.001,0.001) magn=0.8 angle=270 param p1 caption="Parameter" default=(0.8689958,-0.8267591) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=sqr() endfunc param pow caption="Exponent" default=2 endparam param bail caption="Bailout" default=4.0 endparam } Quack2 { ;A modifification of the formula given here: http://algorithmic-worlds.net/blog/blog.php?Post=20110227 init: z=fn1(pixel) loop: a=p1*fn2(z)+p2 if imag(a)>0 k=a else k=conj(a) endif z=log(k+p3) bailout: |z|<@bail default: title="Quack 2" center=(0.001,0.001) maxiter=250 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0.8,-0.93) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } ThreeKleinQuack { init: a=2*pi/3 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) r=fn3(sqrt(p4)/2) z=fn4(#pixel) loop: if |z-c1|<|r| a=p1*fn1(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| a=p1*fn1(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| a=p1*fn1(r*conj(r/(z-c3))+c3)+p2 else a=p1*fn1(r*conj(r/(z)))+p2 endif b=p5*@fn5(a)+p6 if imag(b)>0 k=b else k=conj(b) endif z=log(k+@p7) bailout: |z|<@bail default: title="Three Klein Quack" center=(0.001,0.001) maxiter=500 param p1 default=(1.01,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default=3.0 endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam param p7 caption="Parameter 7" default=(0,0) endparam func fn1 default=exp() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } MobyDuck { init: z=fn1(pixel) a=sqrt(2) i=sqrt(-1) loop: b=p1*z+fn2(z)+p2 c=(a*b+i)/(-i*b+a) d=(a*c+1)/(c+a) if imag(d)>0 k=d else k=conj(d) endif z=log(k+p3) bailout: |z|<@bail default: title="Moby Duck" center=(0.001,0.001) maxiter=250 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(-0.5,-0.8) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } LogisticCayley{ init: z=fn1(#pixel) i=sqrt(-1) loop: a=fn2(p1*z*(p1-z*(p1+1))) z=((a-i)/(a+i))^@pow bailout: |z|<@bailout default: title="Logistic Cayley" center=(0.001,0.001) maxiter=500 param p1 caption="Parameter" default=(2.444351,0.035228) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=1 endparam param bailout caption="Bailout" default=4.0 endparam } Bailey{ ; https://en.wikipedia.org/wiki/Halley%27s_method#Method init: z=fn1(pixel) loop: zold=z fz=z^@pow-p1 f2z=@pow*z^(@pow-1) f3z=(@pow-1)*@pow*z^(@pow-2) z=p2*fn2(z-fz/(f2z-(fz*f3z)/(2*f2z))) bailout: (@Bt==0 && |zold-z|>@bailcon) || (@Bt==1 && |z|<@bail) default: title="Bailey" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(-0.64,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=3 endparam param Bt caption="Bailout Type" enum="Convergent""Divergent" default=1 endparam param bail caption="Bailout Value" default=4.0 visible=@Bt==1 endparam param bailcon caption="Bailout Value" default=1.9 visible=@Bt==0 endparam } Dobomog{ init: z=fn1(pixel) i=sqrt(-1) loop: a=fn2(z) z=p1*fn3(conj((((3-4*i)^2+16)*a -24)/(-24*a+(3+4*i)^2+16)))^2+p2 bailout: |z|<@bailout default: title="Dobomog" center=(0.001,0.001) param p1 default=(1,0) endparam param p2 default=(0.8,0.2) endparam func fn1 caption="Start Function" default=sqr() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Abymelious{ init: z=fn1(pixel) i=sqrt(-1) loop: z=fn2(((i+p1)*z+i*p1+1)/((-i+p1)*z-i*p1+1))+p1 bailout: |z|<@bailout default: title="Abymelious" center=(0.001,0.001) param p1 caption="Parameter" default=(0.08742,-1.07044) endparam func fn1 default=ident() endfunc func fn2 default=abs() endfunc param bailout caption="Bailout" default=4.0 endparam } LMP { init: z=fn1(pixel) loop: a=fn2(z) z=(2/pi)*log(((p1*a+p1+p2)/((p1+p2+p3)*a +p1+p2+p3+p4))^@pow) bailout: |z|<@bail default: title="LMP" center=(0.001,0.001) periodicity=0 param p1 default=(0.57726,-0.21137) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 caption="Start Function" default=sqr() endfunc func fn2 caption= "Loop Function" default=ident() endfunc param pow caption="Exponent" default=2 endparam param bail caption="Bailout" default=4.0 endparam } Möbius/Logistic{ init: z=fn1(pixel) i=sqrt(-1) loop: a=fn2(z) b=p1*a*(1-z) c=(b-i)/(b+i) z=((c+p2)/(p2*c+1))^@pow bailout: |z|<@bail default: title="Möbius / Logistic" center=(0.001,0.001) param p1 default=(1,0) endparam param p2 default=(1.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=1 endparam param bail caption="Bailout" default=4.0 endparam } EncliosiNek{ init: z=fn1(pixel) i=sqrt(-1) c1=p1*fn2(exp((0,0))) c2=p1*fn2(exp((0,1))) c3=p1*fn2(exp((0,2))) loop: a=fn3(cos(z)) if|a-c1|<|p4| z=p2*fn4(((i*e^(i*p3/2))*(a-c1)+e^(-i*p3/2))/((e^(i*p3/2))*(a-c1)+i*e^(-i*p3/2)))^@pow elseif |a-c2|<|p4| z=p2*fn4(((i*e^(i*p3/2))*(a-c2)+e^(-i*p3/2))/((e^(i*p3/2))*(a-c2)+i*e^(-i*p3/2)))^@pow elseif |a-c3|<|p4| z=p2*fn4(((i*e^(i*p3/2))*(a-c3)+e^(-i*p3/2))/((e^(i*p3/2))*(a-c3)+i*e^(-i*p3/2)))^@pow else z=p2*fn4(((i*e^(i*p3/2))*a+e^(-i*p3/2))/((e^(i*p3/2))*a+i*e^(-i*p3/2)))^@pow endif bailout:|z|<@bail default: title="Encliosi Nek" center=(0.001,0.001) maxiter=500 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=1 endparam param bail caption="Bailout" default=4.0 endparam } SixKleinMod{ init: z=fn1(pixel) a=pi/3 c1=fn4((0,2)) c2=fn4(2*(sin(a)+flip(cos(a)))) c3=fn4(2*(sin(2*a)+flip(cos(2*a)))) c4=fn4((0,-2)) c5=fn4(2*(sin(4*a)+flip(cos(4*a)))) c6=fn4(2*(sin(5*a)+flip(cos(5*a)))) loop: b=fn2(z) if |b-p1|<1 c=conj(1/(b-p1)) else c=conj(1/b) endif d=p2*conj(p2/(c-p3))+p3 if |d-c1|0 k=b else k=conj(b) endif z=log(k+@p7) bailout:|z|<@bailout default: title="Five Klein Quack" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default=1.38 endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam param p7 caption="Parameter 7" default=(1.75,-0.262) endparam func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function 1" default=ident() endfunc func fn5 caption="Loop Function 2" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } DerRugritanck{ global: import "common.ulb" import "reb.ulb" Formula f = new @formulaClass(0) init: z=fn1(pixel) a=0 loop: if @plugin z=fn2(f.Iterate(sqrt(a-2*z^3+p1))) a=fn3(f.Iterate(a+0.01+p2)) else z=fn2(sqrt(a-2*z^3+p1)) a=fn3(a+0.01+p2) endif bailout: |z|<@bailout default: title="Der Rugritanck" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=asin() endfunc func fn3 default=ident() endfunc param p1 default=(0,0) endparam param p2 default=(0,0) endparam param bailout default=4.0 endparam param plugin caption="Use Plug-In" default=true endparam Formula param formulaClass caption="Plug-In" default=REB_IkenagaRoots_Switch endparam } Pirinkazine{ init: z=fn1(pixel)^@pow loop: if imag(z)>p1 z=fn2(p2*real(z)+flip(p2*imag(z)-p3)) elseif real(z)>p1 z=fn3(p2*real(z)-p3+flip(p2*imag(z))) else z=fn4(p2*real(z)+flip(p2*imag(z))) endif z=z+p4 z=abs(z) bailout: |z|<@bailout default: title="Pirinkazine" center=(0.8,0.33) maxiter=500 periodicity=0 param p1 caption="Parameter 1" default=0.5 endparam param p2 default=(2,0) endparam param p3 default=(4,0.5) endparam param p4 default=(0,0) endparam heading endheading func fn1 default=flip() endfunc func fn2 default=cosh() endfunc func fn3 default=asinh() endfunc func fn4 default=ident() endfunc heading endheading param pow caption="Exponent" default=1.0 endparam heading endheading param bailout caption="Bailout" default=4.0 endparam } SixKlein3{ ; Modified from '6Klein_Group' by Morgan L. Owens global: import "common.ulb" import "Standard.ulb" Formula f = new @formulaClass(0) init: z=fn1(pixel) a=pi/3 c1=p3*fn4((0,2))+p4 c2=p3*fn4(2*(sin(a)+flip(cos(a))))+p4 c3=p3*fn4(2*(sin(2*a)+flip(cos(2*a))))+p4 c4=p3*fn4((0,-2))+p4 c5=p3*fn4(2*(sin(4*a)+flip(cos(4*a))))+p4 c6=p3*fn4(2*(sin(5*a)+flip(cos(5*a))))+p4 loop: b=fn2(z) if @plugin if |b-c1|<1 z=p1*fn3(f.Iterate(c1+p2*(b-c1)/(|b-c1|)))+p5 elseif |b-c2|<1 z=p1*fn3(f.Iterate(c2+p2*(b-c2)/(|b-c2|)))+p5 elseif |b-c3|<1 z=p1*fn3(f.Iterate(c3+p2*(b-c3)/(|b-c3|)))+p5 elseif |b-c4|<1 z=p1*fn3(f.Iterate(c4+p2*(b-c4)/(|b-c4|)))+p5 elseif |b-c5|<1 z=p1*fn3(f.Iterate(c5+p2*(b-c5)/(|b-c5|)))+p5 elseif |b-c6|<1 z=p1*fn3(f.Iterate(c6+p2*(b-c6)/(|b-c6|)))+p5 else z=p1*fn3(f.Iterate(p2*(b)/(|b|)))+p5 endif else if |b-c1|<1 z=p1*fn3(c1+p2*(b-c1)/(|b-c1|))+p5 elseif |b-c2|<1 z=p1*fn3(c2+p2*(b-c2)/(|b-c2|))+p5 elseif |b-c3|<1 z=p1*fn3(c3+p2*(b-c3)/(|b-c3|))+p5 elseif |b-c4|<1 z=p1*fn3(c4+p2*(b-c4)/(|b-c4|))+p5 elseif |b-c5|<1 z=p1*fn3(c5+p2*(b-c5)/(|b-c5|))+p5 elseif |b-c6|<1 z=p1*fn3(c6+p2*(b-c6)/(|b-c6|))+p5 else z=p1*fn3(p2*(b)/(|b|))+p5 endif endif bailout: |z|<@bailout default: title="Six Klein 3" center=(0.001,0.001) param p1 default=(1.15,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn4 caption="Start Function 2" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=sqr() endfunc param bailout caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=true endparam Formula param formulaClass caption="Plug-In" default=Standard_Newton endparam } ThreeKlein6 { ; Adapted and modified from Morgan_L_Owens.frm global: import "common.ulb" import "reb.ulb" Formula f = new @formulaClass(0) init: a=2*pi/3 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) r=fn3(sqrt(p4)/2) z=fn4(pixel) loop: if @plugin if |z-c1|<|r| z=p1*fn1(f.Iterate(r*conj(r/(z-c1))+c1))+p2 elseif |z-c2|<|r| z=p1*fn1(f.Iterate(r*conj(r/(z-c2))+c2))+p2 elseif |z-c3|<|r| z=p1*fn1(f.Iterate(r*conj(r/(z-c3))+c3))+p2 else z=p1*fn1(f.Iterate(r*conj(r/(z))))+p2 endif else if |z-c1|<|r| z=p1*fn1(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn1(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn1(r*conj(r/(z-c3))+c3)+p2 else z=p1*fn1(r*conj(r/(z)))+p2 endif endif bailout: |z|<@bailout default: title="Three Klein 6" center=(0.001,0.001) maxiter=500 param p1 default=(0.95,0) endparam param p2 default= (0,0) endparam param p3 default= (1,0) endparam param p4 caption="Parameter 4" default= 3.0 endparam func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function" default=sqrt() endfunc param bailout caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=true endparam Formula param formulaClass caption="Plug-In" default=REB_IkenagaRoots_Switch endparam } MallardKlein{ init: a=2*pi/3 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) r=fn3(sqrt(p4)/2) z=fn4(pixel) loop: if imag(z)>0 k=z else k=conj(z) endif b=log(k+p5) if @V==0 if |b-c1|<|r| z=p1*fn1(r*conj(r/(b-c1))+c1)+p2 elseif |b-c2|<|r| z=p1*fn1(r*conj(r/(b-c2))+c2)+p2 elseif |b-c3|<|r| z=p1*fn1(r*conj(r/(b-c3))+c3)+p2 else z=p1*fn1(r*conj(r/(b)))+p2 endif elseif @V==1 if |b-c1|<|r| z=p1*fn1(r*conj(r/(b-c1))+c1)+p2 elseif |b-c2|<|r| z=p1*fn1(r*conj(r/(b-c2))+c2)+p2 elseif |b-c3|<|r| z=p1*fn1(r*conj(r/(b-c3))+c3)+p2 endif endif bailout: |z|<@bailout default: title="Mallard Klein" center=(0.001,0.001) maxiter=100 param V caption="Variant" enum="1""2" default=0 endparam heading endheading param p1 default=(1.068,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default=3.0 endparam param p5 default=(0,0) endparam heading endheading func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function" default=exp() endfunc heading endheading param bailout caption="Bailout" default=4.0 endparam } Barnsley3{ global: import "common.ulb" import "mt.ulb" Formula f = new @formulaClass(0) init: z=fn1(pixel) float a=0.0 b=real(p1)+flip(real(p2)) c=real(imag(p2))+flip(p1) loop: a=real(sin(p3*imag(z))) if @plugin if a>1 z=f.Iterate(abs((z^p4+p5)*b)) else z=f.Iterate(fn2(fn3(z^p4+p5)*c)) endif else if a>1 z=abs((z^p4+p5)*b) else z=fn2(fn3(z^p4+p5)*c) endif endif bailout: |z|<@bailout default: title="Barnsley 3" func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,-0.26) endparam param p2 default=(1,0) endparam param p3 default=(1.8,-0.1) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam param bailout caption="Bailout" default=1000.0 endparam param plugin caption="Use Plug-In" default=false endparam Formula param formulaClass caption="Plug-In" default=MT_BarnsleyIJulia endparam } Barnsley4{ global: import "common.ulb" import "reb.ulb" Formula f = new @formulaClass(0) init: z=fn1(abs(pixel)) loop: if @plugin if real(z)>0 z=f.Iterate(fn2(z)^2+p1) else z=f.Iterate(fn3(z)^2+p2) endif else if real(z)>0 z=fn2(z)^2+p1 else z=fn3(z)^2+p2 endif endif bailout: |z|<@bailout default: title="Barnsley 4" center=(0.001,0.001) maxiter=250 magn=1.5 angle=90 param p1 default=(0.5,0.5) endparam param p2 default=(0.5,0.5) endparam Func fn1 default=ident() endfunc Func fn2 default=sinh() endfunc Func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=false endparam Formula param formulaClass caption="Plug-In" default=REB_FunBarnsleyJulia1 visible=@plugin==true endparam } Cayley{ global: import "common.ulb" import "reb.ulb" Formula f = new @formulaClass(0) init: z=fn1(pixel)^@pow1 i=sqrt(-1) loop: if @plugin z=p1*fn2(f.Iterate((z-i)/(z+i)))^@pow2 else z=p1*fn2((z-i)/(z+i))^@pow2 endif bailout: |z|<@bailout default: title="Cayley" center=(0.001,0.001) maxiter=250 param p1 default=(0,0.4) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow1 caption="Exponent 1" default=1 endparam param pow2 caption="Exponent 2" default=1 endparam param bailout caption="Bailout" default=4.0 endparam param plugin caption="Use Plug-In" default=false endparam Formula param formulaClass caption="Plug-In" default=REB_Cayley_Switch visible=@plugin==true endparam } Mozint{ init: z=fn1(pixel) loop: a=fn2(abs(exp(p1/(1+sqrt(p2)-z)-(1+sqrt(p1))/(2+sqrt(p2))))) if imag(a)>0 k=a else k=conj(a) endif z=log(k+p3) bailout:|z|<@bailout default: title="Mozint" center=(0.001,0.001) maxiter=500 param p1 default=(1.2,0) endparam param p2 default=(0.3,0) endparam param p3 default=(0,-1) endparam func fn1 default=ident() endfunc func fn2 default=tan() endfunc param bailout caption="Bailout" default=4.0 endparam } Talis{ ;This is based on 'Talis' in sam.ufm. I have added parameters, functions and a plug-in option. global: import "common.ulb" import "tma.ulb" formula f=new @formulaClass(0) init: z=p1 c=fn1(pixel) loop: if @plugin z=f.Iterate(fn2(z^@pow1+c)) c=f.Iterate(fn3(c^@pow2/(c+p2)+z)) else z=fn2(z^@pow1+c) c=fn3(c^@pow2/(c+p2)+z) endif bailout: |z|<@bailout default: title="Talis" center=(0.001,0.001) magn=2 angle=90 periodicity=0 param p1 default=(0,0) endparam param p2 default=(-1.1,0) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc heading endheading param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=2 endparam heading endheading param bailout caption="Bailout" default=1000.0 endparam heading endheading param plugin caption="Use Plug-In" default=false endparam formula param formulaClass caption="Plug-In" default=TMA_SwitchTalis visible=@plugin==true endparam } Munster{ init: z=fn1(pixel) loop: z=fn2(p1*z^2*(z-p2)/(1-p2*z)) bailout: |z|<@bail default: title="Munster" center=(0.001,0.001) param p1 default=(1.4,0) endparam param p2 default=(1.94,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Munster2{ init: z=fn1(pixel) int i=0 loop: i=i+1 z=i*fn2(p1*fn3(z)^2*(fn3(z)-p2)/(1-p2*fn3(z))) bailout: |z|<@bailout default: title="Munster 2" center=(0.001,0.001) magn=0.5 param p1 default=(0.3,0) endparam param p2 default=(2.75,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=1000000 endparam } MeinKlehr{ init: z=fn1(pixel) loop: k=fn2(z) a=p1*sqr(k)*(k-p2)/(1-p2*k) z=p3*conj(p3/(a-p4))+p4 bailout: |z|<@bailout default: title="Mein Klehr" center=(0.001,0.001) param p1 default=(-1.6,-0.3) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } LeKenoin{ init: z=fn1(pixel) a=exp((0,1)*p1) loop: b=fn2(sinh(z)) if |b-a|<|p2| z=fn3(p2*conj(p2/(b-a))+a)+p3 else z=fn3(p2*conj(p2/b))+p3 endif bailout: |z|<@bailout default: title="Le Kenoin 1" center=(0.001,1.57) magn=0.94 angle=90 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } LeKenoin2{ init: z=fn1(pixel) a=exp((0,1)*p1) loop: b=fn2(abs(z)) if|b-a|<|p2| z=fn3(p2*conj(p2/(b-a))+a)+p3 else z=fn3(p2*conj(p2/b))+p3 endif bailout: |z|<@bailout default: title="Le Kenoin 2" center=(0.001,0.001) magn=0.25 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Munster3{ init: z=fn1(pixel) loop: a=fn2((z-p1)/(1-p1*z)) z=fn3(p2*z^p3*a^(p3-1)) bailout: |z|<@bailout default: title="Munster 3" center=(1.5,0.001) param p1 default=(2.8,0) endparam param p2 default=(1.5,0) endparam param p3 caption="Exponent" default=3.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Munster4{ init: z=fn1(pixel) i=0 loop: i=i+1 a=fn2((z-p1)/(1-p1*z)) z=i*fn3(p2*z^p3*a^(p3-1)) bailout: |z|<@bailout default: title="Munster 4" center=(1.5,0.001) magn=0.5 param p1 default=(3.15,0) endparam param p2 default=(0.29,0) endparam param p3 caption="Exponent" default=3.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=1000000.0 endparam } Barnsley5{ init: z=fn1(pixel) k=fn2(pixel) loop: if real(z)>=0 a=(z-1)*p1 b=(z-1)*k+p2 else a=0 b=0 endif if real(z)<0 c=(z+1)*p1 d=(z+1)*k+p2 else c=0 d=0 endif z=fn3(a+b+c+d)+p3 bailout: |z|<@bailout default: title="Barnsley 5" center=(0.001,0.001) param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Munster5{ init: z=fn1((p1+pixel^2)/(p2*pixel)) loop: a=fn2(cos(z)) z=p3*fn3(a*(z-pixel)/(1-pixel*z)) bailout: |z|<@bail default: title="Munster 5" center=(0.001,0.001) param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Cayley2{ init: z=fn1(pixel) i=sqrt(-1) loop: if @V==0 z=(z^@pow-i)/(z^@pow+i)+p1 elseif @V==1 z=(z^@pow-i*pixel+p1)/(z^@pow+i*pixel+p1) elseif @V==2 z=pixel*(z^@pow-i)/(z^@pow+i)+p1 else z=(z^@pow-i)/(z^@pow+i)+pixel+p1 endif bailout: |z|<@bailout default: title="Cayley 2" center=(0.001,0.001) param V caption="Version" enum= "Julia" "Mandelbrot 1" "Mandelbrot 2" "Mandelbrot 3" default=0 endparam param pow caption="Exponent" default=2 endparam func fn1 caption="Function" default=ident() endfunc param p1 caption="Parameter" default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } Milnor{ ;http://arxiv.org/pdf/math/0402147v2.pdf init: z=fn1(pixel) loop: if @V==0 z=fn2((4*z*(1-z)*(1-p1*z))/((1-p1*z^2)^2)) else z=fn2((4*z*(1-z)*(1-p1*pixel*z))/((1-p1*pixel*z^2)^2)) endif bailout: |z|<@bail default: title="Milnor" center=(0.001,0.001) param V caption="Version" enum="Julia" "Mandelbrot" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 caption="Parameter" default=(3,0) endparam param bail caption="Bailout" default=4.0 endparam } Hesserax_J{ init: z=fn1(pixel) loop: a=p1*fn2(z)+p2 z=p3*fn3(a^2+1)/(a*(a^2-1)) bailout: |z|<@bailout default: title="Hesserax (J)" center=(0.001,0.001) magn=0.7 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(-0.15,0) endparam param bailout caption="Bailout" default=4.0 endparam } Hesserax(M){ init: z=fn1(pixel) loop: a=p1*fn2(z)+p2 z=pixel*fn3(a^2+1)/(a*(a^2-1)) bailout: |z|<@bailout default: title="Hesserax (M)" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=log() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bailout caption="Bailout" default=4.0 endparam } Sykantic{ init: z=fn1(pixel) loop: a=p1*real(z)-imag(z)-(1-p1)*fn2(real(z)) z=a+flip(real(z)-p1*a+(1-p1)*fn3(cotanh(a))) bailout: |z|<@bail default: title="Sykantic" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=cotanh() endfunc param p1 caption="Parameter" default=(0.781825,-0.010807) endparam param bail caption="Bailout" default=4.0 endparam } Klein3{ ; Adapted and modified from Morgan_L_Owens.frm init: a=2*pi/3 c1=p3*fn2(exp((0,0)*a)) c2=p3*fn2(exp((0,1)*a)) c3=p3*fn2(exp((0,2)*a)) r=fn3(sqrt(p4)/2) z=fn4(pixel) loop: if |z-c1|<|r| z=p1*fn1(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn1(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn1(r*conj(r/(z-c3))+c3)+p2 else z=p1*fn1(r*conj(r/(z)))+p2 endif bailout:|z|<@bail default: title="Three Klein" center=(0.001,0.001) magn=0.75 maxiter=500 periodicity=0 param p1 default=(-0.173,-0.315) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default=3.0 endparam func fn4 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Start Function 3" default=ident() endfunc func fn1 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Barnsley6{ ; Modification of a formula from Fractint http://www.nahee.com/spanky/www/fractint/fractal_types.html init: z=fn1(exp(pixel)) loop: if real(z)>=0 z=(z-1)*p1 else z=(z+1)*p1 endif bailout: |z|<@bailout default: title="Barnsley 6" param p1 default=(0.15,-1.4) caption="Parameter" endparam func fn1 caption="Function" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Barnsley7{ ;Formula from Fractint http://www.nahee.com/spanky/www/fractint/fractal_types.html init: z=fn1(pixel) loop: if real(z)>=0 z=(z-1)*pixel+p1 else z=(z+1)*pixel+p1 endif bailout: |z|<@bailout default: title="Barnsley 7" param p1 caption="Parameter" default=(0,0) endparam func fn1 caption="Function" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Celtick { ;I'm fairly sure this is based on a pre-existing formula, but don't remember which one. Will give credit if/when I find the source. init: z=fn1(pixel) loop: a=fn2(z)+p2 z=abs(real(a)^2-imag(a)^2)-real(p1)+flip(2*real(a)*imag(a)-imag(p1)) bailout: |z|<@bailout default: title="Celtick" center=(0.001,0.001) param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 caption="Start Function" default=sqr() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bailout caption="Bailout" default=100.0 endparam } CeltickMunster{ init: z=fn1(pixel) loop: a=fn2(z)+p2 b=abs(real(a)^2-imag(a)^2)-real(p1)+flip(2*real(a)*imag(a)-imag(p1)) z=fn3(p3*b^2*(b-p4)/(1-p4*b)) bailout: |z|<@bailout default: title="Celtick Munster" center=(0.001,0.001) param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=sqrt() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param bailout caption="Bailout" default=100.0 endparam } GeneralisedPhoenix1{ ;Formula from Fractal Explorer, adapted for UF by Otto Magus init: z=fn1(pixel) z2=0 z1=fn2(Z) loop: z=z^@pow+p1*z+p2*z2 z2=z1 bailout: |z|<@bailout default: title="Generalised Phoenix 1" param pow caption="Exponent" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=100.0 endparam } GeneralisedPhoenix2{ ;Formula from Fractal Explorer, adapted for UF by Otto Magus init: z=fn1(pixel) z2=0 z1=fn2(Z) loop: z=z^@pow1+p1*Z^@pow2+z*z2 z2=z1 bailout: |z|<@bailout default: title="Generalised Phoenix 2" param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=3 endparam param p1 caption="Parameter" default=(1,0) endparam param bailout caption="Bailout" default=100.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc } Nuty { init: z=fn1(pixel) loop: z=p2*fn2((z^4+z^3+z^2+z-p1)/(4*z^3+3*z^2+2*z+1))^2 bailout: |z|<@bailout default: title="Nuty" center=(0.001,0.001) magn=0.25 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param bailout caption="Bailout" default=4.0 endparam } f552{ init: z=fn1(pixel) loop: z=fn2(z-@seed*(2*z^@power*(@power*z^(@power-1))+@root)/(2*(@power*z^(@power-1))^2-(z^@power*((@power-1)*@power*z^(@power-2))))) bailout: |z|<@bailout default: title="Erratum 3" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Parameter 1" default=(0.5,-0.52) endparam param root caption="Parameter 2" default=(1,0) endparam param power caption="Exponent" default=3 endparam param bailout caption="Bailout" default=4.0 endparam } f552a{ init: z=fn1(pixel) loop: z=fn2(z-@seed*(2*z^@power*(@power*z^(@power-1))+@root)/(2*(@power*z^(@power-1))^2-(z^@power*((@power-1)*@power*z^(@power-2))))) bailout: |2*z^@power*(@power*z^(@power-1))+@root|>=@bailout default: title="Erratum 4" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Parameter 1" default=(0.5,-0.52) endparam param root caption="Parameter 2" default=(1,0) endparam param power caption="Exponent" default=3 endparam param bailout caption="Bailout" default=0.9 endparam } Householder2 { ;http://mathworld.wolfram.com/HouseholdersMethod.html init: z=fn1(pixel) loop: z=fn2(z-((z^@pow-p4)/(@pow*z^(@pow-1)))*(p3+((z^@pow-p3)*((@pow-1)*@pow*z^(@pow-2)))/(2*(@pow*z^(@pow-1))^2))) bailout: |z^@pow-p4|>=@bailout default: title="Chebyshev" center=(0.001,0.001) maxiter=500 periodicity=0 param p3 caption="Parameter" default=(1,0) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading endheading param pow caption="Exponent" default=4 endparam param p4 caption="Constant" default=(1,0) endparam heading endheading param bailout caption="Bailout" default=0.001 endparam } f554{ init: z=fn1(pixel) loop: z=fn2(z-@seed*((z^@power*@power*z^(@power-1)+@root)/((@power*z^(@power-1))^2-z^@power*(@power-1)*@power*z^(@power-2)))) bailout: |z|<@bailout default: title="Erratum 6" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Parameter 1" default=(2,0) endparam param root caption="Parameter 2" default=(1,0) endparam param power caption="Exponent" default=3 endparam param bailout caption="Bailout" default=4.0 endparam } f554a{ init: z=fn1(pixel) loop: z=fn2(z-@seed*((z^@power*@power*z^(@power-1)+@root)/((@power*z^(@power-1))^2-z^@power*(@power-1)*@power*z^(@power-2)))) bailout:|z^@power*@power*z^(@power-1)+@root|>=@bailout default: title="Erratum 5" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Parameter 1" default=(0.4,0) endparam param root caption="Parameter 2" default=(1,0) endparam param power caption="Exponent" default=3 endparam param bailout caption="Bailout" default=0.9 endparam } Newton2{ init: z=fn1(pixel) loop: z=fn2(z-p1*((z^@pow+p2)/(@pow*z^(@pow-1)))) bailout: |z^@pow+p2|>=@bailout default: title="Newton" center=(0.001,0.001) maxiter=250 periodicity=0 param pow caption="Exponent" default=3.0 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Seed" default=(1,0) endparam param p2 caption="Root" default=(-1,0) endparam param bailout caption="Bailout" default=0.001 endparam } Super-Halley2{ init: z=fn1(pixel) loop: z=fn2(z-p1*(z^p2-p3)*(1+(p4*(z^p2-p3))/(2*(1-(p4*(z^p2-p3)))))) bailout:|z^p2-p3|>=@bailout default: title="Super-Halley" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0,-0.33) endparam param p4 caption="Parameter 2" default=(1,0) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading endheading param p2 caption="Exponent" default=4 endparam param p3 caption="Constant" default=(1,0) endparam heading endheading param bailout caption="Bailout" default=0.00001 endparam } Riley2{ init: z=fn1(exp(pixel)) loop: z=fn2(recip(((1-2*p1)*z+4*p1)/((-2*p1^2)*z+4*p1^2+2*p1+1)))^2 bailout: |z|>=@bailout default: title="Riley 2" center=(-0.7,0.001) angle=90 maxiter=250 param p1 caption="Parameter" default=(-0.35,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=0.0001045 endparam } Secant1a{ ;https://en.wikipedia.org/wiki/Secant_method init: z=fn1(pixel) loop: z=fn2(((z+p1)*(z^p2-1)-z*((z+p1)^p2-1))/((z^p2-1)-((z+p1)^p2-1))) bailout:|z^p2-1|>=@bailout default: title="Secant 1" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 caption="Parameter" default=(0.3,0.3) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading endheading param p2 caption="Exponent" default=4 endparam heading endheading param bailout caption="Bailout" default=0.0001 endparam } Secant2a{ ;https://en.wikipedia.org/wiki/Secant_method init: z=fn1(pixel) loop: z=p5*fn2(((z+p1)*(z^p4-p2*z-p3)-z*((z+p1)^p4-p2*(z+p1)-p3))/((z^p4-p2*z-p3)-((z+p1)^p4-p2*(z+p1)-p3)))+p6 bailout:|z^p4-p2*z-p3|>=@bailout default: title="Secant 2" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p5 caption="Parameter 2" default=(1,0) endparam param p6 caption="Parameter 3" default=(0,0) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading endheading param p4 caption="Exponent" default=3 endparam param p2 caption="Coefficient" default=2.0 endparam param p3 caption="Constant" default=3.0 endparam heading endheading param bailout caption="Bailout" default=0.0001 endparam } SuperNewton{ ; Formulas from Fractal Explorer 2.02, adapted for UF by Otto Magus. init: z=fn1(pixel) c=pixel loop: zold=z z=fn2(z) if @V==0 a=z-(z^3-p1)/(3*z^2) a=fn3(a) z=a-(a^4-p2)/(4*a^2) elseif @V==1 a=z-(z^3-p1)/(3*z^2) a=fn3(a) z=a-(a^4-p2)/(4*a^3) else a=z-(z^3*c-p1)/(3*z^2*c-c) a=fn3(a) z=a-(a^4*c-p2)/(4*a^3*c-1) endif bailout: |zold-z|>@bail default: title="SuperNewton" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="SuperNewton 1" "SuperNewton 1 Mod" "SuperNewton 2" default=0 endparam param p1 default=(2,0) endparam param p2 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=0.0000001 endparam } MunsterNewton{ init:z=fn1(pixel) loop: k=fn2(z) if @V==0 a=k^2*(k-p1)/(1-p1*k) z=a-p2*((a^@pow+p3)/(@pow*a^(@pow-1))) elseif @v==1 a=k-p2*((k^@pow+p3)/(@pow*k^(@pow-1))) z=a^2*(a-p1)/(1-p1*a) elseif @V==2 a=k^2*(k-p1)/(1-p1*k) z=p2*(@pow-1)*((a^@pow+p3)/(@pow*a^(@pow-1))) else a=p2*(@pow-1)*((k^@pow+p3)/(@pow*k^(@pow-1))) z=a^2*(a-p1)/(1-p1*a) endif bailout: (@B==0 && |z|<=@bailoutdiv) || (@B==1 && |a^@pow+p3|>=@bailoutcon) default: title="Munster Newton" center=(0.001,0.001) maxiter=250 param V caption="Variant" enum="1""2""3""4" default=0 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 caption="Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param B caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailoutdiv caption="Bailout (Divergent)" default=4.0 visible=@B==0 endparam param bailoutcon caption="Bailout (Convergent)" default=0.001 visible=@B==1 endparam } NewtonVariation{ ;Modification of Nwtfn12rot from Crazynwt.frm init: z=pixel+1/fn1(p2*pixel*exp(p1*fn2(|pixel|))) loop: z=((@pow-1)*z^@pow+1)/(@pow*z^(@pow-1)) bailout: (@B==0 && |z^@pow-1|>=@bailoutcon) || (@B==1 && |z|<=@bailoutdiv) default: title="Newton Variation" param pow caption="Exponent" default=5 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param B caption="Bailout Type" enum="Convergent""Divergent" default=0 endparam param bailoutcon caption="Bailout Value" default=0.001 visible=@B==0 endparam param bailoutdiv caption="Bailout Value" default=4.0 visible=@B==1 endparam } QuackHybrid{ init: z=fn1(pixel) loop: if imag((z-1)/(z+1))>0 k=p1*fn2((z-1)/(z+1)) else k=p1*fn2(conj((z-1)/(z+1))) endif z=p2*fn3(log(k+p3))+p4 bailout: (|z|<@baildiv1 && @B==0) || (|(z-1)/(z+1)|<@baildiv2 && @B==1) || (|z|>@bailcon1 && @B==2) || (|(z-1)/(z+1)|>@bailcon2 && @B==3) default: title="Quack Hybrid" center=(0.001,0.001) angle=90 maxiter=250 param p1 default=(0.4,-0.4) endparam param p2 default=(1,0) endparam param p3 default=(0.74,-0.23) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param B caption="Bailout Type" enum="Divergent 1""Divergent 2""Convergent 1""Convergent 2" default=0 endparam param baildiv1 caption="Bailout Value" default=4.0 visible=@B==0 endparam param baildiv2 caption="Bailout Value" default=22.0 visible=@B==1 endparam param bailcon1 caption="Bailout Value" default=0.01199142 visible=@B==2 endparam param bailcon2 caption="Bailout Value" default=0.11479685 visible=@B==3 endparam } WhittakerHybrid{ init: z=fn1(fn2(pixel)) loop: a=z^4-1 b=0.5*p3*a*(2+a) c=log(z-b)-p2 z=p1+((p2+c/(cabs(c)^2))-p1)/(cabs((p2+c/(cabs(c)^2))-p1)^2) bailout: (|z|<@baildiv && @B==0) || (|z|>@bailcon && @B==1) default: title="Whittaker Hybrid" center=(0.001,0.001) maxiter=500 param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=-0.72 endparam param p3 caption="Parameter 3" default=1.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param B caption="Bailout Type" enum="Divergent""Convergent" default=0 endparam param baildiv caption="Bailout Value" default=4.0 visible=@B==0 endparam param bailcon caption="Bailout Value" default=0.15 visible=@B==1 endparam } Quack/Inkle2{ init: z=fn1(pixel) loop: if imag(p5*conj(p5/(z-p6))+p6)>0 k=p1*fn2(p5*conj(p5/(z-p6))+p6) else k=p1*fn2(conj(p5*conj(p5/(z-p6))+p6)) endif z=p2*fn3(log(k+p3))+p4 bailout: |z|<@bailout default: title="Quack / Inkle 2" center=(0.001,0.001) angle=90 maxiter=250 param p1 default=(0.34,0.09) endparam param p2 default=(1,0) endparam param p3 default=(0.89,-0.32) endparam param p4 default=(0,0) endparam param p5 default=(1.04,-0.59) endparam param p6 default=(0.24,-0.05) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=tan() endfunc param bailout caption="Bailout" default=4.0 endparam } Cyolurf{ init: z=fn1(pixel) a=fn2(z) b=fn3(z) c=fn4(z) loop: d=p1*(a*c-1) f=p2*(a*b+a*c) z=z^@pow-d/f bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |z|>@bailcon) || (@B==2 && |z|<@bailbothdiv && |z|>@bailbothcon) default: title="Cyolurf" center=(0.001,0.001) heading caption="Init" endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc heading caption="Loop" endheading param p1 default=(-0.38,0) endparam param p2 default=(1,0) endparam param pow caption="Exponent" default=2 endparam heading caption="Bailout" endheading param B caption="Type" enum="divergent""convergent""both" default=0 endparam param baildiv caption="Value" default=4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.258 visible=@B==1 endparam param bailbothdiv caption="Value (Upper)" default=1.8 visible=@B==2 endparam param bailbothcon caption="Value (Lower)" default=0.036 visible=@B==2 endparam } Drangam{ init: z=fn1(pixel) i=sqrt(-1) k=1/(1-2*i) loop: a=fn2(z) z=p1*(tan((0.5*p2*a+(p2-2)/(2*k))/(0.5*(p2+2)*k*a+0.5*p2)))^@pow bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |z|>@bailcon) default: title="Drangam" center=(0.001,0.001) maxiter=250 heading caption="Init" endheading func fn1 caption="Function" default=sqr() endfunc heading caption="Loop" endheading param p1 default=(-1.07,0) endparam param p2 default=(3,0) endparam func fn2 caption="Function" default=ident() endfunc param pow caption="Exponent" default=2 endparam heading caption="Bailout" endheading param B caption="Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Value" default=4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.09 visible=@B==1 endparam } Epidum { ;Modification of Klein_tri_lattice from Morgan_L_Owens.frm init: z=fn1(#pixel) a1=sin(pi/3) a2=tan(pi/3) a3=exp(flip(pi/3)) b=flip(imag(z)/a1) c=flip(real(z)-imag(z)/a2) d1=fn2(c+b*a3) d2=fn2(c+(b-1)*a3) d3=fn2(c+(b+1)*a3) d4=fn2((c-1)+b*a3) d5=fn2((c+1)+b*a3) loop: k=p1*z if |k-d1|<0.25 z=p2*fn3(0.5*conj(0.5/(k-d1))+d1) elseif |k-d2|<0.25 z=p2*fn3(0.5*conj(0.5/(k-d2))+d2) elseif |k-d3|<0.25 z=p2*fn3(0.5*conj(0.5/(k-d3))+d3) elseif |k-d4|<0.25 z=p2*fn3(0.5*conj(0.5/(k-d4))+d4) elseif |k-d5|<0.25 z=p2*fn3(0.5*conj(0.5/(k-d5))+d5) else z=p2*fn3(0.5*conj(0.5/k)) endif bailout: (|fn4(z)|<@baildiv && @B==0) || (|fn4(z+#pixel)|>@bailcon && @B==1) default: title="Epidum" center=(0.001,0.001) heading caption="Init" endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading caption="Loop" endheading param p1 default=(1.2,0) endparam param p2 default=(0.8,-0.2) endparam func fn3 caption="Function" default=ident() endfunc heading caption="Bailout" endheading param B caption="Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Value" default=4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.10384 visible=@B==1 endparam func fn4 caption="Function" default=ident() endfunc } IngarabliCreothopod { init: z=fn1(pixel) i=sqrt(-1) loop: a=fn2(log((1+fn3(z))/(1-fn3(z)))) z=e^((i*a-1)*p1) bailout: (@B==0 && |z|<=@bailout) || \ (@B==1 && |z/real(z)|<=@bailout2) || \ (@B==2 && |z-real(z)|<=@bailout3) default: title="Ingarabli Creothopod" center=(0.001,0.001) heading caption="Init" endheading func fn1 caption="Function" default=ident() endfunc heading caption="Loop" endheading param p1 caption="Parameter" default=(-0.276851,0.744108) endparam func fn2 caption="Function 1" default=abs() endfunc func fn3 caption="Function 2" default=ident() endfunc heading caption="Bailout" endheading param B caption="Type" enum="z""z/real(z)""z-real(z)" default=0 endparam param bailout caption="Value" default=4.0 visible=@B==0 endparam param bailout2 caption="Value" default=130.0 visible=@B==1 endparam param bailout3 caption="Value" default=3.1 visible=@B==2 endparam } Ovarendia2{ init: z=fn1(pixel) loop: z=(p1*fn2(z^2)+p3)/(p1*fn2(z^2)-p3)+p2 bailout: (|z|<@baildiv && @B==0) || (|z|>@bailcon && @B==1) || (|z|<@bailboth1 && |z|>@bailboth2 && @B==02) default: title="Ovarendia" center=(0.001,0.001) maxiter=250 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0.75,0) endparam param B caption="Bailout Type" enum="Divergent""Convergent" "Both" default=0 endparam param baildiv caption="Bailout Value" default= 4.0 visible=@B==0 endparam param bailcon caption="Bailout Value" default=0.13 visible=@B==1 endparam param bailboth1 caption="Bailout (Div)" default=20.0 visible=@B==2 endparam param bailboth2 caption="Bailout (Conv)" default= 0.26 visible=@B==2 endparam } Prumtee { init: z=fn1(#pixel) loop: a=z/(-z+p3) b=(a+p3)/(a-p3) c=b/(b+p3) d=c/(c+p3) z=p1*fn2(abs((-d-p3)/(-d+p3)))+p2 bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |z|>@bailcon) || (@B==2 && |z|<@baildiv2 && |z|>@bailcon2) default: title="Prumtee" center=(0.001,0.001) heading caption="Init" endheading func fn1 caption="Function" default=abs() endfunc heading caption="Loop" endheading param p1 default=(0.95,0.05) endparam param p2 default=(0.1,0.35) endparam param p3 default=(2.25,0.55) endparam func fn2 caption="Function" default=ident() endfunc heading caption="Bailout" endheading param B caption="Type" enum="divergent""convergent""both" default=0 endparam param baildiv caption="Value" default= 4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.64147 visible=@B==1 endparam param baildiv2 caption="Value (Upper)" default=8.8437 visible=@B==2 endparam param bailcon2 caption="Value (Lower)" default=0.47251 visible=@B==2 endparam } UnstremSunimQuazer { init: if @S==0 z=fn1(pixel) elseif @s==1 z=fn1(pixel^2+pixel) else z=fn1(pixel^3+pixel^2+pixel) endif loop: a=fn2(abs(z))-0.45*sqrt(-1)+p2 z=(a-p1)/(1-p1*a) bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |z|>@bailcon) default: title="Unstrem Sunim Quazer" center=(0.001,0.001) angle=90 magn=0.5 maxiter=250 heading caption="Init" endheading param S caption="Start Value" enum="pixel""pixel^2+pixel""pixel^3+pixel^2+pixel" default=0 endparam func fn1 caption="Function" default=ident() endfunc heading caption="Loop" endheading param p1 default=(0.67,-0.11) endparam param p2 default=(0,0) endparam func fn2 caption="Function" default=ident() endfunc heading caption="Bailout" endheading param B caption="Bailout Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Bailout Value" default=10.00 visible=@B==0 endparam param bailcon caption="Bailout Value" default=2.275 visible=@B==1 endparam } WenVenSkettoy { ;Modification of OK-27 in Dons.frm, by Bradley Beacham init: if @S==0 z=fn1(pixel) a=fn2(sin(pixel)) elseif @S==1 z=fn1(pixel^2+pixel) a=fn2(sin(pixel^2+pixel)) else z=fn1(pixel^3+pixel^2+pixel) a=fn2(sin(pixel^3+pixel^2+pixel)) endif loop: b=p1*fn3(sin(z))+p2 if |z|>= p3 c=(b-a) else c=0 endif if |z|@bailcon) default: title="Wen Ven Skettoy" center=(0.001,0.001) maxiter=250 Heading caption="Init" endheading param S caption="Start Value" enum="pixel""pixel^2+pixel""pixel^3+pixel^2+pixel" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading caption="loop" endheading func fn3 caption="Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 caption="parameter 3" default=1.0 endparam heading caption="Bailout" endheading param B caption="Bailout Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Bailout Value" default= 10.0 visible=@B==0 endparam param bailcon caption="Bailout Value" default=0.00001 visible=@B==1 endparam func fn4 caption="Function" default=ident() endfunc } Chanoasect{ init: k=fn1(1/(fn2(#pixel)-p1))+p1 z=fn3(1/(fn2(k)-p2))+p2 loop: a=fn4(z) z=(tanh(-sqrt(-1)*log(sqrt(1-1/sqr(a))+sqrt(-1)/a)))^@pow bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |z|>@bailcon) default: title="Chanoasect" center=(0.001,0.001) heading caption="Init" endheading param p1 default=(0,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc heading caption="Loop" endheading param pow caption="Exponent" default=2.0 endparam func fn4 caption="Function" default=ident() endfunc heading caption="Bailout" endheading param B caption="Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Value" default=4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.001 visible=@B==1 endparam } ThreeKleinTrig{ ;Adapted and modified from Morgan_L_Owens.frm init: a=2*pi/3 c1=p1*fn1(exp((0,0)*a)) c2=p1*fn1(exp((0,1)*a)) c3=p1*fn1(exp((0,2)*a)) r=sqrt(3)/2 i=sqrt(-1) if @F==0 z=acos(pixel) elseif @F==1 z=-i*log(sqrt(1-1/sqr(pixel))+i/pixel) elseif @F==2 z=acosh(pixel) elseif @F==3 z=(i/2)*(log((pixel-i)/pixel)-log((pixel+i)/pixel)) elseif @F==4 z=asin(1+pixel) elseif @F==5 z=asin(1-pixel) elseif @F==6 z=asin(1/(pixel+1)) elseif @F==7 z=acos(1/(pixel+1)) elseif @F==8 z=2*acos(sqrt(pixel)) elseif @F==9 z=2*asin(sqrt(pixel)) elseif @F==10 z=acos(1/pixel) elseif @F==11 z=asin(pixel) elseif @F==12 z=asinh(pixel) elseif @F==13 z=atan(pixel) elseif @F==14 z=atanh(pixel) elseif @F==15 z=acos(1+pixel) elseif @F==16 z=acos(1-pixel) elseif @F==17 z=2*sin(pixel/2) elseif @F==18 z=cos(pixel) elseif @F==19 z=1/sin(pixel) elseif @F==20 z=cosh(pixel) elseif @F==21 z=cosh(pixel)/pixel elseif @F==22 z=cotan(pixel) elseif @F==23 z=cotanh(pixel) elseif @F==24 z=1+sin(pixel) elseif @F==25 z=1-sin(pixel) elseif @F==26 z=1/sin(pixel)-1 elseif @F==27 z=1/cos(pixel)-1 elseif @F==28 z=(1+sin(pixel))/2 elseif @F==29 z=(1-sin(pixel))/2 elseif @F==30 z=(1+cos(pixel))/2 elseif @F==31 z=(1-cos(pixel))/2 elseif @F==32 z=sin(pixel) elseif @F==33 z=sin(pixel)/pixel elseif @F==34 z=sinh(pixel) elseif @F==35 z=sinh(pixel)/pixel elseif @F==36 z=tan(pixel) elseif @F==37 z=tan(pixel)/pixel elseif @F==38 z=tanh(pixel) elseif @F==39 z=tanh(pixel)/pixel elseif @F==40 z=1+cos(pixel) elseif @F==41 z=1-cos(pixel) endif loop: if |z-c1|<|r| z=p2*fn2(r*conj(r/(z-c1))+c1) elseif |z-c2|<|r| z=p2*fn2(r*conj(r/(z-c2))+c2) elseif |z-c3|<|r| z=p2*fn2(r*conj(r/(z-c3))+c3) else z=p2*fn2(r*conj(r/(z))) endif bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |z|>@bailcon) default: title="Three Klein Trig" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 heading caption="Init" endheading param F caption="Trig Function" enum="acos""acosec""acosh""acotan""acovercos""acoversin""aexcosec""aexsec""ahavercos""ahaversin"\ "asec""asin""asinh""atan""atanh""avercos""aversin""chord""cos""cosec"\ "cosh""coshc""cotan""cotanh""covercos""coversin""excosec""exsec""hacovercos""hacoversin"\ "havercos""haversin""sin""sinc""sinh""sinhc""tan""tanc""tanh""tanhc""vercos""versin" default=41 endparam func fn1 caption="Function 2" default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam heading caption="Loop" endheading func fn2 caption="Function" default=ident() endfunc param p2 caption="Parameter" default= (1,0) endparam heading caption="Bailout" endheading Param B caption="Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Value" default=4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.015 visible=@B==1 endparam } UFO{ init: z=fn1(pixel) i=sqrt(-1) j=-i k=-1 if @V==0 float x=real(fn2(cabs(z))) float y=imag(fn2(cabs(z))) elseif @V==1 float x=real(fn2(abs(z))) float y=imag(fn2(abs(z))) elseif @V==2 float x=real(fn2(sqr(z))) float y=imag(fn2(sqr(z))) elseif @V==3 float x=real(fn2(cosh(z))) float y=imag(fn2(cosh(z))) elseif @V==4 float x=real(fn2(cos(z))) float y=imag(fn2(cos(z))) else float x=real(fn2(abs(cotanh(z)))) float y=imag(fn2(abs(cotanh(z)))) endif loop: if y>0.5 a=y*j elseif x>0.5 a=x*k else a=x*y endif b=p1*fn3(z^2)+a if @F==0 z=acos(b) elseif @F==1 z=-i*log(sqrt(1-1/sqr(b))+i/b) elseif @F==2 z=acosh(b) elseif @F==3 z=(i/2)*(log((b-i)/b)-log((b+i)/b)) elseif @F==4 z=asin(1+b) elseif @F==5 z=asin(1-b) elseif @F==6 z=asin(1/(b+1)) elseif @F==7 z=acos(1/(b+1)) elseif @F==8 z=2*acos(sqrt(b)) elseif @F==9 z=2*asin(sqrt(b)) elseif @F==10 z=acos(1/b) elseif @F==11 z=asin(b) elseif @F==12 z=asinh(b) elseif @F==13 z=atan(b) elseif @F==14 z=atanh(b) elseif @F==15 z=acos(1+b) elseif @F==16 z=acos(1-b) elseif @F==17 z=2*sin(b/2) elseif @F==18 z=cos(b) elseif @F==19 z=1/sin(b) elseif @F==20 z=cosh(b) elseif @F==21 z=cosh(b)/b elseif @F==22 z=cotan(b) elseif @F==23 z=cotanh(b) elseif @F==24 z=1+sin(b) elseif @F==25 z=1-sin(b) elseif @F==26 z=1/sin(b)-1 elseif @F==27 z=1/cos(b)-1 elseif @F==28 z=(1+sin(b))/2 elseif @F==29 z=(1-sin(b))/2 elseif @F==30 z=(1+cos(b))/2 elseif @F==31 z=(1-cos(b))/2 elseif @F==32 z=sin(b) elseif @F==33 z=sin(b)/b elseif @F==34 z=sinh(b) elseif @F==35 z=sinh(b)/b elseif @F==36 z=tan(b) elseif @F==37 z=tan(b)/b elseif @F==38 z=tanh(b) elseif @F==39 z=tanh(b)/b elseif @F==40 z=1+cos(b) elseif @F==41 z=1-cos(b) elseif @F==42 z=ident(b) endif bailout: (|z|<@baildiv && @B==0) || (|z|>@bailcon && @B==1) default: title="UFO" center=(0.001,0.001) maxiter=500 heading caption="Init" endheading param V caption="Variant" enum="1" "2" "3" "4" "5" "6" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading caption="Loop" endheading param p1 caption="Seed" default=(1,0) endparam param F caption="Trig Function" enum="acos""acosec""acosh""acotan""acovercos""acoversin""aexcosec""aexsec""ahavercos""ahaversin"\ "asec""asin""asinh""atan""atanh""avercos""aversin""chord""cos""cosec"\ "cosh""coshc""cotan""cotanh""covercos""coversin""excosec""exsec""hacovercos""hacoversin"\ "havercos""haversin""sin""sinc""sinh""sinhc""tan""tanc""tanh""tanhc""vercos""versin""none" default=42 endparam func fn3 caption="Function 2" default=ident() endfunc heading caption="Bailout" endheading param B caption="Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Value" default=4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.001 visible=@B==1 endparam } ThreeKleinMod2{ init: z=pixel a=(0,0) k=2*pi/3 c1=p1*fn2(exp((0,0)*k)) c2=p1*fn2(exp((0,1)*k)) c3=p1*fn2(exp((0,2)*k)) r=sqrt(3)/2 loop: if @F=="agd" a=2*atanh(tan(0.5*z)) elseif @F=="asinh" a=asinh(z) elseif @F=="atan" a=atan(z) elseif @F=="atanh" a=atanh(z) elseif @F=="crd" a=2*sin(z/2) elseif @F=="gd" a=2*atan(tanh(0.5*z)) elseif @F=="hacovercos" a=(1+sin(z))/2 elseif @F=="hacoversin" a=(1-sin(z))/2 elseif @F=="sinh" a=sinh(z) elseif @F=="tan" a=tan(z) elseif @F=="tanh" a=tanh(z) endif if |a-c1|<|r| z=p2*fn3(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*fn3(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*fn3(r*conj(r/(a-c3))+c3) else z=p2*fn3(r*conj(r/(a))) endif bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |r*conj(r/a)|>@bailcon) default: title="Three Klein Mod 2" param F caption="Function 1" enum="agd""asinh""atan""atanh""crd""gd"\ "hacovercos""hacoversin""sinh""tan""tanh" default=4 endparam func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param B caption="Bailout Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Bailout Value" default=4.0 visible=@B==0 endparam param bailcon caption="Bailout Value" default=0.25 visible=@B==1 endparam } WhittakerAnatidae{ ; http://www.pdbzro.com/gags/math/root%20finding.pdf ; http://algorithmic-worlds.net/blog/blog.php?Post=20110227 init: z=fn1(pixel) loop: a=fn2(z-0.5*p1*(z^@pow-p3)*(2-p2*(z^@pow-p3))) f=fn3(a) if imag(f)>0 k=f else k=conj(f) endif z=log(k+p4) bailout: (@b==0 && |fn4(z)|<@baildiv) || (@B==1 && |fn4(z)^@pow-p3|>@bailcon) default: title="Whittaker Anatidae" center=(0.001,0.001) maxiter=500 periodicity=0 heading caption="Init" endheading func fn1 caption="Function" default=ident() endfunc heading caption="Loop" endheading param p1 default=(0.65,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(-0.09,-0.78) endparam heading endheading func fn2 caption="Function 1" default=ident() endfunc func fn3 caption="Function 2" default=ident() endfunc param pow caption="Exponent" default=4 endparam heading caption="Bailout" endheading param B caption="Type" enum="divergent""convergent" default=0 endparam param baildiv caption="Value" default=4.0 visible=@B==0 endparam param bailcon caption="Value" default=0.82 visible=@B==1 endparam func fn4 caption="Function" default=ident() endfunc } TrigJulia { ; A choice of 58 trigonometrical functions, applied to standard Julia set. ; 'Start Function' applies them as a mapping. ; 'Loop Function' applies them as part of the iterated formula. ; 'Formula Variant' gives choice of which part of the formula they are applied to. ; Thanks to Ron Barnett for alerting me to the existence of many of the functions which are not built-in to UF init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) endif loop: if @Fo=="z=fn(z)^n+c" if @F =="sin" z=sin(z)^@pow+p1 elseif @f=="sinh" z=sinh(z)^@pow+p1 elseif @F=="asin" z=asin(z)^@pow+p1 elseif @F=="asinh" z=asinh(z)^@pow+p1 elseif @F=="versin" z=(1-cos(z))^@pow+p1 elseif @F=="aversin" z=acos(1-z)^@pow+p1 elseif @F=="haversin" z=((1-cos(z))/2)^@pow+p1 elseif @F=="ahaversin" z=(2*asin(sqrt(z)))^@pow+p1 elseif @F=="coversin" z=(1-sin(z))^@pow+p1 elseif @F=="acoversin" z=asin(1-z)^@pow+p1 elseif @F=="hacoversin" z=((1-sin(z))/2)^@pow+p1 elseif @F=="cos" z=cos(z)^@pow+p1 elseif @F=="cosh" z=cosh(z)^@pow+p1 elseif @F=="acos" z=acos(z)^@pow+p1 elseif @F=="acosh" z=acosh(z)^@pow+p1 elseif @F=="vercos" z=(1+cos(z))^@pow+p1 elseif @F=="avercos" z=acos(1+z)^@pow+p1 elseif @F=="havercos" z=((1+cos(z))/2)^@pow+p1 elseif @F=="ahavercos" z=(2*acos(sqrt(z)))^@pow+p1 elseif @F=="covercos" z=(1+sin(z))^@pow+p1 elseif @F=="acovercos" z=asin(1+z)^@pow+p1 elseif @F=="hacovercos" z=((1+sin(z))/2)^@pow+p1 elseif @F=="tan" z=tan(z)^@pow+p1 elseif @F=="tanh" z=tanh(z)^@pow+p1 elseif @F=="atan" z=atan(z)^@pow+p1 elseif @F=="atanh" z=atanh(z)^@pow+p1 elseif @F=="cotan" z=cotan(z)^@pow+p1 elseif @F=="cotanh" z=cotanh(z)^@pow+p1 elseif @F=="acotan" z=atan(1/z)^@pow+p1 elseif @F=="acotanh" z=atanh(1/z)^@pow+p1 elseif @F=="sec" z=(1/cos(z))^@pow+p1 elseif @F=="sech" z=(1/cosh(z))^@pow+p1 elseif @F=="asec" z=acos(1/z)^@pow+p1 elseif @F=="asech" z=acosh(1/z)^@pow+p1 elseif @F=="cosec" z=(1/sin(z))^@pow+p1 elseif @F=="cosech" z=(1/sinh(z))^@pow+p1 elseif @F=="acosec" z=asin(1/z)^@pow+p1 elseif @F=="acosech" z=asinh(1/z)^@pow+p1 elseif @F=="exsec" z=(1/cos(z)-1)^@pow+p1 elseif @F=="aexsec" z= acos(1/(z+1))^@pow+p1 elseif @F=="excosec" z=(1/sin(z)-1)^@pow+p1 elseif @F=="aexcosec" z=asin(1/(z+1))^@pow+p1 elseif @F=="crd" z=(2*sin(z/2))^@pow+p1 elseif @F=="acrd" z=(2*asin(z/2))^@pow+p1 elseif @F=="gd" z=asin(tanh(z))^@pow+p1 elseif @F=="agd" z=asinh(tan(z))^@pow+p1 elseif @F =="sinc" z=(sin(z)/z)^@pow+p1 elseif @f=="sinhc" z=(sinh(z)/z)^@pow+p1 elseif @F=="cosc" z=(cos(z)/z)^@pow+p1 elseif @F=="coshc" z=(cosh(z)/z)^@pow+p1 elseif @F=="tanc" z=(tan(z)/(z))^@pow+p1 elseif @F=="tanhc" z=(tanh(z)/z)^@pow+p1 elseif @F=="cotanc" z=(cotan(z)/z)^@pow+p1 elseif @F=="cotanhc" z=(cotanh(z)/z)^@pow+p1 elseif @F=="secc" z=(1/(z*cos(z)))^@pow+p1 elseif @F=="sechc" z=(1/(z*cosh(z)))^@pow+p1 elseif @F=="cosecc" z= (1/(z*sin(z)))^@pow+p1 elseif @F=="cosechc" z=(1/(z*sinh(z)))^@pow+p1 endif elseif @Fo=="z=fn(z^n)+c" if @F =="sin" z=sin(z^@pow)+p1 elseif @f=="sinh" z=sinh(z^@pow)+p1 elseif @F=="asin" z=asin(z^@pow)+p1 elseif @F=="asinh" z=asinh(z^@pow)+p1 elseif @F=="versin" z=1-cos(z^@pow)+p1 elseif @F=="aversin" z=acos(1-z^@pow)+p1 elseif @F=="haversin" z=(1-cos(z^@pow))/2+p1 elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow))+p1 elseif @F=="coversin" z=1-sin(z^@pow)+p1 elseif @F=="acoversin" z=asin(1-z^@pow)+p1 elseif @F=="hacoversin" z=(1-sin(z^@pow))/2+p1 elseif @F=="cos" z=cos(z^@pow)+p1 elseif @F=="cosh" z=cosh(z^@pow)+p1 elseif @F=="acos" z=acos(z^@pow)+p1 elseif @F=="acosh" z=acosh(z^@pow)+p1 elseif @F=="vercos" z=1+cos(z^@pow)+p1 elseif @F=="avercos" z=acos(1+z^@pow)+p1 elseif @F=="havercos" z=(1+cos(z^@pow))/2+p1 elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow))+p1 elseif @F=="covercos" z=1+sin(z^@pow)+p1 elseif @F=="acovercos" z=asin(1+z^@pow)+p1 elseif @F=="hacovercos" z=(1+sin(z^@pow))/2+p1 elseif @F=="tan" z=tan(z^@pow)+p1 elseif @F=="tanh" z=tanh(z^@pow)+p1 elseif @F=="atan" z=atan(z^@pow)+p1 elseif @F=="atanh" z=atanh(z^@pow)+p1 elseif @F=="cotan" z=cotan(z^@pow)+p1 elseif @F=="cotanh" z=cotanh(z^@pow)+p1 elseif @F=="acotan" z=atan(1/(z^@pow))+p1 elseif @F=="acotanh" z=atanh(1/(z^@pow))+p1 elseif @F=="sec" z=1/cos(z^@pow)+p1 elseif @F=="sech" z=1/cosh(z^@pow)+p1 elseif @F=="asec" z=acos(1/z^@pow)+p1 elseif @F=="asech" z=acosh(1/z^@pow)+p1 elseif @F=="cosec" z=1/sin(z^@pow)+p1 elseif @F=="cosech" z=1/sinh(z^@pow)+p1 elseif @F=="acosec" z=asin(1/z^@pow)+p1 elseif @F=="acosech" z=asinh(1/z^@pow)+p1 elseif @F=="exsec" z=1/cos(z^@pow)-1+p1 elseif @F=="aexsec" z= acos(1/(z^@pow+1))+p1 elseif @F=="excosec" z=1/sin(z^@pow)-1+p1 elseif @F=="aexcosec" z=asin(1/(z^@pow+1))+p1 elseif @F=="crd" z=2*sin(z^@pow/2)+p1 elseif @F=="acrd" z=2*asin(z^@pow/2)+p1 elseif @F=="gd" z= asin(tanh(z^@pow))+p1 elseif @F=="agd" z=asinh(tan(z^@pow))+p1 elseif @F =="sinc" z=sin(z^@pow)/(z^@pow)+p1 elseif @f=="sinhc" z=sinh(z^@pow)/(z^@pow)+p1 elseif @F=="cosc" z=cos(z^@pow)/(z^@pow)+p1 elseif @F=="coshc" z=cosh(z^@pow)/(z^@pow)+p1 elseif @F=="tanc" z=tan(z^@pow)/(z^@pow)+p1 elseif @F=="tanhc" z=tanh(z^@pow)/(z^@pow)+p1 elseif @F=="cotanc" z=cotan(z^@pow)/(z^@pow)+p1 elseif @F=="cotanhc" z=cotanh(z^@pow)/(z^@pow)+p1 elseif @F=="secc" z=1/(z^@pow*cos(z^@pow))+p1 elseif @F=="sechc" z=1/(z^@pow*cosh(z^@pow))+p1 elseif @F=="cosecc" z= 1/(z^@pow*sin(z^@pow))+p1 elseif @F=="cosechc" z=1/(z^@pow*sinh(z^@pow))+p1 endif elseif @Fo=="z=fn(z^n+c)" if @F =="sin" z=sin(z^@pow+p1) elseif @f=="sinh" z=sinh(z^@pow+p1) elseif @F=="asin" z=asin(z^@pow+p1) elseif @F=="asinh" z=asinh(z^@pow+p1) elseif @F=="versin" z=1-cos(z^@pow+p1) elseif @F=="aversin" z=acos(1-(z^@pow+p1)) elseif @F=="haversin" z=(1-cos(z^@pow+p1))/2 elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow+p1)) elseif @F=="coversin" z=1-sin(z^@pow+p1) elseif @F=="acoversin" z=asin(1-(z^@pow+p1)) elseif @F=="hacoversin" z=(1-sin(z^@pow+p1))/2 elseif @F=="cos" z=cos(z^@pow+p1) elseif @F=="cosh" z=cosh(z^@pow+p1) elseif @F=="acos" z=acos(z^@pow+p1) elseif @F=="acosh" z=acosh(z^@pow+p1) elseif @F=="vercos" z=1+cos(z^@pow+p1) elseif @F=="avercos" z=acos(1+z^@pow+p1) elseif @F=="havercos" z=(1+cos(z^@pow+p1))/2 elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow+p1)) elseif @F=="covercos" z=1+sin(z^@pow+p1) elseif @F=="acovercos" z=asin(1+z^@pow+p1) elseif @F=="hacovercos" z= (1+sin(z^@pow+p1))/2 elseif @F=="tan" z=tan(z^@pow+p1) elseif @F=="tanh" z=tanh(z^@pow+p1) elseif @F=="atan" z=atan(z^@pow+p1) elseif @F=="atanh" z=atanh(z^@pow+p1) elseif @F=="cotan" z=cotan(z^@pow+p1) elseif @F=="cotanh" z=cotanh(z^@pow+p1) elseif @F=="acotan" z=atan(1/(z^@pow+p1)) elseif @F=="acotanh" z=atanh(1/(z^@pow+p1)) elseif @F=="sec" z=1/cos(z^@pow+p1) elseif @F=="sech" z=1/cosh(z^@pow+p1) elseif @F=="asec" z=acos(1/(z^@pow+p1)) elseif @F=="asech" z=acosh(1/(z^@pow+p1)) elseif @F=="cosec" z=1/sin(z^@pow+p1) elseif @F=="cosech" z=1/sinh(z^@pow+p1) elseif @F=="acosec" z=asin(1/(z^@pow+p1)) elseif @F=="acosech" z=asinh(1/(z^@pow+p1)) elseif @F=="exsec" z=1/cos(z^@pow+p1)-1 elseif @F=="aexsec" z= acos(1/(z^@pow+p1+1)) elseif @F=="excosec" z=1/sin(z^@pow+p1)-1 elseif @F=="aexcosec" z=asin(1/(z^@pow+p1+1)) elseif @F=="crd" z=2*sin((z^@pow+p1)/2) elseif @F=="acrd" z=2*asin((z^@pow+p1)/2) elseif @F=="gd" z=asin(tanh(z^@pow+p1)) elseif @F=="agd" z=asinh(tan(z^@pow+p1)) elseif @F =="sinc" z=sin(z^@pow+p1)/(z^@pow+p1) elseif @f=="sinhc" z=sinh(z^@pow+p1)/(z^@pow+p1) elseif @F=="cosc" z=cos(z^@pow+p1)/(z^@pow+p1) elseif @F=="coshc" z=cosh(z^@pow+p1)/(z^@pow+p1) elseif @F=="tanc" z=tan(z^@pow+p1)/(z^@pow+p1) elseif @F=="tanhc" z=tanh(z^@pow+p1)/(z^@pow+p1) elseif @F=="cotanc" z=cotan(z^@pow+p1)/(z^@pow+p1) elseif @F=="cotanhc" z=cotanh(z^@pow+p1)/(z^@pow+p1) elseif @F=="secc" z=1/((z^@pow+p1)*cos(z^@pow+p1)) elseif @F=="sechc" z=1/((z^@pow+p1)*cosh(z^@pow+p1)) elseif @F=="cosecc" z= 1/((z^@pow+p1)*sin(z^@pow+p1)) elseif @F=="cosechc" z=1/((z^@pow+p1)*sinh(z^@pow+p1)) endif endif bailout: |z|<4 default: title="Trig Julia" center=(0.001,0.001) param Fs caption="Start Function" enum="sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=0 endparam param Fo caption="Formula Variant" enum="z=fn(z)^n+c""z=fn(z^n)+c""z=fn(z^n+c)" default=0 endparam param F caption="Loop Function" enum="sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=3 endparam param pow caption="Exponent" default=2 endparam param p1 caption="Julia Seed" default=(-1.25,0) endparam } TrigMand { ; A choice of 58 trigonometrical functions, applied to standard Mandelbrot set. ; 'Start Function' applies them as a mapping. ; 'Loop Function' applies them as part of the iterated formula. ; 'Formula Variant' gives choice of which part of the formula they are applied to. ; Thanks to Ron Barnett for alerting me to the existence of many of the functions which are not built-in to UF init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) endif loop: if @Fo=="z=fn(z)^n+pixel" if @F =="sin" z=sin(z)^@pow+pixel elseif @f=="sinh" z=sinh(z)^@pow+pixel elseif @F=="asin" z=asin(z)^@pow+pixel elseif @F=="asinh" z=asinh(z)^@pow+pixel elseif @F=="versin" z=(1-cos(z))^@pow+pixel elseif @F=="aversin" z=acos(1-z)^@pow+pixel elseif @F=="haversin" z=((1-cos(z))/2)^@pow+pixel elseif @F=="ahaversin" z=(2*asin(sqrt(z)))^@pow+pixel elseif @F=="coversin" z=(1-sin(z))^@pow+pixel elseif @F=="acoversin" z=asin(1-z)^@pow+pixel elseif @F=="hacoversin" z=((1-sin(z))/2)^@pow+pixel elseif @F=="cos" z=cos(z)^@pow+pixel elseif @F=="cosh" z=cosh(z)^@pow+pixel elseif @F=="acos" z=acos(z)^@pow+pixel elseif @F=="acosh" z=acosh(z)^@pow+pixel elseif @F=="vercos" z=(1+cos(z))^@pow+pixel elseif @F=="avercos" z=acos(1+z)^@pow+pixel elseif @F=="havercos" z=((1+cos(z))/2)^@pow+pixel elseif @F=="ahavercos" z=(2*acos(sqrt(z)))^@pow+pixel elseif @F=="covercos" z=(1+sin(z))^@pow+pixel elseif @F=="acovercos" z=asin(1+z)^@pow+pixel elseif @F=="hacovercos" z=((1+sin(z))/2)^@pow+pixel elseif @F=="tan" z=tan(z)^@pow+pixel elseif @F=="tanh" z=tanh(z)^@pow+pixel elseif @F=="atan" z=atan(z)^@pow+pixel elseif @F=="atanh" z=atanh(z)^@pow+pixel elseif @F=="cotan" z=cotan(z)^@pow+pixel elseif @F=="cotanh" z=cotanh(z)^@pow+pixel elseif @F=="acotan" z=atan(1/z)^@pow+pixel elseif @F=="acotanh" z=atanh(1/z)^@pow+pixel elseif @F=="sec" z=(1/cos(z))^@pow+pixel elseif @F=="sech" z=(1/cosh(z))^@pow+pixel elseif @F=="asec" z=acos(1/z)^@pow+pixel elseif @F=="asech" z=acosh(1/z)^@pow+pixel elseif @F=="cosec" z=(1/sin(z))^@pow+pixel elseif @F=="cosech" z=(1/sinh(z))^@pow+pixel elseif @F=="acosec" z=asin(1/z)^@pow+pixel elseif @F=="acosech" z=asinh(1/z)^@pow+pixel elseif @F=="exsec" z=(1/cos(z)-1)^@pow+pixel elseif @F=="aexsec" z= acos(1/(z+1))^@pow+pixel elseif @F=="excosec" z=(1/sin(z)-1)^@pow+pixel elseif @F=="aexcosec" z=asin(1/(z+1))^@pow+pixel elseif @F=="crd" z=(2*sin(z/2))^@pow+pixel elseif @F=="acrd" z=(2*asin(z/2))^@pow+pixel elseif @F=="gd" z=asin(tanh(z))^@pow+pixel elseif @F=="agd" z=asinh(tan(z))^@pow+pixel elseif @F =="sinc" z=(sin(z)/z)^@pow+pixel elseif @f=="sinhc" z=(sinh(z)/z)^@pow+pixel elseif @F=="cosc" z=(cos(z)/z)^@pow+pixel elseif @F=="coshc" z=(cosh(z)/z)^@pow+pixel elseif @F=="tanc" z=(tan(z)/(z))^@pow+pixel elseif @F=="tanhc" z=(tanh(z)/z)^@pow+pixel elseif @F=="cotanc" z=(cotan(z)/z)^@pow+pixel elseif @F=="cotanhc" z=(cotanh(z)/z)^@pow+pixel elseif @F=="secc" z=(1/(z*cos(z)))^@pow+pixel elseif @F=="sechc" z=(1/(z*cosh(z)))^@pow+pixel elseif @F=="cosecc" z= (1/(z*sin(z)))^@pow+pixel elseif @F=="cosechc" z=(1/(z*sinh(z)))^@pow+pixel endif elseif @Fo=="z=fn(z^n)+pixel" if @F =="sin" z=sin(z^@pow)+pixel elseif @f=="sinh" z=sinh(z^@pow)+pixel elseif @F=="asin" z=asin(z^@pow)+pixel elseif @F=="asinh" z=asinh(z^@pow)+pixel elseif @F=="versin" z=1-cos(z^@pow)+pixel elseif @F=="aversin" z=acos(1-z^@pow)+pixel elseif @F=="haversin" z=(1-cos(z^@pow))/2+pixel elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow))+pixel elseif @F=="coversin" z=1-sin(z^@pow)+pixel elseif @F=="acoversin" z=asin(1-z^@pow)+pixel elseif @F=="hacoversin" z=(1-sin(z^@pow))/2+pixel elseif @F=="cos" z=cos(z^@pow)+pixel elseif @F=="cosh" z=cosh(z^@pow)+pixel elseif @F=="acos" z=acos(z^@pow)+pixel elseif @F=="acosh" z=acosh(z^@pow)+pixel elseif @F=="vercos" z=1+cos(z^@pow)+pixel elseif @F=="avercos" z=acos(1+z^@pow)+pixel elseif @F=="havercos" z=(1+cos(z^@pow))/2+pixel elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow))+pixel elseif @F=="covercos" z=1+sin(z^@pow)+pixel elseif @F=="acovercos" z=asin(1+z^@pow)+pixel elseif @F=="hacovercos" z= (1+sin(z^@pow))/2+pixel elseif @F=="tan" z=tan(z^@pow)+pixel elseif @F=="tanh" z=tanh(z^@pow)+pixel elseif @F=="atan" z=atan(z^@pow)+pixel elseif @F=="atanh" z=atanh(z^@pow)+pixel elseif @F=="cotan" z=cotan(z^@pow)+pixel elseif @F=="cotanh" z=cotanh(z^@pow)+pixel elseif @F=="acotan" z=atan(1/(z^@pow))+pixel elseif @F=="acotanh" z=atanh(1/(z^@pow))+pixel elseif @F=="sec" z=1/cos(z^@pow)+pixel elseif @F=="sech" z=1/cosh(z^@pow)+pixel elseif @F=="asec" z=acos(1/z^@pow)+pixel elseif @F=="asech" z=acosh(1/z^@pow)+pixel elseif @F=="cosec" z=1/sin(z^@pow)+pixel elseif @F=="cosech" z=1/sinh(z^@pow)+pixel elseif @F=="acosec" z=asin(1/z^@pow)+pixel elseif @F=="acosech" z=asinh(1/z^@pow)+pixel elseif @F=="exsec" z=1/cos(z^@pow)-1 +pixel elseif @F=="aexsec" z= acos(1/(z^@pow+1))+pixel elseif @F=="excosec" z=1/sin(z^@pow)-1+pixel elseif @F=="aexcosec" z=asin(1/(z^@pow+1))+pixel elseif @F=="crd" z=2*sin(z^@pow/2)+pixel elseif @F=="acrd" z=2*asin(z^@pow/2)+pixel elseif @F=="gd" z=2*sin(z^@pow/2)+pixel elseif @F=="agd" z=2*asin(z^@pow/2)+pixel elseif @F =="sinc" z=sin(z^@pow)/(z^@pow)+pixel elseif @f=="sinhc" z=sinh(z^@pow)/(z^@pow)+pixel elseif @F=="cosc" z=cos(z^@pow)/(z^@pow)+pixel elseif @F=="coshc" z=cosh(z^@pow)/(z^@pow)+pixel elseif @F=="tanc" z=tan(z^@pow)/(z^@pow)+pixel elseif @F=="tanhc" z=tanh(z^@pow)/(z^@pow)+pixel elseif @F=="cotanc" z=cotan(z^@pow)/(z^@pow)+pixel elseif @F=="cotanhc" z=cotanh(z^@pow)/(z^@pow)+pixel elseif @F=="secc" z=1/(z^@pow*cos(z^@pow))+pixel elseif @F=="sechc" z=1/(z^@pow*cosh(z^@pow))+pixel elseif @F=="cosecc" z= 1/(z^@pow*sin(z^@pow))+pixel elseif @F=="cosechc" z=1/(z^@pow*sinh(z^@pow))+pixel endif elseif @Fo=="z=fn(z^n+pixel)" if @F =="sin" z=sin(z^@pow+pixel) elseif @f=="sinh" z=sinh(z^@pow+pixel) elseif @F=="asin" z=asin(z^@pow+pixel) elseif @F=="asinh" z=asinh(z^@pow+pixel) elseif @F=="versin" z=1-cos(z^@pow+pixel) elseif @F=="aversin" z=acos(1-(z^@pow+pixel)) elseif @F=="haversin" z=(1-cos(z^@pow+pixel))/2 elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow+pixel)) elseif @F=="coversin" z=1-sin(z^@pow+pixel) elseif @F=="acoversin" z=asin(1-(z^@pow+pixel)) elseif @F=="hacoversin" z=(1-sin(z^@pow+pixel))/2 elseif @F=="cos" z=cos(z^@pow+pixel) elseif @F=="cosh" z=cosh(z^@pow+pixel) elseif @F=="acos" z=acos(z^@pow+pixel) elseif @F=="acosh" z=acosh(z^@pow+pixel) elseif @F=="vercos" z=1+cos(z^@pow+pixel) elseif @F=="avercos" z=acos(1+z^@pow+pixel) elseif @F=="havercos" z=(1+cos(z^@pow+pixel))/2 elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow+pixel)) elseif @F=="covercos" z=1+sin(z^@pow+pixel) elseif @F=="acovercos" z=asin(1+z^@pow+pixel) elseif @F=="hacovercos" z= (1+sin(z^@pow+pixel))/2 elseif @F=="tan" z=tan(z^@pow+pixel) elseif @F=="tanh" z=tanh(z^@pow+pixel) elseif @F=="atan" z=atan(z^@pow+pixel) elseif @F=="atanh" z=atanh(z^@pow+pixel) elseif @F=="cotan" z=cotan(z^@pow+pixel) elseif @F=="cotanh" z=cotanh(z^@pow+pixel) elseif @F=="acotan" z=atan(1/(z^@pow+pixel)) elseif @F=="acotanh" z=atanh(1/(z^@pow+pixel)) elseif @F=="sec" z=1/cos(z^@pow+pixel) elseif @F=="sech" z=1/cosh(z^@pow+pixel) elseif @F=="asec" z=acos(1/(z^@pow+pixel)) elseif @F=="asech" z=acosh(1/(z^@pow+pixel)) elseif @F=="cosec" z=1/sin(z^@pow+pixel) elseif @F=="cosech" z=1/sinh(z^@pow+pixel) elseif @F=="acosec" z=asin(1/(z^@pow+pixel)) elseif @F=="acosech" z=asinh(1/(z^@pow+pixel)) elseif @F=="exsec" z=1/cos(z^@pow+pixel)-1 elseif @F=="aexsec" z= acos(1/(z^@pow+pixel+1)) elseif @F=="excosec" z=1/sin(z^@pow+pixel)-1 elseif @F=="aexcosec" z=asin(1/(z^@pow+pixel+1)) elseif @F=="crd" z=2*sin((z^@pow+pixel)/2) elseif @F=="acrd" z=2*asin((z^@pow+pixel)/2) elseif @F=="gd" z=asin(tanh(z^@pow+pixel)) elseif @F=="agd" z=asinh(tan(z^@pow+pixel)) elseif @F =="sinc" z=sin(z^@pow+pixel)/(z^@pow+pixel) elseif @f=="sinhc" z=sinh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="cosc" z=cos(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="coshc" z=cosh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="tanc" z=tan(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="tanhc" z=tanh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="cotanc" z=cotan(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="cotanhc" z=cotanh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="secc" z=1/((z^@pow+pixel)*cos(z^@pow+pixel)) elseif @F=="sechc" z=1/((z^@pow+pixel)*cosh(z^@pow+pixel)) elseif @F=="cosecc" z= 1/((z^@pow+pixel)*sin(z^@pow+pixel)) elseif @F=="cosechc" z=1/((z^@pow+pixel)*sinh(z^@pow+pixel)) endif endif bailout: |z|<4 default: title="Trig Mandelbrot" center=(0.001,0.001) param Fs caption="Start Function" enum="sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=0 endparam param Fo caption="Formula Variant" enum="z=fn(z)^n+pixel""z=fn(z^n)+pixel""z=fn(z^n+pixel)" default=0 endparam param F caption="Loop Function" enum="sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=1 endparam param pow caption="Exponent" default=2 endparam } Ablifionex{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) endif loop: z=sqrt(z-(z^3-1)/(3*z^2)) if @f2=="ident" z=(ident(z)^2)/(1+cotanh(cabs(z))) elseif @f2=="sinh" z=(sinh(z)^2)/(1+cotanh(cabs(z))) elseif @f2=="asin" z=(asin(z)^2)/(1+cotanh(cabs(z))) elseif @f2=="sqr" z=(sqr(z)^2)/(1+cotanh(cabs(z))) elseif @f2=="crd" z=((2*sin(z/2))^2)/(1+cotanh(cabs(z))) elseif @f2=="acrd" z=((2*asin(z/2))^2)/(1+cotanh(cabs(z))) elseif @f2=="softplus" z=((log(1+exp(z)))^2)/(1+cotanh(cabs(z))) endif z=p1*z+p2 bailout: (@B==0 && |z|<@baildiv) \ || (@B==1 && |z^3-1|>=@bailcon) default: title="Ablifionex" center=(0.001,0.001) angle=90 magn=2 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=0 endparam param f2 caption="Loop Function" enum="ident""sinh""asin""sqr""crd""acrd""softplus" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param B caption="Bailout Type" enum= "divergent""convergent" default=0 endparam param baildiv caption="Bailout Value" default=4.0 visible=@B==0 endparam param bailcon caption="Bailout Value" default=0.25 visible=@B==1 endparam } FunctionsJulia { ; A choice of 58 functions, applied to standard Julia set. ; 'Start Function' applies them as a mapping. ; 'Loop Function' applies them as part of the iterated formula. ; 'Formula Variant' gives choice of which part of the formula they are applied to. ; Thanks to Ron Barnett for alerting me to the existence of many of the functions which are not built-in to UF init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @Fo=="z=fn(z)^n+c" if @F=="ident" z=ident(z)^@pow+p1 elseif @F =="sin" z=sin(z)^@pow+p1 elseif @f=="sinh" z=sinh(z)^@pow+p1 elseif @F=="asin" z=asin(z)^@pow+p1 elseif @F=="asinh" z=asinh(z)^@pow+p1 elseif @F=="versin" z=(1-cos(z))^@pow+p1 elseif @F=="aversin" z=acos(1-z)^@pow+p1 elseif @F=="haversin" z=((1-cos(z))/2)^@pow+p1 elseif @F=="ahaversin" z=(2*asin(sqrt(z)))^@pow+p1 elseif @F=="coversin" z=(1-sin(z))^@pow+p1 elseif @F=="acoversin" z=asin(1-z)^@pow+p1 elseif @F=="hacoversin" z=((1-sin(z))/2)^@pow+p1 elseif @F=="cos" z=cos(z)^@pow+p1 elseif @F=="cosh" z=cosh(z)^@pow+p1 elseif @F=="acos" z=acos(z)^@pow+p1 elseif @F=="acosh" z=acosh(z)^@pow+p1 elseif @F=="vercos" z=(1+cos(z))^@pow+p1 elseif @F=="avercos" z=acos(1+z)^@pow+p1 elseif @F=="havercos" z=((1+cos(z))/2)^@pow+p1 elseif @F=="ahavercos" z=(2*acos(sqrt(z)))^@pow+p1 elseif @F=="covercos" z=(1+sin(z))^@pow+p1 elseif @F=="acovercos" z=asin(1+z)^@pow+p1 elseif @F=="hacovercos" z=((1+sin(z))/2)^@pow+p1 elseif @F=="tan" z=tan(z)^@pow+p1 elseif @F=="tanh" z=tanh(z)^@pow+p1 elseif @F=="atan" z=atan(z)^@pow+p1 elseif @F=="atanh" z=atanh(z)^@pow+p1 elseif @F=="cotan" z=cotan(z)^@pow+p1 elseif @F=="cotanh" z=cotanh(z)^@pow+p1 elseif @F=="acotan" z=atan(1/z)^@pow+p1 elseif @F=="acotanh" z=atanh(1/z)^@pow+p1 elseif @F=="sec" z=(1/cos(z))^@pow+p1 elseif @F=="sech" z=(1/cosh(z))^@pow+p1 elseif @F=="asec" z=acos(1/z)^@pow+p1 elseif @F=="asech" z=acosh(1/z)^@pow+p1 elseif @F=="cosec" z=(1/sin(z))^@pow+p1 elseif @F=="cosech" z=(1/sinh(z))^@pow+p1 elseif @F=="acosec" z=asin(1/z)^@pow+p1 elseif @F=="acosech" z=asinh(1/z)^@pow+p1 elseif @F=="exsec" z=(1/cos(z)-1)^@pow+p1 elseif @F=="aexsec" z= acos(1/(z+1))^@pow+p1 elseif @F=="excosec" z=(1/sin(z)-1)^@pow+p1 elseif @F=="aexcosec" z=asin(1/(z+1))^@pow+p1 elseif @F=="crd" z=(2*sin(z/2))^@pow+p1 elseif @F=="acrd" z=(2*asin(z/2))^@pow+p1 elseif @F=="gd" z=asin(tanh(z))^@pow+p1 elseif @F=="agd" z=asinh(tan(z))^@pow+p1 elseif @F =="sinc" z=(sin(z)/z)^@pow+p1 elseif @f=="sinhc" z=(sinh(z)/z)^@pow+p1 elseif @F=="cosc" z=(cos(z)/z)^@pow+p1 elseif @F=="coshc" z=(cosh(z)/z)^@pow+p1 elseif @F=="tanc" z=(tan(z)/(z))^@pow+p1 elseif @F=="tanhc" z=(tanh(z)/z)^@pow+p1 elseif @F=="cotanc" z=(cotan(z)/z)^@pow+p1 elseif @F=="cotanhc" z=(cotanh(z)/z)^@pow+p1 elseif @F=="secc" z=(1/(z*cos(z)))^@pow+p1 elseif @F=="sechc" z=(1/(z*cosh(z)))^@pow+p1 elseif @F=="cosecc" z= (1/(z*sin(z)))^@pow+p1 elseif @F=="cosechc" z=(1/(z*sinh(z)))^@pow+p1 elseif @F=="sqr" z=sqr(z)^@pow+p1 elseif @F=="sqrt" z=sqrt(z)^@pow+p1 elseif @F=="cube" z=(z^3)^@pow+p1 elseif @F=="cuberoot" z=(z^(1/3))^@pow+p1 elseif @F=="log" z=log(z)^@pow+p1 elseif @F=="colog" z=-log(z)^@pow+p1 elseif @F=="exp" z=exp(z)^@pow+p1 elseif @F=="abs" z=abs(z)^@pow+p1 elseif @F=="cabs" z=cabs(z)^@pow+p1 elseif @F=="conj" z=conj(z)^@pow+p1 elseif @F=="recip" z=recip(z)^@pow+p1 elseif @F=="logit" z=log(z/(1-z))^@pow+p1 elseif @F=="expit" z=(1/(1+exp(-z)))^@pow+p1 elseif @F=="gauss" z=exp(-sqr(z))^@pow+p1 elseif @F=="softplus" z=(log(1+exp(z)))^@pow+p1 elseif @F=="prime-counting" z=(z/log(z))^@pow+p1 elseif @F=="ceil" z=ceil(z)^@pow+p1 elseif @F=="floor" z=floor(z)^@pow+p1 elseif @F=="trunc" z=trunc(z)^@pow+p1 elseif @F=="round" z=round(z)^@pow+p1 endif elseif @Fo=="z=fn(z^n)+c" if @F=="ident" z=ident(z^@pow)+p1 elseif @F =="sin" z=sin(z^@pow)+p1 elseif @f=="sinh" z=sinh(z^@pow)+p1 elseif @F=="asin" z=asin(z^@pow)+p1 elseif @F=="asinh" z=asinh(z^@pow)+p1 elseif @F=="versin" z=1-cos(z^@pow)+p1 elseif @F=="aversin" z=acos(1-z^@pow)+p1 elseif @F=="haversin" z=(1-cos(z^@pow))/2+p1 elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow))+p1 elseif @F=="coversin" z=1-sin(z^@pow)+p1 elseif @F=="acoversin" z=asin(1-z^@pow)+p1 elseif @F=="hacoversin" z=(1-sin(z^@pow))/2+p1 elseif @F=="cos" z=cos(z^@pow)+p1 elseif @F=="cosh" z=cosh(z^@pow)+p1 elseif @F=="acos" z=acos(z^@pow)+p1 elseif @F=="acosh" z=acosh(z^@pow)+p1 elseif @F=="vercos" z=1+cos(z^@pow)+p1 elseif @F=="avercos" z=acos(1+z^@pow)+p1 elseif @F=="havercos" z=(1+cos(z^@pow))/2+p1 elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow))+p1 elseif @F=="covercos" z=1+sin(z^@pow)+p1 elseif @F=="acovercos" z=asin(1+z^@pow)+p1 elseif @F=="hacovercos" z=(1+sin(z^@pow))/2+p1 elseif @F=="tan" z=tan(z^@pow)+p1 elseif @F=="tanh" z=tanh(z^@pow)+p1 elseif @F=="atan" z=atan(z^@pow)+p1 elseif @F=="atanh" z=atanh(z^@pow)+p1 elseif @F=="cotan" z=cotan(z^@pow)+p1 elseif @F=="cotanh" z=cotanh(z^@pow)+p1 elseif @F=="acotan" z=atan(1/(z^@pow))+p1 elseif @F=="acotanh" z=atanh(1/(z^@pow))+p1 elseif @F=="sec" z=1/cos(z^@pow)+p1 elseif @F=="sech" z=1/cosh(z^@pow)+p1 elseif @F=="asec" z=acos(1/z^@pow)+p1 elseif @F=="asech" z=acosh(1/z^@pow)+p1 elseif @F=="cosec" z=1/sin(z^@pow)+p1 elseif @F=="cosech" z=1/sinh(z^@pow)+p1 elseif @F=="acosec" z=asin(1/z^@pow)+p1 elseif @F=="acosech" z=asinh(1/z^@pow)+p1 elseif @F=="exsec" z=1/cos(z^@pow)-1+p1 elseif @F=="aexsec" z= acos(1/(z^@pow+1))+p1 elseif @F=="excosec" z=1/sin(z^@pow)-1+p1 elseif @F=="aexcosec" z=asin(1/(z^@pow+1))+p1 elseif @F=="crd" z=2*sin(z^@pow/2)+p1 elseif @F=="acrd" z=2*asin(z^@pow/2)+p1 elseif @F=="gd" z= asin(tanh(z^@pow))+p1 elseif @F=="agd" z=asinh(tan(z^@pow))+p1 elseif @F =="sinc" z=sin(z^@pow)/(z^@pow)+p1 elseif @f=="sinhc" z=sinh(z^@pow)/(z^@pow)+p1 elseif @F=="cosc" z=cos(z^@pow)/(z^@pow)+p1 elseif @F=="coshc" z=cosh(z^@pow)/(z^@pow)+p1 elseif @F=="tanc" z=tan(z^@pow)/(z^@pow)+p1 elseif @F=="tanhc" z=tanh(z^@pow)/(z^@pow)+p1 elseif @F=="cotanc" z=cotan(z^@pow)/(z^@pow)+p1 elseif @F=="cotanhc" z=cotanh(z^@pow)/(z^@pow)+p1 elseif @F=="secc" z=1/(z^@pow*cos(z^@pow))+p1 elseif @F=="sechc" z=1/(z^@pow*cosh(z^@pow))+p1 elseif @F=="cosecc" z= 1/(z^@pow*sin(z^@pow))+p1 elseif @F=="cosechc" z=1/(z^@pow*sinh(z^@pow))+p1 elseif @F=="sqr" z=sqr(z^@pow)+p1 elseif @F=="sqrt" z=sqrt(z^@pow)+p1 elseif @F=="cube" z=(z^@pow)^3+p1 elseif @F=="cuberoot" z=(z^@pow)^(1/3)+p1 elseif @F=="log" z=log(z^@pow)+p1 elseif @F=="colog" z=-log(z^@pow)+p1 elseif @F=="exp" z=exp(z^@pow)+p1 elseif @F=="abs" z=abs(z^@pow)+p1 elseif @F=="cabs" z=cabs(z^@pow)+p1 elseif @F=="conj" z=conj(z^@pow)+p1 elseif @F=="recip" z=recip(z^@pow)+p1 elseif @F=="logit" z=log((z^@pow)/(1-(z^@pow)))+p1 elseif @F=="expit" z=(1/(1+exp(-(z^@pow))))+p1 elseif @F=="gauss" z=exp(-sqr(z^@pow))+p1 elseif @F=="softplus" z=(log(1+exp(z^@pow)))+p1 elseif @F=="prime-counting" z=(z/log(z^@pow))+p1 elseif @F=="ceil" z=ceil(z^@pow)+p1 elseif @F=="floor" z=floor(z^@pow)+p1 elseif @F=="trunc" z=trunc(z^@pow)+p1 elseif @F=="round" z=round(z^@pow)+p1 endif elseif @Fo=="z=fn(z^n+c)" if @F=="ident" z=ident(z^@pow+p1) elseif @F =="sin" z=sin(z^@pow+p1) elseif @f=="sinh" z=sinh(z^@pow+p1) elseif @F=="asin" z=asin(z^@pow+p1) elseif @F=="asinh" z=asinh(z^@pow+p1) elseif @F=="versin" z=1-cos(z^@pow+p1) elseif @F=="aversin" z=acos(1-(z^@pow+p1)) elseif @F=="haversin" z=(1-cos(z^@pow+p1))/2 elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow+p1)) elseif @F=="coversin" z=1-sin(z^@pow+p1) elseif @F=="acoversin" z=asin(1-(z^@pow+p1)) elseif @F=="hacoversin" z=(1-sin(z^@pow+p1))/2 elseif @F=="cos" z=cos(z^@pow+p1) elseif @F=="cosh" z=cosh(z^@pow+p1) elseif @F=="acos" z=acos(z^@pow+p1) elseif @F=="acosh" z=acosh(z^@pow+p1) elseif @F=="vercos" z=1+cos(z^@pow+p1) elseif @F=="avercos" z=acos(1+z^@pow+p1) elseif @F=="havercos" z=(1+cos(z^@pow+p1))/2 elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow+p1)) elseif @F=="covercos" z=1+sin(z^@pow+p1) elseif @F=="acovercos" z=asin(1+z^@pow+p1) elseif @F=="hacovercos" z= (1+sin(z^@pow+p1))/2 elseif @F=="tan" z=tan(z^@pow+p1) elseif @F=="tanh" z=tanh(z^@pow+p1) elseif @F=="atan" z=atan(z^@pow+p1) elseif @F=="atanh" z=atanh(z^@pow+p1) elseif @F=="cotan" z=cotan(z^@pow+p1) elseif @F=="cotanh" z=cotanh(z^@pow+p1) elseif @F=="acotan" z=atan(1/(z^@pow+p1)) elseif @F=="acotanh" z=atanh(1/(z^@pow+p1)) elseif @F=="sec" z=1/cos(z^@pow+p1) elseif @F=="sech" z=1/cosh(z^@pow+p1) elseif @F=="asec" z=acos(1/(z^@pow+p1)) elseif @F=="asech" z=acosh(1/(z^@pow+p1)) elseif @F=="cosec" z=1/sin(z^@pow+p1) elseif @F=="cosech" z=1/sinh(z^@pow+p1) elseif @F=="acosec" z=asin(1/(z^@pow+p1)) elseif @F=="acosech" z=asinh(1/(z^@pow+p1)) elseif @F=="exsec" z=1/cos(z^@pow+p1)-1 elseif @F=="aexsec" z= acos(1/(z^@pow+p1+1)) elseif @F=="excosec" z=1/sin(z^@pow+p1)-1 elseif @F=="aexcosec" z=asin(1/(z^@pow+p1+1)) elseif @F=="crd" z=2*sin((z^@pow+p1)/2) elseif @F=="acrd" z=2*asin((z^@pow+p1)/2) elseif @F=="gd" z=asin(tanh(z^@pow+p1)) elseif @F=="agd" z=asinh(tan(z^@pow+p1)) elseif @F =="sinc" z=sin(z^@pow+p1)/(z^@pow+p1) elseif @f=="sinhc" z=sinh(z^@pow+p1)/(z^@pow+p1) elseif @F=="cosc" z=cos(z^@pow+p1)/(z^@pow+p1) elseif @F=="coshc" z=cosh(z^@pow+p1)/(z^@pow+p1) elseif @F=="tanc" z=tan(z^@pow+p1)/(z^@pow+p1) elseif @F=="tanhc" z=tanh(z^@pow+p1)/(z^@pow+p1) elseif @F=="cotanc" z=cotan(z^@pow+p1)/(z^@pow+p1) elseif @F=="cotanhc" z=cotanh(z^@pow+p1)/(z^@pow+p1) elseif @F=="secc" z=1/((z^@pow+p1)*cos(z^@pow+p1)) elseif @F=="sechc" z=1/((z^@pow+p1)*cosh(z^@pow+p1)) elseif @F=="cosecc" z= 1/((z^@pow+p1)*sin(z^@pow+p1)) elseif @F=="cosechc" z=1/((z^@pow+p1)*sinh(z^@pow+p1)) elseif @F=="sqr" z=sqr(z^@pow+p1) elseif @F=="sqrt" z=sqrt(z^@pow+p1) elseif @F=="cube" z=(z^@pow+p1)^3 elseif @F=="cuberoot" z=(z^@pow+p1)^(1/3) elseif @F=="log" z=log(z^@pow+p1) elseif @F=="colog" z=-log(z^@pow+p1) elseif @F=="exp" z=exp(z^@pow+p1) elseif @F=="abs" z=abs(z^@pow+p1) elseif @F=="cabs" z=cabs(z^@pow+p1) elseif @F=="conj" z=conj(z^@pow+p1) elseif @F=="recip" z=recip(z^@pow+p1) elseif @F=="logit" z=log((z^@pow+p1)/(1-(z^@pow+p1))) elseif @F=="expit" z=(1/(1+exp(-(z^@pow+p1)))) elseif @F=="gauss" z=exp(-sqr(z^@pow+p1)) elseif @F=="softplus" z=(log(1+exp(z^@pow+p1))) elseif @F=="prime-counting" z=(z/log(z^@pow+p1)) elseif @F=="ceil" z=ceil(z^@pow+p1) elseif @F=="floor" z=floor(z^@pow+p1) elseif @F=="trunc" z=trunc(z^@pow+p1) elseif @F=="round" z=round(z^@pow+p1) endif elseif @Fo=="z=z^2+fn(c)" if @F=="ident" z=z^@pow+ident(p1) elseif @F =="sin" z=z^@pow+sin(p1) elseif @f=="sinh" z=z^@pow+sinh(p1) elseif @F=="asin" z=z^@pow+asin(p1) elseif @F=="asinh" z=z^@pow+asinh(p1) elseif @F=="versin" z=z^@pow+(1-cos(p1)) elseif @F=="aversin" z=z^@pow+acos(1-p1) elseif @F=="haversin" z=z^@pow+((1-cos(p1))/2) elseif @F=="ahaversin" z=z^@pow+(2*asin(sqrt(p1))) elseif @F=="coversin" z=z^@pow+(1-sin(p1)) elseif @F=="acoversin" z=z^@pow+asin(1-p1) elseif @F=="hacoversin" z=z^@pow+((1-sin(p1))/2) elseif @F=="cos" z=z^@pow+cos(p1) elseif @F=="cosh" z=z^@pow+cosh(p1) elseif @F=="acos" z=z^@pow+acos(p1) elseif @F=="acosh" z=z^@pow+acosh(p1) elseif @F=="vercos" z=z^@pow+(1+cos(p1)) elseif @F=="avercos" z=z^@pow+acos(1+p1) elseif @F=="havercos" z=z^@pow+((1+cos(p1))/2) elseif @F=="ahavercos" z=z^@pow+(2*acos(sqrt(p1))) elseif @F=="covercos" z=z^@pow+(1+sin(p1)) elseif @F=="acovercos" z=z^@pow+asin(1+p1) elseif @F=="hacovercos" z=z^@pow+((1+sin(p1))/2) elseif @F=="tan" z=z^@pow+tan(p1) elseif @F=="tanh" z=z^@pow+tanh(p1) elseif @F=="atan" z=z^@pow+atan(p1) elseif @F=="atanh" z=z^@pow+atanh(p1) elseif @F=="cotan" z=z^@pow+cotan(p1) elseif @F=="cotanh" z=z^@pow+cotanh(p1) elseif @F=="acotan" z=z^@pow+atan(1/p1) elseif @F=="acotanh" z=z^@pow+atanh(1/p1) elseif @F=="sec" z=z^@pow+(1/cos(p1)) elseif @F=="sech" z=z^@pow+(1/cosh(p1)) elseif @F=="asec" z=z^@pow+acos(1/p1) elseif @F=="asech" z=z^@pow+acosh(1/p1) elseif @F=="cosec" z=z^@pow+(1/sin(p1)) elseif @F=="cosech" z=z^@pow+(1/sinh(p1)) elseif @F=="acosec" z=z^@pow+asin(1/p1) elseif @F=="acosech" z=z^@pow+asinh(1/p1) elseif @F=="exsec" z=z^@pow+(1/cos(p1)-1) elseif @F=="aexsec" z=z^@pow+acos(1/(p1+1)) elseif @F=="excosec" z=z^@pow+(1/sin(p1)-1) elseif @F=="aexcosec" z=z^@pow+asin(1/(p1+1)) elseif @F=="crd" z=z^@pow+(2*sin(p1/2)) elseif @F=="acrd" z=z^@pow+(2*asin(p1/2)) elseif @F=="gd" z=z^@pow+asin(tanh(p1)) elseif @F=="agd" z=z^@pow+asinh(tan(p1)) elseif @F =="sinc" z=z^@pow+(sin(p1)/p1) elseif @f=="sinhc" z=z^@pow+(sinh(p1)/p1) elseif @F=="cosc" z=z^@pow+(cos(p1)/p1) elseif @F=="coshc" z=z^@pow+(cosh(p1)/p1) elseif @F=="tanc" z=z^@pow+tan(p1)/p1 elseif @F=="tanhc" z=z^@pow+(tanh(p1)/p1) elseif @F=="cotanc" z=z^@pow+(cotan(p1)/p1) elseif @F=="cotanhc" z=z^@pow+(cotanh(p1)/p1) elseif @F=="secc" z=z^@pow+(1/(p1*cos(p1))) elseif @F=="sechc" z=z^@pow+(1/(p1*cosh(p1))) elseif @F=="cosecc" z=z ^@pow+(1/(p1*sin(p1))) elseif @F=="cosechc" z=z^@pow+(1/(p1*sinh(p1))) elseif @F=="sqr" z=z^@pow+sqr(p1) elseif @F=="sqrt" z=z^@pow+sqrt(p1) elseif @F=="cube" z=z^@pow+(p1^3) elseif @F=="cuberoot" z=z^@pow+(p1^(1/3)) elseif @F=="log" z=z^@pow+log(p1) elseif @F=="colog" z=z^@pow-log(p1) elseif @F=="exp" z=z^@pow+exp(p1) elseif @F=="abs" z=z^@pow+abs(p1) elseif @F=="cabs" z=z^@pow+cabs(p1) elseif @F=="conj" z=z^@pow+conj(p1) elseif @F=="recip" z=z^@pow+recip(p1) elseif @F=="logit" z=z^@pow+log(p1/(1-p1)) elseif @F=="expit" z=z^@pow+(1/(1+exp(-p1))) elseif @F=="gauss" z=z^@pow+exp(-sqr(p1)) elseif @F=="softplus" z=z^@pow+(log(1+exp(p1))) elseif @F=="prime-counting" z=z^@pow+p1/log(p1) elseif @F=="ceil" z=z^@pow+ceil(p1) elseif @F=="floor" z=z^@pow+floor(p1) elseif @F=="trunc" z=z^@pow+trunc(p1) elseif @F=="round" z=z^@pow+round(p1) endif endif bailout: (@Bd==0 && @Bt==0 && |z|<@baildiv) ||\ (@Bd==1 && @Bt==0 && sqr(real(z))<@baildiv) ||\ (@Bd==2 && @Bt==0 && sqr(imag(z))<@baildiv) ||\ (@Bd==3 && @Bt==0 && (sqr(real(z))<@baildiv && sqr(imag(z))<@baildiv)) ||\ (@Bd==4 && @Bt==0 && (sqr(real(z))<@baildiv || sqr(imag(z))<@baildiv)) ||\ (@Bd==5 && @Bt==0 && (sqr(abs(real(z))+abs(imag(z)))<@baildiv)) ||\ (@Bd==6 && @Bt==0 && (sqr(real(z)+imag(z))<@baildiv)) ||\ (@Bc==0 && @Bt==1 && |z|>@bailcon) ||\ (@Bc==1 && @Bt==1 && sqr(real(z))>@bailcon) ||\ (@Bc==2 && @Bt==1 && sqr(imag(z))>@bailcon) ||\ (@Bc==3 && @Bt==1 && (sqr(real(z))>@bailcon && sqr(imag(z))>@bailcon)) ||\ (@Bc==4 && @Bt==1 && (sqr(real(z))>@bailcon || sqr(imag(z))>@bailcon)) ||\ (@Bc==5 && @Bt==1 && (sqr(abs(real(z))+abs(imag(z)))>@bailcon)) ||\ (@Bc==6 && @Bt==1 && (sqr(real(z)+imag(z))>@bailcon)) default: title="Functions Julia" center=(0.001,0.001) param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param Fo caption="Formula Variant" enum="z=fn(z)^n+c""z=fn(z^n)+c""z=fn(z^n+c)""z=z^2+fn(c)" default=0 endparam param F caption="Loop Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param pow caption="Exponent" default=2 endparam param p1 caption="Julia Seed" default=(-1.25,0) endparam param Bt caption="Bailout Type" enum="divergent""convergent" default=0 endparam param Bd caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==0 endparam param Bc caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==1 endparam param baildiv caption="Bailout Value" default= 4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.001 visible=@Bt==1 endparam } FunctionsMandelbrot { init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @Fo=="z=fn(z)^n+pixel" if @F=="ident" z=ident(z)^@pow+pixel elseif @F =="sin" z=sin(z)^@pow+pixel elseif @f=="sinh" z=sinh(z)^@pow+pixel elseif @F=="asin" z=asin(z)^@pow+pixel elseif @F=="asinh" z=asinh(z)^@pow+pixel elseif @F=="versin" z=(1-cos(z))^@pow+pixel elseif @F=="aversin" z=acos(1-z)^@pow+pixel elseif @F=="haversin" z=((1-cos(z))/2)^@pow+pixel elseif @F=="ahaversin" z=(2*asin(sqrt(z)))^@pow+pixel elseif @F=="coversin" z=(1-sin(z))^@pow+pixel elseif @F=="acoversin" z=asin(1-z)^@pow+pixel elseif @F=="hacoversin" z=((1-sin(z))/2)^@pow+pixel elseif @F=="cos" z=cos(z)^@pow+pixel elseif @F=="cosh" z=cosh(z)^@pow+pixel elseif @F=="acos" z=acos(z)^@pow+pixel elseif @F=="acosh" z=acosh(z)^@pow+pixel elseif @F=="vercos" z=(1+cos(z))^@pow+pixel elseif @F=="avercos" z=acos(1+z)^@pow+pixel elseif @F=="havercos" z=((1+cos(z))/2)^@pow+pixel elseif @F=="ahavercos" z=(2*acos(sqrt(z)))^@pow+pixel elseif @F=="covercos" z=(1+sin(z))^@pow+pixel elseif @F=="acovercos" z=asin(1+z)^@pow+pixel elseif @F=="hacovercos" z=((1+sin(z))/2)^@pow+pixel elseif @F=="tan" z=tan(z)^@pow+pixel elseif @F=="tanh" z=tanh(z)^@pow+pixel elseif @F=="atan" z=atan(z)^@pow+pixel elseif @F=="atanh" z=atanh(z)^@pow+pixel elseif @F=="cotan" z=cotan(z)^@pow+pixel elseif @F=="cotanh" z=cotanh(z)^@pow+pixel elseif @F=="acotan" z=atan(1/z)^@pow+pixel elseif @F=="acotanh" z=atanh(1/z)^@pow+pixel elseif @F=="sec" z=(1/cos(z))^@pow+pixel elseif @F=="sech" z=(1/cosh(z))^@pow+pixel elseif @F=="asec" z=acos(1/z)^@pow+pixel elseif @F=="asech" z=acosh(1/z)^@pow+pixel elseif @F=="cosec" z=(1/sin(z))^@pow+pixel elseif @F=="cosech" z=(1/sinh(z))^@pow+pixel elseif @F=="acosec" z=asin(1/z)^@pow+pixel elseif @F=="acosech" z=asinh(1/z)^@pow+pixel elseif @F=="exsec" z=(1/cos(z)-1)^@pow+pixel elseif @F=="aexsec" z= acos(1/(z+1))^@pow+pixel elseif @F=="excosec" z=(1/sin(z)-1)^@pow+pixel elseif @F=="aexcosec" z=asin(1/(z+1))^@pow+pixel elseif @F=="crd" z=(2*sin(z/2))^@pow+pixel elseif @F=="acrd" z=(2*asin(z/2))^@pow+pixel elseif @F=="gd" z=asin(tanh(z))^@pow+pixel elseif @F=="agd" z=asinh(tan(z))^@pow+pixel elseif @F =="sinc" z=(sin(z)/z)^@pow+pixel elseif @f=="sinhc" z=(sinh(z)/z)^@pow+pixel elseif @F=="cosc" z=(cos(z)/z)^@pow+pixel elseif @F=="coshc" z=(cosh(z)/z)^@pow+pixel elseif @F=="tanc" z=tan(z)/(z)+pixel elseif @F=="tanhc" z=(tanh(z)/z)^@pow+pixel elseif @F=="cotanc" z=(cotan(z)/z)^@pow+pixel elseif @F=="cotanhc" z=(cotanh(z)/z)^@pow+pixel elseif @F=="secc" z=(1/(z*cos(z)))^@pow+pixel elseif @F=="sechc" z=(1/(z*cosh(z)))^@pow+pixel elseif @F=="cosecc" z= (1/(z*sin(z)))^@pow+pixel elseif @F=="cosechc" z=(1/(z*sinh(z)))^@pow+pixel elseif @F=="sqr" z=sqr(z)^@pow+pixel elseif @F=="sqrt" z=sqrt(z)^@pow+pixel elseif @F=="cube" z=((z)^3)^@pow+pixel elseif @F=="cuberoot" z=(z^(1/3))^@pow+pixel elseif @F=="log" z=log(z)^@pow+pixel elseif @F=="colog" z=-log(z)^@pow+pixel elseif @F=="exp" z=exp(z)^@pow+pixel elseif @F=="abs" z=abs(z)^@pow+pixel elseif @F=="cabs" z=cabs(z)^@pow+pixel elseif @F=="conj" z=conj(z)^@pow+pixel elseif @F=="recip" z=recip(z)^@pow+pixel elseif @F=="logit" z=log(z/(1-z))^@pow+pixel elseif @F=="expit" z=(1/(1+exp(-z)))^@pow+pixel elseif @F=="gauss" z=exp(-sqr(z^@pow))+pixel elseif @F=="softplus" z=log(1+exp(z))^@pow+pixel elseif @F=="prime-counting" z=(z/log(z))^@pow+pixel elseif @F=="ceil" z=ceil(z)^@pow+pixel elseif @F=="floor" z=floor(z)^@pow+pixel elseif @F=="trunc" z=trunc(z)^@pow+pixel elseif @F=="round" z=round(z)^@pow+pixel endif elseif @Fo=="z=fn(z^n)+pixel" if @F=="ident" z=ident(z^@pow)+pixel elseif @F =="sin" z=sin(z^@pow)+pixel elseif @f=="sinh" z=sinh(z^@pow)+pixel elseif @F=="asin" z=asin(z^@pow)+pixel elseif @F=="asinh" z=asinh(z^@pow)+pixel elseif @F=="versin" z=1-cos(z^@pow)+pixel elseif @F=="aversin" z=acos(1-z^@pow)+pixel elseif @F=="haversin" z=(1-cos(z^@pow))/2+pixel elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow))+pixel elseif @F=="coversin" z=1-sin(z^@pow)+pixel elseif @F=="acoversin" z=asin(1-z^@pow)+pixel elseif @F=="hacoversin" z=(1-sin(z^@pow))/2+pixel elseif @F=="cos" z=cos(z^@pow)+pixel elseif @F=="cosh" z=cosh(z^@pow)+pixel elseif @F=="acos" z=acos(z^@pow)+pixel elseif @F=="acosh" z=acosh(z^@pow)+pixel elseif @F=="vercos" z=1+cos(z^@pow)+pixel elseif @F=="avercos" z=acos(1+z^@pow)+pixel elseif @F=="havercos" z=(1+cos(z^@pow))/2+pixel elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow))+pixel elseif @F=="covercos" z=1+sin(z^@pow)+pixel elseif @F=="acovercos" z=asin(1+z^@pow)+pixel elseif @F=="hacovercos" z= (1+sin(z^@pow))/2+pixel elseif @F=="tan" z=tan(z^@pow)+pixel elseif @F=="tanh" z=tanh(z^@pow)+pixel elseif @F=="atan" z=atan(z^@pow)+pixel elseif @F=="atanh" z=atanh(z^@pow)+pixel elseif @F=="cotan" z=cotan(z^@pow)+pixel elseif @F=="cotanh" z=cotanh(z^@pow)+pixel elseif @F=="acotan" z=atan(1/(z^@pow))+pixel elseif @F=="acotanh" z=atanh(1/(z^@pow))+pixel elseif @F=="sec" z=1/cos(z^@pow)+pixel elseif @F=="sech" z=1/cosh(z^@pow)+pixel elseif @F=="asec" z=acos(1/z^@pow)+pixel elseif @F=="asech" z=acosh(1/z^@pow)+pixel elseif @F=="cosec" z=1/sin(z^@pow)+pixel elseif @F=="cosech" z=1/sinh(z^@pow)+pixel elseif @F=="acosec" z=asin(1/z^@pow)+pixel elseif @F=="acosech" z=asinh(1/z^@pow)+pixel elseif @F=="exsec" z=1/cos(z^@pow)-1 +pixel elseif @F=="aexsec" z= acos(1/(z^@pow+1))+pixel elseif @F=="excosec" z=1/sin(z^@pow)-1+pixel elseif @F=="aexcosec" z=asin(1/(z^@pow+1))+pixel elseif @F=="crd" z=2*sin(z^@pow/2)+pixel elseif @F=="acrd" z=2*asin(z^@pow/2)+pixel elseif @F=="gd" z=2*sin(z^@pow/2)+pixel elseif @F=="agd" z=2*asin(z^@pow/2)+pixel elseif @F =="sinc" z=sin(z^@pow)/(z^@pow)+pixel elseif @f=="sinhc" z=sinh(z^@pow)/(z^@pow)+pixel elseif @F=="cosc" z=cos(z^@pow)/(z^@pow)+pixel elseif @F=="coshc" z=cosh(z^@pow)/(z^@pow)+pixel elseif @F=="tanc" z=tan(z^@pow)/(z^@pow)+pixel elseif @F=="tanhc" z=tanh(z^@pow)/(z^@pow)+pixel elseif @F=="cotanc" z=cotan(z^@pow)/(z^@pow)+pixel elseif @F=="cotanhc" z=cotanh(z^@pow)/(z^@pow)+pixel elseif @F=="secc" z=1/(z^@pow*cos(z^@pow))+pixel elseif @F=="sechc" z=1/(z^@pow*cosh(z^@pow))+pixel elseif @F=="cosecc" z= 1/(z^@pow*sin(z^@pow))+pixel elseif @F=="cosechc" z=1/(z^@pow*sinh(z^@pow))+pixel elseif @F=="sqr" z=sqr(z^@pow)+pixel elseif @F=="sqrt" z=sqrt(z^@pow)+pixel elseif @F=="cube" z=(z^@pow)^3+pixel elseif @F=="cuberoot" z=(z^@pow)^(1/3)+pixel elseif @F=="log" z=log(z^@pow)+pixel elseif @F=="colog" z=-log(z^@pow)+pixel elseif @F=="exp" z=exp(z^@pow)+pixel elseif @F=="abs" z=abs(z^@pow)+pixel elseif @F=="cabs" z=cabs(z^@pow)+pixel elseif @F=="conj" z=conj(z^@pow)+pixel elseif @F=="recip" z=recip(z^@pow)+pixel elseif @F=="logit" z=log((z^@pow)/(1-(z^@pow)))+pixel elseif @F=="expit" z=1/(1+exp(-(z^@pow)))+pixel elseif @F=="gauss" z=exp(-sqr(z^@pow))+pixel elseif @F=="softplus" z=log(1+exp(z^@pow))+pixel elseif @F=="prime-counting" z=(z^@pow)/log(z^@pow)+pixel elseif @F=="ceil" z=ceil(z^@pow)+pixel elseif @F=="floor" z=floor(z^@pow)+pixel elseif @F=="trunc" z=trunc(z^@pow)+pixel elseif @F=="round" z=round(z^@pow)+pixel endif elseif @Fo=="z=fn(z^n+pixel)" if @F=="ident" z=ident(z^@pow+pixel) elseif @F=="sin" z=sin(z^@pow+pixel) elseif @f=="sinh" z=sinh(z^@pow+pixel) elseif @F=="asin" z=asin(z^@pow+pixel) elseif @F=="asinh" z=asinh(z^@pow+pixel) elseif @F=="versin" z=1-cos(z^@pow+pixel) elseif @F=="aversin" z=acos(1-(z^@pow+pixel)) elseif @F=="haversin" z=(1-cos(z^@pow+pixel))/2 elseif @F=="ahaversin" z=2*asin(sqrt(z^@pow+pixel)) elseif @F=="coversin" z=1-sin(z^@pow+pixel) elseif @F=="acoversin" z=asin(1-(z^@pow+pixel)) elseif @F=="hacoversin" z=(1-sin(z^@pow+pixel))/2 elseif @F=="cos" z=cos(z^@pow+pixel) elseif @F=="cosh" z=cosh(z^@pow+pixel) elseif @F=="acos" z=acos(z^@pow+pixel) elseif @F=="acosh" z=acosh(z^@pow+pixel) elseif @F=="vercos" z=1+cos(z^@pow+pixel) elseif @F=="avercos" z=acos(1+z^@pow+pixel) elseif @F=="havercos" z=(1+cos(z^@pow+pixel))/2 elseif @F=="ahavercos" z=2*acos(sqrt(z^@pow+pixel)) elseif @F=="covercos" z=1+sin(z^@pow+pixel) elseif @F=="acovercos" z=asin(1+z^@pow+pixel) elseif @F=="hacovercos" z= (1+sin(z^@pow+pixel))/2 elseif @F=="tan" z=tan(z^@pow+pixel) elseif @F=="tanh" z=tanh(z^@pow+pixel) elseif @F=="atan" z=atan(z^@pow+pixel) elseif @F=="atanh" z=atanh(z^@pow+pixel) elseif @F=="cotan" z=cotan(z^@pow+pixel) elseif @F=="cotanh" z=cotanh(z^@pow+pixel) elseif @F=="acotan" z=atan(1/(z^@pow+pixel)) elseif @F=="acotanh" z=atanh(1/(z^@pow+pixel)) elseif @F=="sec" z=1/cos(z^@pow+pixel) elseif @F=="sech" z=1/cosh(z^@pow+pixel) elseif @F=="asec" z=acos(1/(z^@pow+pixel)) elseif @F=="asech" z=acosh(1/(z^@pow+pixel)) elseif @F=="cosec" z=1/sin(z^@pow+pixel) elseif @F=="cosech" z=1/sinh(z^@pow+pixel) elseif @F=="acosec" z=asin(1/(z^@pow+pixel)) elseif @F=="acosech" z=asinh(1/(z^@pow+pixel)) elseif @F=="exsec" z=1/cos(z^@pow+pixel)-1 elseif @F=="aexsec" z= acos(1/(z^@pow+pixel+1)) elseif @F=="excosec" z=1/sin(z^@pow+pixel)-1 elseif @F=="aexcosec" z=asin(1/(z^@pow+pixel+1)) elseif @F=="crd" z=2*sin((z^@pow+pixel)/2) elseif @F=="acrd" z=2*asin((z^@pow+pixel)/2) elseif @F=="gd" z=asin(tanh(z^@pow+pixel)) elseif @F=="agd" z=asinh(tan(z^@pow+pixel)) elseif @F =="sinc" z=sin(z^@pow+pixel)/(z^@pow+pixel) elseif @f=="sinhc" z=sinh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="cosc" z=cos(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="coshc" z=cosh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="tanc" z=tan(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="tanhc" z=tanh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="cotanc" z=cotan(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="cotanhc" z=cotanh(z^@pow+pixel)/(z^@pow+pixel) elseif @F=="secc" z=1/((z^@pow+pixel)*cos(z^@pow+pixel)) elseif @F=="sechc" z=1/((z^@pow+pixel)*cosh(z^@pow+pixel)) elseif @F=="cosecc" z= 1/((z^@pow+pixel)*sin(z^@pow+pixel)) elseif @F=="cosechc" z=1/((z^@pow+pixel)*sinh(z^@pow+pixel)) elseif @F=="sqr" z=sqr(z^@pow+pixel) elseif @F=="sqrt" z=sqrt(z^@pow+pixel) elseif @F=="cube" z=(z^@pow+pixel)^3 elseif @F=="cuberoot" z=(z^@pow+pixel)^(1/3) elseif @F=="log" z=log(z^@pow+pixel) elseif @F=="colog" z=-log(z^@pow+pixel) elseif @F=="exp" z=exp(z^@pow+pixel) elseif @F=="abs" z=abs(z^@pow+pixel) elseif @F=="cabs" z=cabs(z^@pow+pixel) elseif @F=="conj" z=conj(z^@pow+pixel) elseif @F=="recip" z=recip(z^@pow+pixel) elseif @F=="logit" z=log((z^@pow+pixel)/(1-(z^@pow+pixel))) elseif @F=="expit" z=1/(1+exp(-(z^@pow+pixel))) elseif @F=="gauss" z=exp(-sqr(z^@pow+pixel)) elseif @F=="softplus" z=log(1+exp(z^@pow+pixel)) elseif @F=="prime-counting" z=(z^@pow+pixel)/log(z^@pow+pixel) elseif @F=="ceil" z=ceil(z^@pow+pixel) elseif @F=="floor" z=floor(z^@pow+pixel) elseif @F=="trunc" z=trunc(z^@pow+pixel) elseif @F=="round" z=round(z^@pow+pixel) endif elseif @Fo=="z=z^2+fn(pixel)" if @F=="ident" z=z^@pow+ident(pixel) elseif @F =="sin" z=z^@pow+sin(pixel) elseif @f=="sinh" z=z^@pow+sinh(pixel) elseif @F=="asin" z=z^@pow+asin(pixel) elseif @F=="asinh" z=z^@pow+asinh(pixel) elseif @F=="versin" z=z^@pow+(1-cos(pixel)) elseif @F=="aversin" z=z^@pow+acos(1-pixel) elseif @F=="haversin" z=z^@pow+((1-cos(pixel))/2) elseif @F=="ahaversin" z=z^@pow+(2*asin(sqrt(pixel))) elseif @F=="coversin" z=z^@pow+(1-sin(pixel)) elseif @F=="acoversin" z=z^@pow+asin(1-pixel) elseif @F=="hacoversin" z=z^@pow+((1-sin(pixel))/2) elseif @F=="cos" z=z^@pow+cos(pixel) elseif @F=="cosh" z=z^@pow+cosh(pixel) elseif @F=="acos" z=z^@pow+acos(pixel) elseif @F=="acosh" z=z^@pow+acosh(pixel) elseif @F=="vercos" z=z^@pow+(1+cos(pixel)) elseif @F=="avercos" z=z^@pow+acos(1+pixel) elseif @F=="havercos" z=z^@pow+((1+cos(pixel))/2) elseif @F=="ahavercos" z=z^@pow+(2*acos(sqrt(pixel))) elseif @F=="covercos" z=z^@pow+(1+sin(pixel)) elseif @F=="acovercos" z=z^@pow+asin(1+pixel) elseif @F=="hacovercos" z=z^@pow+((1+sin(pixel))/2) elseif @F=="tan" z=z^@pow+tan(pixel) elseif @F=="tanh" z=z^@pow+tanh(pixel) elseif @F=="atan" z=z^@pow+atan(pixel) elseif @F=="atanh" z=z^@pow+atanh(pixel) elseif @F=="cotan" z=z^@pow+cotan(pixel) elseif @F=="cotanh" z=z^@pow+cotanh(pixel) elseif @F=="acotan" z=z^@pow+atan(1/pixel) elseif @F=="acotanh" z=z^@pow+atanh(1/pixel) elseif @F=="sec" z=z^@pow+(1/cos(pixel)) elseif @F=="sech" z=z^@pow+(1/cosh(pixel)) elseif @F=="asec" z=z^@pow+acos(1/pixel) elseif @F=="asech" z=z^@pow+acosh(1/pixel) elseif @F=="cosec" z=z^@pow+(1/sin(pixel)) elseif @F=="cosech" z=z^@pow+(1/sinh(pixel)) elseif @F=="acosec" z=z^@pow+asin(1/pixel) elseif @F=="acosech" z=z^@pow+asinh(1/pixel) elseif @F=="exsec" z=z^@pow+(1/cos(pixel)-1) elseif @F=="aexsec" z=z^@pow+acos(1/(pixel+1)) elseif @F=="excosec" z=z^@pow+(1/sin(pixel)-1) elseif @F=="aexcosec" z=z^@pow+asin(1/(pixel+1)) elseif @F=="crd" z=z^@pow+(2*sin(pixel/2)) elseif @F=="acrd" z=z^@pow+(2*asin(pixel/2)) elseif @F=="gd" z=z^@pow+asin(tanh(pixel)) elseif @F=="agd" z=z^@pow+asinh(tan(pixel)) elseif @F =="sinc" z=z^@pow+(sin(pixel)/pixel) elseif @f=="sinhc" z=z^@pow+(sinh(pixel)/pixel) elseif @F=="cosc" z=z^@pow+(cos(pixel)/pixel) elseif @F=="coshc" z=z^@pow+(cosh(pixel)/pixel) elseif @F=="tanc" z=z^@pow+tan(pixel)/pixel elseif @F=="tanhc" z=z^@pow+(tanh(pixel)/pixel) elseif @F=="cotanc" z=z^@pow+(cotan(pixel)/pixel) elseif @F=="cotanhc" z=z^@pow+(cotanh(pixel)/pixel) elseif @F=="secc" z=z^@pow+(1/(pixel*cos(pixel))) elseif @F=="sechc" z=z^@pow+(1/(pixel*cosh(pixel))) elseif @F=="cosecc" z=z ^@pow+(1/(pixel*sin(pixel))) elseif @F=="cosechc" z=z^@pow+(1/(pixel*sinh(pixel))) elseif @F=="sqr" z=z^@pow+sqr(pixel) elseif @F=="sqrt" z=z^@pow+sqrt(pixel) elseif @F=="cube" z=z^@pow+(pixel^3) elseif @F=="cuberoot" z=z^@pow+(pixel^(1/3)) elseif @F=="log" z=z^@pow+log(pixel) elseif @F=="colog" z=z^@pow-log(pixel) elseif @F=="exp" z=z^@pow+exp(pixel) elseif @F=="abs" z=z^@pow+abs(pixel) elseif @F=="cabs" z=z^@pow+cabs(pixel) elseif @F=="conj" z=z^@pow+conj(pixel) elseif @F=="recip" z=z^@pow+recip(pixel) elseif @F=="logit" z=z^@pow+log(pixel/(1-pixel)) elseif @F=="expit" z=z^@pow+(1/(1+exp(-pixel))) elseif @F=="gauss" z=z^@pow+exp(-sqr(pixel)) elseif @F=="softplus" z=z^@pow+(log(1+exp(pixel))) elseif @F=="prime-counting" z=z^@pow+pixel/log(pixel) elseif @F=="ceil" z=z^@pow+ceil(pixel) elseif @F=="floor" z=z^@pow+floor(pixel) elseif @F=="trunc" z=z^@pow+trunc(pixel) elseif @F=="round" z=z^@pow+round(pixel) endif endif bailout: (@Bd==0 && @Bt==0 && |z|<@baildiv) ||\ (@Bd==1 && @Bt==0 && sqr(real(z))<@baildiv) ||\ (@Bd==2 && @Bt==0 && sqr(imag(z))<@baildiv) ||\ (@Bd==3 && @Bt==0 && (sqr(real(z))<@baildiv && sqr(imag(z))<@baildiv)) ||\ (@Bd==4 && @Bt==0 && (sqr(real(z))<@baildiv || sqr(imag(z))<@baildiv)) ||\ (@Bd==5 && @Bt==0 && (sqr(abs(real(z))+abs(imag(z)))<@baildiv)) ||\ (@Bd==6 && @Bt==0 && (sqr(real(z)+imag(z))<@baildiv)) ||\ (@Bc==0 && @Bt==1 && |z|>@bailcon) ||\ (@Bc==1 && @Bt==1 && sqr(real(z))>@bailcon) ||\ (@Bc==2 && @Bt==1 && sqr(imag(z))>@bailcon) ||\ (@Bc==3 && @Bt==1 && (sqr(real(z))>@bailcon && sqr(imag(z))>@bailcon)) ||\ (@Bc==4 && @Bt==1 && (sqr(real(z))>@bailcon || sqr(imag(z))>@bailcon)) ||\ (@Bc==5 && @Bt==1 && (sqr(abs(real(z))+abs(imag(z)))>@bailcon)) ||\ (@Bc==6 && @Bt==1 && (sqr(real(z)+imag(z))>@bailcon)) default: title="Functions Mandelbrot" center=(0.001,0.001) param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param Fo caption="Formula Variant" enum="z=fn(z)^n+pixel""z=fn(z^n)+pixel""z=fn(z^n+pixel)""z=z^2+fn(pixel)" default=0 endparam param F caption="Loop Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param pow caption="Exponent" default=2 endparam param Bt caption="Bailout Type" enum="divergent""convergent" default=0 endparam param Bd caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==0 endparam param Bc caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==1 endparam param baildiv caption="Bailout Value" default= 4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.001 visible=@Bt==1 endparam } Nenecinosile{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) endif a=2*pi if @SF2=="ident" b=p1*ident(exp((0,1)*a)) elseif @SF2=="sin" b=p1*sin(exp((0,1)*a)) elseif @SF2=="sinh" b=p1*sinh(exp((0,1)*a)) elseif @SF2=="asin" b=p1*asin(exp((0,1)*a)) elseif @SF2=="asinh" b=p1*asinh(exp((0,1)*a)) elseif @SF2=="cotanh" b=p1*cotanh(exp((0,1)*a)) else b=p1*sqr(exp((0,1)*a)) endif c=sqrt(3)/2 loop: if @F=="ident" z=ident(z) elseif @F =="sin" z=sin(z) elseif @F=="sinh" z=sinh(z) elseif @F=="asinh" z=asinh(z) elseif @F=="coversin" z=(1-sin(z)) elseif @F=="hacoversin" z=((1-sin(z))/2) elseif @F=="covercos" z=(1+sin(z)) elseif @F=="hacovercos" z=((1+sin(z))/2) elseif @F=="tan" z=tan(z) elseif @F=="tanh" z=tanh(z) elseif @F=="atanh" z=atanh(z) elseif @F=="cotanh" z=cotanh(z) elseif @F=="acotanh" z=atanh(1/z) elseif @F=="sech" z=(1/cosh(z)) elseif @F=="exsec" z=(1/cos(z)-1) elseif @F=="aexcosec" z=asin(1/(z+1)) elseif @F=="crd" z=(2*sin(z/2)) elseif @F=="acrd" z=(2*asin(z/2)) elseif @F=="gd" z=asin(tanh(z)) elseif @F=="agd" z=asinh(tan(z)) endif if @F2=="ident" if |z-b|<|c| z=p2*sin(c*conj(c/(z-b))+b)+p3 else z=p2*sin(c*conj(c/(z)))+p3 endif elseif @F2=="sin" if |z-b|<|c| z=p2*sin(sin(c*conj(c/(z-b))+b))+p3 else z=p2*sin(sin(c*conj(c/(z))))+p3 endif elseif @F2=="sinh" if |z-b|<|c| z=p2*sinh(sin(c*conj(c/(z-b))+b))+p3 else z=p2*sinh(sin(c*conj(c/(z))))+p3 endif elseif @F2=="sqr" if |z-b|<|c| z=p2*sqr(sin(c*conj(c/(z-b))+b))+p3 else z=p2*sqr(sin(c*conj(c/(z))))+p3 endif elseif @F2=="sqrt" if |z-b|<|c| z=p2*sqrt(sin(c*conj(c/(z-b))+b))+p3 else z=p2*sqrt(sin(c*conj(c/(z))))+p3 endif elseif @F2=="abs" if |z-b|<|c| z=p2*abs (sin(c*conj(c/(z-b))+b))+p3 else z=p2*abs (sin(c*conj(c/(z))))+p3 endif elseif @F2=="flip" if |z-b|<|c| z=p2*flip(sin(c*conj(c/(z-b))+b))+p3 else z=p2*flip(sin(c*conj(c/(z))))+p3 endif elseif @F2=="recip" if |z-b|<|c| z=p2*recip(sin(c*conj(c/(z-b))+b))+p3 else z=p2*recip(sin(c*conj(c/(z))))+p3 endif endif bailout: (@Bd==0 && @Bt==0 && |z|<@baildiv) ||\ (@Bd==1 && @Bt==0 && sqr(real(z))<@baildiv) ||\ (@Bd==2 && @Bt==0 && sqr(imag(z))<@baildiv) ||\ (@Bd==3 && @Bt==0 && (sqr(real(z))<@baildiv && sqr(imag(z))<@baildiv)) ||\ (@Bd==4 && @Bt==0 && (sqr(real(z))<@baildiv || sqr(imag(z))<@baildiv)) ||\ (@Bd==5 && @Bt==0 && (sqr(abs(real(z))+abs(imag(z)))<@baildiv)) ||\ (@Bd==6 && @Bt==0 && (sqr(real(z)+imag(z))<@baildiv)) ||\ (@Bc==0 && @Bt==1 && |z|>@bailcon) ||\ (@Bc==1 && @Bt==1 && sqr(real(z))>@bailcon) ||\ (@Bc==2 && @Bt==1 && sqr(imag(z))>@bailcon) ||\ (@Bc==3 && @Bt==1 && (sqr(real(z))>@bailcon && sqr(imag(z))>@bailcon)) ||\ (@Bc==4 && @Bt==1 && (sqr(real(z))>@bailcon || sqr(imag(z))>@bailcon)) ||\ (@Bc==5 && @Bt==1 && (sqr(abs(real(z))+abs(imag(z)))>@bailcon)) ||\ (@Bc==6 && @Bt==1 && (sqr(real(z)+imag(z))>@bailcon)) default: title="Nenecinosile" center=(0.001,0.001) heading caption="Init" endheading param Fs caption="Function 1" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=0 endparam param SF2 caption="Function 2" enum="ident""sin""sinh""asin""asinh""cotanh""sqr" default=0 endparam param p1 caption="Parameter" default=(1,0) endparam heading caption="Loop" endheading param F caption="Function 1" enum="ident""sin""sinh""asinh""coversin"\ "hacoversin""covercos"\ "hacovercos""tan""tanh""atanh""cotanh""acotanh" \ "sech""exsec"\ "aexcosec""crd""acrd""gd""agd" default=0 endparam param F2 caption="Function 2" enum="ident""sin""sinh""sqr""sqrt""abs""flip""recip" default=0 endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam heading caption="Bailout" endheading param Bt caption="Type" enum="divergent""convergent" default=0 endparam param Bd caption="Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==0 endparam param Bc caption="Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==1 endparam param baildiv caption="Value" default= 4.0 visible=@Bt==0 endparam param bailcon caption="Value" default=0.001 visible=@Bt==1 endparam } NewtonVariation2 { ; A modification of "Tiled Newton" by Rob Barnett, which is based on a \ ; fractint formula by Ray Girvan init: if @Fs=="ident" z=ident(cotan(pixel)) elseif @Fs=="tan" z=tan(cotan(pixel)) elseif @Fs=="tanh" z=tanh(cotan(pixel)) elseif @Fs=="cotan" z=cotan(cotan(pixel)) elseif @Fs=="cotanh" z=cotanh(cotan(pixel)) elseif @Fs=="exsec" z=1/cos(cotan(pixel))-1 elseif @Fs=="tanc" z=tan(cotan(pixel))/(cotan(pixel)) elseif @Fs=="tanhc" z=tanh(cotan(pixel))/(cotan(pixel)) elseif @Fs=="cotanc" z=cotan(cotan(pixel))/(cotan(pixel)) elseif @Fs=="cotanhc" z=cotanh(cotan(pixel))/(cotan(pixel)) elseif @Fs=="sqr" z=sqr(cotan(pixel)) elseif @Fs=="cube" z=cotan(pixel)^3 elseif @Fs=="abs" z=abs(cotan(pixel)) elseif @Fs=="conj" z=conj(cotan(pixel)) elseif @Fs=="flip" z=flip(cotan(pixel)) elseif @Fs=="recip" z=recip(cotan(pixel)) elseif @Fs=="prime-counting" z=cotan(pixel)/log(cotan(pixel)) endif float a=10^(100/cabs(@pow)) bool b=false float c=p3*cabs(p2)^cabs(abs(@pow)) d=(0,0) loop: d=abs(z) f=(p2/@pow)*z^(-@pow) if @F2=="ident" z=ident(z*((@pow-1)/@pow + f)) elseif @F2=="sin" z=sin(z*((@pow-1)/@pow + f)) elseif @F2=="sinh" z=sinh(z*((@pow-1)/@pow + f)) elseif @F2=="asinh" z=asinh(z*((@pow-1)/@pow + f)) elseif @F2=="tanh" z=tanh(z*((@pow-1)/@pow + f)) elseif @F2=="atan" z=atan(z*((@pow-1)/@pow + f)) elseif @F2=="cosec" z=1/sin(z*((@pow-1)/@pow + f)) elseif @F2=="aexcosec" z=asin(1/(z*((@pow-1)/@pow + f)+1)) elseif @F2=="crd" z=2*sin(z*((@pow-1)/@pow + f)/2) elseif @F2=="gd" z=asin(tanh(z*((@pow-1)/@pow + f))) elseif @F2=="tanc" z=tan(z*((@pow-1)/@pow + f))/(z*((@pow-1)/@pow + f)) elseif @F2=="cotanc" z=cotan(z*((@pow-1)/@pow + f))/(z*((@pow-1)/@pow + f)) elseif @F2=="cotanhc" z=cotanh(z*((@pow-1)/@pow + f))/(z*((@pow-1)/@pow + f)) elseif @F2=="secc" z=1/(z*((@pow-1)/@pow + f)*cos(z*((@pow-1)/@pow + f))) elseif @F2=="sechc" z=1/(z*((@pow-1)/@pow + f)*cosh(z*((@pow-1)/@pow + f))) elseif @F2=="sqr" z=sqr(z*((@pow-1)/@pow + f)) elseif @F2=="log" z=log(z*((@pow-1)/@pow + f)) elseif @F2=="abs" z=abs(z*((@pow-1)/@pow + f)) elseif @F2=="recip" z=recip(z*((@pow-1)/@pow + f)) endif b=(cabs(d-z) < c) bailout: !b && (cabs(z)@bailcon) ||\ (@Bc==1 && @Bt==1 && sqr(real(z))>@bailcon) ||\ (@Bc==2 && @Bt==1 && sqr(imag(z))>@bailcon) ||\ (@Bc==3 && @Bt==1 && (sqr(real(z))>@bailcon && sqr(imag(z))>@bailcon)) ||\ (@Bc==4 && @Bt==1 && (sqr(real(z))>@bailcon || sqr(imag(z))>@bailcon)) ||\ (@Bc==5 && @Bt==1 && (sqr(abs(real(z))+abs(imag(z)))>@bailcon)) ||\ (@Bc==6 && @Bt==1 && (sqr(real(z)+imag(z))>@bailcon)) default: title="Nuty 2" center=(0.001,0.001) angle=270 func fn1 caption="Start Function" default=ident() endfunc param F caption="Loop Function" enum="ident""acosec""acosech""cotanc""cotanhc""cosecc""recip" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param pow caption="Exponent" default=3 endparam param Bt caption="Bailout Type" enum="divergent""convergent" default=1 endparam param Bd caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==0 endparam param Bc caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==1 endparam param baildiv caption="Bailout Value" default= 4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.001 visible=@Bt==1 endparam } Nuty3 { ; Modification 0f 'quasinewton' from Newthack.frm init: z=fn1(exp(pixel)) i=sqrt(-1) k=(0,0) loop: if @F=="ident" k=p1*z elseif @F=="cotanc" k=p1*(cotan(z)/z) elseif @F=="cotanhc" k=p1*(cotanh(z)/z) elseif @F=="secc" k=p1*(1/(z*cos(z))) elseif @F=="sechc" k=p1*(1/z*cos(i*z)) elseif @F=="cosecc" k=p1*(1/(z*sin(z))) elseif @F=="cosechc" k=p1*(i/(z*sin(i*z))) endif a=k^@pow-1 b=@pow*k^2 z=fn2(k)-p2*a/b bailout: |z|>@bail default: title = "Nuty 3" angle=270 center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc param F caption="Loop Function 1" enum="ident""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=0 endparam func fn2 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param pow caption="Exponent" default=5 endparam param bail caption="Bailout" default=0.001 endparam } Nuty4{ init: b=(0,0) if @S==0 z=fn1(pixel) elseif @S==1 z=fn1(p1*(pixel^2+p2)) else z=fn1(p1*(pixel^2+p2)/(2*pixel)) endif loop: a=z if @F=="ident" b=a^2+p2 elseif @F=="tanc" b=tan(a^2+p2)/(a^2+p2) elseif @F=="tanhc" b=tanh(a^2+p2)/(a^2+p2) elseif @F=="cotanc" b=cotan(a^2+p2)/(a^2+p2) elseif @F=="cotanhc" b=cotanh(a^2+p2)/(a^2+p2) elseif @F=="atanc" b=atan(a^2+p2)/(a^2+p2) elseif @F=="atanhc" b=atanh(a^2+p2)/(a^2+p2) elseif @F=="acotanc" b=atan(recip(a^2+p2))/(a^2+p2) elseif @F=="acotanhc" b=atanh(recip(a^2+p2))/(a^2+p2) endif z=fn2(b)-p1*(b^2+p2)/(2*b) bailout: (@B==0 && |z|<@baildiv) || (@B==1 && |z^2+p2|>@bailcon) || (@B==2 && |z|<@baildiv2 && |z|>@bailcon2) default: title="Nuty 4" center=(0.001,0.001) angle=90 magn=0.5 param S caption="Start Value" enum="pixel""c1*(pixel^2+c2)""c1*(pixel^2+c2)/(2*pixel)" default=0 endparam func fn1 caption="Start Function" default=ident() endfunc param F caption="Loop Function 1" enum="ident""tanc""tanhc""cotanc""cotanhc""atanc""atanhc""acotanc""acotanhc" default=0 endparam func fn2 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param B caption="Bailout Type" enum="divergent""convergent""both" default=1 endparam param baildiv caption="Bailout Value" default=4.0 visible=@B==0 endparam param bailcon caption="Bailout Value" default=0.001 visible=@B==1 endparam param baildiv2 caption="Bailout Value (Upper)" default=5.3 visible=@B==2 endparam param bailcon2 caption="Bailout Value (Lower)" default=0.001 visible=@B==2 endparam } Sionercur { init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z=log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @F=="ident" z=ident(z) elseif @F=="sin" z=sin(z) elseif @F=="sinh" z=sinh(z) elseif @F=="asin" z=asin(z) elseif @F=="asinh" z=asinh(z) elseif @F=="versin" z=1-cos(z) elseif @F=="aversin" z=acos(1-z) elseif @F=="haversin" z=(1-cos(z))/2 elseif @F=="ahaversin" z=2*asin(sqrt(z)) elseif @F=="coversin" z=1-sin(z) elseif @F=="acoversin" z=asin(1-z) elseif @F=="hacoversin" z=(1-sin(z))/2 elseif @F=="cos" z=cos(z) elseif @F=="cosh" z=cosh(z) elseif @F=="acos" z=acos(z) elseif @F=="acosh" z=acosh(z) elseif @F=="vercos" z=1+cos(z) elseif @F=="avercos" z=acos(1+z) elseif @F=="havercos" z=(1+cos(z))/2 elseif @F=="ahavercos" z=2*acos(sqrt(z)) elseif @F=="covercos" z=1+sin(z) elseif @F=="acovercos" z=asin(1+z) elseif @F=="hacovercos" z=(1+sin(z))/2 elseif @F=="tan" z=tan(z) elseif @F=="tanh" z=tanh(z) elseif @F=="atan" z=atan(z) elseif @F=="atanh" z=atanh(z) elseif @F=="cotan" z=cotan(z) elseif @F=="cotanh" z=cotanh(z) elseif @F=="acotan" z=atan(1/(z)) elseif @F=="acotanh" z=atanh(1/(z)) elseif @F=="sec" z=1/cos(z) elseif @F=="sech" z=1/cosh(z) elseif @F=="asec" z=acos(1/z) elseif @F=="asech" z=acosh(1/z) elseif @F=="cosec" z=1/sin(z) elseif @F=="cosech" z=1/sinh(z) elseif @F=="acosec" z=asin(1/z) elseif @F=="acosech" z=asinh(1/z) elseif @F=="exsec" z=1/cos(z)-1 elseif @F=="aexsec" z= acos(1/(z+1)) elseif @F=="excosec" z=1/sin(z)-1 elseif @F=="aexcosec" z=asin(1/(z+1)) elseif @F=="crd" z=2*sin(z/2) elseif @F=="acrd" z=2*asin(z/2) elseif @F=="gd" z=asin(tanh(z)) elseif @F=="agd" z=asinh(tan(z)) elseif @F=="sinc" z=sin(z)/(z) elseif @F=="sinhc" z=sinh(z)/(z) elseif @F=="cosc" z=cos(z)/(z) elseif @F=="coshc" z=cosh(z)/(z) elseif @F=="tanc" z=tan(z)/(z) elseif @F=="tanhc" z=tanh(z)/(z) elseif @F=="cotanc" z=cotan(z)/(z) elseif @F=="cotanhc" z=cotanh(z)/(z) elseif @F=="secc" z=1/(z*cos(z)) elseif @F=="sechc" z=1/(z*cosh(z)) elseif @F=="cosecc" z= 1/(z*sin(z)) elseif @F=="cosechc" z=1/(z*sinh(z)) elseif @F=="sqr" z=sqr(z) elseif @F=="sqrt" z=sqrt(z) elseif @F=="cube" z=z^3 elseif @F=="cuberoot" z=z^(1/3) elseif @F=="log" z=log(z) elseif @F=="colog" z=-log(z) elseif @F=="exp" z=exp(z) elseif @F=="abs" z=abs(z) elseif @F=="cabs" z=cabs(z) elseif @F=="conj" z=conj(z) elseif @F=="recip" z=recip(z) elseif @F=="logit" z=log(z/(1-z)) elseif @F=="expit" z=1/(1+exp(-z)) elseif @F=="gauss" z=exp(-sqr(z)) elseif @F=="softplus" z=log(1+exp(z)) elseif @F=="prime-counting" z=z/log(z) elseif @F=="ceil" z=ceil(z) elseif @F=="floor" z=floor(z) elseif @F=="trunc" z=trunc(z) elseif @F=="round" z=round(z) endif z=recip(z+recip(z+recip(z+recip(z)))) z= p1*conj(p1/(z-p2))+p2 bailout: (@Bd==0 && @Bt==0 && |z|<@baildiv) ||\ (@Bd==1 && @Bt==0 && sqr(real(z))<@baildiv) ||\ (@Bd==2 && @Bt==0 && sqr(imag(z))<@baildiv) ||\ (@Bd==3 && @Bt==0 && (sqr(real(z))<@baildiv && sqr(imag(z))<@baildiv)) ||\ (@Bd==4 && @Bt==0 && (sqr(real(z))<@baildiv || sqr(imag(z))<@baildiv)) ||\ (@Bd==5 && @Bt==0 && (sqr(abs(real(z))+abs(imag(z)))<@baildiv)) ||\ (@Bd==6 && @Bt==0 && (sqr(real(z)+imag(z))<@baildiv)) ||\ (@Bc==0 && @Bt==1 && |z|>@bailcon) ||\ (@Bc==1 && @Bt==1 && sqr(real(z))>@bailcon) ||\ (@Bc==2 && @Bt==1 && sqr(imag(z))>@bailcon) ||\ (@Bc==3 && @Bt==1 && (sqr(real(z))>@bailcon && sqr(imag(z))>@bailcon)) ||\ (@Bc==4 && @Bt==1 && (sqr(real(z))>@bailcon || sqr(imag(z))>@bailcon)) ||\ (@Bc==5 && @Bt==1 && (sqr(abs(real(z))+abs(imag(z)))>@bailcon)) ||\ (@Bc==6 && @Bt==1 && (sqr(real(z)+imag(z))>@bailcon)) default: title="Sionercur" center=(0.001,0.001) maxiter=500 magn=0.5 angle=90 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param F caption="Loop Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param p1 default=(-0.6,-0.7) endparam param p2 default= (-0.65,0) endparam param Bt caption="Bailout Type" enum="divergent""convergent" default=0 endparam param Bd caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==0 endparam param Bc caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==1 endparam param baildiv caption="Bailout Value" default= 4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.001 visible=@Bt==1 endparam } ThreeKleinabs{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) endif a=(0,0) k=2*pi/3 c1=p1*fn2(exp((0,0)*k)) c2=p1*fn2(exp((0,1)*k)) c3=p1*fn2(exp((0,2)*k)) r=sqrt(3)/2 loop: a=abs(z) if @f3=="ident" if |a-c1|<|r| z=p2*ident(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*ident(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*ident(r*conj(r/(a-c3))+c3) else z=p2*ident(r*conj(r/(a))) endif elseif @f3=="sin" if |a-c1|<|r| z=p2*sin(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*sin(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*sin(r*conj(r/(a-c3))+c3) else z=p2*sin(r*conj(r/(a))) endif elseif @f3=="sinh" if |a-c1|<|r| z=p2*sinh(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*sinh(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*sinh(r*conj(r/(a-c3))+c3) else z=p2*sinh(r*conj(r/(a))) endif elseif @f3=="asin" if |a-c1|<|r| z=p2*asin(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*asin(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*asin(r*conj(r/(a-c3))+c3) else z=p2*asin(r*conj(r/(a))) endif elseif @f3=="asinh" if |a-c1|<|r| z=p2*asinh(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*asinh(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*asinh(r*conj(r/(a-c3))+c3) else z=p2*asinh(r*conj(r/(a))) endif elseif @f3=="flip" if |a-c1|<|r| z=p2*flip(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*flip(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*flip(r*conj(r/(a-c3))+c3) else z=p2*flip(r*conj(r/(a))) endif elseif @f3=="recip" if |a-c1|<|r| z=p2*recip(r*conj(r/(a-c1))+c1) elseif |a-c2|<|r| z=p2*recip(r*conj(r/(a-c2))+c2) elseif |a-c3|<|r| z=p2*recip(r*conj(r/(a-c3))+c3) else z=p2*recip(r*conj(r/(a))) endif endif bailout: (@Bd==0 && @Bt==0 && |z|<@baildiv) ||\ (@Bd==1 && @Bt==0 && sqr(real(z))<@baildiv) ||\ (@Bd==2 && @Bt==0 && sqr(imag(z))<@baildiv) ||\ (@Bd==3 && @Bt==0 && (sqr(real(z))<@baildiv && sqr(imag(z))<@baildiv)) ||\ (@Bd==4 && @Bt==0 && (sqr(real(z))<@baildiv || sqr(imag(z))<@baildiv)) ||\ (@Bd==5 && @Bt==0 && (sqr(abs(real(z))+abs(imag(z)))<@baildiv)) ||\ (@Bd==6 && @Bt==0 && (sqr(real(z)+imag(z))<@baildiv)) ||\ (@Bc==0 && @Bt==1 && |r*conj(r/a)|>@bailcon) ||\ (@Bc==1 && @Bt==1 && sqr(real(r*conj(r/a)))>@bailcon) ||\ (@Bc==2 && @Bt==1 && sqr(imag(r*conj(r/a)))>@bailcon) ||\ (@Bc==3 && @Bt==1 && (sqr(real(r*conj(r/a)))>@bailcon && sqr(imag(r*conj(r/a)))>@bailcon)) ||\ (@Bc==4 && @Bt==1 && (sqr(real(r*conj(r/a)))>@bailcon || sqr(imag(r*conj(r/a)))>@bailcon)) ||\ (@Bc==5 && @Bt==1 && (sqr(abs(real(r*conj(r/a)))+abs(imag(r*conj(r/a))))>@bailcon)) ||\ (@Bc==6 && @Bt==1 && (sqr(real(z)+imag(r*conj(r/a)))>@bailcon)) default: title="Three Klein abs" center=(0.001,0.001) heading caption="Init" endheading param Fs caption="Function 1" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc" default=0 endparam func fn2 caption="Function 2" default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam heading caption="Loop" endheading param f3 caption="Function" enum="ident""sin""sinh""asin""asinh""flip""recip" default=0 endparam param p2 caption="Parameter" default=(1,0) endparam heading caption="Bailout" endheading param Bt caption="Type" enum="divergent""convergent" default=0 endparam param Bd caption="Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==0 endparam param Bc caption="Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==1 endparam param baildiv caption="Value" default= 4.0 visible=@Bt==0 endparam param bailcon caption="Value" default=0.25 visible=@Bt==1 endparam } MandelKlein { init: z=fn1(pixel) a=2*pi/3 c1=exp((0,0)*a) c2=exp((0,1)*a) c3=exp((0,2)*a) r=sqrt(3)/2 loop: z=fn2(z) if @V==0 if |z-c1|<|r| z=p1*fn3(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn3(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn3(r*conj(r/(z-c3))+c3)+p2 else z=p1*fn3(r*conj(r/(z)))+p2 endif z=z^2+pixel elseif @V==1 z=z^2+pixel if |z-c1|<|r| z=p1*fn3(r*conj(r/(z-c1))+c1)+p2 elseif |z-c2|<|r| z=p1*fn3(r*conj(r/(z-c2))+c2)+p2 elseif |z-c3|<|r| z=p1*fn3(r*conj(r/(z-c3))+c3)+p2 else z=p1*fn3(r*conj(r/(z)))+p2 endif endif bailout: (@Bt==0 && |fn4(z)|<@bail) ||\ (@Bt==1 && sqr(real(fn4(z)))<@bail) ||\ (@Bt==2 && sqr(imag(fn4(z)))<@bail) ||\ (@Bt==3 && (sqr(real(fn4(z)))<@bail && sqr(imag(fn4(z)))<@bail)) ||\ (@Bt==4 && (sqr(real(fn4(z)))<@bail || sqr(imag(fn4(z)))<@bail)) ||\ (@Bt==5 && (sqr(abs(real(fn4(z)))+abs(imag(fn4(z))))<@bail)) ||\ (@Bt==6 && (sqr(real(fn4(z))+imag(fn4(z)))<@bail)) ||\ (@Bt==7 && |fn4(z)|>@bailcon) default: title = "Mandel Klein" center=(0.001,0.001) magn=1 angle=0 func fn1 caption="start Function" default=ident() endfunc param V caption="Loop Order" enum="klein first""mandelbrot first" default=0 endparam func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param Bt caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr""convergent" default=0 endparam param bail caption="Bailout Value" default=4.0 visible=!(@Bt==7) endparam param bailcon caption="Bailout Value" default=0.1 visible=@Bt==7 endparam func fn4 caption="Bailout Function" default=ident() endfunc } Mandelnewt { init: if @fn2=="ident" z=ident(fn1(pixel)) elseif @fn2=="gdc" z=asin(tanh(fn1(pixel)))/fn1(pixel) elseif @fn2=="agdc" z=asinh(tan(fn1(pixel)))/fn1(pixel) elseif @fn2=="logsin" z=log(sin(fn1(pixel))) elseif @fn2=="logcos" z=log(cos(fn1(pixel))) elseif @fn2=="logtan" z=log(tan(fn1(pixel))) elseif @fn2=="logsinc" z=log(sin(fn1(pixel)))/fn1(pixel) elseif @fn2=="logcosc" z=log(cos(fn1(pixel)))/fn1(pixel) elseif @fn2=="logtanc" z=log(tan(fn1(pixel)))/fn1(pixel) elseif @fn2=="sin2" z=sqr(sin(fn1(pixel))) elseif @fn2=="cos2" z=sqr(cos(fn1(pixel))) elseif @fn2=="tan2" z=sqr(tan(fn1(pixel))) elseif @fn2=="sec2" z=sqr(recip(cos(fn1(pixel)))) elseif @fn2=="cosec2" z=sqr(recip(sin(fn1(pixel)))) elseif @fn2=="exsec2" z=sqr(recip(cos(fn1(pixel)))-1) elseif @fn2=="excosec2" z=sqr(recip(sin(fn1(pixel)))-1) elseif @fn2=="sin+" z=sin(fn1(pixel)) +fn1(pixel) elseif @fn2=="cos+" z=cos(fn1(pixel)) +fn1(pixel) elseif @fn2=="tan+" z=tan(fn1(pixel)) +fn1(pixel) elseif @fn2=="sec+" z=recip(cos(fn1(pixel))) +fn1(pixel) elseif @fn2=="sqr+" z=sqr(fn1(pixel))+fn1(pixel) elseif @fn2=="cube+" z=fn1(pixel)^3+sqr(fn1(pixel))+fn1(pixel) elseif @fn2=="loglog" z=log(log(fn1(pixel))) elseif @fn2=="expexp" z=exp(exp(fn1(pixel))) elseif @fn2=="sinsin" z=sin(sin(fn1(pixel))) elseif @fn2=="coscos" z=cos(cos(fn1(pixel))) elseif @fn2=="tantan" z=tan(tan(fn1(pixel))) elseif @fn2=="secsec" z=recip(cos(recip(cos(fn1(pixel))))) endif loop: if @V==0 if @fn3=="ident" z=ident(z) elseif @fn3=="gd+" z=asin(tanh(z))+z elseif @fn3=="agd+" z=asinh(tan(z))+z elseif @fn3=="gdc" z=asin(tanh(z))/z elseif @fn3=="agdc" z=asinh(tan(z))/z elseif @fn3=="logtanc" z=log(tan(z))/z elseif @fn3=="logtanhc" z=log(tanh(z))/z elseif @fn3=="logcotanc" z=log(cotan(z))/z elseif @fn3=="sin+" z=sin(z) +z elseif @fn3=="cos+" z=cos(z) +z elseif @fn3=="tan+" z=tan(z) +z elseif @fn3=="sec+" z=recip(cos(z)) +z elseif @fn3=="sqr+" z=sqr(z)+z elseif @fn3=="cube+" z=z^3+sqr(z)+z elseif @fn3=="crd" z=2*sin(z/2) elseif @fn3=="acrd" z=2*asin(z/2) elseif @fn3=="crdc+" z=2*sin(z/2)/z +z elseif @fn3=="acrdc+" z=2*asin(z/2)/z +z elseif @fn3=="sqr crdc+" z=sqr(2*sin(z/2)/z +z) elseif @fn3=="sqr gdc" z=sqr(asin(tanh(z))/z) elseif @fn3=="(sin+)*(cos+)" z=(sin(z)+z)*(cos(z)+z) elseif @fn3=="(sin+)*(tan+)" z=(sin(z)+z)*(tan(z)+z) elseif @fn3=="(cos+)*(tan+)" z=(cos(z)+z)*(tan(z)+z) endif z=z-pixel*(z^@pow-p1)/(@pow*z^(@pow-1)) elseif @V==1 z=z-pixel*(z^@pow-p1)/(@pow*z^(@pow-1)) if @fn3=="ident" z=ident(z) elseif @fn3=="gd+" z=asin(tanh(z))+z elseif @fn3=="agd+" z=asinh(tan(z))+z elseif @fn3=="gdc" z=asin(tanh(z))/z elseif @fn3=="agdc" z=asinh(tan(z))/z elseif @fn3=="logtanc" z=log(tan(z))/z elseif @fn3=="logtanhc" z=log(tanh(z))/z elseif @fn3=="logcotanc" z=log(cotan(z))/z elseif @fn3=="sin+" z=sin(z) +z elseif @fn3=="cos+" z=cos(z) +z elseif @fn3=="tan+" z=tan(z) +z elseif @fn3=="sec+" z=recip(cos(z)) +z elseif @fn3=="sqr+" z=sqr(z)+z elseif @fn3=="cube+" z=z^3+sqr(z)+z elseif @fn3=="crd" z=2*sin(z/2) elseif @fn3=="acrd" z=2*asin(z/2) elseif @fn3=="crdc+" z=2*sin(z/2)/z +z elseif @fn3=="acrdc+" z=2*asin(z/2)/z +z elseif @fn3=="sqr crdc+" z=sqr(2*sin(z/2)/z +z) elseif @fn3=="sqr gdc" z=sqr(asin(tanh(z))/z) elseif @fn3=="(sin+)*(cos+)" z=(sin(z)+z)*(cos(z)+z) elseif @fn3=="(sin+)*(tan+)" z=(sin(z)+z)*(tan(z)+z) elseif @fn3=="(cos+)*(tan+)" z=(cos(z)+z)*(tan(z)+z) endif endif bailout: (@Bd==0 && @Bt==0 && |fn4(z)|<@baildiv) ||\ (@Bd==1 && @Bt==0 && sqr(real(fn4(z)))<@baildiv) ||\ (@Bd==2 && @Bt==0 && sqr(imag(fn4(z)))<@baildiv) ||\ (@Bd==3 && @Bt==0 && (sqr(real(fn4(z)))<@baildiv && sqr(imag(fn4(z)))<@baildiv)) ||\ (@Bd==4 && @Bt==0 && (sqr(real(fn4(z)))<@baildiv || sqr(imag(fn4(z)))<@baildiv)) ||\ (@Bd==5 && @Bt==0 && (sqr(abs(real(fn4(z)))+abs(imag(fn4(z))))<@baildiv)) ||\ (@Bd==6 && @Bt==0 && (sqr(real(fn4(z))+imag(fn4(z)))<@baildiv)) ||\ (@Bc==0 && @Bt==1 && |fn4(z)|>@bailcon) ||\ (@Bc==1 && @Bt==1 && sqr(real(fn4(z)))>@bailcon) ||\ (@Bc==2 && @Bt==1 && sqr(imag(fn4(z)))>@bailcon) ||\ (@Bc==3 && @Bt==1 && (sqr(real(fn4(z)))>@bailcon && sqr(imag(fn4(z)))>@bailcon)) ||\ (@Bc==4 && @Bt==1 && (sqr(real(fn4(z)))>@bailcon || sqr(imag(fn4(z)))>@bailcon)) ||\ (@Bc==5 && @Bt==1 && (sqr(abs(real(fn4(z)))+abs(imag(fn4(z))))>@bailcon)) ||\ (@Bc==6 && @Bt==1 && (sqr(real(fn4(z))+imag(fn4(z)))>@bailcon)) default: title = "Mandelnewt" center=(2.75,0.001) magn=0.5 func fn1 caption="Start Function 1" default=ident() endfunc param fn2 caption="Start Function 2" enum="ident""gdc""agdc""logsin""logcos""logtan""logsinc""logcosc""logtanc""sin2"\ "cos2""tan2""sec2""cosec2""exsec2""excosec2""sin+""cos+""tan+""sec+"\ "sqr+""cube+""loglog""expexp""sinsin""coscos""tantan""secsec" default=0 endparam param V caption="Loop Order" enum="function first""function second" default=0 endparam param fn3 caption="Loop Function" enum="ident""gd+""agd+""gdc""agdc""logtanc""logtanhc""logcotanc""sin+""cos+""tan+""sec+"\ "sqr+""cube+""crd""acrd""crdc+""acrdc+""sqr crdc+""sqr gdc""(sin+)*(cos+)"\ "(sin+)*(tan+)""(cos+)*(tan+)" default=0 endparam param p1 caption="Root" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param Bt caption="Bailout Type" enum="divergent""convergent" default=1 endparam param Bd caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==0 endparam param Bc caption="Bailout Test" enum="mod""real""imag""and""or""manh""manr" default=0 visible=@Bt==1 endparam param baildiv caption="Bailout Value" default= 4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.25 visible=@Bt==1 endparam func fn4 caption="Bailout Function" default=ident() endfunc } TrangetArroctast{ init: z=pixel y=pixel^2/2 x=pixel^3/6 loop: x=fn1(sinh(flip(y*(z-1+x^2)+p1*x))) y=fn2(flip(x*(3*z+1-x^2)+p1*y)) z=fn3(conj(flip(2*z*(p2+x*y)))) bailout: |z|<@bail default: title="Tranget Arroctast" center=(0.001,0.001) magn=2 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(-0.2,-0.2) endparam param p2 default=(0.5,0.1) endparam param bail caption="Bailout" default=4.0 endparam } WennelTonik{ ;Newton hybrid init: z=fn1(pixel) loop: if @V==0 z=fn2(z) z=p1*conj(p1/(z-p2))+p2 z=z-(z^3-1)/(3*z^2) elseif @V==1 z=fn2(z) z=z-(z^3-1)/(3*z^2) z=p1*conj(p1/(z-p2))+p2 elseif @V==2 z=p1*conj(p1/(z-p2))+p2 z=fn2(z) z=z-(z^3-1)/(3*z^2) elseif @V==3 z=z-(z^3-1)/(3*z^2) z=fn2(z) z=p1*conj(p1/(z-p2))+p2 elseif @V==4 z=p1*conj(p1/(z-p2))+p2 z=z-(z^3-1)/(3*z^2) z=fn2(z) elseif @V==5 z=z-(z^3-1)/(3*z^2) z=p1*conj(p1/(z-p2))+p2 z=fn2(z) endif bailout: (@Btype==0 && |fn3(z)|<@baildiv) || (@Btype==1 && |fn3(z^3-1)|>@bailcon) default: title="Wennel Tonik" center=(0.001,0.001) magn=0.5 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc param V caption="Loop Order" enum="fin""fni""ifn""nfi""inf""nif" default=0 endparam func fn2 caption="Loop Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param Btype caption="Bailout Type" enum="divergent""convergent" default=1 endparam param baildiv caption="Bailout Value" default=4.0 visible=@Btype==0 endparam param bailcon caption="Bailout Value" default=0.001 visible=@Btype==1 endparam func fn3 caption="Bailout Function" default=ident() endfunc } HalleyJulia{ ;Combination of julia set and Halley fractal init: z=fn1(pixel) loop: if @V=="fhj" z=fn2(z) z=z-@seed*(2*(z^@pow-@root)*@pow*z^(@pow-1))/(2*(@pow*z^(@pow-1))^2\ -(z^@pow-@root)*(@pow-1)*@pow*z^(@pow-2)) ;Halley z=z^@pow2+@seed2 ;Julia elseif @V=="fjh" z=fn2(z) ;Function z=z^@pow2+@seed2 ;Julia z=z-@seed*(2*(z^@pow-@root)*@pow*z^(@pow-1))/(2*(@pow*z^(@pow-1))^2\ -(z^@pow-@root)*(@pow-1)*@pow*z^(@pow-2)) ;Halley elseif @V=="hfj" z=z-@seed*(2*(z^@pow-@root)*@pow*z^(@pow-1))/(2*(@pow*z^(@pow-1))^2\ -(z^@pow-@root)*(@pow-1)*@pow*z^(@pow-2)) ;Halley z=fn2(z) ;Function z=z^@pow2+@seed2 ;Julia elseif @V=="jfh" z=z^@pow2+@seed2 ;Julia z=fn2(z) ;Function z=z-@seed*(2*(z^@pow-@root)*@pow*z^(@pow-1))/(2*(@pow*z^(@pow-1))^2\ -(z^@pow-@root)*(@pow-1)*@pow*z^(@pow-2)) ;Halley elseif @V=="hjf" z=z-@seed*(2*(z^@pow-@root)*@pow*z^(@pow-1))/(2*(@pow*z^(@pow-1))^2\ -(z^@pow-@root)*(@pow-1)*@pow*z^(@pow-2)) ;Halley z=z^@pow2+@seed2 ;Julia z=fn2(z) ;Function elseif @V=="jhf" z=z^@pow2+@seed2 ;Julia z=z-@seed*(2*(z^@pow-@root)*@pow*z^(@pow-1))/(2*(@pow*z^(@pow-1))^2\ -(z^@pow-@root)*(@pow-1)*@pow*z^(@pow-2)) ;Halley z=fn2(z) ;Function endif bailout: (@Bt==0 && |z|<@baildiv) || (@Bt==1 && |z^@pow-@root|>@bailcon) default: title="Halley Julia" center=(0.001,0.001) magn=0.5 maxiter=250 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc param V ;Order of elements in the loop section. f=function, h=halley, j=julia caption="Loop Order" enum="fhj""fjh""hfj""jfh""hjf""jhf" default=0 endparam func fn2 caption="Loop Function" default=ident() endfunc param seed caption="Halley Seed" default=(1,0) endparam param root caption="Halley Root" default=(1,0) endparam param pow caption="Halley Exponent" default=3 endparam param seed2 caption="Julia Seed" default=(0,0) endparam param pow2 caption="Julia Exponent" default=2 endparam param Bt caption="Bailout Type" enum="divergent""convergent" default=1 endparam param baildiv caption="Bailout Value" default=4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.001 visible=@Bt==1 endparam } NewtonVariation3{ ; A modification of 'newton_strings' from Newthack.frm by Puskás István jr init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @F=="ident" z=ident(z) elseif @F=="sin" z=sin(z) elseif @F=="sinh" z=sinh(z) elseif @F=="havercos" z=(1+cos(z))/2 elseif @F=="crd" z=2*sin(z/2) elseif @F=="acrd" z=2*asin(z/2) elseif @F=="sqr" z=sqr(z) elseif @F=="sqrt" z=sqrt(z) elseif @F=="cube" z=z^3 elseif @F=="abs" z=abs(z) elseif @F=="recip" z=recip(z) endif a=z^3-1 b=3*z^2+p1*a z=z-p2*(a/b) bailout: |z^3-1|>@bail default: title="Newton Variation 3" center=(0.001,0.001) param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param F caption="Loop Function" enum="ident""sin""sinh"\ "havercos""crd""acrd"\ "sqr""sqrt""cube"\ "abs""recip" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=0.001 endparam } Rootfinding{ ; Info about root-finding methods from 'Review of some iterative\ ; root–finding methods from a dynamical point of view'\ ; by Sergio Amat, Sonia Busquier and Sergio Plaza.\ ; pdf version from http://www.pdbzro.com/gags/math/root%20finding.pdf \ init: z=fn1(pixel) loop: if @F2=="ident" z=ident(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="cube" z=z^3 elseif @F2=="cube+" z=z^3+z^2+z elseif @F2=="abs" z=abs(z) elseif @F2=="recip" z=recip(z) elseif @F2=="abs recip" z=abs(recip(z)) endif f=z^@pow-@root f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) a=f/f1 b=f*f2/sqr(f1) c=(z-a)^@pow-@root d=@pow*(z-2*a/3)^(@pow-1) g=@pow*(z-f)^(@pow-1) h=((z+f)^@pow-@root-f)/f j=(d-f1)/f1 if @M=="Chebyshev" z=z-@seed*a*(1+b/2) elseif @M=="Halley" z=z-@seed*2*f*f1/(2*f1^2-f*f2) elseif @M=="Jarratt 1" z=z-@seed*((a/2)-(f/(f1-3*d))) elseif @M=="Jarratt 2" z=z-@seed*(a-3*a*j*(1-3*j/2)) elseif @M=="Jarratt 3" z=z-a+(3*a*j/4)*(1+@seed*j)/(1+(3/2+@seed)*j) elseif @M=="King" z=(z-a)-(c/f1)*((f+@seed*c)/((@seed-2)*c)) elseif @M=="king 2" z=z-@seed*(a+(c/f1)*((f+2*c)/f)) elseif @M=="Midpoint" z=z-@seed*(f/(f1*(z-a/2))) elseif @M=="Newton" z=z-@seed*f/f1 elseif @M=="Schröder" z=z-@seed*f*f1/(f1^2-f*f2) elseif @M=="Steffensen" z=z-@seed*(f/h) elseif @M=="Steffensen 2" z=z-z-@seed*((@seed2*f^2)/((z+@seed2*f)^@pow-@root-f)) elseif @M=="Stirling" z=z-@seed*(f/g) elseif @M=="Super-Halley" z=z-@seed*a*(1+(b/(2*(1-b)))) elseif @M=="Whittaker 1" z=z-@seed*(a/2)*(2-b) elseif @M=="Whittaker 2" z=z-@seed*(a/4)*( 2-b+((4+2*b)/(2-b*(2-b)))) elseif @M=="Untitled 1" z=z-@seed*(a+c/f1) elseif @M=="Untitled 2" z=z-@seed*2*f/(f1+@pow*(z-a)^(@pow-1)) elseif @M=="Untitled 3" z=z-@seed*(f/(@pow*(z-a/2)^(@pow-1))) elseif @M=="Untitled 4" z=z-a*(1+b/(2*(1-@seed*b))+@seed2*b^2) elseif @M=="Erratum 1" z=z-@seed*a*((z-a-f)/(2*(z-a)-f)) elseif @M=="Erratum 2" z=z-@seed*((a/2)+(f/(f1-3*f1*(z-2*a/3)))) ;wrong elseif @M=="Erratum 3" z=z-@seed*(a-c/f1) elseif @M=="Erratum 4" z=a-(a/f1)*((f+@seed*a)/(f+(@seed-2)*a)) endif if @F3=="ident" z=ident(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="sqr+" z=sqr(z)+z elseif @F3=="sqrt" z=sqrt(z) elseif @F3=="cube" z=z^3 elseif @F3=="cube+" z=z^3+z^2+z elseif @F3=="abs" z=abs(z) elseif @F3=="recip" z=recip(z) elseif @F3=="abs recip" z=abs(recip(z)) endif bailout: |f|>@bail default: title = "Rootfinding" center=(0.001,0.001) heading caption="Init" endheading func fn1 caption="Function" default=ident() endfunc heading caption="Loop" endheading param F2 caption="Pre Function" enum="ident""sqr""sqr+""sqrt"\ "cube""cube+""abs""recip""abs recip" default=0 endparam param M caption="Method" enum="Chebyshev""Halley""Jarratt 1""Jarratt 2""Jarratt 3""King""king 2"\ "Midpoint""Newton""Schröder""Steffensen""Steffensen 2""Stirling""Super-Halley"\ "Whittaker 1""Whittaker 2""Untitled 1""Untitled 2""Untitled 3""Untitled 4"\ "Erratum 1""Erratum 2""Erratum 3""Erratum 4" default=0 endparam param pow caption="Exponent" default=3 endparam param seed caption="Seed" default=(1,0) endparam param seed2 caption="Seed 2" default=(1,0) visible=(@M==10 || @M==15) endparam param root caption="Root" default=(1,0) endparam param F3 caption="Post Function" enum="ident""sqr""sqr+""sqrt"\ "cube""cube+""abs""recip""abs recip" default=0 endparam heading caption="Bailout" endheading param bail caption="Value" default=0.001 endparam } Quasi-Rootfinding{ init: z=fn1(pixel) loop: if @F2=="ident" z=ident(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="cube" z=z^3 elseif @F2=="cube+" z=z^3+z^2+z elseif @F2=="abs" z=abs(z) elseif @F2=="recip" z=recip(z) elseif @F2=="abs recip" z=abs(recip(z)) elseif @F2=="sqr recip" z=sqr(recip(z)) elseif @F2=="abs sqr" z=abs(sqr(z)) elseif @F2=="sqr+ recip" z=sqr(recip(z))+recip(z) elseif @F2=="flip" z=flip(z) endif f=z^@pow-@root f1=@pow*z^(@pow-1) a=f/f1 b=z-a if @V==0 z=z-@seed*(f/(f1*(z-a/2))) z=z-a elseif @V==1 z=@seed*(b-a) elseif @V==2 z=z-@seed*((f/(f1*(z-a/2))+a)/2) elseif @V==3 z=z-@seed*((f/(f1*(z-a/2))+3*a)/3) elseif @V==4 z=z-@seed*((f/(f1*(z-a/2))+3*a)/3) z=z-a endif if @F3=="ident" z=ident(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="sqr+" z=sqr(z)+z elseif @F3=="sqrt" z=sqrt(z) elseif @F3=="cube" z=z^3 elseif @F3=="cube+" z=z^3+z^2+z elseif @F3=="abs" z=abs(z) elseif @F3=="recip" z=recip(z) elseif @F3=="abs recip" z=abs(recip(z)) elseif @F3=="sqr recip" z=sqr(recip(z)) elseif @F3=="abs sqr" z=abs(sqr(z)) elseif @F3=="sqr+ recip" z=sqr(recip(z))+recip(z) elseif @F3=="flip" z=flip(z) endif bailout: |f|>@bail default: title="Quasi-Rootfinding" center=(0.001,0.001) heading caption="Init" endheading func fn1 caption="Function" default=ident() endfunc heading caption="Loop" endheading param F2 caption="Pre Function" enum="ident""sqr""sqr+""sqrt"\ "cube""cube+""abs""recip""abs recip"\ "sqr recip""abs sqr""sqr+ recip""flip" default=1 endparam param V caption="Method" enum="1""2""3""4""5" default=0 endparam param pow caption="Exponent" default=3 endparam param seed caption="Seed" default=(1,0) endparam param root caption="Root" default=(1,0) endparam param F3 caption="Post Function" enum="ident""sqr""sqr+""sqrt"\ "cube""cube+""abs""recip""abs recip"\ "sqr recip""abs sqr""sqr+ recip""flip" default=0 endparam heading caption="Bailout" endheading param bail caption="Value" default=0.001 endparam } Biom{ ;Based on fractint formula RCL_1 by Ron Lewen, ;which is described as an interesting Biomorph ;inspired by Pickover's Computers, Pattern, Choas and Beauty. init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @F2=="ident" z=ident(z) elseif @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="coversin" z=1-sin(z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="vercos" z=1+cos(z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="covercos" z=1+sin(z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="exp" z=exp(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="recip" z=recip(z) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) endif z=pixel/z-z^2+p1 if @F3=="ident" z=ident(z) elseif @F3=="sin" z=sin(z) elseif @F3=="sinh" z=sinh(z) elseif @F3=="versin" z=1-cos(z) elseif @F3=="haversin" z=(1-cos(z))/2 elseif @F3=="coversin" z=1-sin(z) elseif @F3=="hacoversin" z=(1-sin(z))/2 elseif @F3=="cos" z=cos(z) elseif @F3=="cosh" z=cosh(z) elseif @F3=="vercos" z=1+cos(z) elseif @F3=="havercos" z=(1+cos(z))/2 elseif @F3=="covercos" z=1+sin(z) elseif @F3=="hacovercos" z=(1+sin(z))/2 elseif @F3=="crd" z=2*sin(z/2) elseif @F3=="sinc" z=sin(z)/(z) elseif @F3=="sinhc" z=sinh(z)/(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="cube" z=z^3 elseif @F3=="abs" z=abs(z) elseif @F3=="conj" z=conj(z) elseif @F3=="flip" z=flip(z) elseif @F3=="primecount" z=z/log(z) endif bailout: |real(z)|<@bail || |imag(z)|<@bail default: title="Biom" center=(0.001,0.001) periodicity=0 magn=2 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param F2 caption="Loop Function 1" enum="ident""sin""sinh""versin""haversin""coversin"\ "hacoversin""cos""cosh""vercos""havercos""covercos"\ "hacovercos""acotan""acotanh" \ "sec""sech""cosec""cosech""acosec""acosech"\ "crd""acrd""sinc""sinhc"\ "tanc""tanhc"\ "exp""conj""flip""recip"\ "softplus""primecount" default=0 endparam param F3 caption="Loop Function 2" enum="ident""sin""sinh""versin""haversin""coversin"\ "hacoversin""cos""cosh""vercos""havercos""covercos"\ "hacovercos"\ "crd""sinc""sinhc"\ "sqr"\ "cube""abs""conj""flip"\ "primecount" default=0 endparam param p1 default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } Castinnos{ init: z=fn1(pixel) z1=sin(pixel) z2=cos(pixel) z3=tan(pixel) loop: if @Fs=="sin" z=sin(z) elseif @Fs=="sinh" z=sinh(z) elseif @Fs=="versin" z=1-cos(z) elseif @Fs=="haversin" z=(1-cos(z))/2 elseif @Fs=="coversin" z=1-sin(z) elseif @Fs=="hacoversin" z=(1-sin(z))/2 elseif @Fs=="cos" z=cos(z) elseif @Fs=="cosh" z=cosh(z) elseif @Fs=="vercos" z=1+cos(z) elseif @Fs=="havercos" z=(1+cos(z))/2 elseif @Fs=="covercos" z=1+sin(z) elseif @Fs=="hacovercos" z=(1+sin(z))/2 elseif @Fs=="crd" z=2*sin(z/2) elseif @Fs=="sinc" z=sin(z)/(z) elseif @Fs=="sinhc" z=sinh(z)/(z) elseif @Fs=="sqr" z=sqr(z) elseif @Fs=="cube" z=z^3 endif z=z-p1*z1*z2*z3+p2 bailout: |real(z)|<@bail || |imag(z)|<@bail default: title="Castinnos" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc param Fs caption="Loop Function" enum="sin""sinh""versin""haversin""coversin"\ "hacoversin""cos""cosh""vercos""havercos""covercos"\ "hacovercos" \ "crd""sinc""sinhc"\ "sqr"\ "cube" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } KulGinjiResa{ init: z=fn1(pixel) loop: if @F2=="ident" z=ident(z) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="sqr" z=sqr(z) elseif @F2=="cube" z=z^3 endif f=z^@pow-p1 f1=@pow*z^(@pow-1) a=f/f1 z=a-(a/f1)*((f+p2*a)/(f+(p2-2)*a)) z=z^2+p3 if @F3=="ident" z=ident(z) elseif @F3=="sinh" z=sinh(z) elseif @F3=="acotanh" z=atanh(1/(z)) elseif @F3=="tanc" z=tan(z)/(z) elseif @F3=="cotanc" z=cotan(z)/(z) elseif @F3=="cotanhc" z=cotanh(z)/(z) elseif @F3=="cosecc" z= 1/(z*sin(z)) elseif @F3=="cosechc" z=1/(z*sinh(z)) elseif @F3=="sqr" z=sqr(z) elseif @F3=="sqrt" z=sqrt(z) elseif @F3=="cube" z=z^3 endif bailout: |f|>@bail default: title="Kul Ginji Resa" center=(0.001,0.001) heading caption="Init" endheading func fn1 caption="Function" default=ident() endfunc heading caption="Loop" endheading param F2 caption="Pre Function" enum="ident""acotanh" \ "acosec""acosech"\ "cotanhc""cosecc""sqr"\ "cube" default=0 endparam param pow caption="Exponent" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param F3 caption="Post Function" enum="ident""sinh""acotanh" \ "tanc""cotanc""cotanhc""cosecc""cosechc""sqr""sqrt"\ "cube" default=0 endparam heading caption="Bailout" endheading param bail caption="Value" default=0.001 endparam } LeeMandel{ ;Based on the fractint formula LeeMandel2 by Kevin Lee init: z=fn1(pixel) loop: c=sqr(pixel)/z c=z+c z=fn2(sqr(c*pixel))+p1 bailout: |z|<@bail default: title="LeeMandel" center=(0.001,0.001) magn=2 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } M/J{ init: z=fn1(pixel) loop: z=fn2(z) z=(z^2+pixel)/(z^2+@seed) z=fn3(z) bailout: (@Bt==0 && |z|<@bail) ||\ (@Bt==1 && sqr(real(z))<@bail) ||\ (@Bt==2 && sqr(imag(z))<@bail) ||\ (@Bt==3 && (sqr(real(z))<@bail && sqr(imag(z))<@bail)) ||\ (@Bt==4 && (sqr(real(z))<@bail || sqr(imag(z))<@bail)) ||\ (@Bt==5 && (sqr(abs(real(z))+ abs(imag(z)))<@bail)) ||\ (@Bt==6 && (sqr(real(z)+ imag(z))<@bail)) default: title="M/J" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Pre Function" default=ident() endfunc param seed caption="Seed" default=(1,0) endparam func fn3 caption="Post Function" default=ident() endfunc param Bt caption="Bailout Type" enum="mod""real""imag""and""or""manh""manr" default=0 endparam param bail caption="Bailout Value" default=4.0 endparam } Newtbrot{ init: z=fn1(pixel) loop: z=z^@pow1 f=z^@pow+pixel f1=@pow*z^(@pow-1) z=z-@seed*f/f1 if @PostF=="ident" z=ident(z) elseif @PostF=="tanc" z=tan(z)/(z) elseif @PostF=="tanhc" z=tanh(z)/(z) elseif @PostF=="cotanc" z=cotan(z)/(z) elseif @PostF=="cotanhc" z=cotanh(z)/(z) elseif @PostF=="sqr" z=sqr(z) elseif @PostF=="cube" z=z^3 elseif @PostF=="abs" z=abs(z) elseif @PostF=="conj" z=conj(z) elseif @PostF=="flip" z=flip(z) elseif @PostF=="recip" z=recip(z) endif bailout: |z^@pow+pixel|>@bail default: title="Newtbrot" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc param pow1 caption="Exponent 1" default=2 endparam param pow caption="Exponent 2" default=2 endparam param seed caption="Seed" default=(1,0) endparam param PostF caption="Loop Function" enum="ident""tanc""tanhc""cotanc""cotanhc""sqr"\ "cube""abs""conj""flip""recip" default=0 endparam param bail caption="Bailout" default=0.00000000001 endparam } Newtbrot2{ init: z=fn1(pixel) loop: z=z^2+pixel f=z^@pow+pixel f1=@pow*z^(@pow-1) z=z-@seed*f/f1 z=z^2+pixel bailout: |z^@pow+pixel|>@bail default: title="Newtbrot 2" center=(0.001,0.001) func fn1 caption="Function" default=ident() endfunc param pow caption="Exponent" default=2 endparam param seed caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.00001 endparam } NewtonVariation4 { ; Modification of some of the formulas found here: http://www.geocities.ws/fractalreport/fr39/fr39.htm init: z=fn1(pixel) loop: if @LF1=="ident" z=ident(z) elseif @LF1=="sinh" z=sinh(z) elseif @LF1=="crd" z=2*sin(z/2) elseif @LF1=="acrd" z=2*asin(z/2) elseif @LF1=="gd" z=asin(tanh(z)) elseif @LF1=="agd" z=asinh(tan(z)) elseif @LF1=="sqr" z=sqr(z) elseif @LF1=="cube" z=z^3 elseif @LF1=="recip" z=recip(z) endif zold=z z2=sqr(z) z3=z*z2 if @V==0 z=(2*z3+@seed1)/(3*z2-1)+@seed2 elseif @V==1 z=(2*z3+@seed1-1)/(3*z2-1)+@seed2 elseif @V==2 z=(2*z3-@seed1a*(z2+1))/(3*z2-@seed2a*2*z-1) elseif @V==3 z=(2*z3+@seed1)/(3*z2-1)+pixel+@seed2 elseif @V==4 z=(2*z3+@seed1+pixel)/(3*z2+pixel-1)+@seed2 elseif @V==5 z=((2*z3+@seed1+pixel)/(3*z2+pixel-1)+pixel)+@seed2 elseif @V==6 z=(2*z3+@seed1-1)/(3*z2+@seed2-1)+pixel elseif @V==7 z=@seed1a*(2*z3-1)/(3*z2+pixel-1)+ @seed2 elseif @V==8 z=(2*z3-1)/(3*z2+pixel-1)+pixel/@seed1a+@seed2 elseif @V==9 z=(2*z3-@seed1a*(z2+1))/(3*z2-@seed2a*2*z-1)+pixel elseif @V==10 z=(2*z^3+@seed1a*z^2-@seed2a)/(3*z^2+@seed1a*z-@seed2a) elseif @V==11 z=(2*z^3+@seed1a*z^2-pixel)/(3*z^2+@seed2a*z-pixel) elseif @V==12 z=(2*z^3+@seed1*z^2-pixel)/(3*z^2+@seed2*z-pixel)+pixel endif if @LF2=="ident" z=ident(z) elseif @LF2=="sin" z=sin(z) elseif @LF2=="sinh" z=sinh(z) elseif @LF2=="asin" z=asin(z) elseif @LF2=="asinh" z=asinh(z) elseif @LF2=="cosh" z=cosh(z) elseif @LF2=="hacovercos" z=(1+sin(z))/2 elseif @LF2=="tan" z=tan(z) elseif @LF2=="tanh" z=tanh(z) elseif @LF2=="atan" z=atan(z) elseif @LF2=="atanh" z=atanh(z) elseif @LF2=="cosec" z=1/sin(z) elseif @LF2=="excosec" z=1/sin(z)-1 elseif @LF2=="crd" z=2*sin(z/2) elseif @LF2=="acrd" z=2*asin(z/2) elseif @LF2=="gd" z=asin(tanh(z)) elseif @LF2=="agd" z=asinh(tan(z)) elseif @LF2=="sqr" z=sqr(z) elseif @LF2=="cube" z=z^3 elseif @LF2=="log" z=log(z) elseif @LF2=="abs" z=abs(z) elseif @LF2=="conj" z=conj(z) elseif @LF2=="flip" z=flip(z) elseif @LF2=="recip" z=recip(z) elseif @LF2=="expit" z=1/(1+exp(-z)) elseif @LF2=="primecount" z=z/log(z) endif bailout: |zold-z|>@bail default: title="Newton Variation 4" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc param LF1 caption="Loop Function 1" enum="ident""sinh"\ "crd""acrd""gd""agd"\ "sqr"\ "cube""recip" default=0 endparam param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13" default=0 endparam param seed1 caption="Seed 1" default=(0,0) visible=(@V==0 || @V==1 || @V==3 || @V==4 || @V==5 || @V==6 || @V==12) endparam param seed1a caption="Seed 1" default=(1,0) visible=(@V==2 || @V==7 || @V==8 || @V==9 ||@V==10 || @V==11) endparam param seed2 caption="Seed 2" default=(0,0) visible=(@V==0 || @V==1 || @V==3 || @V==4 || @V==5 || @V==6 || @V==7 || @V==8 || @V==12) endparam param seed2a caption="Seed 2" default=(1,0) visible=(@V==2 || @V==9 || @V==10 || @V==11) endparam param LF2 caption="Loop Function 2" enum="ident""sin""sinh""asin""asinh"\ "cosh"\ "hacovercos""tan""tanh""atan""atanh" \ "cosec"\ "excosec""crd""acrd""gd""agd"\ "sqr"\ "cube""log""abs""conj""flip""recip"\ "expit""primecount" default=0 endparam param bail caption="Bailout" default=0.001 endparam } Nuty5{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @F2=="ident" z=ident(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="abs" z=abs(z) elseif @F2=="flip" z=flip(z) elseif @F2=="recip" z=recip(z) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) endif f=z^@pow-@root f1=@pow*Z^(@pow-1) f2=(@pow-1)*@pow*Z^(@pow-2) z=z-@seed*(f/f1/f2) z=sqr(z) bailout: |f|>@bail default: title="Nuty 5" center=(0.001,0.001) maxiter=250 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param F2 caption="Loop Function" enum="ident""acosec""acosech"\ "aexcosec""crd""cuberoot"\ "abs""flip""recip"\ "softplus""primecount" default=0 endparam param pow caption="Exponent" default=3 endparam param root caption="Root" default=(1,0) endparam param seed caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } Quat { ; Based on RCL_Quaternion_M and RCL_Quaternion_J, fractint formulas by Ron Lewen init: a=fn1(pixel) b=fn1(pixel) c=real(p1) d=imag(p1) f=(0,0) g=(0,0) loop: if @V==0 f=sqr(a)-sqr(c)-sqr(b)-sqr(d)+pixel g=2*a*b+pixel elseif @V==1 f=sqr(a)-sqr(c)-sqr(b)-sqr(d)+p2 g=2*a*b+p2 endif a=fn2(f) b=fn2(g) bailout: |sqr(a)+sqr(c)+sqr(b)+sqr(d)|<@bail default: title="Quat" center=(0.001,0.001) maxiter=500 magn=2 heading caption="Init" endheading func fn1 caption="Function" default=ident() endfunc param p1 caption="Parameter" default=(0,0) endparam heading caption="Loop" endheading param V caption="Variant" enum="Mandelbrot""Julia" default=0 endparam param p2 caption="Seed" default=(0,0) visible=@V==1 endparam func fn2 caption="Function" default=ident() endfunc heading caption="Bailout" endheading param bail caption="Value" default=2.0 endparam } QuinnowSeat{ init: z=fn1(pixel) loop: if @F2=="ident" z=ident(z) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="sqr" z=sqr(z) elseif @F2=="abs" z=abs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="primecount" z=z/log(z) endif z=z+pixel f=z^4-3 z=z-@seed*f/(3*z) if @F3=="ident" z=ident(z) elseif @F3=="crd" z=2*sin(z/2) elseif @F3=="sqr" z=sqr(z) elseif @F3=="abs" z=abs(z) elseif @F3=="conj" z=conj(z) elseif @F3=="flip" z=flip(z) elseif @F3=="primecount" z=z/log(z) endif bailout: |f|>@bail default: title="Quinnow Seat" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc param F2 caption="Loop Function 1" enum="ident"\ "crd"\ "sqr"\ "abs""conj""flip""primecount" default=0 endparam param seed caption="Seed" default=(1,0) endparam param F3 caption="Loop Function 2" enum="ident"\ "crd"\ "sqr"\ "abs""conj""flip""primecount" default=0 endparam param bail caption="Bailout" default=0.00001 endparam } Suds{ init: if @sf==0 z=pixel+1/(fn1(p2*pixel)-p1)+1/(fn2(p2*pixel)-p1) elseif @sf==1 z=pixel-1/(fn1(p2*pixel)-p1)-1/(fn2(p2*pixel)-p1) elseif @sf==2 z=pixel*(1/(fn1(p2*pixel)-p1))*(1/(fn2(p2*pixel)-p1)) elseif @sf==3 z=pixel/(1/(fn1(p2*pixel)-p1))/(1/(fn2(p2*pixel)-p1)) endif a=(0,0) loop: a=((z-1)*z^@pow+1)/(@pow*z^(@pow-1)) if @F=="ident" z=ident(((z-1)*a^@pow+1)/(@pow*a^(@pow-1))) elseif @F=="abs" z=abs(((z-1)*a^@pow+1)/(@pow*a^(@pow-1))) elseif @F=="flip" z=flip(((z-1)*a^@pow+1)/(@pow*a^(@pow-1))) endif bailout: |z^@pow+1|>=@bail default: title="Suds" center=(0.001,0.001) maxiter=250 param sf caption="Start" enum="+""-""*""/" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param F caption="Function 3" enum="ident""abs""flip" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param pow caption="Exponent" default=3 endparam param bail caption="Bailout" default=0.00001 endparam } YeHalpelCulbus{ init: z=fn1(pixel) loop: z=z^3+z^2+z z=fn2(z-p1*(2*(z^@pow-p2)*@pow*z^(@pow-1))/(2*(@pow*z^(@pow-1))^2-(z^@pow-p2)*(@pow-1)*@pow*z^(@pow-2))) bailout: |z^@pow-p2|>@bail default: title="Ye Halpel Culbus" center=(0.001,0.001) angle=270 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=sqr() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param pow caption="Exponent" default=3 endparam param bail caption="Bailout" default=0.000000000000000000001 endparam } Nuty6{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif c=(0,0) d=(0,0) loop: a=z^(z-1) b=(((z-1)/z)+log(z)) if @F2=="ident" c=ident(z) elseif @F2=="hacoversin" c=(1-sin(z))/2 elseif @F2=="hacovercos" c=(1+sin(z))/2 elseif @F2=="cotanh" c=cotanh(z) elseif @F2=="sec" c=1/cos(z) elseif @F2=="cosec" c=1/sin(z) elseif @F2=="cosech" c=1/sinh(z) elseif @F2=="acosech" c=asinh(1/z) elseif @F2=="excosec" c=1/sin(z)-1 elseif @F2=="crd" c=2*sin(z/2) elseif @F2=="sinc" c=sin(z)/(z) elseif @F2=="tanc" c=tan(z)/(z) elseif @F2=="cotanc" c=cotan(z)/(z) elseif @F2=="secc" c=1/(z*cos(z)) elseif @F2=="sqr" c=sqr(z) elseif @F2=="cube" c=z^3 elseif @F2=="log" c=log(z) elseif @F2=="colog" c=-log(z) elseif @F2=="abs" c=abs(z) elseif @F2=="cabs" c=cabs(z) elseif @F2=="conj" c=conj(z) elseif @F2=="recip" c=recip(z) elseif @F2=="gauss" c=exp(-sqr(z)) elseif @F2=="primecount" c=z/log(z) endif if @F3=="ident" d=ident((a-1)/b) elseif @F3=="versin" d=1-cos((a-1)/b) elseif @F3=="haversin" d=(1-cos((a-1)/b))/2 elseif @F3=="ahaversin" d=2*asin(sqrt((a-1)/b)) elseif @F3=="coversin" d=1-sin((a-1)/b) elseif @F3=="hacoversin" d=(1-sin((a-1)/b))/2 elseif @F3=="cos" d=cos((a-1)/b) elseif @F3=="cosh" d=cosh((a-1)/b) elseif @F3=="havercos" d=(1+cos((a-1)/b))/2 elseif @F3=="covercos" d=1+sin((a-1)/b) elseif @F3=="acovercos" d=asin(1+(a-1)/b) elseif @F3=="hacovercos" d=(1+sin((a-1)/b))/2 elseif @F3=="tan" d=tan((a-1)/b) elseif @F3=="acotan" d=atan(1/((a-1)/b)) elseif @F3=="sec" d=1/cos((a-1)/b) elseif @F3=="sech" d=1/cosh((a-1)/b) elseif @F3=="acosec" d=asin(1/(a-1)/b) elseif @F3=="exsec" d=1/cos((a-1)/b)-1 elseif @F3=="sinc" d=sin((a-1)/b)/((a-1)/b) elseif @F3=="sinhc" d=sinh((a-1)/b)/((a-1)/b) elseif @F3=="tanc" d=tan((a-1)/b)/((a-1)/b) elseif @F3=="tanhc" d=tanh((a-1)/b)/((a-1)/b) elseif @F3=="sqr" d=sqr((a-1)/b) elseif @F3=="sqrt" d=sqrt((a-1)/b) elseif @F3=="cube" d=(a-1)/b^3 elseif @F3=="cuberoot" d=(a-1)/b^(1/3) elseif @F3=="log" d=log((a-1)/b) elseif @F3=="colog" d=-log((a-1)/b) elseif @F3=="exp" d=exp((a-1)/b) elseif @F3=="cabs" d=cabs((a-1)/b) elseif @F3=="conj" d=conj((a-1)/b) elseif @F3=="recip" d=recip((a-1)/b) elseif @F3=="logit" d= log((a-1)/b/(1-(a-1)/b)) elseif @F3=="expit" d=1/(1+exp(-(a-1)/b)) elseif @F3=="gauss" d=exp(-sqr((a-1)/b)) elseif @F3=="softplus" d=log(1+exp((a-1)/b)) elseif @F3=="primecount" d=(a-1)/b/log((a-1)/b) elseif @F3=="trunc" d=trunc((a-1)/b) elseif @F3=="round" d=round((a-1)/b) elseif @F3=="gdc" d=asin(tanh(((a-1)/b)))/((a-1)/b) elseif @F3=="agdc" d=asinh(tan(((a-1)/b)))/((a-1)/b) elseif @F3=="logsin" d=log(sin(((a-1)/b))) elseif @F3=="logcos" d=log(cos(((a-1)/b))) elseif @F3=="logtan" d=log(tan(((a-1)/b))) elseif @F3=="logcosc" d=log(cos(((a-1)/b)))/((a-1)/b) elseif @F3=="sin2" d=sqr(sin(((a-1)/b))) elseif @F3=="cos2" d=sqr(cos(((a-1)/b))) elseif @F3=="tan2" d=sqr(tan(((a-1)/b))) elseif @F3=="sec2" d=sqr(recip(cos(((a-1)/b)))) elseif @F3=="exsec2" d=sqr(recip(cos(((a-1)/b)))-1) elseif @F3=="excosec2" d=sqr(recip(sin(((a-1)/b)))-1) elseif @F3=="cos+" d=cos(((a-1)/b)) +(a-1)/b elseif @F3=="tan+" d=tan(((a-1)/b)) +(a-1)/b elseif @F3=="sec+" d=recip(cos(((a-1)/b))) +(a-1)/b elseif @F3=="sqr+" d=sqr((a-1)/b)+(a-1)/b elseif @F3=="cube+" d=((a-1)/b)^3+sqr((a-1)/b)+(a-1)/b elseif @F3=="loglog" d=log(log((a-1)/b)) elseif @F3=="expexp" d=exp(exp((a-1)/b)) elseif @F3=="sinsin" d=sin(sin((a-1)/b)) elseif @F3=="coscos" d=cos(cos((a-1)/b)) endif z=sqr(c-p1*d)+p2 bailout: |c-1|>@bail default: title="Nuty 6" center=(0.001, 0.001) periodicity=0 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param F2 caption="Loop Function 1" enum="ident"\ "hacoversin"\ "hacovercos""cotanh"\ "sec""cosec""cosech""acosech"\ "excosec""crd""sinc"\ "tanc""cotanc""secc""sqr"\ "cube""log""colog""abs""cabs""conj""recip"\ "gauss""primecount" default=0 endparam param F3 caption="Loop Function 2" enum="ident""versin""haversin""ahaversin""coversin"\ "hacoversin""cos""cosh""havercos""covercos"\ "acovercos""hacovercos""tan""acotan"\ "sec""sech""acosec""exsec"\ "sinc""sinhc"\ "tanc""tanhc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""cabs""conj""recip"\ "logit""expit""gauss""softplus""primecount""trunc""round"\ "gdc""agdc""logsin""logcos""logtan"\ "logcosc""sin2""cos2""tan2""sec2""exsec2""excosec2"\ "cos+""tan+""sec+""sqr+""cube+""loglog""expexp""sinsin"\ "coscos" default=0 endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param bail caption="Bailout" default=0.00000000000000001 endparam } YaulJallehi{ init: z=fn1(pixel) loop: if @Fn4=="ident" z=ident(z) elseif @Fn4=="sin+" z=sin(z) +z elseif @Fn4=="cos+" z=cos(z) +z elseif @Fn4=="tan+" z=tan(z) +z elseif @Fn4=="sec+" z=recip(cos(z)) +z elseif @Fn4=="sqr+" z=sqr(z)+z elseif @Fn4=="cube+" z=z^3+sqr(z)+z endif if @V=="fhj" if @fn2=="ident" z=ident(z) elseif @fn2=="sin" z=sin(z) elseif @fn2=="sinh" z=sinh(z) elseif @fn2=="cos" z=cos(z) elseif @fn2=="cosh" z=cosh(z) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="flip" z=flip(z) elseif @fn2=="recip" z=recip(z) endif z=z-p1*(6*z^5-p3)/(12*z^4) z=z^2+p2 elseif @V=="fjh" if @fn2=="ident" z=ident(z) elseif @fn2=="sin" z=sin(z) elseif @fn2=="sinh" z=sinh(z) elseif @fn2=="cos" z=cos(z) elseif @fn2=="cosh" z=cosh(z) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="flip" z=flip(z) elseif @fn2=="recip" z=recip(z) endif z=z^2+p2 z=z-p1*(6*z^5-p3)/(12*z^4) elseif @V=="hfj" z=z-p1*(6*z^5-p3)/(12*z^4) if @fn2=="ident" z=ident(z) elseif @fn2=="sin" z=sin(z) elseif @fn2=="sinh" z=sinh(z) elseif @fn2=="cos" z=cos(z) elseif @fn2=="cosh" z=cosh(z) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="flip" z=flip(z) elseif @fn2=="recip" z=recip(z) endif z=z^2+p2 elseif @V=="jfh" z=z^2+p2 if @fn2=="ident" z=ident(z) elseif @fn2=="sin" z=sin(z) elseif @fn2=="sinh" z=sinh(z) elseif @fn2=="cos" z=cos(z) elseif @fn2=="cosh" z=cosh(z) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="flip" z=flip(z) elseif @fn2=="recip" z=recip(z) endif z=z-p1*(6*z^5-p3)/(12*z^4) elseif @V=="hjf" z=z-p1*(6*z^5-p3)/(12*z^4) z=z^2+p2 if @fn2=="ident" z=ident(z) elseif @fn2=="sin" z=sin(z) elseif @fn2=="sinh" z=sinh(z) elseif @fn2=="cos" z=cos(z) elseif @fn2=="cosh" z=cosh(z) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="flip" z=flip(z) elseif @fn2=="recip" z=recip(z) endif elseif @V=="jhf" z=z^2+p2 z=z-p1*(6*z^5-p3)/(12*z^4) if @fn2=="ident" z=ident(z) elseif @fn2=="sin" z=sin(z) elseif @fn2=="sinh" z=sinh(z) elseif @fn2=="cos" z=cos(z) elseif @fn2=="cosh" z=cosh(z) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="flip" z=flip(z) elseif @fn2=="recip" z=recip(z) endif endif if @fn3=="ident" z=ident(z) elseif @fn3=="sin+" z=sin(z) +z elseif @fn3=="cos+" z=cos(z) +z elseif @fn3=="tan+" z=tan(z) +z elseif @fn3=="sec+" z=recip(cos(z)) +z elseif @fn3=="sqr+" z=sqr(z)+z elseif @fn3=="cube+" z=z^3+sqr(z)+z endif bailout: |6*z^5-p3|>@bail default: title="Yaul Jallehi" center=(0.001,0.001) magn=0.5 maxiter=250 heading caption="Init" endheading func fn1 caption="Function" default=ident() endfunc heading caption="Loop" endheading param V caption="Variant" enum="fhj""fjh""hfj""jfh""hjf""jhf" default=0 endparam param fn4 caption="Function 1" enum="ident""sin+""cos+""tan+""sec+""sqr+""cube+" default=0 endparam param fn2 caption="Function 2" enum="ident""sin""sinh""cos""cosh""sqr""flip""recip" default=0 endparam param fn3 caption="Function 3" enum="ident""sin+""cos+""tan+""sec+""sqr+""cube+" default=0 endparam param p1 default=(1,0) endparam param p2 default=(-1.25,0) endparam param p3 default=(1,0) endparam heading caption="Bailout" endheading param bail caption="Value" default=0.00001 endparam } Nuty7{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @F2=="ident" z=ident(z) elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="acotanc" z=atan(1/(z))/z elseif @F2=="acotanhc" z=atanh(1/(z))/z elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="abs" z=abs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="recip" z=recip(z) elseif @F2=="recip+" z=recip(z)+z elseif @F2=="gdc" z= asin(tanh(z))/z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="tanh*" z=tanh(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="cotanh*" z=cotanh(z)*z endif z=abs(z)-p1*(abs(z)^@pow-p2)/(@pow*tan(z)^(@pow-1)) if @F3=="ident" z=ident(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="sqrt" z=sqrt(z) elseif @F3=="cube" z=z^3 elseif @F3=="cuberoot" z=z^(1/3) elseif @F3=="abs" z=abs(z) elseif @F3=="conj" z=conj(z) elseif @F3=="flip" z=flip(z) elseif @F3=="recip" z=recip(z) elseif @F3=="primecount" z=z/log(z) elseif @F3=="gdc" z= asin(tanh(z))/z elseif @F3=="tan*" z=tan(z)*z elseif @F3=="tanh*" z=tanh(z)*z elseif @F3=="cotan*" z=cotan(z)*z elseif @F3=="cotanh*" z=cotanh(z)*z elseif @F3=="logtanc" z=log(tan(z))/z endif bailout: |abs(z)^@pow-p2|>@bail default: title="Nuty 7" center=(0.001,0.001) magn=0.5 angle=90 periodicity=0 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param F2 caption="Loop Function 1" enum="ident""acotan""acotanh""acotanc""acotanhc" \ "acosec""acosech""aexcosec"\ "tanc""tanhc""cotanc""cotanhc""cosecc"\ "cosechc""abs""conj""flip""recip""recip+""gdc""tan*""tanh*""cotan*""cotanh*" default=0 endparam param F3 caption="Loop Function 2" enum="ident""sqr""sqrt"\ "cube""cuberoot""abs""conj""flip""recip"\ "primecount""gdc""tan*""tanh*""cotan*""cotanh*"\ "logtanc" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param pow caption="Exponent" default=3 endparam param bail default=0.00001 endparam } Ringerork{ init: z=fn1(pixel) loop: zold=z f=z^2-p1 f1=2*z a=f/f1 z=a-(a/f1)*((f+p2*a)/(f+(p2-2)*a)) if @fn4=="ident" z=ident(z) elseif @fn4=="logtanc" z=log(tan(z))/z elseif @fn4=="sec+" z=recip(cos(z)) +z elseif @fn4=="sqr+" z=sqr(z)+z elseif @fn4=="cube+" z=z^3+sqr(z)+z elseif @fn4=="asinh" z=asinh(z) elseif @fn4=="covercos" z=1+sin(z) elseif @fn4=="acotan" z=atan(1/(z)) elseif @fn4=="acosech" z=asinh(1/z) elseif @fn4=="cotanc" z=cotan(z)/(z) elseif @fn4=="cotanhc" z=cotanh(z)/(z) elseif @fn4=="sqr" z=sqr(z) elseif @fn4=="cube" z=z^3 elseif @fn4=="exp" z=exp(z) elseif @fn4=="sinh+" z=sinh(z)+z elseif @fn4=="cotanh+" z=cotanh(z)+z elseif @fn4=="asinh+" z=asinh(z)+z elseif @fn4=="cosh+" z=cosh(z)+z elseif @fn4=="tanh+" z=tanh(z)+z elseif @fn4=="acosh+" z=acosh(z)+z elseif @fn4=="atanh+" z=atanh(z)+z endif bailout: |zold-z|>@bail default: title="Ringerork" center=(0.001,0.001) func fn1 caption="Start Function" default=ident() endfunc param fn4 caption="Loop Function" enum="ident"\ "logtanc"\ "sec+""sqr+""cube+"\ "asinh""covercos"\ "acotan""acosech""cotanc""cotanhc""sqr"\ "cube""exp""sinh+""cotanh+""asinh+""cosh+""tanh+""acosh+""atanh+" default=0 endparam param p1 default=(1,1) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=0.001 endparam } NewtonVariation10{ init: int i=0 z=fn1(pixel) f=1 loop: if i<@C z=fn2(z)^2*(z-p1)/(1-p1*z) else f=z^@pow-1 f1=@pow*z^(@pow-1) z=z-p2*f/f1 endif i=i+1 bailout: |f|>@bail default: title="Newton Variation 10" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param C caption="Conditional" default=2 endparam param p1 default=(2,0) endparam param p2 default=(1,0) endparam param pow caption="Exponent" default=3 endparam param bail caption="Bailout" default=0.0001 endparam } NewtonVariation11{ init: z=fn1(pixel) c=fn1(fn2(pixel)) loop: zold=z z1=z^3-1 z2=3*z^2 z3=z-p1*z1/z2 cold=c c1=c^(-3)-1 c2=-3*c^(-4) c3=c-p1*c1/c2 z=z3 c=c3 bailout: |(zold-z+cold-c)/2|>@bail default: title="Newton Variation 11" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=cosh() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=0.0000001 endparam } NewtonVariation5{ init: z=fn1(pixel) f=(0,0) loop: if @V==0 f=z^3-1 f1=3*z^2 z=sqr(z)-p1*(cos(f)/f1) elseif @V==1 f=z^3-pixel f1=3*z^2 z=sqr(z)-p1*(cos(f)/f1) elseif @V==2 f=z^3-p1 f1=3*z^2 z=sqr(z)-pixel*(cos(f)/f1) endif bailout: |f|>@bail default: title="Newton Variation 5" center=(0.001,0.001) param V caption="Variant" enum="Julia""Mandelbrot 1""Mandelbrot 2" default=0 endparam func fn1 caption="Function" default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=0.00001 endparam } NewtonVariation6{ init: z=fn1(pixel) c=(0,0) if @CF=="crd" c=fn2(2*sin(pixel/2))+p2 elseif @CF=="gd" c=fn2(asin(tanh(pixel)))+p2 elseif @CF=="versin" c=fn2(1-cos(pixel))+p2 elseif @CF=="vercos" c=fn2(1+cos(pixel))+p2 elseif @CF=="coversin" c=fn2(1-sin(pixel))+p2 elseif @CF=="covercos" c=fn2(1+sin(pixel))+p2 elseif @CF=="sec" c=fn2(1/cos(pixel))+p2 elseif @CF=="cosec" c=fn2(1/sin(pixel))+p2 elseif @CF=="exsec" c=fn2(1/cos(pixel)-1)+p2 elseif @CF=="excosec" c=fn2(1/sin(pixel)-1)+p2 elseif @CF=="sinc" c=fn2(sin(pixel)/pixel)+p2 elseif @CF=="cosc" c=fn2(cos(pixel)/pixel)+p2 elseif @CF=="tanc" c=fn2(tan(pixel)/pixel)+p2 elseif @CF=="secc" c=fn2(1/(pixel*cos(pixel))) elseif @CF=="cotanc" c=fn2(cotan(pixel)/pixel)+p2 elseif @CF=="cotanhc" c=fn2(cotanh(pixel)/pixel)+p2 elseif @CF=="acotan" c=fn2(atan(1/pixel))+p2 elseif @CF=="acotanh" c=fn2(atanh(1/pixel))+p2 endif loop: z=p3*(z*c*(z+c)+1)/(3*z*c) c=z+p1 bailout: |z^3-1|>@bail default: title="Newton Variation 6" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param CF caption="Function" enum="crd""gd""versin""vercos""coversin""covercos""sec""cosec""exsec""excosec"\ "sinc""cosc""tanc""secc""cotanc""cotanhc""acotan""acotanh" default=9 endparam param p2 caption="Parameter 3" default=(0,0) endparam param p3 caption="Parameter 2" default=(1,0) endparam param p1 caption="Parameter 3" default=(0,0) endparam param bail caption="Bailout" default=0.0000001 endparam } NewtonVariation7{ init: z=fn1(pixel)+p1 c=(0,0) if @CF=="cos" c=fn2(cos(pixel))+p2 elseif @CF=="cos+" c=fn2(cos(pixel)+pixel)+p2 elseif @CF=="cos+" c=fn2(cos(pixel)+pixel)+p2 elseif @CF=="cos-" c=fn2(cos(pixel)-pixel)+p2 elseif @CF=="cos*" c=fn2(cos(pixel)*pixel)+p2 elseif @CF=="cosc" c=fn2(cos(pixel)/pixel)+p2 elseif @CF=="cos2" c=fn2(cos(pixel)^2)+p2 elseif @CF=="cos3" c=fn2(cos(pixel)^3)+p2 elseif @CF=="coscos" c=fn2(cos(cos(pixel)))+p2 elseif @CF=="coscoscos" c=fn2(cos(cos(cos(pixel))))+p2 elseif @CF=="ubercos" c=fn2(pixel/cos(pixel))+p2 endif loop: z=(z*c*(z+c)+1)/(3*z*c) c=z bailout: |z^3-1|>@bail default: title="Newton Variation 7" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc param CF caption="C Function" enum="cos""cos+""cos-""cos*""cosc""cos2""cos3""coscos""coscoscos""ubercos" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=0.0000001 endparam } NewtonVariation8{ ;Modification of Fractint formula 'mandnewtonswitch' by Puskás István jr (Sprcials.frm) init: int i=0 z=fn1(pixel) c=fn2(pixel) f=1 loop: if i@bail default: title="Newton Variation 8" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 caption="Conditional" default=2 endparam param p2 caption="Mandelbrot Exponent" default=2 endparam param p3 caption="Newton Exponent" default=3 endparam param p4 caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.0001 endparam } NewtonVariation9{ init: int i=0 z=fn1(pixel) f=1 loop: if i@bail default: title="Newton Variation 9" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 caption="Conditional" default=2 endparam param p3 caption="Exponent" default=3 endparam param p4 caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.0001 endparam } Nuty8{ init: z=fn1(pixel) loop: a=cos(z)*sqr(z)-1 b=cos(z)*fn2(log(z)+1)-sin(z)*sqr(z) z=z-p1*a/b bailout: |a|>@bail default: title="Nuty 8" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=0.001 endparam } Nuty9{ init: if @S==0 z=fn1(pixel) elseif @S==1 z=fn1(pixel^2+pixel) elseif @S==2 z=fn1(pixel^3+pixel^2+pixel) elseif @S==3 z=fn1(2*sin(pixel/2)) elseif @S==4 z=fn1(asin(tanh(pixel))) elseif @S==5 z=fn1(sin(pixel)/pixel) elseif @S==6 z=fn1(cos(pixel)/pixel) elseif @S==7 z=fn1(tan(pixel)/pixel) elseif @S==8 z=fn1(1/(pixel*cos(pixel))) endif loop: zold=z z1=(z^3-1)^3-1 z2=3*(3*z^2)^2 z=z-p1*z1/z2 bailout: |zold-z|>@bail default: title="Nuty 9" center=(0.001,0.001) periodicity=0 param S caption="Start" enum="pixel""pixel^2+pixel""pixel^3+pixel^2+pixel"\ "crd(pixel)""gd(pixel)""sinc(pixel)""cosc(pixel)"\ "tanc(pixel)""secc(pixel)" default=0 endparam func fn1 caption="Function" default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=0.0000001 endparam } Ofogodur{ init: z=fn1(pixel) loop: if @V==0 z=fn2(z)-p1*fn3(cos(z)*(pixel*cos(z)-sin(z))) elseif @V==1 z=fn2(z)-p1*fn3(cos(z^2)*(pixel*cos(z)-sin(z))) elseif @V==2 z=fn2(z)-p1*fn3(cos(z^2)*(pixel*cos(z^2)-sin(z))) elseif @V==3 z=fn2(z)-p1*fn3(cos(z^2)*(pixel*cos(z^2)-sin(z^2))) elseif @V==4 a=(cos(z^2)*(pixel*cos(z)-sin(z)))^3 b=3*(cos(z)*(pixel*cos(z)-sin(z)))^2 z=fn2(z)-p1*fn3(a/b) elseif @V==5 a=(cos(z^2)*(pixel*cos(z)-sin(z)))^3 b=3*(cos(z)*(pixel*cos(z)+sin(z)))^2 z=fn2(z)-p1*fn3(a/b) elseif @V==6 a=(cos(z^2)*(pixel*cos(z)+sin(z)))^3 b=3*(cos(z)*(pixel*cos(z)+sin(z)))^2 z=fn2(z)-p1*fn3(a/b) endif bailout: |z|<@bail default: title="Ofogodur" center=(0.001,0.001) angle=90 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7" default=2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Ogodone{ init: z=fn1(pixel) loop: if @V==0 z=fn2(z)-p1*fn3((sin(z)+pixel)/cos(z)) elseif @V==1 z=fn2(z)-p1*fn3((sin(z^2)+pixel)/cos(z)) elseif @V==2 a=((sin(z^2)-pixel)/cos(z))^3 b=3*((sin(z)+pixel)/cos(z))^2 z=fn2(z)-p1*fn3(a/b) endif bailout: |z|<4 default: title="Ogodone" center=(0.001,0.001) angle=90 periodicity=0 param V caption="Variant" enum="1""2""3" default=2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam } Sortanova3{ init: z=@start c=fn1(pixel) c1=0.25-sqr(c) c2=c1-1 c3=fn2(p1*pixel)^2 c4=fn2(p2*pixel)^3 loop: zold=z a=z^3+c2*z-c1 b=3*z^2+c2+p1*sqrt(-1) z=z-p2*a/b a1=z^3+c3*z-c1 b1=3*z^2+c4 z=z-a1/b1 bailout: |zold-z|>@bail default: title="Sortanova 3" center=(0.001,0.001) periodicity=0 param start caption="Start Value" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(0,0) endparam param p2 default=(1,0) endparam param bail caption="Bailout" default=0.000001 endparam } AppollonianBiscuit{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) endif a=2*pi/3 c1=exp((0,0)*a) c2=exp((0,1)*a) c3=exp((0,2)*a) r=sqrt(3)/2 loop: if @fn2=="ident" z=p1*ident(z)+p2 elseif @fn2=="flip" z=p1*flip(z)+p2 elseif @fn2=="conj" z=p1*conj(z)+p2 elseif @fn2=="abs" z=p1*abs(z)+p2 elseif @fn2=="recip" z=p1*recip(z)+p2 elseif @fn2=="flipconj" z=p1*flip(conj(z))+p2 elseif @fn2=="flipabs" z=p1*flip(abs(z))+p2 elseif @fn2=="2flip" z=p1*(flip(z*2))+p2 elseif @fn2=="2conj" z=p1*(conj(z*2))+p2 elseif @fn2=="2abs" z=p1*(abs(z*2))+p2 elseif @fn2=="2recip" z=p1*(recip(z*2))+p2 endif if |z-c1|<|r| z=p3*(r*conj(r/(z-c1))+c1) elseif |z-c2|<|r| z=p3*(r*conj(r/(z-c2))+c2) elseif |z-c3|<|r| z=p3*(r*conj(r/(z-c3))+c3) endif z=conj(1/(z-p4))+p4 z=flip(z) bailout: |z|<@bail default: title="Apollonian Biscuit" center=(0.001,0.001) maxiter=500 periodicity=0 magn=0.7 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount" default=0 endparam param fn2 caption="Loop Function" enum="ident""flip""conj""abs""recip""flipconj""flipabs" \ "2flip""2conj""2abs""2recip" default=0 endparam param p1 default=(1,0) endparam param p2 default= (0,0) endparam param p3 default=(1,0) endparam param p4 default= (0,0) endparam param bail caption="Bailout" default=4.0 endparam } Chebnova{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @Fl=="ident" z=ident(z) elseif @Fl=="acotan" z=atan(1/(z)) elseif @Fl=="acotanh" z=atanh(1/(z)) elseif @Fl=="acosec" z=asin(1/z) elseif @Fl=="acosech" z=asinh(1/z) elseif @Fl=="aexcosec" z=asin(1/(z+1)) elseif @Fl=="tanc" z=tan(z)/(z) elseif @Fl=="tanhc" z=tanh(z)/(z) elseif @Fl=="cotanc" z=cotan(z)/(z) elseif @Fl=="cotanhc" z=cotanh(z)/(z) elseif @Fl=="secc" z=1/(z*cos(z)) elseif @Fl=="sechc" z=1/(z*cosh(z)) elseif @Fl=="cosecc" z= 1/(z*sin(z)) elseif @Fl=="cosechc" z=1/(z*sinh(z)) elseif @Fl=="sqr" z=sqr(z) elseif @Fl=="cube" z=z^3 elseif @Fl=="abs" z=abs(z) elseif @Fl=="conj" z=conj(z) elseif @Fl=="flip" z=flip(z) elseif @Fl=="recip" z=recip(z) elseif @Fl=="primecount" z=z/log(z) endif f=z^p3-1 f1=p3*z^(p3-1) f2=(p3-1)*p3*z^(p3-1) a=f/f1 b=f*f2/sqr(f1) z=sqr(z-p4*a*(1+b/2))*fn2(pixel) bailout: |f|>@bail default: title="Chebnova" center=(0.001,0.001) periodicity=0 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param Fl caption="Loop Function 1" enum="ident""acotan""acotanh" \ "acosec""acosech"\ "aexcosec"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr"\ "cube""abs""conj""flip""recip"\ "primecount" default=0 endparam func fn2 caption="Loop Function 2" default=ident() endfunc param p3 caption="Exponent" default=3.0 endparam param p4 caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } Chebnova2{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="prime-counting" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: f=z^p3-pixel f1=p3*z^(p3-1) f2=(p3-1)*p3*z^(p3-1) a=f/f1 b=f*f2/sqr(f1) z=z-p4*a*(1+b/2) if @Fl=="ident" z=ident(z) elseif @Fl=="*pixel" z=z*pixel elseif @Fl=="/pixel" z=z/pixel elseif @Fl=="quadruple" z=4*z elseif @Fl=="acotan" z=atan(1/(z)) elseif @Fl=="acotanh" z=atanh(1/(z)) elseif @Fl=="acosec" z=asin(1/z) elseif @Fl=="acosech" z=asinh(1/z) elseif @Fl=="aexcosec" z=asin(1/(z+1)) elseif @Fl=="tanc" z=tan(z)/(z) elseif @Fl=="tanhc" z=tanh(z)/(z) elseif @Fl=="cotanc" z=cotan(z)/(z) elseif @Fl=="cotanhc" z=cotanh(z)/(z) elseif @Fl=="acotanc" z=atan(1/(z))/z elseif @Fl=="acotanhc" z=atanh(1/(z))/z elseif @Fl=="secc" z=1/(z*cos(z)) elseif @Fl=="sechc" z=1/(z*cosh(z)) elseif @Fl=="cosecc" z= 1/(z*sin(z)) elseif @Fl=="cosechc" z=1/(z*sinh(z)) elseif @Fl=="sqr" z=sqr(z) elseif @Fl=="cube" z=z^3 elseif @Fl=="abs" z=abs(z) elseif @Fl=="conj" z=conj(z) elseif @Fl=="flip" z=flip(z) elseif @Fl=="recip" z=recip(z) elseif @Fl=="logtanc" z=log(tan(z))/z elseif @Fl=="logcotanc" z=log(cotan(z))/z elseif @Fl=="sqr+" z=sqr(z)+z elseif @Fl=="cube+" z=z^3+sqr(z)+z endif bailout: |f|>@bail default: title="Chebnova 2" center=(0.001,0.001) periodicity=0 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" default=0 endparam param Fl caption="Loop Function" enum="ident""*pixel""/pixel""quadruple""acotan""acotanh" \ "acosec""acosech""aexcosec"\ "tanc""tanhc""cotanc""cotanhc""acotanc""acotanhc""secc" \ "sechc""cosecc""cosechc""sqr""cube""abs""conj""flip""recip"\ "logtanc""logcotanc"\ "sqr+""cube+" default=0 endparam param p3 caption="Exponent" default=3.0 endparam param p4 caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.00000001 endparam } Chebnova3{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @Fl=="*pixel" z=z*pixel elseif @Fl=="double*pixel" z=2*z*pixel elseif @Fl=="sqr*pixel" z=sqr(z*pixel) elseif @Fl=="*pixel+" z=z*pixel+z elseif @Fl=="double*pixel+" z=2*(z*pixel+z) elseif @Fl=="sqr*pixel+" z=sqr(z*pixel+z) elseif @Fl=="/pixel" z=z/pixel elseif @Fl=="double/pixel" z=2*z/pixel elseif @Fl=="sqr/pixel" z=sqr(z/pixel) elseif @Fl=="double" z=2*z elseif @Fl=="triple" z=3*z elseif @Fl=="quadruple" z=4*z elseif @Fl=="halfsqr" z=sqr(z)/2 elseif @Fl=="sqr" z=sqr(z) elseif @Fl=="doublesqr" z=2*sqr(z) elseif @Fl=="triplesqr" z=3*sqr(z) elseif @Fl=="halfcube" z=z^3/2 elseif @Fl=="cube" z=z^3 elseif @Fl=="doublecube" z=2*z^3 elseif @Fl=="triplecube" z=3*z^3 elseif @Fl=="halfsqr+" z=(sqr(z)+z)/2 elseif @Fl=="sqr+" z=sqr(z)+z elseif @Fl=="doublesqr+" z=2*(sqr(z)+z) elseif @Fl=="halfcube+" z=(z^3+sqr(z)+z)/2 elseif @Fl=="cube+" z=z^3+sqr(z)+z elseif @Fl=="doublecube+" z=2*(z^3+sqr(z)+z) elseif @Fl=="sin+" z=sin(z)+z elseif @Fl=="cossin+" z=cos(sin(z)+z) elseif @Fl=="sqrsin+" z=sqr(sin(z)+z) elseif @Fl=="cos+" z=cos(z)+z elseif @Fl=="coscos+" z=cos(cos(z)+z) elseif @Fl=="sqrcos+" z=sqr(cos(z)+z) elseif @Fl=="tan+" z=tan(z)+z elseif @Fl=="costan+" z=cos(tan(z)+z) elseif @Fl=="sqrtan+" z=sqr(tan(z)+z) endif f=z^p3+z-1 f1=p3*z^(p3-1)+1 f2=(p3-1)*p3*z^(p3-1) a=f/f1 b=f*f2/sqr(f1) z=z-p4*a*(1+b/2)+pixel bailout: |f|>@bail default: title="Chebnova 3" center=(0.001,0.001) periodicity=0 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param Fl caption="Loop Function" enum="*pixel""double*pixel""sqr*pixel""*pixel+""double*pixel+""sqr*pixel+""/pixel""double/pixel""sqr/pixel"\ "double""triple""quadruple""halfsqr""sqr""doublesqr""triplesqr"\ "halfcube""cube""doublecube""triplecube""halfsqr+""sqr+""doublesqr+""halfcube+"\ "cube+""doublecube+"\ "sin+""cossin+""sqrsin+""cos+""coscos+""sqrcos+""tan+""costan+""sqrtan+" default=0 endparam param p3 caption="Exponent" default=3.0 endparam param p4 caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.000000000000000000001 endparam } DerRosch{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: zold=z z=z-@seed*(3*z^5+z-1)/(9*z^4) if @fn2=="ident" z=ident(z) elseif @fn2=="abs" z=abs(z) elseif @fn2=="absrecip" z=abs(recip(z)) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="sqr+" z=sqr(z)+z elseif @fn2=="sqr-" z=sqr(z)-z elseif @fn2=="recip" z=recip(z) elseif @fn2=="crd" z=2*sin(z/2) elseif @fn2=="abscrd" z=abs(2*sin(z/2)) elseif @fn2=="acrd" z=2*asin(z/2) elseif @fn2=="absacrd" z=abs(2*asin(z/2)) elseif @fn2=="Mandelbrot" z=z^2+pixel elseif @fn2=="Mandelbrot2" z=z^3+pixel elseif @fn2=="Julia" z=z^2+p1 elseif @fn2=="Julia2" z=z^3+p1 elseif @fn2=="absMandelbrot" z=abs(z^2+pixel) elseif @fn2=="absMandelbrot2" z=abs(z^3+pixel) elseif @fn2=="absJulia" z=abs(z^2+p1) elseif @fn2=="absJulia2" z=abs(z^3+p1) elseif @fn2=="Munster" z=z^2*(z-p2)/(1-p2*z) elseif @fn2=="MagnetM" z=sqr((z^2+pixel-1)/(2*z+pixel-2)) elseif @fn2=="MagnetM2" z=sqr((z^3+3*(pixel-1)*z+(pixel-1)*(pixel-2))/(3*z^2+3*(pixel-2)*z+(pixel-1)*(pixel-2)+1)) elseif @fn2=="MagnetJ" z=sqr((z^2+p3-1)/(2*z+p3-2)) elseif @fn2=="MagnetJ2" z=sqr((z^3+3*(p3-1)*z+(p3-1)*(p3-2))/(3*z^2+3*(p3-2)*z+(p3-1)*(p3-2)+1)) elseif @fn2=="NovaM" z=z-(z^3-1)/(3*z^2)+pixel elseif @fn2=="NovaJ" z=z-(z^3-1)/(3*z^2)+p4 elseif @fn2=="sqrMunster" z=sqr(z^2*(z-p2)/(1-p2*z)) elseif @fn2=="absMunster" z=abs(z^2*(z-p2)/(1-p2*z)) elseif @fn2=="recipMunster" z=recip(z^2*(z-p2)/(1-p2*z)) elseif @fn2=="crdMunster" z=2*sin((z^2*(z-p2)/(1-p2*z))/2) endif bailout:|zold-z|>=@bailout default: title="Der Rosch" center=(0.001,0.001) periodicity=0 magn=0.5 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam heading endheading param seed caption="Seed" default=(1,0) endparam heading endheading param fn2 caption="Loop Function" enum="ident""abs""absrecip""sqr""sqr+""sqr-"\ "recip""crd""abscrd""acrd""absacrd"\ "Mandelbrot""Mandelbrot2""Julia""Julia2"\ "absMandelbrot""absMandelbrot2"\ "absJulia""absJulia2""Munster"\ "MagnetM""MagnetM2""MagnetJ""MagnetJ2"\ "NovaM""NovaJ"\ "sqrMunster""absMunster""recipMunster""crdMunster" default=0 endparam param p1 caption="Julia Seed" default=(-1.25,0) visible=(@fn2==13 || @fn2==14 || @fn2==17 || @fn2==18) endparam param p2 caption="Munster Seed" default=(1,0) visible=(@fn2==19 || @fn2==26 || @fn2==27 || @fn2==28 || @fn2==29) endparam param p3 caption="Magnet Seed" default=(0,0) visible=(@fn2==22 || @fn2==23) endparam param p4 caption="Nova Seed" default=(-0.5,0) visible=@fn2==25 endparam heading endheading param bailout caption="Bailout" default=0.0000001 endparam } Lebromtag{ init: z=fn1(pixel) loop: z=p1*2*((z-1)*fn2(pixel)^z+1)/(pixel*z^(z-1)) bailout: |pixel^z-1|>@bail default: title="Lebromtag" center=(2,0.001) periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.0000001 endparam } NewtonKlein{ init: z=fn1(pixel) c1=fn2(tan(real(p1)+1)) c2=fn2(tan(imag(p1)+1)) c3=fn2(tan(p1-1)) loop: zold=z a=fn3(z) if |a+c1|@bail default: title="Newton Klein" center=(0.001,0.001) periodicity=0 func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } NewtonVariation12{ init: z=pixel+1/(fn1(p2*pixel-p1))+1/(fn2(p2*pixel-p1)) loop: zold=z if @V=="Newton" z=z-p3*(z^3-1)/(3*z^2) if @F3=="ident" z=ident(z) elseif @F3=="sin" z=sin(z) elseif @F3=="asin" z=asin(z) elseif @F3=="asin*" z=asin(z)*z elseif @F3=="asinh^2" z=sqr(asinh(z)) elseif @F3=="cos" z=cos(z) elseif @F3=="coshc" z=cosh(z)/z elseif @F3=="acoshc" z=acosh(z)/z elseif @F3=="tan" z=tan(z) elseif @F3=="tanc" z=tan(z)/z elseif @F3=="cotan+" z=cotan(z)+z elseif @F3=="cotanc" z=cotan(z)/z elseif @F3=="cotanhc" z=cotanh(z)/z elseif @F3=="cosec" z=1/sin(z) elseif @F3=="cosech" z=1/sinh(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="logsqr" z=log(sqr(z)) elseif @F3=="flipsqr" z=flip(sqr(z)) elseif @F3=="cube" z=z^3 elseif @F3=="flipcube" z=flip(z^3) elseif @F3=="log" z=log(z) elseif @F3=="logc" z=log(z)/z elseif @F3=="log^2" z=sqr(log(z)) elseif @F3=="abs" z=abs(z) elseif @F3=="logabs" z=log(abs(z)) elseif @F3=="recipabs" z=recip(abs(z)) elseif @F3=="abs^2" z=sqr(abs(z)) elseif @F3=="conj" z=conj(z) elseif @F3=="recipconj" z=recip(conj(z)) elseif @F3=="flip^2" z=sqr(flip(z)) elseif @F3=="recip" z=recip(z) elseif @F3=="recip+" z=recip(z)+z elseif @F3=="recip^2" z=sqr(recip(z)) elseif @F3=="primecount" z= z/log(z) endif elseif @V=="Nova" z=z-p3*(z^3-1)/(3*z^2)+pixel if @F4=="ident" z=ident(z) elseif @F4=="third" z=z/3 elseif @F4=="half" z=z/2 elseif @F4=="asin" z=asin(z) elseif @F4=="asin*" z=asin(z)*z elseif @F4=="haasin" z=asin(z)/2 elseif @F4=="asinh" z=asinh(z) elseif @F4=="haasinh" z=asinh(z)/2 elseif @F4=="tan" z=tan(z) elseif @F4=="tantan" z=tan(tan(z)) elseif @F4=="tanc" z=tan(z)/z elseif @F4=="tanhc" z=tanh(z)/z elseif @F4=="doubletanh" z=2*tanh(z) elseif @F4=="cotan+" z=cotan(z)+z elseif @F4=="cotanc" z=cotan(z)/z elseif @F4=="cotanhc" z=cotanh(z)/z elseif @F4=="cotancotan" z=cotan(cotan(z)) elseif @F4=="cotanhcotanh" z=cotanh(cotanh(z)) elseif @F4=="sqr" z=sqr(z) elseif @F4=="hasqr" z=sqr(z)/2 elseif @F4=="sqr+" z=sqr(z)+z elseif @F4=="sqrt" z=sqrt(z) elseif @F4=="sqrt*" z=sqrt(z)*z elseif @F4=="hasqrt" z=sqrt(z)/2 elseif @F4=="loglog" z=log(log(z)) elseif @F4=="abs^2" z=sqr(abs(z)) elseif @F4=="abs*" z=abs(z)*z elseif @F4=="exp+" z=exp(z)+z elseif @F4=="conj^2" z=sqr(conj(z)) elseif @F4=="flip^2" z=sqr(flip(z)) elseif @F4=="recip" z=recip(z) elseif @F4=="recipc" z=recip(z)/z elseif @F4=="doublerecip" z=2*recip(z) elseif @F4=="recip+" z=recip(z)+z elseif @F4=="mf1" z=(exp(z)-pixel)/(exp(z)+pixel) elseif @F4=="mf2" z=(sqr(z)-pixel)*(sqr(z)+pixel) elseif @F4=="mf3" z=(sqrt(z)-pixel)*(sqrt(z)+pixel) elseif @F4=="mf4" z=(abs(z)-pixel)*(abs(z)+pixel) elseif @F4=="mf5" z=(z-pixel)*(z+pixel) elseif @F4=="mf6" z=(exp(z)+pixel)/(exp(z)-pixel) elseif @F4=="mf7" z=(z+recip(z))/(2*recip(z)) elseif @F4=="mf8" z=(sqr(z)+pixel)/(z-1) elseif @F4=="mf9" z=pixel/(z-1) endif endif bailout: |zold-z|>@bail default: title="Newton Variation 12" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Newton""Nova" default=0 endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="Start Parameter 1" default=(1,0) endparam param p2 caption="Start Parameter 2" default=(1,0) endparam param F3 caption="Loop Function" enum="ident""sin""asin""asin*""asinh^2""cos""coshc""acoshc""tan"\ "tanc""cotan+""cotanc""cotanhc""cosec""cosech""sqr""logsqr""flipsqr""cube""flipcube"\ "log""logc""log^2""exp+""abs""logabs""recipabs""abs^2""conj""recipconj""flip^2"\ "recip""recip+""recip^2""primecount" default=0 visible=@V==0 endparam param F4 caption="Loop Function" enum="ident""third""half""asin""asin*""haasin""asinh""haasinh""tan"\ "tantan""tanc""tanhc""doubletanh""cotan+""cotanc""cotanhc""cotancotan"\ "cotanhcotanh""sqr""hasqr""sqr+""sqrt""sqrt*""hasqrt"\ "loglog""abs^2""abs*""exp+""conj^2""flip^2""recip""recipc"\ "doublerecip""recip+""mf1""mf2""mf3""mf4""mf5""mf6""mf7""mf8""mf9" default=0 visible=@V==1 endparam param p3 caption="Loop Parameter" default=(1,0) endparam param bail caption="Bailout" default=0.0000001 endparam } NovaM{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cube+" z=pixel^3+pixel^2+pixel elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="logc" z=log(pixel)/pixel elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="cologC" z=-log(pixel)/pixel elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="flipc" z=flip(pixel)/pixel elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) endif loop: zold=z if @fn2=="ident" z=z-p1*(z^3-1)/(3*z^2)+ident(pixel) elseif @fn2=="flip" z=z-p1*(z^3-1)/(3*z^2)+flip(pixel) elseif @fn2=="conj" z=z-p1*(z^3-1)/(3*z^2)+conj(pixel) elseif @fn2=="cabs" z=z-p1*(z^3-1)/(3*z^2)+cabs(pixel) elseif @fn2=="abs" z=z-p1*(z^3-1)/(3*z^2)+abs(pixel) elseif @fn2=="exp" z=z-p1*(z^3-1)/(3*z^2)+exp(pixel) elseif @fn2=="log" z=z-p1*(z^3-1)/(3*z^2)+log(pixel) elseif @fn2=="sqrt" z=z-p1*(z^3-1)/(3*z^2)+sqrt(pixel) elseif @fn2=="sqr" z=z-p1*(z^3-1)/(3*z^2)+sqr(pixel) elseif @fn2=="sqr+" z=z-p1*(z^3-1)/(3*z^2)+sqr(pixel)+pixel elseif @fn2=="cube" z=z-p1*(z^3-1)/(3*z^2)+pixel^3 elseif @fn2=="cube+" z=z-p1*(z^3-1)/(3*z^2)+pixel^3+sqr(pixel)+pixel elseif @fn2=="cuberoot" z=z-p1*(z^3-1)/(3*z^2)+pixel^(1/3) elseif @fn2=="abs+" z=z-p1*(z^3-1)/(3*z^2)+abs(pixel)+pixel elseif @fn2=="flip*" z=z-p1*(z^3-1)/(3*z^2)+flip(pixel)*pixel elseif @fn2=="cabs*" z=z-p1*(z^3-1)/(3*z^2)+cabs(pixel)*pixel elseif @fn2=="exp*" z=z-p1*(z^3-1)/(3*z^2)+exp(pixel)*pixel elseif @fn2=="log*" z=z-p1*(z^3-1)/(3*z^2)+log(pixel)*pixel elseif @fn2=="abs*" z=z-p1*(z^3-1)/(3*z^2)+abs(pixel)*pixel elseif @fn2=="cos*" z=z-p1*(z^3-1)/(3*z^2)+cos(pixel)*pixel elseif @fn2=="primecount" z=z-p1*(z^3-1)/(3*z^2)+pixel/log(pixel) endif bailout: |zold-z|>@bail default: title="Nova M" center=(0.001,0.001) magn=2 periodicity=0 param Fs caption="Start Function" enum="ident"\ "aversin""ahaversin""coversin""acoversin""hacoversin" \ "acosh"\ "acotan""acotanh" \ "cotanc"\ "acosec""acosech""aexsec"\ "excosec""aexcosec"\ "sqr""sqr+""sqrt""cube""cube+""cuberoot"\ "log""logc""colog""cologc""abs""cabs""conj""flip""flipc""recip"\ "logit""expit"\ "primecount" default=0 endparam param fn2 caption="Loop Function" enum="ident""flip""conj""cabs""abs""exp""log"\ "sqrt""sqr""sqr+""cube""cube+""cuberoot""abs+"\ "flip*""cabs*""exp*""log*""abs*""cos*""primecount" default=0 endparam param p1 caption="Seed" default=(1,0) endparam param bail caption="Bailout" default=0.0000001 endparam } Osambria{ init: z=fn1(pixel) a=2*pi/3 c1=exp((0,0)*a) c2=exp((0,1)*a) c3=exp((0,2)*a) r=sqrt(p3)/2 loop: if @fn2=="ident" z=ident(z) elseif @fn2=="crd" z=2*sin(z/2) elseif @fn2=="acrd" z=2*asin(z/2) elseif @fn2=="half" z=z/2 elseif @fn2=="asinhcrd" z=asinh(2*sin(z/2)) elseif @fn2=="abscrd" z=abs(2*sin(z/2)) elseif @fn2=="sinhsin" z=sinh(sin(z)) elseif @fn2=="tansin" z=tan(sin(z)) elseif @fn2=="sintan" z=sin(tan(z)) elseif @fn2=="xfn1" z=2*sin(z/3) elseif @fn2=="xfn2" z=3*sin(z/2) endif if |z-c1|<|r| z=p1*(r*conj(r/(z-c1))+c1) elseif |z-c2|<|r| z=p1*(r*conj(r/(z-c2))+c2) elseif |z-c3|<|r| z=p1*(r*conj(r/(z-c3))+c3) endif z=conj(1/(z-p2))+p2 z=(1-sin(z))/2 bailout: |z|<@bail default: title="Osambria" center=(0.001,0.001) maxiter=500 func fn1 default=ident() endfunc param fn2 caption="Function 2" enum="ident""crd""acrd""half""asinhcrd""abscrd"\ "sinhsin""tansin""sintan""xfn1""xfn2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=3.0 endparam param bail caption="Bailout" default=4.0 endparam } dav-tdds3dwithparameters{ ; Formula by Davka, from dav.ufm ; Parameters added by Otto Magus Sept 2016 ; Time-discrete dynamical system. ; From Pickover. init: if @Fs=="ident" float x=real(ident(pixel)) float y=imag(ident(pixel)) elseif @Fs=="sin" float x=real(sin(pixel)) float y=imag(sin(pixel)) elseif @Fs=="sin 2" float x=sin(real(pixel)) float y=sin(imag(pixel)) elseif @Fs=="sinsin" float x=sin(sin(real(pixel))) float y=sin(sin(imag(pixel))) elseif @Fs=="sinc" float x=sin(real(pixel))/real(pixel) float y=sin(imag(pixel))/imag(pixel) elseif @Fs=="sinh" float x=real(sinh(pixel)) float y=imag(sinh(pixel)) elseif @Fs=="asinh" float x=asinh(real(pixel)) float y=asinh(imag(pixel)) elseif @Fs=="asinh-" float x=asinh(real(pixel))-real(pixel) float y=asinh(imag(pixel))-imag(pixel) elseif @Fs=="asinhsin" float x=asinh(real(sin(pixel))) float y=asinh(imag(sin(pixel))) elseif @Fs=="asinhtan" float x=asinh(tan(real(pixel))) float y=asinh(tan(imag(pixel))) elseif @Fs=="asinhsec" float x=asinh(1/cos(real(pixel))) float y=asinh(1/cos(imag(pixel))) elseif @Fs=="asinhsec-" float x=asinh(1/cos(real(pixel))-real(pixel)) float y=asinh(1/cos(imag(pixel))-imag(pixel)) elseif @Fs=="asinhsec*" float x=asinh(1/cos(real(pixel)) *real(pixel)) float y=asinh(1/cos(imag(pixel)) *imag(pixel)) elseif @Fs=="asinhsecc" float x=asinh(1/(real(pixel)*cos(real(pixel)))) float y=asinh(1/(imag(pixel)*cos(imag(pixel)))) elseif @Fs=="cos" float x=real(cos(pixel)) float y=imag(cos(pixel)) elseif @Fs=="cos 2" float x=cos(real(pixel)) float y=cos(imag(pixel)) elseif @Fs=="coscos" float x=cos(cos(real(pixel))) float y=cos(cos(imag(pixel))) elseif @Fs=="cosc" float x=cos(real(pixel))/real(pixel) float y=cos(imag(pixel))/imag(pixel) elseif @Fs=="cosh" float x=cosh(real(pixel)) float y=cosh(imag(pixel)) elseif @Fs=="acosh" float x=acosh(real(pixel)) float y=acosh(imag(pixel)) elseif @Fs=="tan" float x=tan(real(pixel)) float y=tan(imag(pixel)) elseif @Fs=="tantan" float x=tan(tan(real(pixel))) float y=tan(tan(imag(pixel))) elseif @Fs=="tanc" float x=tan(real(pixel))/real(pixel) float y=tan(imag(pixel))/imag(pixel) elseif @Fs=="cotan" float x=cotan(real(pixel)) float y=cotan(imag(pixel)) elseif @Fs=="sec" float x=1/cos(real(pixel)) float y=1/cos(imag(pixel)) elseif @Fs=="secsec" float x=1/cos(1/(cos(real(pixel)))) float y=1/cos(1/(cos(imag(pixel)))) elseif @Fs=="sec-" float x=1/cos(real(pixel)) -real(pixel) float y=1/cos(imag(pixel)) -imag(pixel) elseif @Fs=="sec-asinh" float x=1/cos(asinh(real(pixel))) -asinh(real(pixel)) float y=1/cos(asinh(imag(pixel))) -asinh(imag(pixel)) elseif @Fs=="sec*" float x=1/cos(real(pixel)) *real(pixel) float y=1/cos(imag(pixel)) *imag(pixel) elseif @Fs=="sec*sec*" float x=1/cos(1/(cos(real(pixel)))*real(pixel))*real(pixel) float y=1/cos(1/(cos(imag(pixel)))*imag(pixel))*imag(pixel) elseif @Fs=="sec*asinh" float x=1/cos(asinh(real(pixel))) *asinh(real(pixel)) float y=1/cos(asinh(imag(pixel))) *asinh(imag(pixel)) elseif @Fs=="secc" float x=1/(real(pixel)*cos(real(pixel))) float y=1/(imag(pixel)*cos(imag(pixel))) elseif @Fs=="seccsecc" float x=1/(cos(1/(real(pixel)*cos(real(pixel))))*real(pixel)) float y=1/(cos(1/(imag(pixel)*cos(imag(pixel))))*imag(pixel)) elseif @Fs=="seccasinh" float x=1/(asinh(real(pixel))*cos(asinh(real(pixel)))) float y=1/(asinh(imag(pixel))*cos(asinh(imag(pixel)))) elseif @Fs=="sqr" float x=real(sqr(pixel)) float y=imag(sqr(pixel)) elseif @Fs=="sqr 2" float x=sqr(real(pixel)) float y=sqr(imag(pixel)) elseif @Fs=="cube" float x=real(pixel^3) float y=imag(pixel^3) elseif @Fs=="cube 2" float x=real(pixel)^3 float y=imag(pixel)^3 elseif @Fs=="cube+" float x=real(pixel^3+pixel) float y=imag(pixel^3+pixel) elseif @Fs=="exp" float x=real(exp(pixel)) float y=imag(exp(pixel)) elseif @Fs=="abs" float x=real(abs(pixel)) float y=imag(abs(pixel)) elseif @Fs=="smoothstep" float x=real(3*pixel^2-2*pixel^3) float y=imag(3*pixel^2-2*pixel^3) elseif @Fs=="softplus" float x=real(log(1+exp(pixel))) float y=imag(log(1+exp(pixel))) elseif @Fs=="sqrabs" float x=real(sqr(abs(pixel))) float y=imag(sqr(abs(pixel))) elseif @Fs=="sqrrecip" float x=real(sqr(recip(pixel))) float y=imag(sqr(recip(pixel))) elseif @Fs=="sqrexp" float x=real(sqr(exp(pixel))) float y=imag(sqr(exp(pixel))) elseif @Fs=="sqr-" float x=real(sqr(pixel)-pixel) float y=imag(sqr(pixel)-pixel) elseif @Fs=="cube-" float x=real(pixel^3-pixel) float y=imag(pixel^3-pixel) elseif @Fs=="flip/exp" float x=real(flip(pixel)/exp(pixel)) float y=imag(flip(pixel)/exp(pixel)) elseif @Fs=="mf1" float x=real(2*pixel+sqr(pixel)) float y=imag(2*pixel+sqr(pixel)) elseif @Fs=="mf2" float x=real(3*pixel+2*sqr(pixel)+pixel^3) float y=imag(3*pixel+2*sqr(pixel)+pixel^3) elseif @Fs=="mf3" float x=real(4*pixel+3*sqr(pixel)+2*pixel^3+pixel^4) float y=imag(4*pixel+3*sqr(pixel)+2*pixel^3+pixel^4) elseif @Fs=="mf4" float x=real(pixel)+sqr(real(pixel)) float y=imag(pixel)+sqr(imag(pixel)) elseif @Fs=="mf5" float x=real(pixel)+sqr(real(pixel))+real(pixel)^3 float y=imag(pixel)+sqr(imag(pixel))+imag(pixel)^3 elseif @Fs=="mf6" float x=3*real(pixel)+2*sqr(real(pixel))+real(pixel)^3 float y=3*imag(pixel)+2*sqr(imag(pixel))+imag(pixel)^3 elseif @Fs=="mf7" float x=real(pixel)^4+real(pixel) float y=imag(pixel)^4+imag(pixel) elseif @Fs=="mf8" float x=real(pixel)^4+4*real(pixel) float y=imag(pixel)^4+4*imag(pixel) elseif @Fs=="mf9" float x=real(pixel)^5+5*real(pixel) float y=imag(pixel)^5+5*imag(pixel) elseif @Fs=="mf10" float x=real(pixel)+2*real(pixel)^2 float y=imag(pixel)+2*imag(pixel)^2 elseif @Fs=="mf11" float x=real(pixel)+2*real(pixel)^2+3*real(pixel)^3 float y=imag(pixel)+2*imag(pixel)^2+3*imag(pixel)^3 elseif @Fs=="mf12" float x=sqr(real(pixel))*(real(pixel)-2)/(1-2*real(pixel)) float y=sqr(imag(pixel))*(imag(pixel)-2)/(1-2*imag(pixel)) elseif @Fs=="mf13" float x=3*real(pixel)^8+5*real(pixel)^5+8*real(pixel)^3 float y=3*imag(pixel)^8+5*imag(pixel)^5+8*imag(pixel)^3 elseif @Fs=="crd" float x=2*sin(real(pixel)/2) float y=2*sin(imag(pixel)/2) elseif @Fs=="agd" float x=asinh(tan(real(pixel))) float y=asinh(tan(imag(pixel))) else float x=asinh(tan(real(pixel)))*real(pixel) float y=asinh(tan(imag(pixel)))*imag(pixel) endif loop: float oldx=p1*0.1*x +0.1*real(p3) float oldy=p1*0.1*y +0.1*imag(p3) if @V==0 x=oldx-0.1*(sin(oldy^2+sin(3*oldy)))+(p2*0.05) y=oldy+0.1*(sin(oldx^2+sin(3*oldx)))+(p2*0.05) elseif @V==1 x=oldx-0.1*(cos(oldy^2+cos(3*oldy)))+(p2*0.05) y=oldy+0.1*(cos(oldx^2+cos(3*oldx)))+(p2*0.05) elseif @V==2 x=oldx-0.1*(sin(oldy^2+cos(3*oldy)))+(p2*0.05) y=oldy+0.1*(sin(oldx^2+cos(3*oldx)))+(p2*0.05) elseif @V==3 x=oldx-0.1*(cos(oldy^2+sin(3*oldy)))+(p2*0.05) y=oldy+0.1*(cos(oldx^2+sin(3*oldx)))+(p2*0.05) elseif @V==4 x=oldx-0.1*(sin(oldy^2+sin(3*oldy)))+(p2*0.05) y=oldy+0.1*(cos(oldx^2+cos(3*oldx)))+(p2*0.05) elseif @V==5 x=oldx-0.1*(cos(oldy^2+cos(3*oldy)))+(p2*0.05) y=oldy+0.1*(sin(oldx^2+sin(3*oldx)))+(p2*0.05) elseif @V==6 x=oldx-0.1*(cos(oldy^2+abs(3*oldy)))+(p2*0.05) y=oldy+0.1*(cos(oldx^2+abs(3*oldx)))+(p2*0.05) endif z=x+flip(y) if @F2=="ident" z=ident(z) elseif @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="vercos" z=1+cos(z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="covercos" z=1+sin(z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="exp" z=exp(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="x^y" z=x^y elseif @F2=="y^x" z=y^x elseif @F2=="(x^y)^(y^x)" z=(x^y)^(y^x) elseif @F2=="(y^x)^(x^y)" z=(y^x)^(x^y) elseif @F2=="*pixelcubed" z=z*pixel^3 elseif @F2=="/pixelcubed" z=z/pixel^3 endif bailout: (@Bt==0 && |z|<@baildiv) ||\ (@Bt==1 && sqr(real(z))<@baildiv) ||\ (@Bt==2 && sqr(imag(z))<@baildiv) ||\ (@Bt==3 && (sqr(real(z))<@baildiv && sqr(imag(z))<@baildiv)) ||\ (@Bt==4 && (sqr(real(z))<@baildiv || sqr(imag(z))<@baildiv)) ||\ (@Bt==5 && (sqr(abs(real(z))+abs(imag(z)))<@baildiv)) ||\ (@Bt==6 && (sqr(real(z)+imag(z))<@baildiv)) default: title="tdds3d with parameters" center=(0.001,0.001) param V caption="Variant" enum="a""b""c""d""e""f""g" default=0 endparam param Fs caption="Start Function" enum="ident""sin""sin 2""sinsin""sinc""sinh"\ "asinh""asinh-""asinhsin""asinhtan""asinhsec""asinhsec-""asinhsec*""asinhsecc"\ "cos""cos 2""coscos""cosc""cosh""acosh"\ "tan""tantan""tanc""cotan"\ "sec""secsec""sec-""sec-asinh""sec*""sec*sec*""sec*asinh""secc""seccsecc""seccasinh"\ "sqr""sqr 2""cube""cube 2""cube+"\ "exp""abs""smoothstep""softplus"\ "sqrabs""sqrrecip""sqrexp""sqr-""cube-"\ "flip/exp""mf1""mf2""mf3""mf4""mf5""mf6"\ "mf7""mf8""mf9""mf10""mf11""mf12""mf13"\ "crd""agd""agd*" default=34 endparam param F2 caption="loop Function" enum="ident""sin""sinh""versin""haversin"\ "cos""cosh""vercos""havercos""covercos"\ "hacovercos""tan""tanh""cotan""cotanh" \ "exsec""excosec"\ "sqr""sqrt"\ "cube""cuberoot""exp"\ "logit""expit""gauss""softplus""primecount"\ "x^y""y^x""(x^y)^(y^x)""(y^x)^(x^y)""*pixelcubed""/pixelcubed" default=17 endparam param p1 caption="Parameter 1" default=10.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param p3 default=(0,0) endparam param Bt caption="Bailout Type" enum="mod""real""imag""and""or""manh""manr" default=0 endparam param baildiv caption="Bailout Value" default=1000.00 endparam } f676(zaslavskii){ ;https://en.wikipedia.org/wiki/Zaslavskii_map init: z=fn1(#pixel) loop: x=(real(z)+p1*(1+((1-e^(-p3))/p3)*imag(z))+p2*p1*((1-e^(-p3))/p3)*cos(2*pi*real(z)))%1 y=e^(-p3)*(imag(z)+p2*cos(2*pi*real(z))) z=@fn(x+flip(y))+p4 bailout: |z|<@bail default: title="Zaslavskii" center=(0.001,0.001) maxiter=500 func fn1 default=ident() endfunc func fn caption="Function 2" default=ident() endfunc param p1 default=-1.23461 endparam param p2 default=-0.16167 endparam param p3 default=-0.034 endparam param p4 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } QuavintRewNetteras{ init: z=fn1(pixel) loop: zold=z z=recip(sqr(z-p1*(z^z-1)/(z*z^(z-1)))) if @F2=="ident" z=ident(z) elseif @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="abs" z=abs(z) elseif @F2=="recip" z=recip(z) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="quarter" z=z/4 elseif @F2=="third" z=z/3 elseif @F2=="half" z=z/2 elseif @F2=="double" z=2*z elseif @F2=="triple" z=3*z elseif @F2=="quadruple" z=4*z elseif @F2=="cotanc" z=cotan(z)/z elseif @F2=="cotanhc" z=cotanh(z)/z elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="cosecc" z=1/(z*sin(z)) elseif @F2=="*pixel" z=z*pixel elseif @F2=="/pixel" z=z/pixel elseif @F2=="tansin" z=tan(sin(z)) elseif @F2=="abssin" z=abs(sin(z)) elseif @F2=="sinhsinh" z=sinh(sinh(z)) elseif @F2=="asinsinh" z=asin(sinh(z)) elseif @F2=="asinhasin" z=asinh(asin(z)) elseif @F2=="absasin" z=abs(asin(z)) elseif @F2=="sinasinh" z=sin(asinh(z)) elseif @F2=="asinasinh" z=asin(asinh(z)) elseif @F2=="asinhasinh" z=asinh(asinh(z)) elseif @F2=="absasinh" z=abs(asinh(z)) elseif @F2=="absasinhasin" z=abs(asinh(asin(z))) elseif @F2=="absasinasinh" z=abs(asin(asinh(z))) elseif @F2=="asinhquarter" z=asinh(z/4) elseif @F2=="doublesinh" z=2*sinh(z) elseif @F2=="doubleasin" z=2*asin(z) elseif @F2=="abs*pixel" z=abs(z)*pixel elseif @F2=="sinasinh/pixel" z=sin(asinh(z))/pixel elseif @F2=="asinasindoublesinh" z=asin(asin(2*sinh(z))) elseif @F2=="absasinsqr" z=abs(asin(sqr(z))) elseif @F2=="absasincrd" z=abs(asin(2*sin(z/2))) elseif @F2=="absasinasinhasinh" z=abs(asin(asinh(asinh(z)))) elseif @F2=="asinrecipabsasin" z=asin(recip(abs(asin(Z)))) endif bailout: |zold-z|>@bail default: title="Quavint Rew Netteras" center=(1.7,0.001) periodicity=0 magn=0.5 angle=90 func fn1 caption="Start Function" default=ident() endfunc param F2 caption="Loop Function" enum="ident""sin""sinh""asin""asinh"\ "cotan""cotanh""sqr""abs""recip" \ "crd""acrd""quarter""third"\ "half""double""triple""quadruple"\ "cotanc""cotanhc""secc""cosecc"\ "*pixel""/pixel"\ "tansin""abssin""sinhsinh""asinsinh"\ "asinhasin""absasin""sinasinh""asinasinh"\ "asinhasinh""absasinh"\ "absasinhasin""absasinasinh""asinhquarter"\ "doublesinh""doubleasin""abs*pixel""sinasinh/pixel"\ "asinasindoublesinh""absasinsqr""absasincrd"\ "absasinasinhasinh""asinrecipabsasin" default=29 endparam param p1 caption="Parameter" default=(1,0) endparam param bail caption="Bailout" default=0.0000001 endparam } z^2+Curve{ init: z=fn1(pixel) x=real(pixel) y=imag(pixel) loop: if @Fs=="sin" z=sin(z) elseif @Fs=="sinh" z=sinh(z) elseif @Fs=="asin" z=asin(z) elseif @Fs=="asinh" z=asinh(z) elseif @Fs=="cos" z=cos(z) elseif @Fs=="cosh" z=cosh(z) elseif @Fs=="acos" z=acos(z) elseif @Fs=="acosh" z=acosh(z) elseif @Fs=="tan" z=tan(z) elseif @Fs=="tanh" z=tanh(z) elseif @Fs=="atan" z=atan(z) elseif @Fs=="atanh" z=atanh(z) elseif @Fs=="cotan" z=cotan(z) elseif @Fs=="cotanh" z=cotanh(z) elseif @Fs=="sqr" z=sqr(z) elseif @Fs=="sqrt" z=sqrt(z) elseif @Fs=="log" z=log(z) elseif @Fs=="exp" z=exp(z) elseif @Fs=="abs" z=abs(z) elseif @Fs=="cabs" z=cabs(z) elseif @Fs=="conj" z=conj(z) elseif @Fs=="flip" z=flip(z) elseif @Fs=="ident" z=ident(z) elseif @Fs=="recip" z=recip(z) elseif @Fs=="versin" z=1-cos(z) elseif @Fs=="aversin" z=acos(1-z) elseif @Fs=="haversin" z=(1-cos(z))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(z)) elseif @Fs=="coversin" z=1-sin(z) elseif @Fs=="acoversin" z=asin(1-z) elseif @Fs=="hacoversin" z=(1-sin(z))/2 elseif @Fs=="vercos" z=1+cos(z) elseif @Fs=="avercos" z=acos(1+z) elseif @Fs=="havercos" z=(1+cos(z))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(z)) elseif @Fs=="covercos" z=1+sin(z) elseif @Fs=="acovercos" z=asin(1+z) elseif @Fs=="hacovercos" z=(1+sin(z))/2 elseif @Fs=="acotan" z=atan(1/(z)) elseif @Fs=="acotanh" z=atanh(1/(z)) elseif @Fs=="sec" z=1/cos(z) elseif @Fs=="sech" z=1/cosh(z) elseif @Fs=="asec" z=acos(1/z) elseif @Fs=="asech" z=acosh(1/z) elseif @Fs=="cosec" z=1/sin(z) elseif @Fs=="cosech" z=1/sinh(z) elseif @Fs=="acosec" z=asin(1/z) elseif @Fs=="acosech" z=asinh(1/z) elseif @Fs=="exsec" z=1/cos(z)-1 elseif @Fs=="aexsec" z= acos(1/(z+1)) elseif @Fs=="excosec" z=1/sin(z)-1 elseif @Fs=="aexcosec" z=asin(1/(z+1)) elseif @Fs=="crd" z=2*sin(z/2) elseif @Fs=="acrd" z=2*asin(z/2) elseif @Fs=="gd" z=asin(tanh(z)) elseif @Fs=="agd" z=asinh(tan(z)) elseif @Fs=="sinc" z=sin(z)/(z) elseif @Fs=="sinhc" z=sinh(z)/(z) elseif @Fs=="cosc" z=cos(z)/(z) elseif @Fs=="coshc" z=cosh(z)/(z) elseif @Fs=="tanc" z=tan(z)/(z) elseif @Fs=="tanhc" z=tanh(z)/(z) elseif @Fs=="cotanc" z=cotan(z)/(z) elseif @Fs=="cotanhc" z=cotanh(z)/(z) elseif @Fs=="secc" z=1/(z*cos(z)) elseif @Fs=="sechc" z=1/(z*cosh(z)) elseif @Fs=="cosecc" z= 1/(z*sin(z)) elseif @Fs=="cosechc" z=1/(z*sinh(z)) elseif @Fs=="cube" z=z^3 elseif @Fs=="cuberoot" z=z^(1/3) elseif @Fs=="colog" z=-log(z) elseif @Fs=="logit" z= log(z/(1-z)) elseif @Fs=="expit" z=1/(1+exp(-z)) elseif @Fs=="gauss" z=exp(-sqr(z)) elseif @Fs=="softplus" z=log(1+exp(z)) elseif @Fs=="primecount" z=z/log(z) elseif @Fs=="sqr+" z=sqr(z)+z elseif @Fs=="cube+" z=z^3+sqr(z)+z elseif @Fs=="sin+" z=sin(z)+z elseif @Fs=="cos+" z=cos(z)+z elseif @Fs=="tan+" z=tan(z)+z elseif @Fs=="cotan+" z=cotan(z)+z elseif @Fs=="sec+" z=1/cos(z)+z elseif @Fs=="cosec+" z=1/sin(z)+z elseif @Fs=="sin*" z=sin(z)*z elseif @Fs=="cos*" z=cos(z)*z elseif @Fs=="tan*" z=tan(z)*z elseif @Fs=="cotan*" z=cotan(z)*z elseif @Fs=="sec*" z=z/cos(z) elseif @Fs=="cosec*" z=z/sin(z) elseif @Fs=="loglog" z=log(log(z)) elseif @Fs=="sinsin" z=sin(sin(z)) elseif @Fs=="coscos" z=cos(cos(z)) elseif @Fs=="+pixel" z=z+pixel elseif @Fs=="-pixel" z=z-pixel elseif @Fs=="*pixel" z=z*pixel elseif @Fs=="/pixel" z=z/pixel elseif @Fs=="ceil" z=ceil(z) elseif @Fs=="floor" z=floor(z) elseif @Fs=="trunc" z=trunc(z) else z=round(z) endif if @T=="Julia" if @trap=="Alain Curve" z=z^2+((x^2-y^2)^2-@a^2*x^2+@a2^2*y^2)+p6 elseif @trap=="Ampersand Curve" z=z^2+((y^2-x^2)*(x-1)*(2*x-3)-4*(x^2+y^2-2*x)^2)+p6 elseif @trap=="Arcs of Samothrace" z=z^2+(x^2*(3*x^2-y^2)^2-y^2*(x^2+y^2))+p6 elseif @trap=="Astroid" z=z^2+(x^(2/3)+y^(2/3)-@a^(2/3))+p6 elseif @trap=="Atriphthaloid" z=z^2+(x^4*(x^2+y^2)-(@a2*x^2-@a^3)^2)+p6 elseif @trap=="Bean Curve" z=z^2+((x^2+y^2)^2-x^3-y^3)+p6 elseif @trap=="Bean Curve 2" z=z^2+(x^4+x^2*y^2+y^4-x*(x^2+y^2))+p6 elseif @trap=="Beetle" z=z^2+((x^2+y^2)*(x^2+y^2-@a*x-@a2*y)-@a3^2*x^2*y^2)+p6 elseif @trap=="Biaxial Eight Reverse" z=z^2+(@a^2*y^2-x^2*(y^2-x^2))+p6 elseif @trap=="Bicorn" z=z^2+(y^2*(@a^2-x^2)-(x^2+2*@a*y-@a^2)^2)+p6 elseif @trap=="Bicuspid" z=z^2+((x^2-@a^2)*(x-@a)^2+(y^2-@a^2)^2)+p6 elseif @trap=="Biquartic" z=z^2+(x^8+4*x^6*y+y^3*(y-1)+3*x^4*y*(2*y-3)+2*x^2*y^2*(2*y+3))+p6 elseif @trap=="Blade's Cubic" z=z^2+(x^3+y^3-@a^3)+p6 elseif @trap=="Bolza" z=z^2+(y^2-x^5+x)+p6 elseif @trap=="Bow Curve" z=z^2+(x^4-(@a+1)*x^2*y+y^3)+p6 elseif @trap=="Bullet-Nose Curve" z=z^2+((@a^2-x^2)*(@a2^2+y^2)-@a^2*@a2^2)+p6 elseif @trap=="Butterfly Curve" z=z^2+(x^6+y^6-x^2)+p6 elseif @trap=="Butterfly Knot" z=z^2+((x^2+y^2)*x^4-(x^2-y^2)^2)+p6 elseif @trap=="Cardioid" z=z^2+((x^2+y^2-2*@a*x)^2-4*@a^2*(x^2+y^2))+p6 elseif @trap=="Cartesian Oval" z=z^2+((@a2-3.2)*sqrt((x-@a)^2+y^2)+@a3*sqrt((x+@a)^2+y^2)-@a4)+p6 elseif @trap=="Cassinian Ovals" z=z^2+((x^2+y^2)^2-2*@a^2*(x^2-y^2)+@a^4-@a2^4)+p6 elseif @trap=="Catenary" z=z^2+(y-@a*cosh(x/@a))+p6 elseif @trap=="Cayley's Sextic" z=z^2+(4*(x^2+y^2-@a*x)^3-27*@a^2*(x^2+y^2)^2)+p6 elseif @trap=="Cayley's Sextic 2" z=z^2+(-@a^3*x^3-48*@a*x*(x^2+y^2)^2+64*(x^2+y^2)^3-3*@a^2*(x^2+y^2)*(5*x^2+9*y^2))+p6 elseif @trap=="Ceva's Trisectrix" z=z^2+((x^2+y^2)^3-((@a+1)*x^2-(@a-1)*y^2)^2)+p6 elseif @trap=="Chasles Cubic" z=z^2+(y-@a*x^3-@a2*x^2*y-@a3*x*y^2-@a4*y^3)+p6 elseif @trap=="Circle" z=z^2+(x^2+y^2-@a^2)+p6 elseif @trap=="Circular Cubic" z=z^2+(x*(x^2+y^2)+@a*x^2+@a2*y^2+2*@a3*x+2*@a4*y+@a5)+p6 elseif @trap=="Cissoid of Diocles" z=z^2+(y^2-x^3/(2*@a-x))+p6 elseif @trap=="Cissoid of Diocles 2" z=z^2+(y^2*(2*@a-x)-x^8)+p6 elseif @trap=="Cissoid of Zahradnik" z=z^2+(@a3*x^2+2*@a4*x*y+(@a5+1)*y^2-2*@a*x-2*@a2*y)+p6 elseif @trap=="Clairaut Curve" z=z^2+((x^2+y^2)^((@a2+1)/2)-@a*y^@a2)+p6 elseif @trap=="Clinoid" z=z^2+(y-@a2*e^(x/@a)-@a3*e^(-x/@a))+p6 elseif @trap=="Cochleoid" z=z^2+((x^2+y^2)*atan(y/x)-@a*y)+p6 elseif @trap=="Conchoid of a Circle" z=z^2+((x^2+y^2+@a3^2-@a2^2)^2*(y^2+(x+@a)^2)-4*@a3^2*(x*(x+@a)+y^2)^2)+p6 elseif @trap=="Conchoid of Nicomedes" z=z^2+((x-@a2)^2*(x^2+y^2)-@a^2*x^2)+p6 elseif @trap=="Conchoid of de Sluze" z=z^2+(@a*(x+@a)*(x^2+y^2)-@a2^2*x^2)+p6 elseif @trap=="Conic Sections" z=z^2+(2*@a^2*x+(1-@a^2)*x^2+y^2-@a^2)+p6 elseif @trap=="Cornoid" z=z^2+((x^2+y^2)^3+@a^2*(3*x^4-6*x^2*y^2-5*y^4)+8*@a^4*y^2-4*@a^6)+p6 elseif @trap=="Cornoid 2" z=z^2+(x^6+y^6+3*x^4*y^2+3*x^2*y^4+3*x^4-5*y^4+8*y^2-4)+p6 elseif @trap=="Coscoid" z=z^2+(y-@a*cos(x)/x)+p6 elseif @trap=="Cosecantoid" z=z^2+(y-@a/sin(x/@a2))+p6 elseif @trap=="Cosinusoid" z=z^2+(y-@a*cos(x/@a2))+p6 elseif @trap=="Cotangentoid" z=z^2+(y-@a*cotan(x/@a2))+p6 elseif @trap=="Cross Curve" z=z^2+(@a^2*y^2+@a2^2*x^2-x^2*y^2)+p6 elseif @trap=="Cubic Joint" z=z^2+(y^2*x-@a*y^2-@a2*x^2)+p6 elseif @trap=="Cubic of Apollonius" z=z^2+((x-2*@a)*(x^2+y^2)+@a2^2*(cos(2*@a3*x)+sin(2*@a3*y)))+p6 elseif @trap=="Curve of Cramer" z=z^2+(x*(x^2+y^2)+(@a+1+@a2)*x^2-(@a+1-@a2)*y^2)+p6 elseif @trap=="Curve of Jefabek" z=z^2+((@a2+1)^2*(x^2+y^2-@a*x)^2-@a^2*(x^2+y^2)*(x-@a)^2)+p6 elseif @trap=="Curve of Loriga" z=z^2+(3*x^2-y^2-@a^2)+p6 elseif @trap=="Curve of Rosillo" z=z^2+(y^2*(@a3-x)^2-(@a2-x)^2*(@a^2-x^2))+p6 elseif @trap=="Deltoid" z=z^2+((x^2+y^2+12*@a*x+9*@a^2)-4*@a*(2*x+3*@a)^3)+p6 elseif @trap=="Deltoid 2" z=z^2+((x^2+y^2)^2+18*@a^2*(x^2+y^2)-27*@a^4-8*@a*x*(x^2-3*y^2))+p6 elseif @trap=="Devil's Curve" z=z^2+(y^4-x^4+@a*y^2+@a2*x^2)+p6 elseif @trap=="Devil's Curve 2" z=z^2+(y^4-x^4-@a^2*y^2+@a2^2*x^2)+p6 elseif @trap=="Dipole Curve" z=z^2+((x^2+y^2)^3-@a^4*x^2)+p6 elseif @trap=="Double Egg" z=z^2+((x^2+y^2)^3-@a^2*x^4)+p6 elseif @trap=="Double Egg 2" z=z^2+(x^4+2*x^2*y^2+4*y^4-x^3-6*x^2-x*y^2)+p6 elseif @trap=="Double Folium" z=z^2+((x^2+y^2)^2-4*@a*x*y^2)+p6 elseif @trap=="Double U" z=z^2+(y^2*(@a^2-x^2)-@a^4)+p6 elseif @trap=="Dumbbell Curve" z=z^2+(@a2^4*y^2-x^4*(@a^2-x^2))+p6 elseif @trap=="Duplicatrix Cubic" z=z^2+(@a*y^2-x^2*(x-@a))+p6 elseif @trap=="Durer's Conchoid" z=z^2+((x^2+x*y+@a*x-@a2^2)^2-(@a2^2-x^2)*(x-y+@a)^2)+p6 elseif @trap=="Durer's Conchoid 2" z=z^2+(2*y^2*(x^2+y^2)-2*@a2*y^2*(x+y)+(@a2^2-3*@a^2)*y^2-@a^2*x^2+2*@a^2*@a2*(x+y)+@a^2*(@a^2-@a2^2))+p6 elseif @trap=="Dwulistne" z=z^2+((x^2+y^2)^2-(@a*x+@a2*y)*x^2)+p6 elseif @trap=="Egg of Columbus" z=z^2+(y^4+10*y^2*x^2+5*x^4-y)+p6 elseif @trap=="Egg of Granville" z=z^2+(x^2*y^2-@a^2*(x-(@a2+1-@a3))*(@a2+1+@a3-x))+p6 elseif @trap=="Egg of Granville 2" z=z^2+(x^2*y^2-(x-(@a+0.5))*(1-x))+p6 elseif @trap=="Egg of Kepler" z=z^2+((x^2+y^2)^2-@a*x^3)+p6 elseif @trap=="Eight Curve" z=z^2+(x^4-@a^2*(x^2-y^2))+p6 elseif @trap=="Elkies Trinomial Curve" z=z^2+(y^2-x*(81*x^5+396*x^4+738*x^3+660*x^2+269*x+48))+p6 elseif @trap=="Ellipse" z=z^2+(x^2/@a^2+y^2/@a2^2-1)+p6 elseif @trap=="Fish Curve" z=z^2+((2*x^2+y^2)^2+2*sqrt(2)*@a*x*(2*x^2-3*y^2)+2*@a^2*(y^2-x^2))+p6 elseif @trap=="Focal Conic Conchoid" z=z^2+((x^2+y^2-@a*@a2*x)^2-(x^2+y^2)*(@a2*x-(@a+1))^2)+p6 elseif @trap=="Folium" z=z^2+((x^2+y^2)*(y^2+x*(x+@a2))-4*@a*x*y^2)+p6 elseif @trap=="Folium of Descartes" z=z^2+(x^3+y^3-3*@a*x*y)+p6 elseif @trap=="Folium of Durer" z=z^2+((x^2+y^2)*(2*(x^2+y^2)-@a^2)^2-@a^4*x^2)+p6 elseif @trap=="Frequency Curve" z=z^2+(y-sqrt(2*pi)*exp(-x^2/2))+p6 elseif @trap=="Heart Curve" z=z^2+((x^3+y^2-1)^3-x^2*y^3)+p6 elseif @trap=="Heart of Eugene Beutel" z=z^2+((x^2+y^2-1)^3-x^2*y^3)+p6 elseif @trap=="Heart of Raphael Laporte" z=z^2+(x^8-x^6+27*x^4-27*x^2+12*y*x^6-12*y*x^4+42*y^2*x^4+42*y^2*x^2+2*y^3*x^4+26*y^3*x^2+8*y^3+12*y^4*x^2+12*y^4+6*y^5+y^6)+p6 elseif @trap=="Hippopede" z=z^2+((x^2+y^2)^2-@a*x^2-@a2*y^2)+p6 elseif @trap=="Hippopede of Proclus" z=z^2+((x^2+y^2)^2+4*@a2*(@a2-@a)*(x^2+y^2)-4*@a2^2*x^2)+p6 elseif @trap=="Hoerl Curve" z=z^2+(y-x^@a*e^x)+p6 elseif @trap=="Humbert's Cubic" z=z^2+(x^3-3*x*y^2-@a^3)+p6 elseif @trap=="Hyperbola" z=z^2+(x^2/@a^2-y^2/@a2^2-1)+p6 elseif @trap=="Hyperbola 2" z=z^2+(x^2/@a^2-y^2/@a2^2+1)+p6 elseif @trap=="Hyperbolic Cosecantoid" z=z^2+(y-@a/sinh(x/@a2))+p6 elseif @trap=="Hyperbolic Cosinusoid" z=z^2+(y-@a*cosh(x/@a2))+p6 elseif @trap=="Hyperbolic Cotangentoid" z=z^2+(y-@a*cotanh(x/@a2))+p6 elseif @trap=="Hyperbolic Secantoid" z=z^2+(y-@a/cosh(x/@a2))+p6 elseif @trap=="Hyperbolic Sinusoid" z=z^2+(y-@a*sinh(x/@a2))+p6 elseif @trap=="Hyperbolic Tangentoid" z=z^2+(y-tanh(@a*x))+p6 elseif @trap=="Hyperelliptic Curve" z=z^2+(y^2-x*(x+1)*(x-3)*(x+2)*(x-2))+p6 elseif @trap=="Illumination Curve" z=z^2+(y^2-recip((x^2+1)^3))+p6 elseif @trap=="Inverse Nephroid" z=z^2+((@a^2-4*(x^2+y^2))^3-108*@a^2*x^2*(x^2+y^2))+p6 elseif @trap=="Isoptic Curve" z=z^2+(tan(@a)^2*(x+pi/2)^2-y^2+2*@a2*x)+p6 elseif @trap=="Kampyle of Eudoxus" z=z^2+(@a^2*x^4-@a2^4*(x^2+y^2))+p6 elseif @trap=="Kappa Curve" z=z^2+(y^2*(x^2+y^2)-@a^2*x^2)+p6 elseif @trap=="Kepler's Folium" z=z^2+(((x-@a2)^2+y^2)*(x*(x-@a2)+y^2)-4*@a*(x-@a2)*y^2)+p6 elseif @trap=="Kiepert Curve" z=z^2+((x^2+y^2)^3-@a^3*x*(x^2-3*y^2))+p6 elseif @trap=="Kieroid" z=z^2+(y^2*(x-@a)^2+x^2*(x-@a2)^2-@a3^2*x^2)+p6 elseif @trap=="Kiss Curve" z=z^2+(@a^4*y^2-(@a^2-x^2)^3)+p6 elseif @trap=="Klein Quartic" z=z^2+((x^2+y^2-@a2*@a^2)^2-@a3*@a*(y-@a+sqrt(3)*x)*(y-@a-sqrt(3)*x)*(2*y+@a))+p6 elseif @trap=="Kulp Quartic" z=z^2+(x^2*y^2-@a^2*(@a^2-y^2))+p6 elseif @trap=="Lemniscate of Bernoulli" z=z^2+((x^2+y^2)^2-@a^2*(x^2-y^2))+p6 elseif @trap=="Lemniscate of Booth" z=z^2+((x^2+y^2)^2-(2*@a^2+@a2)*x^2+(2*@a^2-@a2)*y^2)+p6 elseif @trap=="Limacon of Pascal" z=z^2+((x^2+y^2-@a*y)^2-(x^2+y^2))+p6 elseif @trap=="Limacon of Pascal 2" z=z^2+((x^2+y^2-@a*x)^2-@a2^2*(x^2+y^2))+p6 elseif @trap=="Links Curve" z=z^2+((x^2+y^2-3*x)^2-4*x^2*(2-x))+p6 elseif @trap=="Lissajous Curve" z=z^2+(2*(2*x^2-@a^2)^2-@a*(2*y-@a)^2*(y+@a))+p6 elseif @trap=="Lissajous Curve 2" z=z^2+(x^2*(4*x^2-3*@a^2)+4*@a^2*y^2*(y^2-@a^2))+p6 elseif @trap=="Lissajous Quadratic" z=z^2+(@a^4*y^4-4*@a^3*@a2*x*y^3+2*@a^2*@a2*y^3+6*@a^2*@a2^2*x^2*y^2 \ -4*@a*@a2^2*x*y^2-2*@a^3*x*y^2-2*@a^2*@a2^2*y^2+@a2^2*y^2+@a^2*y^2 \ -4*@a*@a2^3*x^3*y+2*@a2^3*x^2*y+4*@a^2*@a2*x^2*y+4*@a*@a2^3*x*y \ -2*@a2^3*y-4*@a^2*@a2*y+@a2^4*x^4-2*@a*@a2^2*x^3-2*@a2^4*x^2 \ +@a2^2*x^2+@a^2*x^2+2*@a*@a2^2*x-@a^2-@a2^2+@a2^4)+p6 elseif @trap=="Logarithmic Lemniscate" z=z^2+(y^2-x^2*log(@a^2/x^2))+p6 elseif @trap=="Logarithmic Sinusoid" z=z^2+(y-log(sqrt(1-x^2)))+p6 elseif @trap=="Logistic Growth Curve" z=z^2+(y-recip(1+@a*e^x))+p6 elseif @trap=="Maltese Cross Curve" z=z^2+(x*y*(x^2-y^2)-x^2-y^2)+p6 elseif @trap =="Neile's Semi-Cubical Parabola" z=z^2+(y^3-@a*x^2)+p6 elseif @trap =="Neile's Semi-Cubical Parabola 2" z=z^2+((x-0.5)^3-3*y^2)+p6 elseif @trap=="Nephroid" z=z^2+((x^2+y^2-4*@a^2)^3-108*@a^4*x^2)+p6 elseif @trap=="Nephroid of Freeth" z=z^2+((x^2+y^2)*(x*2+y^2-@a^2)^2-4*@a^2*(x^2+y^2-@a*x)^2)+p6 elseif @trap=="Newton's Diverging Parabolas" z=z^2+(@a*y^2-x*(x^2-2*@a2*x+@a3))+p6 elseif @trap=="Newton's Diverging Parabolas 2" z=z^2+(y^2-x*(x^2+2*@a*x+@a2))+p6 elseif @trap=="Nodal Curve" z=z^2+(x^2*y^2*(x^2+y^2)-(x^2-y^2)^2)+p6 elseif @trap=="Oblique Bifolium" z=z^2+((x^2+y^2)^2-x^2*(@a*x+@a2*y))+p6 elseif @trap=="Oblique Cappa" z=z^2+((x^2+y^2)*y^2-@a^2*(x*sin(@a2)+y*cos(@a2))^2)+p6 elseif @trap=="Oblique Cissoid" z=z^2+((x^2+y^2)*(x*cos(@a2)+y*sin(@a2))-2*@a*y^2)+p6 elseif @trap=="Oblique Pancappa" z=z^2+((y-@a)^2*(x^2+y^2)-(@a2*x+@a3*y)^2)+p6 elseif @trap=="Oblique Strophoid" z=z^2+(y*(x^2+y^2)-@a*(x^2-y^2)-2*@a2*x*y)+p6 elseif @trap=="Ophiuride" z=z^2+(x*(x^2+y^2)-@a2*x*y-@a*y^2)+p6 elseif @trap=="Parabola" z=z^2+(4*@a*(x-@a2)-(y-@a3)^2)+p6 elseif @trap=="Parabola 2" z=z^2+(x-@a*(y-@a2)^2-@a3)+p6 elseif @trap=="Parabola 3" z=z^2+(y-@a*x^2-@a2*x-@a3)+p6 elseif @trap=="Parabolic Trifolium" z=z^2+(x^2*(x^2+y^2)-(@a+5)*y*(x^2-y^2))+p6 elseif @trap=="Pear-Shaped Quartic" z=z^2+(@a2^2*y^2-x^3*(@a-x))+p6 elseif @trap=="Pearls of Sluze" z=z^2+(y^(@a2+1)-@a3*(@a-x)^@a4*x^@a5)+p6 elseif @trap=="Pursuit Curve" z=z^2+(y-@a*x^2+log(x))+p6 elseif @trap=="Pursuit Curve 2" z=z^2+(y-@a*x+log(x))+p6 elseif @trap=="Quadratix of Hippias" z=z^2+(x-y*cotan(y/@a))+p6 elseif @trap=="Quadrifolium" z=z^2+((x^2+y^2)^3-4*@a^2*x^2*y^2)+p6 elseif @trap=="Regular Trifolium" z=z^2+((x^2+y^2)^2-@a*x*(x^2-3*y^2))+p6 elseif @trap=="Right Strophoid" z=z^2+(y^2-x^2*(@a-x)/(@a+x))+p6 elseif @trap=="Rose Curve" z=z^2+(x-@a*sin(@a2*y))+p6 elseif @trap=="Rose Curve 2" z=z^2+(x-@a*cos(@a2*y))+p6 elseif @trap=="Satchel" z=z^2+((x^2-@a2*y)^2-@a^2*(x^2-y^2))+p6 elseif @trap=="Scarab" z=z^2+((x^2+y^2)*(x^2+y^2+@a*x)^2-@a2^2*(x^2-y^2)^2)+p6 elseif @trap=="Scyphoid" z=z^2+(x^4-y^4-4*@a*x*y^2)+p6 elseif @trap=="Secantoid" z=z^2+(y-@a/cos(x/@a2))+p6 elseif @trap=="Seccoid" z=z^2+(y-@a2/(x*cos(x)))+p6 elseif @trap=="Semi-Trident" z=z^2+(x*y^2-@a*x)+p6 elseif @trap=="Serpentine Curve" z=z^2+(y-@a*@a2*x/(x^2+@a^2))+p6 elseif @trap=="Sincoid" z=z^2+(y-@a*sin(x)/x)+p6 elseif @trap=="Sinus Chain" z=z^2+(y^2-abs(sin(x)+0.1*sin(2*x)))+p6 elseif @trap=="Sinusoid" z=z^2+(y-@a*sin(x/@a2))+p6 elseif @trap=="Spiric Curve" z=z^2+((x^2+y^2)^2+(@a-2)*x^2+@a2*y^2+2*@a3*x+@a4)+p6 elseif @trap=="Spiric of Perseus" z=z^2+((x^2+y^2)^2-2*@a*x^2-2*@a2*y^2+@a3)+p6 elseif @trap=="Spiric Sections" z=z^2+((@a3^2-@a^2+@a2^2+x^2+y^2)^2-4*@a3^2*(x^2+@a2^2))+p6 elseif @trap=="Superellipse" z=z^2+((x/@a)^@a3+(y/@a2)^@a3-1)+p6 elseif @trap=="Superellipse 2" z=z^2+(cabs((x-@a)/@a3)^@a4+cabs((y-@a2)/@a3)^@a4-1)+p6 elseif @trap=="Swastika Curve" z=z^2+(2*x*y-x^4+y^4)+p6 elseif @trap=="Syntractrix" z=z^2+(x+sqrt((@a2+1)^2-y^2)-@a*log(((@a2+1)+sqrt((@a2+1)^2-y^2))/y))+p6 elseif @trap=="Szego Curve" z=z^2+(x^2+y^2-e^(2*x-2))+p6 elseif @trap=="Tancoid" z=z^2+(y-@a*tan(x)/x)+p6 elseif @trap=="Tangentoid" z=z^2+(y-@a*tan(x/@a2))+p6 elseif @trap=="Tetracuspid" z=z^2+(@a^@a2*(cabs(x)^@a2+cabs(y)^@a2)-(x^2+y^2)^@a2)+p6 elseif @trap=="Torpedo" z=z^2+((x^2+y^2)^2-@a*x*(x^2-y^2))+p6 elseif @trap=="Tractrix" z=z^2+(x-log(((@a+1)-sqrt((@a+1)^2-y^2))/y)-sqrt((@a+1)^2-y^2))+p6 elseif @trap=="Trident" z=z^2+(y-x^2-@a/x)+p6 elseif @trap=="Trident 2" z=z^2+(x*y+@a*x^3+@a2*x^2+@a3*x-@a4)+p6 elseif @trap=="Trifolium" z=z^2+((x^2+y^2)^2-(x^2+y^2)*(@a*x+@a2*y)-@a3*x*(x^2-3*y^2))+p6 elseif @trap=="Trifolium 2" z=z^2+((x^2+y^2)^2-(@a*x+@a2*y)*(x^2-y^2))+p6 elseif @trap=="Trisectrix of Delange" z=z^2+((x^2+y^2-2*@a^2)^2-x^2*(x^2+y^2))+p6 elseif @trap=="Trisectrix of Maclaurin" z=z^2+(y^2*(@a+x)-x^2*(3*@a-x))+p6 elseif @trap=="Trisectrix of Maclaurin 2" z=z^2+(2*x^3+2*x*y^2-3*x^2+y^2)+p6 elseif @trap=="Trott Curve" z=z^2+(144*(x^4+y^4)-225*(x^2+y^2)+350*x^2*y^2+81)+p6 elseif @trap=="Tschirnhaus' Cubic" z=z^2+(3*@a*y^2-x*(x-@a)^2)+p6 elseif @trap=="Tschirnhaus' Cubic 2" z=z^2+(27*@a*y^2-(@a-x)*(x+8*@a)^2)+p6 elseif @trap=="Visiera" z=z^2+(x*(x^2+y^2)-@a*(x^2+2*y^2))+p6 elseif @trap=="Viviani's Curve" z=z^2+(y^2-x^2*(@a^2-x^2))+p6 elseif @trap=="Watt's Curve" z=z^2+((x^2+y^2)*(x^2+y^2-@a3^2)^2+4*@a^2*y^2*(x^2+y^2-@a2^2))+p6 elseif @trap=="Witch of Agnesi" z=z^2+(y-8*@a^3/(x^2+4*@a^2))+p6 elseif @trap=="OM1" z=z^2+((x^2+y^2)^3-@a*x*(x-@a)+y*(y+@a))+p6 elseif @trap=="OM2" z=z^2+((x^2-y^2)*(x^2+y^2)^2-2*@a*x*y*(x-@a^2))+p6 elseif @trap=="OM3" z=z^2+(@a*sin(x^2+y^2)+@a2*x*(x^2-y^2)-2*@a*x*y*(@a^2-@a2^2))+p6 elseif @trap=="OM4" z=z^2+(recip(@a*(x^2-1))*@a2^2*x*tanh(@a*(y^2-1))-@a*@a2*(x*y+1))+p6 elseif @trap=="OM5" z=z^2+(x+y^2+@a*x^3+@a2*y^4+@a^2*@a2^2*x^5*y^5)+p6 elseif @trap=="OM6" z=z^2+(sin(x)^3+sin(y)^3-@a)+p6 elseif @trap=="OM7" z=z^2+(x^(2/3)+(@a*y)^(2/3)+(@a^2*x*y)^(2/3)-@a^3)+p6 elseif @trap=="OM8" z=z^2+((x^2-@a^2)*(x-@a)+(y^2-@a^2)^2)+p6 elseif @trap=="OM9" z=z^2+((x^2-(@a-0.5)^2)*(x-(@a-0.5))^2+(y^2-(@a-0.5)^2)^3)+p6 elseif @trap=="OM10" z=z^2+((x^2-@a^2)*(x-@a)^3+(y^2-@a2^2)^2)+p6 elseif @trap=="OM11" z=z^2+(((@a*@a2-x)^2+(@a2-y)^2)/@a3^2-1)+p6 elseif @trap=="OM12" z=z^2+((x^2+y^2)^2-@a/(x^2-y^2))+p6 elseif @trap=="OM13" z=z^2+((x^2+y^2)^4-@a*(x^2+y^2)^3+(x^2+y^2)^2-(x^2+y^2)+y-(1-@a2))+p6 elseif @trap=="OM14" z=z^2+((2*@a)^@a2*y^2-(@a+x)*(@a-x)^(@a2+1))+p6 elseif @trap=="OM15" z=z^2+((x^2+y^2)^5+@a*(x^2-y^2)^3-@a^2*y)+p6 elseif @trap=="OM16" z=z^2+(@a*y-@a2/(x*cos(x))+@a3/(x*cos(y)))+p6 elseif @trap=="OM17" z=z^2+((x^2+y^2)*(x^2-y^2)/(2*@a*x*y)+(@a-1))+p6 elseif @trap=="OM18" z=z^2+(y^2+@a*x^3*tanh(x^2-y^2)-x^2*y*(x^2+y^2))+p6 elseif @trap=="OM19" z=z^2+(((@a*@a2-x*y)^3+(@a2*@a3-(X^2+y^2)^2)))+p6 elseif @trap=="OM20" z=z^2+(y^2+x^2-((x+(@a3*(x-@a))/sqrt((x-@a)^2+(y-@a2)^2))-(y+(@a3*(y-@a2))/sqrt((x-@a)^2+(y-@a2)^2))))+p6 elseif @trap=="OM21" z=z^2+(x^2-4*@a*y*(x^2+y^2)+y^3*@a^2*(x^2-y^2)^4)+p6 elseif @trap=="OM22" z=z^2+(y-x*(x^4-@a)*(x^2+y^2)^2)+p6 elseif @trap=="OM23" z=z^2+((x^3-x^2-(3*x+@a)*y^2)*(x^3-x^2+(3*x+@a)*y^2))+p6 endif elseif @T=="Mandelbrot" if @trap=="Alain Curve" z=z^2+((x^2-y^2)^2-@a^2*x^2+@a2^2*y^2)+pixel elseif @trap=="Ampersand Curve" z=z^2+((y^2-x^2)*(x-1)*(2*x-3)-4*(x^2+y^2-2*x)^2)+pixel elseif @trap=="Arcs of Samothrace" z=z^2+(x^2*(3*x^2-y^2)^2-y^2*(x^2+y^2))+pixel elseif @trap=="Astroid" z=z^2+(x^(2/3)+y^(2/3)-@a^(2/3))+pixel elseif @trap=="Atriphthaloid" z=z^2+(x^4*(x^2+y^2)-(@a2*x^2-@a^3)^2)+pixel elseif @trap=="Bean Curve" z=z^2+((x^2+y^2)^2-x^3-y^3)+pixel elseif @trap=="Bean Curve 2" z=z^2+(x^4+x^2*y^2+y^4-x*(x^2+y^2))+pixel elseif @trap=="Beetle" z=z^2+((x^2+y^2)*(x^2+y^2-@a*x-@a2*y)-@a3^2*x^2*y^2)+pixel elseif @trap=="Biaxial Eight Reverse" z=z^2+(@a^2*y^2-x^2*(y^2-x^2)) elseif @trap=="Bicorn" z=z^2+(y^2*(@a^2-x^2)-(x^2+2*@a*y-@a^2)^2)+pixel elseif @trap=="Bicuspid" z=z^2+((x^2-@a^2)*(x-@a)^2+(y^2-@a^2)^2)+pixel elseif @trap=="Biquartic" z=z^2+(x^8+4*x^6*y+y^3*(y-1)+3*x^4*y*(2*y-3)+2*x^2*y^2*(2*y+3))+pixel elseif @trap=="Blade's Cubic" z=z^2+(x^3+y^3-@a^3)+pixel elseif @trap=="Bolza" z=z^2+(y^2-x^5+x)+pixel elseif @trap=="Bow Curve" z=z^2+(x^4-(@a+1)*x^2*y+y^3)+pixel elseif @trap=="Bullet-Nose Curve" z=z^2+((@a^2-x^2)*(@a2^2+y^2)-@a^2*@a2^2)+pixel elseif @trap=="Butterfly Curve" z=z^2+(x^6+y^6-x^2)+pixel elseif @trap=="Butterfly Knot" z=z^2+((x^2+y^2)*x^4-(x^2-y^2)^2)+pixel elseif @trap=="Cardioid" z=z^2+((x^2+y^2-2*@a*x)^2-4*@a^2*(x^2+y^2))+pixel elseif @trap=="Cartesian Oval" z=z^2+((@a2-3.2)*sqrt((x-@a)^2+y^2)+@a3*sqrt((x+@a)^2+y^2)-@a4)+pixel elseif @trap=="Cassinian Ovals" z=z^2+((x^2+y^2)^2-2*@a^2*(x^2-y^2)+@a^4-@a2^4)+pixel elseif @trap=="Catenary" z=z^2+(y-@a*cosh(x/@a))+pixel elseif @trap=="Cayley's Sextic" z=z^2+(4*(x^2+y^2-@a*x)^3-27*@a^2*(x^2+y^2)^2)+pixel elseif @trap=="Cayley's Sextic 2" z=z^2+(-@a^3*x^3-48*@a*x*(x^2+y^2)^2+64*(x^2+y^2)^3-3*@a^2*(x^2+y^2)*(5*x^2+9*y^2))+pixel elseif @trap=="Ceva's Trisectrix" z=z^2+((x^2+y^2)^3-((@a+1)*x^2-(@a-1)*y^2)^2)+pixel elseif @trap=="Chasles Cubic" z=z^2+(y-@a*x^3-@a2*x^2*y-@a3*x*y^2-@a4*y^3)+pixel elseif @trap=="Circle" z=z^2+(x^2+y^2-@a^2)+pixel elseif @trap=="Circular Cubic" z=z^2+(x*(x^2+y^2)+@a*x^2+@a2*y^2+2*@a3*x+2*@a4*y+@a5)+pixel elseif @trap=="Cissoid of Diocles" z=z^2+(y^2-x^3/(2*@a-x))+pixel elseif @trap=="Cissoid of Diocles 2" z=z^2+(y^2*(2*@a-x)-x^8)+pixel elseif @trap=="Cissoid of Zahradnik" z=z^2+(@a3*x^2+2*@a4*x*y+(@a5+1)*y^2-2*@a*x-2*@a2*y)+pixel elseif @trap=="Clairaut Curve" z=z^2+((x^2+y^2)^((@a2+1)/2)-@a*y^@a2)+pixel elseif @trap=="Clinoid" z=z^2+(y-@a2*e^(x/@a)-@a3*e^(-x/@a))+pixel elseif @trap=="Cochleoid" z=z^2+((x^2+y^2)*atan(y/x)-@a*y)+pixel elseif @trap=="Conchoid of a Circle" z=z^2+((x^2+y^2+@a3^2-@a2^2)^2*(y^2+(x+@a)^2)-4*@a3^2*(x*(x+@a)+y^2)^2)+pixel elseif @trap=="Conchoid of Nicomedes" z=z^2+((x-@a2)^2*(x^2+y^2)-@a^2*x^2)+pixel elseif @trap=="Conchoid of de Sluze" z=z^2+(@a*(x+@a)*(x^2+y^2)-@a2^2*x^2)+pixel elseif @trap=="Conic Sections" z=z^2+(2*@a^2*x+(1-@a^2)*x^2+y^2-@a^2)+pixel elseif @trap=="Cornoid" z=z^2+((x^2+y^2)^3+@a^2*(3*x^4-6*x^2*y^2-5*y^4)+8*@a^4*y^2-4*@a^6)+pixel elseif @trap=="Cornoid 2" z=z^2+(x^6+y^6+3*x^4*y^2+3*x^2*y^4+3*x^4-5*y^4+8*y^2-4)+pixel elseif @trap=="Coscoid" z=z^2+(y-@a*cos(x)/x)+pixel elseif @trap=="Cosecantoid" z=z^2+(y-@a/sin(x/@a2))+pixel elseif @trap=="Cosinusoid" z=z^2+(y-@a*cos(x/@a2))+pixel elseif @trap=="Cotangentoid" z=z^2+(y-@a*cotan(x/@a2))+pixel elseif @trap=="Cross Curve" z=z^2+(@a^2*y^2+@a2^2*x^2-x^2*y^2)+pixel elseif @trap=="Cubic Joint" z=z^2+(y^2*x-@a*y^2-@a2*x^2)+pixel elseif @trap=="Cubic of Apollonius" z=z^2+((x-2*@a)*(x^2+y^2)+@a2^2*(cos(2*@a3*x)+sin(2*@a3*y)))+pixel elseif @trap=="Curve of Cramer" z=z^2+(x*(x^2+y^2)+(@a+1+@a2)*x^2-(@a+1-@a2)*y^2)+pixel elseif @trap=="Curve of Jefabek" z=z^2+((@a2+1)^2*(x^2+y^2-@a*x)^2-@a^2*(x^2+y^2)*(x-@a)^2)+pixel elseif @trap=="Curve of Loriga" z=z^2+(3*x^2-y^2-@a^2)+pixel elseif @trap=="Curve of Rosillo" z=z^2+(y^2*(@a3-x)^2-(@a2-x)^2*(@a^2-x^2))+pixel elseif @trap=="Deltoid" z=z^2+((x^2+y^2+12*@a*x+9*@a^2)-4*@a*(2*x+3*@a)^3)+pixel elseif @trap=="Deltoid 2" z=z^2+((x^2+y^2)^2+18*@a^2*(x^2+y^2)-27*@a^4-8*@a*x*(x^2-3*y^2))+pixel elseif @trap=="Devil's Curve" z=z^2+(y^4-x^4+@a*y^2+@a2*x^2)+pixel elseif @trap=="Devil's Curve 2" z=z^2+(y^4-x^4-@a^2*y^2+@a2^2*x^2)+pixel elseif @trap=="Dipole Curve" z=z^2+((x^2+y^2)^3-@a^4*x^2)+pixel elseif @trap=="Double Egg" z=z^2+((x^2+y^2)^3-@a^2*x^4)+pixel elseif @trap=="Double Egg 2" z=z^2+(x^4+2*x^2*y^2+4*y^4-x^3-6*x^2-x*y^2)+pixel elseif @trap=="Double Folium" z=z^2+((x^2+y^2)^2-4*@a*x*y^2)+pixel elseif @trap=="Double U" z=z^2+(y^2*(@a^2-x^2)-@a^4)+pixel elseif @trap=="Dumbbell Curve" z=z^2+(@a2^4*y^2-x^4*(@a^2-x^2))+pixel elseif @trap=="Duplicatrix Cubic" z=z^2+(@a*y^2-x^2*(x-@a))+pixel elseif @trap=="Durer's Conchoid" z=z^2+((x^2+x*y+@a*x-@a2^2)^2-(@a2^2-x^2)*(x-y+@a)^2)+pixel elseif @trap=="Durer's Conchoid 2" z=z^2+(2*y^2*(x^2+y^2)-2*@a2*y^2*(x+y)+(@a2^2-3*@a^2)*y^2-@a^2*x^2+2*@a^2*@a2*(x+y)+@a^2*(@a^2-@a2^2))+pixel elseif @trap=="Dwulistne" z=z^2+((x^2+y^2)^2-(@a*x+@a2*y)*x^2)+pixel elseif @trap=="Egg of Columbus" z=z^2+(y^4+10*y^2*x^2+5*x^4-y)+pixel elseif @trap=="Egg of Granville" z=z^2+(x^2*y^2-@a^2*(x-(@a2+1-@a3))*(@a2+1+@a3-x))+pixel elseif @trap=="Egg of Granville 2" z=z^2+(x^2*y^2-(x-(@a+0.5))*(1-x))+pixel elseif @trap=="Egg of Kepler" z=z^2+((x^2+y^2)^2-@a*x^3)+pixel elseif @trap=="Eight Curve" z=z^2+(x^4-@a^2*(x^2-y^2))+pixel elseif @trap=="Elkies Trinomial Curve" z=z^2+(y^2-x*(81*x^5+396*x^4+738*x^3+660*x^2+269*x+48))+pixel elseif @trap=="Ellipse" z=z^2+(x^2/@a^2+y^2/@a2^2-1)+pixel elseif @trap=="Fish Curve" z=z^2+((2*x^2+y^2)^2+2*sqrt(2)*@a*x*(2*x^2-3*y^2)+2*@a^2*(y^2-x^2))+pixel elseif @trap=="Focal Conic Conchoid" z=z^2+((x^2+y^2-@a*@a2*x)^2-(x^2+y^2)*(@a2*x-(@a+1))^2)+pixel elseif @trap=="Folium" z=z^2+((x^2+y^2)*(y^2+x*(x+@a2))-4*@a*x*y^2)+pixel elseif @trap=="Folium of Descartes" z=z^2+(x^3+y^3-3*@a*x*y)+pixel elseif @trap=="Folium of Durer" z=z^2+((x^2+y^2)*(2*(x^2+y^2)-@a^2)^2-@a^4*x^2)+pixel elseif @trap=="Frequency Curve" z=z^2+(y-sqrt(2*pi)*exp(-x^2/2))+pixel elseif @trap=="Heart Curve" z=z^2+((x^3+y^2-1)^3-x^2*y^3)+pixel elseif @trap=="Heart of Eugene Beutel" z=z^2+((x^2+y^2-1)^3-x^2*y^3)+pixel elseif @trap=="Heart of Raphael Laporte" z=z^2+(x^8-x^6+27*x^4-27*x^2+12*y*x^6-12*y*x^4+42*y^2*x^4+42*y^2*x^2+2*y^3*x^4+26*y^3*x^2+8*y^3+12*y^4*x^2+12*y^4+6*y^5+y^6)+pixel elseif @trap=="Hippopede" z=z^2+((x^2+y^2)^2-@a*x^2-@a2*y^2)+pixel elseif @trap=="Hippopede of Proclus" z=z^2+((x^2+y^2)^2+4*@a2*(@a2-@a)*(x^2+y^2)-4*@a2^2*x^2)+pixel elseif @trap=="Hoerl Curve" z=z^2+(y-x^@a*e^x)+pixel elseif @trap=="Humbert's Cubic" z=z^2+(x^3-3*x*y^2-@a^3)+pixel elseif @trap=="Hyperbola" z=z^2+(x^2/@a^2-y^2/@a2^2-1)+pixel elseif @trap=="Hyperbola 2" z=z^2+(x^2/@a^2-y^2/@a2^2+1)+pixel elseif @trap=="Hyperbolic Cosecantoid" z=z^2+(y-@a/sinh(x/@a2))+pixel elseif @trap=="Hyperbolic Cosinusoid" z=z^2+(y-@a*cosh(x/@a2))+pixel elseif @trap=="Hyperbolic Cotangentoid" z=z^2+(y-@a*cotanh(x/@a2))+pixel elseif @trap=="Hyperbolic Secantoid" z=z^2+(y-@a/cosh(x/@a2))+pixel elseif @trap=="Hyperbolic Sinusoid" z=z^2+(y-@a*sinh(x/@a2))+pixel elseif @trap=="Hyperbolic Tangentoid" z=z^2+(y-tanh(@a*x))+pixel elseif @trap=="Hyperelliptic Curve" z=z^2+(y^2-x*(x+1)*(x-3)*(x+2)*(x-2))+pixel elseif @trap=="Illumination Curve" z=z^2+(y^2-recip((x^2+1)^3))+pixel elseif @trap=="Inverse Nephroid" z=z^2+((@a^2-4*(x^2+y^2))^3-108*@a^2*x^2*(x^2+y^2))+pixel elseif @trap=="Isoptic Curve" z=z^2+(tan(@a)^2*(x+pi/2)^2-y^2+2*@a2*x)+pixel elseif @trap=="Kampyle of Eudoxus" z=z^2+(@a^2*x^4-@a2^4*(x^2+y^2))+pixel elseif @trap=="Kappa Curve" z=z^2+(y^2*(x^2+y^2)-@a^2*x^2)+pixel elseif @trap=="Kepler's Folium" z=z^2+(((x-@a2)^2+y^2)*(x*(x-@a2)+y^2)-4*@a*(x-@a2)*y^2)+pixel elseif @trap=="Kiepert Curve" z=z^2+((x^2+y^2)^3-@a^3*x*(x^2-3*y^2))+pixel elseif @trap=="Kieroid" z=z^2+(y^2*(x-@a)^2+x^2*(x-@a2)^2-@a3^2*x^2)+pixel elseif @trap=="Kiss Curve" z=z^2+(@a^4*y^2-(@a^2-x^2)^3)+pixel elseif @trap=="Klein Quartic" z=z^2+((x^2+y^2-@a2*@a^2)^2-@a3*@a*(y-@a+sqrt(3)*x)*(y-@a-sqrt(3)*x)*(2*y+@a))+pixel elseif @trap=="Kulp Quartic" z=z^2+(x^2*y^2-@a^2*(@a^2-y^2))+pixel elseif @trap=="Lemniscate of Bernoulli" z=z^2+((x^2+y^2)^2-@a^2*(x^2-y^2))+pixel elseif @trap=="Lemniscate of Booth" z=z^2+((x^2+y^2)^2-(2*@a^2+@a2)*x^2+(2*@a^2-@a2)*y^2)+pixel elseif @trap=="Limacon of Pascal" z=z^2+((x^2+y^2-@a*y)^2-(x^2+y^2))+pixel elseif @trap=="Limacon of Pascal 2" z=z^2+((x^2+y^2-@a*x)^2-@a2^2*(x^2+y^2))+pixel elseif @trap=="Links Curve" z=z^2+((x^2+y^2-3*x)^2-4*x^2*(2-x))+pixel elseif @trap=="Lissajous Curve" z=z^2+(2*(2*x^2-@a^2)^2-@a*(2*y-@a)^2*(y+@a))+pixel elseif @trap=="Lissajous Curve 2" z=z^2+(x^2*(4*x^2-3*@a^2)+4*@a^2*y^2*(y^2-@a^2))+pixel elseif @trap=="Lissajous Quadratic" z=z^2+(@a^4*y^4-4*@a^3*@a2*x*y^3+2*@a^2*@a2*y^3+6*@a^2*@a2^2*x^2*y^2 \ -4*@a*@a2^2*x*y^2-2*@a^3*x*y^2-2*@a^2*@a2^2*y^2+@a2^2*y^2+@a^2*y^2 \ -4*@a*@a2^3*x^3*y+2*@a2^3*x^2*y+4*@a^2*@a2*x^2*y+4*@a*@a2^3*x*y \ -2*@a2^3*y-4*@a^2*@a2*y+@a2^4*x^4-2*@a*@a2^2*x^3-2*@a2^4*x^2 \ +@a2^2*x^2+@a^2*x^2+2*@a*@a2^2*x-@a^2-@a2^2+@a2^4)+pixel elseif @trap=="Logarithmic Lemniscate" z=z^2+(y^2-x^2*log(@a^2/x^2))+pixel elseif @trap=="Logarithmic Sinusoid" z=z^2+(y-log(sqrt(1-x^2)))+pixel elseif @trap=="Logistic Growth Curve" z=z^2+(y-recip(1+@a*e^x))+pixel elseif @trap=="Maltese Cross Curve" z=z^2+(x*y*(x^2-y^2)-x^2-y^2)+pixel elseif @trap =="Neile's Semi-Cubical Parabola" z=z^2+(y^3-@a*x^2)+pixel elseif @trap =="Neile's Semi-Cubical Parabola 2" z=z^2+((x-0.5)^3-3*y^2)+pixel elseif @trap=="Nephroid" z=z^2+((x^2+y^2-4*@a^2)^3-108*@a^4*x^2)+pixel elseif @trap=="Nephroid of Freeth" z=z^2+((x^2+y^2)*(x*2+y^2-@a^2)^2-4*@a^2*(x^2+y^2-@a*x)^2)+pixel elseif @trap=="Newton's Diverging Parabolas" z=z^2+(@a*y^2-x*(x^2-2*@a2*x+@a3))+pixel elseif @trap=="Newton's Diverging Parabolas 2" z=z^2+(y^2-x*(x^2+2*@a*x+@a2))+pixel elseif @trap=="Nodal Curve" z=z^2+(x^2*y^2*(x^2+y^2)-(x^2-y^2)^2)+pixel elseif @trap=="Oblique Bifolium" z=z^2+((x^2+y^2)^2-x^2*(@a*x+@a2*y))+pixel elseif @trap=="Oblique Cappa" z=z^2+((x^2+y^2)*y^2-@a^2*(x*sin(@a2)+y*cos(@a2))^2)+pixel elseif @trap=="Oblique Cissoid" z=z^2+((x^2+y^2)*(x*cos(@a2)+y*sin(@a2))-2*@a*y^2)+pixel elseif @trap=="Oblique Pancappa" z=z^2+((y-@a)^2*(x^2+y^2)-(@a2*x+@a3*y)^2)+pixel elseif @trap=="Oblique Strophoid" z=z^2+(y*(x^2+y^2)-@a*(x^2-y^2)-2*@a2*x*y)+pixel elseif @trap=="Ophiuride" z=z^2+(x*(x^2+y^2)-@a2*x*y-@a*y^2)+pixel elseif @trap=="Parabola" z=z^2+(4*@a*(x-@a2)-(y-@a3)^2)+pixel elseif @trap=="Parabola 2" z=z^2+(x-@a*(y-@a2)^2-@a3)+pixel elseif @trap=="Parabola 3" z=z^2+(y-@a*x^2-@a2*x-@a3)+pixel elseif @trap=="Parabolic Trifolium" z=z^2+(x^2*(x^2+y^2)-(@a+5)*y*(x^2-y^2))+pixel elseif @trap=="Pear-Shaped Quartic" z=z^2+(@a2^2*y^2-x^3*(@a-x))+pixel elseif @trap=="Pearls of Sluze" z=z^2+(y^(@a2+1)-@a3*(@a-x)^@a4*x^@a5)+pixel elseif @trap=="Pursuit Curve" z=z^2+(y-@a*x^2+log(x))+pixel elseif @trap=="Pursuit Curve 2" z=z^2+(y-@a*x+log(x))+pixel elseif @trap=="Quadratix of Hippias" z=z^2+(x-y*cotan(y/@a))+pixel elseif @trap=="Quadrifolium" z=z^2+((x^2+y^2)^3-4*@a^2*x^2*y^2)+pixel elseif @trap=="Regular Trifolium" z=z^2+((x^2+y^2)^2-@a*x*(x^2-3*y^2))+pixel elseif @trap=="Right Strophoid" z=z^2+(y^2-x^2*(@a-x)/(@a+x))+pixel elseif @trap=="Rose Curve" z=z^2+(x-@a*sin(@a2*y))+pixel elseif @trap=="Rose Curve 2" z=z^2+(x-@a*cos(@a2*y))+pixel elseif @trap=="Satchel" z=z^2+((x^2-@a2*y)^2-@a^2*(x^2-y^2))+pixel elseif @trap=="Scarab" z=z^2+((x^2+y^2)*(x^2+y^2+@a*x)^2-@a2^2*(x^2-y^2)^2)+pixel elseif @trap=="Scyphoid" z=z^2+(x^4-y^4-4*@a*x*y^2)+pixel elseif @trap=="Secantoid" z=z^2+(y-@a/cos(x/@a2))+pixel elseif @trap=="Seccoid" z=z^2+(y-@a2/(x*cos(x)))+pixel elseif @trap=="Semi-Trident" z=z^2+(x*y^2-@a*x)+pixel elseif @trap=="Serpentine Curve" z=z^2+(y-@a*@a2*x/(x^2+@a^2))+pixel elseif @trap=="Sincoid" z=z^2+(y-@a*sin(x)/x)+pixel elseif @trap=="Sinus Chain" z=z^2+(y^2-abs(sin(x)+0.1*sin(2*x)))+pixel elseif @trap=="Sinusoid" z=z^2+(y-@a*sin(x/@a2))+pixel elseif @trap=="Spiric Curve" z=z^2+((x^2+y^2)^2+(@a-2)*x^2+@a2*y^2+2*@a3*x+@a4)+pixel elseif @trap=="Spiric of Perseus" z=z^2+((x^2+y^2)^2-2*@a*x^2-2*@a2*y^2+@a3)+pixel elseif @trap=="Spiric Sections" z=z^2+((@a3^2-@a^2+@a2^2+x^2+y^2)^2-4*@a3^2*(x^2+@a2^2))+pixel elseif @trap=="Superellipse" z=z^2+((x/@a)^@a3+(y/@a2)^@a3-1)+pixel elseif @trap=="Superellipse 2" z=z^2+(cabs((x-@a)/@a3)^@a4+cabs((y-@a2)/@a3)^@a4-1)+pixel elseif @trap=="Swastika Curve" z=z^2+(2*x*y-x^4+y^4)+pixel elseif @trap=="Syntractrix" z=z^2+(x+sqrt((@a2+1)^2-y^2)-@a*log(((@a2+1)+sqrt((@a2+1)^2-y^2))/y))+pixel elseif @trap=="Szego Curve" z=z^2+(x^2+y^2-e^(2*x-2))+pixel elseif @trap=="Tancoid" z=z^2+(y-@a*tan(x)/x)+pixel elseif @trap=="Tangentoid" z=z^2+(y-@a*tan(x/@a2))+pixel elseif @trap=="Tetracuspid" z=z^2+(@a^@a2*(cabs(x)^@a2+cabs(y)^@a2)-(x^2+y^2)^@a2)+pixel elseif @trap=="Torpedo" z=z^2+((x^2+y^2)^2-@a*x*(x^2-y^2))+pixel elseif @trap=="Tractrix" z=z^2+(x-log(((@a+1)-sqrt((@a+1)^2-y^2))/y)-sqrt((@a+1)^2-y^2))+pixel elseif @trap=="Trident" z=z^2+(y-x^2-@a/x)+pixel elseif @trap=="Trident 2" z=z^2+(x*y+@a*x^3+@a2*x^2+@a3*x-@a4)+pixel elseif @trap=="Trifolium" z=z^2+((x^2+y^2)^2-(x^2+y^2)*(@a*x+@a2*y)-@a3*x*(x^2-3*y^2))+pixel elseif @trap=="Trifolium 2" z=z^2+((x^2+y^2)^2-(@a*x+@a2*y)*(x^2-y^2))+pixel elseif @trap=="Trisectrix of Delange" z=z^2+((x^2+y^2-2*@a^2)^2-x^2*(x^2+y^2))+pixel elseif @trap=="Trisectrix of Maclaurin" z=z^2+(y^2*(@a+x)-x^2*(3*@a-x))+pixel elseif @trap=="Trisectrix of Maclaurin 2" z=z^2+(2*x^3+2*x*y^2-3*x^2+y^2)+pixel elseif @trap=="Trott Curve" z=z^2+(144*(x^4+y^4)-225*(x^2+y^2)+350*x^2*y^2+81)+pixel elseif @trap=="Tschirnhaus' Cubic" z=z^2+(3*@a*y^2-x*(x-@a)^2)+pixel elseif @trap=="Tschirnhaus' Cubic 2" z=z^2+(27*@a*y^2-(@a-x)*(x+8*@a)^2)+pixel elseif @trap=="Visiera" z=z^2+(x*(x^2+y^2)-@a*(x^2+2*y^2))+pixel elseif @trap=="Viviani's Curve" z=z^2+(y^2-x^2*(@a^2-x^2))+pixel elseif @trap=="Watt's Curve" z=z^2+((x^2+y^2)*(x^2+y^2-@a3^2)^2+4*@a^2*y^2*(x^2+y^2-@a2^2))+pixel elseif @trap=="Witch of Agnesi" z=z^2+(y-8*@a^3/(x^2+4*@a^2))+pixel elseif @trap=="OM1" z=z^2+((x^2+y^2)^3-@a*x*(x-@a)+y*(y+@a))+pixel elseif @trap=="OM2" z=z^2+((x^2-y^2)*(x^2+y^2)^2-2*@a*x*y*(x-@a^2))+pixel elseif @trap=="OM3" z=z^2+(@a*sin(x^2+y^2)+@a2*x*(x^2-y^2)-2*@a*x*y*(@a^2-@a2^2))+pixel elseif @trap=="OM4" z=z^2+(recip(@a*(x^2-1))*@a2^2*x*tanh(@a*(y^2-1))-@a*@a2*(x*y+1))+pixel elseif @trap=="OM5" z=z^2+(x+y^2+@a*x^3+@a2*y^4+@a^2*@a2^2*x^5*y^5)+pixel elseif @trap=="OM6" z=z^2+(sin(x)^3+sin(y)^3-@a)+pixel elseif @trap=="OM7" z=z^2+(x^(2/3)+(@a*y)^(2/3)+(@a^2*x*y)^(2/3)-@a^3)+pixel elseif @trap=="OM8" z=z^2+((x^2-@a^2)*(x-@a)+(y^2-@a^2)^2)+pixel elseif @trap=="OM9" z=z^2+((x^2-(@a-0.5)^2)*(x-(@a-0.5))^2+(y^2-(@a-0.5)^2)^3)+pixel elseif @trap=="OM10" z=z^2+((x^2-@a^2)*(x-@a)^3+(y^2-@a2^2)^2)+pixel elseif @trap=="OM11" z=z^2+(((@a*@a2-x)^2+(@a2-y)^2)/@a3^2-1)+pixel elseif @trap=="OM12" z=z^2+((x^2+y^2)^2-@a/(x^2-y^2))+pixel elseif @trap=="OM13" z=z^2+((x^2+y^2)^4-@a*(x^2+y^2)^3+(x^2+y^2)^2-(x^2+y^2)+y-(1-@a2))+pixel elseif @trap=="OM14" z=z^2+((2*@a)^@a2*y^2-(@a+x)*(@a-x)^(@a2+1))+pixel elseif @trap=="OM15" z=z^2+((x^2+y^2)^5+@a*(x^2-y^2)^3-@a^2*y)+pixel elseif @trap=="OM16" z=z^2+(@a*y-@a2/(x*cos(x))+@a3/(x*cos(y)))+pixel elseif @trap=="OM17" z=z^2+((x^2+y^2)*(x^2-y^2)/(2*@a*x*y)+(@a-1))+pixel elseif @trap=="OM18" z=z^2+(y^2+@a*x^3*tanh(x^2-y^2)-x^2*y*(x^2+y^2))+pixel elseif @trap=="OM19" z=z^2+(((@a*@a2-x*y)^3+(@a2*@a3-(X^2+y^2)^2)))+pixel elseif @trap=="OM20" z=z^2+(y^2+x^2-((x+(@a3*(x-@a))/sqrt((x-@a)^2+(y-@a2)^2))-(y+(@a3*(y-@a2))/sqrt((x-@a)^2+(y-@a2)^2))))+pixel elseif @trap=="OM21" z=z^2+(x^2-4*@a*y*(x^2+y^2)+y^3*@a^2*(x^2-y^2)^4)+pixel elseif @trap=="OM22" z=z^2+(y-x*(x^4-@a)*(x^2+y^2)^2)+pixel elseif @trap=="OM23" z=z^2+((x^3-x^2-(3*x+@a)*y^2)*(x^3-x^2+(3*x+@a)*y^2))+pixel endif endif if @Fs2=="sin" z=sin(z) elseif @Fs2=="sinh" z=sinh(z) elseif @Fs2=="asin" z=asin(z) elseif @Fs2=="asinh" z=asinh(z) elseif @Fs2=="cos" z=cos(z) elseif @Fs2=="cosh" z=cosh(z) elseif @Fs2=="acos" z=acos(z) elseif @Fs2=="acosh" z=acosh(z) elseif @Fs2=="tan" z=tan(z) elseif @Fs2=="tanh" z=tanh(z) elseif @Fs2=="atan" z=atan(z) elseif @Fs2=="atanh" z=atanh(z) elseif @Fs2=="cotan" z=cotan(z) elseif @Fs2=="cotanh" z=cotanh(z) elseif @Fs2=="sqr" z=sqr(z) elseif @Fs2=="sqrt" z=sqrt(z) elseif @Fs2=="log" z=log(z) elseif @Fs2=="exp" z=exp(z) elseif @Fs2=="abs" z=abs(z) elseif @Fs2=="cabs" z=cabs(z) elseif @Fs2=="conj" z=conj(z) elseif @Fs2=="flip" z=flip(z) elseif @Fs2=="ident" z=ident(z) elseif @Fs2=="recip" z=recip(z) elseif @Fs2=="versin" z=1-cos(z) elseif @Fs2=="aversin" z=acos(1-z) elseif @Fs2=="haversin" z=(1-cos(z))/2 elseif @Fs2=="ahaversin" z=2*asin(sqrt(z)) elseif @Fs2=="coversin" z=1-sin(z) elseif @Fs2=="acoversin" z=asin(1-z) elseif @Fs2=="hacoversin" z=(1-sin(z))/2 elseif @Fs2=="vercos" z=1+cos(z) elseif @Fs2=="avercos" z=acos(1+z) elseif @Fs2=="havercos" z=(1+cos(z))/2 elseif @Fs2=="ahavercos" z=2*acos(sqrt(z)) elseif @Fs2=="covercos" z=1+sin(z) elseif @Fs2=="acovercos" z=asin(1+z) elseif @Fs2=="hacovercos" z=(1+sin(z))/2 elseif @Fs2=="acotan" z=atan(1/(z)) elseif @Fs2=="acotanh" z=atanh(1/(z)) elseif @Fs2=="sec" z=1/cos(z) elseif @Fs2=="sech" z=1/cosh(z) elseif @Fs2=="asec" z=acos(1/z) elseif @Fs2=="asech" z=acosh(1/z) elseif @Fs2=="cosec" z=1/sin(z) elseif @Fs2=="cosech" z=1/sinh(z) elseif @Fs2=="acosec" z=asin(1/z) elseif @Fs2=="acosech" z=asinh(1/z) elseif @Fs2=="exsec" z=1/cos(z)-1 elseif @Fs2=="aexsec" z= acos(1/(z+1)) elseif @Fs2=="excosec" z=1/sin(z)-1 elseif @Fs2=="aexcosec" z=asin(1/(z+1)) elseif @Fs2=="crd" z=2*sin(z/2) elseif @Fs2=="acrd" z=2*asin(z/2) elseif @Fs2=="gd" z=asin(tanh(z)) elseif @Fs2=="agd" z=asinh(tan(z)) elseif @Fs2=="sinc" z=sin(z)/(z) elseif @Fs2=="sinhc" z=sinh(z)/(z) elseif @Fs2=="cosc" z=cos(z)/(z) elseif @Fs2=="coshc" z=cosh(z)/(z) elseif @Fs2=="tanc" z=tan(z)/(z) elseif @Fs2=="tanhc" z=tanh(z)/(z) elseif @Fs2=="cotanc" z=cotan(z)/(z) elseif @Fs2=="cotanhc" z=cotanh(z)/(z) elseif @Fs2=="secc" z=1/(z*cos(z)) elseif @Fs2=="sechc" z=1/(z*cosh(z)) elseif @Fs2=="cosecc" z= 1/(z*sin(z)) elseif @Fs2=="cosechc" z=1/(z*sinh(z)) elseif @Fs2=="cube" z=z^3 elseif @Fs2=="cuberoot" z=z^(1/3) elseif @Fs2=="colog" z=-log(z) elseif @Fs2=="logit" z= log(z/(1-z)) elseif @Fs2=="expit" z=1/(1+exp(-z)) elseif @Fs2=="gauss" z=exp(-sqr(z)) elseif @Fs2=="softplus" z=log(1+exp(z)) elseif @Fs2=="primecount" z=z/log(z) elseif @Fs2=="sqr+" z=sqr(z)+z elseif @Fs2=="cube+" z=z^3+sqr(z)+z elseif @Fs2=="sin+" z=sin(z)+z elseif @Fs2=="cos+" z=cos(z)+z elseif @Fs2=="tan+" z=tan(z)+z elseif @Fs2=="cotan+" z=cotan(z)+z elseif @Fs2=="sec+" z=1/cos(z)+z elseif @Fs2=="cosec+" z=1/sin(z)+z elseif @Fs2=="sin*" z=sin(z)*z elseif @Fs2=="cos*" z=cos(z)*z elseif @Fs2=="tan*" z=tan(z)*z elseif @Fs2=="cotan*" z=cotan(z)*z elseif @Fs2=="sec*" z=z/cos(z) elseif @Fs2=="cosec*" z=z/sin(z) elseif @Fs2=="loglog" z=log(log(z)) elseif @Fs2=="sinsin" z=sin(sin(z)) elseif @Fs2=="coscos" z=cos(cos(z)) elseif @Fs2=="+pixel" z=z+pixel elseif @Fs2=="-pixel" z=z-pixel elseif @Fs2=="*pixel" z=z*pixel elseif @Fs2=="/pixel" z=z/pixel elseif @Fs2=="ceil" z=ceil(z) elseif @Fs2=="floor" z=floor(z) elseif @Fs2=="trunc" z=trunc(z) else z=round(z) endif bailout: |z|<@bail default: title="z^2+Curve" center=(0.001,0.001) param T caption="Type" enum="Julia""Mandelbrot" default=1 endparam param trap caption="Curve" default=0 enum="Alain Curve""Ampersand Curve""Arcs of Samothrace""Astroid""Atriphthaloid""Bean Curve""Bean Curve 2"\ "Beetle""Biaxial Eight Reverse""Bicorn""Bicuspid""Biquartic""Blade's Cubic"\ "Bolza""Bow Curve""Bullet-Nose Curve""Butterfly Curve""Butterfly Knot"\ "Cardioid""Cartesian Oval""Cassinian Ovals""Catenary""Cayley's Sextic""Cayley's Sextic 2""Ceva's Trisectrix"\ "Chasles Cubic""Circle""Circular Cubic""Cissoid of Diocles""Cissoid of Diocles 2""Cissoid of Zahradnik"\ "Clairaut Curve""Clinoid""Cochleoid""Conchoid of a Circle""Conchoid of Nicomedes""Conchoid of de Sluze"\ "Conic Sections""Cornoid""Cornoid 2""Coscoid""Cosecantoid""Cosinusoid""Cotangentoid""Cross Curve""Cubic Joint""Cubic of Apollonius"\ "Curve of Cramer""Curve of Jefabek""Curve of Loriga""Curve of Rosillo""Deltoid""Deltoid 2"\ "Devil's Curve""Devil's Curve 2""Dipole Curve""Double Egg""Double Egg 2""Double Folium"\ "Double U""Dumbbell Curve""Duplicatrix Cubic""Durer's Conchoid""Durer's Conchoid 2""Dwulistne""Egg of Columbus"\ "Egg of Granville""Egg of Granville 2""Egg of Kepler""Eight Curve""Elkies Trinomial Curve""Ellipse"\ "Fish Curve""Focal Conic Conchoid""Folium""Folium of Descartes""Folium of Durer""Frequency Curve"\ "Heart Curve""Heart of Eugene Beutel""Heart of Raphael Laporte""Hippopede""Hippopede of Proclus"\ "Hoerl Curve""Humbert's Cubic""Hyperbola""Hyperbola 2""Hyperbolic Cosecantoid""Hyperbolic Cosinusoid"\ "Hyperbolic Cotangentoid""Hyperbolic Secantoid""Hyperbolic Sinusoid""Hyperbolic Tangentoid"\ "Hyperelliptic Curve""Illumination Curve""Inverse Nephroid""Isoptic Curve""Kampyle of Eudoxus"\ "Kappa Curve""Kepler's Folium""Kiepert Curve""Kieroid""Kiss Curve""Klein Quartic""Kulp Quartic"\ "Lemniscate of Bernoulli""Lemniscate of Booth""Limacon of Pascal""Limacon of Pascal 2"\ "Links Curve""Lissajous Curve""Lissajous Curve 2""Lissajous Quadratic""Logarithmic Lemniscate"\ "Logarithmic Sinusoid""Logistic Growth Curve""Maltese Cross Curve""Neile's Semi-Cubical Parabola""Neile's Semi-Cubical Parabola 2""Nephroid"\ "Nephroid of Freeth""Newton's Diverging Parabolas""Newton's Diverging Parabolas 2""Nodal Curve""Oblique Bifolium""Oblique Cappa"\ "Oblique Cissoid""Oblique Pancappa""Oblique Strophoid""Ophiuride""Parabola""Parabola 2""Parabola 3"\ "Parabolic Trifolium""Pear-Shaped Quartic""Pearls of Sluze""Pursuit Curve""Pursuit Curve 2"\ "Quadratix of Hippias""Quadrifolium""Regular Trifolium""Right Strophoid""Rose Curve""Rose Curve 2""Satchel"\ "Scarab""Scyphoid""Secantoid""Seccoid""Semi-Trident""Serpentine Curve""Sincoid""Sinus Chain""Sinusoid" \ "Spiric Curve""Spiric of Perseus""Spiric Sections""Superellipse"\ "Superellipse 2""Swastika Curve""Syntractrix""Szego Curve""Tancoid""Tangentoid""Tetracuspid""Torpedo""Tractrix"\ "Trident""Trident 2""Trifolium""Trifolium 2""Trisectrix of Delange""Trisectrix of Maclaurin""Trisectrix of Maclaurin 2"\ "Trott Curve""Tschirnhaus' Cubic""Tschirnhaus' Cubic 2""Visiera""Viviani's Curve""Watt's Curve""Witch of Agnesi""OM1"\ "OM2""OM3""OM4""OM5""OM6""OM7""OM8""OM9""OM10""OM11""OM12""OM13""OM14""OM15""OM16""OM17""OM18""OM19""OM20""OM21""OM22""OM23" endparam param a caption="Curve Parameter" default=(0.85,0) visible=@trap!="Frequency Curve" \ && @trap!="Arcs of Samothrace" && @trap!="Illumination Curve" \ && @trap!="Logarithmic Sinusoid" \ && @trap!="Elkies Trinomial Curve" && @trap!="Bolza" \ && @trap!="Hyperelliptic Curve" \ && @trap!="Maltese Cross Curve" && @trap!="Ampersand Curve" \ && @trap!="Heart of Eugene Beutel" && @trap!="Heart of Raphael Laporte" \ && @trap!="Butterfly Knot" && @trap!="Trott Curve" && @trap!="Swastika Curve" \ && @trap!="Biquartic" && @trap!="Butterfly Curve" && @trap!="Bean Curve" \ && @trap!="Bean Curve 2" && @trap!="Egg of Columbus" && @trap!="Sinus Chain" \ && @trap!="Szego Curve" && @trap!="Links Curve" && @trap!="Double Egg 2" \ && @trap!="Heart Curve" && @trap!="Cornoid 2" \ && @trap!="Nodal Curve" && @trap!="Trisectrix of Maclaurin 2" \ && @trap!="Neile's Semi-Cubical Parabola 2" endparam param a2 caption="Curve Parameter 2" default=(0.85,0) visible=@trap=="Cartesian Oval" || @trap=="Conchoid of de Sluze" \ || @trap=="Ellipse" || @trap=="Folium" || @trap=="Kampyle of Eudoxus" \ || @trap=="Superellipse" || @trap=="Newton's Diverging Parabolas" \ || @trap=="Pearls of Sluze" || @trap=="Spiric Sections" \ || @trap=="Bullet-Nose Curve" \ || @trap=="Dwulistne" || @trap=="Cubic Joint" || @trap=="Syntractrix" \ || @trap=="Oblique Strophoid" || @trap=="Superellipse 2" || @trap=="Oblique Cissoid" \ || @trap=="Hippopede" || @trap=="Oblique Pancappa" || @trap=="Oblique Cappa" \ || @trap=="Oblique Bifolium" || @trap=="Lemniscate of Booth" \ || @trap=="Curve of Jefabek" || @trap=="Curve of Cramer" \ || @trap=="OM3" || @trap=="OM4" || @trap=="OM5" || @trap=="Hippopede of Proclus" \ || @trap=="OM11" || @trap=="Cissoid of Zahradnik" \ || @trap=="Rose Curve" || @trap=="Rose Curve 2" || @trap=="Cassinian Ovals" \ || @trap=="Conchoid of Nicomedes" || @trap=="Devil's Curve" || @trap=="Durer's Conchoid" \ || @trap=="Devil's Curve 2" || @trap=="Durer's Conchoid 2" || @trap=="Hyperbola" \ || @trap=="Parabola" || @trap=="Hyperbola 2" \ || @trap=="Pear-Shaped Quartic" || @trap=="Serpentine Curve" || @trap=="Sinusoid"\ || @trap=="Trident 2" || @trap=="Atriphthaloid" || @trap=="Clairaut Curve" || @trap=="Clinoid" \ || @trap=="Cross Curve" || @trap=="Cubic of Apollonius" || @trap=="Chasles Cubic" || @trap=="Circular Cubic" \ || @trap=="Dumbbell Curve" || @trap=="Kieroid"\ || @trap=="Egg of Granville" || @trap=="Curve of Rosillo" || @trap=="OM13" || @trap=="Ophiuride" \ || @trap=="Klein Quartic" || @trap=="Tangentoid" || @trap=="Beetle" || @trap=="Secantoid" || @trap=="Hyperbolic Secantoid" \ || @trap=="Spiric Curve" || @trap=="Spiric of Perseus" || @trap=="Tetracuspid" || @trap=="Trifolium" \ || @trap=="Trifolium 2" || @trap=="OM14" || @trap=="OM10" || @trap=="Isoptic Curve" || @trap=="Cotangentoid" \ || @trap=="Cosinusoid" || @trap=="Hyperbolic Cosinusoid" || @trap=="Cosecantoid" || @trap=="Hyperbolic Cosecantoid" \ || @trap=="Hyperbolic Sinusoid" || @trap=="Hyperbolic Cotangentoid" || @trap=="OM16" || @trap=="Alain Curve" \ || @trap=="OM19" || @trap=="OM20" || @trap=="Focal Conic Conchoid" || @trap=="Conchoid of a Circle" || @trap=="Satchel" \ || @trap=="Kepler's Folium" || @trap=="Parabola 2" || @trap=="Parabola 3" || @trap=="Scarab" || @trap=="Lissajous Quadratic" \ || @trap=="Watt's Curve" || @trap=="Limacon of Pascal 2" || @trap=="Newton's Diverging Parabolas 2" endparam param a3 caption="Curve Parameter 3" default=(1,0) visible=@trap=="Cartesian Oval" || @trap=="Superellipse" || @trap=="Newton's Diverging Parabolas" \ || @trap=="Pearls of Sluze" || @trap=="Spiric Sections" || @trap=="Superellipse 2" \ || @trap=="Oblique Pancappa" || @trap=="OM11" || @trap=="Cissoid of Zahradnik" \ || @trap=="Parabola" \ || @trap=="Trident 2" || @trap=="Clinoid" || @trap=="Cubic of Apollonius" || @trap=="Chasles Cubic" \ || @trap=="Circular Cubic" || @trap=="Kieroid" || @trap=="Egg of Granville" || @trap=="Curve of Rosillo" \ || @trap=="Klein Quartic" || @trap=="Beetle" || @trap=="Spiric Curve" || @trap=="Spiric of Perseus" \ || @trap=="Trifolium" || @trap=="OM16" || @trap=="OM19" || @trap=="OM20" || @trap=="Conchoid of a Circle" \ || @trap=="Parabola 2" || @trap=="Parabola 3" || @trap=="Watt's Curve" endparam param a4 caption="Curve Parameter 4" default=(1,0) visible=@trap=="Pearls of Sluze" || @trap=="Superellipse 2" || @trap=="Cissoid of Zahradnik" \ || @trap=="Trident 2" || @trap=="Cartesian Oval" || @trap=="Chasles Cubic" \ || @trap=="Circular Cubic" || @trap=="Spiric Curve" endparam param a5 caption="Curve Parameter 5" default=(1,0) visible=@trap=="Pearls of Sluze" || @trap=="Cissoid of Zahradnik" \ || @trap=="Circular Cubic" endparam param p6 caption="Julia Seed" default=(-1.25,0) visible=@T=="Julia" endparam func fn1 caption="Start Function" default=ident() endfunc param Fs caption="Pre Function" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""+pixel""-pixel"\ "*pixel""/pixel""ceil""floor""trunc""round" default=22 endparam param Fs2 caption="Post Function" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""+pixel""-pixel"\ "*pixel""/pixel""ceil""floor""trunc""round" default=22 endparam param bail caption="Bailout" default=4.0 endparam } FlefTritoroon{ init: z=fn1(pixel) loop: zold=z c=p1*sqr(z) a=z+recip(c) b=a/c if @F2=="ident" z=ident((b+recip(z)+p2)) elseif @F2=="half" z=(b+recip(z)+p2)/2 elseif @F2=="double" z=2*(b+recip(z)+p2) elseif @F2=="triple" z=3*(b+recip(z)+p2) elseif @F2=="sin" z=sin((b+recip(z)+p2)) elseif @F2=="sinh" z=sinh((b+recip(z)+p2)) elseif @F2=="sinhlog" z=sinh(log(b+recip(z)+p2)) elseif @F2=="asin" z=asin((b+recip(z)+p2)) elseif @F2=="asinh" z=asinh((b+recip(z)+p2)) elseif @F2=="versin" z=1-cos((b+recip(z)+p2)) elseif @F2=="coshlog" z=cosh(log(b+recip(z)+p2)) elseif @F2=="tan" z=tan((b+recip(z)+p2)) elseif @F2=="tanh" z=tanh((b+recip(z)+p2)) elseif @F2=="atan" z=atan((b+recip(z)+p2)) elseif @F2=="atanh" z=atanh((b+recip(z)+p2)) elseif @F2=="cotan" z=cotan((b+recip(z)+p2)) elseif @F2=="cotanh" z=cotanh((b+recip(z)+p2)) elseif @F2=="cosec" z=1/sin((b+recip(z)+p2)) elseif @F2=="cosech" z=1/sinh((b+recip(z)+p2)) elseif @F2=="exsec" z=1/cos((b+recip(z)+p2))-1 elseif @F2=="excosec" z=1/sin((b+recip(z)+p2))-1 elseif @F2=="crd" z=2*sin((b+recip(z)+p2)/2) elseif @F2=="acrd" z=2*asin((b+recip(z)+p2)/2) elseif @F2=="gd" z=asin(tanh((b+recip(z)+p2))) elseif @F2=="agd" z=asinh(tan((b+recip(z)+p2))) elseif @F2=="cosc" z=cos((b+recip(z)+p2))/((b+recip(z)+p2)) elseif @F2=="coshc" z=cosh((b+recip(z)+p2))/((b+recip(z)+p2)) elseif @F2=="cotanc" z=cotan((b+recip(z)+p2))/((b+recip(z)+p2)) elseif @F2=="cotanhc" z=cotanh((b+recip(z)+p2))/((b+recip(z)+p2)) elseif @F2=="secc" z=1/((b+recip(z)+p2)*cos((b+recip(z)+p2))) elseif @F2=="sechc" z=1/((b+recip(z)+p2)*cosh((b+recip(z)+p2))) elseif @F2=="cosecc" z= 1/((b+recip(z)+p2)*sin((b+recip(z)+p2))) elseif @F2=="cosechc" z=1/((b+recip(z)+p2)*sinh((b+recip(z)+p2))) elseif @F2=="sqr" z=sqr((b+recip(z)+p2)) elseif @F2=="sqrlog" z=sqr(log((b+recip(z)+p2))) elseif @F2=="cube" z=(b+recip(z)+p2)^3 elseif @F2=="log*" z=log(b+recip(z)+p2)*(b+recip(z)+p2) elseif @F2=="exp*" z=exp(b+recip(z)+p2)*(b+recip(z)+p2) elseif @F2=="abs" z=abs((b+recip(z)+p2)) elseif @F2=="conj" z=conj((b+recip(z)+p2)) elseif @F2=="conjcotan" z=conj(cotan((b+recip(z)+p2))) elseif @F2=="conjabs" z=conj(abs((b+recip(z)+p2))) elseif @F2=="flip" z=flip((b+recip(z)+p2)) elseif @F2=="recip" z=recip((b+recip(z)+p2)) elseif @F2=="recipcotan" z=recip(cotan((b+recip(z)+p2))) elseif @F2=="recipconj" z=recip(conj((b+recip(z)+p2))) elseif @F2=="recipflip" z=recip(flip((b+recip(z)+p2))) elseif @F2=="roundc" z=round(b+recip(z)+p2)/(b+recip(z)+p2) elseif @F2=="primecount" z=(b+recip(z)+p2)/log((b+recip(z)+p2)) elseif @F2=="*pixel" z=(b+recip(z)+p2)*pixel elseif @F2=="/pixel" z=(b+recip(z)+p2)/pixel elseif @F2=="doublelog" z=2*log(b+recip(z)+p2) endif if @V=="Newton" z=z-(z^3-1)/(3*z^2) elseif @V=="Nova" z=z-(z^3-1)/(3*z^2)+pixel endif z=z^2+pixel bailout: |zold-z|>@bail default: title="Flef Tritoroon" periodicity=0 center=(0.001,0.001) magn=0.25 func fn1 caption="Start Function" default=ident() endfunc param F2 caption="Loop Function" enum="ident""half""double""triple""sin""sinh""sinhlog""asin""asinh"\ "versin""coshlog""tan""tanh""atan""atanh""cotan""cotanh"\ "cosec""cosech""exsec"\ "excosec""crd""acrd""gd""agd""cosc""coshc"\ "cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrlog"\ "cube""log*""exp*""abs""conj""conjcotan""conjabs""flip""recip""recipcotan""recipconj""recipflip"\ "roundc""primecount""*pixel""/pixel""doublelog" default=0 endparam param V caption="Variant" enum="Newton""Nova" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=0.0000001 endparam } Gnarlathotep{ ;With apologies to H.P.Lovecraft. ;Note: Setting Exponent to 100 produces some classic gnarly patterns. init: float x=real(pixel) float y=imag(pixel) loop: float oldx=x float oldy=y if @V==0 x=x^(p3/100)-p1*sin(oldy+sin(p2*oldy)) y=y^(p3/100)-p1*sin(oldx+sin(p2*oldx)) elseif @V==1 x=x^(p3/100)-p1*sin(oldy+cos(p2*oldy)) y=y^(p3/100)-p1*sin(oldx+cos(p2*oldx)) elseif @V==2 x=x^(p3/100)-p1*cos(oldy+sin(p2*oldy)) y=y^(p3/100)-p1*cos(oldx+sin(p2*oldx)) elseif @V==3 x=x^(p3/100)-p1*cos(oldy+cos(p2*oldy)) y=y^(p3/100)-p1*cos(oldx+cos(p2*oldx)) elseif @V==4 x=x^(p3/100)-p1*sin(oldy+sin(p2*oldy)) y=y^(p3/100)-p1*cos(oldx+cos(p2*oldx)) elseif @V==5 x=x^(p3/100)-p1*real(sin(oldy+sin(p2*(oldy+sin(p4*oldy))))) y=y^(p3/100)+p1*real(sin(oldx+sin(p2*(oldx+sin(p4*oldx))))) elseif @V==6 x=x^(p3/100)-p1*real(sin(oldy+sin(p2*(oldy+sin(p4*oldy))))) y=y^(p3/100)+p1*real(sin(oldx-sin(p2*(oldx+sin(p4*oldx))))) elseif @V==7 x=x^(p3/100)+p1*cos(p2+oldy+cos(p4+pi*oldy)) y=y^(p3/100)+p1*cos(p2+oldx+cos(p4+pi*oldx)) elseif @V==8 x=x^(p3/100)+p1*sin(p2+oldy+sin(p4+pi*oldy)) y=y^(p3/100)+p1*sin(p2+oldx+sin(p4+pi*oldx)) elseif @V==9 x=x^(p3/100)+p1*sin(p2+oldy+sin(p4+pi*oldy)) y=y^(p3/100)+p1*cos(p2+oldx+cos(p4+pi*oldx)) elseif @V==10 x=x^(p3/100)+p1*sin(p2+oldy+cos(p4+pi*oldy)) y=y^(p3/100)+p1*cos(p2+oldx+cos(p4+pi*oldx)) elseif @V==11 x=x^(p3/100)+p1*cos(p2+oldy-cos(p4+pi*oldy)) y=y^(p3/100)+p1*cos(p2-oldx+cos(p4+pi*oldx)) elseif @V==12 x=x^(p3/100)+p1*cos(p2+oldy-cos(p4+pi*oldy)/oldx) y=y^(p3/100)+p1*cos(p2-oldx+cos(p4+pi*oldx)/oldy) elseif @V==13 x=x^(p3/100)-p1*sin(oldy+sin(p2*oldy)*oldx) y=y^(p3/100)-p1*sin(oldx+sin(p2*oldx)*oldy) elseif @V==14 x=x^(p3/100)+p1*cos(p2+oldy+cos(p4+pi*oldy)/oldx) y=y^(p3/100)+p1*cos(p2+oldx+cos(p4+pi*oldx)/oldy) elseif @V==15 x=x^(p3/100)+p1*cos(p2+oldy+cos(p4+pi*oldy)+oldy) y=y^(p3/100)+p1*cos(p2+oldx+cos(p4+pi*oldx)+oldx) elseif @V==16 x=x^(p3/100)-p1*(sin(oldy*sin(p2*oldy))) y=y^(p3/100)+p1*(sin(oldx*sin(p2*oldx))) elseif @V==17 x=x^(p3/100)-p1*(p2*sin(oldy^2)*sin(oldy)^2-sin(oldy)) y=y^(p3/100)+p1*(p2*sin(oldx^2)*sin(oldx)^2-sin(oldx)) elseif @V==18 x=x^(p3/100)-p1*(sin(oldy)*sin(oldy)-p2*sin(oldy)) y=y^(p3/100)+p1*(sin(oldx)*sin(oldx)-p2*sin(oldx)) elseif @V==19 x=x^(p3/100)-p1*((sin(oldy))-p2*sin(oldx)) y=y^(p3/100)+p1*((sin(oldx))-p2*sin(oldy)) elseif @V==20 x=x^(p3/100)-p1*(sin(oldy)*cos(oldy)) y=y^(p3/100)+p1*(sin(oldx)*cos(oldx)) elseif @V==21 x=x^(p3/100)-p1*(sin(oldy)+sin(oldy))*sin(p2*oldy+p4*sin(oldx)) y=y^(p3/100)+p1*(sin(oldx)+sin(oldx))*sin(p2*oldy+p4*sin(oldx)) elseif @V==22 x=x^(p3/100)-p1*(sin(oldy)+sin(oldy))/(p2-7)*cabs(oldy+flip(oldx)) y=y^(p3/100)+p1*(sin(oldx)+sin(oldx))/(p2-7)*cabs(oldx+flip(oldy)) elseif @V==23 x=x^(p3/100)-p1*(sin(oldy)+p2*cos(oldy))*sin(oldy+sin(p4*oldx)) y=y^(p3/100)+p1*(sin(oldx)+p2*cos(oldx))*sin(oldy+sin(p4*oldx)) elseif @V==24 x=x^(p3/100)-p1*sin(oldy+cos(p2*oldy)^3+cos(oldy)^2+5*sin(p4*oldy)) y=y^(p3/100)+p1*sin(oldx+cos(p2*oldx)^3+cos(oldx)^2+5*sin(p4*oldx)) elseif @V==25 x=x^(p3/100)-p1*sin(oldy+cos(p2*oldy)^3-cos(oldy)^2+5*sin(p4*oldy)) y=y^(p3/100)+p1*sin(oldx-cos(p2*oldx)^3+cos(oldx)^2-5*sin(p4*oldx)) elseif @V==26 x=x^(p3/100)-p1*log(p2/sin(p4*oldy)) y=y^(p3/100)+p1*log(p2/sin(p4*oldx)) elseif @V==27 x=x^(p3/100)-p1*sin(oldy+p2*cabs(acos(p4*oldy))) y=y^(p3/100)+p1*sin(oldx-p2*cabs(acos(p4*oldx))) elseif @V==28 x=x^(p3/100)-p1*sin(oldy+p2*cabs(sqrt(p4*oldy))) y=y^(p3/100)+p1*sin(oldx-p2*cabs(sqrt(p4*oldx))) elseif @V==29 x=x^(p3/100)-p1*real(cos(oldy+asin(p2*(oldy+cotan(p4*oldy))))) y=y^(p3/100)+p1*real(cos(oldx+asin(p2*(oldx+cotan(p4*oldx))))) elseif @V==30 x=x^(p3/100)-p1*sin(oldy+p2*cabs(abs(p4*oldy))) y=y^(p3/100)+p1*sin(oldx-p2*cabs(abs(p4*oldx))) elseif @V==31 x=x^(p3/100)-p1*real(cos(oldy+asinh(p2*(oldy+sqrt(p4*oldy))))) y=y^(p3/100)+p1*real(cos(oldx+asinh(p2*(oldx+sqrt(p4*oldx))))) elseif @V==32 x=x^(p3/100)-p1*real(cos(oldy+cos(p2*(oldy+recip(p4*oldy))))) y=y^(p3/100)+p1*real(cos(oldx+cos(p2*(oldx+recip(p4*oldx))))) elseif @V==33 x=x^(p3/100)-2*p1*real(sin(oldy+asinh(p2*(oldy+sin(p4*oldy))))) y=y^(p3/100)+2*p1*real(sin(oldx+asinh(p2*(oldx+sin(p4*oldx))))) elseif @V==34 x=x^(p3/100)-p1*(sin(cos(p2*oldy)+sin(p4*oldy))) y=y^(p3/100)-p1*(sin(cos(p2*oldx)+sin(p4*oldx))) elseif @V==35 x=x^(p3/100)+p1*(sin(sqr(p2*oldy)-p4*cabs(sin(oldy)))) y=y^(p3/100)+p1*(sin(sqr(p2*oldx)+p4*cabs(sin(oldx)))) elseif @V==36 x=x^(p3/100)-p1*cabs(cos(p2*oldy)*p4*sin(oldy)) y=y^(p3/100)+p1*cabs(cos(p2*oldx)*p4*sin(oldx)) elseif @V==37 x=x^(p3/100)-p1*(cos(p2*oldy+p2)*cos(p4*oldy-p4)) y=y^(p3/100)+p1*(cos(p2*oldx+p2)*cos(p4*oldx-p4)) elseif @V==38 x=x^(p3/100)-p1*(cos(p2*oldy+p2)+2*cos(oldy)+1.7*p4*cos(1.7*p4*oldy)) y=y^(p3/100)+p1*(cos(p2*oldx+p2)+2*cos(oldx)+1.7*p4*cos(1.7*p4*oldx)) elseif @V==39 x=x^(p3/100)-p1*(cos(oldy+cos(p2*oldy+p2*cos(p4*oldy)))) y=y^(p3/100)+p1*(cos(oldx+cos(p2*oldx+p2*cos(p4*oldy)))) elseif @V==40 x=x^(p3/100)-p1*sin(oldy+cabs(acos(p2*oldy+p4))) y=y^(p3/100)-p1*sin(oldx+cabs(acos(p2*oldx+p4))) elseif @V==41 x=x^(p3/100)-p1*sin(oldy+cabs(tanh(p2*oldy+p4))) y=y^(p3/100)-p1*sin(oldx+cabs(sqr(p2*oldx+p4))) elseif @V==42 x=x^(p3/100)-p1*sin(oldy+cabs(cosh(p2*oldy+p4))) y=y^(p3/100)-p1*sin(oldx+cabs(flip(p2*oldx+p4))) elseif @V==43 x=x^(p3/100)-p1*sin(oldy+atan2(sqr(p2*oldy+4*p4))) y=y^(p3/100)-p1*sin(oldx+atan2(sqr(p2*oldx+4*p4))) elseif @V==44 x=x^(p3/100)-p1*real(sin(oldy+cos(p2*oldy+p4))) y=y^(p3/100)-p1*imag(sin(oldx+asin(p2*oldx+p4))) elseif @V==45 x=x^(p3/100)-p1*real(sin(oldy+cos(p2*oldy+p4))) y=y^(p3/100)-p1*imag(sin(oldx+acosh(p2*oldx+p4))) elseif @V==46 x=x^(p3/100)+p1*real(sin(oldy-sin(p2*(oldy*sin(p4*oldy))))) y=y^(p3/100)+p1*real(sin(oldx-sin(p2*(oldx*sin(p4*oldx))))) elseif @V==47 x=x^(p3/100)+p1*real(cos(oldy-sin(p2*(oldy*sin(p4*oldy))))) y=y^(p3/100)+p1*real(cos(oldx-sin(p2*(oldx*sin(p4*oldx))))) elseif @V==48 x=x^(p3/100)+p1*real(cos(oldy-asinh(p2*(oldy*sin(p4*oldy))))) y=y^(p3/100)+p1*real(cos(oldx-asinh(p2*(oldx*sin(p4*oldx))))) elseif @V==49 x=x^(p3/100)+p1*real(sin(oldy-cabs(p2*(oldy*acos(p4*oldy))))) y=y^(p3/100)+p1*real(sin(oldx-cabs(p2*(oldx*acos(p4*oldx))))) endif z=x+flip(y) bailout: |z|<@bail default: title="Gnarlathotep" center=(0.01,0.001) magn=0.125 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11"\ "12""13""14""15""16""17""18""19""20""21"\ "22""23""24""25""26""27""28""29""30""31"\ "32""33""34""35""36""37""38""39""40""41"\ "42""43""44""45""46""47""48""49""50" default=0 endparam param p3 caption="Exponent" default=101.0 endparam param p1 caption="Parameter 1" default=0.4 endparam param p2 caption="Parameter 2" default=-0.46058 visible=@V!=20 endparam param p4 caption="Parameter 3" default=1.0 visible=@V!=0 && @V!=1 && @V!=2 \ && @V!=3 && @V!=4 && @V!=13 && @V!=16 \ && @V!=17 && @V!=18 && @V!=19 && @V!=20 \ && @V!=22 endparam Param Bail caption="Bailout" default=1000.0 endparam } Gnarlathotep2{ init: if @Fs=="ident" float x=real(pixel) float y=imag(pixel) elseif @Fs=="abs" float x=real(abs(pixel)) float y=imag(abs(pixel)) elseif @Fs=="sqr" float x=real(sqr(pixel))/32 float y=imag(sqr(pixel))/32 elseif @Fs=="om1" float x=real(abs(pixel*acos(pixel)))/4 float y=imag(abs(pixel*acos(pixel)))/4 elseif @Fs=="om2" float x=real(flip(pixel)+0.5*cabs(pixel)) float y=imag(flip(pixel)+0.5*cabs(pixel)) elseif @Fs=="om3" float x=real(conj(pixel^2)/pixel) float y=imag(cabs(pixel^2)/pixel) elseif @Fs=="om4" float x=real(flip(pixel^2)/pixel) float y=imag(flip(pixel^2)/pixel) elseif @Fs=="om5" float x=0.5*real(|pixel|/sqrt(pixel)) float y=imag(|pixel|/flip(pixel)) elseif @Fs=="om6" float x=real(|pixel|/pixel) float y=imag(|pixel|/asinh(pixel)) else float x=real(pixel-0.2*flip(pixel+flip(11*pixel))) float y=imag(pixel-0.2*abs(pixel+abs(11*pixel))) endif loop: float x2=real(p3)*y+real(p4) float y2=imag(p3)*x+imag(p4) if @V1==0 x2=y+sin(p2*x2) y2=x+sin(p2*y2) elseif @V1==1 x2=y+cos(p2*x2) y2=x+cos(p2*y2) elseif @V1==2 x2=y+sin(p2*x2) y2=x+cos(p2*y2) elseif @V1==3 x2=y-sin(p2*x2) y2=x-sin(p2*y2) elseif @V1==4 x2=y-sin(p2*x2) y2=x-cos(p2*y2) elseif @V1==5 x2=y+sin(p2*x2) y2=x-sin(p2*y2) elseif @V1==6 x2=y+cos(p2*x2) y2=x-cos(p2*y2) endif if @V2==0 x=x-p1*sin(x2) y=y-p1*sin(y2) elseif @V2==1 x=x-p1*cos(x2) y=y-p1*cos(y2) elseif @V2==2 x=x-p1*sin(x2) y=y-p1*cos(y2) elseif @V2==3 x=x+p1*sin(x2) y=y-p1*sin(y2) elseif @V2==4 x=x+0.5*p1*(sin(x2)+cos(x2)) y=y-0.5*p1*(sin(y2)+cos(y2)) elseif @V2==5 x=x+0.5*p1*(sin(x2)+sin(x2)) y=y-0.5*p1*(cos(y2)+cos(y2)) elseif @V2==6 x=x+p1*(sin(x2)*cos(x2)) y=y-p1*(sin(y2)*cos(y2)) endif if @Vf=="x+flip(y)" z=x+flip(y) elseif @Vf=="x*flip(y)" z=x*flip(y) else z=x/flip(y) endif bailout: |z|<@bail default: title="Gnarlathotep 2" magn=0.0625 periodicity=0 center=(0.001,0) param Fs caption="Start Function" enum="ident""abs""sqr""om1""om2""om3""om4""om5""om6""om7" default=0 endparam param V1 caption="Variation 1" enum="1""2""3""4""5""6""7" default=0 endparam param V2 caption="Variation 2" enum="1""2""3""4""5""6""7" default=0 endparam param Vf caption="Final Variation" enum="x+flip(y)""x*flip(y)""x/flip(y)" default=0 endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=1.16 endparam param p3 default=(1,1) endparam param p4 default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } Whittaker{ ; http://www.pdbzro.com/gags/math/root%20finding.pdf ; f(z)=z^a-b init: z=fn1(pixel) loop: z=fn2(z-0.5*p1*(z^p3-p4)*(2-p2*(z^p3-p4))) bailout: (@Bt==0 && |z|<@baildiv) || (@Bt==1 && |z^p3-p4|>@bailcon) default: title="Whittaker 1" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(-0.11,0) endparam param p2 default=(1,0) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading caption="Expression f(z)=z^a-b" endheading param p3 caption="Exponent" default=4 endparam param p4 caption="Constant" default=(1,0) endparam heading endheading param Bt caption="Bailout Type" enum="divergent""convergent" default=1 endparam param baildiv caption="Bailout Value" default=4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.00001 visible=@Bt==1 endparam } Whittaker2{ ; http://www.pdbzro.com/gags/math/root%20finding.pdf ; f(z)=(z-a)*(z-b) init: z=fn1(pixel) loop: z=fn2(z-0.5*p1*((z-p3)*(z-p4))*(2-p2*((z-p3)*(z-p4)))) bailout: (@Bt==0 && |z|<@baildiv) || (@Bt==1 && |(z-p3)*(z-p4)|>@bailcon) default: title="Whittaker 2" center=(0.8,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1.6,0) endparam heading endheading func fn1 default=ident() endfunc func fn2 default=ident() endfunc heading caption="Expression f(z)=(z-a)*(z-b)" endheading param p3 caption="Constant 1" default=(1,0) endparam param p4 caption="Constant 2" default=(1,0) endparam heading endheading param Bt caption="Baiout Type" enum="divergent""convergent" default=1 endparam param baildiv caption="Bailout Value" default=4.0 visible=@Bt==0 endparam param bailcon caption="Bailout Value" default=0.00001 visible=@Bt==1 endparam } Volterra-Lotka2{ init: z=fn1(pixel) loop: x=p1*real(z)*(1-real(z)-p2*imag(z)) y=p3*imag(z)*(1-imag(z)-p4*real(z)) z=p5*fn2(x+flip(y))+p6 bailout: |z|<@bail default: title="Volterra-Lotka 2" center=(0.001,0.001) periodicity=0 param p1 default=(-0.5,0) endparam param p2 default=(4,0) endparam param p3 default=(1.05,-1.2) endparam param p4 default=(0.85,0.4) endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Ikeda{ ;https://en.wikipedia.org/wiki/Ikeda_map ;http://www.atomosyd.net/spip.php?article132 init: z=fn1(pixel) loop: if @V==0 z=p1+p2*z*e^(sqrt(-1)*(cabs(z)^2+p3)) elseif @V==1 z=p4+p5*z*e^(sqrt(-1)*@p6/(cabs(Z)^2+1)+@p7) else x=@p8+@p9*(real(z)*cos(@p10-@p11/(real(z)^2+imag(z)^2+1))-imag(z)*sin(@p10-@p11/(real(z)^2+imag(z)^2+1))) y=@p9*(real(z)*sin(@p10-@p11/(real(z)^2+imag(z)^2+1))+imag(z)*cos(@p10-@p11/(real(z)^2+imag(z)^2+1))) z=x+flip(y) endif bailout: |z|<@bail default: title="Ikeda" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam func fn1 caption="Function" default=ident() endfunc param p1 default=(1,0) visible=@V==0 endparam param p2 default=(1,0) visible=@V==0 endparam param p3 default=(1,0) visible=@V==0 endparam param p4 caption="Parameter 1" default=(1,0) visible=@V==1 endparam param p5 caption="Parameter 2" default=(-0.31,0.21) visible=@V==1 endparam param p6 caption="Parameter 3" default=(1,0) visible=@V==1 endparam param p7 caption="Parameter 4" default=(1,0) visible=@V==1 endparam param p8 caption="Parameter 1" default=(1,0) visible=@V==2 endparam param p9 caption="Parameter 2" default=(1,0) visible=@V==2 endparam param p10 caption="Parameter 3" default=(2.38,-0.57) visible=@V==2 endparam param p11 caption="Parameter 4" default=(1,0) visible=@V==2 endparam param bail caption="Bailout" default=4.0 endparam } Absomopaboli1 { init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif i=sqrt(-1) loop: a=p1*abs(z)/100+p2/100 b=(2*a-3)/(a-1) c=(i*b+1)/(-2*b+i) z=(-c+3)/(-c+2) bailout: |z|<@bailout default: title="Absomopaboli 1" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(97.39,0) endparam param p2 default=(0,0) endparam param Fs caption="Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param bailout caption="Bailout" default=4.0 endparam } circle/gauss { init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: z=fn2(e^(-p1*z^2)+p2) z=fn3(z+p3-p4*sin(2*pi*z)/(2*pi)) bailout: |z|<@bail default: title="Circle / Gauss" center=(0.001,0.001) magn=2 param p1 default=(1,0) endparam param p2 default=(0.4524,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param Fs caption="Function 1" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam func fn2 default=ident() endfunc func fn3 default=acosh() endfunc param bail caption="Bailout" default=4.0 endparam } Narlo{ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="cube+" z=pixel^3+pixel^2+pixel elseif @Fs=="smoothstep" z=3*pixel^2-2*pixel^3 endif float x=10*p3*real(z) float y=10*p3*imag(z) loop: float oldx=x float oldy=y if @F2=="Sin" x=x-p1*real(sin(oldy+sin(p2*(oldy+sin(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+sin(oldx)))))+imag(pixel) elseif @F2=="asin" x=x-p1*real(sin(oldy+sin(p2*(oldy+asin(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+asin(oldx)))))+imag(pixel) elseif @F2=="asinh" x=x-p1*real(sin(oldy+sin(p2*(oldy+asinh(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+asinh(oldx)))))+imag(pixel) elseif @F2=="cos" x=x-p1*real(sin(oldy+sin(p2*(oldy+cos(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+cos(oldx)))))+imag(pixel) elseif @F2=="acosh" x=x-p1*real(sin(oldy+sin(p2*(oldy+acosh(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+acosh(oldx)))))+imag(pixel) elseif @F2=="tan" x=x-p1*real(sin(oldy+sin(p2*(oldy+tan(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+tan(oldx)))))+imag(pixel) elseif @F2=="tanh" x=x-p1*real(sin(oldy+sin(p2*(oldy+tanh(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+tanh(oldx)))))+imag(pixel) elseif @F2=="atanh" x=x-p1*real(sin(oldy+sin(p2*(oldy+atanh(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+atanh(oldx)))))+imag(pixel) elseif @F2=="sqrt" x=x-p1*real(sin(oldy+sin(p2*(oldy+sqrt(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+sqrt(oldx)))))+imag(pixel) elseif @F2=="log" x=x-p1*real(sin(oldy+sin(p2*(oldy+log(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+log(oldx)))))+imag(pixel) elseif @F2=="abs" x=x-p1*real(sin(oldy+sin(p2*(oldy+abs(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+abs(oldx)))))+imag(pixel) elseif @F2=="conj" x=x-p1*real(sin(oldy+sin(p2*(oldy+conj(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+conj(oldx)))))+imag(pixel) elseif @F2=="flip" x=x-p1*real(sin(oldy+sin(p2*(oldy+flip(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+flip(oldx)))))+imag(pixel) elseif @F2=="round" x=x-p1*real(sin(oldy+sin(p2*(oldy+round(oldy)))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+round(oldx)))))+imag(pixel) elseif @F2=="expcos" x=x-p1*real(sin(oldy+sin(p2*(oldy+exp(cos(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+exp(cos(oldx))))))+imag(pixel) elseif @F2=="sqrcos" x=x-p1*real(sin(oldy+sin(p2*(oldy+sqr(cos(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+sqr(cos(oldx))))))+imag(pixel) elseif @F2=="cotanhrecip" x=x-p1*real(sin(oldy+sin(p2*(oldy+cotanh(recip(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+cotanh(recip(oldx))))))+imag(pixel) elseif @F2=="cotanhcotanh" x=x-p1*real(sin(oldy+sin(p2*(oldy+cotanh(cotanh(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+cotanh(cotanh(oldx))))))+imag(pixel) elseif @F2=="sinsqrt" x=x-p1*real(sin(oldy+sin(p2*(oldy+sin(sqrt(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+sin(sqrt(oldx))))))+imag(pixel) elseif @F2=="sinacos" x=x-p1*real(sin(oldy+sin(p2*(oldy+sin(acos(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+sin(acos(oldx))))))+imag(pixel) elseif @F2=="roundflip" x=x-p1*real(sin(oldy+sin(p2*(oldy+round(flip(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+round(flip(oldx))))))+imag(pixel) elseif @F2=="asinflip" x=x-p1*real(sin(oldy+sin(p2*(oldy+asin(flip(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+asin(flip(oldx))))))+imag(pixel) elseif @F2=="asinsinh" x=x-p1*real(sin(oldy+sin(p2*(oldy+asin(sinh(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+asin(sinh(oldx))))))+imag(pixel) elseif @F2=="asinround" x=x-p1*real(sin(oldy+sin(p2*(oldy+asin(round(oldy))))))+real(pixel) y=y+p1*real(sin(oldx+sin(p2*(oldx+asin(round(oldx))))))+imag(pixel) endif z=x+flip(y) bailout: |z|<@bail default: title="Narlo" center=(0.001,0.001) magn=2 param Fs caption="Start Function" enum="ident""sech""cube""abs""cabs"\ "conj""flip""cube+""smoothstep" default=0 endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=-0.2 endparam param p3 caption="Parameter 3" default=0.1 endparam param F2 caption="Loop Function" enum="sin""asin""asinh""cos""acosh""tan""tanh"\ "atanh""sqrt""log""abs""conj""flip""round""expcos"\ "sqrcos""cotanhrecip""cotanhcotanh""sinsqrt""sinacos"\ "roundflip""asinflip""asinsinh""asinround" default=0 endparam func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } Nuty10{ init: z=fn1(pixel) loop: f1=exp(z) f2=sin(z)+f1-p1 if @V==0 z=z-p1*f2/(fn2(cotanh(z))+f1) elseif @V==1 z=z-p2*f2/(fn2(z)+f1) else z=z-p2*atanh(f2)/(fn2(z)+f1) endif bailout: |f2|>@bail default: title="Nuty 10" periodicity=0 center=(0.001,0.001) param V caption="Variant" enum="1""2""3" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(2.5,0) visible=@V==1 || @V==2 endparam param bail caption="Bailout" default=0.000001 endparam } PolyharmonicPendulum{ ; https://books.google.co.uk/books?id=6Rrgc_1cN2IC&pg=PA1&lpg=PA1&dq=invariant+sets+for+windows&source=bl&ots=AJygI8xfX-&sig=k-At2-rJ67c3BBlozSMlh3WUY7U&hl=en&sa=X&ved=0ahUKEwiv5YOQoIHRAhVdIFAKHQkACYwQ6AEILjAE#v=onepage&q=invariant%20sets%20for%20windows&f=false init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: x=imag(z) y=-p1*sin(real(z))-p2*sin(3*real(z))+p3*sin(p4) z=fn2(x+flip(y))^@pow bailout: |z|<@bail default: title="Polyharmonic Pendulum" center=(0.001,0.001) param p1 default=(0.1,0) endparam param p2 default=(1,0) endparam param p3 default=(-0.52,-0.17) endparam param p4 default=(-1.64,-1) endparam param Fs caption="Function 1" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Quack3{ ;http://www.algorithmic-worlds.net/blog/blog.php?Post=20110227 ;https://softologyblog.wordpress.com/2011/04/06/ducks-fractals-variations/ ;https://softologyblog.wordpress.com/2011/05/04/kalisets-and-hybrid-ducks/ ;https://softologyblog.wordpress.com/2011/05/10/more-ducks-and-kaliset-variations/ ;https://softologyblog.wordpress.com/2011/05/13/still-more-new-ducks-and-kaliset-variations/ init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if@V==0 if imag(z)>0 z=z else z=conj(z) endif z=log(z+p1) elseif @V==1 if imag(z)>0 z=z else z=conj(z) endif z=log(sin(z+p2)) elseif @V==2 if imag(z)>0 z=z else z=conj(z) endif z=log(sqr(z+p3)) elseif @V==3 if imag(z)>0 z=z else z=conj(z) endif z=log(sin(z)+p4) elseif @V==4 if imag(z)>0 z=z else z=conj(z) endif z=log(sqr(z)+p5) elseif @V==5 z=log(abs(z^(-1))+p6) elseif @V==6 z=log(sin(abs(z^(-1)))+@p7) elseif @V==7 z=sin(abs(z^(-1)))+@p8 elseif @V==8 z=1/abs(z)+@p9 elseif @V==9 z=abs(z)/abs(@p10)+@p10 elseif @V==10 z=abs(z)^(-3)+@p11 elseif @V==11 z=abs(z)/@p12+@p12 elseif @V==12 z=abs(z/@p13)+@p13 elseif @V==13 z=abs(z*@p14+1)+1/abs(z*@p14+1) elseif @V==14 z=(z*@p15+1)+1/(z*@p15+1) elseif @V==15 z=abs(log(z*@p16+1))+1/abs(log(z*@p16+1)) elseif @V==16 z=log(abs(z*@p17+1))+1/log(abs(z*@p17+1)) endif bailout: |z|<@bail default: title="Quack 3" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17" default=0 endparam param p1 caption="Parameter" default=(0.9,-0.7) visible=@V==0 endparam param p2 caption="Parameter" default=(0.8,-0.9) visible=@V==1 endparam param p3 caption="Parameter" default=(0.6,-1.1) visible=@V==2 endparam param p4 caption="Parameter" default=(0.8,-1.1) visible=@V==3 endparam param p5 caption="Parameter" default=(1.2,-1) visible=@V==4 endparam param p6 caption="Parameter" default=(0.3,-0.3) visible=@V==5 endparam param p7 caption="Parameter" default=(0.5,-0.6) visible=@V==6 endparam param p8 caption="Parameter" default=(-0.1,-1.3) visible=@V==7 endparam param p9 caption="Parameter" default=(-1.5,0.1) visible=@V==8 endparam param p10 caption="Parameter" default=(-0.5,-0.6) visible=@V==9 endparam param p11 caption="Parameter" default=(-0.1,-1.1) visible=@V==10 endparam param p12 caption="Parameter" default=(-0.7,0.6) visible=@V==11 endparam param p13 caption="Parameter" default=(0.4,-0.7) visible=@V==12 endparam param p14 caption="Parameter" default=(-1.2,-0.4) visible=@V==13 endparam param p15 caption="Parameter" default=(-0.2,-0.7) visible=@V==14 endparam param p16 caption="Parameter" default=(0.1,1.2) visible=@V==15 endparam param p17 caption="Parameter" default=(-0.8,1.6) visible=@V==16 endparam param Fs caption="Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param bail caption="Bailout" default=4.0 endparam } F-LemaBonyMix{ init: c=exp(p2*2*pi) z=fn1(pixel) i=sqrt(-1) loop: f=fn2(z) if |f-c|<1 f=conj(1/(f-c))+c else f=conj(1/f) endif g=(f+p1)/(p1*f+1) h=(i*g+i)/(-g+1) j=(i*h+i)/(-h+1) k=(j-p1)/(-p1*j+1) l=(k-p1)/(-p1*k+1) m=(l-i)/(l+i) z=(m+p1)/(p1*m+1) bailout: |z|<@bailout default: title="F-Lema Bony Mix" center=(0.001,0.001) maxiter=500 param p1 default=(0,-1.4) endparam param p2 default=(0,-0.1) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bailout caption="Bailout" default=4.0 endparam } Grebogi{ ;http://www.emis.de/journals/HOA/DDNS/2/153.pdf init: z=fn1(pixel) loop: z=fn2(z) x=p1*tanh(real(z))*cos(2*pi*imag(z)) y=(imag(z)+p2)%1 z=x+flip(y) bailout: |z|<@bail default: title="Grebogi" center=(0.001,0.001) magn=2 maxiter=500 param p1 default=(2.69,-0.31) endparam param p2 caption="Parameter 2" default=0.0103 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Kaplan-Yorke{ ;https://books.google.co.uk/books?id=mbtCAAAAQBAJ&pg=PA56&lpg=PA56&dq=attractor+map&source=bl&ots=JE2mytSt6G&sig=OsISvZKKmhhqtBpB1krK74AvPkU&hl=en&sa=X&ved=0ahUKEwiM29y_34PRAhWrLcAKHZGMCEs4FBDoAQgeMAE#v=onepage&q=attractor%20map&f=false init: z=fn1(pixel) loop: z=fn2(z) x=p1*real(z)%1 y=-p2*imag(z)+cos(2*pi*real(z)) z=x+flip(y) bailout: |z|<@bail default: title="Kaplan-Yorke" center=(0.001,0.001) magn=0.5 param p1 caption="Parameter 1" default=0.2 endparam param p2 default=(1,-0.4) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Logistic{ init: z=k2=k1=fn1(pixel) loop: z=fn2(z) if @V==0 z=p1*z*(1-z) elseif @V==1 z=z+p2*z*(1-z) elseif @V==2 z=z*(1+p3*(1-z)/p4) elseif @V==3 z=p5*z*(1-z*(p6-p5)/@p7) elseif @V==4 k1=k2 k2=z z=z+@p8*(3*z*(1-z)-k1*(1-k1))/2 else x=@p9*real(z)*(1-real(z))/(1+@p11*imag(z)) y=@p10*imag(z)*(1-imag(z))/(1+@p12*real(z)) z=x+flip(y) endif bailout: |z|<@bail default: title="Logistic" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 caption="Parameter" default=(1,0) visible=@V==0 endparam param p2 caption="Parameter" default=(2,0) visible=@V==1 endparam param p3 caption="Parameter 1" default=(1.5,0) visible=@V==2 endparam param p4 caption="Parameter 2" default=(-1,0) visible=@V==2 endparam param p5 caption="Parameter 1" default=(1,0) visible=@V==3 endparam param p6 caption="Parameter 2" default=(-1.5,0) visible=@V==3 endparam param p7 caption="Parameter 3" default=(1.5,0) visible=@V==3 endparam param p8 caption="Parameter" default=(1,0) visible=@V==4 endparam param p9 caption="Parameter 1" default=(1,0) visible=@V==5 endparam param p10 caption="Parameter 2" default=(1,0) visible=@V==5 endparam param p11 caption="Parameter 3" default=(1,0) visible=@V==5 endparam param p12 caption="Parameter 4" default=(1,0) visible=@V==5 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } QuadNonLin{ ; From the book 'Invariant Sets for Windows' init: z=fn1(pixel) loop: z=fn2(z) x=imag(z) y=-p1*real(z)-p2*real(z)^2+(p3+p4*real(z)^2)*imag(z)+p5*sin(p6) z=fn3(x+flip(y))^@pow bailout: |z|<@bail default: title="Quad Non Lin" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(2,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param bail caption="Bailout" default=4.0 endparam } Saventeest{ init: z=fn1(pixel) loop: a=p1*fn2(z)^@pow+p2 b=(2*a-1)/(-a+1) z=(b-1)/(-b+2) bailout: |z|<@bail default: title="Saventeest" center=(0.001,0.001) maxiter=250 periodicity=0 param p1 default=(-1.6,0) endparam param p2 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=sqr() endfunc param pow caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } Spiskongencivich{ init: z=fn1(pixel) loop: z=fn2(z) x=cos(p1*real(z))-sin(p2*imag(z)) y=sin(p3*real(z))+cos(p4*imag(z)) z=x+flip(y) bailout: |z|<@bail default: title="Spiskongencivich" center=(0.001,0.001) magn=0.125 param p1 default=(1.05,-0.1) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Sprott3{ ;From 'Elegant Chaos: Algebraically Simple Chaotic Flows' by J.C.Sprott ;Chaotic Forced Complex Oscillators init: z=fn1(pixel) loop: z=@p8*fn2(z)+@p9 if @V==0 z=e^(sqrt(-1)*p1)-z^2+conj(z)-1 elseif @V==1 z=e^(sqrt(-1)*p2)-(z-conj(z))*z-1 elseif @V==2 z=e^(sqrt(-1)*p3)-2*z^2+conj(z)^2-2 elseif @V==3 z=e^(sqrt(-1)*p4)-0.3*z^3-conj(z)-0.3 elseif @V==4 z=e^(sqrt(-1)*p5)-(0.2*z^2+1)*z-conj(z) elseif @V==5 z=e^(sqrt(-1)*p6)-(z^2-conj(z)^2)*z-conj(z) elseif @V==6 z=e^(sqrt(-1)*@p7)-(z^2+z*conj(z)+conj(z)^2+1)*conj(z) endif bailout: |z|<@bail default: title="Sprott 3" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7" default=0 endparam param p1 caption="Parameter 1" default=(-0.62,-0.14) visible=@V==0 endparam param p2 caption="Parameter 1" default=(-0.52,-0.18) visible=@V==1 endparam param p3 caption="Parameter 1" default=(-0.2,-0.7) visible=@V==2 endparam param p4 caption="Parameter 1" default=(0.04,0.07) visible=@V==3 endparam param p5 caption="Parameter 1" default=(0.88,-0.51) visible=@V==4 endparam param p6 caption="Parameter 1" default=(0.05,-0.32) visible=@V==5 endparam param p7 caption="Parameter 1" default=(0.49,0.7) visible=@V==6 endparam param p8 caption="Parameter 2" default=(1,0) endparam param p9 caption="Parameter 3" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Belousov-Zhabotinsky{ ;Formula based loosely on the Belousov-Zhabotinsky oscilator ;http://www.math.colostate.edu/~shipman/47/volume2b2010/MDodd.pdf init: z=fn1(pixel) loop: x=(real(z)*(1-real(z))+imag(z)*fn2(p1-real(z))/(p1+real(z)))/p2 y=real(z)-imag(z) z=x+flip(y) bailout: |z|<@bail default: title="Belousov-Zhabotinsky" center=(0.001,0.001) periodicity=0 param p1 default=(-0.05,0.67) endparam param p2 default=(-2,1.4) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Collatz{ ;https://en.wikipedia.org/wiki/Collatz_conjecture init: z=fn1(pixel) loop: z=p5*fn2(z)+p6 if @V==0 z=0.25*(p1+7*z-(p2+5*z)*cos(pi*z)) else z=0.25*(p3+4*z-(p4+2*z)*cos(pi*z)) endif bailout: |z|<@bail default: title="Collatz" center=(0.001,0.001) magn=2 periodicity=0 param V caption="Variant" enum="1""2" default=1 endparam param p1 caption="Parameter 1" default=2.0 visible=@V==0 endparam param p2 caption="Parameter 2" default=1.9 visible=@V==0 endparam param p3 caption="Parameter 1" default=1.0 visible=@V==1 endparam param p4 caption="Parameter 2" default=0.75 visible=@V==1 endparam param p5 caption="Parameter 3" default=(1,0) endparam param p6 caption="Parameter 4" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Miotakral{ init: z=fn1(pixel) loop: z=fn2(z) x=real(z)-imag(z)-fn3(real(z))*(p1*real(z)^2+p2*imag(z)^2) y=real(z)+imag(z)-fn4(imag(z))*(p3*real(z)^2+p4*imag(z)^2) z=x+flip(y) bailout: |z|<@bail default: title="Miotakral" center=(0.001,0.001) param p1 default=(-0.69,-0.07) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Loop Function 3" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Sprott4{ ;From 'Elegant Chaos: Algebraically Simple Chaotic Flows' by J.C.Sprott init: z=fn1(pixel) loop: z=p2*fn2(z)+p3 z=-z^2*e^(sqrt(-1)*p1)-conj(z)-1 bailout: |z|<@bail default: title="Sprott 4" center=(0.001,0.001) periodicity=0 param p1 default=(0.05,0.64) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Thanu{ ;https://books.google.co.uk/books?id=mbtCAAAAQBAJ&pg=PA56&lpg=PA56&dq=attractor+map&source=bl&ots=JE2mytSt6G&sig=OsISvZKKmhhqtBpB1krK74AvPkU&hl=en&sa=X&ved=0ahUKEwiM29y_34PRAhWrLcAKHZGMCEs4FBDoAQgeMAE#v=onepage&q=attractor%20map&f=false init: z=fn1(pixel) loop: z=fn2(z) x=imag(z) y=real(z)-real(z)^3-p1*imag(z)+p2 z=x+flip(y) bailout: |z|<@bail default: title="Thanu" center=(0.001,0.001) param p1 default=(-0.38095,-0.19048) endparam param p2 caption="Parameter 2" default=0.5403 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Cathala2 { ;from the book 'Chaotic Dynamics in Two-Dimensional Noninvertible Maps' ;https://books.google.co.uk/books?id=UFzLtr7xxakC&printsec=frontcover#v=onepage&q&f=false init: z=fn1(pixel) loop: z=fn2(z) if @V==0 x=imag(z) y=p1*real(Z)+imag(z)-real(z)^3 else x=(1-p2)*real(z)+imag(z) y=p2*p3*real(z)+p4*imag(z)-p2*real(z)^3 endif z=x+flip(y) bailout: |z|<@bail default: title="Cathala 2" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2" default=1 endparam param p1 default=(1.62,-0.98) visible=@V==0 endparam param p2 caption="Parameter 1" default=(2.03,-0.26) visible=@V==1 endparam param p3 caption="Parameter 2" default=(0.5,0) visible=@V==1 endparam param p4 caption="Parameter 3" default=(1,0) visible=@V==1 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Hopalong2{ ;Variant 1 from http://www.jamesh.id.au/fractals/orbit/hopalong.html ;Variant 2 from http://www.nahee.com/spanky/www/fractint/martin_hop_type.html init: z=fn1(pixel) loop: z=fn2(z) if @V==0 x=imag(z)-sqrt(cabs(p2*real(z)-p3))*((real(z))/cabs(real(z))) else x=imag(z)-sqrt(abs(p2*real(z)-p3))*((real(z))/cabs(real(z))) endif y=p1-real(z) z=x+flip(y) bailout: |z|<@bail default: title="Hopalong" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0.5) endparam param p3 default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } HopalongMod { init: z=fn1(pixel) loop: z=fn2(z) if @V==0 x=imag(z)+sqrt(cabs(@p8*real(z)^2-@p9))*real(z)/cabs(real(z)) y=@p7-real(z) elseif @V==1 x=imag(z)-cabs(@p8*real(z)-@p9)*real(z)/cabs(real(z)) y=@p7-real(z) elseif @V==2 x=imag(z)-cos(cabs(p5*real(z)-p6))*real(z)/cabs(real(z)) y=p4-real(z) elseif @V==3 x=imag(z)-log(cabs(p5*real(z)-p6))*real(z)/cabs(real(z)) y=p4-real(z) elseif @V==4 x=imag(z)-1-asinh(sqrt(abs(p2*real(z)-1-p3)))*((real(z)-1)/cabs(real(z)-1)) y=p1-real(z)-1 elseif @V==5 x=imag(z)-1-asinh(sqrt(abs(p2*real(z)-1-p3)))*((real(z)-1)/cabs(tan(real(z))-1)) y=p1-real(z)-1 else x=imag(z)-1-asinh(sqrt(abs(p2*real(z)-1-p3)))*((real(z)-1)/cabs(flip(real(z))-1)) y=p1-real(z)-1 endif z=x+flip(y) bailout: |z|<@bail default: title="Hopalong Mod" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7" default=0 endparam param p1 default=(1,0) visible=@V==4 || @V==5 || @V==6 endparam param p2 default=(1,0) visible=@V==4 || @V==5 || @V==6 endparam param p3 visible=@V==4 || @V==5 || @V==6 default=(1,0) endparam param p4 caption="Parameter 1" default=(0,0) visible=@V==2 || @V==3 endparam param p5 caption="Parameter 2" default=(1,0) visible=@V==2 || @V==3 endparam param p6 caption="Parameter 3" visible=@V==2 || @V==3 default=(0,0) endparam param p7 caption="Parameter 1" default=(0,0) visible=@V==0 || @V==1 endparam param p8 caption="Parameter 2" default=(1,0) visible=@V==0 || @V==1 endparam param p9 caption="Parameter 3" visible=@V==0 || @V==1 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Variations { ;http://www.math.chalmers.se/Math/Grundutb/GU/MMG510/V12/PoincareBendixson.pdf init: z=fn1(pixel) loop: z=fn2(z) if @V==0 x=imag(z)-p1*real(z)*(cabs(real(z))-1) elseif @V==1 x=imag(z)-p1*real(z)*(real(z)^4+real(z)^2-1)/10 elseif @V==2 x=imag(z)-p1*real(z)*(2*real(z)^2-sin(pi*real(z))^2-2) elseif @V==3 x=imag(z)-p1*(real(z)-cabs(real(z)+1)+cabs(real(z)-1)) else x=imag(z)-p1*(cabs(real(z))*real(z)^3-real(z)) endif y=-real(z) z=x+flip(y) bailout: |z|<@bail default: title="Van der Pol Variations" center=(0.001,0.001) maxiter=260 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 caption="Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } GumowskiMira { ;https://www.researchgate.net/publication/263469351_ABOUT_WHAT_IS_CALLED_GUMOWSKI-MIRA_MAP init: z=fn1(pixel) loop: z=fn2(z) if @V==0 x=imag(z)+p1*(1-0.05*imag(z)^2)*imag(z)+p2*real(z)+2*(1-p2)*real(z)^2/(1+real(z)^2) y=-real(z)+p2*x+2*(1-p2)*x^2/(1+x^2) elseif @V==1 x=imag(z)+p1*imag(z)*(1-p3*imag(z)^2)+p2*real(z)+(1-p2)*real(z)^2*exp((1-real(z)^2)/4) y=-real(z)+p2*x+(1-p2)*x^2*exp((1-x^2)/4) else x=imag(z)+p2*real(z)+2*(1-p2)*real(z)^2/(1+real(z)^4)+p1*(1-p3*(imag(z)^2+3*real(z)^2))*imag(z) y=-real(z)+p2*x+2*(1-p2)*x^2/(1+x^4) endif z=x+flip(y) bailout: |z|<@bail default: title="Gumowski-Mira" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(0.008,0) endparam param p2 default=(0.496,0) endparam param p3 default=(0.1,0) visible=@v==1 || @V==2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } DuffingOscillator { init: z=fn1(pixel) loop: z=fn2(z) x=imag(z) y=real(z)-real(z)^3-p1*imag(z)+p2 z=x+flip(y) bailout: |z|<@bail default: title="Duffing" center=(0.001,0.001) periodicity=0 param p1 default=(0.66,-0.19) endparam param p2 default=(-0.57,-0.29) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Duffing2 { ;From 'Invariant Sets for Windows' ;http://tinyurl.com/j4b7qlf init: z=fn1(pixel) loop: z=fn2(z) x=imag(z) y=-p1*real(z)-p2*real(z)^3+p3 z=x+flip(y) bailout: |z|<@bail default: title="Duffing 2" center=(0.001,0.001) periodicity=0 param p1 default=(-2.5,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } DuffingParametric { ;From 'Invariant Sets for Windows' ;http://tinyurl.com/j4b7qlf init: z=fn1(pixel) loop: z=fn2(z) x=imag(z) y=-real(z)-real(z)^3+(p1+p2*real(z)^2+p3*p4*real(z))*imag(z)+p4*p5 z=x+flip(y) bailout: |z|<@bail default: title="Duffing Parametric" center=(0.001,0.001) periodicity=0 param p1 default=(0.25,0.15) endparam param p2 default=(2.7,-1.2) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(-0.01,-0.2) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } DuffingQuintic { ;From 'Invariant Sets for Windows' ;http://tinyurl.com/j4b7qlf init: z=fn1(pixel) loop: z=fn2(z) if @V=="1" x=imag(z) y=-p1*real(z)-p2*real(z)^3-p3*real(z)^5+p4 else x=imag(z) y=-p5*real(z)-p6*real(z)^3-@p7*real(z)^5+@p8*(@p9*(1-real(z)^2)*imag(z)+@p10) endif z=x+flip(y) bailout: |z|<@bail default: title="Duffing Quintic" center=(0.001,0.001) periodicity=0 param V caption="variant" enum="1""2" default=0 endparam param p1 default=(-0.9,0) visible=@v=="1" endparam param p2 default=(-0.63,0.49) visible=@v=="1" endparam param p3 default=(1,0) visible=@v=="1" endparam param p4 default=(0,0) visible=@v=="1" endparam param p5 caption="Parameter 1" default=(-3,0) visible=@v=="2" endparam param p6 caption="Parameter 2" default=(0.5,0.33) visible=@v=="2" endparam param p7 caption="Parameter 3" default=(1,0) visible=@v=="2" endparam param p8 caption="Parameter 4" default=(1,0) visible=@v=="2" endparam param p9 caption="Parameter 5" default=(1,0) visible=@v=="2" endparam param p10 caption="Parameter 6" default=(1,0) visible=@v=="2" endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } 11 { init: z=fn1(pixel) loop: z=fn2(z) x=-p1*real(z)-p2*real(z)*imag(z) y=-p3*imag(z)-p4*real(z)^2+p5*imag(z)^2 z=x+flip(y) bailout: |z|<@bail default: title="Henon-Heiles 1" center=(0.001,0.001) periodicity=0 param p1 default=(2,0) endparam param p2 default=(2,0) endparam param p3 default=(2,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Henon-Heiles2 { ;From the book 'Invariant Sets for Windows' init: z=fn1(pixel) loop: z=fn2(z) x=imag(z) y=-p1*real(z)-p2*real(z)^2+p3 z=x+flip(y) bailout: |z|<@bail default: title="Henon-Heiles 2" center=(0.001,0.001) param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } LimitCycle { ;http://www.math.chalmers.se/Math/Grundutb/GU/MMG510/V12/PoincareBendixson.pdf init: z=fn1(pixel) loop: z=fn2(z) x=real(z)-imag(z)-p1*real(z)*(real(z)^2+imag(z)^2)+p3 y=real(z)+imag(z)-p2*imag(z)*(real(z)^2+imag(z)^2)+p4 z=x+flip(y) bailout: |z|<@bail default: title="Limit Cycle" center=(0.001,0.001) maxiter=1000 periodicity=0 param p1 default=(0.62,0) endparam param p2 default=(0.47,-0.048) endparam param p3 default=(1.5,0.015) endparam param p4 default=(-0.55,-1.22) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=450.0 endparam } Cremona { ;https://books.google.co.uk/books?id=3dLqCAAAQBAJ&printsec=frontcover#v=onepage&q&f=false init: z=fn1(pixel) loop: z=fn2(z) if @v==0 x=real(z)*cos(p1)-(imag(z)-real(z)^2)*sin(p1) y=real(z)*sin(p1)-(imag(z)-real(z)^2)*cos(p1) else x=real(z)*cos(p1)+imag(z)*sin(p1) y=-real(z)*sin(p1)+imag(z)*cos(p1)+(real(z)*cos(p1)+imag(z)*sin(p1))^2 endif z=x+flip(y) bailout: |z|<@bail default: title="Cremona" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="Cremona""Inverse Cremona" default=0 endparam param p1 caption="Parameter" default=(1.264,-0.096) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail default=4.0 endparam } DissipativeStandardMap { ;final version init: z=fn1(pixel) loop: z=fn2(z) x=real(z)+p1*imag(z)+p2+(p3/(2*pi))*sin(2*pi*real(z)) y=p1*imag(z)+p2+(p3/(2*pi))*sin(2*pi*real(z)) z=x+flip(y) bailout: |z|<@bail default: title="Dissipative Standard Map" center=(0.001,0.001) periodicity=0 param p1 default=(-0.65,-0.4) endparam param p2 default=(0,0) endparam param p3 default=(1.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Narlopop{ init: z=fn1(pixel) loop: if @F2=="ident" z=ident(z) elseif @F2=="flip" z=flip(z) elseif @F2=="conj" z=conj(z) elseif @F2=="abs" z=abs(z) elseif @F2=="sin" z=sin(z) else z=cos(z) endif if @v=="cos cos cos" x=real(z)-p1*real(cos(imag(z)+cos(p2*(imag(z)+cos(p3*imag(z)))))) y=imag(z)+p1*real(cos(real(z)+cos(p2*(real(z)+cos(p3*real(z)))))) elseif @v=="cos ident ident" x=real(z)-p4*real(cos(imag(z)+ident(p5*(imag(z)+ident(p6*imag(z)))))) y=imag(z)+p4*real(cos(real(z)+ident(p5*(real(z)+ident(p6*real(z)))))) elseif @v=="cos sin ident" x=real(z)-@p7*real(cos(imag(z)+sin(@p8*(imag(z)+ident(@p9*imag(z)))))) y=imag(z)+@p7*real(cos(real(z)+sin(@p8*(real(z)+ident(@p9*real(z)))))) elseif @v=="ident sin sin" x=real(z)-@p10*real(ident(imag(z)+sin(@p11*(imag(z)+sin(@p12*imag(z)))))) y=imag(z)+@p10*real(ident(real(z)+sin(@p11*(real(z)+sin(@p12*real(z)))))) elseif @v=="sin cos cos" x=real(z)-@p13*real(sin(imag(z)+cos(@p14*(imag(z)+cos(@p15*imag(z)))))) y=imag(z)+@p13*real(sin(real(z)+cos(@p14*(real(z)+cos(@p15*real(z)))))) elseif @v=="sin ident ident" x=real(z)-@p16*real(sin(imag(z)+ident(@p17*(imag(z)+ident(@p18*imag(z)))))) y=imag(z)+@p16*real(sin(real(z)+ident(@p17*(real(z)+ident(@p18*real(z)))))) elseif @v=="sin ident sin" x=real(z)-@p19*real(sin(imag(z)+ident(@p20*(imag(z)+sin(@p21*imag(z)))))) y=imag(z)+@p19*real(sin(real(z)+ident(@p20*(real(z)+sin(@p21*real(z)))))) elseif @v=="sin sin ident" x=real(z)-@p22*real(sin(imag(z)+sin(@p23*(imag(z)+ident(@p24*imag(z)))))) y=imag(z)+@p22*real(sin(real(z)+sin(@p23*(real(z)+ident(@p24*real(z)))))) else x=real(z)-@p25*real(sin(imag(z)+sin(@p26*(imag(z)+sin(@p27*imag(z)))))) y=imag(z)+@p25*real(sin(real(z)+sin(@p26*(real(z)+sin(@p27*real(z)))))) endif z=x+flip(y) if @F3=="ident" z=ident(z) elseif @F3=="flip" z=flip(z) elseif @F3=="conj" z=conj(z) elseif @F3=="abs" z=abs(z) elseif @F3=="sin" z=sin(z) else z=cos(z) endif z=@p28*z+@p29 bailout: |z|<@bail default: title="Narlopop" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="cos cos cos""cos ident ident""cos sin ident""ident sin sin" \ "sin cos cos""sin ident ident""sin ident sin""sin sin ident""sin sin sin" default=8 endparam heading endheading param p1 default=(-0.34,-0.79) visible=@V==0 endparam param p2 default=(-3.07,-0.2) visible=@V==0 endparam param p3 default=(-0.08,0.4) visible=@V==0 endparam param p4 caption="Parameter 1" default=(1,0) visible=@V==1 endparam param p5 caption="Parameter 2" default=(1,0) visible=@V==1 endparam param p6 caption="Parameter 3" default=(1,0) visible=@V==1 endparam param p7 caption="Parameter 1" default=(1,0) visible=@V==2 endparam param p8 caption="Parameter 2" default=(1,0) visible=@V==2 endparam param p9 caption="Parameter 3" default=(1,0) visible=@V==2 endparam param p10 caption="Parameter 1" default=(-1.09,-0.35) visible=@V==3 endparam param p11 caption="Parameter 2" default=(-0.98,-0.02) visible=@V==3 endparam param p12 caption="Parameter 3" default=(1.77,0.62) visible=@V==3 endparam param p13 caption="Parameter 1" default=(-0.33,0.06) visible=@V==4 endparam param p14 caption="Parameter 2" default=(2.07,0.29) visible=@V==4 endparam param p15 caption="Parameter 3" default=(-0.66,-0.22) visible=@V==4 endparam param p16 caption="Parameter 1" default=(0.63,0.4) visible=@V==5 endparam param p17 caption="Parameter 2" default=(0.48,2.16) visible=@V==5 endparam param p18 caption="Parameter 3" default=(-0.95,-0.51) visible=@V==5 endparam param p19 caption="Parameter 1" default=(0.63,0.4) visible=@V==6 endparam param p20 caption="Parameter 2" default=(0.48,2.16) visible=@V==6 endparam param p21 caption="Parameter 3" default=(-0.61,-0.85) visible=@V==6 endparam param p22 caption="Parameter 1" default=(0.25,-0.13) visible=@V==7 endparam param p23 caption="Parameter 2" default=(-1.15,1.73) visible=@V==7 endparam param p24 caption="Parameter 3" default=(-0.61,-0.85) visible=@V==7 endparam param p25 caption="Parameter 1" default=(0.25,-0.13) visible=@V==8 endparam param p26 caption="Parameter 2" default=(-1.15,1.73) visible=@V==8 endparam param p27 caption="Parameter 3" default=(-0.47,-0.9) visible=@V==8 endparam heading endheading func fn1 caption="Start Function" default=ident() endfunc param F2 caption="Loop Function 1" enum="ident""flip""conj""abs""sin""cos" default=0 endparam param F3 caption="Loop Function 2" enum="ident""flip""conj""abs""sin""cos" default=0 endparam heading endheading param p28 caption="Parameter 4" default=(1,0) endparam param p29 caption="Parameter 5" default=(0,0) endparam heading endheading param bail caption="Bailout" default=4.0 endparam } Duffing3 { ;https://en.wikipedia.org/wiki/Multiscroll_attractor init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: z=fn2(z) x=imag(z) y=-p1*real(z)-((p2-p1)/2)*(cabs(real(z)+1)-cabs(real(z)-1))-p3*imag(z)+p4 z=x+flip(y) bailout: |z|<@bail default: title="Duffing 3" center=(0.001,0.001) maxiter=250 param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param p1 default=(1.05,0) endparam param p2 default=(-0.4,-0.95) endparam param p3 default=(0.6,0) endparam param p4 default=(0.55,0.3) endparam func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Wigwam { ;Based on the tent map ;https://en.wikipedia.org/wiki/Tent_map init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="log" z=log(pixel) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) elseif @Fs=="round" z=round(pixel) endif loop: if @F2=="ident" z=ident(z) elseif @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="log" z=log(z) elseif @F2=="colog" z=-log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="recip" z=recip(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) elseif @F2=="round" z=round(z) endif if real(z)<0.5 z=p1*z else z=p1*(1-z) endif bailout: |z|<@bail default: title="Wigwam" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 caption="Parameter" default=(0.97601,-0.38381) endparam param Fs caption="Start Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param F2 caption="Loop Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param bail caption="Bailout" default=4.0 endparam } Duffing4 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @V=="1" x=imag(z) y=-@p7*imag(z)+(1+@p8*(@p9*cos(@p10)+cos(@p11)))*real(z)-real(z)^3 elseif @V=="2" x=imag(z) y=-@p15*imag(z)+@p16*real(z)-real(z)^3 elseif @V=="3" x=imag(z) y=-p1*imag(z)+(1+p2*(p3*cos(p4)+cos(p5)))*real(z)-real(z)^3+p6 elseif @V=="4" x=imag(z) y=-@p12*imag(z)+@p13*real(z)-real(z)^3+@p14 elseif @V=="5" x=imag(z) y=@p17*real(z)-@p18*real(z)^3+@p19*(-@p20*imag(z)-@p21*imag(z)^3+@p22) elseif @V=="6" x=@p23*imag(z) y=@p23*(-@p24*imag(z)+real(z)-real(z)^3+@p25*cos(@p23*@p26)+@p27*cos(@p28*@p26+@p29)) elseif @V=="7" x=imag(z) y=@p30*(real(z)-((@p30+1)/(6*@p30))*real(z)^3)-@p31*imag(z)+@p32 else x=imag(z) y=-@p33*real(z)-@p34*real(z)^2-@p35*real(z)^3 endif z=x+flip(y) bailout: |z|<@bail default: title="Duffing 4" param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(-0.45,0) visible=@v=="3" endparam param p2 default=(2.31,-0.13) visible=@v=="3" endparam param p3 default=(0.67,-0.87) visible=@v=="3" endparam param p4 default=(1.34,-1.4) visible=@v=="3" endparam param p5 default=(2.39,1.12) visible=@v=="3" endparam param p6 default=(0.79,-1.1) visible=@v=="3" endparam param p7 caption="Parameter 1" default=(-0.38,0.01) visible=@v=="1" endparam param p8 caption="Parameter 2" default=(2.31,-0.13) visible=@v=="1" endparam param p9 caption="Parameter 3" default=(0.67,-0.87) visible=@v=="1" endparam param p10 caption="Parameter 4" default=(1.34,-1.4) visible=@v=="1" endparam param p11 caption="Parameter 5" default=(2.39,1.12) visible=@v=="1" endparam param p12 caption="Parameter 1" default=(-0.45,0) visible=@v=="4" endparam param p13 caption="Parameter 2" default=(2.31,-0.13) visible=@v=="4" endparam param p14 caption="Parameter 3" default=(0.67,-0.87) visible=@v=="4" endparam param p15 caption="Parameter 1" default=(-0.16,0.12) visible=@v=="2" endparam param p16 caption="Parameter 2" default=(2.31,-0.13) visible=@v=="2" endparam param p17 caption="Parameter 1" default=(2.37,0.12) visible=@V=="5" endparam param p18 caption="Parameter 2" default=(1,0) visible=@V=="5" endparam param p19 caption="Parameter 3" default=(0.04,0.002) visible=@V=="5" endparam param p20 caption="Parameter 4" default=(0.57,1.62) visible=@V=="5" endparam param p21 caption="Parameter 5" default=(1,0) visible=@V=="5" endparam param p22 caption="Parameter 6" default=(0,0.53) visible=@V=="5" endparam param p23 caption="Parameter 1" default=(1.4,0.5) visible=@V=="6" endparam param p24 caption="Parameter 2" default=(0.9,0.1) visible=@V=="6" endparam param p25 caption="Parameter 3" default=(0.6,-0.6) visible=@V=="6" endparam param p26 caption="Parameter 4" default=(0.8,0.05) visible=@V=="6" endparam param p27 caption="Parameter 5" default=(1,0) visible=@V=="6" endparam param p28 caption="Parameter 6" default=(1,0) visible=@V=="6" endparam param p29 caption="Parameter 7" default=(0.95,-0.9) visible=@V=="6" endparam param p30 caption="Parameter 1" default=(1.54,0.27) visible=@V=="7" endparam param p31 caption="Parameter 2" default=(0.26,-0.36) visible=@V=="7" endparam param p32 caption="Parameter 3" default=(-0.15,-0.04) visible=@V=="7" endparam param p33 caption="Parameter 1" default=(-1.85,0.15) visible=@V=="8" endparam param p34 caption="Parameter 2" default=(1,0) visible=@V=="8" endparam param p35 caption="Parameter 3" default=(1,0) visible=@V=="8" endparam param Fs caption="Function" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param bail caption="Bailout" default=4.0 endparam } Ectonumix { init: z=fn1(pixel) int i=0 a=p1+flip(p2) loop: while (i<@iter) i=i+1 z=abs(fn2(z^@pow+p3))*a endwhile z=p4*z/100 bailout: |z|<@bail default: title="Ectonumix" center=(1,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=8 min=1 endparam param p1 caption="Parameter 1" default=0.0 endparam param p2 caption="Parameter 2" default=-1.5 endparam param p3 default=(-1,0) endparam param p4 caption="Parameter 4" default=103.25 endparam param pow caption="Exponent" default=1.0 endparam param bail caption="Bailout" default=4.0 endparam } Ectonumix/Julia { init: z=fn1(pixel) int i=0 a=p1+flip(p2) loop: while i<@iter i=i+1 z=abs((fn2(z)^@pow2+p5)^@pow1+p3)*a endwhile z=p4*z/100 bailout: |z|<@bail default: title="Ectonumix/Julia" center=(0.001,0.001) periodicity=0 param p1 caption="Parameter 1" default=0.75 endparam param p2 caption="Parameter 2" default=-0.55 endparam param p3 default=(-1.5,0.9) endparam param p4 caption="Parameter 4" default=103.25 endparam param iter caption="Iterations" default=12 min=1 endparam param p5 caption="Julia Seed" default=(0.2,-0.5) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow1 caption="Exponent 1" default=1.0 endparam param pow2 caption="Exponent 2" default=2.0 endparam param bail caption="Bailout" default=4.0 endparam } Disc2 { init: z=fn1(pixel) loop: z=fn2(z) z=z^p1+p3/z^p2 bailout: |z|<@bail default: title="Disc 2" center=(0.001,0.001) periodicity=0 param p3 caption="Parameter" default=(0.0001,0.0001) endparam param p1 caption="Exponent 1" default=(2,0) endparam param p2 caption="Exponent 2" default=(3,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } DuffingSeptic { init: z=fn1(pixel) loop: z=fn2(z) x=imag(z) y=-p1*real(z)-p2*real(z)^3-p3*real(z)^5-p4*real(z)^7+p5 z=x+flip(y) bailout: |z|<@bail default: title="Duffing Septic" center=(0.001,0.001) periodicity=0 param p1 default=(-0.97782,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0.36962,0.25642) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loopt Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Nutsan { ; Note: You will need to increase the value of the Iterations parameter when zooming in. init: z=fn1(pixel) a=p1+flip(p2) int i=0 loop: while i<@iter i=i+1 z=a*fn2((z^3+p3)/z) endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Nutsan" center=(0.001,0.001) periodicity=0 param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(0,0.19) endparam param adj caption="Adjustment" default=103.6 endparam param iter caption="Iterations" default=5 endparam func fn1 default=sqr() endfunc func fn2 default=recip() endfunc param bail caption="Bailout" default=4.0 endparam } Twidfo { init: z=fn1(pixel)^@pow1 int i=0 a=p1+flip(p2) loop: while i<@iter i=i+1 z=p3*abs(fn2(log((z^4-p4)*4*z^3)))^@pow2*a+p5 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Twidfo" center=(0.001, 0.001) periodicity=0 param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param p3 default=(0.2,0) endparam param p4 caption="Parameter 4" default=1.0 endparam param p5 default=(0,0) endparam param iter caption="Iterations" default=5 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow1 caption="Exponent 1" default=1.0 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param adj caption="Adjustment" default=103.00 endparam param bail caption="Bailout" default=4.0 endparam } Eddler { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=abs(fn2((asinh(real(z))+tanh(imag(z))*sqrt(-1))^2+p1))^@pow*p2+p3 endwhile z=z*p4/100 bailout: |z|<@bail default: title="Eddler" center=(0.001,0.001) periodicity=0 param p1 default=(-1.25,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 caption="Parameter 4" default=105.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=7 endparam param bail caption="Bailout" default=4.0 endparam } AnclafOtiaro { ;A variation on Clifford Pickover's Latoocarfian formula init: z=pixel int i=0 loop: while i<@iter i=i+1 if @rs=="none" a=real(z)+imag(z)*sqrt(-1) elseif @rs=="horizontal" a=abs(real(z))+imag(z)*sqrt(-1) elseif @rs=="vertical" a=real(z)+abs(imag(z))*sqrt(-1) else a=abs(real(z))+abs(imag(z))*sqrt(-1) endif x=sin(p1*imag(a))+p2*sin(p1*real(a)) y=sin(p3*real(a))+p4*sin(p3*imag(a)) z=(x+flip(y))^@pow1*p5+p6 endwhile z=z*@p7/100 bailout: |z|<@bail default: title="Anclaf Otiaro" center=(0.001,0.001) magn=0.125 maxiter=500 periodicity=0 param p1 default=(-0.1,0.2) endparam param p2 default=(0.25,-0.3) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0.3,-0.25) endparam param p6 default=(0,0) endparam param pow1 caption="Exponent" default=(1,0) endparam param p7 caption="Adjustment" default=101.095 endparam param iter caption="Iterations" default=7 endparam param rs caption="Reflective Symmetry" enum="none""horizontal""vertical""both" default=0 endparam param bail caption="Bailout" default=4.0 endparam } AtumigoLuferasm { init: z=(0,0) c=sqr(fn1(recip(pixel)))+p1 int i=0 loop: while i<@iter i=i+1 z=p2*(z^(-2)+c) c=p3*(abs(fn2(asinh(c^@pow)))) endwhile z=z*p4/100 bailout: |z|<@bailout default: title="Atumigo Luferasm" center=(0.001,0.001) maxiter=250 periodicity=0 param p1 default=(0,1) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default=102.0 endparam param iter caption="Iterations" default=5 endparam func fn1 default=ident() endfunc func fn2 default=sqr() endfunc param pow caption="Exponent" default=(1,0) endparam param bailout caption="Bailout" default=1000.0 endparam } Swurtoriti { init: z=fn1(pixel) int i=0 loop: if @iw=="if" if i<@iter i=i+1 if @nd=="sin/cos" z=abs(fn2(z-p1*(z^3*sin(z))/(z^2*cos(z))))^@pow*p2+p3 elseif @nd=="cos/sin" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*sin(z))))^@pow*p2+p3 elseif @nd=="cos/tan" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*tan(z))))^@pow*p2+p3 elseif @nd=="cos/cotan" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*cotan(z))))^@pow*p2+p3 elseif @nd=="cos/cotanh" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="cos/sqrt" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*sqrt(z))))^@pow*p2+p3 elseif @nd=="cos/recip" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*recip(z))))^@pow*p2+p3 elseif @nd=="tan/cos" z=abs(fn2(z-p1*(z^3*tan(z))/(z^2*cos(z))))^@pow*p2+p3 elseif @nd=="sqr/tan" z=abs(fn2(z-p1*(z^3*sqr(z))/(z^2*tan(z))))^@pow*p2+p3 elseif @nd=="sqr/abs" z=abs(fn2(z-p1*(z^3*sqr(z))/(z^2*abs(z))))^@pow*p2+p3 elseif @nd=="log/sin" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*sin(z))))^@pow*p2+p3 elseif @nd=="log/asin" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*asin(z))))^@pow*p2+p3 elseif @nd=="log/tan" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*tan(z))))^@pow*p2+p3 elseif @nd=="log/atanh" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*atanh(z))))^@pow*p2+p3 elseif @nd=="log/cotanh" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="log/ident" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*ident(z))))^@pow*p2+p3 elseif @nd=="log/recip" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*recip(z))))^@pow*p2+p3 elseif @nd=="abs/cotanh" z=abs(fn2(z-p1*(z^3*abs(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="abs/sqrt" z=abs(fn2(z-p1*(z^3*abs(z))/(z^2*sqrt(z))))^@pow*p2+p3 elseif @nd=="cabs/cotan" z=abs(fn2(z-p1*(z^3*cabs(z))/(z^2*cotan(z))))^@pow*p2+p3 elseif @nd=="cabs/recip" z=abs(fn2(z-p1*(z^3*cabs(z))/(z^2*recip(z))))^@pow*p2+p3 elseif @nd=="conj/flip" z=abs(fn2(z-p1*(z^3*conj(z))/(z^2*flip(z))))^@pow*p2+p3 elseif @nd=="flip/cotanh" z=abs(fn2(z-p1*(z^3*flip(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="flip/exp" z=abs(fn2(z-p1*(z^3*flip(z))/(z^2*exp(z))))^@pow*p2+p3 elseif @nd=="flip/conj" z=abs(fn2(z-p1*(z^3*flip(z))/(z^2*conj(z))))^@pow*p2+p3 endif endif else while i<@iter i=i+1 if @nd=="sin/cos" z=abs(fn2(z-p1*(z^3*sin(z))/(z^2*cos(z))))^@pow*p2+p3 elseif @nd=="cos/sin" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*sin(z))))^@pow*p2+p3 elseif @nd=="cos/tan" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*tan(z))))^@pow*p2+p3 elseif @nd=="cos/cotan" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*cotan(z))))^@pow*p2+p3 elseif @nd=="cos/cotanh" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="cos/sqrt" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*sqrt(z))))^@pow*p2+p3 elseif @nd=="cos/recip" z=abs(fn2(z-p1*(z^3*cos(z))/(z^2*recip(z))))^@pow*p2+p3 elseif @nd=="tan/cos" z=abs(fn2(z-p1*(z^3*tan(z))/(z^2*cos(z))))^@pow*p2+p3 elseif @nd=="sqr/tan" z=abs(fn2(z-p1*(z^3*sqr(z))/(z^2*tan(z))))^@pow*p2+p3 elseif @nd=="sqr/abs" z=abs(fn2(z-p1*(z^3*sqr(z))/(z^2*abs(z))))^@pow*p2+p3 elseif @nd=="log/sin" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*sin(z))))^@pow*p2+p3 elseif @nd=="log/asin" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*asin(z))))^@pow*p2+p3 elseif @nd=="log/tan" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*tan(z))))^@pow*p2+p3 elseif @nd=="log/atanh" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*atanh(z))))^@pow*p2+p3 elseif @nd=="log/cotanh" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="log/ident" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*ident(z))))^@pow*p2+p3 elseif @nd=="log/recip" z=abs(fn2(z-p1*(z^3*log(z))/(z^2*recip(z))))^@pow*p2+p3 elseif @nd=="abs/cotanh" z=abs(fn2(z-p1*(z^3*abs(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="abs/sqrt" z=abs(fn2(z-p1*(z^3*abs(z))/(z^2*sqrt(z))))^@pow*p2+p3 elseif @nd=="cabs/cotan" z=abs(fn2(z-p1*(z^3*cabs(z))/(z^2*cotan(z))))^@pow*p2+p3 elseif @nd=="cabs/recip" z=abs(fn2(z-p1*(z^3*cabs(z))/(z^2*recip(z))))^@pow*p2+p3 elseif @nd=="conj/flip" z=abs(fn2(z-p1*(z^3*conj(z))/(z^2*flip(z))))^@pow*p2+p3 elseif @nd=="flip/cotanh" z=abs(fn2(z-p1*(z^3*flip(z))/(z^2*cotanh(z))))^@pow*p2+p3 elseif @nd=="flip/exp" z=abs(fn2(z-p1*(z^3*flip(z))/(z^2*exp(z))))^@pow*p2+p3 elseif @nd=="flip/conj" z=abs(fn2(z-p1*(z^3*flip(z))/(z^2*conj(z))))^@pow*p2+p3 endif endwhile endif z=z*p4/100 bailout: |z|<@bail default: title="Swurtoriti" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param nd caption="Function 3" enum="sin/cos"\ "cos/sin""cos/tan""cos/cotan""cos/cotanh""cos/sqrt""cos/recip"\ "tan/cos"\ "sqr/tan""sqr/abs"\ "log/sin""log/asin""log/tan""log/atanh""log/cotanh""log/ident""log/recip"\ "abs/cotanh""abs/sqrt"\ "cabs/cotan""cabs/recip"\ "conj/flip"\ "flip/cotanh""flip/exp""flip/conj" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(-0.25,0) endparam param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=1.0 endparam param p4 caption="Adjustment" default=105.5 endparam param iw caption="If / While" enum="if""while" default=1 endparam param bail caption="Bailout" default=4.0 endparam } NirvoFrotemCert { init: if @S=="Off" z=pixel elseif @S=="Rotational 1" z=cos(pixel) elseif @S=="Rotational 2" z=sqr(pixel) else z=abs(pixel) endif int i=0 loop: while i<@iter i=i+1 z=abs(fn1(z-p1*((z*fn2(z)-p2)/((fn2(z)*(z+1)-(z+2)*(z*fn2(z)-p2)/(2*z+2))+p3))))^@pow*p4 endwhile z=z*p5/100 bailout: |z|<@bail default: title="Nirvo Frotem Cert" center=(0.001,0.001) periodicity=0 param S caption="Symmetry" enum="Off""Rotational 1""Rotational 2""Reflective" default=3 endparam func fn1 default=ident() endfunc func fn2 default=exp() endfunc param p1 default=(1,-2.3) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=7 endparam param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } NirvoFrotemCert2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z-p1*((z*fn4(z)-p2)/((fn4(z)*(z+1)-(z+2)*(z*fn4(z)-p2)/(2*z+2))+p3))+pixel))^@pow*p4 endwhile z=z*p5/100 bailout: |z|<@bail default: title="Nirvo Frotem Cert 2" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=abs() endfunc func fn3 default=ident() endfunc func fn4 default=exp() endfunc param p1 default=(1,-2.3) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=7 endparam param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Devaney1 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @S==false z=z else z=abs(z) endif z=fn2(z^@pow1+p1/(z-p2)^@pow2)*p3 endwhile z=z*p4/100 bailout: |z|<@bail default: title="Devaney 1" center=(0.001,0.001) periodicity=0 param p1 default=(0.1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=7 endparam param pow1 caption="Exponent 1" default=(2,0) endparam param pow2 caption="Exponent 2" default=(2,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam param S caption="Symmetrise" default=true endparam } Devaney2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=abs(z) z=fn2(z^@pow1+pixel/(z-p1)^@pow2)*p2 endwhile z=z*p3/100 bailout: |z|<@bail default: title="Devaney 2" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=7 endparam param p3 caption="Adjustment" default=102.0 endparam param pow1 caption="Exponent 1" default=(2,0) endparam param pow2 caption="Exponent 2" default=2.0 endparam param bail caption="Bailout" default=4.0 endparam } Polywabern { init: if @Fs=="ident" z=ident(pixel) elseif @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) endif int i=0 loop: while i<@iter i=i+1 x=imag(z) y=-p1*sin(real(z))-p2*sin(3*real(z))+p3 z=fn2(x+flip(y))+pixel endwhile z=z*p4/100 bailout: |z|<@bail default: title="Polywabern" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param Fs caption="Function 1" enum="ident""sin""sinh""versin""haversin""coversin""hacoversin"\ "cos""cosh""vercos""havercos""covercos"\ "hacovercos"\ "crd""acrd""sinc""sinhc"\ "sqr"\ "cube""exp""abs""cabs""conj""flip"\ "expit""softplus" default=0 endparam func fn2 default=ident() endfunc param iter caption="Iterations" default=4 endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Asinionic1 { init: z=fn1(pixel) y=sin(pixel) x=cos(pixel) int i=0 loop: while i<@iter i=i+1 if @F2=="sinh" z=abs(sinh(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 elseif @F2=="asin" z=abs(asin(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 elseif @F2=="asinh" z=abs(asinh(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 elseif @F2=="cosh" z=abs(cosh(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 elseif @F2=="exp" z=abs(exp(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 elseif @F2=="flip" z=abs(flip(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 elseif @F2=="ident" z=abs(ident(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 else z=abs(recip(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2)))^@pow*p3 endif endwhile z=z*p4/100 bailout: |z|<@bail default: title="Asinionic 1" center=(1.001,0.001) angle=270 magn=0.5 maxiter=250 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc param F2 caption="Function 2" enum="sinh""asin""asinh""cosh""exp""flip""ident""recip" default=6 endparam param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Asinionic2 { init: z=fn1(pixel) y=sin(pixel) x=cos(pixel) int i=0 loop: while i<@iter i=i+1 z=abs(fn2(asin(x^2/(p1*p2)+y^2/(p1*p2^2)+(z-p2)^2/p2^2+pixel)))^@pow*p3 endwhile z=z*p4/100 bailout: |z|<@bail default: title="Asinionic 2" center=(1.001,0.001) angle=270 magn=0.5 maxiter=250 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Buphim { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=abs(fn2(pixel+4*z^2/(pixel-3*z^2)))^@pow*p1+p2 endwhile z=z*p3/100 bailout: |z|<@bail default: title="Buphim" center=(1.001,-0.331) maxiter=500 magn=4 periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=10 endparam param pow caption="Exponent" default=(1,0) endparam param p3 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } IkenagaMod2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @F2=="sin abs" z=sin(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="sinh abs" z=sinh(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="cos abs" z=cos(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="cosh abs" z=cosh(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="acos abs" z=acos(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="acosh abs" z=acosh(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="tan abs" z=tan(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="tanh abs" z=tanh(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="cotan abs" z=cotan(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="cotanh abs" z=cotanh(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="sqr abs" z=sqr(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="sqrt abs" z=sqrt(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="log abs" z=log(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="exp abs" z=exp(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs sin" z=abs(sin(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs sinh" z=abs(sinh(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs asin" z=abs(asin(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs asinh" z=abs(asinh(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs cos" z=abs(cos(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs cosh" z=abs(cosh(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs acos" z=abs(acos(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs acosh" z=abs(acosh(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs tan" z=abs(tan(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs tanh" z=abs(tanh(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs atan" z=abs(atan(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs atanh" z=abs(atanh(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs cotan" z=abs(cotan(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs cotanh" z=abs(cotanh(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs sqr" z=abs(sqr(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs sqrt" z=abs(sqrt(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs log" z=abs(log(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs exp" z=abs(exp(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs flip" z=abs(flip(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="abs" z=abs(z^3+(pixel-1)*z-pixel)^@pow*p2+p1 elseif @F2=="abs recip" z=abs(recip(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 elseif @F2=="conj abs" z=conj(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 else z=recip(abs(z^3+(pixel-1)*z-pixel))^@pow*p2+p1 endif endwhile z=z*p3/100 bailout: |z|<@bail default: title="Ikenaga Mod 2" center=(0.001,0.001) periodicity=0 param p1 default=(-1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc param F2 caption="Function 2" enum="sin abs""sinh abs""cos abs""cosh abs""acos abs"\ "acosh abs""tan abs""tanh abs""cotan abs""cotanh abs""sqr abs"\ "sqrt abs""log abs""exp abs""abs sin""abs sinh""abs asin""abs asinh"\ "abs cos""abs cosh""abs acos""abs acosh""abs tan"\ "abs tanh""abs atan""abs atanh""abs cotan""abs cotanh"\ "abs sqr""abs sqrt""abs log""abs exp""abs flip"\ "abs""abs recip""conj abs""recip abs" default=33 endparam param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p3 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } IkenagaMod3 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @F2=="sqrt abs" z=sqrt(abs(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="log abs" z=log(abs(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="exp abs" z=exp(abs(z^3+(p1-1)*z-p1))^@pow*p2+p3-1 elseif @F2=="abs sin" z=abs(sin(z^3+(p1-1)*z-p1))^@pow*p2+p3-1 elseif @F2=="abs sinh" z=abs(sinh(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="abs cos" z=abs(cos(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="abs tan" z=abs(tan(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="abs tanh" z=abs(tanh(z^3+(p1-1)*z-p1))^@pow*p2+p3-1 elseif @F2=="abs atan" z=abs(atan(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="abs atanh" z=abs(atanh(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="abs sqr" z=abs(sqr(z^3+(p1-1)*z-p1))^@pow*p2+p3-1 elseif @F2=="abs sqrt" z=abs(sqrt(z^3+(p1-1)*z-p1))^@pow*p2+p3-1 elseif @F2=="abs log" z=abs(log(z^3+(p1-1)*z-p1))^@pow*p2+p3-1.5 elseif @F2=="abs exp" z=abs(exp(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="abs" z=abs(z^3+(p1-1)*z-p1)^@pow*p2+p3 elseif @F2=="abs recip" z=abs(recip(z^3+(p1-1)*z-p1))^@pow*p2+p3 elseif @F2=="conj abs" z=conj(abs(z^3+(p1-1)*z-p1))^@pow*p2+p3-1 elseif @F2=="recip abs" z=recip(abs(z^3+(p1-1)*z-p1))^@pow*p2+p3-1 endif endwhile z=z*p4/100 bailout: |z|<@bail default: title="Ikenaga Mod 3" center=(0.001,0.001) periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc param F2 caption="Function 2" enum="sqrt abs""log abs""exp abs""abs sin""abs sinh""abs cos"\ "abs tan""abs tanh""abs atan""abs atanh""abs sqr""abs sqrt"\ "abs log""abs exp""abs""abs recip""conj abs""recip abs" default=14 endparam param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Abble2 { ;Note: Increase the value of the Iterations parameter when zooming in. init: z=fn1(pixel) a=p1*fn2((0,2)) b=p1*fn2((0,-2)) int i=0 loop: while i<@iter i=i+1 if cabs(z-a)<1 z=p2*abs(log(fn3(conj(1/(z-a))+a)))^@pow+pixel elseif cabs(z-b)<1 z=p2*abs(log(fn3(conj(1/(z-b))+b)))^@pow+pixel else z=p2*abs(log(fn3(conj(1/z))))^@pow+pixel endif endwhile z=p3*z/100 bailout: |z|<@bail default: title="Abble 2" center=(0.001,0.001) maxiter=250 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p3 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Yanoshaca1 { ;Note: Increase the value of the Iterations parameter when zooming in. init: z=fn1(pixel) a=sqrt(3)/2 i=sqrt(-1) int b=0 loop: while b<@iter b=b+1 c=(-0.5*(p1*abs(conj(p1/(z-p2)))+p2)-a)/(a*(p1*abs(conj(p1/(z-p2)))+p2)-0.5) d=(i*c+i)/(-c+1) f=(-0.5*d+a)/(-a*d-0.5) z=abs(exp((f-i)/(f+i)))^@pow*p3+pixel endwhile z=z*p4/100 bailout: |z|<@bail default: title="Yanoshaca 1" center=(-11,-4) magn=0.25 periodicity=0 param p1 default=(0,1) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 caption="Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } Yanoshaca2 { ;Note: Increase the value of the Iterations parameter when zooming in. init: z=fn1(pixel) a=sqrt(3)/2 i=sqrt(-1) int b=0 loop: while b<@iter b=b+1 c=(-0.5*(p1*abs(conj(p1/(z-p2)))+p2)-a)/(a*(p1*abs(conj(p1/(z-p2)))+p2)-0.5) d=(i*c+i)/(-c+1) f=(-0.5*d+a)/(-a*d-0.5) z=flip((f-i)/(f+i)+pixel)^@pow*p3+p4 endwhile z=z*p5/100 bailout: |z|<@bail default: title="Yanoshaca 2" center=(1.001,0.001) periodicity=0 param p1 default=(-1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 caption="Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } BurningShipVariant { ;Note: Increase value of the Iterations parameter when zooming in init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=abs(real(z)+p1)-abs(real(z)-p1)-real(z) y=abs(imag(z)+p2)-abs(imag(z)-p2)-imag(z) z=x+flip(y) z=abs(fn2(z^2+pixel))^@pow*p3+p4 endwhile z=z*p5/100 bailout: |z|<@bail default: title="Burning Ship Variant" center=(0.001,0.001) periodicity=0 param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } BurningShipVariant2 { ;Note: Increase value of the Iterations parameter when zooming in init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=abs(real(z)+p1)-abs(real(z)-p1)-real(z) y=abs(imag(z)+p2)-abs(imag(z)-p2)-imag(z) z=x+flip(y) z=fn2(abs(p3-abs(z^2))+pixel)^@pow*p4+p5 endwhile z=z*p6/100 bailout: |z|<@bail default: title="Burning Ship Variant 2" center=(0.001,0.001) maxiter=100 periodicity=0 param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p6 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } ChordMandelbrot { init: if @fc==false z=fn1(pixel) else z=2*sin(fn1(pixel)/2) endif loop: z=2*sin(fn2(z)/2)+p1 z=z^2+fn3(pixel) bailout: |z|<@bail default: title="Chord Mandelbrot" center=(-2.001,0.001) maxiter=250 magn=0.5 periodicity=0 param fc caption="Also Apply Chord Function to Start" default=false endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1 (z)" default=ident() endfunc func fn3 caption="Loop Function 2 (c)" default=ident() endfunc param p1 caption="Parameter" default=(0,0) endparam param bail caption="Bailout" default=30.0 endparam } EoseneFaspic3 { ; Modified from IFS Escape 1 in reb.ufm, by Ron Barnett and Ramiro Perez ; Increasing the value of the Iterations parameter increases detail ; This will be necessary when zooming in init: z=sqr(fn1(pixel)) int i=0 loop: while i<@iter i=i+1 float k=real(z) if k<0 z=z*@p1-1 else z=z*conj(@p1)+1 endif z=p2*abs(z)^@pow+pixel+p3 endwhile z=p4*z/100 bailout: |z|<=@bail default: title="Eosene Faspic 3" maxiter=1000 center=(-1.234375,-1.359375) angle=270 periodicity=0 method=multipass param p1 default=(0.8,-1) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param iter caption="Iterations" default=11 endparam param pow caption="Exponent" default=(1,0) endparam func fn1 caption="Function" default=ident() endfunc param p4 caption="Adjustment" default=101.21145 endparam param bail caption="Bailout" default=1e10 endparam } IteromaCreothopod { init: z=fn1(pixel) i=sqrt(-1) int c=0 loop: while c<@iter c=c+1 a=abs(log((1+fn2(z))/(1-fn2(z)))) z=e^((i*a-1)*p1) z=abs(fn3(z))^@pow*p2+pixel+p3 endwhile z=p4*z/100 bailout: |z|<=@bail default: title="Iteroma Creothopod" center=(0.001,0.001) magn=2 periodicity=0 param p1 default=(0.4,-1.6) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } VununAmolysis { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p1*abs(fn2(2*z*(z-1)*(z+1)/((z-sqrt(-1))^2*(z+sqrt(-1))^2)))^@pow+pixel+p2 endwhile z=z*p3/100 bailout: |z|<@bail default: title="Vunun Amolysis" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter default=4 endparam param pow default=(1,0) endparam param p3 default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } ZeppoMod2 { ; Modification of Zeppo from Fract196.frm by Bradley Beacham. ; Original formula by Chuck Ebbert init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=fn2(1-abs(imag(z)*p1-real(z))) y=fn3(1-abs(1-real(z)-imag(z))) if @V==0 z=abs(fn4(x+flip(y)+pixel))^@pow*p2+p3 elseif @V==1 z=abs(fn4(x+flip(y)))^@pow*p2+pixel+p3 elseif @V==2 z=abs(fn4(x+flip(y)+pixel))^@pow*p2+pixel+p3 else z=fn4(x+flip(y)+pixel)^@pow*p2+p3 endif endwhile z=z*p4/100 bailout: |z|<@bail default: title="Zeppo Mod 2" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Ammaleema { ; Increasing the value of the Iterations parameter increases detail ; This will be necessary when zooming in init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p1*abs(fn2(z^2+p2*abs(log(z))+p3))^@pow+p4 endwhile z=p5*z/100 bailout: |z|<@bail default: title="Ammaleema" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0.5,0) endparam param p2 default=(-0.5,0.33) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Juliana { ; Increasing the value of the Iterations parameter increases detail ; This will be necessary when zooming in init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=abs(real(z)+p1)-abs(real(z)-p1)-real(z) y=abs(imag(z)+p2)-abs(imag(z)-p2)-imag(z) z=x+flip(y) z=fn2(fn3(z)^@pow1+p3)^@pow2*p4+p5 endwhile z=p6*z/100 bailout: |z|<@bail default: title="Juliana" center=(0.001,0.001) maxiter=250 periodicity=0 param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow1 caption="Exponent 1" default=(2,0) endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p6 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Nurbing { ; Increasing the value of the Iterations parameter increases detail ; This will be necessary when zooming in init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p1*abs(fn2(z^2+p2*abs(fn3(z))+p3*pixel))^@pow+p4 endwhile z=p5*z/100 bailout: |z|<@bail default: title="Nurbing" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Ierations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Cyclone1 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=pixel*log(z) z=p1*abs(fn2(z^2+p2))^@pow+p3 endwhile z=z*p4/100 bailout: |z|<=@bail default: title="Cyclone 1" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Cyclone2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=pixel*abs(fn2(z)) z=p1*log(abs(fn3(z^2+p2)))^@pow+p3 endwhile z=z*p4/100 bailout: |z|<=@bail default: title="Cyclone 2" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Frodia { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=abs(fn2(z/pixel-pixel*sqr(z)))^@pow-p1 endwhile z=z*p2/100 bailout: |z|<@bail default: title="Frodia" center=(0.001,0.001) periodicity=0 param p1 caption="Parameter" default=(1,0) endparam param pow caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=7 endparam param p2 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Kabbling { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p1*abs(fn2(z^2+z^(2*pixel)))^@pow+p2 endwhile z=z*p3/100 bailout: |z|<=@bail default: title="Kabbling" center=(0.001,0.001) maxiter=250 periodicity=0 param p1 default=(0.5,0) endparam param p2 default=(0,-0.33) endparam func fn1 default=ident() endfunc func fn2 default=log() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param p3 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Wambrelt1 { ;Inspired by the formula LamW by Edward Montague ;https://mailman.xmission.com/lurker/message/20170204.084603.592e06fe.en.html ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @v=="1" z=p1*abs(fn2(z-(z*exp(z)-p2)/((exp(z)*(z+1)-(z+2)*(z*exp(z)-p2)/(2*z+2))+p3)))^@pow+p4 elseif @V=="2" z=p1*abs(fn2(z-(z*exp(z)-p2)/((exp(z)*(z+1)-(z+2)*(z-p2)/(2*z+2))+p3)))^@pow+p4 else z=p1*abs(fn2(z-(z-p2)/((exp(z)*(z+1)-(z+2)*(z-p2)/(2*z+2))+p3)))^@pow+p4 endif endwhile z=z*p5/100 bailout: |z|<=@bail default: title="Wambrelt 1" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3" default=1 endparam param p1 default=(1,0) endparam param p2 default=(0.1,0) endparam param p3 default=(-0.5,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Wambrelt2 { ;Inspired by the formula LamW by Edward Montague ;https://mailman.xmission.com/lurker/message/20170204.084603.592e06fe.en.html ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @v=="1" z=p1*abs(fn2(z-(z*exp(z)-p2)/((exp(z)*(z+1)-(z+2)*(z*exp(z)-p2)/(2*z+2))+pixel)))^@pow+p3 elseif @V=="2" z=p1*abs(fn2(z-(z*exp(z)-p2)/((exp(z)*(z+1)-(z+2)*(z-p2)/(2*z+2))+pixel)))^@pow+p3 else z=p1*abs(fn2(z-(z-p2)/((exp(z)*(z+1)-(z+2)*(z-p2)/(2*z+2))+pixel)))^@pow+p3 endif endwhile z=z*p4/100 bailout: |z|<=@bail default: title="Wambrelt 2" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(1,-1) endparam param p2 default=(-0.3,-0.4) endparam param p3 default=(-0.25,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Hexagram { ;A modification of the formula given here: ;http://www.fractalforums.com/fractint-gallery/2-d-fractint-image-looks-like-3-d-image/ ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: a=0 z=fn1(real(pixel)+flip(sin(imag(pixel)))) int i=0 loop: while i<@iter i=i+1 a=a+(0.1,0.1) z=p1*abs(fn2(z^3*a))^@pow+p2 endwhile z=p3*z/100 bailout: |z|<=@bail default: title="Hexagram" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(-0.28,0.26) endparam param iter caption="Iterations" default=7 endparam param p3 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Mandala { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=log(p1*abs(fn2(z^2))^@pow+p2+(|pixel|)) endwhile z=p3*z/100 bailout: |z|<=@bail default: title="Mandala" center=(0.001,0.001) periodicity=0 magn=2 param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param p3 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Merxif { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*log(abs(fn2(z^2+z-sqrt(z)+sin(pixel))))^@pow+p2 elseif @V=="2" z=p1*log(abs(fn2(z^2+z-sqrt(z))))^@pow+p2+sin(pixel) elseif @V=="3" z=p1*log(abs(fn2(z^2+z-sqrt(z)+sin(pixel))))^@pow+p2+sin(pixel) else z=p1*log(abs(fn2(z^2+z-sqrt(z)+abs(p4))))^@pow+p2 endif endwhile z=p3*z/100 bailout: |z|<@bail default: title="Merxif" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p4 caption="Parameter 3" default=(0,0) visible=@V==3 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param p3 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } SpeoicNefase { ;A modification of the formula given here: ;http://www.fractalforums.com/fractint-gallery/2-d-fractint-image-looks-like-3-d-image/ ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: a=0 z=p1*fn1(real(pixel)+flip(sin(imag(pixel)))) int i=0 loop: while i<@iter i=i+1 a=a+(0.1,0.1) z=p2*abs(fn2(z^3*a))^@pow+p3+pixel endwhile z=p4*z/100 bailout: |z|<=@bail default: title="Speoic Nefase" center=(-0.97,0.62) magn=2 periodicity=0 param p1 default=(0.83,0.34) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(-0.28,0.26) endparam param iter caption="Iterations" default=7 endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } AbsMandelbrot { init: z=fn1(pixel) i=sqrt(-1) loop: z=fn2(z) if @V1=="z=real(z)+i*imag(z)" z=real(z)+i*imag(z) elseif @V1=="z=abs(real(z))+i*imag(z)" z=abs(real(z))+i*imag(z) elseif @V1=="z=real(z)+abs(i*imag(z))" z=real(z)+abs(i*imag(z)) else z=abs(real(z)+i*imag(z)) endif if @V2=="z=z^2+pixel" z=z^2+pixel elseif @V2=="z=abs(z^2)+pixel" z=abs(z^2)+pixel elseif @V2=="z=abs(z^2+pixel)" z=abs(z^2+pixel) else z=z^2+abs(pixel) endif z=p1*fn3(z)+p2 bailout: |z|<@bail default: title= "Abs Mandelbrot" param V1 caption="Variant 1" enum="z=real(z)+i*imag(z)""z=abs(real(z))+i*imag(z)""z=real(z)+abs(i*imag(z))""abs(real(z)+i*imag(z))" default=3 endparam param V2 caption="Variant 2" enum="z=z^2+pixel""z=abs(z^2)+pixel""z=abs(z^2+pixel)""z=z^2+abs(pixel)" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } AbsMandelbrot2 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) i=sqrt(-1) int a=0 loop: while a<@iter a=a+1 if @V=="I" z=abs(z^@powa+pixel) elseif @V=="II" z=abs(real(z))+i*imag(z) z=z^@pow+pixel elseif @V=="III" z=abs(real(z))+i*imag(z) z=abs(z^@pow)+pixel elseif @V=="IV" z=abs(real(z))+i*imag(z) z=abs(z^@pow+pixel) elseif @V=="V" z=real(z)+abs(i*imag(z)) z=z^@pow+pixel elseif @V=="VI" z=real(z)+abs(i*imag(z)) z=abs(z^@pow+pixel) else z=abs(real(z)+i*imag(z)) z=z^@pow+pixel endif if @V!="II" && @V!="III" && @V!="V" && @V!="VII" z=p1*fn2(z)^@pow2+p2 else z=p1*fn2(z)^@pow2a+p2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title= "Abs Mandelbrot 2" periodicity=0 param V caption="Variant" enum="I""II""III""IV""V""VI""VII" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param iter caption="Iterations" default=7 endparam param pow caption="Exponent" default=(2,0) visible=@V!="I" endparam param powa caption="Exponent" default=2.0 visible=@V=="I" endparam param pow2 caption="Exponent 2" default=(1,0) visible=@V!="II" && @V!="III" && @V!="V" && @V!="VII" endparam param pow2a caption="Exponent 2" default=1.0 visible=@V=="II" || @V=="III" || @V=="V" || @V=="VII" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Migranophol { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z)^2-imag(z)^2+real(z) y=2*real(z)*imag(z)+imag(z) z=p1*log(abs(flip(fn3(x+flip(y)))))^@pow+p2+pixel endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Migranophol" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Radvirn { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="I" z=p1*log(abs(fn2(pixel*z*(1-z))))^@pow+p2 elseif @V=="II" z=p1*log(abs(fn2(pixel*z*(sqrt(-1)-z))))^@pow+p2 else z=p1*log(abs(fn2(pixel*z*(-z))))^@pow+p2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Radvirn" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="I""II""III" default=1 endparam param p1 default=(1,0) endparam param p2 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } GopalsamyMod { ;Modification of Fractint formula Gopalsamy1 by Ron Barnett ;https://hg.codeplex.com/iteratedynamics/file/5edf8dfa1602/fractint/formulas/fract001.frm ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=real(z) y=imag(z) x1=p1-2*x*y y=y^2-x^2 if @V=="M1" z=p2*abs(fn2(x1+flip(y)+pixel))^@pow+p3 elseif @V=="M2" z=p2*abs(fn2(x1+flip(y)+flip(pixel)))^@pow+p3 elseif @V=="M3" z=p2*abs(fn2(x1+flip(y)+abs(pixel)))^@pow+p3 elseif @V=="M4" z=p2*log(abs(fn2(x1+flip(y)+pixel)))^@pow+p3 elseif @V=="M5" z=p2*log(abs(fn2(x1+flip(y)+flip(pixel))))^@pow+p3 elseif @V=="M6" z=p2*log(abs(fn2(x1+flip(y)+abs(pixel))))^@pow+p3 elseif @V=="J1" z=p2*abs(fn2(x1+flip(y)))^@pow+p3 elseif @V=="J2" z=p2*log(abs(fn2(x1+flip(y))))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Gopalsamy Mod" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="M1""M2""M3""M4""M5""M6""J1""J2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } SlarpUxplizets { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*abs(fn2(z^2+z^2*pixel))^@pow+p2 elseif @V=="2" z=p1*abs(log(fn2(z^2+z^2*pixel)))^@pow+p2 elseif @V=="3" z=p1*abs(flip(fn2(z^2+z^2*pixel)))^@pow+p2 elseif @V=="4" z=p1*abs(log(fn2(z^2+sqr(z^2)*pixel)))^@pow+p2 elseif @V=="5" z=p1*log(abs(fn2(z^2+sqr(z^2)*pixel)))^@pow+p2 elseif @V=="6" z=p1*log(abs(fn2(z^2+z^2*pixel)))^@pow+p2 elseif @V=="7" z=p1*abs(fn2(z^2+sqr(z^2)*pixel))^@pow+p2 elseif @V=="8" z=p1*abs(fn2(z^2+tan(z^2)*pixel))^@pow+p2 elseif @V=="9" z=p1*abs(fn2(z^2+tanh(z^2)*pixel))^@pow+p2 elseif @V=="10" z=p1*abs(fn2(z^2+log(z)^2*pixel))^@pow+p2 elseif @V=="11" z=p1*abs(fn2(z^2+tanh(z)^2*pixel))^@pow+p2 elseif @V=="12" z=p1*abs(log(fn2(z^2+tanh(z)^2*pixel)))^@pow+p2 elseif @V=="13" z=p1*abs(log(fn2(z^2+atanh(z)^2*pixel)))^@pow+p2 elseif @V=="14" z=p1*abs(log(fn2(z^2+sin(z)^2*pixel)))^@pow+p2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Slarp Uxplizets" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14" default=0 endparam param p1 default=(1,0) endparam param p2 default=(-1.4,-0.8) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(0.5,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Labsy1 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 a=(p2*z+p3)^2 b=2*a*cos(a)+(a^2-2)*sin(a)+p1 c=a^2*cos(a) if @V=="J" z=p4*log(abs(fn2(a-p1*b/c)))^@pow+p5 elseif @V=="M1" z=p4*log(abs(fn2(a-p1*b/c+fn3(pixel))))^@pow+p5 elseif @V=="M2" z=p4*log(abs(fn2(a-p1*b/c)))^@pow+fn3(pixel)+p5 elseif @V=="M3" z=p4*log(abs(fn2(a-p1*b/c+fn3(pixel))))^@pow+fn3(pixel)+p5 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsy 1" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="J""M1""M2""M3" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=@V!="J" endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Labsy2 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 a=(p2*z+p3)^2 b=2*a*cos(a)+(a^2-2)*sin(a)+p1 c=a^2*cos(a) if @V=="1" z=fn3(pixel)*p4*log(abs(fn2(a-p1*b/c)))^@pow+p5 elseif @V=="2" z=fn3(pixel)*p4*log(abs(fn2(a-p1*b/c+fn3(pixel))))^@pow+p5 elseif @V=="3" z=fn3(pixel)*p4*log(abs(fn2(a-p1*b/c)))^@pow+fn3(pixel)+p5 elseif @V=="4" z=fn3(pixel)*p4*log(abs(fn2(a-p1*b/c+fn3(pixel))))^@pow+fn3(pixel)+p5 elseif @V=="5" z=p4*log(abs(fn2(a-p1*b/c+sqr(pixel))))^@pow+p5+pixel elseif @V=="6" z=p4*log(abs(fn2((a-p1*b/c)*fn3(pixel))))^@pow+p5 elseif @V=="7" z=p4*log(abs(fn2(a-p1*b/c+pixel)))^@pow+sqr(pixel)+p5 elseif @V=="8" z=p4*log(abs(fn2((a-p1*b/c)*fn3(pixel))))^@pow*fn3(pixel)+p5 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsy 2" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Bulusoga { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="M" z=p1*log(abs(fn2(z^2*fn3(z^@pow1+@pow1)+pixel)))^@pow2+p2 else z=p1*log(abs(fn2(z^2*fn3(z^@pow1+@pow1))))^@pow2+p2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Bulusoga" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="M""J" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow1 caption="Exponent 1" default=1.0 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } LabsNewton/Nova { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*log(abs(fn2(z-p2*(z^3-1)/(3*z^2))))^@pow+p3 elseif @V=="2" z=p1*log(abs(fn2(z-p2*(z^3-1)/(3*z^2))))^@pow+p3+pixel elseif @V=="3" z=p1*log(abs(fn2(z-p2*(z^3-1)/(3*z^2)+pixel)))^@pow+p3 elseif @V=="4" z=pixel*p1*log(abs(fn2(z-p2*(z^3-1)/(3*z^2))))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labs Newton/Nova" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Labsy3 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=sin(z) y=flip(z) if @V=="1" z=p1*log(abs(fn2(x/y*z^@pow1*pixel)))^@pow2+p2 elseif @V=="2" z=p1*log(abs(fn2(x/y*z^@pow1)))^@pow2+p2 elseif @V=="3" z=pixel*p1*log(abs(fn2(x/y*z^@pow1)))^@pow2+p2 elseif @V=="4" z=p1*log(abs(fn2(x/y*z^@pow1)))^@pow2+p2+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsy 3" periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param iter caption="Iterations" default=3 endparam param pow1 caption="Exponent 1" default=1.0 endparam param pow2 caption="Exponent 2" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Labsy4 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*log(abs(fn2((pixel*z)^2-z-pixel)))^@pow+p2 elseif @V=="2" z=p1*log(abs(fn2((pixel*z)^2-z+pixel)))^@pow+p2 elseif @V=="3" z=p1*log(abs(fn2((pixel*z)^2+z-pixel)))^@pow+p2 elseif @V=="4" z=p1*log(abs(fn2((pixel*z)^2+z+pixel)))^@pow+p2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsy 4" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Labsy5 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=sqr(fn1(pixel)) int i=0 loop: while i<@iter i=i+1 float k=real(z) if k<0 z=z*@p1-1 else z=z*conj(@p1)+1 endif if @V=="1" z=p2*log(abs(flip(fn2(z))))^@pow+pixel+p3 elseif @V=="2" z=pixel*p2*log(abs(flip(fn2(z))))^@pow+p3 elseif @V=="3" z=p2*log(abs(flip(fn2(z))))^@pow+p3 elseif @V=="4" z=p2*log(abs(flip(sqr(fn2(z*pixel)))))^@pow+p3+sqrt(-1) endif endwhile z=p4*z/100 bailout: |z|<=@bail default: title="Labsy 5" maxiter=2500 center=(0.001,0.001) periodicity=0 method=multipass param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(-1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param iter caption="Iterations" default=5 endparam param pow caption="Exponent" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p4 caption="Adjustment" default=101.21145 endparam param bail caption="Bailout" default=1e10 endparam } LabsBailey { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 fz=z^3-1 f2z=3*z^2 f3z=6*z if @V=="1" z=p1*log(abs(fn2(z-fz/(f2z-(fz*f3z)/(2*f2z)))))^@pow+p2 elseif @V=="2" z=p1*log(abs(fn2(z-fz/(f2z-(fz*f3z)/(2*f2z)))))^@pow+p2+pixel elseif @V=="3" z=p1*log(abs(fn2(z-fz/(f2z-(fz*f3z)/(2*f2z))+pixel)))^@pow+p2 elseif @V=="4" z=pixel*p1*log(abs(fn2(z-fz/(f2z-(fz*f3z)/(2*f2z)))))^@pow+p2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labs Bailey" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Labsy6 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*log(abs(fn2(i*z^2+pixel)))^@pow+p2-1 elseif @V=="2" z=i*(p1-0.5)*log(abs(fn2(z^2+pixel)))^@pow+p2-1 elseif @V=="3" z=i*(p1-0.6)*log(abs(fn2(i*z^2+pixel)))^@pow+p2-1 elseif @V=="4" z=p1*log(abs(fn2(i*z^2+pixel+i)))^@pow+p2-1 elseif @V=="5" z=p1*log(abs(fn2(i*z^2+pixel)))^@pow+p2-7+i endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsy 6" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=1000.0 endparam } Netilerki { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: a=2*pi/3 if @V=="1" || @V=="2" || @V=="3" || @V=="4" c1=p3*fn1(exp((0,0)*a)) c2=p3*fn1(exp((0,1)*a)) c3=p3*fn1(exp((0,2)*a)) else c1=p3*fn1(cosh((0,0)*a)) c2=p3*fn1(cosh((0,1)*a)) c3=p3*fn1(cosh((0,2)*a)) endif r=fn2(sqrt(3)/2) z=fn3(pixel) int i=0 loop: while i<@iter i=i+1 if |z-c1|<|r| z=p4*fn4(r*conj(r/(z-c1))+c1)+p5 elseif |z-c2|<|r| z=p4*fn4(r*conj(r/(z-c2))+c2)+p5 elseif |z-c3|<|r| z=p4*fn4(r*conj(r/(z-c3))+c3)+p5 else z=p4*fn4(r*conj(r/(z)))+p5 endif if (@V=="1" || @V=="5") z=p1*(abs(z))^@pow+p2 elseif (@V=="2" || @V=="6") z=p1*log(abs(z))^@pow+p2 elseif (@V=="3" || @V=="7") z=p1*abs(log(z))^@pow+p2 elseif (@V=="4" || @V=="8") z=p1*flip(abs(z))^@pow+p2 endif endwhile z=@adj*z/100 bailout:|z|<@bail default: title="Netilerki" center=(0.001,0.001) magn=0.75 maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Jooling { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*log(abs(sqr(fn2((p2*(z+z^2)*z)+z))))^@pow+p3 elseif @V=="2" z=p1*log(abs(sqr(fn2(pixel*(p2*(z+z^2)*z)+z))))^@pow+p3 elseif @V=="3" z=p1*log(abs(sqr(fn2((p2*(z+pixel*z^2)*z)+z))))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Jooling" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1.7,1.25) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Heliwenkil { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*log(abs(fn2(p2*conj(p2/(z-p3))+p3)))^@pow+@p4a elseif @V=="2" z=p1*abs(fn2(p2*conj(p2/(z-p3))+p3))^@pow+@p4a elseif @V=="3" z=p1*abs(log(fn2(p2*conj(p2/(z-p3))+p3)))^@pow+@p4a elseif @V=="4" z=p1*log(abs(fn2(p2*conj(p2/(z+p3))+p3)))^@pow+@p4b elseif @V=="5" z=p1*abs(fn2(p2*conj(p2/(z+p3))+p3))^@pow+@p4b elseif @V=="6" z=p1*abs(log(fn2(p2*conj(p2/(z+p3))+p3)))^@pow+@p4b endif endwhile z=@adj*z/100 bailout:|z|<@bail default: title="Heliwenkil" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(-1,1) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4a caption="Parameter 4" default=(1.5,0) visible=@V=="1" || @V=="2" || @V=="3" endparam param p4b caption="Parameter 4" default=(0,0) visible=@V=="4" || @V=="5" || @V=="6" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } ChebyshevMod { ; Modifications of the Chebyshev root-finding method ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 f=z^4-1 f1=4*z^3 f2=12*z^2 a=f/f1 b=f*f2/sqr(f1) if @V=="1" z=p1*log(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="2" z=p1*pixel*log(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="3" z=p1*abs(log(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="4" z=p1*pixel*abs(log(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="5" z=p1*acos(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="6" z=p1*pixel*acos(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="7" z=p1*acosh(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="8" z=p1*pixel*acosh(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="9" z=p1*pixel*asin(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="10" z=p1*pixel*asinh(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3 elseif @V=="11" z=p1*log(abs(fn2(z-p2*a*(1+b/2)+pixel)))^@pow+p3 elseif @V=="12" z=p1*log(abs(fn2(z-p2*a*(1+b/2))))^@pow+p3+pixel elseif @V=="13" z=p1*abs(log(fn2(z-p2*a*(1+b/2)+pixel)))^@pow+p3 elseif @V=="14" z=p1*abs(log(fn2(z-p2*a*(1+b/2))))^@pow+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Chebyshev Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } V2Schröder { ;Modifications of Schröder's rootfinding method ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 f=z^4-1 f1=4*z^3 f2=12*z^2 if @V=="1" z=p1*log(abs(fn2(z-p2*f*f1/(f1^2-f*f2))))^@pow+p3 elseif @V=="2" z=p1*abs(log(fn2(z-p2*f*f1/(f1^2-f*f2))))^@pow+p3 elseif @V=="3" z=p1*acos(abs(fn2(z-p2*f*f1/(f1^2-f*f2))))^@pow+p3 elseif @V=="4" z=p1*abs(acos(fn2(z-p2*f*f1/(f1^2-f*f2))))^@pow+p3 elseif @V=="5" z=p1*fn2(z-p2*f*f1/(f1^2-f*f2))^@pow+p3 endif endwhile z=@adj*z/100 bailout:|z|<@bail default: title="V2 Schröder" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } HalleyMod { ;Modifications of the Halley root-finding method ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) f2=(@pow1-1)*@pow1*z^(@pow1-2) if @V=="1" z=p1*log(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3 elseif @V=="2" z=p1*pixel*log(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3 elseif @V=="3" z=p1*sqr(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3+pixel elseif @V=="4" z=p1*pixel*abs(log(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3 elseif @V=="5" z=p1*acos(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3 elseif @V=="6" z=p1*pixel*acos(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3 elseif @V=="7" z=p1*sqr(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3 elseif @V=="8" z=p1*pixel*abs(sqr(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3 elseif @V=="9" z=p1*sqr(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2)+pixel)))^@pow2+p3 elseif @V=="10" z=p1*flip(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2)+pixel)))^@pow2+p3 elseif @V=="11" z=p1*acos(abs(fn3(z-p2*2*f*f1/(2*f1^2-f*f2))))^@pow2+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Halley Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=4 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Jarratt1Mod { ;Modifications of the Jarratt root-finding method ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) a=f/f1 d=@pow1*(z-2*a/3)^(@pow1-1) if @V=="1" z=p1*log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d))))))^@pow2+p3 elseif @V=="2" z=pixel*p1*log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d))))))^@pow2+p3 elseif @V=="3" z=pixel*p1*log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))+pixel)))^@pow2+p3 elseif @V=="4" z=p1*log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))+pixel)))^@pow2+p3 elseif @V=="5" z=p1*log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d))))))^@pow2+p3+pixel elseif @V=="6" z=p1*log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))+pixel)))^@pow2+p3+pixel elseif @V=="7" z=z*p1*log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d))))))^@pow2+p3 elseif @V=="8" z=p1*flip(log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))))))^@pow2+p3 elseif @V=="9" z=pixel*p1*flip(log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))))))^@pow2+p3 elseif @V=="10" z=pixel*p1*flip(log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))+pixel))))^@pow2+p3 elseif @V=="11" z=p1*flip(log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))))))^@pow2+p3+pixel elseif @V=="12" z=p1*flip(log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))+pixel))))^@pow2+p3+pixel elseif @V=="13" z=p1*flip(log(abs(fn3(z-p2*((a/2)-(f/(f1-3*d)))+pixel))))^@pow2+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Jarratt 1 Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Jarratt2Mod { ;Modifications of the Jarratt root-finding method ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) a=f/f1 d=@pow1*(z-2*a/3)^(@pow1-1) j=(d-f1)/f1 if @V=="1" z=p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3 elseif @V=="2" z=z*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3 elseif @V=="3" z=z^2*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3 elseif @V=="4" z=pixel*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3 elseif @V=="5" z=pixel*z*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3 elseif @V=="6" z=pixel*z^2*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3 elseif @V=="7" z=z^2*pixel*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3+tan(pixel) elseif @V=="8" z=z^2*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3+cos(pixel) elseif @V=="9" z=z^2*p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2)))))^@pow2+p3+tan(pixel) elseif @V=="10" z=p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*j/2+pixel)))))^@pow2+p3 elseif @V=="11" z=p1*log(abs(fn3(z-p2*(a-3*a*j*(1-3*pixel*j/2)))))^@pow2+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Jarratt 2 Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Rooterr3 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) a=f/f1 c=(z-a)^@pow1-@root if @V=="1" z=p1*log(abs(fn3(z-p2*(a-c/f1))))^@pow2+p3 elseif @V=="2" z=pixel*p1*log(abs(fn3(z-p2*(a-c/f1))))^@pow2+p3 elseif @V=="3" z=p1*log(abs(fn3(z-p2*(a-c/f1)+pixel)))^@pow2+p3 elseif @V=="4" z=p1*log(abs(fn3(z-p2*(a-c/f1))))^@pow2+p3+pixel elseif @V=="5" z=pixel*(p1-1.5)*log(abs(fn3(z-p2*(a-c/f1)+pixel)))^@pow2+p3 elseif @V=="6" z=pixel*(p1-1.5)*log(abs(fn3(z-p2*(a-c/f1)+pixel)))^@pow2+p3+pixel elseif @V=="7" z=(p1-1.5)*log(abs(fn3(z-p2*(a-c/f1)+pixel)))^@pow2+p3+pixel elseif @V=="8" z=p1*log(abs(fn3(z-p2*pixel*(a-c/f1))))^@pow2+p3 elseif @V=="9" z=pixel*p1*log(abs(fn3(z-p2*pixel*(a-c/f1))))^@pow2+p3 elseif @v=="10" z=p1*log(abs(sqr(fn3(z-p2*(a-c/f1)))))^@pow2+p3 elseif @v=="11" z=pixel*p1*log(abs(sqr(fn3(z-p2*(a-c/f1)))))^@pow2+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rooterr 3" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11" default=4 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Rootun3 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) a=f/f1 if @V=="1" z=p1*log(abs(fn3(z-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="2" z=pixel*p1*log(abs(fn3(z-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="3" z=p1*log(abs(fn3(sqr(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3+pixel elseif @V=="4" z=p1*log(abs(fn3(sinh(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="5" z=z*p1*log(abs(fn3(z-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="6" z=pixel*z*p1*log(abs(fn3(z-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="7" z=p1*log(abs(fn3(sin(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="8" z=p1*log(abs(fn3(z-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3+pixel elseif @V=="9" z=p1*log(abs(fn3(tan(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="10" z=p1*log(abs(fn3(sinh(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3+pixel elseif @V=="11" z=p1*log(abs(fn3(trunc(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="12" z=pixel*p1*log(abs(fn3(sin(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="13" z=pixel*p1*log(abs(fn3(sqr(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="14" z=p1*log(abs(fn3(sin(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3+pixel elseif @V=="15" z=p1*log(abs(fn3(tanh(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3 elseif @V=="16" z=p1*log(abs(fn3(tan(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3+pixel elseif @V=="17" z=p1*log(abs(fn3(tanh(z)-p2*(f/(@pow1*(z-a/2)^(@pow1-1))))))^@pow2+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rootun 3" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=flip() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Whittaker1Mod { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) f2=(@pow1-1)*@pow1*z^(@pow1-2) a=f/f1 b=f*f2/sqr(f1) if @V=="1" z=p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="2" z=p1*log(abs(fn3(sin(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="3" z=cos(pixel)*p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="4" z=p1*log(abs(fn3(tan(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="5" z=pixel*p1*log(abs(fn3(flip(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="6" z=p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="7" z=p1*log(abs(fn3(b-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="8" z=pixel*p1*log(abs(fn3(flip(z)-p2*(a/2)*(2-b)+pixel)))^@pow2+p3 elseif @V=="9" z=flip(z)*p1*log(abs(fn3(cosh(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="10" z=p1*log(abs(fn3(pixel*sin(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="11" z=sqr(pixel)*p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="12" z=p1*log(abs(fn3(z-p2*(a/2)*(2-b)+pixel)))^@pow2+p3 elseif @V=="13" z=p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3+pixel elseif @V=="14" z=cabs(pixel)*p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="15" z=p1*log(abs(fn3(pixel*tan(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="16" z=cabs(z)*p1*log(abs(fn3(cosh(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="17" z=z*p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="18" z=cabs(z)*p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="19" z=flip(z)*p1*log(abs(fn3(sqr(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="20" z=flip(z)*p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="21" z=cabs(pixel)*p1*log(abs(fn3(sin(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="22" z=conj(z)*p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="23" z=cabs(z)*p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="24" z=sqr(pixel)*p1*log(abs(fn3(tanh(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="25" z=sqr(pixel)*p1*log(abs(fn3(sin(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="26" z=cabs(z)*p1*log(abs(fn3(abs(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="27" z=cabs(z)*p1*log(abs(fn3(sqr(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="28" z=flip(z)*p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="29" z=p1*log(abs(fn3(tan(z)^2-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="30" z=abs(z)*p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="31" z=abs(z)*p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="32" z=abs(z)*p1*log(abs(fn3(cosh(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="33" z=cosh(pixel)*p1*log(abs(fn3(cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="34" z=p1*log(abs(fn3(z-p2*(a/2)*(2-b)+pixel)))^@pow2+p3+pixel elseif @V=="35" z=cabs(pixel)*p1*log(abs(fn3(tan(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="36" z=abs(pixel)*p1*log(abs(fn3(tan(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="37" z=sqr(pixel)*p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="38" z=cabs(z)*p1*log(abs(fn3(cabs(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="39" z=p1*log(abs(fn3(pixel*cos(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="40" z=sqr(pixel)*p1*log(abs(fn3(cosh(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="41" z=sqr(pixel)*p1*log(abs(fn3(tan(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="42" z=cabs(z)*p1*log(abs(fn3(conj(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="43" z=cos(pixel)*p1*log(abs(fn3(z-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="44" z=cos(pixel)*p1*log(abs(fn3(tan(z)-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="45" z=p1*log(abs(fn3(a-p2*(a/2)*(2-b))))^@pow2+p3 elseif @V=="46" z=cosh(pixel)*p1*log(abs(fn3(tan(z)-p2*(a/2)*(2-b))))^@pow2+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Whittaker 1 Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16"\ "17""18""19""20""21""22""23""24""25""26""27""28""29""30""31""32""33"\ "34""35""36""37""38""39""40""41""42""43""44""45""46" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Whittaker2Mod { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) f2=(@pow1-1)*@pow1*z^(@pow1-2) a=f/f1 b=f*f2/sqr(f1) if @V=="1" z=p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="2" z=abs(pixel)*p1*log(abs(fn3(tan(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="3" z=p1*log(abs(fn3(abs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+tan(pixel) elseif @V=="4" z=pixel*p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="5" z=p1*log(abs(fn3(cabs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+sqr(pixel) elseif @V=="6" z=p1*log(abs(fn3(cotanh(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="7" z=tanh(z)*p1*log(abs(fn3(sin(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="8" z=p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+pixel)))^@pow2+p3+pixel elseif @V=="9" z=p1*log(abs(fn3(tanh(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="10" z=z*p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="11" z=p1*log(abs(fn3(sin(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+tan(pixel) elseif @V=="12" z=p1*log(abs(fn3(flip(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="13" z=p1*log(abs(fn3(b-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="14" z=p1*log(abs(fn3(abs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+sqr(pixel) elseif @V=="15" z=p1*log(abs(fn3(pixel*z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="16" z=p1*log(abs(fn3(tanh(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+exp(pixel) elseif @V=="17" z=cabs(z)*p1*log(abs(fn3(abs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="18" z=p1*log(abs(fn3(cos(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+sqr(pixel) elseif @V=="19" z=p1*log(abs(fn3(sin(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+sqr(pixel) elseif @V=="20" z=abs(z)*p1*log(abs(fn3(abs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="21" z=p1*log(abs(fn3(sin(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+exp(pixel) elseif @V=="22" z=p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+pixel)))^@pow2+p3 elseif @V=="23" z=sqr(pixel)*p1*log(abs(fn3(tan(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="24" z=pixel*p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="25" z=p1*log(abs(fn3(sqr(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+tan(pixel) elseif @V=="26" z=sqr(pixel)*p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="27" z=cabs(z)*p1*log(abs(fn3(sqr(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="28" z=sqr(pixel)*p1*log(abs(fn3(abs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="29" z=p1*log(abs(fn3(a-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="30" z=sqr(pixel)*p1*log(abs(fn3(sqr(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="31" z=cabs(pixel)*p1*log(abs(fn3(flip(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="32" z=sqr(pixel)*p1*log(abs(fn3(tanh(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="33" z=sqr(pixel)*p1*log(abs(fn3(sin(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="34" z=abs(z)*p1*log(abs(fn3(cos(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="35" z=cabs(z)*p1*log(abs(fn3(tan(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="36" z=pixel*p1*log(abs(fn3(sin(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="37" z=p1*log(abs(fn3(cos(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+flip(pixel) elseif @V=="38" z=sqr(pixel)*p1*log(abs(fn3(flip(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="39" z=p1*log(abs(fn3(tan(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="40" z=p1*log(abs(fn3(tan(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+cabs(pixel) elseif @V=="41" z=p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="42" z=cabs(z)*p1*log(abs(fn3(cabs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="43" z=abs(pixel)*p1*log(abs(fn3(tanh(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="44" z=p1*log(abs(fn3(abs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="45" z=p1*log(abs(fn3(pixel*z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="46" z=pixel*p1*log(abs(fn3(z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+pixel)))^@pow2+p3 elseif @V=="47" z=p1*log(abs(fn3(cabs(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3+pixel elseif @V=="48" z=p1*log(abs(fn3(sin(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 elseif @V=="49" z=sqr(pixel)*p1*log(abs(fn3(exp(z)-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))))))^@pow2+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Whittaker 2 Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16"\ "17""18""19""20""21""22""23""24""25""26""27""28""29""30""31""32""33""34"\ "35""36""37""38""39""40""41""42""43""44""45""46""47""48""49" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Rootun4 { ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) f2=(@pow1-1)*@pow1*z^(@pow1-2) a=f/f1 b=f*f2/sqr(f1) if @V=="1" z=p1*log(abs(fn3(cabs(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="2" z=cabs(z)*p1*log(abs(fn3(z-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="3" z=p1*log(abs(fn3(tan(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="4" z=cabs(z)*p1*log(abs(fn3(abs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="5" z=pixel*p1*log(abs(fn3(exp(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="6" z=p1*log(abs(fn3(cabs(z)-cosh(a)*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="7" z=cabs(pixel)*p1*log(abs(fn3(-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+sin(pixel) elseif @V=="8" z=pixel*p1*log(abs(fn3(abs(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="9" z=p1*log(abs(fn3(cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="10" z=sqr(pixel)*abs(z)*p1*log(abs(fn3(sqr(pixel)*abs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="11" z=exp(pixel)*abs(z)*p1*log(abs(fn3(exp(pixel)*abs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="12" z=sqr(pixel)*p1*log(abs(fn3(-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="13" z=pixel*p1*log(abs(fn3(flip(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="14" z=abs(pixel)*cabs(z)*p1*log(abs(fn3(abs(pixel)*cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="15" z=flip(pixel)*cabs(z)*p1*log(abs(fn3(flip(pixel)*cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="16" z=cos(pixel)*p1*log(abs(fn3(tan(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="17" z=conj(pixel)*cabs(z)*p1*log(abs(fn3(conj(pixel)*cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="18" z=sin(pixel)*p1*log(abs(fn3(tan(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="19" z=pixel*p1*log(abs(fn3(-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="20" z=cabs(pixel)*cabs(z)*p1*log(abs(fn3(cabs(pixel)*cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="21" z=p1*log(abs(fn3(abs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="22" z=flip(pixel)*z*p1*log(abs(fn3(flip(pixel)*z-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="23" z=p1*log(abs(fn3(sin(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="24" z=exp(pixel)*p1*log(abs(fn3(exp(pixel)*z-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="25" z=sqr(pixel)*p1*log(abs(fn3(-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+cosh(pixel) elseif @V=="26" z=p1*log(abs(fn3(cotan(pixel)*cotan(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="27" z=cabs(pixel)*z*p1*log(abs(fn3(cabs(pixel)*z-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="28" z=p1*log(abs(fn3(cos(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="29" z=pixel*p1*log(abs(fn3(conj(z)-a*(1+b/(2*(1-p2*b))+p2*a^2))))^@pow2+p3 elseif @V=="30" z=p1*log(abs(fn3(sin(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="31" z=sqr(z)*p1*log(abs(fn3(cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="32" z=cos(pixel)*p1*log(abs(fn3(cos(pixel)*z-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="33" z=sqr(pixel)*cabs(z)*p1*log(abs(fn3(sqr(pixel)*cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="34" z=p1*log(abs(fn3(pixel*cotan(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="35" z=sqr(z)*p1*log(abs(fn3(cosh(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="36" z=abs(pixel)*conj(z)*p1*log(abs(fn3(abs(pixel)*conj(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="37" z=conj(pixel)*p1*log(abs(fn3(-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+cos(pixel) elseif @V=="38" z=p1*log(abs(fn3(z-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="39" z=cabs(z)*p1*log(abs(fn3(cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="40" z=pixel*p1*log(abs(fn3(-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+abs(pixel) elseif @V=="41" z=exp(pixel)*cabs(z)*p1*log(abs(fn3(exp(pixel)*cabs(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="42" z=pixel*sqr(z)*p1*log(abs(fn3(pixel*sqr(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="43" z=pixel*p1*log(abs(fn3(-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+cos(pixel) elseif @V=="44" z=tan(z)*p1*log(abs(fn3(tan(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="45" z=abs(z)*p1*log(abs(fn3(z-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3 elseif @V=="46" z=flip(pixel)*sqr(z)*p1*log(abs(fn3(flip(pixel)*sqr(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel elseif @V=="47" z=conj(pixel)*tan(z)*p1*log(abs(fn3(conj(pixel)*tan(z)-a*(1+b/(2*(1-p2*b))+p2*b^2))))^@pow2+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rootun 4" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13"\ "14""15""16""17""18""19""20""21""22""23""24""25""26"\ "27""28""29""30""31""32""33""34""35""36""37""38"\ "39""40""41""42""43""44""45""46""47" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=4 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Super-HalleyMod { ;Modifications of the Super-Halley root-finding method ;Note: The Iterations parameter controls the amount of detail. ;It will be necessary to increase the value of this parameter when zooming in. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) f2=(@pow1-1)*@pow1*z^(@pow1-2) a=f/f1 b=f*f2/sqr(f1) if @V=="1" z=p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="2" z=p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+pixel elseif @V=="3" z=p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="4" z=tan(pixel)*p1*log(abs(fn3(tan(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="5" z=p1*log(abs(fn3(tanh(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="6" z=pixel*p1*log(abs(fn3(abs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="7" z=z*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="8" z=pixel*p1*log(abs(fn3(tan(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="9" z=p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+tan(pixel) elseif @V=="10" z=p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+sqr(pixel) elseif @V=="11" z=p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="12" z=cosh(z)*pixel*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="13" z=p1*log(abs(fn3(sin(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+tan(pixel) elseif @V=="14" z=p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="15" z=pixel*p1*log(abs(fn3(sqr(pixel)*z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="16" z=cos(pixel)*p1*log(abs(fn3(tan(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="17" z=p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+pixel elseif @V=="18" z=pixel*p1*log(abs(fn3(flip(pixel)*z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="19" z=cabs(pixel)*p1*log(abs(fn3(tanh(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="20" z=p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+sin(pixel) elseif @V=="21" z=p1*log(abs(fn3(sin(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+pixel elseif @V=="22" z=cabs(pixel)*p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="23" z=p1*log(abs(fn3(sin(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+sin(pixel) elseif @V=="24" z=cabs(pixel)*p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="25" z=abs(z)*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="26" z=abs(pixel)*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="27" z=pixel*p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="28" z=cabs(pixel)*p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="29" z=pixel*p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="30" z=p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+flip(pixel) elseif @V=="31" z=p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b))))+cosh(pixel))))^@pow2+p3 elseif @V=="32" z=pixel*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="33" z=pixel*p1*log(abs(fn3(cosh(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="34" z=p1*log(abs(fn3(tan(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="35" z=p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b))))+cos(pixel))))^@pow2+p3 elseif @V=="36" z=cabs(pixel)*p1*log(abs(fn3(flip(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="37" z=p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+pixel elseif @V=="38" z=cabs(pixel)*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="39" z=cabs(pixel)*p1*log(abs(fn3(tan(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="40" z=pixel*p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+pixel elseif @V=="41" z=pixel*p1*log(abs(fn3(cos(pixel)*z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="42" z=cabs(pixel)*p1*log(abs(fn3(cosh(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="43" z=p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+tan(pixel) elseif @V=="44" z=flip(pixel)*p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="45" z=abs(pixel)*p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="46" z=p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+tan(pixel) elseif @V=="47" z=abs(pixel)*p1*log(abs(fn3(tan(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="48" z=sin(z)*pixel*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="49" z=tan(pixel)*p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="50" z=pixel*p1*log(abs(fn3(sin(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="51" z=tan(pixel)*p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="52" z=tan(pixel)*p1*log(abs(fn3(cosh(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="53" z=cos(pixel)*p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="54" z=pixel*p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="55" z=cos(pixel)*p1*log(abs(fn3(cosh(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="56" z=sin(pixel)*p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="57" z=p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="58" z=pixel*p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="59" z=pixel*p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b))))+pixel)))^@pow2+p3 elseif @V=="60" z=p1*log(abs(fn3(-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+pixel elseif @V=="61" z=abs(pixel)*p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="62" z=p1*log(abs(fn3(sin(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="63" z=cabs(z)*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="64" z=p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+tan(pixel) elseif @V=="65" z=z*pixel*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="66" z=tan(z)*pixel*p1*log(abs(fn3(z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="67" z=p1*log(abs(fn3(abs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+pixel elseif @V=="68" z=tan(pixel)*p1*log(abs(fn3(cabs(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="69" z=pixel*p1*log(abs(fn3(pixel*z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="70" z=p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+flip(pixel) elseif @V=="71" z=pixel*p1*log(abs(fn3(exp(pixel)*z-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 elseif @V=="72" z=p1*log(abs(fn3(sqr(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3+sqr(pixel) elseif @V=="73" z=cabs(pixel)*p1*log(abs(fn3(cos(z)-p2*a*(1+(b/(2*(1-b)))))))^@pow2+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Super-Halley Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12"\ "13""14""15""16""17""18""19""20""21""22""23""24"\ "25""26""27""28""29""30""31""32""33""34""35""36"\ "37""38""39""40""41""42""43""44""45""46""47""48"\ "49""50""51""52""53""54""55""56""57""58""59""60"\ "61""62""63""64""65""66""67""68""69""70""71""72""73" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=4 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } KingMod { ;Modifications of the King root-finding method. ;The Iterations parameter controls the amount of detail. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) f=z^@pow1-@root f1=@pow1*z^(@pow1-1) a=f/f1 c=(z-a)^@pow1-@root if @V=="1" z=tan(pixel)*p1*log(abs(fn3(cotanh(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="2" z=flip(pixel)*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="3" z=exp(pixel)*p1*log(abs(fn3(sqr(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="4" z=abs(pixel)*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="5" z=tan(pixel)*p1*log(abs(fn3(cotan(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="6" z=p1*log(abs(fn3(sin(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="7" z=abs(pixel)*p1*log(abs(fn3(cotanh(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="8" z=p1*log(abs(fn3(tan(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="9" z=sin(pixel)*p1*log(abs(fn3(sin(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="10" z=cabs(pixel)*p1*log(abs(fn3(cotan(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c))+tan(pixel))))^@pow2+p3+tan(pixel) elseif @V=="11" z=flip(z)*pixel*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="12" z=abs(pixel)*p1*log(abs(fn3(cotan(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="13" z=cabs(z)*pixel*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="14" z=abs(z)*pixel*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="15" z=cabs(z)*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3+flip(pixel) elseif @V=="16" z=sqr(pixel)*p1*log(abs(fn3(cotan(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="17" z=sqr(z)*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3+exp(pixel) elseif @V=="18" z=cabs(exp(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="19" z=cabs(pixel)*p1*log(abs(fn3(cotan(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c))+pixel)))^@pow2+p3+pixel elseif @V=="20" z=cabs(tan(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="21" z=cabs(tanh(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="22" z=flip(pixel)*p1*log(abs(fn3(cotan(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="23" z=exp(flip(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="24" z=cos(pixel)*p1*log(abs(fn3(sqr(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="25" z=flip(pixel)*p1*log(abs(fn3(cotanh(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="26" z=sqr(cos(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="27" z=cabs(pixel)*p1*log(abs(fn3(cos(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c))+conj(pixel))))^@pow2+p3+conj(pixel) elseif @V=="28" z=sqr(pixel)*p1*log(abs(fn3(cotanh(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="29" z=cos(tan(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="30" z=flip(pixel)*p1*log(abs(fn3(sqr(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="31" z=abs(pixel)*p1*log(abs(fn3(cos(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="32" z=cos(abs(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="33" z=exp(pixel)*p1*log(abs(fn3(cotanh(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="34" z=cos(ident(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="35" z=p1*log(abs(fn3(-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="36" z=sqr(tan(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="37" z=sqr(pixel)*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="38" z=p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="39" z=cabs(z)*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3+sqr(pixel) elseif @V=="40" z=cos(cosh(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="41" z=cabs(pixel)*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="42" z=cos(cabs(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="43" z=z*pixel*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="44" z=p1*log(abs(fn3(cos(z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="45" z=conj(z)*pixel*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="46" z=cos(sqr(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="47" z=cabs(sqr(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="48" z=cos(cos(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="49" z=cos(tanh(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="50" z=exp(tan(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 elseif @V=="51" z=sqr(tanh(pixel))*p1*log(abs(fn3((z-a)-(c/f1)*((f+p2*c)/((p2-2)*c)))))^@pow2+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="King Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28""29""30""31""32""33""34""35"\ "36""37""38""39""40""41""42""43""44""45""46""47""48""49""50""51" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param root caption="Root" default=(1,0) endparam param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } SecantMod { ;Modifications of the Secant root-finding method. ;The Iterations parameter controls the amount of detail. init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @v=="1" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="2" z=p1*abs(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-cos(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="3" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-tanh(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="4" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-cos(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="5" z=p1*cabs(pixel)*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="6" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sqr(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="7" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-cabs(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="8" z=p1*abs(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-cabs(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="9" z=p1*abs(pixel)*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="10" z=p1*conj(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-abs(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="11" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-pixel*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="12" z=p1*conj(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-exp(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="13" z=p1*tanh(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="14" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-cosh(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="15" z=p1*abs(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-cosh(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="16" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sin(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="17" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-tan(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="18" z=p1*abs(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-abs(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="19" z=p1*tanh(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sqr(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="20" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sinh(pixel)*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="21" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-pixel*z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="22" z=p1*flip(pixel)*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="23" z=p1*abs(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="24" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sinh(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="25" z=p1*abs(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-abs(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="26" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sqr(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="27" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-tan(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="28" z=p1*sin(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="29" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-abs(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="30" z=p1*cos(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sqr(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="31" z=p1*flip(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="32" z=p1*tan(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="33" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sin(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="34" z=p1*exp(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-sqr(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 elseif @V=="35" z=p1*log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-zero(z)*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3))))^@pow2+p4 elseif @V=="36" z=p1*sinh(log(abs(fn3((z+1)*(z^@pow1-p2*z-p3)-z*((z+1)^@pow1-p2*(z+1)-p3))/((z^@pow1-p2*z-p3)-((z+1)^@pow1-p2*(z+1)-p3)))))^@pow2+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Secant Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28""29""30""31""32""33""34""35""36" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow1 caption="Exponent 1" default=3 endparam param pow2 caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } CollatzMod { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @v=="1" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="2" z=abs(pixel)*p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="3" z=cabs(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="4" z=p1*log((abs(fn3(2+7*cos(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="5" z=tanh(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="6" z=tanh(pixel)*p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="7" z=p1*cos(log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4))))^@pow+p2 elseif @V=="8" z=p1*log((abs(fn3(2+7*z-(2+5*log(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="9" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+pixel elseif @V=="10" z=p1*log((abs(fn3(2+7*sinh(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="11" z=p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2+sin(pixel) elseif @V=="12" z=p1*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p2+recip(pixel) elseif @V=="13" z=z*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="14" z=p1*log((abs(fn3(2+7*z-(2+5*atanh(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="15" z=p1*log((abs(fn3(2+7*cotan(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="16" z=cabs(z)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="17" z=sin(pixel)*p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="18" z=tanh(z)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="19" z=p1*log((abs(fn3(2+7*sin(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="20" z=p1*log((abs(fn3(2+7*asinh(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="21" z=p1*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p2+conj(pixel) elseif @V=="22" z=p1*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p2+tanh(pixel) elseif @V=="23" z=p1*log((abs(fn3(2+7*z-(2+5*z)*sqr(pixel)*cos(pi*z))/4)))^@pow+p2+sin(pixel) elseif @V=="24" z=p1*log((abs(fn3(2+7*z-(2+5*cotan(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="25" z=p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="26" z=cos(pixel)*p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="27" z=abs(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+cabs(pixel) elseif @V=="28" z=p1*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p2 elseif @V=="29" z=cosh(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="30" z=p1*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p2+pixel elseif @V=="31" z=p1*log((abs(fn3(2+7*sqr(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="32" z=sin(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+abs(pixel) elseif @V=="33" z=p1*log((abs(fn3(2+7*z-(2+5*abs(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="34" z=p1*log((abs(fn3(2+7*z-(2+5*sin(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="35" z=flip(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+pixel elseif @V=="36" z=p1*log((abs(fn3(2+7*asin(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="37" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+tanh(pixel) elseif @V=="38" z=p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="39" z=cabs(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+ident(pixel) elseif @V=="40" z=cabs(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+tanh(pixel) elseif @V=="41" z=cos(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+cotan(pixel) elseif @V=="42" z=p1*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p2+sin(pixel) elseif @V=="43" z=conj(z)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="44" z=p1*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="45" z=abs(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="46" z=pixel*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+pixel elseif @V=="47" z=cabs(pixel)*p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="48" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="49" z=sin(z)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="50" z=exp(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="51" z=p1*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p2+pixel elseif @V=="52" z=p1*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p2+pixel elseif @V=="53" z=p1*sin(log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4))))^@pow+p2 elseif @V=="54" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*cos(z)))/4)))^@pow+p2 elseif @V=="55" z=cabs(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="56" z=flip(z)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="57" z=p1*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p2+cotanh(pixel) elseif @V=="58" z=p1*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="59" z=p1*log((abs(fn3(2+7*z-(2+5*cabs(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="60" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cabs(pixel)*cos(pi*z))/4)))^@pow+p2+pixel elseif @V=="61" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+cotanh(pixel) elseif @V=="62" z=cos(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="63" z=p1*log((abs(fn3(2+7*cosh(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="64" z=p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*log(z)))/4)))^@pow+p2 elseif @V=="65" z=flip(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+conj(pixel) elseif @V=="66" z=p1*log((abs(fn3(2+7*z-(2+5*tanh(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="67" z=p1*log((abs(fn3(2+7*cotanh(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="68" z=abs(z)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="69" z=abs(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2+flip(pixel) elseif @V=="70" z=p1*recip(log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4))))^@pow+p2 elseif @V=="71" z=flip(pixel)*p1*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p2 elseif @V=="72" z=p1*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p2+tanh(pixel) elseif @V=="73" z=p1*log((abs(fn3(2+7*z-(2+5*cotanh(z))*cos(pi*z))/4)))^@pow+p2 elseif @V=="74" z=p1*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p2+recip(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Collatz Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28""29""30""31""32""33""34""35"\ "36""37""38""39""40""41""42""43""44""45""46""47""48""49""50"\ "51""52""53""54""55""56""57""58""59""60""61""62""63""64""65"\ "66""67""68""69""70""71""72""73""74" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } TetrationMod { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V=="1" z=p1*log(abs(fn3(z^z)))^@pow+p2 elseif @V=="2" z=p1*log(abs(fn3(z^abs(z))))^@pow+p2 elseif @V=="3" z=p1*log(abs(fn3(exp(z)^asin(z))))^@pow+p2+pixel elseif @V=="4" z=p1*log(abs(fn3(z^abs(z))))^@pow+p2+tanh(pixel) elseif @V=="5" z=p1*log(abs(fn3(exp(z)^atanh(z))))^@pow+p2 elseif @V=="6" z=p1*log(abs(fn3(exp(z)^asin(z))))^@pow+p2+tanh(pixel) elseif @V=="7" z=p1*log(abs(fn3(z^z)))^@pow+p2+tan(pixel) elseif @V=="8" z=p1*log(abs(fn3(log(z)^atanh(z))))^@pow+p2 elseif @V=="9" z=p1*log(abs(fn3(exp(z)^atanh(z))))^@pow+p2+cotanh(pixel) elseif @V=="10" z=p1*log(abs(fn3(log(z)^cos(z))))^@pow+p2 elseif @V=="11" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2 elseif @V=="12" z=p1*log(abs(fn3(z^abs(z))))^@pow+p2+exp(pixel) elseif @V=="13" z=p1*log(abs(fn3(atanh(z)^log(z))))^@pow+p2 elseif @V=="14" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+cotanh(pixel) elseif @V=="15" z=p1*log(abs(fn3(atanh(z)^atanh(z))))^@pow+p2 elseif @V=="16" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+sin(pixel) elseif @V=="17" z=p1*log(abs(fn3(atanh(z)^sinh(z))))^@pow+p2 elseif @V=="18" z=p1*log(abs(fn3(atanh(z)^sin(z))))^@pow+p2 elseif @V=="19" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+cotan(pixel) elseif @V=="20" z=p1*log(abs(fn3(tan(z)^atanh(z))))^@pow+p2 elseif @V=="21" z=p1*log(abs(fn3(tan(z)^sinh(z))))^@pow+p2 elseif @V=="22" z=p1*log(abs(fn3(tan(z)^sin(z))))^@pow+p2 elseif @V=="23" z=p1*log(abs(fn3(cosh(z)^atanh(z))))^@pow+p2 elseif @V=="24" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+tan(pixel) elseif @V=="25" z=p1*log(abs(fn3(z^abs(z))))^@pow+p2+conj(pixel) elseif @V=="26" z=p1*log(abs(fn3(asin(z)^log(z))))^@pow+p2 elseif @V=="27" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+cotan(pixel) elseif @V=="28" z=p1*log(abs(fn3(asin(z)^tanh(z))))^@pow+p2 elseif @V=="29" z=p1*log(abs(fn3(log(z)^z)))^@pow+p2+pixel elseif @V=="30" z=p1*log(abs(fn3(asin(z)^sinh(z))))^@pow+p2 elseif @V=="31" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+cabs(pixel) elseif @V=="32" z=p1*log(abs(fn3(sinh(z)^z)))^@pow+p2 elseif @V=="33" z=p1*log(abs(fn3(atanh(z)^abs(z))))^@pow+p2+tanh(pixel) elseif @V=="34" z=p1*log(abs(fn3(sinh(z)^tanh(z))))^@pow+p2 elseif @V=="35" z=p1*log(abs(fn3(sinh(z)^asin(z))))^@pow+p2 elseif @V=="36" z=p1*log(abs(fn3(log(z)^z)))^@pow+p2+exp(pixel) elseif @V=="37" z=p1*log(abs(fn3(sinh(z)^sin(z))))^@pow+p2 elseif @V=="38" z=p1*log(abs(fn3(sin(z)^log(z))))^@pow+p2 elseif @V=="39" z=p1*log(abs(fn3(log(z)^abs(z))))^@pow+p2 elseif @V=="40" z=p1*log(abs(fn3(asin(z)^abs(z))))^@pow+p2 elseif @V=="41" z=p1*log(abs(fn3(atanh(z)^abs(z))))^@pow+p2 elseif @V=="42" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+flip(pixel) elseif @V=="43" z=p1*log(abs(fn3(abs(z)^abs(z))))^@pow+p2 elseif @V=="44" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+pixel elseif @V=="45" z=p1*log(abs(fn3(asin(z)^sin(z))))^@pow+p2 elseif @V=="46" z=p1*log(abs(fn3(abs(z)^abs(z))))^@pow+p2+recip(pixel) elseif @V=="47" z=p1*log(abs(fn3(tan(z)^z)))^@pow+p2 elseif @V=="48" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+atanh(pixel) elseif @V=="49" z=p1*log(abs(fn3(asin(z)^z)))^@pow+p2 elseif @V=="50" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+tanh(pixel) elseif @V=="51" z=p1*log(abs(fn3(atanh(z)^abs(z))))^@pow+p2+atan(pixel) elseif @V=="52" z=p1*log(abs(fn3(log(z)^log(z))))^@pow+p2+cabs(pixel) elseif @V=="53" z=p1*log(abs(fn3(atanh(z)^asin(z))))^@pow+p2 elseif @V=="54" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+exp(pixel) elseif @V=="55" z=p1*log(abs(fn3(log(z)^tanh(z))))^@pow+p2 elseif @V=="56" z=p1*log(abs(fn3(log(z)^log(z))))^@pow+p2+cos(pixel) elseif @V=="57" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2 elseif @V=="58" z=p1*log(abs(fn3(abs(z)^abs(z))))^@pow+p2+cotanh(pixel) elseif @V=="59" z=p1*log(abs(fn3(log(z)^z)))^@pow+p2 elseif @V=="60" z=p1*log(abs(fn3(atanh(z)^z)))^@pow+p2+tan(pixel) elseif @V=="61" z=p1*log(abs(fn3(asin(z)^asin(z))))^@pow+p2 elseif @V=="62" z=p1*log(abs(fn3(sinh(z)^sinh(z))))^@pow+p2 elseif @V=="63" z=p1*log(abs(fn3(atanh(z)^abs(z))))^@pow+p2+exp (pixel) elseif @V=="64" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+sinh(pixel) elseif @V=="65" z=p1*log(abs(fn3(exp(z)^atanh(z))))^@pow+p2+tanh(pixel) elseif @V=="66" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+pixel elseif @V=="67" z=p1*log(abs(fn3(z^abs(z))))^@pow+p2+cotanh(pixel) elseif @V=="68" z=p1*log(abs(fn3(abs(z)^abs(z))))^@pow+p2+exp(pixel) elseif @V=="69" z=p1*log(abs(fn3(atanh(z)^sqrt(z))))^@pow+p2 elseif @V=="70" z=p1*log(abs(fn3(asin(z)^atanh(z))))^@pow+p2 elseif @V=="71" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+tanh(pixel) elseif @V=="72" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+cosh(pixel) elseif @V=="73" z=p1*log(abs(fn3(exp(z)^asin(z))))^@pow+p2+sin(pixel) elseif @V=="74" z=p1*log(abs(fn3(log(z)^log(z))))^@pow+p2+pixel elseif @V=="75" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+cos(pixel) elseif @V=="76" z=p1*log(abs(fn3(sinh(z)^atanh(z))))^@pow+p2 elseif @V=="77" z=p1*log(abs(fn3(flip(z)^flip(z))))^@pow+p2+exp(pixel) elseif @V=="78" z=p1*log(abs(fn3(exp(z)^asin(z))))^@pow+p2+cotanh(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Tetration Mod" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28""29""30""31""32""33""34""35"\ "36""37""38""39""40""41""42""43""44""45""46""47""48""49""50""51""52"\ "53""54""55""56""57""58""59""60""61""62""63""64""65""66""67""68""69"\ "70""71""72""73""74""75""76""77""78" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } Mandia { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=z^2+p1 z=z^2+pixel elseif @V=="2" z=z^2+p1 z=z^2+sinh(z)*pixel elseif @V=="3" z=z^2+p1 z=abs(z)^2+pixel elseif @V=="4" z=z^2+p1 z=z^2+cotan(z)*pixel elseif @V=="5" z=z^2+p1 z=sqr(z)^2+pixel elseif @V=="6" z=sqr(z)^2+pixel z=z^2+p1 elseif @V=="7" z=z^2+cos(z)*pixel z=z^2+p1 elseif @V=="8" z=sinh(z)^2+pixel z=z^2+p1 elseif @V=="9" z=z^2+p1+1 z=z^3+pixel elseif @V=="10" z=z^2+exp(z)*pixel z=z^2+p1 elseif @V=="11" z=z^2+p1 z=flip(z)^3+pixel elseif @V=="12" z=z^3+p1 z=z^2+pixel elseif @V=="13" z=z^2+p1 z=z^2+cos(z)*pixel elseif @V=="14" z=z^2+p1 z=abs(z^2)+pixel elseif @V=="15" z=z^2+p1 z=z^2+exp(z)*pixel elseif @V=="14" z=z^2+p1 z=abs(z^2)+pixel elseif @V=="15" z=z^2+sinh(z)*pixel z=z^2+p1 elseif @V=="16" z=z^2+cosh(pixel) z=z^2+p1 elseif @V=="17" z=z^2+cotanh(z)*pixel z=z^2+p1 elseif @V=="18" z=z^2+sinh(pixel) z=z^2+p1 elseif @V=="19" z=z^2+cotan(z)*pixel z=z^2+p1 elseif @V=="20" z=pixel*(z^2+pixel) z=z^2+p1 elseif @V=="21" z=z^2+p1 z=z*(z^2+pixel) elseif @V=="22" z=z*(z^2+pixel) z=z^2+p1 elseif @V=="23" z=z^2+p1 z=z^2+cotanh(z)*pixel elseif @V=="24" z=z^2+z*pixel z=z^2+p1 elseif @V=="25" z=z^2+p1 z=z^2+recip(z)*pixel elseif @V=="26" z=z^2+p1 z=z^2+sin(z)*pixel elseif @V=="27" z=abs(z^2)+pixel z=z^2+p1 elseif @V=="28" z=z^3+pixel z=z^2+p1 elseif @V=="29" z=z^2+p1 z=z^2+z*pixel elseif @V=="30" z=z^2+sin(pixel) z=z^2+p1 elseif @V=="31" z=abs(z)^2+pixel z=z^2+p1 elseif @V=="32" z=z^2+p1 z=pixel*(z^2+pixel) elseif @V=="33" z=z^2+pixel z=z^3+p1 elseif @V=="34" z=z^2+p1 z=sinh(z)^2+pixel elseif @V=="35" z=z^2+pixel z=z^2+p1 elseif @V=="36" z=abs(z^2)+pixel z=z^2+p1 elseif @V=="37" z=z^2+recip(z)*pixel z=z^2+p1 endif z=p2*log(abs(fn2(z)))^@pow+p3 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mandia" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12"\ "13""14""15""16""17""18""19""20""21""22""23""24"\ "25""26""27""28""29""30""31""32""33""34""35""36""37" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } Dodurgam1 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V=="1" z=p2*log(abs(fn2(x+flip(y))))^@pow+p3 elseif @V=="2" z=p2*log(abs(fn2(y+flip(x))))^@pow+p3 elseif @V=="3" z=p2*abs(log(abs(fn2(x+flip(y)))))^@pow+p3 elseif @V=="4" z=p2*abs(log(abs(fn2(y+flip(x)))))^@pow+p3 elseif @V=="5" z=p2*log(abs(log(abs(fn2(x+flip(y))))))^@pow+p3 elseif @V=="6" z=p2*log(abs(log(abs(fn2(y+flip(x))))))^@pow+p3 elseif @V=="7" z=p2*abs(log(abs(log(abs(fn2(x+flip(y)))))))^@pow+p3 elseif @V=="8" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)))))))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Dodurgam 1" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-0.5,-1) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Dodurgam2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V=="1" z=p2*abs(log(abs(fn2(y+flip(x)+cosh(pixel)))))^@pow+p3 elseif @V=="2" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+tan(pixel)))))))^@pow+p3 elseif @V=="3" z=p2*log(abs(fn2(x+flip(y)+cabs(pixel))))^@pow+p3 elseif @V=="4" z=p2*log(abs(log(abs(fn2(y+flip(x)+tan(pixel))))))^@pow+p3 elseif @V=="5" z=p2*abs(log(abs(fn2(y+flip(x)+tanh(pixel)))))^@pow+p3 elseif @V=="6" z=p2*log(abs(fn2(x+flip(y)+conj(pixel))))^@pow+p3 elseif @V=="7" z=p2*log(abs(fn2(x+flip(y)+flip(pixel))))^@pow+p3 elseif @V=="8" z=p2*abs(log(abs(fn2(y+flip(x)+pixel))))^@pow+p3 elseif @V=="9" z=p2*log(abs(log(abs(fn2(y+flip(x)+tanh(pixel))))))^@pow+p3 elseif @V=="10" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+sinh(pixel)))))))^@pow+p3 elseif @V=="11" z=p2*log(abs(fn2(y+flip(x)+cosh(pixel))))^@pow+p3 elseif @V=="12" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+cotanh(pixel)))))))^@pow+p3 elseif @V=="13" z=p2*log(abs(log(abs(fn2(y+flip(x)+sinh(pixel))))))^@pow+p3 elseif @V=="14" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+cotan(pixel)))))))^@pow+p3 elseif @V=="15" z=p2*abs(log(abs(fn2(y+flip(x)+sin(pixel)))))^@pow+p3 elseif @V=="16" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+sin(pixel)))))))^@pow+p3 elseif @V=="17" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+tanh(pixel)))))))^@pow+p3 elseif @V=="18" z=p2*log(abs(log(abs(fn2(x+flip(y)+cabs(pixel))))))^@pow+p3 elseif @V=="19" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+sqr(pixel)))))))^@pow+p3 elseif @V=="20" z=p2*log(abs(log(abs(fn2(y+flip(x)+abs(pixel))))))^@pow+p3 elseif @V=="21" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+abs(pixel)))))))^@pow+p3 elseif @V=="22" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+cosh(pixel)))))))^@pow+p3 elseif @V=="23" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+pixel))))))^@pow+p3 elseif @V=="24" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+exp(pixel)))))))^@pow+p3 elseif @V=="25" z=p2*log(abs(fn2(y+flip(x)+cos(pixel))))^@pow+p3 elseif @V=="26" z=p2*abs(log(abs(log(abs(fn2(y+flip(x)+cos(pixel)))))))^@pow+p3 elseif @V=="27" z=p2*abs(log(abs(fn2(x+flip(y)+conj(pixel)))))^@pow+p3 elseif @V=="28" z=p2*abs(log(abs(log(abs(fn2(x+flip(y)+abs(pixel)))))))^@pow+p3 elseif @V=="29" z=p2*abs(log(abs(fn2(y+flip(x)+exp(pixel)))))^@pow+p3 elseif @V=="30" z=p2*log(abs(log(abs(fn2(y+flip(x)+cotan(pixel))))))^@pow+p3 elseif @V=="31" z=p2*abs(log(abs(fn2(y+flip(x)+cos(pixel)))))^@pow+p3 elseif @V=="32" z=p2*log(abs(log(abs(fn2(x+flip(y)+abs(pixel))))))^@pow+p3 elseif @V=="33" z=p2*abs(log(abs(log(abs(fn2(x+flip(y)+sqr(pixel)))))))^@pow+p3 elseif @V=="34" z=p2*abs(log(abs(fn2(y+flip(x)+sinh(pixel)))))^@pow+p3 elseif @V=="35" z=p2*log(abs(log(abs(fn2(x+flip(y)+conj(pixel))))))^@pow+p3 elseif @V=="36" z=p2*abs(log(abs(fn2(x+flip(y)+flip(pixel)))))^@pow+p3 elseif @V=="37" z=p2*abs(log(abs(fn2(y+flip(x)+cotan(pixel)))))^@pow+p3 elseif @V=="38" z=p2*abs(log(abs(log(abs(fn2(x+flip(y)+conj(pixel)))))))^@pow+p3 elseif @V=="39" z=p2*abs(log(abs(log(abs(fn2(x+flip(y)+flip(pixel)))))))^@pow+p3 elseif @V=="40" z=p2*log(abs(log(abs(fn2(x+flip(y)+flip(pixel))))))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Dodurgam 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12"\ "13""14""15""16""17""18""19""20""21""22""23""24"\ "25""26""27""28""29""30""31""32""33""34""35""36"\ "37""38""39""40" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-0.5,-1) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Prepuscli { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V=="J1" z=p1*log(abs(fn3(z+recip(z))))^@pow+p2 elseif @v=="J2" z=p1*log(abs(fn3(sin(z)+recip(z))))^@pow+p2 elseif @v=="J3" z=p1*log(abs(fn3(sinh(z)+recip(sinh(z)))))^@pow+p2 elseif @v=="M1" z=p1*log(abs(fn3(z+recip(z)+pixel)))^@pow+p2 elseif @v=="M2" z=p1*log(abs(fn3(z+recip(z))))^@pow+p2+pixel elseif @v=="M3" z=p1*log(abs(fn3(sin(z)+recip(z)+pixel)))^@pow+p2 elseif @v=="M4" z=p1*log(abs(fn3(sinh(z)+recip(z))))^@pow+p2+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Prepuscli" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="J1""J2""J3""M1""M2""M3""M4" default=0 endparam param p1 default=(-1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } Prepuscli2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V=="1" z=p1*log(abs(fn3(pixel*z+recip(pixel*z))))^@pow+p2 elseif @v=="2" z=p1*log(abs(fn3(pixel*abs(z)+recip(pixel*abs(z)))))^@pow+p2 elseif @v=="3" z=p1*log(abs(fn3(pixel*tanh(z)+recip(pixel*tanh(z)))))^@pow+p2 elseif @v=="4" z=p1*log(abs(fn3(pixel*sinh(z)+recip(pixel*sinh(z)))))^@pow+p2 elseif @v=="5" z=p1*log(abs(fn3(pixel*sin(z)+recip(pixel*sin(z)))))^@pow+p2 elseif @v=="6" z=p1*log(abs(fn3(cabs(pixel)*z+recip(cabs(pixel)*z))))^@pow+p2 elseif @v=="7" z=p1*log(abs(fn3(abs(pixel)*z+recip(abs(pixel)*z))))^@pow+p2 elseif @v=="8" z=p1*log(abs(fn3(sqr(pixel)*z+recip(sqr(pixel)*z))))^@pow+p2 elseif @v=="9" z=p1*log(abs(fn3(cotanh(pixel)*z+recip(cotanh(pixel)*z))))^@pow+p2 elseif @v=="10" z=p1*log(abs(fn3(cos(pixel)*z+recip(cos(pixel)*z))))^@pow+p2 elseif @v=="11" z=p1*log(abs(fn3(sinh(pixel)*z+recip(sinh(pixel)*z))))^@pow+p2 elseif @v=="12" z=p1*log(abs(fn3(sin(pixel)*z+recip(sin(pixel)*z))))^@pow+p2 elseif @V=="13" z=p1*log(abs(fn3(pixel*z+recip(pixel*sqr(z)))))^@pow+p2 elseif @V=="14" z=p1*log(abs(fn3(pixel*exp(z)+recip(pixel*z))))^@pow+p2 elseif @V=="15" z=p1*log(abs(fn3(pixel*exp(z)+recip(pixel*tanh(z)))))^@pow+p2 elseif @V=="16" z=p1*log(abs(fn3(pixel*exp(z)+recip(pixel*sin(z)))))^@pow+p2 elseif @V=="17" z=p1*log(abs(fn3(pixel*sqr(z)+recip(pixel*recip(z)))))^@pow+p2 elseif @V=="18" z=p1*log(abs(fn3(pixel*sqr(z)+recip(pixel*z))))^@pow+p2 elseif @V=="19" z=p1*log(abs(fn3(pixel*sqr(z)+recip(pixel*tanh(z)))))^@pow+p2 elseif @V=="20" z=p1*log(abs(fn3(pixel*sqr(z)+recip(pixel*sin(z)))))^@pow+p2 elseif @V=="21" z=p1*log(abs(fn3(pixel*tanh(z)+recip(pixel*z))))^@pow+p2 elseif @V=="22" z=p1*log(abs(fn3(pixel*tanh(z)+recip(pixel*sin(z)))))^@pow+p2 elseif @V=="23" z=p1*log(abs(fn3(pixel*tan(z)+recip(pixel*z))))^@pow+p2 elseif @V=="24" z=p1*log(abs(fn3(pixel*tan(z)+recip(pixel*tanh(z)))))^@pow+p2 elseif @V=="25" z=p1*log(abs(fn3(pixel*tan(z)+recip(pixel*sin(z)))))^@pow+p2 elseif @V=="26" z=p1*log(abs(fn3(pixel*cosh(z)+recip(pixel*sqr(z)))))^@pow+p2 elseif @V=="27" z=p1*log(abs(fn3(pixel*cosh(z)+recip(pixel*tanh(z)))))^@pow+p2 elseif @V=="28" z=p1*log(abs(fn3(pixel*sinh(z)+recip(pixel*z))))^@pow+p2 elseif @V=="29" z=p1*log(abs(fn3(pixel*sinh(z)+recip(pixel*tanh(z)))))^@pow+p2 elseif @V=="30" z=p1*log(abs(fn3(pixel*sin(z)+recip(pixel*z))))^@pow+p2 elseif @V=="31" z=p1*log(abs(fn3(pixel*sin(z)+recip(pixel*sqr(z)))))^@pow+p2 elseif @V=="32" z=p1*log(abs(fn3(pixel*sin(z)+recip(pixel*tanh(z)))))^@pow+p2 elseif @V=="33" z=p1*log(abs(fn3(pixel*sin(z)+recip(pixel*sin(z)))))^@pow+p2 elseif @V=="34" z=p1*log(abs(fn3(pixel*sqr(z)+recip(pixel*cotanh(z)))))^@pow+p2 elseif @V=="35" z=p1*abs(log(abs(fn3(pixel*z+recip(pixel*z)))))^@pow+p2 elseif @V=="36" z=p1*exp(log(abs(fn3(pixel*z+recip(pixel*z)))))^@pow+p2 elseif @V=="37" z=p1*sqr(log(abs(fn3(pixel*z+recip(pixel*z)))))^@pow+p2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Prepuscli 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13"\ "14""15""16""17""18""19""20""21""22""23""24""25""26"\ "27""28""29""30""31""32""33""34""35""36""37" default=0 endparam param p1 default=(-1,0) endparam param p2 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } LucasPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="4" z=p2*log(abs(z^4+4*z^2+2))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5+5*z^3+5*z))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6+6*z^4+9*z^2+2))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7+7*z^5+14*z^3+7*z))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8+8*z^6+20*z^4+16*z^2+2))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^9+9*z^7+27*z^5+30*z^3+9*z))^@pow+p3 elseif @v=="10" z=p2*log(abs(z^10+10*z^8+35*z^6+50*z^4+25*z^2+2))^@pow+p3 elseif @v=="11" z=p2*log(abs(z^11+11*z^9+44*z^7+77*z^5+55*z^3+11*z))^@pow+p3 elseif @v=="12" z=p2*log(abs(z^12+12*z^10+54*z^8+112*z^6+105*z^4+36*z^2+2))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Lucas Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11""12" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ChebyshevPolynomialsFirstKind { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="4" z=p2*log(abs(8*z^4-8*z^2+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(16*z^5-20*z^3+5*z))^@pow+p3 elseif @v=="6" z=p2*log(abs(32*z^6-48*z^4+18*z^2-1))^@pow+p3 elseif @v=="7" z=p2*log(abs(64*z^7-112*z^5+56*z^3-7*z))^@pow+p3 elseif @v=="8" z=p2*log(abs(128*z^8-256*z^6+160*z^4-32*z^2+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(256*z^9-576*z^7+432*z^5-120*z^3+9*z))^@pow+p3 elseif @v=="10" z=p2*log(abs(512*z^10-1280*z^8+1120*z^6-400*z^4+50*z^2-1))^@pow+p3 elseif @v=="11" z=p2*log(abs(1024*z^11-2816*z^9+2816*z^7-1232*z^5+220*z^3-11*z))^@pow+p3 elseif @v=="12" z=p2*log(abs(2048*z^12-6144*z^10+6912*z^8-3584*z^6+840*z^4-72*z^2+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Chebyshev Polynomials First Kind" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11""12" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ChebyshevPolynomialsSecondKind { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="4" z=p2*log(abs(16*z^4-12*z^2+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(32*z^5-32*z^3+6*z))^@pow+p3 elseif @v=="6" z=p2*log(abs(64*z^6-80*z^4+24*z^2-1))^@pow+p3 elseif @v=="7" z=p2*log(abs(128*z^7-192*z^5+80*z^3-8*z))^@pow+p3 elseif @v=="8" z=p2*log(abs(256*z^8-448*z^6+240*z^4-40*z^2+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(512*z^9-1024*z^7+672*z^5-160*z^3+10*z))^@pow+p3 elseif @v=="10" z=p2*log(abs(1024*z^10-2304*z^8+1792*z^6-560*z^4+60*z^2-1))^@pow+p3 elseif @v=="11" z=p2*log(abs(2048*z^11-5120*z^9+4608*z^7-1792*z^5+280*z^3-12*z))^@pow+p3 elseif @v=="12" z=p2*log(abs(4096*z^12-11264*z^10+11520*z^8-5376*z^6+1120*z^4-84*z^2+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Chebyshev Polynomials Second Kind" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11""12" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PascalPolynomials { ;https://oeis.org/wiki/(1,2)-Pascal_polynomials init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="1" z=p2*log(abs(z+2))^@pow+p3 elseif @v=="2" z=p2*log(abs(z^2+3*z+2))^@pow+p3 elseif @v=="3" z=p2*log(abs(z^3+4*z^2+5*z+2))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^4+5*z^3+9*z^2+7*z+2))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5+6*z^4+14*z^3+16*z^2+9*z+2))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2))^@pow+p3 elseif @v=="10" z=p2*log(abs(z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pascal Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10" default=5 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Slebells { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="1" z=p2*abs(asinh(z^2+z))^@pow+p3 elseif @v=="2" z=p2*abs(recip(z^2+z))^@pow+p3 elseif @v=="3" z=p2*sqrt(abs(z^2+z))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Slebells" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } EulerPolynomials { ;http://mathworld.wolfram.com/EulerPolynomial.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(z^2-z))^@pow+p3 elseif @v=="3" z=p2*log(abs(z^3-1.5*z^2+0.25))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^4-2*z^3+z))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5-2.5*z^4+2.5*z^2-0.5))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6-3*z^5+5*z^3-3*z))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7-3.5*z^6+8.75*z^4-10.5*z^2+2.125))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8-4*z^7+14*z^5-28 *z^3+17*z))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Euler Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } EulerPolynomials2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(1+4*z+z^2))^@pow+p3 elseif @v=="4" z=p2*log(abs(1+11*z+11*z^2+z^3))^@pow+p3 elseif @v=="5" z=p2*log(abs(1+26*z+66*z^2+26*z^3++z^4))^@pow+p3 elseif @v=="6" z=p2*log(abs(1+57*z+302*z^2++302*z^3+57*z^4+z^5))^@pow+p3 elseif @v=="7" z=p2*log(abs(1+120*z+1191*z^2+2416*z^3+1191*z^4+120*z^5+z^6))^@pow+p3 elseif @v=="8" z=p2*log(abs(1+247*z+4293*z^2+15619*z^3+15619*z^4+4293*z^5+247^z^6+z^7))^@pow+p3 elseif @v=="9" z=p2*log(abs(1+502*z+14608*z^2+88234*z^3+156190*z^4+88234*z^5+14608*z^6+502*z^7+z^8))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Euler Polynomials 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0.4,0) endparam param p2 default=(-0.7,0) endparam param p3 default=(1.5,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } LegendrePolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="1" z=p2*log(abs(z))^@pow+p3 elseif @v=="2" z=p2*log(abs((3*z^2-1)/2))^@pow+p3 elseif @v=="3" z=p2*log(abs((5*z^3-3*z)/2))^@pow+p3 elseif @v=="4" z=p2*log(abs((35*z^4-30*z^2+3)/8))^@pow+p3 elseif @v=="5" z=p2*log(abs((63*z^5-70*z^3+15*z)/8))^@pow+p3 elseif @v=="6" z=p2*log(abs((231*z^6-315*z^4+105*z^2-5)/16))^@pow+p3 elseif @v=="7" z=p2*log(abs((429*z^7-693*z^5+315*z^3-35*z)/16))^@pow+p3 elseif @v=="8" z=p2*log(abs((6435*z^8-12012*z^6+6930*z^4-1260*z^2+35)/128))^@pow+p3 elseif @v=="9" z=p2*log(abs((12155*z^9-25740*z^7+18018*z^5-4620*z^3+315*z)/128))^@pow+p3 elseif @v=="10" z=p2*log(abs((46189*z^10-109395*z^8+90090*z^6-30030*z^4+3465*z^2-63)/256))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Legendre Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } BernoulliPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="3" z=p2*log(abs(z^3-1.5*z^2+z/2))^@pow+p3 elseif @V=="4" z=p2*log(abs(z^4-2*z^3+z^2-1/30))^@pow+p3 elseif @V=="5" z=p2*log(abs(z^5-2.5*z^4+(5/3)*z^3-z/6))^@pow+p3 elseif @V=="6" z=p2*log(abs(z^6-3*z^5+2.5*z^4-0.5*z^2+1/42))^@pow+p3 elseif @V=="7" z=p2*log(abs(z^7-3.5*z^6+3.5*z^5-(7/6)*z^3+z/6))^@pow+p3 elseif @V=="8" z=p2*log(abs(z^8-4*z^7+(14/3)*z^6-(7/3)*z^4+(2/3)*z^2-1/30))^@pow+p3 elseif @V=="9" z=p2*log(abs(z^9-4.5*z^8+6*z^7-(21/5)*z^5+2*z^3-(3/10)*z))^@pow+p3 elseif @V=="10" z=p2*log(abs(z^10-5*z^9+7.5*z^8-7*z^6+5*z^4-1.5*z^2+5/66))^@pow+p3 elseif @V=="11" z=p2*log(abs(z^11-5.5*z^10+(55/6)*z^9-11*z^7+11*z^5-5.5*z^3+(5/6)*z))^@pow+p3 elseif @V=="12" z=p2*log(abs(z^12-6*z^11+11*z^10-16.5*z^8+22*z^6-16.5*z^4+5*z^2-691/2730))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Bernoulli Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10""11""12" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } HermitePolynomials { ;http://mathworld.wolfram.com/HermitePolynomial.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(8*z^3-12*z))^@pow+p3-2 elseif @v=="4" z=p2*log(abs(16*z^4-48*z^2+12))^@pow+p3-3 elseif @v=="5" z=p2*log(abs(32*z^5-160*z^3+120*z))^@pow+p3-4 elseif @v=="6" z=p2*log(abs(64*z^6-480*z^4+720*z^2-120))^@pow+p3-5 elseif @v=="7" z=p2*log(abs(128*z^7-1344*z^5+3360*z^3-1680*z))^@pow+p3-6 elseif @v=="8" z=p2*log(abs(256*z^8-3584*z^6+13440*z^4-13440*z^2+1680))^@pow+p3-7 elseif @v=="9" z=p2*log(abs(512*z^9-9216*z^7+48384*z^5-80640*z^3+30240*z))^@pow+p3-9 elseif @v=="10" z=p2*log(abs(1024*z^10-23040*z^8+161280*z^6-403200*z^4+302400*z^2-30240))^@pow+p3-11 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Hermite Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Pegglum { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(z^3/fn3(1+z)))^@pow+p3+2 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pegglum" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=log() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } BrahmaguptaPolynomials { init: z=fn1(pixel) int i=0 t=-abs(p2) loop: while i<@iter i=i+1 z=fn2(fn3(z)) a=real(z) b=imag(z) c=a^2+b^2 a=a/c+real(p1) b=b/c+imag(p1) z=a+flip(b) if @V=="2" x=real(z)^2+t*imag(z)^2 y=2*real(z)*imag(z) elseif @V=="3" x=real(z)^3+3*t*real(z)*imag(z)^2 y=3*real(z)^2*imag(z)+t*imag(z)^3 elseif @V=="4" x=real(z)^4+6*t*real(z)^2*imag(z)^2+t^2*imag(z)^4 y=4*real(z)^3*imag(z)+4*t*real(z)*imag(z)^3 else x=real(z)^5+10*t*real(z)^3*imag(z)^2+5*t^2*real(z)*imag(z)^4 y=5*imag(z)*real(z)^4+10*t*real(z)^2*imag(z)^3+t^2*imag(z)^5 endif z=p3*log(abs(x+flip(y)))^@pow+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Brahmagupta Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5" default=1 endparam param p1 default=(0,0) endparam param p2 caption="Parameter 2" default=1.0 endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } BernoulliPolynomialsSecondKind { ;http://mathworld.wolfram.com/BernoulliPolynomialoftheSecondKind.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="2" z=p2*log(abs((6*z^2-1)/6))^@pow+p3 elseif @V=="3" z=p2*log(abs((4*z^3-6*z^2+1)/4))^@pow+p3 elseif @V=="4" z=p2*log(abs((30*z^4-120*z^3+120*z^2-19)/30))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Bernoulli Polynomials Second Kind" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Hyperharmonic-ExponentialPolynomials { ;https://arxiv.org/pdf/0912.1834.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="a2" z=p2*log(abs(z+2.5*z^2))^@pow+p3 elseif @v=="a3" z=p2*log(abs(z+7.5*z^2+(13/3)*z^3))^@pow+p3 elseif @v=="a4" z=p2*log(abs(z+17.5*z^2+26*z^3+(77/12)*z^4))^@pow+p3 elseif @v=="a5" z=p2*log(abs(z+37.5*z^2+(325/3)*z^3+(385/6)*z^4+8.7*z^5))^@pow+p3 elseif @v=="b2" z=p2*log(abs(z+3.5*z^2))^@pow+p3 elseif @v=="b3" z=p2*log(abs(z+10.5*z^2+(47/6)*z^3))^@pow+p3 elseif @v=="b4" z=p2*log(abs(z+24.5*z^2+47*z^3+(57/4)*z^4))^@pow+p3 elseif @v=="b5" z=p2*log(abs(z+52.5*z^2+(1175/6)*z^3+142.5*z^4+(459/20)*z^5))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Hyperharmonic-ExponentialPolynomials" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="a2""a3""a4""a5""b2""b3""b4""b5" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Hyperharmonic-GeometricPolynomials { ;https://arxiv.org/pdf/0912.1834.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="a2" z=p2*log(abs(z+5*z^2))^@pow+p3 elseif @v=="a3" z=p2*log(abs(z+15*z^2+26*z^3))^@pow+p3 elseif @v=="a4" z=p2*log(abs(z+35*z^2+156*z^3+154*z^4))^@pow+p3 elseif @v=="a5" z=p2*log(abs(z+75*z^2+650*z^3+1540*z^4+1044*z^5))^@pow+p3 elseif @v=="b2" z=p2*log(abs(z+7*z^2))^@pow+p3 elseif @v=="b3" z=p2*log(abs(z+21*z^2+47*z^3))^@pow+p3 elseif @v=="b4" z=p2*log(abs(z+49*z^2+282*z^3+342*z^4))^@pow+p3 elseif @v=="b5" z=p2*log(abs(z+105*z^2+1175*z^3+3420*z^4+2754*z^5))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Hyperharmonic-GeometricPolynomials" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="a2""a3""a4""a5""b2""b3""b4""b5" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Poly-Cauchy { ;https://carma.newcastle.edu.au/alfcon/pdfs/Takao_Komatsu-alfcon.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs(1/2^z))^@pow+p3 elseif @v=="2" z=p2*log(abs(-1/2^z+1/3^z))^@pow+p3 elseif @v=="3" z=p2*log(abs(2/2^z-3/3^z+1/4^z))^@pow+p3 elseif @v=="4" z=p2*log(abs(-6/2^z+11/3^z-6/4^z+1/5^z))^@pow+p3 elseif @v=="5" z=p2*log(abs(24/2^z-50/3^z+35/4^z-10/5^z+1/6^z))^@pow+p3 elseif @v=="6" z=p2*log(abs(-120/2^z+274/3^z-225/4^z+85/5^z-15/6^z+1/7^z))^@pow+p3-1.4 elseif @v=="7" z=p2*log(abs(720/2^z-1764/3^z+1624/4^z-735/5^z+175/6^z-21/7^z+1/8^z))^@pow+p3-3 elseif @v=="8" z=p2*log(abs(-5040/2^z+13068/3^z-13132/4^z+6769/5^z-1960/6^z+322/7^z-28/8^z+1/9^z))^@pow+p3-4.5 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Poly-Cauchy" center=(0.001,0.001) maxiter=500 periodicity=0 magn=2 param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=1000000.0 endparam } StirlingPolynomials { ;https://en.wikipedia.org/wiki/Stirling_polynomials init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="2" z=p2*log(abs((3*z^2+5*z+2)/12))^@pow+p3 elseif @v=="3" z=p2*log(abs((z^3+2*z^2+z)/8))^@pow+p3 elseif @V=="4" z=p2*log(abs((15*z^4+30*z^3+5*z^2-18*z-8)/240))^@pow+p3 elseif @V=="5" z=p2*log(abs((3*z^5+5*z^4-5*z^3-13*z^2-6*z)/96))^@pow+p3 elseif @V=="6" z=p2*log(abs((63*z^6+63*z^5-315*z^4-539*z^3-84*z^2+236*z+96)/4032))^@pow+p3 elseif @V=="7" z=p2*log(abs((9*z^7-84*z^5-98*z^4+91*z^3+194*z^2+80*z)/1152))^@pow+p3 elseif @V=="8" z=p2*log(abs((135*z^8-180*z^7-1890*z^6-840*z^5+6055*z^4+8140*z^3+884*z^2-3088*z-1152)/34560))^@pow+p3 elseif @V=="9" z=p2*log(abs((15*z*9-45*z^8-270*z^7+182*z^6+1687*z^5+1395*z^4-1576*z^3-2684*z^2-1008*z)/7680))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Stirling Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8""9" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } AbelPolynomials { ;http://oeis.org/wiki/Abel_polynomials init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(z*(z-p3*3)^2))^@pow+p4 elseif @v=="4" z=p2*log(abs(z*(z-p3*4)^3))^@pow+p4 elseif @v=="5" z=p2*log(abs(z*(z-p3*5)^4))^@pow+p4 elseif @v=="6" z=p2*log(abs(z*(z-p3*6)^5))^@pow+p4 elseif @v=="7" z=p2*log(abs(z*(z-p3*7)^6))^@pow+p4 elseif @v=="8" z=p2*log(abs(z*(z-p3*8)^7))^@pow+p4 elseif @v=="9" z=p2*log(abs(z*(z-p3*9)^8))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Abel Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0.19,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } BoubakerPolynomials { ;http://oeis.org/wiki/Special_cases_of_the_Chebyshev_polynomials init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(z^3+z))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^4-2))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5-z^3-3*z))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6-2*z^4-3*z^2+2))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7-3*z^5-2*z^3+5*z))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8-4*z^6+8*z^2-2))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^9-5*z^7+3*z^5+10*z^3-7*z))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Boubaker Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } DicksonPolynomials { ;https://en.wikipedia.org/wiki/Dickson_polynomial init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(z^3-3*p3*z))^@pow+p4 elseif @v=="4" z=p2*log(abs(z^4-4*p3*z^2+2*p3^2))^@pow+p4 elseif @v=="5" z=p2*log(abs(z^5-5*p3*z^3+5*p3^2*z))^@pow+p4 elseif @v=="6" z=p2*log(abs(z^6-6*p3*z^4+9*p3^2*z^2-2*p3^3))^@pow+p4 elseif @v=="7" z=p2*log(abs(z^7-7*p3*z^5+14*p3^2*z^3-7*p3^3*z))^@pow+p4 elseif @v=="8" z=p2*log(abs(z^8-8*p3*z^6+20*p3^2*z^4-16*p3^3*z^2+2*p3^4))^@pow+p4 elseif @v=="9" z=p2*log(abs(z^9-9*p3*z^7+27*p3^2*z^5-30*p3^3*z^3+9*p3^4*z))^@pow+p4 elseif @v=="10" z=p2*log(abs(z^10-10*p3*z^8+35*p3^2*z^6-50*p3^3*z^4+25*p3^4*z^2-2*p3^5))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Dickson Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } LaguerrePolynomials { ;https://en.wikipedia.org/wiki/Laguerre_polynomials init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs((z^2-4*z+2)/2))^@pow+p3 elseif @v=="3" z=p2*log(abs((-z^3+9*z^2-18*z+6)/6))^@pow+p3 elseif @v=="4" z=p2*log(abs((z^4-16*z^3+72*z^2-96*z+24)/24))^@pow+p3 elseif @v=="5" z=p2*log(abs((-z^5+25*z^4-200*z^3+600*z^2-600*z+120)/120))^@pow+p3 elseif @v=="6" z=p2*log(abs((z^6-36*z^5+450*z^4-2400*z^3+5400*z^2-4320*z+720)/720))^@pow+p3 elseif @v=="7" z=p2*log(abs((-z^7+49*z^6-882*z^5+7350*z^4-29400*z^3+52920*z^2-35280*z+5040)/5040))^@pow+p3 elseif @v=="8" z=p2*log(abs((z^8-64*z^7+1568*z^6-18816*z^5+117600*z^4-376320*z^3+564480*z^2-322560*z+40320)/40320))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Laguerre Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } GegenbauerPolynomials { ;http://mathworld.wolfram.com/GegenbauerPolynomial.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(2*p3*(1+p3)*z^2-p3))^@pow+p4 elseif @v=="3" z=p2*log(abs((4/3)*p3*(p3+1)*(p3+2)*z^3-2*p3*(p3+1)*z))^@pow+p4 elseif @v=="4" z=p2*log(abs((2/3)*p3*(p3+1)*(p3+2)*(p3+3)*z^4-2*(p3+1)*(p3+2)*z^2+(p3+1)))^@pow+p4 elseif @v=="5" z=p2*log(abs((4/15)*(p3+1)*(p3+2)*(p3+3)*(p3+4)*z^5-(4/3)*(p3+1)*(p3+2)*(p3+3)*z^3+(p3+1)*(p3+2)*z))^@pow+p4 elseif @v=="6" z=p2*log(abs((4/45)*(p3+1)*(p3+2)*(p3+3)*(p3+4)*(p3+5)*z^6-(2/3)*(p3+1)*(p3+2)*(p3+3)*(p3+4)*z^4+(1/2)*(p3+1)*(p3+2)*(p3+3)*z^2-(p3+1)*(p3+2)))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Gegenbauer Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } MahlerPolynomials { ;http://mathworld.wolfram.com/MahlerPolynomial.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="6" z=p2*log(abs(-z+25*z^2-15*z^3))^@pow+p3 elseif @v=="7" z=p2*log(abs(-z+56*z^2-105*z^3))^@pow+p3 elseif @v=="8" z=p2*log(abs(-z+119*z^2-490*z^3+105*z^4))^@pow+p3 elseif @v=="9" z=p2*log(abs(-z+246*z^2-1918*z^3+1260*z^4))^@pow+p3 elseif @v=="10" z=p2*log(abs(-z+501*z^2-6825*z^3+9450*z^4-945*z^5))^@pow+p3 elseif @v=="11" z=p2*log(abs(-z+1012*z^2-22935*z^3+56980*z^4-17325*z^5))^@pow+p3 elseif @v=="12" z=p2*log(abs(-z+2035*z^2-74316*z^3+302995*z^4-190575*z^5+10395*z^6))^@pow+p3 elseif @v=="13" z=p2*log(abs(-z+4082*z^2-235092*z^3+1487200*z^4-1636635*z^5+270270*z^6))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mahler Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="6""7""8""9""10""11""12""13" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PadovanPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="9" z=p2*log(abs(z^4+3*z))^@pow+p3 elseif @v=="10" z=p2*log(abs(4*z^3+1))^@pow+p3 elseif @v=="11" z=p2*log(abs(z^5+6*z^2))^@pow+p3 elseif @v=="12" z=p2*log(abs(5*z^4+4*z))^@pow+p3 elseif @v=="13" z=p2*log(abs(z^6+10*z^3+1))^@pow+p3 elseif @v=="14" z=p2*log(abs(6*z^5+10*z^2))^@pow+p3 elseif @v=="15" z=p2*log(abs(z^7+15*z^4+5*z))^@pow+p3 elseif @v=="16" z=p2*log(abs(7*z^6+20*z^3+1))^@pow+p3 elseif @v=="17" z=p2*log(abs(z^8+21*z^5+15*z^2))^@pow+p3 elseif @v=="18" z=p2*log(abs(8*z^7+35*z^4+6*z))^@pow+p3 elseif @v=="19" z=p2*log(abs(z^9+28*z^6+35*z^3+1))^@pow+p3 elseif @v=="20" z=p2*log(abs(9*z^8+56*z^5+21*z^2))^@pow+p3 elseif @v=="21" z=p2*log(abs(z^10+36*z^7+70*z^4+7*z))^@pow+p3 elseif @v=="22" z=p2*log(abs(10*z^9+84*z^6+56*z^3+1))^@pow+p3 elseif @v=="23" z=p2*log(abs(z^11+45*z^8+126*z^5+28*z^2))^@pow+p3 elseif @v=="24" z=p2*log(abs(11*z^10+120*z^7+126*z^4+8*z))^@pow+p3 elseif @v=="25" z=p2*log(abs(z^12+55*z^9+210*z^6+84*z^3+1))^@pow+p3 elseif @v=="26" z=p2*log(abs(12*z^11+165*z^8+252*z^5+36*z^2))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Padovan Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="9""10""11""12""13""14""15""16"\ "17""18""19""20""21""22""23""24""25""26" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } TribonacciPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(z^4+z))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^6+2*z^3+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^8+3*z^5+3*z^2))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^10+4*z^7+6*z^4+2*z))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^12+5*z^9+10*z^6+7*z^3+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^14+6*z^11+15*z^8+16*z^5+6*z^2))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^16+7*z^13+21*z^10+30*z^7+19*z^4+3*z))^@pow+p3 elseif @v=="10" z=p2*log(abs(z^18+8*z^15+28*z^12+50*z^9+45*z^6+16*z^3+1))^@pow+p3 elseif @v=="11" z=p2*log(abs(z^20+9*z^17+36*z^14+77*z^11+90*z^8+51*z^5+10*z^2))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Tribonacci Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10""11" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Fermat-LucasPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(27*z^3-18*z))^@pow+p3 elseif @v=="4" z=p2*log(abs(81*z^4-72*z^2+8))^@pow+p3 elseif @v=="5" z=p2*log(abs(243*z^5-270*z^3+60*z))^@pow+p3 elseif @v=="6" z=p2*log(abs(729*z^6-972*z^4+324*z^2-16))^@pow+p3 elseif @v=="7" z=p2*log(abs(2187*z^7-3402*z^5+1512*z^3-168*z))^@pow+p3 elseif @v=="8" z=p2*log(abs(6561*z^8-11664*z^6+6480*z^4-1152*z^2+32))^@pow+p3 elseif @v=="9" z=p2*log(abs(19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Fermat-Lucas Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-2,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Jacobsthal-LucasPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="4" z=p2*log(abs(8*z^2+8*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(20*z^2+10*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(16*z^3+36*z^2+12*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(56*z^3+56*z^2+14*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(32*z^4+128*z^3+80*z^2+16*z+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(144*z^4+240*z^3+108*z^2+18*z+1))^@pow+p3 elseif @v=="10" z=p2*log(abs(64*z^5+400*z^4+400*z^3+140*z^2+20*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Jacobsthal-Lucas Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-2,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Logy { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="1" z=p2*log(abs(1+1/(log(1-z)-1)))^@pow+p3 elseif @V=="2" z=p2*log(abs(1+1/(log(1-z^2)-1)))^@pow+p3 elseif @V=="3" z=p2*log(abs(1+1/(log(1-z^3)-1)))^@pow+p3 elseif @V=="4" z=p2*log(abs(1+1/(log(1-z^4)-1)))^@pow+p3 elseif @V=="5" z=p2*log(abs(1+1/(log(1-z^5)-1)))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Logy" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Logy2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs(2*log(z)+log(z)^2))^@pow+p3 elseif @v=="2" z=p2*log(abs(3*log(z)+2*log(z)^2+log(z)^3))^@pow+p3 elseif @v=="3" z=p2*log(abs(4*log(z)+3*log(z)^2+2*log(z)^3+log(z)^4))^@pow+p3 elseif @v=="4" z=p2*log(abs(5*log(z)+4*log(z)^2+3*log(z)^3+2*log(z)^4+log(z)^5))^@pow+p3 elseif @v=="5" z=p2*log(abs(6*log(z)+5*log(z)^2+4*log(z)^3+3*log(z)^4+2*log(z)^5+log(z)^6))^@pow+p3 elseif @v=="6" z=p2*log(abs(7*log(z)+6*log(z)^2+5*log(z)^3+4*log(z)^4+3*log(z)^5+2*log(z)^6+log(z)^7))^@pow+p3 elseif @v=="7" z=p2*log(abs(8*log(z)+7*log(z)^2+6*log(z)^3+5*log(z)^4+4*log(z)^5+3*log(z)^6+2*log(z)^7+log(z)^8))^@pow+p3 elseif @v=="8" z=p2*log(abs(9*log(z)+8*log(z)^2+7*log(z)^3+6*log(z)^4+5*log(z)^5+4*log(z)^6+3*log(z)^7+2*log(z)^8+log(z)^9))^@pow+p3 elseif @v=="9" z=p2*log(abs(10*log(z)+9*log(z)^2+8*log(z)^3+7*log(z)^4+6*log(z)^5+5*log(z)^6+4*log(z)^7+3*log(z)^8+2*log(z)^9+log(z)^10))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Logy 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Morgan-VoycePolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="a2" z=p2*log(abs(z^2+3*z+1))^@pow+p3 elseif @v=="a3" z=p2*log(abs(z^3+5*z^2+6*z+1))^@pow+p3 elseif @v=="a4" z=p2*log(abs(z^4+7*z^3+15*z^2+10*z+1))^@pow+p3 elseif @v=="a5" z=p2*log(abs(z^5+9*z^4+28*z^3+35*z^2+15*z+1))^@pow+p3 elseif @v=="a6" z=p2*log(abs(z^6+11*z^5+45*z^4+84*z^3+70*z^2+21*z+1))^@pow+p3 elseif @v=="a7" z=p2*log(abs(z^7+13*z^6+66*z^5+165*z^4+210*z^3+126*z^2+28*z+1))^@pow+p3 elseif @v=="a8" z=p2*log(abs(z^8+15*z^7+91*z^6+286*z^5+495*z^4+462*z^3+210*z^2+36*z+1))^@pow+p3 elseif @v=="a9" z=p2*log(abs(z^9+17*z^8+120*z^7+455*z^6+1001*z^5+1287*z^4+924*z^3+330*z^2+45*z+1))^@pow+p3 elseif @v=="a10" z=p2*log(abs(z^10+19*z^9+153*z^8+680*z^7+1820*z^6+3003*z^5+3003*z^4+1716*z^3+495*z^2+55*z+1))^@pow+p3 elseif @v=="b2" z=p2*log(abs(z^2+4*z+3))^@pow+p3 elseif @v=="b3" z=p2*log(abs(z^3+6*z^2+10*z+4))^@pow+p3 elseif @v=="b4" z=p2*log(abs(z^4+8*z^3+21*z^2+20*z+5))^@pow+p3 elseif @v=="b5" z=p2*log(abs(z^5+10*z^4+36*z^3+56*z^2+35*z+6))^@pow+p3 elseif @v=="b6" z=p2*log(abs(z^6+12*z^5+55*z^4+120*z^3+126*z^2+56*z+7))^@pow+p3 elseif @v=="b7" z=p2*log(abs(z^7+14*z^6+78*z^5+220*z^4+330*z^3+252*z^2+84*z+8))^@pow+p3 elseif @v=="b8" z=p2*log(abs(z^8+16*z^7+105*z^6+364*z^5+715*z^4+792*z^3+462*z^2+120*z+9))^@pow+p3 elseif @v=="b9" z=p2*log(abs(z^9+18*z^8+136*z^7+560*z^6+1365*z^5+2002*z^4+1716*z^3+792*z^2+165*z+10))^@pow+p3 elseif @v=="b10" z=p2*log(abs(z^10+20*z^9+171*z^8+816*z^7+2380*z^6+4368*z^5+5005*z^4+3432*z^3+1287*z^2+220*z+11))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Morgan-Voyce Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="a2""a3""a4""a5""a6""a7""a8""a9""a10""b2""b3""b4""b5""b6""b7""b8""b9""b10" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-2,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Polylogarithm { ;https://en.wikipedia.org/wiki/Polylogarithm init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs(-log(1-z)))^@pow+p3 elseif @v=="0" z=p2*log(abs(z/(1-z)))^@pow+p3 elseif @v=="-1" z=p2*log(abs(z/(1-z)^2))^@pow+p3 elseif @v=="-2" z=p2*log(abs(z*(1+z)/(1-z)^3))^@pow+p3 elseif @v=="-3" z=p2*log(abs(z*(1+4*z+z^2)/(1-z)^4))^@pow+p3 elseif @v=="-4" z=p2*log(abs(z*(1+z)*(1+10*z+z^2)/(1-z)^5))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Polylogarithm" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="1""0""-1""-2""-3""-4" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Poisson-CharlierPolynomials { ;http://mathworld.wolfram.com/Poisson-CharlierPolynomial.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs((p3-z)/p3))^@pow+p4 elseif @v=="2" z=p2*log(abs((p3^2-z-2*p3*z+z^2)/p3^2))^@pow+p4 elseif @v=="3" z=p2*log(abs((p3^3-2*z-3*p3*z-3*p3^2*z+3*z^2+3*p3*z^2-z^3)/p3^3))^@pow+p4 elseif @v=="4" z=p2*log(abs((p3*(p3^3-2*z-3*p3*z-3*p3^2*z+3*z^2+3*p3*z^2-z^3)-z*(p3^3-2*(z-1)\ -3*p3*(z-1)-3*p3^2*(z-1)+3*(z-1)^2+3*p3*(z-1)^2-(z-1)^3))/p3^4))^@pow+p4-1 elseif @v=="5" z=p2*log(abs((p3*(p3*(p3^3-2*z-3*p3*z-3*p3^2*z+3*z^2+3*p3*z^2-z^3)-z*(p3^3-2*(z-1)\ -3*p3*(z-1)-3*p3^2*(z-1)+3*(z-1)^2+3*p3*(z-1)^2-(z-1)^3))-z*(p3*(p3^3-2*(z-1)-3*p3\ *(z-1)-3*p3^2*(z-1)+3*(z-1)^2+3*p3*(z-1)^2-(z-1)^3)-(z-1)*(p3^3-2*((z-1)-1)-3*p3*\ ((z-1)-1)-3*p3^2*((z-1)-1)+3*((z-1)-1)^2+3*p3*((z-1)-1)^2-((z-1)-1)^3)))/p3^5))^@pow+p4-2 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Poisson-Charlier Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Rogers-SzegoPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs((1+z)^2+z*(p3^2-1)))^@pow+p4 elseif @v=="3" z=p2*log(abs((1+z)*((1+z)^2+z*(p3^2-1))+z*(p3^3-1)*(1+z)))^@pow+p4 elseif @v=="4" z=p2*log(abs((1+z)*((1+z)*((1+z)^2+z*(p3^2-1))+z*(p3^3-1)*(1+z))+z*(p3^4-1)*((1+z)^2+z*(p3^2-1))))^@pow+p4 elseif @v=="5" z=p2*log(abs((1+z)*((1+z)*((1+z)*((1+z)^2+z*(p3^2-1))+z*(p3^3-1)*(1+z))+z*(p3^4-1)*((1+z)^2+z*(p3^2-1)))+z*\ (p3^5-1)*((1+z)*((1+z)^2+z*(p3^2-1))+z*(p3^3-1)*(1+z))))^@pow+p4 elseif @v=="6" z=p2*log(abs((1+z)*((1+z)*((1+z)*((1+z)*((1+z)^2+z*(p3^2-1))+z*(p3^3-1)*(1+z))+z*(p3^4-1)*((1+z)^2+z*(p3^2-1)))\ +z*(p3^5-1)*((1+z)*((1+z)^2+z*(p3^2-1))+z*(p3^3-1)*(1+z)))+z*(p3^6-1)*((1+z)*((1+z)*((1+z)^2\ +z*(p3^2-1))+z*(p3^3-1)*(1+z))+z*(p3^4-1)*((1+z)^2+z*(p3^2-1)))))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rogers-Szego Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0.5,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Mittag-LefflerPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(8*z^3+4*z))^@pow+p3-0.5 elseif @v=="4" z=p2*log(abs(16*z^4+32*z^2))^@pow+p3-2 elseif @v=="5" z=p2*log(abs(32*z^5+160*z^3+48*z))^@pow+p3-3 elseif @v=="6" z=p2*log(abs(64*z^6+640*z^4+736*z^2))^@pow+p3-4.5 elseif @v=="7" z=p2*log(abs(128*z^7+2240*z^5+6272*z^3+1440*z))^@pow+p3-6.5 elseif @v=="8" z=p2*log(abs(256*z^8+7168*z^6+39424*z^4+33792*z^2))^@pow+p3-8.5 elseif @v=="9" z=p2*log(abs(512*z^9+21504*z^7+204288*z^5+418816*z^3+80640*z))^@pow+p3-10.5 elseif @v=="10" z=p2*log(abs(1024*z^10+61440*z^8+924672*z^6+3676160*z^4+2594304*z^2))^@pow+p3-12.5 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mittag-Leffler Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Co-Swiss-KnifePolynomials { ;http://www.luschny.de/math/seq/SwissKnifePolynomials.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((3*z^2-2)/2))^@pow+p3 elseif @v=="4" z=p2*log(abs((4*z^3-8*z)/8))^@pow+p3 elseif @v=="5" z=p2*log(abs((5*z^4-20*z^2+16)/16))^@pow+p3 elseif @v=="6" z=p2*log(abs((6*z^5-40*z^3+96*z)/96))^@pow+p3 elseif @v=="7" z=p2*log(abs((7*z^6-70*z^4+336*z^2-272)/272))^@pow+p3 elseif @v=="8" z=p2*log(abs((8*z^7-112*z^5+896*z^3-2176*z)/2176))^@pow+p3 elseif @v=="9" z=p2*log(abs((9*z^8-168*z^6+2016*z^4-9792*z^2+7936)/7936))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Co-Swiss-Knife Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } HarmonicNumbers { ;http://www.luschny.de/math/seq/ZetaPolynomials.htm init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((z^2+4*z+6)/6))^@pow+p3 elseif @v=="4" z=p2*log(abs((z^3+7*z^2+18*z+24)/24))^@pow+p3 elseif @v=="5" z=p2*log(abs((z^4+11*z^3+46*z^2+96*z+120)/120))^@pow+p3 elseif @v=="6" z=p2*log(abs((z^5+16*z^4+101*z^3+326*z^2+600*z+720)/720))^@pow+p3 elseif @v=="7" z=p2*log(abs((z^6+22*z^5+197*z^4+932*z^3+2556*z^2+4320*z+5040)/5040))^@pow+p3 elseif @v=="8" z=p2*log(abs((z^7+29*z^6+351*z^5+2311*z^4+9080*z^3+22212*z^2+35280*z+40320)/40320))^@pow+p3 elseif @v=="9" z=p2*log(abs((z^8+37*z^7+583*z^6+5119*z^5+27568*z^4+94852*z^3+212976*z^2+322560*z+362880)/362880))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Harmonic Numbers" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } HermitePolynomials2 { ;http://mathworld.wolfram.com/HermitePolynomial.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((8*z^3-12*z)/12))^@pow+p3 elseif @v=="4" z=p2*log(abs((16*z^4-48*z^2+12)/12))^@pow+p3 elseif @v=="5" z=p2*log(abs((32*z^5-160*z^3+120*z)/120))^@pow+p3 elseif @v=="6" z=p2*log(abs((64*z^6-480*z^4+720*z^2-120)/120))^@pow+p3 elseif @v=="7" z=p2*log(abs((128*z^7-1344*z^5+3360*z^3-1680*z)/1680))^@pow+p3 elseif @v=="8" z=p2*log(abs((256*z^8-3584*z^6+13440*z^4-13440*z^2+1680)/1680))^@pow+p3 elseif @v=="9" z=p2*log(abs((512*z^9-9216*z^7+48384*z^5-80640*z^3+30240*z)/30240))^@pow+p3 elseif @v=="10" z=p2*log(abs((1024*z^10-23040*z^8+161280*z^6-403200*z^4+302400*z^2-30240)/30240))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Hermite Polynomials 2" center=(0.001,0.001) maxiter=500 magn=0.25 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } HermitePolynomials3 { ;http://mathworld.wolfram.com/HermitePolynomial.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((8*z^3-12*z)/6))^@pow+p3 elseif @v=="4" z=p2*log(abs((16*z^4-48*z^2+12)/24))^@pow+p3 elseif @v=="5" z=p2*log(abs((32*z^5-160*z^3+120*z)/120))^@pow+p3 elseif @v=="6" z=p2*log(abs((64*z^6-480*z^4+720*z^2-120)/720))^@pow+p3 elseif @v=="7" z=p2*log(abs((128*z^7-1344*z^5+3360*z^3-1680*z)/5040))^@pow+p3 elseif @v=="8" z=p2*log(abs((256*z^8-3584*z^6+13440*z^4-13440*z^2+1680)/40320))^@pow+p3 elseif @v=="9" z=p2*log(abs((512*z^9-9216*z^7+48384*z^5-80640*z^3+30240*z)/362880))^@pow+p3 elseif @v=="10" z=p2*log(abs((1024*z^10-23040*z^8+161280*z^6-403200*z^4+302400*z^2-30240)/3628800))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Hermite Polynomials 3" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(-2,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Mittag-LefflerPolynomials2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((8*z^3+4*z)/6))^@pow+p3 elseif @v=="4" z=p2*log(abs((16*z^4+32*z^2)/24))^@pow+p3 elseif @v=="5" z=p2*log(abs((32*z^5+160*z^3+48*z)/120))^@pow+p3 elseif @v=="6" z=p2*log(abs((64*z^6+640*z^4+736*z^2)/720))^@pow+p3 elseif @v=="7" z=p2*log(abs((128*z^7+2240*z^5+6272*z^3+1440*z)/5040))^@pow+p3 elseif @v=="8" z=p2*log(abs((256*z^8+7168*z^6+39424*z^4+33792*z^2)/40320))^@pow+p3 elseif @v=="9" z=p2*log(abs((512*z^9+21504*z^7+204288*z^5+418816*z^3+80640*z)/362880))^@pow+p3 elseif @v=="10" z=p2*log(abs((1024*z^10+61440*z^8+924672*z^6+3676160*z^4+2594304*z^2)/3628800))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mittag-Leffler Polynomials 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PascalPolynomials2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(z^2+2*z+1))^@pow+p3 elseif @v=="3" z=p2*log(abs(Z^3+3*z^2+3*z+1))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^4+4*z^3+6*z^2+4*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5+5*z^4+10*z^3+10*z^2+5*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6+6*z^5+15*z^4+20*z^3+15*z^2+6*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7+7*z^6+21*z^5+35*z^4+35*z^3+21*z^2+7*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8+8*z^7+28*z^6+56*z^5+70*z^4+56*z^3+28*z^2+8*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pascal Polynomials 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } RookPolynomials { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(2*z^2+4*z+1))^@pow+p3 elseif @v=="3" z=p2*log(abs(6*z^3+18*z^2+9*z+1))^@pow+p3 elseif @v=="4" z=p2*log(abs(24*z^4+96*z^3+72*z^2+16*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(44*z^5++265*z^4+320*z^3+130*z^2+20*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(80*z^6+672*z^5+1185*z^4+752*z^3+204*z^2+24*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(144*z^7+1617*z^6+3892*z^5+3521*z^4+1456*z^3+294*z^2+28*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rook Polynomials" center=(0.001,0.001) maxiter=500 magn=0.0625 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Swiss-KnifePolynomials { ;http://www.luschny.de/math/seq/SwissKnifePolynomials.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((z^3-3*z)/3))^@pow+p3 elseif @v=="4" z=p2*log(abs((z^4-6*z^2+5)/5))^@pow+p3 elseif @v=="5" z=p2*log(abs((z^5-10*z^3+25*z)/25))^@pow+p3 elseif @v=="6" z=p2*log(abs((z^6-15*z^4+75*z^2-61)/61))^@pow+p3 elseif @v=="7" z=p2*log(abs((z^7-21*z^5+175*z^3-427*z)/427))^@pow+p3 elseif @v=="8" z=p2*log(abs((z^8-28*z^6+350*z^4-1708*z^2+1385)/1385))^@pow+p3 elseif @v=="9" z=p2*log(abs((z^9-36*z^7+630*z^5-5124*z^3+12465*z)/12465))^@pow+p3 elseif @v=="10" z=p2*log(abs((z^10-45*z^8+1050*z^6-12810*z^4+62325*z^2-50521)/50521))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Swiss-Knife Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Swiss-SwordPolynomials { ;http://www.luschny.de/math/seq/SwissKnifePolynomials.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(z^2+2*z-1))^@pow+p3 elseif @v=="3" z=p2*log(abs((z^3+3*z^2-3*z-2)/2))^@pow+p3 elseif @v=="4" z=p2*log(abs((z^4+4*z^3-6*z^2-8*z+5)/5))^@pow+p3 elseif @v=="5" z=p2*log(abs((z^5+5*z^4-10*z^3-20*z^2+25*z+16)/16))^@pow+p3 elseif @v=="6" z=p2*log(abs((z^6+6*z^5-15*z^4-40*z^3+75*z^2+96*z-61)/61))^@pow+p3 elseif @v=="7" z=p2*log(abs((z^7+7*z^6-21*z^5-70*z^4+175*z^3+336*z^2-427*z-272)/272))^@pow+p3 elseif @v=="8" z=p2*log(abs((z^8+8*z^7-28*z^6-112*z^5+350*z^4+896*z^3-1708*z^2-2176*z+1385)/1385))^@pow+p3 elseif @v=="9" z=p2*log(abs((z^9+9*z^8-36*z^7-168*z^6+630*z^5+2016*z^4-5124*z^3-9792*z^2+12465*z+7936)/7936))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Swiss-Sword Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8""9" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZetaPolynomials { ;http://www.luschny.de/math/seq/ZetaPolynomials.htm init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((z^3-z^2)/4))^@pow+p3++1 elseif @v=="4" z=p2*log(abs((6*z^4-9*z^3+z^2+z)/30))^@pow+p3+2 elseif @v=="5" z=p2*log(abs((2*z^5-4*z^4+z^3+z^2)/12))^@pow+p3+3 elseif @v=="6" z=p2*log(abs((6*z^6-15*z^5+6*z^4+6*z^3-z^2-z)/42))^@pow+p3+4 elseif @v=="7" z=p2*log(abs((3*z^7-9*z^6+5*z^5+5*z^4-2*z^3-2*z^2)/24))^@pow+p3+5 elseif @v=="8" z=p2*log(abs((10*z^8-35*z^7+25*z^6+25*z^5-17*z^4-17*z^3+3*z^2+3*z)/90))^@pow+p3+6 elseif @v=="9" z=p2*log(abs((2*z^9-8*z^8+7*z^7+7*z^6-7*z^5-7*z^4+3*z^3+3*z^2)/20))^@pow+p3+7 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zeta Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ALP { ;https://ciks.cbt.nist.gov/~garbocz/paper134/node10.html init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="0-3" z=p2*log(abs(z*(5*z^2-3)/2))^@pow+p3 elseif @v=="0-4" z=p2*log(abs((35*z^4-30*z^2+3)/8))^@pow+p3 elseif @v=="0-5" z=p2*log(abs(z*(63*z^4-70*z^2+15)/8))^@pow+p3 elseif @v=="0-6" z=p2*log(abs((231*z^6-315*z^4+105*z^2-5)/16))^@pow+p3 elseif @v=="0-7" z=p2*log(abs(z*(429*z^6-693*z^4+315*z^2-35)/16))^@pow+p3 elseif @v=="0-8" z=p2*log(abs((6435*z^8-12012*z^6+6930*z^4-1260*z^2+35)/128))^@pow+p3 elseif @v=="1-3" z=p2*log(abs(3*sqrt(1-z^2)*(5*z^2-1)/2))^@pow+p3 elseif @v=="1-4" z=p2*log(abs(5*sqrt(1-z^2)*(7*z^3-3*z)/2))^@pow+p3 elseif @v=="1-5" z=p2*log(abs(15*sqrt(1-z^2)*(21*z^4-14*z^2+1)/8))^@pow+p3 elseif @v=="1-6" z=p2*log(abs(21*sqrt(1-z^2)*z*(33*z^4-18*z^2+1)/8))^@pow+p3 elseif @v=="1-7" z=p2*log(abs(7*sqrt(1-z^2)*(429*z^6-495*z^4+135*z^2-5)/16))^@pow+p3 elseif @v=="1-8" z=p2*log(abs(9*sqrt(1-z^2)*z*(715*z^6-1001*z^4+385*z^2-35)/16))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="ALP" center=(0.001,0.001) maxiter=500 magn=0.25 periodicity=0 param V caption="Variant" enum="0-3""0-4""0-5""0-6""0-7""0-8"\ "1-3""1-4""1-5""1-6""1-7""1-8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Appell1 { ;This takes the recurrence relation for Appell Polynomials ;given here: https://en.wikipedia.org/wiki/Appell_sequence ;P0 is set to 2, and the constant is 1 for the other terms init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(2*z^2+4*z+1))^@pow+p3 elseif @v=="3" z=p2*log(abs(2*z^3+6*z^2+3*z+1))^@pow+p3 elseif @v=="4" z=p2*log(abs(2*z^4+8*z^3+6*z^2+4*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(2*z^5+10*z^4+10*z^3+10*z^2+5*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(2*z^6+12*z^5+15*z^4+20*z^3+15*z^2+6*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(2*z^7+14*z^6+21*z^5+35*z^4+35*z^3+21*z^2+7*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(2*z^8+16*z^7+28*z^6+56*z^5+70*z^4+56*z^3+28*z^2+8*z+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(2*z^9+18*z^8+36*z^7+84*z^6+126*z^5+126*z^4+84*z^3+36*z^2+9*z+1))^@pow+p3 elseif @v=="10" z=p2*log(abs(2*z^10+20*z^9+45*z^8+120*z^7+210*z^6+252*z^5+210*z^4+120*z^3+45*z^2+10*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Appell 1" center=(0.001,0.001) maxiter=500 magn=0.25 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8""9""10" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Appell2 { ;This takes the recurrence relation for Appell Polynomials ;given here: https://en.wikipedia.org/wiki/Appell_sequence ;P0 is set to 3, and the constant is n for the other terms init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="5" z=p2*log(abs(3*z^5+5*z^4+20*z^3+30*z^2+20*z+5))^@pow+p3 elseif @v=="6" z=p2*log(abs(3*z^6+6*z^5+30*z^4+60*z^3+60*z^2+30*z+6))^@pow+p3 elseif @v=="7" z=p2*log(abs(3*z^7+7*z^6+42*z^5+105*z^4+140*z^3+105*z^2+42*z+7))^@pow+p3 elseif @v=="8" z=p2*log(abs(3*z^8+8*z^7+56*z^6+168*z^5+280*z^4+280*z^3+168*z^2+56*z+8))^@pow+p3 elseif @v=="9" z=p2*log(abs(3*z^9+9*z^8+72*z^7+252*z^6+504*z^5+630*z^4+504*z^3+252*z^2+72*z+9))^@pow+p3 elseif @v=="10" z=p2*log(abs(3*z^10+10*z^9+90*z^8+360*z^7+840*z^6+1260*z^5+1260*z^4+840*z^3+360*z^2+90*z+10))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Appell 2" center=(0.001,0.001) maxiter=500 center=(-2,0.001) periodicity=0 param V caption="Variant" enum="5""6""7""8""9""10" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Erratum10 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1-3" z=p2*log(abs(3*p3*(5*z^2-1)/2))^@pow+p4 elseif @v=="1-4" z=p2*log(abs(5*p3*(7*z^3-3*z)/2))^@pow+p4 elseif @v=="1-5" z=p2*log(abs(15*p3*(21*z^4-14*z^2+1)/8))^@pow+p4 elseif @v=="1-6" z=p2*log(abs(21*p3*z*(33*z^4-18*z^2+1)/8))^@pow+p4 elseif @v=="1-7" z=p2*log(abs(7*p3*(429*z^6-495*z^4+135*z^2-5)/16))^@pow+p4 elseif @v=="1-8" z=p2*log(abs(9*p3*z*(715*z^6-1001*z^4+385*z^2-35)/16))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Erratum 10" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="1-3""1-4""1-5""1-6""1-7""1-8" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PascalPolynomials3 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x1=real(z) y1=imag(z) a=x1^2+y1^2 x1=x1/a+real(p1) y1=y1/a+imag(p1) z=x1+flip(y1) x=log(z) y=fn3(z) if @v=="Quadratic" z=p2*log(abs(x^2+2*x*y+y^2))^@pow+p3 elseif @v=="Cubic" z=p2*log(abs(x^3+3*x^2*y+3*x*y^2+y^3))^@pow+p3 elseif @v=="Quartic" z=p2*log(abs(x^4+4*x^3*y+6*x^2*y^2+4*x*y^3+y^4))^@pow+p3 elseif @v=="Quintic" z=p2*log(abs(x^5+5*x^4*y+10*x^3*y^2+10*x^2*y^3+5*x*y^4+y^5))^@pow+p3 elseif @v=="Sextic" z=p2*log(abs(x^6++6*x^5*y+15*x^4*y^2+20^x^3*y^3+15*x^2*y^4+6*x*y^5+y^6))^@pow+p3 elseif @v=="Septic" z=p2*log(abs(x^7+7*x^6*y+21*x^5*y^2+35*x^4*y^3+35*x^3*y^4+21*x^2*y^5+7*x*y^6+y^7))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pascal Polynomials 3" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="Quadratic""Cubic""Quartic""Quintic""Sextic""Septic" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Appell3 { ;This takes the recurrence relation for Appell Polynomials ;given here: https://en.wikipedia.org/wiki/Appell_sequence ;P0 is set to z^2-1, and the constant is -1 for the other terms init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="0" z=p2*log(abs(z^2-1))^@pow+p3 elseif @v=="1" z=p2*log(abs(z^3/3-z-1))^@pow+p3 elseif @v=="2" z=p2*log(abs(z^4/6-z^2-2*z-1))^@pow+p3 elseif @v=="3" z=p2*log(abs(z^5/10-z^3-3*z^2-3*z-1))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^6/15-z^4-4*z^3-6*z^2-4*z-1))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^7/21-z^5-5*z^4-10*z^3-10*z^2-5*z-1))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^8/28-z^6-6*z^5-15*z^4-20*z^3-15*z^2-6*z-1))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^9/36-z^7-7*z^6-21*z^5-35*z^4-35*z^3-21*z^2-7*z-1))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^10/45-z^8-8*z^7-28*z^6-56*z^5-70*z^4-56*z^3-28*z^2-8*z-1))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^11/55-z^9-9*z^8-36*z^7-84*z^6-126*z^5-126*z^4-84*z^3-36*z^2-9*z-1))^@pow+p3 elseif @v=="10" z=p2*log(abs(z^12/66-z^10-10*z^9-45*z^8-120*z^7-210*z^6-252*z^5-210*z^4-120*z^3-45*z^2-10*z-1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Appell 3" center=(-4,0.001) maxiter=500 angle=270 magn=0.125 periodicity=0 param V caption="Variant" enum="0""1""2""3""4""5""6""7""8""9""10" default=5 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Appell4 { ;This takes the recurrence relation for Appell Polynomials ;given here: https://en.wikipedia.org/wiki/Appell_sequence ;P0 is set to z+z^(-8)-1, and the constant is -1 for the other terms init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="0" z=p2*log(abs(z+z^(-8)-1))^@pow+p3 elseif @v=="1" z=p2*log(abs(z^2/2-z^(-7)/7-z-1))^@pow+p3 elseif @v=="2" z=p2*log(abs(z^3/3+z^(-6)/21-z^2-2*z-1))^@pow+p3 elseif @v=="3" z=p2*log(abs(z^4/4-z^(-5)/35-z^3-3*z^2-3*z-1))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^5/5+z^(-4)/35-z^4-4*z^3-6*z^2-4*z-1))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^6/6-z^(-3)/21-z^5-5*z^4-10*z^3-10*z^2-5*z-1))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^7/7+z^(-2)/7-z^6-6*z^5-15*z^4-20*z^3-15*z^2-6*z-1))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^8/8-z^(-1)-z^7-7*z^6-21*z^5-35*z^4-35*z^3-21*z^2-7*z-1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Appell 4" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="0""1""2""3""4""5""6""7" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Appell5 { ;This takes the recurrence relation for Appell Polynomials ;given here: https://en.wikipedia.org/wiki/Appell_sequence ;P0 is set to z^2+z^(-10)-1, and the constant is -1 for the other terms init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="0" z=p2*log(abs(z^2+z^(-10)-1))^@pow+p3 elseif @v=="1" z=p2*log(abs(z^3/3-z^(-9)/9-z-1))^@pow+p3 elseif @v=="2" z=p2*log(abs(z^4/6+z^(-8)/36-z^2-2*z-1))^@pow+p3 elseif @v=="3" z=p2*log(abs(z^5/10-z^(-7)/84-z^3-3*z^2-3*z-1))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^6/15+z^(-6)/126-z^4-4*z^3-6*z^2-4*z-1))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^7/21-z^(-5)/126-z^5-5*z^4-10*z^3-10*z^2-5*z-1))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^8/28+z^(-4)/84-z^6-6*z^5-15*z^4-20*z^3-15*z^2-6*z-1))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^9/36-z^(-3)/36-z^7-7*z^6-21*z^5-35*z^4-35*z^3-21*z^2-7*z-1))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^10/45+z^(-2)/9-z^8-8*z^7-28*z^6-56*z^5-70*z^4-56*z^3-28*z^2-8*z-1))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^11/55-z^(-1)-z^9-9*z^8-36*z^7-84*z^6-126*z^5-126*z^4-84*z^3-36*z^2-9*z-1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Appell 5" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="0""1""2""3""4""5""6""7""8""9" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Rivasou { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs(z+z^(-1)))^@pow+p3 elseif @v=="2" z=p2*log(abs(z+z^(-2)))^@pow+p3 elseif @v=="3" z=p2*log(abs(z+z^(-3)))^@pow+p3 elseif @v=="4" z=p2*log(abs(z+z^(-4)))^@pow+p3 elseif @v=="5" z=p2*log(abs(z+z^(-5)))^@pow+p3 elseif @v=="6" z=p2*log(abs(z+z^(-6)))^@pow+p3 elseif @v=="7" z=p2*log(abs(z+z^(-7)))^@pow+p3 elseif @v=="8" z=p2*log(abs(z+z^(-8)))^@pow+p3 elseif @v=="9" z=p2*log(abs(z+z^(-9)))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rivasou" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9" default=5 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } MagusPolynomials { ;P1=z ;p2=z^2+z ;for n>=3 ;Pn=z*(Pn-1 + Pn-2) init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(z^2+z))^@pow+p3 elseif @v=="3" z=p2*log(abs(z^3+2*z^2))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^4+3*z^3+z^2))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5+4*z^4+3*z^3))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6+5*z^5+6*z^4+z^3))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7+6*z^6+10*z^5+4*z^4))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8+7*z^7+15*z^6+10*z^5+z^4))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Magus Polynomials" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } MagusPolynomials2 { ;Po=-1 ;P1=z-1 ;then for n>=2 ;Pn=z*(Pn-1 - Pn-2) init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(z*(z-1)))^@pow+p3 elseif @v=="3" z=p2*log(abs(z*(z*(z-1)-z)))^@pow+p3 elseif @v=="4" z=p2*log(abs(z*(z*(z*(z-1)-z)-z*(z-1))))^@pow+p3 elseif @v=="5" z=p2*log(abs(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))))^@pow+p3 elseif @v=="6" z=p2*log(abs(z*(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))-z*(z*(z*(z-1)-z)-z*(z-1)))))^@pow+p3 elseif @v=="7" z=p2*log(abs(z*(z*(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))-z*(z*(z*(z-1)-z)-z*(z-1)))\ -z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z)))))^@pow+p3 elseif @v=="8" z=p2*log(abs(z*(z*(z*(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))-z*(z*(z*(z-1)-z)-z*(z-1)))\ -z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z)))-z*(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))\ -z*(z*(z*(z-1)-z)-z*(z-1))))))^@pow+p3 elseif @v=="9" z=p2*log(abs(z*(z*(z*(z*(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))-z*(z*(z*(z-1)-z)-z*(z-1)))\ -z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z)))-z*(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))-z*\ (z*(z*(z-1)-z)-z*(z-1))))-z*(z*(z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))-z*(z*(z*(z-1)-z)-z*\ (z-1)))-z*(z*(z*(z*(z-1)-z)-z*(z-1))-z*(z*(z-1)-z))))))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Magus Polynomials 2" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8""9" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } NewtonPolynomials { ;http://mathfaculty.fullerton.edu/mathews/n2003/newtonpoly/NewtonPolyProof.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs(5-2*(z-1)))^@pow+p3 elseif @v=="2" z=p2*log(abs(5-2*(z-1)+0.5*(z-1)*(z-3)))^@pow+p3 elseif @v=="3" z=p2*log(abs(5-2*(z-1)+0.5*(z-1)*(z-3)-0.1*(z-1)*(z-3)*(z-4)))^@pow+p3 elseif @v=="4" z=p2*log(abs(5-2*(z-1)+0.5*(z-1)*(z-3)-0.1*(z-1)*(z-3)*(z-4)+0.003*(z-1)*(z-3)*(z-4)*(z-4.5)))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Newton Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(3,0) endparam param p2 default=(1,0) endparam param p3 default=(1,-1) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Rekursif { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs((z^2+z)^2+z))^@pow+p3 elseif @v=="2" z=p2*log(abs(((z^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="3" z=p2*log(abs((((z^2+z)^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="4" z=p2*log(abs(((((z^2+z)^2+z)^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="5" z=p2*log(abs((((((z^2+z)^2+z)^2+z)^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="6" z=p2*log(abs(((((((z^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="7" z=p2*log(abs((((((((z^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="8" z=p2*log(abs(((((((((z^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="9" z=p2*log(abs((((((((((z^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z))^@pow+p3 elseif @v=="10" z=p2*log(abs(((((((((((z^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z)^2+z))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rekursif" center=(-0.5,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10" default=4 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=recip() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PascalPolynomials4 { ;Uses this integer sequence http://oeis.org/A029635 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(z^3+4*z^2+5*z+2))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^4+5*z^3+9*z^2+7*z+2))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5+6*z^4+14*z^3+16*z^2+9*z+2))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2))^@pow+p3 elseif @v=="10" z=p2*log(abs(z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pascal Polynomials 4" center=(-3,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PoincaréPolynomials { ;https://arxiv.org/pdf/0706.2563.pdf ;https://en.wikipedia.org/wiki/Betti_number init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="Q1(B2)" z=p2*log(abs(1-z-z^3-z^4))^@pow+p3 elseif @v=="Q2(A2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q3(B2)" z=p2*log(abs(1-z-z^2-z^3-2*z^4))^@pow+p3 elseif @v=="Q8(A3)" z=p2*log(abs(1-z-2*z^2+z^5+z^6))^@pow+p3 elseif @v=="Q9(A3)" z=p2*log(abs(1-z-3*z^2-z^4+z^5+3*z^6))^@pow+p3 elseif @v=="Q10(B3)" z=p2*log(abs(1-z-3*z^3+z^4-z^5+z^8+2*z^9))^@pow+p3 elseif @v=="Q11(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^8+z^9))^@pow+p3 elseif @v=="Q12(B3)" z=p2*log(abs(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))^@pow+p3 elseif @v=="Q16(G2)" z=p2*log(abs(1-2*z+z^2-z^4+z^6))^@pow+p3 elseif @v=="Q17(B3)" z=p2*log(abs(1-z-z^3-2*z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q18(G2)" z=p2*log(abs(1-2*z+z^3-z^4-z^5+2*z^6))^@pow+p3 elseif @v=="Q19(B3)" z=p2*log(abs(1-z-z^3-z^4-z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q20(G2)" z=p2*log(abs(1-2*z-2*z^5+3*z^6))^@pow+p3 elseif @v=="Q21(D4)" z=p2*log(abs(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))^@pow+p3 elseif @v=="Q22(B4)" z=p2*log(abs(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))^@pow+p3 elseif @v=="Q23(D4)" z=p2*log(abs(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))^@pow+p3 elseif @v=="Q24(G2)" z=p2*log(abs(1-z-z^5))^@pow+p3 elseif @v=="Q25(B2)" z=p2*log(abs(1-z-z^3))^@pow+p3 elseif @v=="Q26(A2)" z=p2*log(abs(1-z-z^2))^@pow+p3 elseif @v=="Q27(B2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q28(G2)" z=p2*log(abs(1-z-z^3-z^5))^@pow+p3 elseif @v=="Q29(G2)" z=p2*log(abs(1-z-z^2-z^3-z^4-z^5))^@pow+p3 elseif @v=="Q36(A3)" z=p2*log(abs(1-z-z^2+z^5))^@pow+p3 elseif @v=="Q37(B3)" z=p2*log(abs(1-z-z^3+z^8))^@pow+p3 elseif @v=="Q38(B3)" z=p2*log(abs(1-z-z^2-z^4+z^6+z^8))^@pow+p3 elseif @v=="Q39(B3)" z=p2*log(abs(1-z-z^2-z^3+z^7+z^8))^@pow+p3 elseif @v=="Q40(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q43(B3)" z=p2*log(abs(1-z-z^4+z^8))^@pow+p3 elseif @v=="Q44(B3)" z=p2*log(abs(1-z-z^3-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q46(D4)" z=p2*log(abs(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))^@pow+p3 elseif @v=="Q47(D5)" z=p2*log(abs(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))^@pow+p3 elseif @v=="Q48(B5)" z=p2*log(abs(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))^@pow+p3 elseif @v=="Pg2" z=p2*log(abs((1+z^3)*(1+z^11)))^@pow+p3 elseif @v=="Pf4" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))^@pow+p3 elseif @v=="Pe6" z=p2*log(abs((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))^@pow+p3 elseif @v=="Pe7" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))^@pow+p3 elseif @v=="Pe8" z=p2*log(abs((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Poincaré Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)"\ "Pg2""Pf4""Pe6""Pe7""Pe8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } FibonacciPolynomials2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(3*z^3+5*z^2+3*z+1))^@pow+p3 elseif @v=="4" z=p2*log(abs(5*z^4+10*z^3+9*z^2+4*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(8*z^5+20*z^4+22*z^3+14*z^2+5*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(13*z^6+38*z^5+51*z^4+40*z^3+20*z^2+6*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(21*z^7+71*z^6+111*z^5+105*z^4+65*z^3+27*z^2+7*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(34*z^8+130*z^7+233*z^6+256*z^5+190*z^4+98*z^3+35*z^2+8*z+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(55*z^9+235*z^8+474*z^7+594*z^6+511*z^5+315*z^4+140*z^3+44*z^2+9*z+1))^@pow+p3 elseif @v=="10" z=p2*log(abs(89*z^10+420*z^9+942*z^8+1324*z^7+1295*z^6+924*z^5+490*z^4+192*z^3+54*z^2+10*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Fibonacci Polynomials 2" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(-0.5,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } KleinPolynomials2 { ;https://tinyurl.com/krfbkoa ;P146 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=log(abs(fn2(z))) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="Tv" z=pixel*p2*log(abs(z^4+2*sqrt(3)*sqrt(-1)*z^2+1))^@pow+p3 elseif @v=="Tf" z=pixel*p2*log(abs(z^4-2*sqrt(3)*sqrt(-1)*z^2+1))^@pow+p3 elseif @v=="Ov" z=pixel*p2*log(abs(z^5-z))^@pow+p3 elseif @v=="Of" z=pixel*p2*log(abs(z^8+14*z^4+1))^@pow+p3 elseif @v=="Oe" z=pixel*p2*log(abs(z^12-33*z^8-33*z^4+1))^@pow+p3 elseif @v=="Yv" z=pixel*p2*log(abs(z^11+11*z^6-z))^@pow+p3 elseif @v=="Yf" z=pixel*p2*log(abs(z^20-228*z^15+494*z^10+228*z^5+1))^@pow+p3 elseif @v=="Ye" z=pixel*p2*log(abs(z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Klein Polynomials 2" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Clark { ;http://mathworld.wolfram.com/ClarksTriangle.html ;http://oeis.org/A090850 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(12*z^2+7*z+1))^@pow+p3 elseif @v=="3" z=p2*log(abs(18*z^3+19*z^2+8*z+1))^@pow+p3 elseif @v=="4" z=p2*log(abs(24*z^4+37*z^3+27*z^2+9*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(30*z^5+61*z^4+64*z^3+36*z^2+10*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(36*z^6+91*z^5+125*z^4+100*z^3+46*z^2+11*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(42*z^7+127*z^6+216*z^5+225*z^4+146*z^3+57*z^2+12*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(48*z^8+169*z^7+343*z^6+441*z^5+371*z^4+203*z^3+69*z^2+13*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Clark" center=(0.001,0.001) maxiter=500 magn=0.25 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Kazhdan-Lusztig-VoganPolynomial { ;https://en.wikipedia.org/wiki/Kazhdan%E2%80%93Lusztig_polynomial init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(152*z^22 + 3472*z^21 + 38791*z^20 + 293021*z^19 + 1370892*z^18\ + 4067059*z^17 + 7964012*z^16 + 11159003*z^15 + 11808808*z^14 + 9859915*z^13\ + 6778956*z^12 + 3964369*z^11 + 2015441*z^10 + 906567*z^9 + 363611*z^8 + 129820*z^7\ + 41239*z^6 + 11426*z^5 + 2677*z^4 + 492*z^3 + 61*z^2 + 3*z ))^@pow+p3 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Kazhdan-Lusztig-Vogan Polynomial" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Leibniz { ;http://mathworld.wolfram.com/LeibnizHarmonicTriangle.html ;http://oeis.org/A003506 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(z^3/4+z^2/12+z/12+1/4))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^4/5+z^3/20+z^2/30+z/20+1/5))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5/6+z^4/30+z^3/60+z^2/60+z/30+1/6))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6/7+z^5/42+z^4/105+z^3/140+z^2/105+z/42+1/7))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7/8++z^6/56++z^5/168++z^4/280+z^3/280+z^2/168+z/56+1/8))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Leibniz" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Losanitsch { ;http://mathworld.wolfram.com/LosanitschsTriangle.html ;http://oeis.org/A034851 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="4" z=p2*log(abs(z^4+2*z^3+4*z^2+2*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^5+3*z^4+6*z^3+6*z^2+3*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^6+3*z^5+9*z^4+10*z^3+9*z^2+3*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(z^7+4*z^6+12*z^5+19*z^4+19*z^3++12*z^2+4*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(z^8+4*z^7+16*z^6+28*z^5+38*z^4+28*z^3+16*z^2+4*z+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(z^9+5*z^8+20*z^7+44*z^6+66*z^5+66*z^4+44*z^3+20*z^2+5*z+1))^@pow+p3 elseif @v=="10" z=p2*log(abs(z^10+5*z^9+25*z^8+60*z^7+110*z^6+126*z^5+110*z^4+60*z^3++25*z^2+5*z+1))^@pow+p3 elseif @v=="11" z=p2*log(abs(z^11+6*z^10+30*z^9+85*z^8+170*z^7+236*z^6+236*z^5+170*z^4+85*z^3+30*z^2+6*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Losanitsch" center=(0.001,0.001) maxiter=500 magn=0.25 angle=270 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Ne { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs((z^2+p3)/(p3^2+z)))^@pow+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Ne" center=(0.001,0.001) magn=0.5 maxiter=500 periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PascalPlusOne { ; The polynomials are obtained by adding one to each term of Pascal's triangle init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(conj(fn3(z)))) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(2*z^3++4*z^2+4*z+2))^@pow+p3 elseif @v=="4" z=p2*log(abs(2*z^4+5*z^3+7*z^2+5*z+2))^@pow+p3 elseif @v=="5" z=p2*log(abs(2*z^5+6*z^4+11*z^3+11*z^2+6*z+2))^@pow+p3 elseif @v=="6" z=p2*log(abs(2*z^6+7*z^5++16*z^4+21*z^3+16*z^2+7*z+2))^@pow+p3 elseif @v=="7" z=p2*log(abs(2*z^7+8*z^6+22*z^5+36*z^4+36*z^3+22*z^2+8*z+2))^@pow+p3 elseif @v=="8" z=p2*log(abs(2*z^8+9*z^7+29*z^6+57*z^5+71*z^4+57*z^3+29*z^2+9*z+2))^@pow+p3 elseif @v=="9" z=p2*log(abs(2*z^9+10*z^8+37*z^7+85*z^6+127*z^5+127*z^4+85*z^3+37*z^2+10*z+2))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pascal Plus One" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Rev { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs(1+cos(1/z)^(-1)*z^2/((z^2-1)^(-1/2))))^@pow+p3 elseif @v=="2" z=p2*log(abs(1+cosh(1/z)^(-1)*z^2/((1-z^2)^(-1/2))))^@pow+p3 elseif @v=="3" z=p2*log(abs(1+cos(1/z)^(-1)*z^2/((1-z^2)^(-1/2))))^@pow+p3 elseif @v=="4" z=p2*log(abs(1+cosh(1/z)^(-1)*z^2/((z^2-1)^(-1/2))))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Rev" center=(0.001,0.001) maxiter=1000 periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Trinom { ;http://mathworld.wolfram.com/TrinomialTriangle.html ;http://oeis.org/A027907 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(z^4+2*z^3+3*z^2+2*z+1))^@pow+p3 elseif @v=="3" z=p2*log(abs(z^6+3*z^5+6*z^4+7*z^3+6*z^2+3*z+1))^@pow+p3 elseif @v=="4" z=p2*log(abs(z^8+4*z^7+10*z^6+16*z^5+19*z^4+16*z^3+10*z^2+4*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(z^10+5*z^9+15*z^8+30*z^7+45*z^6+51*z^5+45*z^4+30*z^3+15*z^2+5*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(z^12+6*z^11+21*z^10+50*z^9+90*z^8+126*z^7+141*z^6+126*z^5+90*z^4+50*z^3+21*z^2+6*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Trinom" center=(0.001,0.001) maxiter=500 magn=0.25 angle=270 periodicity=0 param V caption="Variant" enum="2""3""4""5""6" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Catalan { ;http://www1.mat.uniroma1.it/ricerca/dottorato/TESI/ARCHIVIO/mongellipietro.pdf ;https://oeis.org/A008313 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="5" z=p2*log(abs(5*z^2+4*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(5*z^3+9*z^2+5*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(14*z^3+14*z^2+6*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(14*z^4+28*z^3+20*z^2+7*z+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(42*z^4+48*z^3+27*z^2+8*z+1))^@pow+p3 elseif @v=="10" z=p2*log(abs(42*z^5+90*z^4+75*z^3+35*z^2+9*z+1))^@pow+p3 elseif @v=="11" z=p2*log(abs(132*z^5+165*z^4+110*z^3+44*z^2+10*z+1))^@pow+p3 elseif @v=="12" z=p2*log(abs(132*z^6+297*z^5+275*z^4+154*z^3+54*z^2+11*z+1))^@pow+p3 elseif @v=="13" z=p2*log(abs(429*z^6+572*z^5+429*z^4+208*z^3+65*z^2+12*z+1))^@pow+p3 elseif @v=="14" z=p2*log(abs(429*z^7+1001*z^6+1001*z^5+637*z^4+273*z^3+77*z^2+13*z+1))^@pow+p3 elseif @v=="15" z=p2*log(abs(1430*z^7+2002*z^6+1638*z^5+910*z^4+350*z^3+90*z^2+14*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Catalan" center=(-3,0.001) maxiter=500 magn=0.25 angle=270 periodicity=0 param V caption="Variant" enum="5""6""7""8""9""10""11""12""13""14""15" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Catalan2 { ;http://www1.mat.uniroma1.it/ricerca/dottorato/TESI/ARCHIVIO/mongellipietro.pdf ;https://oeis.org/A008313 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=flip(fn2(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="5" z=p2*log(abs(5*z^2+4*z+1))^@pow+p3+pixel elseif @v=="6" z=p2*log(abs(5*z^3+9*z^2+5*z+1))^@pow+p3+pixel elseif @v=="7" z=p2*log(abs(14*z^3+14*z^2+6*z+1))^@pow+p3+pixel elseif @v=="8" z=p2*log(abs(14*z^4+28*z^3+20*z^2+7*z+1))^@pow+p3+pixel elseif @v=="9" z=p2*log(abs(42*z^4+48*z^3+27*z^2+8*z+1))^@pow+p3+pixel elseif @v=="10" z=p2*log(abs(42*z^5+90*z^4+75*z^3+35*z^2+9*z+1))^@pow+p3+pixel elseif @v=="11" z=p2*log(abs(132*z^5+165*z^4+110*z^3+44*z^2+10*z+1))^@pow+p3+pixel elseif @v=="12" z=p2*log(abs(132*z^6+297*z^5+275*z^4+154*z^3+54*z^2+11*z+1))^@pow+p3+pixel elseif @v=="13" z=p2*log(abs(429*z^6+572*z^5+429*z^4+208*z^3+65*z^2+12*z+1))^@pow+p3+pixel elseif @v=="14" z=p2*log(abs(429*z^7+1001*z^6+1001*z^5+637*z^4+273*z^3+77*z^2+13*z+1))^@pow+p3+pixel elseif @v=="15" z=p2*log(abs(1430*z^7+2002*z^6+1638*z^5+910*z^4+350*z^3+90*z^2+14*z+1))^@pow+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Catalan 2" center=(0.001,-1.25) magn=0.5 maxiter=500 periodicity=0 param V caption="Variant" enum="5""6""7""8""9""10""11""12""13""14""15" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Catalan3 { ;https://oeis.org/A033184 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(2*z^2+2*z+1))^@pow+p3 elseif @v=="3" z=p2*log(abs(5*z^3+5*z^2+3*z+1))^@pow+p3 elseif @v=="4" z=p2*log(abs(14*z^4+14*z^3+9*z^2+4*z+1))^@pow+p3 elseif @v=="5" z=p2*log(abs(42*z^5+42*z^4+28*z^3+14*z^2+5*z+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(132*z^6+132*z^5+90*z^4+48*z^3+20*z^2+6*z+1))^@pow+p3 elseif @v=="7" z=p2*log(abs(429*z^7+429*z^6+297*z^5+165*z^4+75*z^3++27*z^2+7*z+1))^@pow+p3 elseif @v=="8" z=p2*log(abs(1430*z^8+1430*z^7+1001*z^6+572*z^5+275*z^4+110*z^3+35*z^2+8*z+1))^@pow+p3 elseif @v=="9" z=p2*log(abs(4862*z^9+4862*z^8+3432*z^7+2002*z^6+1001*z^5+429*z^4+154*z^3+44*z^2+9*z+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Catalan 3" center=(-2,0.001) maxiter=500 magn=0.25 angle=270 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8""9" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } fiddling20withparameters { ;©1999 by Aubrey Minnick ;Parameters added by Otto Magus ©2017 init: z=@start loop: z=fn1(cos(p1*z^3))*cos(fn1(p2*z^2))*fn2(pixel)+p3 bailout: |z|<@bail default: title="fiddling20 with parameters" param start caption="Start Value" default=(0,0) endparam func fn1 default=sin() endfunc func fn2 default=ident() endfunc param p1 default=(2,0) endparam param p2 default=(3,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=2.0 endparam } StandardTableaux { ;http://www.luschny.de/ect/Standard-Tableaux.html ;http://oeis.org/A039599 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(5*z^3+9*z^2+5*z+1))^@pow+p4 elseif @v=="4" z=p2*log(abs(14*z^4+28*z^3+20*z^2+7*z+1))^@pow+p4 elseif @v=="5" z=p2*log(abs(42*z^5+90*z^4+75*z^3+35*z^2++9*z+1))^@pow+p4 elseif @v=="6" z=p2*log(abs(132*z^6+297*z^5+275*z^4+154*z^3+54*z^2+11*z+1))^@pow+p4 elseif @v=="7" z=p2*log(abs(429*z^7+1001*z^6+1001*z^5+637*z^4+273*z^3+77*z^2+13*z+1))^@pow+p4 elseif @v=="8" z=p2*log(abs(1430*z^8+3432*z^7+3640*z^6+2548*z^5+1260*z^4+440*z^3+104*z^2+15*z+1))^@pow+p4 elseif @v=="9" z=p2*log(abs(4862*z^9+11934*z^8+13260*z^7+9996*z^6+5508*z^5+2244*z^4+663*z^3+135*z^2+17*z+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Standard Tableaux" center=(-4,0.001) magn=0.25 angle=270 maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } VonStaudt { ;Coefficients of the polynomials are von Staudt prime numbers ;http://www.luschny.de/math/zeta/VonStaudtPrimes.html ;http://oeis.org/A092307 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs((11*z^2+23*z+47)/47))^@pow+p3 elseif @v=="3" z=p2*log(abs((59*z^3+83*z^2+107*z+167)/167))^@pow+p3 elseif @v=="4" z=p2*log(abs((179*z^4+227*z^3+239*z^2+263*z+347)/347))^@pow+p3 elseif @v=="5" z=p2*log(abs((359*z^5+383*z^4+443*z^3+467*z^2+479*z+503)/503))^@pow+p3 elseif @v=="6" z=p2*log(abs((563*z^6+587*z^5+647*z^4+659*z^3+719*z^2+827*z+839)/839))^@pow+p3 elseif @v=="7" z=p2*log(abs((863*z^7+887*z^6+983*z^5+1019*z^4+1187*z^3+1223*z^2+1259*z+1283)/1283))^@pow+p3 elseif @v=="8" z=p2*log(abs((1307*z^8+1319*z^7+1367*z^6+1439*z^5+1487*z^4+1499*z^3+1523*z^2+1619*z+1787)/1787))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Von Staudt" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6""7""8" default=1 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Worpitsky { ;http://www.luschny.de/ect/Worpitzky-Triangle.html ;http://oeis.org/A028246 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs((z^3+7*z^2+12*z+6)/6))^@pow+p3 elseif @v=="4" z=p2*log(abs((z^4+15*z^3+50*z^2+60*z+24)/24))^@pow+p3 elseif @v=="5" z=p2*log(abs((z^5+31*z^4+180*z^3+390*z^2+360*z+120)/120))^@pow+p3 elseif @v=="6" z=p2*log(abs((z^6+63*z^5+602*z^4+2100*z^3+3360*z^2+2520*z+720)/720))^@pow+p3 elseif @v=="7" z=p2*log(abs((z^7+127*z^6+1932*z^5+10206*z^4+25200*z^3+31920*z^2+20160*z+5040)/5040))^@pow+p3 elseif @v=="8" z=p2*log(abs((z^8+255*z^7+6050*z^6+46620*z^5+166824*z^4+317520*z^3+332640*z^2+181440*z+40320)/40320))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Worpitsky" center=(-4.75,0.001) maxiter=500 magn=0.25 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } AwunonIxatrisep { ;http://oeis.org/A196837 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a y=y/a z=x+flip(y) if @v=="3" z=p2*log(abs((4*z^3-30*z^2+70*z-50)/50))^@pow+p3 elseif @v=="4" z=p2*log(abs((5*z^4-60*z^3+255*z^2-450*z+274)/274))^@pow+p3 elseif @v=="5" z=p2*log(abs((6*z^5-105*z^4+700*z^3-2205*z^2++3248*z-1764)/1764))^@pow+p3 elseif @v=="6" z=p2*log(abs((7*z^6-168*z^5+1610*z^4-7840*z^3+20307*z^2-26264*z+13068)/13068))^@pow+p3 elseif @v=="7" z=p2*log(abs((8*z^7-252*z^6+3276*z^5+-22680*z^4+89796*z^3-201852*z^2+236248*z-109584)/109584))^@pow+p3 elseif @v=="8" z=p2*log(abs((9*z^8-360*z^7+6090*z^6-56700*z^5+316365*z^4-1077300*z^3+2171040*z^2-2345400*z+1026576)/1026576))^@pow+p3 elseif @v=="9" z=p2*log(abs((10*z^9-495*z^8+10560*z^7-127050*z^6+946638*z^5-4510275*z^4+13667720*z^3-25228500*z^2+25507152*z-10628640)/10628640))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Awunon Ixatrisep" center=(4,0.001) magn=0.25 angle=0 maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } InkleThree { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="1" z=p2*log(abs(conj(p3/(z-p4))+p4))^@pow+p5 elseif @V=="2" z=p2*log(abs(conj(p3/(z-p4))-p4))^@pow+p5 elseif @V=="3" z=p2*log(abs(conj(p3/(z+p4))-p4))^@pow+p5 elseif @V=="4" z=p2*log(abs(conj(p3/(z^2-p4))+p4))^@pow+p5 elseif @V=="5" z=p2*log(abs(conj(p3/(z^2-p4))-p4))^@pow+p5 elseif @V=="6" z=p2*log(abs(conj(p3/(z^2+p4))-p4))^@pow+p5 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Inkle Three" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=flip() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } FibonacciPolynomials3 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="3" z=p3*log(abs((3*z^2+5*z+8)/8))^@pow+p4 elseif @v=="4" z=p3*log(abs((13*z^3+21*z^2+34*z+55)/55))^@pow+p4 elseif @v=="5" z=p3*log(abs((89*z^4+144*z^3+233*z^2+377*z+610)/610))^@pow+p4 elseif @v=="6" z=p3*log(abs((987*z^5+1597*z^4+2584*z^3+4181*z^2+6765*z+10946)/10946))^@pow+p4 elseif @v=="7" z=p3*log(abs((17711*z^6+28657*z^5+46368*z^4+75025*z^3+121393*z^2+196418*z+317811)/317811))^@pow+p4 elseif @v=="8" z=p3*log(abs((514229*z^7+832040*z^6+1346269*z^5+2178309*z^4+3524578*z^3+5702887*z^2+9227465*z+14930352)/14930352))^@pow+p4 elseif @v=="9" z=p3*log(abs((24157817*z^8+39088169*z^7+63245986*z^6+102334155*z^5+165580141*z^4+267914296*z^3+433494437*z^2+701408733*z+1134903170)/1134903170))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Fibonacci Polynomials 3" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Mongelli { ;http://www1.mat.uniroma1.it/ricerca/dottorato/TESI/ARCHIVIO/mongellipietro.pdf ;page 20 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="1" z=p3*log(abs(z+3*z^2+z^3))^@pow+p4 elseif @v=="2" z=p3*log(abs(z+7*z^2+13*z^3+7*z^4+z^5))^@pow+p4 elseif @v=="3" z=p3*log(abs(z+15*z^2+57*z^3+87*z^4+57*z^5+15*z^6+z^7))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mongelli" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } WodBlamnest { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) z=p3*log(abs(z-p4*(z^2-1)/z))^@pow+p5 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Wod Blamnest" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf ;http://oeis.org/A104684 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="4" z=p3*log(abs(6*z^4-6*z^2+1))^@pow+p4 elseif @v=="6" z=p3*log(abs(20*z^6-30*z^4+12*z^2-1))^@pow+p4 elseif @v=="8" z=p3*log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1))^@pow+p4 elseif @v=="10" z=p3*log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1))^@pow+p4 elseif @v=="12" z=p3*log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1))^@pow+p4 elseif @v=="14" z=p3*log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1))^@pow+p4 elseif @v=="16" z=p3*log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials" center=(0.001,0.001) angle=0 maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="4""6""8""10""12""14""16" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials3 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a y=y/a z=x+flip(y)+pixel if @v=="4" z=p2*log(abs(6*z^4-6*z^2+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(20*z^6-30*z^4+12*z^2-1))^@pow+p3 elseif @v=="8" z=p2*log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1))^@pow+p3 elseif @v=="10" z=p2*log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1))^@pow+p3 elseif @v=="12" z=p2*log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1))^@pow+p3 elseif @v=="14" z=p2*log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1))^@pow+p3 elseif @v=="16" z=p2*log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 3" center=(0.001,0.001) maxiter=500 magn=1.5 periodicity=0 param V caption="Variant" enum="4""6""8""10""12""14""16" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials4 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="4" z=pixel*p3*log(abs(6*z^4-6*z^2+1))^@pow+p4 elseif @v=="6" z=pixel*p3*log(abs(20*z^6-30*z^4+12*z^2-1))^@pow+p4 elseif @v=="8" z=pixel*p3*log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1))^@pow+p4 elseif @v=="10" z=pixel*p3*log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1))^@pow+p4 elseif @v=="12" z=pixel*p3*log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1))^@pow+p4 elseif @v=="14" z=pixel*p3*log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1))^@pow+p4 elseif @v=="16" z=pixel*p3*log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 4" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="4""6""8""10""12""14""16" default=2 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PascalPlusTwo { ;Coefficients are obtained by adding 2 to each term of Pascal's Triangle init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="3" z=p3*log(abs(3*z^4+4*z^2+3))^@pow+p4 elseif @v=="4" z=p3*log(abs(3*z^6+5*z^4+5*z^2+3))^@pow+p4 elseif @v=="5" z=p3*log(abs(3*z^8+6*z^6+8*z^4+6*z^2+3))^@pow+p4 elseif @v=="6" z=p3*log(abs(3*z^10+7*z^8+12*z^6+12*z^4+7*z^2+3))^@pow+p4 elseif @v=="7" z=p3*log(abs(3*z^12+8*z^10+17*z^8+22*z^6+17*z^4+8*z^2+3))^@pow+p4 elseif @v=="8" z=p3*log(abs(3*z^14+9*z^12+23*z^10+37*z^8+37*z^6+23*z^4+9*z^2+3))^@pow+p4 elseif @v=="9" z=p3*log(abs(3*z^16+10*z^14+30*z^12+58*z^10+72*z^8+58*z^6+30*z^4+10*z^2+3))^@pow+p4 elseif @v=="10" z=p3*log(abs(3*z^18+11*z^16+38*z^14+86*z^12+128*z^10+128*z^8+86*z^6+38*z^4+11*z^2+3))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pascal Plus Two" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PascalPlusTwo2 { ;Coefficients are obtained by adding 2 to each term of Pascal's Triangle init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(exp(flip(fn3(z)))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y)+pixel if @v=="3" z=p3*log(abs(3*z^4+4*z^2+3))^@pow+p4 elseif @v=="4" z=p3*log(abs(3*z^6+5*z^4+5*z^2+3))^@pow+p4 elseif @v=="5" z=p3*log(abs(3*z^8+6*z^6+8*z^4+6*z^2+3))^@pow+p4 elseif @v=="6" z=p3*log(abs(3*z^10+7*z^8+12*z^6+12*z^4+7*z^2+3))^@pow+p4 elseif @v=="7" z=p3*log(abs(3*z^12+8*z^10+17*z^8+22*z^6+17*z^4+8*z^2+3))^@pow+p4 elseif @v=="8" z=p3*log(abs(3*z^14+9*z^12+23*z^10+37*z^8+37*z^6+23*z^4+9*z^2+3))^@pow+p4 elseif @v=="9" z=p3*log(abs(3*z^16+10*z^14+30*z^12+58*z^10+72*z^8+58*z^6+30*z^4+10*z^2+3))^@pow+p4 elseif @v=="10" z=p3*log(abs(3*z^18+11*z^16+38*z^14+86*z^12+128*z^10+128*z^8+86*z^6+38*z^4+11*z^2+3))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pascal Plus Two 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PRNT1 { ;https://en.wikiversity.org/wiki/Partition_related_number_triangles ;https://oeis.org/A152175 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="3" z=p3*log(abs(z^3+3*z^2+2*z+1))^@pow+p4 elseif @v=="4" z=p3*log(abs(z^4+3*z^3+5*z^2+2*z+1))^@pow+p4 elseif @v=="5" z=p3*log(abs(z^5+7*z^4+18*z^3+13*z^2+3*z+1))^@pow+p4 elseif @v=="6" z=p3*log(abs(z^6+9*z^5+43*z^4+50*z^3+20*z^2+3*z+1))^@pow+p4 elseif @v=="7" z=p3*log(abs(z^7+19*z^6+126*z^5+221*z^4+136*z^3+36*z^2+4*z+1))^@pow+p4 elseif @v=="8" z=p3*log(abs(z^8+29*z^7+339*z^6+866*z^5+773*z^4+296*z^3+52*z^2+4*z+1))^@pow+p4 elseif @v=="9" z=p3*log(abs(z^9+55*z^8+946*z^7+3437*z^6+4281*z^5+2303*z^4+596*z^3+78*z^2+5*z+1))^@pow+p4 elseif @v=="10" z=p3*log(abs(z^10+93*z^9+2591*z^8+13250*z^7+22430*z^6+16317*z^5+5817*z^4+1080*z^3+105*z^2+5*z+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="PRNT1" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PRNT2 { ;https://en.wikiversity.org/wiki/Partition_related_number_triangles ;https://oeis.org/A152175 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(exp(flip(fn3(z)))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y)+pixel if @v=="3" z=p3*log(abs(z^3+3*z^2+2*z+1))^@pow+p4 elseif @v=="4" z=p3*log(abs(z^4+3*z^3+5*z^2+2*z+1))^@pow+p4 elseif @v=="5" z=p3*log(abs(z^5+7*z^4+18*z^3+13*z^2+3*z+1))^@pow+p4 elseif @v=="6" z=p3*log(abs(z^6+9*z^5+43*z^4+50*z^3+20*z^2+3*z+1))^@pow+p4 elseif @v=="7" z=p3*log(abs(z^7+19*z^6+126*z^5+221*z^4+136*z^3+36*z^2+4*z+1))^@pow+p4 elseif @v=="8" z=p3*log(abs(z^8+29*z^7+339*z^6+866*z^5+773*z^4+296*z^3+52*z^2+4*z+1))^@pow+p4 elseif @v=="9" z=p3*log(abs(z^9+55*z^8+946*z^7+3437*z^6+4281*z^5+2303*z^4+596*z^3+78*z^2+5*z+1))^@pow+p4 elseif @v=="10" z=p3*log(abs(z^10+93*z^9+2591*z^8+13250*z^7+22430*z^6+16317*z^5+5817*z^4+1080*z^3+105*z^2+5*z+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="PRNT2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PRNT3 { ;https://en.wikiversity.org/wiki/Partition_related_number_triangles ;https://oeis.org/A152175 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(exp(flip(fn3(z)))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="3" z=p3*log(abs(z^3+3*z^2+2*z+1))^@pow+p4*pixel elseif @v=="4" z=p3*log(abs(z^4+3*z^3+5*z^2+2*z+1))^@pow+p4*pixel elseif @v=="5" z=p3*log(abs(z^5+7*z^4+18*z^3+13*z^2+3*z+1))^@pow+p4*pixel elseif @v=="6" z=p3*log(abs(z^6+9*z^5+43*z^4+50*z^3+20*z^2+3*z+1))^@pow+p4*pixel elseif @v=="7" z=p3*log(abs(z^7+19*z^6+126*z^5+221*z^4+136*z^3+36*z^2+4*z+1))^@pow+p4*pixel elseif @v=="8" z=p3*log(abs(z^8+29*z^7+339*z^6+866*z^5+773*z^4+296*z^3+52*z^2+4*z+1))^@pow+p4*pixel elseif @v=="9" z=p3*log(abs(z^9+55*z^8+946*z^7+3437*z^6+4281*z^5+2303*z^4+596*z^3+78*z^2+5*z+1))^@pow+p4*pixel elseif @v=="10" z=p3*log(abs(z^10+93*z^9+2591*z^8+13250*z^7+22430*z^6+16317*z^5+5817*z^4+1080*z^3+105*z^2+5*z+1))^@pow+p4*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="PRNT3" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Skirown { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) z=p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)))^@pow+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Skirown" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Skirown2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @V=="1" z=p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)))^@pow+p4+pixel elseif @V=="2" z=p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)+pixel))^@pow+p4 elseif @V=="3" z=p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)+pixel))^@pow+p4+pixel elseif @V=="4" z=pixel*p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)))^@pow+p4 elseif @V=="5" z=pixel*p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)))^@pow+p4+pixel elseif @V=="6" z=pixel*p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)+pixel))^@pow+p4+pixel elseif @V=="7" z=pixel*p3*log(abs((z^4+2*sqrt(3)*sqrt(-1)*z^2+1)/(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)+pixel))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Skirown 2" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } CollatzMod2 { init: z=fn1(pixel) int i=0 loop: if |z|<1 z=z/|z| endif while i<@iter i=i+1 z=fn2(flip(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if @v=="1" z=p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="2" z=abs(pixel)*p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="3" z=cabs(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="4" z=p3*log((abs(fn3(2+7*cos(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="5" z=tanh(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="6" z=tanh(pixel)*p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="7" z=p3*log((abs(fn3(2+7*z-(2+5*log(z))*cos(pi*z))/4)))^@pow+p4 elseif @V=="8" z=p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+pixel elseif @V=="9" z=p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4+sin(pixel) elseif @V=="10" z=z*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="11" z=cabs(z)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="12" z=sin(pixel)*p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="13" z=tanh(z)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="14" z=p3*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p4+conj(pixel) elseif @V=="15" z=p3*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p4+tanh(pixel) elseif @V=="16" z=p3*log((abs(fn3(2+7*z-(2+5*z)*sqr(pixel)*cos(pi*z))/4)))^@pow+p4+sin(pixel) elseif @V=="17" z=p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="18" z=cos(pixel)*p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="19" z=abs(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+cabs(pixel) elseif @V=="20" z=flip(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="21" z=cosh(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="22" z=p3*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p4+pixel elseif @V=="23" z=p3*log((abs(fn3(2+7*sqr(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="24" z=sin(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+abs(pixel) elseif @V=="25" z=p3*log((abs(fn3(2+7*z-(2+5*abs(z))*cos(pi*z))/4)))^@pow+p4 elseif @V=="26" z=flip(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+pixel elseif @V=="27" z=p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+tanh(pixel) elseif @V=="28" z=p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="29" z=cabs(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+ident(pixel) elseif @V=="30" z=cabs(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+tanh(pixel) elseif @V=="31" z=cos(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+cotan(pixel) elseif @V=="32" z=p3*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p4+sin(pixel) elseif @V=="33" z=conj(z)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="34" z=p3*log((abs(fn3(2+7*z-2*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="35" z=abs(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="36" z=pixel*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+pixel elseif @V=="37" z=cabs(pixel)*p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="38" z=p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="39" z=sin(z)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="40" z=exp(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="41" z=p3*log((abs(fn3(2-(2+5*z)*cos(pi*z))/4)))^@pow+p4+pixel elseif @V=="42" z=p3*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p4+pixel elseif @V=="43" z=abs(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="44" z=cabs(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="45" z=flip(z)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="46" z=p3*log((abs(fn3(2+7*z-(2+5*cabs(z))*cos(pi*z))/4)))^@pow+p4 elseif @V=="47" z=p3*log((abs(fn3(2+7*z-(2+5*z)*cabs(pixel)*cos(pi*z))/4)))^@pow+p4+pixel elseif @V=="48" z=p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+cotanh(pixel) elseif @V=="49" z=cos(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="50" z=p3*log((abs(fn3(2+7*cosh(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="51" z=p3*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p4+flip(pixel) elseif @V=="52" z=flip(pixel)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4+conj(pixel) elseif @V=="53" z=p3*log((abs(fn3(2+7*z-(2+5*z)*pixel*cos(pi*z))/4)))^@pow+p4+tanh(pixel) elseif @V=="54" z=p3*log((abs(fn3(2+7*cotanh(z)-(2+5*z)*cos(pi*z))/4)))^@pow+p4 elseif @V=="55" z=abs(z)*p3*log((abs(fn3(2+7*z-(2+5*z)*cos(pi*z))/4)))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Collatz Mod 2" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28""29""30""31""32""33""34""35"\ "36""37""38""39""40""41""42""43""44""45""46""47""48""49""50"\ "51""52""53""54""55" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } Conambocosism { init: z=fn1(pixel) int i=0 loop: if @V=="1" while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4 endwhile elseif @V=="2" while i<@iter i=i+1 z=fn2(exp(z)) x=abs(real(z))+real(p5) y=abs(imag(z))+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4 endwhile elseif @V=="3" if real(z)<0 z=-real(z)+flip(imag(z)) endif while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4 endwhile elseif @V=="4" while i<@iter i=i+1 z=fn2(exp(z)) x=abs(real(z))+real(p5) y=abs(imag(z))+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4 endwhile elseif @V=="5" while i<@iter i=i+1 z=fn2(flip(exp(z))) if |z|<1 z=z/|z| endif x=abs(real(z))+real(p5) y=abs(imag(z))+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4 endwhile elseif @V=="6" while i<@iter i=i+1 z=fn2(flip(exp(z))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=abs(real(z))+real(p5) y=abs(imag(z))+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4 endwhile elseif @V=="7" while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4 endwhile endif z=@adj*z/100 bailout: |z|<@bail default: title="Conambocosism" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } FibonacciPolynomials4 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if |z|<1 z=z/|z| endif if @v=="3" z=p3*log(abs((3*z^2+5*z+8)/8))^@pow+p4 elseif @v=="4" z=p3*log(abs((13*z^3+21*z^2+34*z+55)/55))^@pow+p4 elseif @v=="5" z=p3*log(abs((89*z^4+144*z^3+233*z^2+377*z+610)/610))^@pow+p4 elseif @v=="6" z=p3*log(abs((987*z^5+1597*z^4+2584*z^3+4181*z^2+6765*z+10946)/10946))^@pow+p4 elseif @v=="7" z=p3*log(abs((17711*z^6+28657*z^5+46368*z^4+75025*z^3+121393*z^2+196418*z+317811)/317811))^@pow+p4 elseif @v=="8" z=p3*log(abs((514229*z^7+832040*z^6+1346269*z^5+2178309*z^4+3524578*z^3+5702887*z^2+9227465*z+14930352)/14930352))^@pow+p4 elseif @v=="9" z=p3*log(abs((24157817*z^8+39088169*z^7+63245986*z^6+102334155*z^5+165580141*z^4+267914296*z^3+433494437*z^2+701408733*z+1134903170)/1134903170))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Fibonacci Polynomials 4" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Lenkan { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) float x=real(z)+real(p6) float y=imag(z)+imag(p6) float a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if real(z)<0 z=-real(z)+flip(imag(z)) endif z=x+flip(y) if real(z)<0 z=-real(z)+flip(imag(z)) endif if @V=="1" z=p2*log(abs(flip(p3/(z-p4))+p4))^@pow+p5 elseif @V=="2" z=p2*log(abs(flip(p3/(z-p4))-p4))^@pow+p5 elseif @V=="3" z=p2*log(abs(flip(p3/(z^2-p4))+p4))^@pow+p5-0.5 elseif @V=="4" z=p2*log(abs(flip(p3/(z^2-p4))-p4))^@pow+p5-1 elseif @V=="5" z=p2*log(abs(flip(p3/(z^3-p4))+p4))^@pow+p5-0.6 elseif @V=="6" z=p2*log(abs(flip(p3/(z^3-p4))-p4))^@pow+p5-1 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Lenkan" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam param p6 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Mongelli3 { ;Polynomials from http://www1.mat.uniroma1.it/ricerca/dottorato/TESI/ARCHIVIO/mongellipietro.pdf ;page 20 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) if |z|<1 z=z/|z| endif if @v=="1" z=p3*log(abs(z+3*z^2+z^3))^@pow+p4 elseif @v=="2" z=p3*log(abs((z+7*z^2+13*z^3+7*z^4+z^5)/2))^@pow+p4 elseif @v=="3" z=p3*log(abs((z+15*z^2+57*z^3+87*z^4+57*z^5+15*z^6+z^7)/6))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mongelli3" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(-1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } SmawnTebold { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(sqr(fn3(z)))) z=z+p1 if |z|==0 z=0 elseif |z|<1 z=z/|z| endif if @v=="1" z=p2*log(abs(z*pixel*p3+pixel))^@pow+p4 elseif @V=="2" z=pixel*p2*log(abs(z*p3))^@pow+p4+pixel elseif @V=="3" z=pixel*p2*log(abs(z*p3))^@pow+p4 elseif @V=="4" z=p2*log(abs(z*p3))^@pow+p4+pixel elseif @V=="5" z=p2*log(abs(z*pixel*p3))^@pow+p4 elseif @V=="6" z=p2*log(abs(z*p3+pixel))^@pow+p4 elseif @V=="7" z=pixel*p2*log(abs(z*pixel*p3+pixel))^@pow+p4+pixel elseif @V=="8" z=p2*log(abs(z*p3+pixel))^@pow+p4+pixel elseif @V=="9" z=pixel*p2*log(abs(z*pixel*p3))^@pow+p4 elseif @V=="10" z=pixel*p2*log(abs(z*p3+pixel))^@pow+p4 elseif @V=="11" z=p2*log(abs(z*pixel*p3))^@pow+p4+pixel elseif @V=="12" z=pixel*p2*log(abs(z*pixel*p3+pixel))^@pow+p4 elseif @V=="13" z=pixel*p2*log(abs(z*pixel*p3))^@pow+p4+pixel elseif @V=="14" z=pixel*p2*log(abs(z*p3+pixel))^@pow+p4+pixel elseif @V=="15" z=p2*log(abs(z*pixel*p3+pixel))^@pow+p4+pixel elseif @V=="16" z=p2*log(abs(z*p3/pixel+pixel))^@pow+p4 elseif @V=="17" z=p2*log(abs(z*p3/pixel))^@pow+p4+pixel elseif @V=="18" z=pixel*p2*log(abs(z*p3/pixel))^@pow+p4 elseif @V=="19" z=p2*log(abs(z*p3/pixel+pixel))^@pow+p4+pixel elseif @V=="20" z=pixel*p2*log(abs(z*p3/pixel+pixel))^@pow+p4 elseif @V=="21" z=pixel*p2*log(abs(z*p3/pixel))^@pow+p4+pixel elseif @V=="22" z=pixel*p2*log(abs(z*p3/pixel+pixel))^@pow+p4+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Smawn Tebold" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18""19""20""21""22" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Woteno { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(sqr(flip(sqr(fn3(z))))) if |z|<1 z=z/|z| endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p3+real(p2) y=y/a*p3+imag(p2) z=x+flip(y) z=p4*log(abs(z^(-1))+pixel)^@pow+p5 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Woteno" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials5 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(recip(fn3(z))) float x=real(z)+real(p1) float y=imag(z)+imag(p1) float a=x^2+y^2 x=x/a y=y/a if x-y<0 float k=y y=x x=k endif z=x+flip(y) if @v=="4" z=p2*log(abs(6*z^4-6*z^2+1))^@pow+p3+pixel elseif @v=="6" z=p2*log(abs(20*z^6-30*z^4+12*z^2-1))^@pow+p3+pixel elseif @v=="8" z=p2*log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1))^@pow+p3+pixel elseif @v=="10" z=p2*log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1))^@pow+p3+pixel elseif @v=="12" z=p2*log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1))^@pow+p3+pixel elseif @v=="14" z=p2*log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1))^@pow+p3+pixel elseif @v=="16" z=p2*log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1))^@pow+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 5" center=(0.001,0.001) maxiter=500 magn=1.5 periodicity=0 param V caption="Variant" enum="4""6""8""10""12""14""16" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Conambocosism2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(exp(z))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=abs(real(z))+real(p5) y=abs(imag(z))+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(flip((p3-log(cabs(z))-(|z|+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))^@pow+p4+pixel endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Conambocosism 2" center=(0.001,0.001) maxiter=500 magn=2 periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } TetrationMod2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=fn2(recip(flip(fn3(z)))) x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5 elseif @V=="2" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5 elseif @V=="3" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5 elseif @V=="4" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5 elseif @V=="5" z=fn2(recip(flip(fn3(z)))) x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5+pixel elseif @V=="6" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5+pixel elseif @V=="7" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5+pixel elseif @V=="8" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(z^z))^@pow+p5+pixel elseif @V=="9" z=fn2(recip(flip(fn3(z)))) x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(z^z))^@pow+p5 elseif @V=="10" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(z^z))^@pow+p5 elseif @V=="11" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(z^z))^@pow+p5 elseif @V=="12" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(z^z))^@pow+p5 elseif @V=="13" z=fn2(recip(flip(fn3(z)))) x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(flip(z^z)))^@pow+p5 elseif @V=="14" z=fn2(recip(flip(fn3(z)))) x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqr(z^z)))^@pow+p5 elseif @V=="15" z=fn2(recip(flip(fn3(z)))) x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(tan(z^z)))^@pow+p5 elseif @V=="16" z=fn2(recip(flip(fn3(z)))) x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqr(z^z)))^@pow+p5+pixel elseif @V=="17" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(flip(z^z)))^@pow+p5 elseif @V=="18" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sinh(z^z)))^@pow+p5 elseif @V=="19" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(flip(z^z)))^@pow+p5+pixel elseif @V=="20" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(log(z^z)))^@pow+p5+pixel elseif @V=="21" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqr(z^z)))^@pow+p5+pixel elseif @V=="22" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(flip(z^z)))^@pow+p5 elseif @V=="23" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(exp(z^z)))^@pow+p5 elseif @V=="24" z=fn2(flip(recip(fn3(z)))) if |z|<1 z=z/|z| endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(log(z^z)))^@pow+p5 elseif @V=="25" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(flip(z^z)))^@pow+p5 elseif @V=="26" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(log(z^z)))^@pow+p5 elseif @V=="27" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqr(z^z)))^@pow+p5 elseif @V=="28" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(log(z^z)))^@pow+p5+pixel elseif @V=="29" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqr(z^z)))^@pow+p5+pixel elseif @V=="30" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sinh(z^z)))^@pow+p5+pixel elseif @V=="31" z=fn2(flip(recip(fn3(z)))) if real(z)<0 z=-real(z)+flip(imag(z)) endif x=(real(z))+real(p1) y=(imag(z))+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(log(z^z)))^@pow+p5 elseif @V=="32" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(recip(z^z)))^@pow+p5 elseif @V=="33" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(flip(z^z)))^@pow+p5 elseif @V=="34" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(log(z^z)))^@pow+p5 elseif @V=="35" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqrt(z^z)))^@pow+p5 elseif @V=="36" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqr(z^z)))^@pow+p5 elseif @V=="37" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(tanh(z^z)))^@pow+p5 elseif @V=="38" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(tan(z^z)))^@pow+p5 elseif @V=="39" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(recip(z^z)))^@pow+p5+pixel elseif @V=="40" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(log(z^z)))^@pow+p5+pixel elseif @V=="41" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=p4*log(abs(sqr(z^z)))^@pow+p5+pixel elseif @V=="42" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(flip(z^z)))^@pow+p5 elseif @V=="43" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(log(z^z)))^@pow+p5 elseif @V=="44" z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x)-real(y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) z=pixel*p4*log(abs(sqrt(z^z)))^@pow+p5 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Tetration Mod 2" maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11"\ "12""13""14""15""16""17""18""19""20""21"\ "22""23""24""25""26""27""28""29""30""31"\ "32""33""34""35""36""37""38""39""40""41"\ "42""43""44" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=5 endparam param pow caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials6 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) if |z|<1 z=z/|z| endif float x=real(z)+real(p1) float y=imag(z)+imag(p1) float a=x^2+y^2 x=x/a*p5+real(p2) y=y/a*p5+imag(p2) if x-y<0 float k=y y=x x=k endif z=x+flip(y) if @v=="4" z=pixel*p3*log(abs(6*z^4-6*z^2+1))^@pow+p4 elseif @v=="6" z=pixel*p3*log(abs(20*z^6-30*z^4+12*z^2-1))^@pow+p4 elseif @v=="8" z=pixel*p3*log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1))^@pow+p4 elseif @v=="10" z=pixel*p3*log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1))^@pow+p4 elseif @v=="12" z=pixel*p3*log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1))^@pow+p4 elseif @v=="14" z=pixel*p3*log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1))^@pow+p4 elseif @v=="16" z=pixel*p3*log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 6" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="4""6""8""10""12""14""16" default=2 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 caption="Parameter 5" default=1.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials7 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(exp(flip(fn3(z)))) float x=real(z)+real(p1) float y=imag(z)+imag(p1) float a=x^2+y^2 x=x/a y=y/a if x-y<0 float k=y y=x x=k endif z=x+flip(y)+pixel if @v=="4" z=p2*log(abs(6*z^4-6*z^2+1))^@pow+p3 elseif @v=="6" z=p2*log(abs(20*z^6-30*z^4+12*z^2-1))^@pow+p3 elseif @v=="8" z=p2*log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1))^@pow+p3 elseif @v=="10" z=p2*log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1))^@pow+p3 elseif @v=="12" z=p2*log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1))^@pow+p3 elseif @v=="14" z=p2*log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1))^@pow+p3 elseif @v=="16" z=p2*log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 7" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="4""6""8""10""12""14""16" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=2 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } BoocAnstin { init: z=fn1(pixel) int i=0 loop: if @V=="1" while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs(flip(p3-log(z)^2-z)))^@pow+p4 endwhile elseif @V=="2" while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs((p3-log(z)^2-z)))^@pow+p4 endwhile elseif @V=="3" if real(z)<0 z=-real(z)+flip(imag(z)) endif while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(recip(p3-log(z)^2-z)))^@pow+p4 endwhile elseif @V=="4" while i<@iter i=i+1 z=fn2(flip(exp(z))) x=abs(real(z))+real(p5) y=abs(imag(z))+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs(p3-log(z)^2-z))^@pow+p4 endwhile elseif @V=="5" while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs(flip(p3-log(z+cos(pixel))^2-z)))^@pow+p4 endwhile elseif @V=="6" while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs((p3-log(z+flip(pixel))^2-z)))^@pow+p4 endwhile elseif @V=="7" if real(z)<0 z=-real(z)+flip(imag(z)) endif while i<@iter i=i+1 z=fn2(exp(z)) x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*log(abs(recip(p3-log(z+exp(pixel))^2-z)))^@pow+p4 endwhile elseif @V=="8" while i<@iter i=i+1 z=fn2(flip(exp(z))) x=abs(real(z))+real(p5) y=abs(imag(z))+imag(p5) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif z=p2*log(abs(p3-log(z+cosh(pixel))^2-z))^@pow+p4 endwhile endif z=@adj*z/100 bailout: |z|<@bail default: title="Booc Anstin" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Losanitsch2 { ;http://mathworld.wolfram.com/LosanitschsTriangle.html ;http://oeis.org/A034851 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) if |z|<1 z=z/|z| endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p5+real(p2) y=y/a*p5+imag(p2) z=x+flip(y)+pixel if @v=="4" z=p3*log(abs(z^4+2*z^3+4*z^2+2*z+1))^@pow+p4 elseif @v=="5" z=p3*log(abs(z^5+3*z^4+6*z^3+6*z^2+3*z+1))^@pow+p4 elseif @v=="6" z=p3*log(abs(z^6+3*z^5+9*z^4+10*z^3+9*z^2+3*z+1))^@pow+p4 elseif @v=="7" z=p3*log(abs(z^7+4*z^6+12*z^5+19*z^4+19*z^3++12*z^2+4*z+1))^@pow+p4 elseif @v=="8" z=p3*log(abs(z^8+4*z^7+16*z^6+28*z^5+38*z^4+28*z^3+16*z^2+4*z+1))^@pow+p4 elseif @v=="9" z=p3*log(abs(z^9+5*z^8+20*z^7+44*z^6+66*z^5+66*z^4+44*z^3+20*z^2+5*z+1))^@pow+p4 elseif @v=="10" z=p3*log(abs(z^10+5*z^9+25*z^8+60*z^7+110*z^6+126*z^5+110*z^4+60*z^3++25*z^2+5*z+1))^@pow+p4 elseif @v=="11" z=p3*log(abs(z^11+6*z^10+30*z^9+85*z^8+170*z^7+236*z^6+236*z^5+170*z^4+85*z^3+30*z^2+6*z+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Losanitsch 2" center=(-0.5,0.001) maxiter=500 angle=270 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Losanitsch3 { ;http://mathworld.wolfram.com/LosanitschsTriangle.html ;http://oeis.org/A034851 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) if |z|<1 z=z/|z| endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p5+real(p2) y=y/a*p5+imag(p2) z=x+flip(y) if @v=="4" z=p3*log(abs(z^4+2*z^3+4*z^2+2*z+1))^@pow+p4+pixel elseif @v=="5" z=p3*log(abs(z^5+3*z^4+6*z^3+6*z^2+3*z+1))^@pow+p4+pixel elseif @v=="6" z=p3*log(abs(z^6+3*z^5+9*z^4+10*z^3+9*z^2+3*z+1))^@pow+p4+pixel elseif @v=="7" z=p3*log(abs(z^7+4*z^6+12*z^5+19*z^4+19*z^3++12*z^2+4*z+1))^@pow+p4+pixel elseif @v=="8" z=p3*log(abs(z^8+4*z^7+16*z^6+28*z^5+38*z^4+28*z^3+16*z^2+4*z+1))^@pow+p4+pixel elseif @v=="9" z=p3*log(abs(z^9+5*z^8+20*z^7+44*z^6+66*z^5+66*z^4+44*z^3+20*z^2+5*z+1))^@pow+p4+pixel elseif @v=="10" z=p3*log(abs(z^10+5*z^9+25*z^8+60*z^7+110*z^6+126*z^5+110*z^4+60*z^3++25*z^2+5*z+1))^@pow+p4+pixel elseif @v=="11" z=p3*log(abs(z^11+6*z^10+30*z^9+85*z^8+170*z^7+236*z^6+236*z^5+170*z^4+85*z^3+30*z^2+6*z+1))^@pow+p4+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Losanitsch 3" center=(-0.5,0.001) maxiter=500 angle=270 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Losanitsch4 { ;http://mathworld.wolfram.com/LosanitschsTriangle.html ;http://oeis.org/A034851 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(abs(fn3(z))) if |z|<1 z=z/|z| endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p5+real(p2) y=y/a*p5+imag(p2) z=x+flip(y) if @v=="4" z=pixel*p3*log(abs(z^4+2*z^3+4*z^2+2*z+1))^@pow+p4 elseif @v=="5" z=pixel*p3*log(abs(z^5+3*z^4+6*z^3+6*z^2+3*z+1))^@pow+p4 elseif @v=="6" z=pixel*p3*log(abs(z^6+3*z^5+9*z^4+10*z^3+9*z^2+3*z+1))^@pow+p4 elseif @v=="7" z=pixel*p3*log(abs(z^7+4*z^6+12*z^5+19*z^4+19*z^3++12*z^2+4*z+1))^@pow+p4 elseif @v=="8" z=pixel*p3*log(abs(z^8+4*z^7+16*z^6+28*z^5+38*z^4+28*z^3+16*z^2+4*z+1))^@pow+p4 elseif @v=="9" z=pixel*p3*log(abs(z^9+5*z^8+20*z^7+44*z^6+66*z^5+66*z^4+44*z^3+20*z^2+5*z+1))^@pow+p4 elseif @v=="10" z=pixel*p3*log(abs(z^10+5*z^9+25*z^8+60*z^7+110*z^6+126*z^5+110*z^4+60*z^3++25*z^2+5*z+1))^@pow+p4 elseif @v=="11" z=pixel*p3*log(abs(z^11+6*z^10+30*z^9+85*z^8+170*z^7+236*z^6+236*z^5+170*z^4+85*z^3+30*z^2+6*z+1))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Losanitsch 4" center=(0.001,0.001) magn=0.5 maxiter=500 angle=270 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11" default=3 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=exp() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PRNT4 { ;https://en.wikiversity.org/wiki/Partition_related_number_triangles ;https://oeis.org/A211358 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2((fn3(z))) if |z|<1 z=z/|z| endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 if real(a)<1 x=x+real(p2) y=y+imag(p2) else x=x/a*p5+real(p2) y=y/a*p5+imag(p2) endif z=x+flip(y) if @v=="4" z=p3*log(abs((z^4+2*z^2+z+3)/3))^@pow+p4 elseif @v=="5" z=p3*log(abs((z^5+2*z^3+2*z^2+4*z+3)/3))^@pow+p4 elseif @v=="6" z=p3*log(abs((z^6+3*z^4+3*z^3+11*z^2+7*z+12)/12))^@pow+p4 elseif @v=="7" z=p3*log(abs((z^7+3*z^5+4*z^4+16*z^3+21*z^2+28*z+20)/20))^@pow+p4 elseif @v=="8" z=p3*log(abs((z^8+4*z^6+5*z^5+30*z^4+43*z^3+101*z^2+89*z+81)/81))^@pow+p4 elseif @v=="9" z=p3*log(abs((z^9+4*z^7+7*z^6+40*z^5+86*z^4+223*z^3+356*z^2+395*z+238)/238))^@pow+p4 elseif @v=="10" z=p3*log(abs((z^10+5*z^8++8*z^7+62*z^6+148*z^5+504*z^4+1004*z^3+1783*z^2+1757*z+1079)/1079))^@pow+p4 elseif @v=="11" z=p3*log(abs((z^11+5*z^9+10*z^8+80*z^7+246*z^6+936*z^5+2510*z^4+5550*z^3+8785*z^2+9075*z+4752)/4752))^@pow+p4 elseif @v=="12" z=p3*log(abs((z^12+6*z^10+12*z^9+113*z^8+378*z^7+1729*z^6+5426*z^5+15279*z^4+31626*z^3+49904*z^2+49412*z+25421)/25421))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="PRNT4" center=(0.001,0.001) magn=0.25 maxiter=500 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11""12" default=3 endparam param p1 default=(0,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PRNT5 { ;https://en.wikiversity.org/wiki/Partition_related_number_triangles ;https://oeis.org/A211359 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2((fn3(z))) if |z|<1 z=z/|z| endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 if real(a)<1 x=x+real(p2) y=y+imag(p2) else x=x/a*p5+real(p2) y=y/a*p5+imag(p2) endif z=x+flip(y) if @v=="4" z=p3*log(abs((z^4+2*z^2+z+2)/2))^@pow+p4 elseif @v=="5" z=p3*log(abs((z^5+2*z^3+2*z^2+3*z+2)/2))^@pow+p4 elseif @v=="6" z=p3*log(abs((z^6+3*z^4+3*z^3+8*z^2+4*z+5)/5))^@pow+p4 elseif @v=="7" z=p3*log(abs((z^7+3*z^5+4*z^4+12*z^3+12*z^2+11*z+6)/6))^@pow+p4 elseif @v=="8" z=p3*log(abs((z^8+4*z^6+5*z^5+22*z^4+24*z^3+39*z^2+21*z+14)/14))^@pow+p4 elseif @v=="9" z=p3*log(abs((z^9+4*z^7+7*z^6+30*z^5+48*z^4+85*z^3+84*z^2+55*z+22)/22))^@pow+p4 elseif @v=="10" z=p3*log(abs((z^10+5*z^8++8*z^7+46*z^6+82*z^5+190*z^4+228*z^3+245*z^2+124*z+51)/51))^@pow+p4 elseif @v=="11" z=p3*log(abs((z^11+5*z^9+10*z^8+60*z^7+136*z^6+350*z^5+570*z^4+730*z^3+620*z^2+327*z+95)/95))^@pow+p4 elseif @v=="12" z=p3*log(abs((z^12+6*z^10+12*z^9+84*z^8+208*z^7+645*z^6+1218*z^5+2002*z^4+2169*z^3+1784*z^2+815*z+232)/232))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="PRNT5" center=(0.001,0.001) magn=0.25 maxiter=500 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11""12" default=3 endparam param p1 default=(0,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Urgossus { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) if @V=="1" x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p6+real(p2) y=y/a*p6+imag(p2) z=x+flip(y) elseif @V=="2" if real(z)<0 z=-real(z)+flip(imag(z)) endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p6+real(p2) y=y/a*p6+imag(p2) z=x+flip(y) elseif @V=="3" x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p6+real(p2+(0.1,0.1)) y=y/a*p6+imag(p2+(0.1,0.1)) z=x+flip(y) if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @V=="4" if |z|<1 z=z/|z| endif x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p6+real(p2) y=y/a*p6+imag(p2) z=x+flip(y) elseif @V=="5" x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p6+real(p2) y=y/a*p6+imag(p2) z=x+flip(y) if |z|<1 z=z/|z| endif elseif @V=="6" x=real(z)+real(p1) y=imag(z)+imag(p1) if real(x-y)<0 k=y y=x x=k endif a=x^2+y^2 x=x/a*p6+real(p2) y=y/a*p6+imag(p2) z=x+flip(y) endif if @power=="3" z=p3*log(abs(z^3/(z-p5)))^@pow+p4 elseif @power=="4" z=p3*log(abs(z^4/(z-p5)^2))^@pow+p4 elseif @power=="5" z=p3*log(abs(z^5/(z-p5)^3))^@pow+p4 elseif @power=="6" z=p3*log(abs(z^6/(z-p5)^4))^@pow+p4 elseif @power=="7" z=p3*log(abs(z^7/(z-p5)^5))^@pow+p4 elseif @power=="8" z=p3*log(abs(z^8/(z-p5)^6))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Urgossus" center=(0.001,0.001) maxiter=500 magn=0.75 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param power caption="Exponent 1" enum="3""4""5""6""7""8" default=1 endparam param pow caption="Exponent 2" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Magmod2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(sqr(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) if real(x)-real(y)<0 k=y y=x x=k endif z=x+flip(y) if @V=="1" z=pixel*p4*log(abs(fn4(sqr((z^2+p5-1)/(2*z+p5-2)))))^@pow+p6 elseif @V=="2" z=pixel*p4*log(abs(fn4(sqr((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1)))))^@pow+p6 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Magmod 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam param p6 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10.0 endparam } Ligemoln { init: z=fn1(pixel) int i=0 loop: if |z|<1 z=z/|z| endif while i<@iter i=i+1 z=fn2(fn3(z)) float x=real(z)+real(p1) float y=imag(z)+imag(p1) if x-y<0 float k=y y=x x=k endif if @V=="1" z=p2*(x+flip(y))+p3 if real(z)>=0 z=p4*log(abs((z-1)*z))^@pow+p5 else z=p4*log(abs((z+1)*z))^@pow+p5 endif elseif @V=="2" z=p2*(x+flip(y))+p3 if real(z)>=0 z=p4*log(abs((z-1)*z))^@pow+p5+pixel else z=p4*log(abs((z+1)*z))^@pow+p5+pixel endif elseif @V=="3" z=p2*(x+flip(y))+p3+pixel if real(z)>=0 z=p4*log(abs((z-1)*z))^@pow+p5 else z=p4*log(abs((z+1)*z))^@pow+p5 endif elseif @V=="4" z=p2*(x+flip(y))+p3 if real(z)>=0 z=pixel*p4*log(abs((z-1)*z))^@pow+p5 else z=pixel*p4*log(abs((z+1)*z))^@pow+p5 endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Ligemoln" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=101.8 endparam param bail caption="Bailout" default=10000000.0 endparam } PoincaréPolynomials2 { ;https://arxiv.org/pdf/0706.2563.pdf ;https://en.wikipedia.org/wiki/Betti_number init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) if @V1=="1" z=x+flip(y)+pixel if @v=="Q1(B2)" z=p2*log(abs(1-z-z^3-z^4))^@pow+p3 elseif @v=="Q2(A2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q3(B2)" z=p2*log(abs(1-z-z^2-z^3-2*z^4))^@pow+p3 elseif @v=="Q8(A3)" z=p2*log(abs(1-z-2*z^2+z^5+z^6))^@pow+p3 elseif @v=="Q9(A3)" z=p2*log(abs(1-z-3*z^2-z^4+z^5+3*z^6))^@pow+p3 elseif @v=="Q10(B3)" z=p2*log(abs(1-z-3*z^3+z^4-z^5+z^8+2*z^9))^@pow+p3 elseif @v=="Q11(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^8+z^9))^@pow+p3 elseif @v=="Q12(B3)" z=p2*log(abs(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))^@pow+p3 elseif @v=="Q16(G2)" z=p2*log(abs(1-2*z+z^2-z^4+z^6))^@pow+p3 elseif @v=="Q17(B3)" z=p2*log(abs(1-z-z^3-2*z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q18(G2)" z=p2*log(abs(1-2*z+z^3-z^4-z^5+2*z^6))^@pow+p3 elseif @v=="Q19(B3)" z=p2*log(abs(1-z-z^3-z^4-z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q20(G2)" z=p2*log(abs(1-2*z-2*z^5+3*z^6))^@pow+p3 elseif @v=="Q21(D4)" z=p2*log(abs(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))^@pow+p3 elseif @v=="Q22(B4)" z=p2*log(abs(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))^@pow+p3 elseif @v=="Q23(D4)" z=p2*log(abs(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))^@pow+p3 elseif @v=="Q24(G2)" z=p2*log(abs(1-z-z^5))^@pow+p3 elseif @v=="Q25(B2)" z=p2*log(abs(1-z-z^3))^@pow+p3 elseif @v=="Q26(A2)" z=p2*log(abs(1-z-z^2))^@pow+p3 elseif @v=="Q27(B2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q28(G2)" z=p2*log(abs(1-z-z^3-z^5))^@pow+p3 elseif @v=="Q29(G2)" z=p2*log(abs(1-z-z^2-z^3-z^4-z^5))^@pow+p3 elseif @v=="Q36(A3)" z=p2*log(abs(1-z-z^2+z^5))^@pow+p3 elseif @v=="Q37(B3)" z=p2*log(abs(1-z-z^3+z^8))^@pow+p3 elseif @v=="Q38(B3)" z=p2*log(abs(1-z-z^2-z^4+z^6+z^8))^@pow+p3 elseif @v=="Q39(B3)" z=p2*log(abs(1-z-z^2-z^3+z^7+z^8))^@pow+p3 elseif @v=="Q40(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q43(B3)" z=p2*log(abs(1-z-z^4+z^8))^@pow+p3 elseif @v=="Q44(B3)" z=p2*log(abs(1-z-z^3-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q46(D4)" z=p2*log(abs(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))^@pow+p3 elseif @v=="Q47(D5)" z=p2*log(abs(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))^@pow+p3 elseif @v=="Q48(B5)" z=p2*log(abs(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))^@pow+p3 elseif @v=="Pg2" z=p2*log(abs((1+z^3)*(1+z^11)))^@pow+p3 elseif @v=="Pf4" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))^@pow+p3 elseif @v=="Pe6" z=p2*log(abs((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))^@pow+p3 elseif @v=="Pe7" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))^@pow+p3 elseif @v=="Pe8" z=p2*log(abs((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))^@pow+p3 endif elseif @V1=="2" z=x+flip(y) if @v=="Q1(B2)" z=p2*log(abs(1-z-z^3-z^4))^@pow+p3+pixel elseif @v=="Q2(A2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3+pixel elseif @v=="Q3(B2)" z=p2*log(abs(1-z-z^2-z^3-2*z^4))^@pow+p3+pixel elseif @v=="Q8(A3)" z=p2*log(abs(1-z-2*z^2+z^5+z^6))^@pow+p3+pixel elseif @v=="Q9(A3)" z=p2*log(abs(1-z-3*z^2-z^4+z^5+3*z^6))^@pow+p3+pixel elseif @v=="Q10(B3)" z=p2*log(abs(1-z-3*z^3+z^4-z^5+z^8+2*z^9))^@pow+p3+pixel elseif @v=="Q11(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^8+z^9))^@pow+p3+pixel elseif @v=="Q12(B3)" z=p2*log(abs(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))^@pow+p3+pixel elseif @v=="Q16(G2)" z=p2*log(abs(1-2*z+z^2-z^4+z^6))^@pow+p3+pixel elseif @v=="Q17(B3)" z=p2*log(abs(1-z-z^3-2*z^5+z^6+z^8+z^9))^@pow+p3+pixel elseif @v=="Q18(G2)" z=p2*log(abs(1-2*z+z^3-z^4-z^5+2*z^6))^@pow+p3+pixel elseif @v=="Q19(B3)" z=p2*log(abs(1-z-z^3-z^4-z^5+z^6+z^8+z^9))^@pow+p3+pixel elseif @v=="Q20(G2)" z=p2*log(abs(1-2*z-2*z^5+3*z^6))^@pow+p3+pixel elseif @v=="Q21(D4)" z=p2*log(abs(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))^@pow+p3+pixel elseif @v=="Q22(B4)" z=p2*log(abs(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))^@pow+p3+pixel elseif @v=="Q23(D4)" z=p2*log(abs(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))^@pow+p3+pixel elseif @v=="Q24(G2)" z=p2*log(abs(1-z-z^5))^@pow+p3+pixel elseif @v=="Q25(B2)" z=p2*log(abs(1-z-z^3))^@pow+p3+pixel elseif @v=="Q26(A2)" z=p2*log(abs(1-z-z^2))^@pow+p3+pixel elseif @v=="Q27(B2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3+pixel elseif @v=="Q28(G2)" z=p2*log(abs(1-z-z^3-z^5))^@pow+p3+pixel elseif @v=="Q29(G2)" z=p2*log(abs(1-z-z^2-z^3-z^4-z^5))^@pow+p3+pixel elseif @v=="Q36(A3)" z=p2*log(abs(1-z-z^2+z^5))^@pow+p3+pixel elseif @v=="Q37(B3)" z=p2*log(abs(1-z-z^3+z^8))^@pow+p3+pixel elseif @v=="Q38(B3)" z=p2*log(abs(1-z-z^2-z^4+z^6+z^8))^@pow+p3+pixel elseif @v=="Q39(B3)" z=p2*log(abs(1-z-z^2-z^3+z^7+z^8))^@pow+p3+pixel elseif @v=="Q40(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^6+z^8))^@pow+p3+pixel elseif @v=="Q43(B3)" z=p2*log(abs(1-z-z^4+z^8))^@pow+p3+pixel elseif @v=="Q44(B3)" z=p2*log(abs(1-z-z^3-z^5+z^6+z^8))^@pow+p3+pixel elseif @v=="Q46(D4)" z=p2*log(abs(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))^@pow+p3+pixel elseif @v=="Q47(D5)" z=p2*log(abs(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))^@pow+p3+pixel elseif @v=="Q48(B5)" z=p2*log(abs(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))^@pow+p3+pixel elseif @v=="Pg2" z=p2*log(abs((1+z^3)*(1+z^11)))^@pow+p3+pixel elseif @v=="Pf4" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))^@pow+p3+pixel elseif @v=="Pe6" z=p2*log(abs((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))^@pow+p3+pixel elseif @v=="Pe7" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))^@pow+p3+pixel elseif @v=="Pe8" z=p2*log(abs((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))^@pow+p3+pixel endif elseif @V1=="3" z=x+flip(y) if @v=="Q1(B2)" z=pixel*p2*log(abs(1-z-z^3-z^4))^@pow+p3 elseif @v=="Q2(A2)" z=pixel*p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q3(B2)" z=pixel*p2*log(abs(1-z-z^2-z^3-2*z^4))^@pow+p3 elseif @v=="Q8(A3)" z=pixel*p2*log(abs(1-z-2*z^2+z^5+z^6))^@pow+p3 elseif @v=="Q9(A3)" z=pixel*p2*log(abs(1-z-3*z^2-z^4+z^5+3*z^6))^@pow+p3 elseif @v=="Q10(B3)" z=pixel*p2*log(abs(1-z-3*z^3+z^4-z^5+z^8+2*z^9))^@pow+p3 elseif @v=="Q11(B3)" z=pixel*p2*log(abs(1-z-2*z^3+z^4-z^5+z^8+z^9))^@pow+p3 elseif @v=="Q12(B3)" z=pixel*p2*log(abs(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))^@pow+p3 elseif @v=="Q16(G2)" z=pixel*p2*log(abs(1-2*z+z^2-z^4+z^6))^@pow+p3 elseif @v=="Q17(B3)" z=pixel*p2*log(abs(1-z-z^3-2*z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q18(G2)" z=pixel*p2*log(abs(1-2*z+z^3-z^4-z^5+2*z^6))^@pow+p3 elseif @v=="Q19(B3)" z=pixel*p2*log(abs(1-z-z^3-z^4-z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q20(G2)" z=pixel*p2*log(abs(1-2*z-2*z^5+3*z^6))^@pow+p3 elseif @v=="Q21(D4)" z=pixel*p2*log(abs(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))^@pow+p3 elseif @v=="Q22(B4)" z=pixel*p2*log(abs(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))^@pow+p3 elseif @v=="Q23(D4)" z=pixel*p2*log(abs(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))^@pow+p3 elseif @v=="Q24(G2)" z=pixel*p2*log(abs(1-z-z^5))^@pow+p3 elseif @v=="Q25(B2)" z=pixel*p2*log(abs(1-z-z^3))^@pow+p3 elseif @v=="Q26(A2)" z=pixel*p2*log(abs(1-z-z^2))^@pow+p3 elseif @v=="Q27(B2)" z=pixel*p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q28(G2)" z=pixel*p2*log(abs(1-z-z^3-z^5))^@pow+p3 elseif @v=="Q29(G2)" z=pixel*p2*log(abs(1-z-z^2-z^3-z^4-z^5))^@pow+p3 elseif @v=="Q36(A3)" z=pixel*p2*log(abs(1-z-z^2+z^5))^@pow+p3 elseif @v=="Q37(B3)" z=pixel*p2*log(abs(1-z-z^3+z^8))^@pow+p3 elseif @v=="Q38(B3)" z=pixel*p2*log(abs(1-z-z^2-z^4+z^6+z^8))^@pow+p3 elseif @v=="Q39(B3)" z=pixel*p2*log(abs(1-z-z^2-z^3+z^7+z^8))^@pow+p3 elseif @v=="Q40(B3)" z=pixel*p2*log(abs(1-z-2*z^3+z^4-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q43(B3)" z=pixel*p2*log(abs(1-z-z^4+z^8))^@pow+p3 elseif @v=="Q44(B3)" z=pixel*p2*log(abs(1-z-z^3-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q46(D4)" z=pixel*p2*log(abs(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))^@pow+p3 elseif @v=="Q47(D5)" z=pixel*p2*log(abs(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))^@pow+p3 elseif @v=="Q48(B5)" z=pixel*p2*log(abs(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))^@pow+p3 elseif @v=="Pg2" z=pixel*p2*log(abs((1+z^3)*(1+z^11)))^@pow+p3 elseif @v=="Pf4" z=pixel*p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))^@pow+p3 elseif @v=="Pe6" z=p2*log(abs((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))^@pow+p3 elseif @v=="Pe7" z=pixel*p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))^@pow+p3 elseif @v=="Pe8" z=pixel*p2*log(abs((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))^@pow+p3 endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Poincaré Polynomials 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant 1" enum="1""2""3" default=0 endparam param V caption="Variant 2" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)"\ "Pg2""Pf4""Pe6""Pe7""Pe8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PoincaréPolynomials3 { ;https://arxiv.org/pdf/0706.2563.pdf ;https://en.wikipedia.org/wiki/Betti_number init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) if @V1=="1" x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif elseif @V1=="2" if |z|<1 z=z/|z| endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y) elseif @V1=="3" x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y)+pixel if |z|<1 z=z/|z| endif elseif @V1=="4" if |z|<1 z=z/|z| endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y)+pixel elseif @V1=="5" x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y) if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @V1=="6" if real(z)<0 z=-real(z)+flip(imag(z)) endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1-1) y=y/a*p4+imag(p1-1) z=x+flip(y) elseif @V1=="7" x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y)+pixel if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @V1=="8" if real(z)<0 z=-real(z)+flip(imag(z)) endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1-0.5) y=y/a*p4+imag(p1-0.5) z=x+flip(y)+pixel endif if @v=="Q1(B2)" z=p2*log(abs(1-z-z^3-z^4))^@pow+p3 elseif @v=="Q2(A2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q3(B2)" z=p2*log(abs(1-z-z^2-z^3-2*z^4))^@pow+p3 elseif @v=="Q8(A3)" z=p2*log(abs(1-z-2*z^2+z^5+z^6))^@pow+p3 elseif @v=="Q9(A3)" z=p2*log(abs(1-z-3*z^2-z^4+z^5+3*z^6))^@pow+p3 elseif @v=="Q10(B3)" z=p2*log(abs(1-z-3*z^3+z^4-z^5+z^8+2*z^9))^@pow+p3 elseif @v=="Q11(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^8+z^9))^@pow+p3 elseif @v=="Q12(B3)" z=p2*log(abs(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))^@pow+p3 elseif @v=="Q16(G2)" z=p2*log(abs(1-2*z+z^2-z^4+z^6))^@pow+p3 elseif @v=="Q17(B3)" z=p2*log(abs(1-z-z^3-2*z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q18(G2)" z=p2*log(abs(1-2*z+z^3-z^4-z^5+2*z^6))^@pow+p3 elseif @v=="Q19(B3)" z=p2*log(abs(1-z-z^3-z^4-z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q20(G2)" z=p2*log(abs(1-2*z-2*z^5+3*z^6))^@pow+p3 elseif @v=="Q21(D4)" z=p2*log(abs(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))^@pow+p3 elseif @v=="Q22(B4)" z=p2*log(abs(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))^@pow+p3 elseif @v=="Q23(D4)" z=p2*log(abs(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))^@pow+p3 elseif @v=="Q24(G2)" z=p2*log(abs(1-z-z^5))^@pow+p3 elseif @v=="Q25(B2)" z=p2*log(abs(1-z-z^3))^@pow+p3 elseif @v=="Q26(A2)" z=p2*log(abs(1-z-z^2))^@pow+p3 elseif @v=="Q27(B2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q28(G2)" z=p2*log(abs(1-z-z^3-z^5))^@pow+p3 elseif @v=="Q29(G2)" z=p2*log(abs(1-z-z^2-z^3-z^4-z^5))^@pow+p3 elseif @v=="Q36(A3)" z=p2*log(abs(1-z-z^2+z^5))^@pow+p3 elseif @v=="Q37(B3)" z=p2*log(abs(1-z-z^3+z^8))^@pow+p3 elseif @v=="Q38(B3)" z=p2*log(abs(1-z-z^2-z^4+z^6+z^8))^@pow+p3 elseif @v=="Q39(B3)" z=p2*log(abs(1-z-z^2-z^3+z^7+z^8))^@pow+p3 elseif @v=="Q40(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q43(B3)" z=p2*log(abs(1-z-z^4+z^8))^@pow+p3 elseif @v=="Q44(B3)" z=p2*log(abs(1-z-z^3-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q46(D4)" z=p2*log(abs(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))^@pow+p3 elseif @v=="Q47(D5)" z=p2*log(abs(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))^@pow+p3 elseif @v=="Q48(B5)" z=p2*log(abs(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))^@pow+p3 elseif @v=="Pg2" z=p2*log(abs((1+z^3)*(1+z^11)))^@pow+p3 elseif @v=="Pf4" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))^@pow+p3 elseif @v=="Pe6" z=p2*log(abs((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))^@pow+p3 elseif @v=="Pe7" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))^@pow+p3 elseif @v=="Pe8" z=p2*log(abs((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Poincaré Polynomials 3" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant 1" enum="1""2""3""4""5""6""7""8" default=0 endparam param V caption="Variant 2" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)"\ "Pg2""Pf4""Pe6""Pe7""Pe8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PoincaréPolynomials4 { ;https://arxiv.org/pdf/0706.2563.pdf ;https://en.wikipedia.org/wiki/Betti_number init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) if @V1=="1" x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y) if |z|<1 z=z/|z| endif elseif @V1=="2" if |z|<1 z=z/|z| endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y) elseif @V1=="3" x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y) if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @V1=="4" if real(z)<0 z=-real(z)+flip(imag(z)) endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a*p4+real(p1-1) y=y/a*p4+imag(p1-1) z=x+flip(y) endif if @V2=="1" if @v=="Q1(B2)" z=p2*log(abs(1-z-z^3-z^4))^@pow+p3+pixel elseif @v=="Q2(A2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3+pixel elseif @v=="Q3(B2)" z=p2*log(abs(1-z-z^2-z^3-2*z^4))^@pow+p3+pixel elseif @v=="Q8(A3)" z=p2*log(abs(1-z-2*z^2+z^5+z^6))^@pow+p3+pixel elseif @v=="Q9(A3)" z=p2*log(abs(1-z-3*z^2-z^4+z^5+3*z^6))^@pow+p3+pixel elseif @v=="Q10(B3)" z=p2*log(abs(1-z-3*z^3+z^4-z^5+z^8+2*z^9))^@pow+p3+pixel elseif @v=="Q11(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^8+z^9))^@pow+p3+pixel elseif @v=="Q12(B3)" z=p2*log(abs(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))^@pow+p3+pixel elseif @v=="Q16(G2)" z=p2*log(abs(1-2*z+z^2-z^4+z^6))^@pow+p3+pixel elseif @v=="Q17(B3)" z=p2*log(abs(1-z-z^3-2*z^5+z^6+z^8+z^9))^@pow+p3+pixel elseif @v=="Q18(G2)" z=p2*log(abs(1-2*z+z^3-z^4-z^5+2*z^6))^@pow+p3+pixel elseif @v=="Q19(B3)" z=p2*log(abs(1-z-z^3-z^4-z^5+z^6+z^8+z^9))^@pow+p3+pixel elseif @v=="Q20(G2)" z=p2*log(abs(1-2*z-2*z^5+3*z^6))^@pow+p3+pixel elseif @v=="Q21(D4)" z=p2*log(abs(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))^@pow+p3+pixel elseif @v=="Q22(B4)" z=p2*log(abs(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))^@pow+p3+pixel elseif @v=="Q23(D4)" z=p2*log(abs(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))^@pow+p3+pixel elseif @v=="Q24(G2)" z=p2*log(abs(1-z-z^5))^@pow+p3+pixel elseif @v=="Q25(B2)" z=p2*log(abs(1-z-z^3))^@pow+p3+pixel elseif @v=="Q26(A2)" z=p2*log(abs(1-z-z^2))^@pow+p3+pixel elseif @v=="Q27(B2)" z=p2*log(abs(1-z-z^2-z^3))^@pow+p3+pixel elseif @v=="Q28(G2)" z=p2*log(abs(1-z-z^3-z^5))^@pow+p3+pixel elseif @v=="Q29(G2)" z=p2*log(abs(1-z-z^2-z^3-z^4-z^5))^@pow+p3+pixel elseif @v=="Q36(A3)" z=p2*log(abs(1-z-z^2+z^5))^@pow+p3+pixel elseif @v=="Q37(B3)" z=p2*log(abs(1-z-z^3+z^8))^@pow+p3+pixel elseif @v=="Q38(B3)" z=p2*log(abs(1-z-z^2-z^4+z^6+z^8))^@pow+p3+pixel elseif @v=="Q39(B3)" z=p2*log(abs(1-z-z^2-z^3+z^7+z^8))^@pow+p3+pixel elseif @v=="Q40(B3)" z=p2*log(abs(1-z-2*z^3+z^4-z^5+z^6+z^8))^@pow+p3+pixel elseif @v=="Q43(B3)" z=p2*log(abs(1-z-z^4+z^8))^@pow+p3+pixel elseif @v=="Q44(B3)" z=p2*log(abs(1-z-z^3-z^5+z^6+z^8))^@pow+p3+pixel elseif @v=="Q46(D4)" z=p2*log(abs(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))^@pow+p3+pixel elseif @v=="Q47(D5)" z=p2*log(abs(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))^@pow+p3+pixel elseif @v=="Q48(B5)" z=p2*log(abs(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))^@pow+p3+pixel elseif @v=="Pg2" z=p2*log(abs((1+z^3)*(1+z^11)))^@pow+p3+pixel elseif @v=="Pf4" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))^@pow+p3+pixel elseif @v=="Pe6" z=p2*log(abs((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))^@pow+p3+pixel elseif @v=="Pe7" z=p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))^@pow+p3+pixel elseif @v=="Pe8" z=p2*log(abs((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))^@pow+p3+pixel endif elseif @V2=="2" if @v=="Q1(B2)" z=pixel*p2*log(abs(1-z-z^3-z^4))^@pow+p3 elseif @v=="Q2(A2)" z=pixel*p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q3(B2)" z=pixel*p2*log(abs(1-z-z^2-z^3-2*z^4))^@pow+p3 elseif @v=="Q8(A3)" z=pixel*p2*log(abs(1-z-2*z^2+z^5+z^6))^@pow+p3 elseif @v=="Q9(A3)" z=pixel*p2*log(abs(1-z-3*z^2-z^4+z^5+3*z^6))^@pow+p3 elseif @v=="Q10(B3)" z=pixel*p2*log(abs(1-z-3*z^3+z^4-z^5+z^8+2*z^9))^@pow+p3 elseif @v=="Q11(B3)" z=pixel*p2*log(abs(1-z-2*z^3+z^4-z^5+z^8+z^9))^@pow+p3 elseif @v=="Q12(B3)" z=pixel*p2*log(abs(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))^@pow+p3 elseif @v=="Q16(G2)" z=pixel*p2*log(abs(1-2*z+z^2-z^4+z^6))^@pow+p3 elseif @v=="Q17(B3)" z=pixel*p2*log(abs(1-z-z^3-2*z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q18(G2)" z=pixel*p2*log(abs(1-2*z+z^3-z^4-z^5+2*z^6))^@pow+p3 elseif @v=="Q19(B3)" z=pixel*p2*log(abs(1-z-z^3-z^4-z^5+z^6+z^8+z^9))^@pow+p3 elseif @v=="Q20(G2)" z=pixel*p2*log(abs(1-2*z-2*z^5+3*z^6))^@pow+p3 elseif @v=="Q21(D4)" z=pixel*p2*log(abs(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))^@pow+p3 elseif @v=="Q22(B4)" z=pixel*p2*log(abs(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))^@pow+p3 elseif @v=="Q23(D4)" z=pixel*p2*log(abs(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))^@pow+p3 elseif @v=="Q24(G2)" z=pixel*p2*log(abs(1-z-z^5))^@pow+p3 elseif @v=="Q25(B2)" z=pixel*p2*log(abs(1-z-z^3))^@pow+p3 elseif @v=="Q26(A2)" z=pixel*p2*log(abs(1-z-z^2))^@pow+p3 elseif @v=="Q27(B2)" z=pixel*p2*log(abs(1-z-z^2-z^3))^@pow+p3 elseif @v=="Q28(G2)" z=pixel*p2*log(abs(1-z-z^3-z^5))^@pow+p3 elseif @v=="Q29(G2)" z=pixel*p2*log(abs(1-z-z^2-z^3-z^4-z^5))^@pow+p3 elseif @v=="Q36(A3)" z=pixel*p2*log(abs(1-z-z^2+z^5))^@pow+p3 elseif @v=="Q37(B3)" z=pixel*p2*log(abs(1-z-z^3+z^8))^@pow+p3 elseif @v=="Q38(B3)" z=pixel*p2*log(abs(1-z-z^2-z^4+z^6+z^8))^@pow+p3 elseif @v=="Q39(B3)" z=pixel*p2*log(abs(1-z-z^2-z^3+z^7+z^8))^@pow+p3 elseif @v=="Q40(B3)" z=pixel*p2*log(abs(1-z-2*z^3+z^4-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q43(B3)" z=pixel*p2*log(abs(1-z-z^4+z^8))^@pow+p3 elseif @v=="Q44(B3)" z=pixel*p2*log(abs(1-z-z^3-z^5+z^6+z^8))^@pow+p3 elseif @v=="Q46(D4)" z=pixel*p2*log(abs(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))^@pow+p3 elseif @v=="Q47(D5)" z=pixel*p2*log(abs(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))^@pow+p3 elseif @v=="Q48(B5)" z=pixel*p2*log(abs(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))^@pow+p3 elseif @v=="Pg2" z=pixel*p2*log(abs((1+z^3)*(1+z^11)))^@pow+p3 elseif @v=="Pf4" z=pixel*p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))^@pow+p3 elseif @v=="Pe6" z=p2*log(abs((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))^@pow+p3 elseif @v=="Pe7" z=pixel*p2*log(abs((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))^@pow+p3 elseif @v=="Pe8" z=pixel*p2*log(abs((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))^@pow+p3 endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Poincaré Polynomials 4" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant 1" enum="1""2""3""4" default=0 endparam param V2 caption="Variant 2" enum="1""2" default=0 endparam param V caption="Variant 3" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)"\ "Pg2""Pf4""Pe6""Pe7""Pe8" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Gnarlathotep3 { init: float x=real(fn1(pixel)/@r) float y=imag(fn1(pixel)/@r) float a=0.0 int i=0 loop: while i<@iter i=i+1 a=x if @v=="1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="2" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @v=="3" x=x-p3*real(sin(y+sin(p1*(y+cos(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+cos(p2*a)))))/10 elseif @v=="4" x=x-p3*real(sin(y+sin(p1*(y+tanh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+tanh(p2*a)))))/10 elseif @v=="5" x=x-p3*real(sin(y+sin(p1*(y+atan(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+atan(p2*a)))))/10 elseif @v=="6" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @v=="7" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @v=="8" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @v=="9" x=x-p3*real(sin(y+cos(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+cos(p1*(a+sin(p2*a)))))/10 elseif @v=="10" x=x-p3*real(sin(y+atanh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+atanh(p1*(a+sin(p2*a)))))/10 elseif @v=="11" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 elseif @v=="12" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @v=="13" x=x-p3*real(cos(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(cos(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="14" x=x-p3*real(acosh(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(acosh(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="15" x=x-p3*real(cos(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="16" x=x-p3*real(cos(y+cos(p1*(y+sin(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+sin(p2*a)))))/10 elseif @v=="17" x=x-p3*real(cos(y+cos(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+asinh(p2*a)))))/10 elseif @v=="18" x=x-p3*real(cos(y+cos(p1*(y+tanh(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+tanh(p2*a)))))/10 elseif @v=="19" x=x-p3*real(cos(y+cos(p1*(y+atan(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+atan(p2*a)))))/10 elseif @v=="20" x=x-p3*real(cos(y+cos(p1*(y+abs(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+abs(p2*a)))))/10 elseif @v=="21" x=x-p3*real(cos(y+cos(p1*(y+recip(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+recip(p2*a)))))/10 elseif @v=="22" x=x-p3*real(cos(y+sin(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+sin(p1*(a+cos(p2*a)))))/10 elseif @v=="23" x=x-p3*real(cos(y+asinh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+asinh(p1*(a+cos(p2*a)))))/10 elseif @v=="24" x=x-p3*real(cos(y+acosh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+acosh(p1*(a+cos(p2*a)))))/10 elseif @v=="25" x=x-p3*real(cos(y+tanh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+tanh(p1*(a+cos(p2*a)))))/10 elseif @v=="26" x=x-p3*real(cos(y+atan(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+atan(p1*(a+cos(p2*a)))))/10 elseif @v=="27" x=x-p3*real(cos(y+sqrt(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+sqrt(p1*(a+cos(p2*a)))))/10 elseif @v=="28" x=x-p3*real(cos(y+abs(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+abs(p1*(a+cos(p2*a)))))/10 elseif @v=="29" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @v=="30" x=x-p3*real(sin(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(sin(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="31" x=x-p3*real(asin(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(asin(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="32" x=x-p3*real(asinh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(asinh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="33" x=x-p3*real(acosh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(acosh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="34" x=x-p3*real(tanh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(tanh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="35" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 endif if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Gnarlathotep 3" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26""27""28""29"\ "30""31""32""33""34""35" default=0 endparam param p1 caption="Parameter 1" default=5.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc param V1 caption="Function 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam func fn2 caption="Function 3" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param bail caption="Bailout" default=10000000.0 endparam } Gnarlathotep4 { init: float x=real(fn1(pixel)/@r) float y=imag(fn1(pixel)/@r) float a=0 int i=0 loop: while i<@iter i=i+1 if @V1=="1" float b=x^2+y^2 x=x/b*p6+real(p1/10) y=y/b*p6+imag(p1/10) a=x elseif @V1=="2" if x-y<0 float k=y y=x x=k endif float b=x^2+y^2 x=x/b*p6+real(p1/10) y=y/b*p6+imag(p1/10) a=x endif if @v=="1" x=x-p4*real(sin(y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+sin(p3*a)))))/10 elseif @v=="2" x=x-p4*real(sin(y+sin(p2*(y+asinh(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+asinh(p3*a)))))/10 elseif @v=="3" x=x-p4*real(sin(y+sin(p2*(y+sinh(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+sinh(p3*a)))))/10 elseif @v=="4" x=x-p4*real(sin(y+sin(p2*(y+tanh(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+tanh(p3*a)))))/10 elseif @v=="5" x=x-p4*real(sin(y+sin(p2*(y+atan(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+atan(p3*a)))))/10 elseif @v=="6" x=x-p4*real(sin(y+sin(p2*(y+abs(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+abs(p3*a)))))/10 elseif @v=="7" x=x-p4*real(sin(y+sin(p2*(y+(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+(p3*a)))))/10 elseif @v=="8" x=x-p4*real(sin(y+asinh(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sin(a+asinh(p2*(a+sin(p3*a)))))/10 elseif @v=="9" x=x-p4*real(sin(y+cos(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sin(a+cos(p2*(a+sin(p3*a)))))/10 elseif @v=="10" x=x-p4*real(sin(y+ceil(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sin(a+ceil(p2*(a+sin(p3*a)))))/10 elseif @v=="11" x=x-p4*real(sin(y+abs(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sin(a+abs(p2*(a+sin(p3*a)))))/10 elseif @v=="12" x=x-p4*real(sin(y+(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sin(a+(p2*(a+sin(p3*a)))))/10 elseif @v=="13" x=x-p4*real(asin(y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real(asin(a+sin(p2*(a+sin(p3*a)))))/10 elseif @v=="14" x=x-p4*real(asinh(y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real(asinh(a+sin(p2*(a+sin(p3*a)))))/10 elseif @v=="15" x=x-p4*real(cos(y+cos(p2*(y+cos(p3*y)))))/10 y=y+p4*real(cos(a+cos(p2*(a+cos(p3*a)))))/10 elseif @v=="16" x=x-p4*real(cos(y+abs(p2*(y+cos(p3*y)))))/10 y=y+p4*real(cos(a+abs(p2*(a+cos(p3*a)))))/10 elseif @v=="17" x=x-p4*real(cos(y+(p2*(y+cos(p3*y)))))/10 y=y+p4*real(cos(a+(p2*(a+cos(p3*a)))))/10 elseif @v=="18" x=x-p4*real(cos(y+abs(p2*(y+abs(p3*y)))))/10 y=y+p4*real(cos(a+abs(p2*(a+abs(p3*a)))))/10 elseif @v=="19" x=x-p4*real(log(y+cos(p2*(y+cos(p3*y)))))/10 y=y+p4*real(log(a+cos(p2*(a+cos(p3*a)))))/10 elseif @v=="20" x=x-p4*real(sin(y+abs(p2*(y+abs(p3*y)))))/10 y=y+p4*real(sin(a+abs(p2*(a+abs(p3*a)))))/10 elseif @v=="21" x=x-p4*real(sin(y+abs(p2*(y+(p3*y)))))/10 y=y+p4*real(sin(a+abs(p2*(a+(p3*a)))))/10 elseif @v=="22" x=x-p4*real(sin(y+abs(p2*(y+asinh(p3*y)))))/10 y=y+p4*real(sin(a+abs(p2*(a+asinh(p3*a)))))/10 elseif @v=="23" x=x-p4*real(sin(y+abs(p2*(y+tanh(p3*y)))))/10 y=y+p4*real(sin(a+abs(p2*(a+tanh(p3*a)))))/10 elseif @v=="24" x=x-p4*real(sin(y+(p2*(y+abs(p3*y)))))/10 y=y+p4*real(sin(a+(p2*(a+abs(p3*a)))))/10 elseif @v=="25" x=x-p4*real(sin(y+cos(p2*(y+asinh(p3*y)))))/10 y=y+p4*real(sin(a+cos(p2*(a+asinh(p3*a)))))/10 elseif @v=="26" x=x-p4*real(sin(y+cos(p2*(y+tan(p3*y)))))/10 y=y+p4*real(sin(a+cos(p2*(a+tan(p3*a)))))/10 elseif @v=="27" x=x-p4*real(sin(y+cos(p2*(y+tanh(p3*y)))))/10 y=y+p4*real(sin(a+cos(p2*(a+tanh(p3*a)))))/10 elseif @v=="28" x=x-p4*real(sin(y+cos(p2*(y+exp(p3*y)))))/10 y=y+p4*real(sin(a+cos(p2*(a+exp(p3*a)))))/10 elseif @v=="29" x=x-p4*real(sin(y+cos(p2*(y+abs(p3*y)))))/10 y=y+p4*real(sin(a+cos(p2*(a+abs(p3*a)))))/10 elseif @v=="30" x=x-p4*real(sin(y+cos(p2*(y+(p3*y)))))/10 y=y+p4*real(sin(a+cos(p2*(a+(p3*a)))))/10 elseif @v=="31" x=x-p4*real((y+cos(p2*(y+sin(p3*y)))))/10 y=y+p4*real((a+cos(p2*(a+sin(p3*a)))))/10 elseif @v=="32" x=x-p4*real(sin(y+sin(p2*(y+tan(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+tan(p3*a)))))/10 elseif @v=="33" x=x-p4*real(sin(y+sin(p2*(y+sqr(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+sqr(p3*a)))))/10 elseif @v=="34" x=x-p4*real(sin(y+sin(p2*(y+exp(p3*y)))))/10 y=y+p4*real(sin(a+sin(p2*(a+exp(p3*a)))))/10 elseif @v=="35" x=x-p4*real(tanh(y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real(tanh(a+sin(p2*(a+sin(p3*a)))))/10 elseif @v=="36" x=x-p4*real(sqrt(y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sqrt(a+sin(p2*(a+sin(p3*a)))))/10 elseif @v=="37" x=x-p4*real(log(y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real(log(a+sin(p2*(a+sin(p3*a)))))/10 elseif @v=="38" x=x-p4*real((y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real((a+sin(p2*(a+sin(p3*a)))))/10 elseif @v=="39" x=x-p4*real(round(y+sin(p2*(y+sin(p3*y)))))/10 y=y+p4*real(round(a+sin(p2*(a+sin(p3*a)))))/10 endif if @V2=="ident" z=(fn2(x+flip(y)))^@pow+p5 elseif @V2=="exp" z=exp(fn2(x+flip(y)))^@pow+p5 elseif @V2=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p5 elseif @V2=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p5 elseif @V2=="tan" z=tan(fn2(x+flip(y)))^@pow+p5 elseif @V2=="acos" z=acos(fn2(x+flip(y)))^@pow+p5 elseif @V2=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p5 elseif @V2=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p5 elseif @V2=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p5 elseif @V2=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p5 elseif @V2=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p5 elseif @V2=="log log" z=log(log(fn2(x+flip(y))))^@pow+p5 elseif @V2=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p5 elseif @V2=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p5 elseif @V2=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p5 elseif @V2=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p5 elseif @V2=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p5 endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Gnarlathotep 4" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 param V1 caption="Variant 1" enum="1""2" default=0 endparam param V caption="Variant 2" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26""27""28""29"\ "30""31""32""33""34""35""36""37""38""39" default=0 endparam param p1 default=(0,0) endparam param p2 caption="Parameter 2" default=5.0 endparam param p3 caption="Parameter 3" default=2.0 endparam param p4 caption="Parameter 4" default=0.3 endparam param p5 default=(0,0) endparam param p6 caption="Parameter 6" default=1.0 endparam func fn1 default=ident() endfunc param V2 caption="Function 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam func fn2 caption="Function 3" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param bail caption="Bailout" default=10000000.0 endparam } Lif2 { ;https://carma.newcastle.edu.au/alfcon/pdfs/Takao_Komatsu-alfcon.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(cotan(fn3(z))) if |z|<1 z=z/|z| endif x=real(z)+real(p5) y=imag(z)+imag(p5) a=x^2+y^2 x=x/a*p4+real(p1) y=y/a*p4+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs((1+z)*exp(z)))^@pow+p3+pixel elseif @v=="2" z=p2*log(abs((1+3*z+z^2)*exp(z)))^@pow+p3+pixel elseif @v=="3" z=p2*log(abs((1+7*z+6*z^2+z^3)*exp(z)))^@pow+p3+pixel elseif @v=="4" z=p2*log(abs((1+15*z+25*z^2+10*z^3+z^4)*exp(z)))^@pow+p3+pixel elseif @v=="5" z=p2*log(abs((1+31*z+90*z^2+65*z^3+15*z^4+z^5)*exp(z)))^@pow+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Lif 2" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 caption="Parameter 4" default=1.0 endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Cornpop { ;A modification of Clifford Pickover's Popcorn formula init: z=fn1(pixel)/@S int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p6*z+@p7 elseif @V=="2" z=p6*recip(z)+@p7 a=real(z) b=imag(z) c=a^2+b^2 a=a/c+real(@p8) b=b/c+imag(@p8) z=a+flip(b) elseif @V=="3" z=p6*recip(z)+@p7 a=abs(real(z)) b=abs(imag(z)) c=a^2+b^2 a=a/c+real(@p8) b=b/c+imag(@p8) z=a+flip(b) endif x=p5*real(z)-p1*sin(imag(z)+sinh(flip(p4)*imag(z))) y=p5*imag(z)-p1*sin(real(z)+sinh(flip(p4)*real(z))) z=p2*fn2(conj(abs(fn3(x+flip(y)))))+p3 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Cornpop" center=(0.001,0.001) magn=0.125 maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 caption="Parameter 4" default=1.0 endparam param p5 caption="Parameter 5" default=1.0 endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(0,0) endparam param p8 caption="Parameter 8" default=(0,0) visible=@V=="2" || @V=="3" endparam param S caption="Scale" default=1.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=2 endparam param adj caption="Adjustment" default=102.00 endparam param bail caption="Bailout" default=10000000.0 endparam } AwunonIxatrisep3 { ;http://oeis.org/A196837 init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V1=="1" z=fn2(recip(sqr(fn3(z)))) elseif @V1=="2" z=fn2(recip(cos(fn3(z)))) elseif @V1=="3" z=fn2(recip(cosh(fn3(z)))) elseif @V1=="4" z=fn2(recip(sin(fn3(z)))) elseif @V1=="5" z=fn2(recip(sinh(fn3(z)))) endif x=real(z)+real(p6) y=imag(z)+imag(p6) a=x^2+y^2 x=x/a*(real(@p7)+flip(imag(0.1*@p7)))+real(p1) y=y/a*(real(@p7)+flip(imag(0.1*@p7)))+imag(p1) z=p4*(x+flip(y)) if @v=="3" z=p2*log(sqr((4*z^3-30*z^2+70*z-50+(p5*50))/50))^@pow+p3+pixel elseif @v=="4" z=p2*log(sqr((5*z^4-60*z^3+255*z^2-450*z+274+(p5*274))/274))^@pow+p3+pixel elseif @v=="5" z=p2*log(sqr((6*z^5-105*z^4+700*z^3-2205*z^2++3248*z-1764+(p5*1764))/1764))^@pow+p3+pixel elseif @v=="6" z=p2*log(sqr((7*z^6-168*z^5+1610*z^4-7840*z^3+20307*z^2-26264*z+13068+(p5*13068))/13068))^@pow+p3+pixel elseif @v=="7" z=p2*log(sqr((8*z^7-252*z^6+3276*z^5+-22680*z^4+89796*z^3-201852*z^2+236248*z-109584+(p5*109584))/109584))^@pow+p3+pixel elseif @v=="8" z=p2*log(sqr((9*z^8-360*z^7+6090*z^6-56700*z^5+316365*z^4-1077300*z^3+2171040*z^2-2345400*z+1026576+(p5*1026576))/1026576))^@pow+p3+pixel elseif @v=="9" z=p2*log(sqr((10*z^9-495*z^8+10560*z^7-127050*z^6+946638*z^5-4510275*z^4+13667720*z^3-25228500*z^2+25507152*z-10628640+(p5*10628640))/10628640))^@pow+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Awunon Ixatrisep 3" center=(0.001,0.001) magn=0.5 maxiter=500 periodicity=0 param V1 caption="Variant 1" enum="1""2""3""4""5" default=0 endparam param V caption="Variant 2" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam param p6 default=(0,0) endparam param p7 caption="Parameter 7" default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=2 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Conambocosism4 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*(log(abs(sqr(exp(fn4((p4-log(z)^@pow-(z+3*pi/2))/z))))))+p3+pixel endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Conambocosism 4" center=(0.001,0.001) maxiter=500 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.00 endparam param bail caption="Bailout" default=10000000.0 endparam } Conambocosism5 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(sqr(fn3(z)))) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="1" z=p2*(log(abs(sqr(fn4((p4-log(cabs(z))^@pow-(z+3*pi/2)*sqrt(-1))/z)^(1-2*sqrt(-1))))))+p3 elseif @V=="2" z=p2*(log(abs(sqr(fn4((p4-log(cabs(z))^@pow-(z+3*pi/2)*sqrt(-1))/z)^sqrt(-1)))))+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bailout default: title="Conambocosism 5" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.00 endparam param bailout caption="Bailout" default=10000000.0 endparam } Burniffalo { ;Uses idea from this Fractal Forums post: ;http://www.fractalforums.com/new-theories-and-research/swap-functions/ init: z=fn1(pixel) loop: z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a y=y/a z=(x+flip(y))^2-(x+flip(y))+p2 if real(z)imag(z) z=flip(z) endif elseif @V1=="3" z=(x+flip(y))^2+(x+flip(y))+fn3(pixel) if real(z)imag(z) z=flip(z) endif endif if @v=="4" z=fn3(pixel)*p2*log(log(abs(6*z^4-6*z^2+1)))^@pow+p3 elseif @v=="6" z=p2*log(log(abs(20*z^6-30*z^4+12*z^2-1)))^@pow+p3 elseif @v=="8" z=p2*log(log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1)))^@pow+p3 elseif @v=="10" z=p2*log(log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1)))^@pow+p3 elseif @v=="12" z=p2*log(log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1)))^@pow+p3 elseif @v=="14" z=p2*log(log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1)))^@pow+p3 elseif @v=="16" z=p2*log(log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1)))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 10" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant" enum="1""2""3""4" default=0 endparam param V caption="Polynomial" enum="4""6""8""10""12""14""16" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials8 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p4) y=y/a+imag(p4) if @V1=="1" z=(x+flip(y))^2-(x+flip(y)) if real(z)imag(z) z=flip(z) endif elseif @V1=="3" z=(x+flip(y))^2+(x+flip(y)) if real(z)imag(z) z=flip(z) endif endif if @v=="4" z=p2*log(log(abs(6*z^4-6*z^2+1)))^@pow+p3 elseif @v=="6" z=p2*log(log(abs(20*z^6-30*z^4+12*z^2-1)))^@pow+p3 elseif @v=="8" z=p2*log(log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1)))^@pow+p3 elseif @v=="10" z=p2*log(log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1)))^@pow+p3 elseif @v=="12" z=p2*log(log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1)))^@pow+p3 elseif @v=="14" z=p2*log(log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1)))^@pow+p3 elseif @v=="16" z=p2*log(log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1)))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 8" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V1 caption="Variant" enum="1""2""3""4" default=0 endparam param V caption="Polynomial" enum="4""6""8""10""12""14""16" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials9 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a+real(p4) y=y/a+imag(p4) if @V1=="1" z=(x+flip(y))^2-(x+flip(y)) if real(z)imag(z) z=flip(z) endif elseif @V1=="3" z=(x+flip(y))^2+(x+flip(y)) if real(z)imag(z) z=flip(z) endif endif if @v=="4" z=p2*log(log(abs(6*z^4-6*z^2+1)))^@pow+p3+fn3(pixel) elseif @v=="6" z=p2*log(log(abs(20*z^6-30*z^4+12*z^2-1)))^@pow+p3+fn3(pixel) elseif @v=="8" z=p2*log(log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1)))^@pow+p3+fn3(pixel) elseif @v=="10" z=p2*log(log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1)))^@pow+p3+fn3(pixel) elseif @v=="12" z=p2*log(log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1)))^@pow+p3+fn3(pixel) elseif @v=="14" z=p2*log(log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1)))^@pow+p3+fn3(pixel) elseif @v=="16" z=p2*log(log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1)))^@pow+p3+fn3(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 9" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V1 caption="Variant" enum="1""2""3""4" default=0 endparam param V caption="Polynomial" enum="4""6""8""10""12""14""16" default=3 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials11 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z)+real(p2) y=imag(z)+imag(p2) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V1=="1" z=(x+flip(y))^3-(x+flip(y)) if real(z)imag(z) z=flip(z) endif endif elseif @V4=="2" if |z|<1 z=z/|z| endif x=real(z)+real(p2) y=imag(z)+imag(p2) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V1=="1" z=p5*((x+flip(y))^2-(x+flip(y)))+p6 elseif @V1=="2" z=p5*((x+flip(y))^3-(x+flip(y)))+p6 elseif @V1=="3" z=p5*((x+flip(y))^3-(x+flip(y))^2)+p6 elseif @V1=="4" z=p5*((x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1)))+p6 elseif @V1=="5" z=(x+flip(y))-p5*(((x+flip(y))^3-1)/(3*(x+flip(y))^2))+p6 endif if @V2=="1" if real(z)imag(z) z=flip(z) endif endif elseif @V4=="3" x=real(z)+real(p2) y=imag(z)+imag(p2) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V1=="1" z=p5*((x+flip(y))^2-(x+flip(y)))+p6 elseif @V1=="2" z=p5*((x+flip(y))^3-(x+flip(y)))+p6 elseif @V1=="3" z=p5*((x+flip(y))^3-(x+flip(y))^2)+p6 elseif @V1=="4" z=p5*((x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1)))+p6 elseif @V1=="5" z=(x+flip(y))-p5*(((x+flip(y))^3-1)/(3*(x+flip(y))^2))+p6 endif if @V2=="1" if real(z)imag(z) z=flip(z) endif endif if |z|<1 z=z/|z| endif endif if @V3=="1" z=p3*fn3(log(abs(fn4((3*z^4+2*z^3+3*z^2+z+2)/2))))^@pow+p4 elseif @V3=="2" z=p3*fn3(log(log(abs(fn4((3*z^4+2*z^3+3*z^2+z+2)/2)))))^@pow+p4 elseif @V3=="3" z=p3*fn3(log(log(log(abs(fn4((3*z^4+2*z^3+3*z^2+z+2)/2))))))^@pow+p4 elseif @V3=="4" z=p3*fn3(log(log(log(log(abs(fn4((3*z^4+2*z^3+3*z^2+z+2)/2)))))))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Lominapoly" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V1 caption="Variant 1" enum="1""2""3""4""5" default=0 endparam param V2 caption="Variant 2" enum="1""2" default=0 endparam param V3 caption="Variant 3" enum="1""2""3""4" default=0 endparam param V4 caption="Variant 4" enum="1""2""3" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Lominapoly2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z)+real(p2) y=imag(z)+imag(p2) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V1=="1" z=p5*((x+flip(y))^2-(x+flip(y)))+p6 elseif @V1=="2" z=p5*((x+flip(y))^3-(x+flip(y)))+p6 elseif @V1=="3" z=p5*((x+flip(y))^3-(x+flip(y))^2)+p6 elseif @V1=="4" z=p5*((x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1)))+p6 elseif @V1=="5" z=(x+flip(y))-p5*(((x+flip(y))^3-1)/(3*(x+flip(y))^2))+p6 endif if @V2=="1" if real(z)imag(z) z=flip(z) endif endif if @V4=="2" if |z|<1 z=z/|z| endif else z=z endif if @V3=="1" z=p3*fn3(log(abs(fn4(z-@p7*(z^3-1)/(3*z^2)))))^@pow+p4 elseif @V3=="2" z=p3*fn3(log(log(abs(fn4(z-@p7*(z^3-1)/(3*z^2))))))^@pow+p4 elseif @V3=="3" z=p3*fn3(log(log(log(abs(fn4(z-@p7*(z^3-1)/(3*z^2)))))))^@pow+p4 elseif @V3=="4" z=p3*fn3(log(log(log(log(abs(fn4(z-@p7*(z^3-1)/(3*z^2))))))))^@pow+p4 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Lominapoly 2" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V1 caption="Variant 1" enum="1""2""3""4""5" default=0 endparam param V2 caption="Variant 2" enum="1""2" default=0 endparam param V3 caption="Variant 3" enum="1""2""3""4" default=0 endparam param V4 caption="Variant 4" enum="1""2" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam param p7 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Nuctafi { init: z=fn1(pixel) int i=0 loop: if @V2=="1" while i<@iter i=i+1 z=fn2(z) x=real(z)+real(p2) y=imag(z)+imag(p2) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V1=="1" z=(x+flip(y))^2-(x+flip(y))+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="2" z=p6*(x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1))+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="4" z=(x+flip(y))-p6*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="2" z=p6*(x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1))+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="4" z=(x+flip(y))-p6*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="2" z=p6*(x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1))+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="4" z=(x+flip(y))-p6*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="2" z=(x+flip(y))-p2*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="4" z=(x+flip(y))-p2*((x+flip(y))^4-1)/(4*(x+flip(y))^3)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="2" z=(x+flip(y))-p2*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="4" z=(x+flip(y))-p2*((x+flip(y))^4-1)/(4*(x+flip(y))^3)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="2" z=(x+flip(y))-p2*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 if real(z)imag(z) z=flip(z) endif elseif @V1=="4" z=(x+flip(y))-p2*((x+flip(y))^4-1)/(4*(x+flip(y))^3)+p5 if real(z)1 z=z/|z| endif elseif @V1=="2" if |z|<1 z=z/|z| endif endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V2=="1" z=p5*(x+flip(y))+p6 elseif @V2=="2" z=p5*(x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1))-1+p6 elseif @V2=="3" z=x+flip(y)-p5*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p6 elseif @V2=="4" z=p5*((x+flip(y))^2-(x+flip(y)))+p6 elseif @V2=="5" z=p5*((x+flip(y))^3-(x+flip(y))^2)+p6 elseif @V2=="6" z=p5*((x+flip(y))^3-(x+flip(y))^2-(x+flip(y)))+p6 elseif @V2=="7" z=(x+flip(y))^2*(x+flip(y)-(p5+1))/(1-(p5+1)*(x+flip(y)))+p6 endif z=p2*fn3(log(abs(sqr(exp(fn4((p4-log(z)^@pow-(z+3*pi/2))/z))))))+p3+@fn5(pixel) endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Conambocosism 6" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant 1" enum="1""2" default=0 endparam param V2 caption="Variant 2" enum="1""2""3""4""5""6""7" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.00 endparam param bail caption="Bailout" default=10000000.0 endparam } CayleyMod { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V2=="2" if |z|>1 z=z/|z| endif elseif @V2=="3" if |z|<1 z=z/|z| endif endif x=real(z)+real(p6) y=imag(z)+imag(p6) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V1=="1" z=p4*(x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1))+p5 elseif @V1=="2" z=p4*(x+flip(y)+sqrt(-1))/(x+flip(y)-sqrt(-1))+p5 elseif @V1=="3" z=p4*((x+flip(y))^2-(x+flip(y)))+p5 elseif @V1=="4" z=p4*((x+flip(y))^3-(x+flip(y)))+p5 elseif @V1=="5" z=p4*((x+flip(y))^3-(x+flip(y))^2)+p5 elseif @V1=="6" z=p4*((x+flip(y))^3-(x+flip(y))^2-(x+flip(y)))+p5 elseif @V1=="7" z=p4*recip((x+flip(y))^2-(x+flip(y)))+p5 elseif @V1=="8" z=p4*((2-sqrt(-1))*(x+flip(y))-1)/(-(x+flip(y))+(2+sqrt(-1)))+p5 elseif @V1=="9" z=p4*(-sqrt(-1)*(x+flip(y))+1)/((x+flip(y))-sqrt(-1))+p5 elseif @V1=="10" z=p4*conj(flip(p4/(x+flip(y)-p5)))+p5 elseif @V1=="11" z=p4*conj(sqr(p4/(x+flip(y)-p5)))+p5 elseif @V1=="12" z=p4*((x+flip(y))^2+pixel)+p5 elseif @V1=="13" z=(x+flip(y))-p4*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 elseif @V1=="14" z=(x+flip(y))-p4*((x+flip(y))^4-1)/(4*(x+flip(y))^3)+p5-1 elseif @V1=="15" z=(x+flip(y))^2*((x+flip(y))-(p4-0.5))/(1-(p4-0.5)*(x+flip(y)))+p5 elseif @V1=="16" z=(x+flip(y))/(p4*sqrt(-1)*(x+flip(y))+1)+p5 elseif @V1=="17" z=-p4*(x+flip(y))^2+p5 elseif @V1=="18" z=p4*((x+flip(y))+1/((x+flip(y))+1/((x+flip(y))+1/((x+flip(y))))))+p5 elseif @V1=="19" z=p4*((x+flip(y))^3+(p5-1)*(x+flip(y))-p5) elseif @V1=="20" z=(x+flip(y))-p4*((x+flip(y))^2-1)/(2*(x+flip(y)))+p5 elseif @V1=="21" z=p4*sqr(((x+flip(y))^2+p5-1)/(2*(x+flip(y))+p5-2)) elseif @V1=="22" z=p4*sqr(((x+flip(y))^3+3*(p5-1)*(x+flip(y))+(p5-1)*(p5-2))/(3*(x+flip(y))^2+3*(p5-2)*(x+flip(y))+(p5-1)*(p5-2)+1)) endif if @V3=="1" if real(z)imag(z) z=flip(z) endif endif z=p2*fn3(log(abs(fn4((z-sqrt(-1))/(z+sqrt(-1))))))^@pow+p3 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Cayley Mod" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant 1" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18""19""20""21""22" default=0 endparam param V2 caption="Variant 2" enum="1""2""3" default=0 endparam param V3 caption="Variant 3" enum="1""2" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam param p6 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } BofnewtMod { init: z=fn1(recip(pixel)) int i=0 loop: while i<@iter i=i+1 x=real(z)+real(p4) y=imag(z)+imag(p4) k=x^2+y^2 x=x/k+real(p3) y=y/k+imag(p3) if @V1=="1" z=p6*(x+flip(y))+@p7 elseif @V1=="2" z=p6*((x+flip(y))^2-(x+flip(y)))+@p7 elseif @V1=="3" z=p6*((x+flip(y))^3-(x+flip(y)))+@p7 elseif @V1=="4" z=p6*(x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1))+@p7 elseif @V1=="5" z=p6*(x+flip(y)+sqrt(-1))/(x+flip(y)-sqrt(-1))+@p7 elseif @V1=="6" z=(x+flip(y))-p6*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+@p7 elseif @V1=="7" z=(x+flip(y))-p6*((x+flip(y))^4-1)/(4*(x+flip(y))^3)+@p7 elseif @V1=="8" z=p6*(x+flip(y))^2+@p7 elseif @V1=="9" z=p6*conj(p6/(x+flip(y)-@p7))+@p7 elseif @V1=="10" z=p6*conj(x+flip(y))/(conj(x+flip(y))^2-1)+@p7 elseif @V1=="11" z=p6*conj(x+flip(y))^2/(conj(x+flip(y))^3-1)+@p7 elseif @V1=="12" z=p6*(-sqrt(-1)*(x+flip(y))+1)/((x+flip(y))-sqrt(-1))+@p7 elseif @V1=="13" z=(p6*(x+flip(y))+@p7+0.5)/(conj(@p7+0.5)*(x+flip(y))+conj(p6)) elseif @V1=="14" z=@p7+p6*((x+flip(y))-@p7)/(|(x+flip(y))-@p7|) elseif @V1=="15" z=(x+flip(y))^2*((x+flip(y))-(p6+1))/(1-(p6+1)*(x+flip(y)))+@p7 elseif @V1=="16" z=p6*sqr(((x+flip(y))^2+@p7-1)/(2*(x+flip(y))+@p7-2)) elseif @V1=="17" z=p6*sqr(((x+flip(y))^3+3*(@p7-1)*(x+flip(y))+(@p7-1)*(@p7-2))/(3*(x+flip(y))^2+3*(@p7-2)*(x+flip(y))+(@p7-1)*(@p7-2)+1)) endif if @V2=="2" if |z|<1 z=z/|z| endif elseif @V2=="3" if |z|>1 z=z/|z| endif endif if @V3=="2" if real(z)imag(z) z=flip(z) endif endif a=p1*fn2(z) b=a^2 c=a^3 d=a^4 z=fn3(log(abs(fn4(z-((d-c*0.5+b*0.5-a*0.5-0.5)/((c*4-b*1.5+a-0.5)+p2))))))^@pow+p5 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Bofnewt Mod" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant 1" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17" default=0 endparam param V2 caption="Variant 2" enum="1""2""3" default=0 endparam param V3 caption="Variant 3" enum="1""2""3" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Mackey-Glass3 { ;http://www.scholarpedia.org/article/Mackey-Glass_equation init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V1=="2" x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p5) y=y/a+imag(p5) z=x+flip(y) endif if @V2=="2" if |z|<1 z=z/|z| endif elseif @V2=="3" if |z|>1 z=z/|z| endif endif z=p3*fn3(p1*z/(1+z^@pow)-p2*z)+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mackey-Glass 3" center=(0.001,0.001) periodicity=0 param V1 caption="Variant 1" enum="1""2" default=0 endparam param V2 caption="Variant 2" enum="1""2""3" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) visible=@V1=="2" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=3 endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=103.0 endparam param bail caption="Bailout" default=4.0 endparam } Mackey-Glass4 { ;http://www.scholarpedia.org/article/Noninvertibility init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V1=="2" x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p5) y=y/a+imag(p5) z=x+flip(y) endif if @V2=="2" if |z|<1 z=z/|z| endif elseif @V2=="3" if |z|>1 z=z/|z| endif endif z=p3*fn3((p1*z*p2^@pow)/(p2^@pow+z^@pow))+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mackey-Glass 4" center=(0.001,0.001) periodicity=0 param V1 caption="Variant 1" enum="1""2" default=0 endparam param V2 caption="Variant 2" enum="1""2""3" default=0 endparam param p1 default=(2,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) visible=@V1=="2" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=3 endparam param iter caption="Iterations" default=7 endparam param adj caption="Adjustment" default=103.0 endparam param bail caption="Bailout" default=4.0 endparam } Mackey-GlassMod { ;http://www.scholarpedia.org/article/Mackey-Glass_equation init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V1=="2" x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p5) y=y/a+imag(p5) z=x+flip(y) endif if @V2=="2" if |z|<1 z=z/|z| endif elseif @V2=="3" if |z|>1 z=z/|z| endif endif if @V3=="2" if real(z)imag(z) z=flip(z) endif endif z=p3*fn3(log(abs(fn4(p1*z/(1+z^@pow)-p2*z))))+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mackey-Glass Mod" center=(0.001,0.001) periodicity=0 param V1 caption="Variant 1" enum="1""2" default=0 endparam param V2 caption="Variant 2" enum="1""2""3" default=0 endparam param V3 caption="Variant 3" enum="1""2""3" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) visible=@V1=="2" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=1 endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=103.0 endparam param bail caption="Bailout" default=4.0 endparam } Mackey-GlassMod2 { ;http://www.scholarpedia.org/article/Noninvertibility init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @V1=="2" x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p5) y=y/a+imag(p5) z=x+flip(y) endif if @V2=="2" if |z|<1 z=z/|z| endif elseif @V2=="3" if |z|>1 z=z/|z| endif endif if @V3=="2" if real(z)imag(z) z=flip(z) endif endif z=p3*fn3(log(abs(fn4((p1*z*p2^@pow)/(p2^@pow+z^@pow)))))+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Mackey-Glass Mod 2" center=(0.001,0.001) periodicity=0 param V1 caption="Variant 1" enum="1""2" default=0 endparam param V2 caption="Variant 2" enum="1""2""3" default=0 endparam param V3 caption="Variant 3" enum="1""2""3" default=0 endparam param p1 default=(2,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) visible=@V1=="2" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=3 endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=103.0 endparam param bail caption="Bailout" default=4.0 endparam } Luisijaf4 { init: z=fn1(log(pixel)) int i=0 loop: if @V2=="1" z=fn2(z) if @V=="2" if real(z)>imag(z) z=flip(z) endif endif if |z|<1 z=z/|z| endif if real(fn3(z^2+p1))imag(z) z=flip(z) endif endif if |z|<1 z=z/|z| endif if real(fn3(z^2+p1))1 z=z/|z| endif endif if @V2=="z=flip(z) if xy" if real(z)>imag(z) z=flip(z) endif endif if @V3=="Julia" z=p3*fn3(recip(z^2/(2*p4*p5^2)-p4*p5*p6*fn4(z)))^@pow+@p7 else z=p3*fn3(recip(z^2/(2*p4*p5^2)-p4*p5*p6*fn4(z)+pixel))^@pow+@p7 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Wodmot" center=(0.001,0.001) maxiter=250 periodicity=0 param V1 enum="z=sgn(z) if |z|<1""z=sgn(z) if |z|>1" default=0 endparam param V2 enum="z=z""z=flip(z) if xy" default=0 endparam param V3 enum="Julia""Mandelbrot" default=0 endparam param V4 enum="z""z^2-z""z^3-z""Newton 1""Newton 2""Cayley" default=0 endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100.0 endparam } FlipMandelbrot { init: z=fn1(pixel) loop: z=fn2(z) if @V=="flip z" z=flip(z) z=z^@pow+pixel elseif @V=="flip z if xy" if real(z)>imag(z) z=flip(z) endif z=z^@pow+pixel elseif @V=="flip (z^2+pixel)" z=flip(z^@pow+pixel) elseif @V=="flip pixel" z=z^@pow+flip(pixel) endif z=p1*fn3(z)+p2 bailout: |z|<@bail default: title="Flip Mandelbrot" center=(0.001,0.001) maxiter=500 param V caption="Variant" enum="flip z""flip z if xy""flip (z^2+pixel)""flip pixel" default=2 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param pow caption="Exponent" default=2 endparam param bail caption="Bailout" default=4.0 endparam } FMJ { ;Based on ideas by Fracmonk(Jeffrey Barthelmes) via Edgar Malinovsky ;See Multipowerbrot in em.ufm and this Fractal Forums thread: ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/ init: z=fn1(pixel) loop: z=fn2(z) if |z|<1 z=z/|z| endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p3) y=y/a+imag(p3) z=x+flip(y) z=(((((z^@pow)*p1+p2)^@pow)+p2)^@pow)+p2 bailout: |z|<@bail default: title="FMJ" center=(0.001,0.001) maxiter=500 param p1 default=(0.34,0) endparam param p2 default=(0.55,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param pow caption="Exponent" default=3 endparam param bail caption="Bailout" default=4.0 endparam } FMM { init: ;Based on ideas by Fracmonk(Jeffrey Barthelmes) via Edgar Malinovsky ;See Multipowerbrot in em.ufm and this Fractal Forums thread: ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/ z=fn1(pixel) loop: z=p2*fn2(z)+p3 z=(((((z^@pow)*fn3(pixel)+p1)^@pow)+p1)^@pow)+p1 bailout: |z|<@bail default: title="FMM" center=(0.001,0.001) maxiter=500 param p1 default=(0.55,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=3 endparam param bail caption="Bailout" default=4.0 endparam } Ringun { ;Partly based on an idea by Kerry Mitchell from this Fractal Forums thread: ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/135/ init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p3*fn4(sqr(z))+p4 if |z|<1 z=z/|z| endif if @V=="2" if real(z)imag(z) z=flip(z) endif elseif @V=="4" if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @V=="5" x=real(z) y=imag(z) if real(x+y)<0 b=y y=x x=b endif z=x+flip(y) elseif @V=="6" x=real(z) y=imag(z) x=abs(x) y=abs(y) if real(x)-imag(y)<0 b=y y=x x=b endif z=x+flip(y) elseif @V=="7" x=real(z) y=imag(z) x=abs(x) y=abs(y) if imag(x)-real(y)<0 b=y y=x x=b endif z=x+flip(y) endif k=cos(i)+sqrt(-1)*i z=p1*@fn5(log(abs(z^@pow+fn2(k)*fn3(pixel))))+p2 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Ringun" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param pow caption="Exponent" default=2 endparam param iter caption="Iterations" default=5 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000.0 endparam } Talis2 { ;The Fractal Explorer formula, as given here: ;http://www.chaospro.de/formulas/display.php?fileid=230&PHPSESSID=a204a33d4b0990164bd5bcc0bedc74f9 init: z=fn1(pixel) int i=0 loop: if @V=="1" z=fn2(z) z=z*z/(p1+z)+p2 else while i<@iter i=i+1 z=fn2(z) z=z*z/(p1+z)+p2 endwhile z=51*z/50 endif bailout: |z|<@bail default: title="Talis 2" maxiter=250 param V caption="Version" enum="1""2" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(-0.5,0) endparam param iter caption="Iterations" default=13 visible=@V=="2" endparam param bail caption="Bailout" default=10000.0 endparam } TalisMod { init: z=fn1(pixel) loop: if @fn2=="exp" z=exp(z) elseif @fn2=="exp recip" z=exp(recip(z)) elseif @fn2=="exp flip" z=exp(flip(z)) elseif @fn2=="flip exp" z=flip(exp(z)) elseif @fn2=="flip sqr" z=flip(sqr(z)) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="sqr recip" z=sqr(recip(z)) elseif @fn2=="abs sqr" z=abs(sqr(z)) endif x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p3) y=y/a+imag(p3) z=x+flip(y) if |z|<1 z=z/|z| endif z=z^@pow/(p1+z)+p2 bailout: |z|<@bail default: title="Talis Mod" center=(0.001,0.001) periodicity=0 maxiter=250 func fn1 default=ident() endfunc param fn2 caption="Function 2" enum="exp""exp recip""exp flip""flip exp""flip sqr""sqr""sqr recip""abs sqr" default=0 endparam param p1 default=(1,0) endparam param p2 default=(-0.5,0) endparam param p3 default=(0,0) endparam param pow caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=10000.0 endparam } TetrationMod3 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 x=real(z)+real(@p8) y=imag(z)+imag(@p8) a=x^2+y^2 x=x/a+real(p1) y=y/a+real(p1) z=x+flip(y) z=fn2(z)+p2 if @V=="1" if |z|<1 z=z/|z| endif elseif @V=="2" if |z|>1 z=z/|z| endif elseif @V=="3" if |z|<1 z=z/|z| endif if real(z)imag(z) z=flip(z) endif elseif @V=="5" if |z|>1 z=z/|z| endif if real(z)1 z=z/|z| endif if real(z)>imag(z) z=flip(z) endif endif z=p3*fn3(log(abs((z+p5)^(z+p6)+@p7)))+p4 endwhile z=51*z/50 bailout: |z|<@bail default: title="Tetration Mod 3" maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 caption="Parameter 5" default=1.0 endparam param p6 caption="Parameter 6" default=1.0 endparam param p7 caption="Parameter 7" default=0.0 endparam param p8 caption="Parameter 8" default=(0,0) endparam param iter caption="Iterations" default=3 endparam param bail caption="Bailout" default=10000.0 endparam } Abstet { init: z=fn1(pixel) loop: z=p5*fn2(z)+p6 z=p1*((abs(z)+p3)^(abs(z)+p4))+p2 bailout: |z|<@bail default: title="Abstet" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 default=(1,0) endparam param p2 default=(-1.4,0.1) endparam param p3 caption="Parameter 3" default=0.0 endparam param p4 default=(0,0) endparam param p5 default=(1.2,0) endparam param p6 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } TalisM { ;The Fractal Explorer formula, as given here: ;http://www.chaospro.de/formulas/display.php?fileid=230&PHPSESSID=a204a33d4b0990164bd5bcc0bedc74f9 init: z=fn1(pixel) int i=0 loop: if @V=="1" if @V2=="1" z=p3*fn2(z)+p4 z=(z*z)/(p1+z*fn3(pixel))+p2 elseif @V2=="2" z=p3*fn2(z)+p4 z=(z*z*fn3(pixel))/(p1+z)+p2 elseif @V2=="3" z=p3*fn2(z)+p4 z=(z*z)/(p1+z*fn3(pixel))+p2+fn3(pixel) elseif @V2=="4" z=p3*fn2(z)+p4 z=(z*z*fn3(pixel))/(p1+z)+p2+fn3(pixel) endif else if @V2=="1" while i<@iter i=i+1 z=p3*fn2(z)+p4 z=(z*z)/(p1+z*fn3(pixel))+p2 endwhile z=51*z/50 elseif @V2=="2" while i<@iter i=i+1 z=p3*fn2(z)+p4 z=(z*z*fn3(pixel))/(p1+z)+p2 endwhile z=51*z/50 elseif @V2=="3" while i<@iter i=i+1 z=p3*fn2(z)+p4 z=(z*z)/(p1+z*fn3(pixel))+p2+fn3(pixel) endwhile z=51*z/50 elseif @V2=="4" while i<@iter i=i+1 z=p3*fn2(z)+p4 z=(z*z*fn3(pixel))/(p1+z)+p2+fn3(pixel) endwhile z=51*z/50 endif endif bailout: |z|<@bail default: title="Talis M" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param V2 caption="Variant" enum="1""2""3""4" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(-0.5,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param iter caption="Iterations" default=9 visible=@V=="2" endparam param bail caption="Bailout" default=10000.0 endparam } ExponentialNova { init: z=fn1(pixel) loop: zold=z z=fn2(z)+p2 z=z-p1*(z^6+15*z^5+65*z^4+90*z^3+31*z^2+z)/(6*z^5+75*z^4+260*z^3+270*z^2+62*z+1)+fn3(pixel) bailout: |zold-z|>@bail default: title="Exponential Nova" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } TangentExponentialNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(tan(fn3(z))) z=p2*z-p1*(z^6+15*z^5+65*z^4+90*z^3+31*z^2+z)/(6*z^5+75*z^4+260*z^3+270*z^2+62*z+1)+p3 else while i<@iter i=i+1 z=fn2(tan(fn3(z))) z=p2*z-p1*(z^6+15*z^5+65*z^4+90*z^3+31*z^2+z)/(6*z^5+75*z^4+260*z^3+270*z^2+62*z+1)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Tangent Exponential Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2AppellNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(3*z^5+5*z^4+20*z^3+30*z^2+20*z+5)/(15*z^4+20*z^3+60*z^2+20)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(3*z^5+5*z^4+20*z^3+30*z^2+20*z+5)/(15*z^4+20*z^3+60*z^2+20)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Appell Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2AppellNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(3*z^5+5*z^4+20*z^3+30*z^2+20*z+5)/(15*z^4+20*z^3+60*z^2+20)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(3*z^5+5*z^4+20*z^3+30*z^2+20*z+5)/(15*z^4+20*z^3+60*z^2+20)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Appell Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2BernouilliNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^5-2.5*z^4+(5/3)*z^3-z/6)/(5*z^4-10*z^3+5*z^2-1/6)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^5-2.5*z^4+(5/3)*z^3-z/6)/(5*z^4-10*z^3+5*z^2-1/6)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Bernouilli Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2EulerNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^5-2.5*z^4+2.5*z^2-0.5)/(5*z^4-10*z^3+5*z)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^5-2.5*z^4+2.5*z^2-0.5)/(5*z^4-10*z^3+5*z)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Euler Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2EulerNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^5-2.5*z^4+2.5*z^2-0.5)/(5*z^4-10*z^3+5*z)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^5-2.5*z^4+2.5*z^2-0.5)/(5*z^4-10*z^3+5*z)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Euler Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2FibonacciNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^4+3*z^2+1)/(4*z^3+6*z)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^4+3*z^2+1)/(4*z^3+6*z)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Fibonacci Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2FibonacciNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^4+3*z^2+1)/(4*z^3+6*z)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^4+3*z^2+1)/(4*z^3+6*z)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Fibonacci Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LaguerreNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(-z^5+25*z^4-200*z^3+600*z^2-600*z+120)/(-5*z^4+100*z^3-600*z^2+1200*z)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(-z^5+25*z^4-200*z^3+600*z^2-600*z+120)/(-5*z^4+100*z^3-600*z^2+1200*z)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Laguerre Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LaguerreNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(-z^5+25*z^4-200*z^3+600*z^2-600*z+120)/(-5*z^4+100*z^3-600*z^2+1200*z)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(-z^5+25*z^4-200*z^3+600*z^2-600*z+120)/(-5*z^4+100*z^3-600*z^2+1200*z)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Laguerre Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LeibnizNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^5/6+z^4/30+z^3/60+z^2/60+z/30+1/6)/(5*z^4/6+2*z^3/15+z^2/20+z/30+1/30)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^5/6+z^4/30+z^3/60+z^2/60+z/30+1/6)/(5*z^4/6+2*z^3/15+z^2/20+z/30+1/30)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Leibniz Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=flip() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LeibnizNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^5/6+z^4/30+z^3/60+z^2/60+z/30+1/6)/(5*z^4/6+2*z^3/15+z^2/20+z/30+1/30)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^5/6+z^4/30+z^3/60+z^2/60+z/30+1/6)/(5*z^4/6+2*z^3/15+z^2/20+z/30+1/30)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Leibniz Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(-1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LucasNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^8+8*z^6+20*z^4+16*z^2+2)/(8*z^7+48*z^5+80*z^3+32*z)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^8+8*z^6+20*z^4+16*z^2+2)/(8*z^7+48*z^5+80*z^3+32*z)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Lucas Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LucasNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^8+8*z^6+20*z^4+16*z^2+2)/(8*z^7+48*z^5+80*z^3+32*z)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^8+8*z^6+20*z^4+16*z^2+2)/(8*z^7+48*z^5+80*z^3+32*z)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Lucas Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2PoincaréNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12)/(-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12)/(-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Poincaré Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2TribonacciNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^12+5*z^9+10*z^6+7*z^3+1)/(12*z^11+45*z^8+60*z^5+21*z^2)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^12+5*z^9+10*z^6+7*z^3+1)/(12*z^11+45*z^8+60*z^5+21*z^2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Tribonacci Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2TribonacciNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^12+5*z^9+10*z^6+7*z^3+1)/(12*z^11+45*z^8+60*z^5+21*z^2)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^12+5*z^9+10*z^6+7*z^3+1)/(12*z^11+45*z^8+60*z^5+21*z^2)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Tribonacci Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2MandelbrotNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^2+pixel)/(2*z)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*(z^2+pixel)/(2*z)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Mandelbrot Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2MandelbrotNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^2+pixel)/(2*z)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*(z^2+pixel)/(2*z)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Mandelbrot Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LifNewton { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) z=p2*z-p1*((1+7*z+6*z^2+z^3)*exp(z))/((8*z+12*z^2+3*z^3)*exp(z-1))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) z=p2*z-p1*((1+7*z+6*z^2+z^3)*exp(z))/((8*z+12*z^2+3*z^3)*exp(z-1))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Lif Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(0.1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2LifNova { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*((1+7*z+6*z^2+z^3)*exp(z))/((8*z+12*z^2+3*z^3)*exp(z-1))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 z=p4*z-p1*((1+7*z+6*z^2+z^3)*exp(z))/((8*z+12*z^2+3*z^3)*exp(z-1))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Lif Nova" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(0.1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } NewtishTet { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(exp(fn3(z))) z=p2*z-p1*(z^z)/(fn4(z))+p3 else while i<@iter i=i+1 z=fn2(exp(fn3(z))) z=p2*z-p1*(z^z)/(fn4(z))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Newtish Tet" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)ZetaMidpoint { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="3" f=(z^3-z^2)/4 f1=(3*z^2-2*z)/4 elseif @P=="4" f=(6*z^4-9*z^3+z^2+z)/30 f1=(24*z^3-27*z^2+2*z+1)/30 elseif @P=="5" f=(2*z^5-4*z^4+z^3+z^2)/12 f1=(10*z^4-16*z^3+3*z^2+2*z)/12 elseif @P=="6" f=(6*z^6-15*z^5+6*z^4+6*z^3-z^2-z)/42 f1=(36*z^5-75*z^4+24*z^3+18*z^2-2*z-1)/42 elseif @P=="7" f=(3*z^7-9*z^6+5*z^5+5*z^4-2*z^3-2*z^2)/24 f1=(21*z^6-54*z^5+25*z^4+20*z^3-6*z^2-4*z)/24 elseif @P=="8" f=(10*z^8-35*z^7+25*z^6+25*z^5-17*z^4-17*z^3+3*z^2+3*z)/90 f1=(80*z^7-245*z^6+150*z^5+125*z^4-68*z^3-51*z^2+6*z+3)/90 elseif @P=="9" f=(2*z^9-8*z^8+7*z^7+7*z^6-7*z^5-7*z^4+3*z^3+3*z^2)/20 f1=(18*z^8-64*z^7+49*z^6+42*z^5-35*z^4-28*z^3+9*z^2+6*z)/20 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="3" f=(z^3-z^2)/4 f1=(3*z^2-2*z)/4 elseif @P=="4" f=(6*z^4-9*z^3+z^2+z)/30 f1=(24*z^3-27*z^2+2*z+1)/30 elseif @P=="5" f=(2*z^5-4*z^4+z^3+z^2)/12 f1=(10*z^4-16*z^3+3*z^2+2*z)/12 elseif @P=="6" f=(6*z^6-15*z^5+6*z^4+6*z^3-z^2-z)/42 f1=(36*z^5-75*z^4+24*z^3+18*z^2-2*z-1)/42 elseif @P=="7" f=(3*z^7-9*z^6+5*z^5+5*z^4-2*z^3-2*z^2)/24 f1=(21*z^6-54*z^5+25*z^4+20*z^3-6*z^2-4*z)/24 elseif @P=="8" f=(10*z^8-35*z^7+25*z^6+25*z^5-17*z^4-17*z^3+3*z^2+3*z)/90 f1=(80*z^7-245*z^6+150*z^5+125*z^4-68*z^3-51*z^2+6*z+3)/90 elseif @P=="9" f=(2*z^9-8*z^8+7*z^7+7*z^6-7*z^5-7*z^4+3*z^3+3*z^2)/20 f1=(18*z^8-64*z^7+49*z^6+42*z^5-35*z^4-28*z^3+9*z^2+6*z)/20 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Zeta Midpoint" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)ZetaMidpointM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=(z^3-z^2)/4 f1=(3*z^2-2*z)/4 elseif @P=="4" f=(6*z^4-9*z^3+z^2+z)/30 f1=(24*z^3-27*z^2+2*z+1)/30 elseif @P=="5" f=(2*z^5-4*z^4+z^3+z^2)/12 f1=(10*z^4-16*z^3+3*z^2+2*z)/12 elseif @P=="6" f=(6*z^6-15*z^5+6*z^4+6*z^3-z^2-z)/42 f1=(36*z^5-75*z^4+24*z^3+18*z^2-2*z-1)/42 elseif @P=="7" f=(3*z^7-9*z^6+5*z^5+5*z^4-2*z^3-2*z^2)/24 f1=(21*z^6-54*z^5+25*z^4+20*z^3-6*z^2-4*z)/24 elseif @P=="8" f=(10*z^8-35*z^7+25*z^6+25*z^5-17*z^4-17*z^3+3*z^2+3*z)/90 f1=(80*z^7-245*z^6+150*z^5+125*z^4-68*z^3-51*z^2+6*z+3)/90 elseif @P=="9" f=(2*z^9-8*z^8+7*z^7+7*z^6-7*z^5-7*z^4+3*z^3+3*z^2)/20 f1=(18*z^8-64*z^7+49*z^6+42*z^5-35*z^4-28*z^3+9*z^2+6*z)/20 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=(z^3-z^2)/4 f1=(3*z^2-2*z)/4 elseif @P=="4" f=(6*z^4-9*z^3+z^2+z)/30 f1=(24*z^3-27*z^2+2*z+1)/30 elseif @P=="5" f=(2*z^5-4*z^4+z^3+z^2)/12 f1=(10*z^4-16*z^3+3*z^2+2*z)/12 elseif @P=="6" f=(6*z^6-15*z^5+6*z^4+6*z^3-z^2-z)/42 f1=(36*z^5-75*z^4+24*z^3+18*z^2-2*z-1)/42 elseif @P=="7" f=(3*z^7-9*z^6+5*z^5+5*z^4-2*z^3-2*z^2)/24 f1=(21*z^6-54*z^5+25*z^4+20*z^3-6*z^2-4*z)/24 elseif @P=="8" f=(10*z^8-35*z^7+25*z^6+25*z^5-17*z^4-17*z^3+3*z^2+3*z)/90 f1=(80*z^7-245*z^6+150*z^5+125*z^4-68*z^3-51*z^2+6*z+3)/90 elseif @P=="9" f=(2*z^9-8*z^8+7*z^7+7*z^6-7*z^5-7*z^4+3*z^3+3*z^2)/20 f1=(18*z^8-64*z^7+49*z^6+42*z^5-35*z^4-28*z^3+9*z^2+6*z)/20 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Zeta Midpoint M" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@V=="2" endparam } sqr(z)KleinMidpoint { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Klein Midpoint" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=1000.0 visible=@V=="2" endparam } sqr(z)KleinMidpointM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Klein Midpoint M" center=(0.001,0.001) periodicity=0 maxiter=250 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=1000.0 visible=@V=="2" endparam } sqr(z)GeomMidpoint { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="2" f=z+2*z^2 f1=1+4*z elseif @P=="3" f=z+6*z^2+6*z^3 f1=1+12*z+18*z^2 elseif @P=="4" f=z+14*z^2+36*z^3+24*z^4 f1=1+28*z+108*z^2+96*z^3 elseif @P=="5" f=z+30*z^2+150*z^3+240*z^4+120*z^5 f1=1+60*z+450*z^2+960*z^3+600*z^4 elseif @P=="6" f=z+62*z^2+540*z^3+1560*z^4+1800*z^5+720*z^6 f1=1+124*z+1620*z^2+6240*z^3+9000*z^4+4320*z^5 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="2" f=z+2*z^2 f1=1+4*z elseif @P=="3" f=z+6*z^2+6*z^3 f1=1+12*z+18*z^2 elseif @P=="4" f=z+14*z^2+36*z^3+24*z^4 f1=1+28*z+108*z^2+96*z^3 elseif @P=="5" f=z+30*z^2+150*z^3+240*z^4+120*z^5 f1=1+60*z+450*z^2+960*z^3+600*z^4 elseif @P=="6" f=z+62*z^2+540*z^3+1560*z^4+1800*z^5+720*z^6 f1=1+124*z+1620*z^2+6240*z^3+9000*z^4+4320*z^5 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Geom Midpoint" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="2""3""4""5""6" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)GeomMidpointM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="2" f=z+2*z^2 f1=1+4*z elseif @P=="3" f=z+6*z^2+6*z^3 f1=1+12*z+18*z^2 elseif @P=="4" f=z+14*z^2+36*z^3+24*z^4 f1=1+28*z+108*z^2+96*z^3 elseif @P=="5" f=z+30*z^2+150*z^3+240*z^4+120*z^5 f1=1+60*z+450*z^2+960*z^3+600*z^4 elseif @P=="6" f=z+62*z^2+540*z^3+1560*z^4+1800*z^5+720*z^6 f1=1+124*z+1620*z^2+6240*z^3+9000*z^4+4320*z^5 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="2" f=z+2*z^2 f1=1+4*z elseif @P=="3" f=z+6*z^2+6*z^3 f1=1+12*z+18*z^2 elseif @P=="4" f=z+14*z^2+36*z^3+24*z^4 f1=1+28*z+108*z^2+96*z^3 elseif @P=="5" f=z+30*z^2+150*z^3+240*z^4+120*z^5 f1=1+60*z+450*z^2+960*z^3+600*z^4 elseif @P=="6" f=z+62*z^2+540*z^3+1560*z^4+1800*z^5+720*z^6 f1=1+124*z+1620*z^2+6240*z^3+9000*z^4+4320*z^5 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Geom Midpoint M" center=(0.001,0.001) periodicity=0 maxiter=250 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="2""3""4""5""6" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=1000.0 visible=@V=="2" endparam } sqr(z)Kazhdan-Lusztig-VoganMidpoint { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) f=(152*z^22 + 3472*z^21 + 38791*z^20 + 293021*z^19 + 1370892*z^18\ + 4067059*z^17 + 7964012*z^16 + 11159003*z^15 + 11808808*z^14 + 9859915*z^13\ + 6778956*z^12 + 3964369*z^11 + 2015441*z^10 + 906567*z^9 + 363611*z^8 + 129820*z^7\ + 41239*z^6 + 11426*z^5 + 2677*z^4 + 492*z^3 + 61*z^2 + 3*z ) f1=(3344*z^21+72912*z^20\ +775820*z^19+5567399*z^18+24676056*z^17+69140003*z^16+127424192*z^15+167385045*z^14\ +165323312*z^13+128178895*z^12+81347472*z^11+43608059*z^10+20154410*z^9+8159103*z^8\ +2908888*z^7+908740*z^6+247434*z^5+57130*z^4+10708*z^3+1476*z^2+122*z+3) z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) f=(152*z^22 + 3472*z^21 + 38791*z^20 + 293021*z^19 + 1370892*z^18\ + 4067059*z^17 + 7964012*z^16 + 11159003*z^15 + 11808808*z^14 + 9859915*z^13\ + 6778956*z^12 + 3964369*z^11 + 2015441*z^10 + 906567*z^9 + 363611*z^8 + 129820*z^7\ + 41239*z^6 + 11426*z^5 + 2677*z^4 + 492*z^3 + 61*z^2 + 3*z ) f1=(3344*z^21+72912*z^20\ +775820*z^19+5567399*z^18+24676056*z^17+69140003*z^16+127424192*z^15+167385045*z^14\ +165323312*z^13+128178895*z^12+81347472*z^11+43608059*z^10+20154410*z^9+8159103*z^8\ +2908888*z^7+908740*z^6+247434*z^5+57130*z^4+10708*z^3+1476*z^2+122*z+3) z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Kazhdan-Lusztig-Vogan Midpoint" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)Kazhdan-Lusztig-VoganMidpointM { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 f=(152*z^22 + 3472*z^21 + 38791*z^20 + 293021*z^19 + 1370892*z^18\ + 4067059*z^17 + 7964012*z^16 + 11159003*z^15 + 11808808*z^14 + 9859915*z^13\ + 6778956*z^12 + 3964369*z^11 + 2015441*z^10 + 906567*z^9 + 363611*z^8 + 129820*z^7\ + 41239*z^6 + 11426*z^5 + 2677*z^4 + 492*z^3 + 61*z^2 + 3*z ) f1=(3344*z^21+72912*z^20\ +775820*z^19+5567399*z^18+24676056*z^17+69140003*z^16+127424192*z^15+167385045*z^14\ +165323312*z^13+128178895*z^12+81347472*z^11+43608059*z^10+20154410*z^9+8159103*z^8\ +2908888*z^7+908740*z^6+247434*z^5+57130*z^4+10708*z^3+1476*z^2+122*z+3) z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 f=(152*z^22 + 3472*z^21 + 38791*z^20 + 293021*z^19 + 1370892*z^18\ + 4067059*z^17 + 7964012*z^16 + 11159003*z^15 + 11808808*z^14 + 9859915*z^13\ + 6778956*z^12 + 3964369*z^11 + 2015441*z^10 + 906567*z^9 + 363611*z^8 + 129820*z^7\ + 41239*z^6 + 11426*z^5 + 2677*z^4 + 492*z^3 + 61*z^2 + 3*z ) f1=(3344*z^21+72912*z^20\ +775820*z^19+5567399*z^18+24676056*z^17+69140003*z^16+127424192*z^15+167385045*z^14\ +165323312*z^13+128178895*z^12+81347472*z^11+43608059*z^10+20154410*z^9+8159103*z^8\ +2908888*z^7+908740*z^6+247434*z^5+57130*z^4+10708*z^3+1476*z^2+122*z+3) z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Kazhdan-Lusztig-Vogan Midpoint M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)PoincaréErratum { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif a=f/f1 z=p2*z-p1*(a*((z-a-f)/(2*(z-a)-f)))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif a=f/f1 z=p2*z-p1*(a*((z-a-f)/(2*(z-a)-f)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Poincaré Erratum" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)PoincaréErratumM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif a=f/f1 z=p4*z-p1*(a*((z-a-f)/(2*(z-a)-f)))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif a=f/f1 z=p4*z-p1*(a*((z-a-f)/(2*(z-a)-f)))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Poincaré Erratum M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)PoincaréMidpoint { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Poincaré Midpoint" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)PoincaréMidpointM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Poincaré Midpoint M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasHalley { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p2*z-p1*2*f*f1/(2*f1^2-f*f2)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p2*z-p1*2*f*f1/(2*f1^2-f*f2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Halley " center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0.1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasHalleyM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p4*z-p1*2*f*f1/(2*f1^2-f*f2)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p4*z-p1*2*f*f1/(2*f1^2-f*f2)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Halley M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1.5,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=20.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasMidpoint { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Midpoint " center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasMidpointM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 endif z=p4*z-p1*(f/(f1*(z-(f/f1)/2)))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Midpoint M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(-0.6,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=20.0 visible=@V=="2" endparam } sqr(z)PascalMidpoint { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="1" f=z+2 f1=1 elseif @P=="2" f=z^2+3*z+2 f1=2*z+3 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 endif z=p2*z-p1*f/(f1*(z-(f/f1)/2))+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="1" f=z+2 f1=1 elseif @P=="2" f=z^2+3*z+2 f1=2*z+3 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 endif z=p2*z-p1*f/(f1*(z-(f/f1)/2))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Pascal Midpoint" center=(0.001,0.001) periodicity=0 maxiter=500 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="1""2""3""4""5""6""7""8""9""10" default=5 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=10000.0 visible=@V=="2" endparam } sqr(z)PascalMidpointM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="1" f=z+2 f1=1 elseif @P=="2" f=z^2+3*z+2 f1=2*z+3 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 endif z=p4*z-p1*f/(f1*(z-(f/f1)/2))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="1" f=z+2 f1=1 elseif @P=="2" f=z^2+3*z+2 f1=2*z+3 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 endif z=p4*z-p1*f/(f1*(z-(f/f1)/2))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Pascal Midpoint M" center=(0.001,0.001) periodicity=0 maxiter=500 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="1""2""3""4""5""6""7""8""9""10" default=5 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(-1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=10000.0 visible=@V=="2" endparam } sqr(z)PascalHalleyM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="2" f=z^2+3*z+2 f1=2*z+3 f2=2 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 f2=6*z+8 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 f2=12*z^2+30*z+18 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 f2=20*z^3+72*z^2+84*z+32 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 f2=30*z^4+140*z^3+240*z^2+180*z+50 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 f2=42*z^5+240*z^4+540*z^3+600*z^2+330*z+72 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 f2=56*z^6+378*z^5+1050*z^4+1540*z^3+1260*z^2+546*z+98 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 f2=72*z^7+560*z^6+1848*z^5+3360*z^4+3640*z^3+2352*z^2+840*z+128 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 f2=90*z^8++792*z^7+3024*z^6+6552*z^5+8820*z^4+7560*z^3+4032*z^2+1224*z+162 endif z=p4*z-p1*2*f*f1/(2*f1^2-f*f2)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="2" f=z^2+3*z+2 f1=2*z+3 f2=2 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 f2=6*z+8 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 f2=12*z^2+30*z+18 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 f2=20*z^3+72*z^2+84*z+32 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 f2=30*z^4+140*z^3+240*z^2+180*z+50 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 f2=42*z^5+240*z^4+540*z^3+600*z^2+330*z+72 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 f2=56*z^6+378*z^5+1050*z^4+1540*z^3+1260*z^2+546*z+98 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 f2=72*z^7+560*z^6+1848*z^5+3360*z^4+3640*z^3+2352*z^2+840*z+128 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 f2=90*z^8++792*z^7+3024*z^6+6552*z^5+8820*z^4+7560*z^3+4032*z^2+1224*z+162 endif z=p4*z-p1*2*f*f1/(2*f1^2-f*f2)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Pascal Halley M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="2""3""4""5""6""7""8""9""10" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=13 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=30.0 visible=@V=="2" endparam } Fermat-LucasErroot { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 endif a=f/f1 z=p2*z-p1*a*((z-a-f)/(2*(z-a)-f))+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 endif a=f/f1 z=p2*z-p1*a*((z-a-f)/(2*(z-a)-f))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Fermat-Lucas Erroot" center=(0.001,0.001) angle=90 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=16 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } Fermat-LucasSchröder { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2((fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 else while i<@iter i=i+1 z=fn2((fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Fermat-Lucas Schröder " center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } Fermat-LucasSuper-Halley { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*a*(1+(b/(2*(1-b))))+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*a*(1+(b/(2*(1-b))))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Fermat-Lucas Super-Halley " center=(0.001,0.001) angle=90 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } Fermat-LucasWhittaker { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*(a/2)*(2-b)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*(a/2)*(2-b)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Fermat-Lucas Whittaker" center=(0.001,0.001) angle=90 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasChebyshev { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*a*(1+b/2)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*a*(1+b/2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Chebyshev" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0.1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasSchröderM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p4*z-p1*f*f1/(f1^2-f*f2)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif z=p4*z-p1*f*f1/(f1^2-f*f2)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Schröder M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1.5,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=20.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasSuper-HalleyM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p4*z-p1*a*(1+(b/(2*(1-b))))+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p4*z-p1*a*(1+(b/(2*(1-b))))+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Super-Halley M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1.5,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=20.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasWhittaker { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))+p4)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))+p4)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Whittaker" center=(0.001,0.001) angle=90 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } Fermat-LucasRootun { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=z-a*(1+b/(2*(1-p1*b))+p2*b^2)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=z-a*(1+b/(2*(1-p1*b))+p2*b^2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Fermat-Lucas Rootun" center=(0.001,0.001) angle=90 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } KleinRootun { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif a=f/f1 b=f*f2/sqr(f1) z=z-a*(1+b/(2*(1-p1*b))+p2*b^2)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif a=f/f1 b=f*f2/sqr(f1) z=z-a*(1+b/(2*(1-p1*b))+p2*b^2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Klein Rootun" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.00000000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=1000.0 visible=@V=="2" endparam } KleinSchröder { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Klein Schröder" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000000000000000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=1000.0 visible=@V=="2" endparam } PoincaréSchröder { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Poincaré Schröder" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000000000000000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=1000.0 visible=@V=="2" endparam } sqr(z)Fermat-LucasRootun { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=z-a*(1+b/(2*(1-p1*b))+p2*b^2)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="3" f=27*z^3-18*z f1=81*z^2-18 f2=162*z elseif @P=="4" f=81*z^4-72*z^2+8 f1=324*z^3-144*z f2=972*z^2-144 elseif @P=="5" f=243*z^5-270*z^3+60*z f1=1215*z^4-810*z^2+60 f2=4860*z^3-1620*z elseif @P=="6" f=729*z^6-972*z^4+324*z^2-16 f1=4374*z^5-3888*z^3+648*z f2=21870*z^4-11664*z^2+648 elseif @P=="7" f=2187*z^7-3402*z^5+1512*z^3-168*z f1=15309*z^6-17010*z^4+4536*z^2-168 f2=91854*z^5-68040*z^3+9072*z elseif @P=="8" f=6561*z^8-11664*z^6+6480*z^4-1152*z^2+32 f1=52488*z^7-69984*z^5+25920*z^3-2304*z f2=367416*z^6-349920*z^4+77760*z^2-2304 elseif @P=="9" f=19683*z^9-39366*z^7+26244*z^5-6480*z^3+432*z f1=177147*z^8-275562*z^6+131220*z^4-19440*z^2+432 f2=1417176*z^7-1653372*z^5+524880*z^3-38880*z endif a=f/f1 b=f*f2/sqr(f1) z=z-a*(1+b/(2*(1-p1*b))+p2*b^2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Fermat-Lucas Rootun" center=(0.001,0.001) angle=90 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=3 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } sqr(z)KleinSchröder { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif z=p2*z-p1*f*f1/(f1^2-f*f2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Klein Schröder" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=1000.0 visible=@V=="2" endparam } sqr(z)KleinSchröderM { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif z=p4*z-p1*f*f1/(f1^2-f*f2)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(sqr(fn3(z)))+p3 if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z f2=12*z^2+4*sqrt(3)*sqrt(-1) elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z f2=12*z^2-4*sqrt(3)*sqrt(-1) elseif @P=="Ov" f=z^5-z f1=5*z^4-1 f2=20*z^3 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 f2=56*z^6+168*z^2 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 f2=132*z^10-1848*z^6-396*z^2 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 f2=110*z^9+330*z^4 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 f2=380*z^18-47880*z^13+44460*z^8+4560*z^3 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 f2=870*z^28+313200*z^23-3801900*z^18-900450*z^8-10440*z^3 endif z=p4*z-p1*f*f1/(f1^2-f*f2)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="sqr(z) Klein Schröder M" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1.5,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=5 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=20.0 visible=@V=="2" endparam } PoincaréHalley { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif z=p2*z-p1*2*f*f1/(2*f1^2-f*f2)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif z=p2*z-p1*2*f*f1/(2*f1^2-f*f2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Poincaré Halley " center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } PoincaréChebyshev { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*a*(1+b/2)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*a*(1+b/2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Poincaré Chebyshev" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } PoincaréWhittaker { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))+p4)+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif a=f/f1 b=f*f2/sqr(f1) z=p2*z-p1*(a/4)*(2-b+((4+2*b)/(2-b*(2-b)))+p4)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Poincaré Whittaker" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } KleinNewton { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p2*z-p1*f/f1+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p2*z-p1*f/f1+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Klein Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=4 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } KleinNova { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(fn3(z))+p3 if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p4*z-p1*(f/f1)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(fn3(z))+p3 if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p4*z-p1*(f/f1)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Klein Nova" center=(0.001,0.001) magn=2 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } PoincaréMidpoint { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p2*z-p1*(f/(f1*(z-(f/f1)/2)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Poincaré Midpoint" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=1 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } PoincaréNova { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=p2*fn2(fn3(z))+p3 if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p4*z-p1*(f/f1)+fn4(pixel) else while i<@iter i=i+1 z=p2*fn2(fn3(z))+p3 if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p4*z-p1*(f/f1)+fn4(pixel) endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Poincaré Nova" center=(0.001,0.001) magn=2 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2KleinNewton { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p2*z-p1*f/f1+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="Tv" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @P=="Tf" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @P=="Ov" f=z^5-z f1=5*z^4-1 elseif @P=="Of" f=z^8+14*z^4+1 f1=8*z^7+56*z^3 elseif @P=="Oe" f=z^12-33*z^8-33*z^4+1 f1=12*z^11-264*z^7-132*z^3 elseif @P=="Yv" f=z^11+11*z^6-z f1=11*z^10+66*z^5-1 elseif @P=="Yf" f=z^20-228*z^15+494*z^10+228*z^5+1 f1=20*z^19-3420*z^14+4940*z^9+1140*z^4 elseif @P=="Ye" f=z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1 f1=30*z^29+13050*z^24-200100*z^19-100050*z^9-2610*z^4 endif z=p2*z-p1*f/f1+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Klein Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } z^2PoincaréNewton { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) loop: zold=z if @V=="1" z=fn2(sqr(fn3(z))) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p2*z-p1*f/f1+p3 else while i<@iter i=i+1 z=fn2(sqr(fn3(z))) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 endif z=p2*z-p1*f/f1+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="z^2 Poincaré Newton" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } PoincaréErroot { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif a=f/f1 b=f*f2/sqr(f1) z=z-p1*a*(1+b/(2*(1-p2*b)))+p3 else while i<@iter i=i+1 z=fn2(fn3(z)) if @P=="Q1(B2)" f=1-z-z^3-z^4 f1=-1-3*z^2-4*z^3 f2=-6*z-12*z^2 elseif @P=="Q2(A2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q3(B2)" f=1-z-z^2-z^3-2*z^4 f1=-1-2*z-3*z^2-8*z^3 f2=-2-6*z-24*z^2 elseif @P=="Q8(A3)" f=1-z-2*z^2+z^5+z^6 f1=-1-4*z+5*z^4+6*z^5 f2=-4+20*z^3+30*z^4 elseif @P=="Q9(A3)" f=1-z-3*z^2-z^4+z^5+3*z^6 f1=-1-6*z-4*z^3+5*z^4+18*z^5 f2=-6-12*z^2+20*z^3+90*z^4 elseif @P=="Q10(B3)" f=1-z-3*z^3+z^4-z^5+z^8+2*z^9 f1=-1-9*z^2+4*z^3-5*z^4+8*z^7+18*z^8 f2=-18*z+12*z^2-20*z^3+56*z^6+144*z^7 elseif @P=="Q11(B3)" f=1-z-2*z^3+z^4-z^5+z^8+z^9 f1=-1-6*z^2+4*z^3-5*z^4+8*z^7+9*z^8 f2=-12*z+12*z^2-20*z^3+56*z^6+72*z^7 elseif @P=="Q12(B3)" f=1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9 f1=-1-2*z-9*z^2-6*z^5+7*z^6+8*z^7+27*z^8 f2=-2-18*z-30*z^4+42*z^5+56*z^6+216*z^7 elseif @P=="Q16(G2)" f=1-2*z+z^2-z^4+z^6 f1=-2+2*z-4*z^3+6*z^5 f2=2-12*z^2+30*z^4 elseif @P=="Q17(B3)" f=1-z-z^3-2*z^5+z^6+z^8+z^9 f1=-1-3*z^2-10*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-40*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q18(G2)" f=1-2*z+z^3-z^4-z^5+2*z^6 f1=-2+3*z^2-4*z^3-5*z^4+12*z^5 f2=6*z-12*z^2-20*z^3+60*z^4 elseif @P=="Q19(B3)" f=1-z-z^3-z^4-z^5+z^6+z^8+z^9 f1=-1-3*z^2-4*z^3-5*z^4+6*z^5+8*z^7+9*z^8 f2=-6*z-12*z^2-20*z^3+30*z^4+56*z^6+72*z^7 elseif @P=="Q20(G2)" f=1-2*z-2*z^5+3*z^6 f1=-2-10*z^4+18*z^5 f2=-40*z^3+90*z^4 elseif @P=="Q21(D4)" f=1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12 f1=-1-4*z-3*z^2+10*z^4+6*z^5+14*z^6+24*z^7-9*z^8+10*z^9-11*z^10-24*z^11 f2=-4-6*z+40*z^3+30*z^4+84*z^5+168*z^6-72*z^7+90*z^8-110*z^9-264*z^10 elseif @P=="Q22(B4)" f=1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16 f1=-1-2*z-3*z^2+7*z^6+16*z^7+9*z^8+10*z^9+11*z^10-15*z^14-16*z^15 f2=-2-6*z+42*z^5+112*z^6+72*z^7+90*z^8+110*z^9-210*z^13-240*z^14 elseif @P=="Q23(D4)" f=1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12 f1=-1-3*z^2-4*z^3+6*z^5+7*z^6+16*z^7-11*z^10-12*z^11 f2=-6*z-12*z^2+30*z^4+42*z^5+112*z^6-110*z^9-132*z^10 elseif @P=="Q24(G2)" f=1-z-z^5 f1=-1-5*z^4 f2=-20*z^3 elseif @P=="Q25(B2)" f=1-z-z^3 f1=-1-3*z^2 f2=-6*z elseif @P=="Q26(A2)" f=1-z-z^2 f1=-1-2*z f2=-2 elseif @P=="Q27(B2)" f=1-z-z^2-z^3 f1=-1-2*z-3*z^2 f2=-2-6*z elseif @P=="Q28(G2)" f=1-z-z^3-z^5 f1=-1-3*z^2-5*z^4 f2=-6*z-20*z^3 elseif @P=="Q29(G2)" f=1-z-z^2-z^3-z^4-z^5 f1=-1-2*z-3*z^2-4*z^3-5*z^4 f2=-2-6*z-12*z^2-20*z^3 elseif @P=="Q36(A3)" f=1-z-z^2+z^5 f1=-1-2*z+5*z^4 f2=-2+20*z^3 elseif @P=="Q37(B3)" f=1-z-z^3+z^8 f1=-1-3*z^2+8*z^7 f2=-6*z+56*z^6 elseif @P=="Q38(B3)" f=1-z-z^2-z^4+z^6+z^8 f1=-1-2*z-4*z^3+6*z^5+8*z^7 f2=-2-12*z^2+30*z^4+56*z^6 elseif @P=="Q39(B3)" f=1-z-z^2-z^3+z^7+z^8 f1=-1-2*z-3*z^2+7*z^6+8*z^7 f2=-2-6*z+42*z^5+56*z^6 elseif @P=="Q40(B3)" f=1-z-2*z^3+z^4-z^5+z^6+z^8 f1=-1-6*z^2+4*z^3-5*z^4+6*z^5+8*z^7 f2=-12*z+12*z^2-20*z^3+30*z^4+56*z^6 elseif @P=="Q43(B3)" f=1-z-z^4+z^8 f1=-1-4*z^3+8*z^7 f2=-12*z^2+56*z^6 elseif @P=="Q44(B3)" f=1-z-z^3-z^5+z^6+z^8 f1=-1-3*z^2-5*z^4+6*z^5+8*z^7 f2= -6*z-20*z^3+30*z^4+56*z^6 elseif @P=="Q46(D4)" f=1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19 f1=-2*z-3*z^2-4*z^3-5*z^4-6*z^5+8*z^7+9*z^8+20*z^9+22*z^10+24*z^11+13*z^12+14*z^13-16*z^15-17*z^16-18*z^17-19*z^18 f2=-2-6*z-12*z^2-20*z^3-30*z^4+56*z^6+72*z^7+180*z^8+220*z^9+264*z^10+156*z^11+182*z^12-240*z^14-272*z^15-306*z^16-342*z^17 elseif @P=="Q47(D5)" f=1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19 f1=-1-2*z-4*Z^3+5*z^4+6*z^5+7*z^6+9*z^8+10*z^9-11*z^10-13*z^12-14*z^13-15*z^14+19*z^18 f2=-2-12*Z^2+20*z^3+30*z^4+42*z^5+72*z^7+90*z^8-110*z^9-156*z^11-182*z^12-210*z^13+342*z^17 elseif @P=="Q48(B5)" f=1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24 f1=-1-6*z^2+4*z^3+6*z^5-7*z^6+16*z^7-9*z^8+10*z^9+12*z^11+13*z^12-14*z^13-15*z^14-18*z^17-20*z^19+24*z^23 f2=-12*z+12*z^2+30*z^4-42*z^5+112*z^6-72*z^7+90*z^8+132*z^10+156*z^11-182*z^12-210*z^13-306*z^16-380*z^18+552*z^22 endif a=f/f1 b=f*f2/sqr(f1) z=z-p1*a*(1+b/(2*(1-p2*b)))+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Poincaré Erroot" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(-0.5,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } UnklemesterinNewton { init: z=fn1(pixel) f=(0,0) f1=(0,0) loop: z=fn2(z) z=z^2*(z-p1)/(1-p1*z) if @v=="1" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @v=="2" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @v=="3" f=z^5+2*sqrt(3)*sqrt(-1)*z^3+1 f1=5*z^4+6*sqrt(3)*sqrt(-1)*z^2 elseif @v=="4" f=z^5-2*sqrt(3)*sqrt(-1)*z^3+1 f1=5*z^4-6*sqrt(3)*sqrt(-1)*z^2 elseif @v=="5" f=z^6+2*sqrt(3)*sqrt(-1)*z^4+1 f1=6*z^5+8*sqrt(3)*sqrt(-1)*z^3 elseif @v=="6" f=z^6-2*sqrt(3)*sqrt(-1)*z^4+1 f1=6*z^5-8*sqrt(3)*sqrt(-1)*z^3 elseif @v=="7" f=z^7+2*sqrt(3)*sqrt(-1)*z^5+1 f1=7*z^6+10*sqrt(3)*sqrt(-1)*z^4 elseif @v=="8" f=z^7-2*sqrt(3)*sqrt(-1)*z^5+1 f1=7*z^6-10*sqrt(3)*sqrt(-1)*z^4 endif z=z-p2*f/f1+p3 bailout: |z|>@bail default: center=(0.001,0.001) title="Unklemesterin Newton" param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam Param p1 default=(0.5,0) endparam Param p2 default=(1,0) endparam Param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } UnklemesterinNova { init: z=fn1(pixel) f=(0,0) f1=(0,0) loop: z=fn2(z) z=z^2*(z-p1)/(1-p1*z) if @v=="1" f=z^4+2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3+4*sqrt(3)*sqrt(-1)*z elseif @v=="2" f=z^4-2*sqrt(3)*sqrt(-1)*z^2+1 f1=4*z^3-4*sqrt(3)*sqrt(-1)*z elseif @v=="3" f=z^5+2*sqrt(3)*sqrt(-1)*z^3+1 f1=5*z^4+6*sqrt(3)*sqrt(-1)*z^2 elseif @v=="4" f=z^5-2*sqrt(3)*sqrt(-1)*z^3+1 f1=5*z^4-6*sqrt(3)*sqrt(-1)*z^2 elseif @v=="5" f=z^6+2*sqrt(3)*sqrt(-1)*z^4+1 f1=6*z^5+8*sqrt(3)*sqrt(-1)*z^3 elseif @v=="6" f=z^6-2*sqrt(3)*sqrt(-1)*z^4+1 f1=6*z^5-8*sqrt(3)*sqrt(-1)*z^3 elseif @v=="7" f=z^7+2*sqrt(3)*sqrt(-1)*z^5+1 f1=7*z^6+10*sqrt(3)*sqrt(-1)*z^4 elseif @v=="8" f=z^7-2*sqrt(3)*sqrt(-1)*z^5+1 f1=7*z^6-10*sqrt(3)*sqrt(-1)*z^4 endif z=z-p2*f/f1+fn3(pixel)+p3 bailout: |z|>@bail default: title="Unklemesterin Nova" center=(0.001,0.001) param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam Param p1 default=(0.5,0) endparam Param p2 default=(1,0) endparam Param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Jacobsthal-LucasNewtonMod { init: z=fn1(pixel) f=(0,0) f1=(0,0) loop: zold=z z=fn2(z) if |z|<1 z=z/|z| endif f=16*z^3+36*z^2+12*z+1 f1=48*z^2+72*z+12 z=p3*z-p1*f/f1+p2 bailout: |zold-z|>@bail default: title="Jacobsthal-Lucas Newton Mod" center=(0.001,0.001) periodicity=0 Param p1 default=(1,0) endparam Param p2 default=(0,0) endparam Param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Jacobsthal-LucasNovaMod { init: z=fn1(pixel) f=(0,0) f1=(0,0) loop: zold=z z=fn2(z) if |z|<1 z=z/|z| endif f=16*z^3+36*z^2+12*z+1 f1=48*z^2+72*z+12 z=p3*z-p1*f/f1+p2+fn3(pixel) bailout: |zold-z|>@bail default: title="Jacobsthal-Lucas Nova Mod" center=(0.001,0.001) angle=90 magn=2 periodicity=0 Param p1 default=(1,0) endparam Param p2 default=(0,0) endparam Param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Toonu { init: z=fn1(pixel) int i=0 loop: zold=z if @V=="1" x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p3) y=y/a+imag(p3) z=x+flip(y) if |z|>1 z=z/|z| endif z=fn2(z-p1*(z*(1+z)*(1+10*z+z^2)/(1-z)^5)/((10+2*z)/(5*(1-z)^4)))+p2 else while i<@iter i=i+1 x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p3) y=y/a+imag(p3) z=x+flip(y) if |z|>1 z=z/|z| endif z=fn2(z-p1*(z*(1+z)*(1+10*z+z^2)/(1-z)^5)/((10+2*z)/(5*(1-z)^4)))+p2 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: center=(0.001,0.001) title="Toonu" magn=0.25 periodicity=0 param V caption="Version" enum="1""2" default=0 endparam Param p1 default=(1,0) endparam Param p2 default=(0,0) endparam Param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } TribonacciNewtonMod { init: z=fn1(pixel) f=(0,0) f1=(0,0) int i=0 loop: zold=z if @V=="1" z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p4) y=y/a+imag(p4) z=x+flip(y) if @P=="3" f=z^4+z f1=4*z^3+1 elseif @P=="4" f=z^6+2*z^3+1 f1=6*z^5+6*z^2 elseif @P=="5" f=z^8+3*z^5+3*z^2 f1=8*z^7+15*z^4+6*z elseif @P=="6" f=z^10+4*z^7+6*z^4+2*z f1=10*z^9+28*z^6+24*z^3+2 elseif @P=="7" f=z^12+5*z^9+10*z^6+7*z^3+1 f1=12*z^11+45*z^8+60*z^5+21*z^2 elseif @P=="8" f=z^14+6*z^11+15*z^8+16*z^5+6*z^2 f1=14*z^13+66*z^10+120*z^7+80*z^4+12*z elseif @P=="9" f=z^16+7*z^13+21*z^10+30*z^7+19*z^4+3*z f1=16*z^15+91*z^12+210*z^9+210*z^6+76*z^3+3 elseif @P=="10" f=z^18+8*z^15+28*z^12+50*z^9+45*z^6+16*z^3+1 f1=18*z^17+120*z^14+336*z^11+450*z^8+270*z^5+48*z^2 elseif @P=="11" f=z^20+9*z^17+36*z^14+77*z^11+90*z^8+51*z^5+10*z^2 f1=20*z^19+153*z^16+504*z^13+847*z^10+720*z^7+255*z^4+20*z endif z=p3*z-p1*f/f1+p2 else while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p4) y=y/a+imag(p4) z=x+flip(y) if @P=="3" f=z^4+z f1=4*z^3+1 elseif @P=="4" f=z^6+2*z^3+1 f1=6*z^5+6*z^2 elseif @P=="5" f=z^8+3*z^5+3*z^2 f1=8*z^7+15*z^4+6*z elseif @P=="6" f=z^10+4*z^7+6*z^4+2*z f1=10*z^9+28*z^6+24*z^3+2 elseif @P=="7" f=z^12+5*z^9+10*z^6+7*z^3+1 f1=12*z^11+45*z^8+60*z^5+21*z^2 elseif @P=="8" f=z^14+6*z^11+15*z^8+16*z^5+6*z^2 f1=14*z^13+66*z^10+120*z^7+80*z^4+12*z elseif @P=="9" f=z^16+7*z^13+21*z^10+30*z^7+19*z^4+3*z f1=16*z^15+91*z^12+210*z^9+210*z^6+76*z^3+3 elseif @P=="10" f=z^18+8*z^15+28*z^12+50*z^9+45*z^6+16*z^3+1 f1=18*z^17+120*z^14+336*z^11+450*z^8+270*z^5+48*z^2 elseif @P=="11" f=z^20+9*z^17+36*z^14+77*z^11+90*z^8+51*z^5+10*z^2 f1=20*z^19+153*z^16+504*z^13+847*z^10+720*z^7+255*z^4+20*z endif z=p3*z-p1*f/f1+p2 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Tribonacci Newton Mod" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param P caption="Polynomial" enum="3""4""5""6""7""8""9""10""11" default=0 endparam Param p1 default=(1,0) endparam Param p2 default=(0,0) endparam Param p3 default=(1,0) endparam Param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=7 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } TrigNewton { init: z=fn1(pixel) loop: z=fn2(z) if @V=="sin(z)" z=z-p1*(sin(z)+p2)/(cos(z))+p3 elseif @V=="cos(z)" z=z-p1*(cos(z)-1+p2)/(-sin(z))+p3 elseif @V=="tan(z)" z=z-p1*(tan(z)+p2)/(1/cos(z)^2)+p3 elseif @V=="cotan(z)" z=z-p1*(cotan(z)-1+p2)/(-1/sin(z)^2)+p3 elseif @V=="sec(z)" z=z-p1*(1/cos(z)-1+p2)/(tan(z)/cos(z))+p3 elseif @V=="cosec(z)" z=z-p1*(1/sin(z)-1+p2)/(-cotan(z)/sin(z))+p3 elseif @V=="sinh(z)" z=z-p1*(sinh(z)+p2)/(cosh(z))+p3 elseif @V=="cosh(z)" z=z-p1*(cosh(z)-1+p2)/(sinh(z))+p3 elseif @V=="tanh(z)" z=z-p1*(tanh(z)+p2)/(1/cosh(z)^2)+p3 elseif @V=="sech(z)" z=z-p1*(1/cosh(z)-1+p2)/(-tanh(z)/cosh(z))+p3 elseif @V=="cosech(z)" z=z-p1*(1/sinh(z)-1+p2)/(-cotanh(z)/sinh(z))+p3 elseif @V=="cotanh(z)" z=z-p1*(cotanh(z)-1+p2)/(-1/sinh(z)^2)+p3 endif bailout: |z|>@bail default: title="Trig Newton" center=(0.001,0.001) magn=0.5 periodicity=0 param V caption="Variant" enum="sin(z)""cos(z)""tan(z)""cotan(z)""sec(z)""cosec(z)"\ "sinh(z)""cosh(z)""tanh(z)""sech(z)""cosech(z)""cotanh(z)" default=4 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } TrigNewtonMod { init: z=fn1(pixel) loop: z=fn2(z) if @V=="sin(z)" z=z-p1*z*(sin(z)+p2)/(cos(z))+p3 elseif @V=="cos(z)" z=z-p1*z*(cos(z)+p2)/(-sin(z))+p3 elseif @V=="tan(z)" z=z-p1*z*(tan(z)+p2)/(1/cos(z)^2)+p3 elseif @V=="cotan(z)" z=z-p1*z*(cotan(z)-1+p2)/(-1/sin(z)^2)+p3 elseif @V=="sec(z)" z=z-p1*z*(1/cos(z)-1+p2)/(tan(z)/cos(z))+p3 elseif @V=="cosec(z)" z=z-p1*z*(1/sin(z)-1+p2)/(-cotan(z)/sin(z))+p3 elseif @V=="sinh(z)" z=z-p1*z*(sinh(z)+1+p2)/(cosh(z))+p3 elseif @V=="cosh(z)" z=z-p1*z*(cosh(z)+p2)/(sinh(z))+p3+0.9 elseif @V=="tanh(z)" z=z-p1*z*(tanh(z)+p2)/(1/cosh(z)^2)+p3 elseif @V=="sech(z)" z=z-p1*z*(1/cosh(z)-1+p2)/(-tanh(z)/cosh(z))+p3 elseif @V=="cosech(z)" z=z-p1*z*(1/sinh(z)-1+p2)/(-cotanh(z)/sinh(z))+p3 elseif @V=="cotanh(z)" z=z-p1*z*(cotanh(z)-1+p2)/(-1/sinh(z)^2)+p3 endif bailout: |z|>@bail default: title="Trig Newton Mod" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="sin(z)""cos(z)""tan(z)""cotan(z)""sec(z)""cosec(z)"\ "sinh(z)""cosh(z)""tanh(z)""sech(z)""cosech(z)""cotanh(z)" default=2 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } TrigNewtonMod2 { init: z=fn1(pixel) loop: z=fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p4) y=y/a+imag(p4) z=x+flip(y) if @V=="sin(z)" z=z-(p1-0.2)*(sin(z)+p2)/(cos(z))+p3 elseif @V=="cos(z)" z=z-p1*(cos(z)-1+p2)/(-sin(z))+p3 elseif @V=="tan(z)" z=z-p1*(tan(z)+p2)/(1/cos(z)^2)+p3 elseif @V=="cotan(z)" z=z-p1*(cotan(z)-1+p2)/(-1/sin(z)^2)+p3 elseif @V=="sec(z)" z=z-(p1-0.25)*(1/cos(z)-1+p2)/(tan(z)/cos(z))+p3 elseif @V=="cosec(z)" z=z-p1*(1/sin(z)-1+p2)/(-cotan(z)/sin(z))+p3 elseif @V=="sinh(z)" z=z-p1*(sinh(z)+p2)/(cosh(z))+p3 elseif @V=="cosh(z)" z=z-(p1-0.2)*(cosh(z)-1+p2)/(sinh(z))+p3 elseif @V=="tanh(z)" z=z-(p1-0.5)*(tanh(z)+p2)/(1/cosh(z)^2)+p3 elseif @V=="sech(z)" z=z-p1*(1/cosh(z)-1+p2)/(-tanh(z)/cosh(z))+p3 elseif @V=="cosech(z)" z=z-p1*(1/sinh(z)-2+p2)/(-cotanh(z)/sinh(z))+p3 elseif @V=="cotanh(z)" z=z-p1*(cotanh(z)-2+p2)/(-1/sinh(z)^2)+p3 endif bailout: |z|>@bail default: title="Trig Newton Mod 2" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="sin(z)""cos(z)""tan(z)""cotan(z)""sec(z)""cosec(z)"\ "sinh(z)""cosh(z)""tanh(z)""sech(z)""cosech(z)""cotanh(z)" default=1 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } TrigErroot { init: z=fn1(pixel) f=(0,0) f1=(0,0) loop: z=fn2(sqr(z)) if @V=="sin(z)" f=sin(z)-1+p2 f1=cos(z) elseif @V=="cos(z)" f=cos(z)-2+p2 f1=-sin(z) elseif @V=="tan(z)" f=tan(z)+1+p2 f1=1/cos(z)^2 elseif @V=="cotan(z)" f=cotan(z)-1+p2 f1=-1/sin(z)^2 elseif @V=="sec(z)" f=1/cos(z)-1+p2 f1=tan(z)/cos(z) elseif @V=="cosec(z)" f=1/sin(z)+1+p2 f1=-cotan(z)/sin(z) elseif @V=="sinh(z)" f=sinh(z)+1+p2 f1=cosh(z) elseif @V=="cosh(z)" f=cosh(z)+p2 f1=sinh(z) elseif @V=="tanh(z)" f=tanh(z)+1+p2 f1=1/cosh(z)^2 elseif @V=="sech(z)" f=1/cosh(z)-2+p2 f1=-tanh(z)/cosh(z) elseif @V=="cosech(z)" f=1/sinh(z)+p2 f1=-cotanh(z)/sinh(z) elseif @V=="cotanh(z)" f=cotanh(z)+2+p2 f1=-1/sinh(z)^2 endif a=f/f1 z=z-p1*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 bailout: |z|>@bail default: title="Trig Erroot" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="sin(z)""cos(z)""tan(z)""cotan(z)""sec(z)""cosec(z)"\ "sinh(z)""cosh(z)""tanh(z)""sech(z)""cosech(z)""cotanh(z)" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } z^2TrigMidpointM { init: z=fn1(pixel) f=(0,0) f1=(0,0) loop: z=fn2(sqr(z)) if @V=="sin(z)" f=sin(z)+p2 f1=cos(z) elseif @V=="cos(z)" f=cos(z)+p2 f1=-sin(z) elseif @V=="tan(z)" f=tan(z)+p2 f1=1/cos(z)^2 elseif @V=="cotan(z)" f=cotan(z)+p2 f1=-1/sin(z)^2 elseif @V=="sec(z)" f=1/cos(z)+p2 f1=tan(z)/cos(z) elseif @V=="cosec(z)" f=1/sin(z)+p2 f1=-cotan(z)/sin(z) elseif @V=="sinh(z)" f=sinh(z)+p2 f1=cosh(z) elseif @V=="cosh(z)" f=cosh(z)+p2 f1=sinh(z) elseif @V=="tanh(z)" f=tanh(z)+p2 f1=1/cosh(z)^2 elseif @V=="sech(z)" f=1/cosh(z)+p2 f1=-tanh(z)/cosh(z) elseif @V=="cosech(z)" f=1/sinh(z)+p2 f1=-cotanh(z)/sinh(z) elseif @V=="cotanh(z)" f=cotanh(z)+p2 f1=-1/sinh(z)^2 endif a=f/f1 z=z-p1*(f/(f1*(z-a/2)))+p3+fn3(pixel) bailout: |z|>@bail default: title="z^2 Trig Midpoint M" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="sin(z)""cos(z)""tan(z)""cotan(z)""sec(z)""cosec(z)"\ "sinh(z)""cosh(z)""tanh(z)""sech(z)""cosech(z)""cotanh(z)" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(-1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } z^2TrigMidpointMMod { init: z=fn1(pixel) f=(0,0) f1=(0,0) loop: z=fn2(sqr(z)) if @V=="sin(z)" f=sin(z)+p2 f1=cos(z) elseif @V=="cos(z)" f=cos(z)+p2 f1=-sin(z) elseif @V=="tan(z)" f=tan(z)+p2 f1=1/cos(z)^2 elseif @V=="cotan(z)" f=cotan(z)+p2 f1=-1/sin(z)^2 elseif @V=="sec(z)" f=1/cos(z)+p2 f1=tan(z)/cos(z) elseif @V=="cosec(z)" f=1/sin(z)+p2 f1=-cotan(z)/sin(z) elseif @V=="sinh(z)" f=sinh(z)+p2 f1=cosh(z) elseif @V=="cosh(z)" f=cosh(z)+p2 f1=sinh(z) elseif @V=="tanh(z)" f=tanh(z)+p2 f1=1/cosh(z)^2 elseif @V=="sech(z)" f=1/cosh(z)+p2 f1=-tanh(z)/cosh(z) elseif @V=="cosech(z)" f=1/sinh(z)+p2 f1=-cotanh(z)/sinh(z) elseif @V=="cotanh(z)" f=cotanh(z)+p2 f1=-1/sinh(z)^2 endif a=f/f1 z=z-p1*z*(f/(f1*(z-a/2)))+p3+fn3(pixel) bailout: |z|>@bail default: title="z^2 Trig Midpoint M Mod" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="sin(z)""cos(z)""tan(z)""cotan(z)""sec(z)""cosec(z)"\ "sinh(z)""cosh(z)""tanh(z)""sech(z)""cosech(z)""cotanh(z)" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(-1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Z^2Sin+CosSchröder { init: z=fn1(pixel) loop: z=fn2(z) f=sin(z)+cos(z)+p1 f1=cos(z)-sin(z) f2=-sin(z)-cos(z) z=z-p2*f*f1/(f1^2-f*f2)+p3 bailout: |z|>@bail default: title="Z^2 Sin+Cos Schröder" center=(0.001,0.001) magn=0.25 periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(-1,0) endparam param p2 default=(0.155,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Z^2Sin+Cos+TanNewton { init: z=fn1(pixel) loop: z=fn2(sqr(z)) f=sin(z)+cos(z)+tan(z)+p1 f1=cos(z)-sin(z)+1/cos(z)^2 z=z-p2*f/f1+p3 bailout: |z|>@bail default: title="Z^2 Sin+Cos+Tan Newton" func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Z^2Sin+Cos+TanNova { init: z=fn1(pixel) loop: z=fn2(sqr(z)) f=sin(z)+cos(z)+tan(z)+p1 f1=cos(z)-sin(z)+1/cos(z)^2 z=z-p2*f/f1+p3+fn3(pixel) bailout: |z|>@bail default: title="Z^2 Sin+Cos+Tan Nova" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } TrigNovaMod { init: z=fn1(pixel) loop: z=fn2(z) if @V=="sin(z)" z=z-p1*z*(sin(z)+p2)/(cos(z))+p3+fn3(pixel) elseif @V=="cos(z)" z=z-p1*z*(cos(z)+p2)/(-sin(z))+p3+fn3(pixel) elseif @V=="tan(z)" z=z-p1*z*(tan(z)+p2)/(1/cos(z)^2)+p3+fn3(pixel) elseif @V=="cotan(z)" z=z-p1*z*(cotan(z)-1+p2)/(-1/sin(z)^2)+p3+fn3(pixel) elseif @V=="sec(z)" z=z-p1*z*(1/cos(z)-1+p2)/(tan(z)/cos(z))+p3+fn3(pixel) elseif @V=="cosec(z)" z=z-p1*z*(1/sin(z)-1+p2)/(-cotan(z)/sin(z))+p3+fn3(pixel) elseif @V=="sinh(z)" z=z-p1*z*(sinh(z)+p2)/(cosh(z))+p3+fn3(pixel) elseif @V=="cosh(z)" z=z-p1*z*(cosh(z)+p2)/(sinh(z))+p3+fn3(pixel) elseif @V=="tanh(z)" z=z-p1*z*(tanh(z)+p2)/(1/cosh(z)^2)+p3+fn3(pixel) elseif @V=="sech(z)" z=z-p1*z*(1/cosh(z)-1+p2)/(-tanh(z)/cosh(z))+p3+fn3(pixel) elseif @V=="cosech(z)" z=z-p1*z*(1/sinh(z)-1+p2)/(-cotanh(z)/sinh(z))+p3+fn3(pixel) elseif @V=="cotanh(z)" z=z-p1*z*(cotanh(z)-1+p2)/(-1/sinh(z)^2)+p3+fn3(pixel) endif bailout: |z|>@bail default: title="Trig Nova Mod" center=(0.001,0.001) magn=2 periodicity=0 param V caption="Variant" enum="sin(z)""cos(z)""tan(z)""cotan(z)""sec(z)""cosec(z)"\ "sinh(z)""cosh(z)""tanh(z)""sech(z)""cosech(z)""cotanh(z)" default=0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Z^2Exp+SinNewton { init: z=fn1(pixel) loop: z=fn2(sqr(z)) f=exp(p1*z)+sin(z)-p2 f1=p1*exp(p1*z)+cos(z) z=z-p3*f/f1+p4 bailout: |z|>@bail default: title = "Z^2 Exp+Sin Newton" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } CykemLagass { init: z=fn1(pixel) loop: z=fn2(z) if @Va=="1" z=z elseif @Va=="2" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="3" if real(z)imag(z) z=flip(z) endif endif z=fn3((z^2/|z^2|+p1)/|z^2/(|z^2|)+p1|+p1)+p2 z=p3*asin(sin(p4*z)) bailout: |z|<@bail default: title="Cykem Lagass" center=(0.001,0.001) maxiter=500 periodicity=0 param Va caption="Variant" enum="1""2""3""4" default=0 endparam param p1 default=(0.34,-0.06) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.8 endparam } YetAnotherNewtonMod { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2((z))+p1 z=p2*asin(sin(p3*z)) x=real(z) y=imag(z) x=x/|z|+real(p4) y=y/|z|+imag(p4) z=x+flip(y) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif endif f=z^3-p5 f1=3*z^2 z=log(abs(z-p6*f/f1))+p4 endwhile z=51*z/50 bailout: |z|<@bail default: title="Yet Another Newton Mod" center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam param iter caption="Iterations" default=3 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Sinchord { init: z=fn1(pixel) loop: z=p1*fn2(sin(fn3(z)))+p2 z=p3*log(abs(2*sin(z/2)))+p4 if @Va=="1" z=z elseif @Va=="2" x=real(z) y=imag(z) x=x/|z|+real(p5) y=y/|z|+imag(p5) z=x+flip(y) elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" if |z|<1 z=z/|z| endif endif bailout: |z|<@bail default: title="Sinchord" center=(0.001,0.001) periodicity=0 maxiter=500 param Va caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) visible=@Va=="2" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } CayleyMod2 { init: z=fn1(pixel) i=sqrt(-1) loop: z=p1*fn2(z)+p2 if @Va=="1" z=z elseif @Va=="2" if real(z)imag(z) z=flip(z) endif endif if cabs(z)imag(z) z=flip(z) endif endif z=p3*fn3(log(fn4((z-sqrt(-1))/(z+sqrt(-1)))))^@pow+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Cayley Mod 3" center=(0.001,0.001) maxiter=500 periodicity=0 param V1 caption="Variant" enum="1""2""3" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=17 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=1000000.0 endparam } Emmod1J { ;Modification of formula given by Edgar Malinovsky ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/msg42609/#msg42609 init: z=fn1((pixel)) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=p2*log(abs((((((z^2*p3)+1)^2)-1)^2)-1))+p4 endwhile z=51*z/50 bailout: |z|<@bail default: title="Emmod 1 J" maxiter=500 center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=3 endparam param bail caption="Bailout" default=100000000.0 endparam } Emmod1M { ;Modification of formula given by Edgar Malinovsky ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/msg42609/#msg42609 init: z=fn1((pixel)) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" if real(z)imag(z) z=abs(flip(z)) endif endif x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=p2*log(abs((((((z^2*pixel)+1)^2)-1)^2)-1))+p3 endwhile z=51*z/50 bailout: |z|<@bail default: title="Emmod 1 M" maxiter=500 center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=3 endparam param bail caption="Bailout" default=100000000.0 endparam } Emmod2J { ;Modification of formula given by Edgar Malinovsky ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/msg42609/#msg42609 init: z=fn1((pixel)) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=p2*log(abs((((((z^3)*p3+1i)^3)+1i)^3)+1i))+p4 endwhile z=51*z/50 bailout: |z|<@bail default: title="Emmod 2 J" maxiter=500 center=(0.001,0.001) periodicity=0 param Va enum="1""2""3""4""5" caption="Variant" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=3 endparam param bail caption="Bailout" default=100000000.0 endparam } Emmod2M { ;Modification of formula given by Edgar Malinovsky ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/msg42609/#msg42609 init: z=fn1((pixel)) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=p2*log(abs((((((z^3)*pixel+1i)^3)+1i)^3)+1i))+p3 endwhile z=51*z/50 bailout: |z|<@bail default: title="Emmod 2 M" maxiter=500 center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=3 endparam param bail caption="Bailout" default=100000000.0 endparam } SinhPascalHalley { init: z=fn1(pixel) int i=0 f=(0,0) f1=(0,0) f2=(0,0) loop: zold=z if @V=="1" z=fn2(sinh(fn3(z))) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif endif if @P=="2" f=z^2+3*z+2 f1=2*z+3 f2=2 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 f2=6*z+8 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 f2=12*z^2+30*z+18 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 f2=20*z^3+72*z^2+84*z+32 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 f2=30*z^4+140*z^3+240*z^2+180*z+50 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 f2=42*z^5+240*z^4+540*z^3+600*z^2+330*z+72 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 f2=56*z^6+378*z^5+1050*z^4+1540*z^3+1260*z^2+546*z+98 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 f2=72*z^7+560*z^6+1848*z^5+3360*z^4+3640*z^3+2352*z^2+840*z+128 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 f2=90*z^8++792*z^7+3024*z^6+6552*z^5+8820*z^4+7560*z^3+4032*z^2+1224*z+162 endif z=p2*z-p1*2*f*f1/(2*f1^2-f*f2)+p3 else while i<@iter i=i+1 z=fn2(sinh(fn3(z))) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif endif if @P=="2" f=z^2+3*z+2 f1=2*z+3 f2=2 elseif @P=="3" f=z^3+4*z^2+5*z+2 f1=3*z^2+8*z+5 f2=6*z+8 elseif @P=="4" f=z^4+5*z^3+9*z^2+7*z+2 f1=4*z^3+15*z^2+18*z+7 f2=12*z^2+30*z+18 elseif @P=="5" f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 f2=20*z^3+72*z^2+84*z+32 elseif @P=="6" f=z^6+7*z^5+20*z^4+30*z^3+25*z^2+11*z+2 f1=6*z^5+35*z^4+80*z^3+90*z^2+50*z+11 f2=30*z^4+140*z^3+240*z^2+180*z+50 elseif @P=="7" f=z^7+8*z^6+27*z^5+50*z^4+55*z^3+36*z^2+13*z+2 f1=7*z^6+48*z^5+135*z^4+200*z^3+165*z^2+72*z+13 f2=42*z^5+240*z^4+540*z^3+600*z^2+330*z+72 elseif @P=="8" f=z^8+9*z^7+35*z^6+77*z^5+105*z^4+91*z^3+49*z^2+15*z+2 f1=8*z^7+63*z^6+210*z^5+385*z^4+420*z^3+273*z^2+98*z+15 f2=56*z^6+378*z^5+1050*z^4+1540*z^3+1260*z^2+546*z+98 elseif @P=="9" f=z^9+10*z^8+44*z^7+112*z^6+182*z^5+196*z^4+140*z^3+64*z^2+17*z+2 f1=9*z^8+80*z^7+308*z^6+672*z^5+910*z^4+784*z^3+420*z^2+128*z+17 f2=72*z^7+560*z^6+1848*z^5+3360*z^4+3640*z^3+2352*z^2+840*z+128 elseif @P=="10" f=z^10+11*z^9+54*z^8+156*z^7+294*z^6+378*z^5+336*z^4+204*z^3+81*z^2+19*z+2 f1=10*z^9++99*z^8+432*z^7+1092*z^6+1764*z^5+1890*z^4+1344*z^3+612*z^2+162*z+19 f2=90*z^8++792*z^7+3024*z^6+6552*z^5+8820*z^4+7560*z^3+4032*z^2+1224*z+162 endif z=p2*z-p1*2*f*f1/(2*f1^2-f*f2)+p3 endwhile z=51*z/50 endif bailout: (|z|<@bail2 && @V=="2") || (|zold-z|>@bail1 && @V=="1") default: title="Sinh Pascal Halley " center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" default=0 endparam param Va caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param P caption="Polynomial" enum="2""3""4""5""6""7""8""9""10" default=2 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=17 visible=@V=="2" endparam param bail1 caption="Bailout" default=0.000000001 visible=@V=="1" endparam param bail2 caption="Bailout" default=4.0 visible=@V=="2" endparam } Gingul { ;Modifications of a formula given by Kali ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/120/ init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="tantan" z=tan(tan(pixel)) elseif @Fs=="cotancotan" z=cotan(cotan(pixel)) elseif @Fs=="cotanhcotanh" z=cotanh(cotanh(pixel)) endif int i=0 loop: while i<@iter i=i+1 z=p5*fn2(flip(fn3(z)))+p4 if @V2=="1" z=z elseif @V2=="2" if |z|>1 z=z/|z| endif elseif @V2=="3" if |z|<1 z=z/|z| endif elseif @V2=="4" if real(z)imag(z) z=flip(z) endif endif x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=z-p2*(z^3-1)/(3*z^2) if @V=="1" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^2*p3+1)))))+@p7 elseif @V=="2" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^2*p3)))))+@p7 elseif @V=="3" z=p6*fn4(log(abs(@fn5((z^2*p3)+1/(z^2*p3+1)))))+@p7 elseif @V=="4" z=p6*fn4(log(abs(@fn5((z^2*p3)+1/(z^2*p3)))))+@p7 elseif @V=="5" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^2*p3+1)))))+@p7 elseif @V=="6" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^2*p3)))))+@p7 elseif @V=="7" z=p6*fn4(log(abs(@fn5((z^3*p3)+1/(z^2*p3+1)))))+@p7 elseif @V=="8" z=p6*fn4(log(abs(@fn5((z^3*p3)+1/(z^2*p3)))))+@p7 elseif @V=="9" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^3*p3+1)))))+@p7 elseif @V=="10" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^3*p3)))))+@p7 elseif @V=="11" z=p6*fn4(log(abs(@fn5((z^2*p3)+1/(z^3*p3+1)))))+@p7 elseif @V=="12" z=p6*fn4(log(abs(@fn5((z^2*p3)+1/(z^3*p3)))))+@p7 elseif @V=="13" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^3*p3+1)))))+@p7 elseif @V=="14" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^3*p3)))))+@p7 elseif @V=="15" z=p6*fn4(log(abs(@fn5((z^3*p3)+1/(z^3*p3+1)))))+@p7 elseif @V=="16" z=p6*fn4(log(abs(@fn5((z^3*p3)+1/(z^3*p3)))))+@p7 elseif @V=="17" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z*p3+1)))))+@p7 elseif @V=="18" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z*p3)))))+@p7 elseif @V=="19" z=p6*fn4(log(abs(@fn5((z^2*p3)+1/(z*p3+1)))))+@p7 elseif @V=="20" z=p6*fn4(log(abs(@fn5((z^2*p3)+1/(z*p3)))))+@p7 elseif @V=="21" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^2*p3-1)))))+@p7 elseif @V=="22" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^2*p3-2)))))+@p7 elseif @V=="23" z=p6*fn4(log(abs(@fn5((z^2*p3-1)+1/(z^2*p3+1)))))+@p7 elseif @V=="24" z=p6*fn4(log(abs(@fn5((z^2*p3-2)+1/(z^2*p3+1)))))+@p7 elseif @V=="25" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^2*p3 -1)))))+@p7 elseif @V=="26" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^2*p3-2)))))+@p7 elseif @V=="27" z=p6*fn4(log(abs(@fn5((z^3*p3-1)+1/(z^2*p3+1)))))+@p7 elseif @V=="28" z=p6*fn4(log(abs(@fn5((z^3*p3-2)+1/(z^2*p3+1)))))+@p7 elseif @V=="29" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^3*p3-1)))))+@p7 elseif @V=="30" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z^3*p3-2)))))+@p7 elseif @V=="31" z=p6*fn4(log(abs(@fn5((z^2*p3-1)+1/(z^3*p3+1)))))+@p7 elseif @V=="32" z=p6*fn4(log(abs(@fn5((z^2*p3-2)+1/(z^3*p3+1)))))+@p7 elseif @V=="33" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^3*p3-1)))))+@p7 elseif @V=="34" z=p6*fn4(log(abs(@fn5((z^3*p3+1)+1/(z^3*p3-2)))))+@p7 elseif @V=="35" z=p6*fn4(log(abs(@fn5((z^3*p3-1)+1/(z^3*p3+1)))))+@p7 elseif @V=="36" z=p6*fn4(log(abs(@fn5((z^3*p3-2)+1/(z^3*p3+1)))))+@p7 elseif @V=="37" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z*p3-1)))))+@p7 elseif @V=="38" z=p6*fn4(log(abs(@fn5((z^2*p3+1)+1/(z*p3-2)))))+@p7 elseif @V=="39" z=p6*fn4(log(abs(@fn5((z^2*p3-1)+1/(z*p3+1)))))+@p7 elseif @V=="40" z=p6*fn4(log(abs(@fn5((z^2*p3-2)+1/(z*p3+1)))))+@p7 endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Gingul" maxiter=500 center=(0.001,0.001) periodicity=0 param V2 caption="Variant 1" enum="1""2""3""4""5" default=0 endparam param V caption="Variant 2" enum="1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16"\ "17""18""19""20""21""22""23""24"\ "25""26""27""28""29""30""31""32"\ "33""34""35""36""37""38""39""40" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param p6 default=(1,0) endparam param p7 caption="Parameter 7" default=(0,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""haversin""coversin"\ "hacoversin""vercos""havercos""covercos"\ "hacovercos"\ "sec""sech""cosec""cosech""exsec"\ "excosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""expit""gauss""softplus"\ "sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""sinsin""coscos""tantan""cotancotan""cotanhcotanh" default=22 endparam func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc param iter caption="Iterations" default=3 endparam param bail caption="Bailout" default=100000000.0 endparam } FinanuGerdoth { ;Modification of aformula given by M Benesi ;http://www.fractalforums.com/mandelbrot-and-julia-set/is-there-anything-novel-left-to-do-in-m-like-escape-time-fractals-in-2d/75/ init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=p2*log(abs(z^2-z^3-p3*p4-p4+sqrt(p3*z)))+p5 if @Va2=="1" z=z elseif @Va2=="2" z=z+p6*z^2 elseif @Va2=="3" z=z+p6*z/exp(z) elseif @Va2=="4" z=z+p6*z/log(z) elseif @Va2=="5" z=z+p6*z/sqrt(z) elseif @Va2=="6" z=z+p6*z/cotanh(z) elseif @Va2=="7" z=z+p6*z/cotan(z) elseif @Va2=="8" z=z+p6*z/cosh(z) elseif @Va2=="9" z=z+p6*z/cos(z) endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Finanu Gerdoth" periodicity=0 param Va caption="Variant 1" enum="1""2""3""4""5" default=0 endparam param Va2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 caption="Parameter 4" default=1.0 endparam param p5 default=(0,0) endparam param p6 default=(1,0) visible=@Va2!="1" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param iter caption="Iterations" default=5 endparam param bail caption="Bailout" default=4.0 endparam } Grunkir { init: z=fn1(pixel) loop: z=fn2(z) if |z|<1 z=z/|z| endif z=fn3(exp(p1*1i)*z^2*(z-4*p2)/(p2-4*z))+p3 bailout: |z|<@bail default: title="Grunkir" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Grunkir2 { init: z=fn1(pixel) loop: z=fn2(z) x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=fn3(exp(p2*1i)*z^2*(z-4*p3)/(p3-4*z))+p4 z=z+p5*z/fn4(exp(z)) bailout: |z|<@bail default: title="Grunkir 2" center=(0.001,0.001) periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Grunkir3 { init: z=fn1(pixel) loop: z=fn2(sin(z)) if real(z)>imag(z) z=flip(z) endif z=fn3(exp(p1*0.5*1i)*z^2*(z-4*p2)/(p2-4*z))+p3 bailout: |z|<@bail default: title="Grunkir 3" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Grunkir4 { init: z=fn1(pixel) loop: z=fn2(z) if real(z)>imag(z) z=flip(z) endif z=fn3(exp(p1*1i)*z^2*(z-4*p2)/(p2-4*z))+p3 z=z+p4*z/fn4(sin(z)) bailout: |z|<@bail default: title="Grunkir 4" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Grunkir5 { init: z=fn1(pixel) loop: z=fn2(z) if |z|<1 z=z/|z| endif z=fn3(exp(p1*1i)*z^2*(z-4*p2)/(p2-4*z))+p3 z=z+p4*z/fn4(sin(z)) bailout: |z|<@bail default: title="Grunkir 5" center=(0.001,0.001) periodicity=0 magn=0.5 param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Breadhouse { ;Based on the equation for Baker domain given here: ;https://en.wikipedia.org/wiki/Classification_of_Fatou_components init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif z=p1*z+p2 if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif endif if @V=="J1" z=z-p3+(1-2*z)*exp(z) elseif @V=="J2" z=z-1+(p3-2*z)*exp(z) elseif @V=="J3" z=z-1+(1-p3*z)*exp(z) elseif @V=="M1" z=z-pixel+(1-2*z)*exp(z) elseif @V=="M2" z=z-1+(pixel-2*z)*exp(z) elseif @V=="M3" z=z-1+(1-pixel*z)*exp(z) endif bailout: |z|<@bail default: title="Breadhouse" center=(0.001,0.001) param V caption="J/M" enum="J1""J2""J3""M1""M2""M3" default=1 endparam param Va caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 caption="Seed" default=(1.5,0) visible=@V=="J1" || @V=="J2" endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param bail caption="Bailout" default=4.0 endparam } Eddifa { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif if @V=="J" z=z^2*(z-p1)/(z-p2)+p3 else z=z^2*(z-p1)/(z-p2)+pixel endif bailout: |z|<@bail default: title="Eddifa" param V caption="J/M" enum="J""M" default=0 endparam param Va caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(1,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) visible=@V=="J" endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param bail caption="Bailout" default=4.0 endparam } Grunkir10 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if |z|<1 z=z/|z| endif z=fn3(exp(p1*1i)*z^2*(z-4*p2)/(1-4*p2*z))+p3 z=z+p4*z/fn4(sin(z)) bailout: |z|<@bail default: title="Grunkir 10" center=(0.001,0.001) periodicity=0 magn=0.5 param p1 default=(1,0) endparam param p2 default=(2,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Grunkir6 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if |z|<1 z=z/|z| endif z=fn3(exp(p1*1i)*z^2*(z-4*p2)/(1-4*p2*z))+p3 bailout: |z|<@bail default: title="Grunkir 6" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0.5,0) endparam param p3 default=(0,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Grunkir7 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=fn3(exp(p2*1i)*z^2*(z-4*p3)/(1-4*p3*z))+p4 z=z+p5*z/fn4(exp(z)) bailout: |z|<@bail default: title="Grunkir 7" center=(0.001,0.001) periodicity=0 param p1 default=(-0.3,0) endparam param p2 default=(1,0) endparam param p3 default=(0.5,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Grunkir8 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: z=sin(z) if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if real(z)>imag(z) z=flip(z) endif z=fn3(exp(p1*1i)*z^2*(z-4*p2)/(1-4*p2*z))+p3 bailout: |z|<@bail default: title="Grunkir 8" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(2,0) endparam param p3 default=(0,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Grunkir9 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if real(z)>imag(z) z=flip(z) endif z=fn3(exp(p1*1i)*z^2*(z-4*p2)/(1-4*p2*z))+p3 z=z+p4*z/fn4(sin(z)) bailout: |z|<@bail default: title="Grunkir 9" center=(0.001,0.001) periodicity=0 param p1 default=(2.4,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Halley { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif f=(0,0) f1=(0,0) f2=(0,0) f3=(0,0) f4=(0,0) loop: zold=z if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p4*z+p5 else z=p4*z endif if @Va=="none" z=z elseif @Va=="1" z=z+1/z elseif @Va=="2" z=z+1/sin(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=(x+flip(y))^2-(x+flip(y)) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif if @E=="3" f=z^3-p3 f1=3*z^2 f2=6*z f3=6 f4=0 elseif @E=="4" f=z^4-p3 f1=4*z^3 f2=12*z^2 f3=24*z f4=24 elseif @E=="5" f=z^5-p3 f1=5*z^4 f2=20*z^3 f3=60*z^2 f4=120*z elseif @E=="6" f=z^6-p3 f1=6*z^5 f2=30*z^4 f3=120*z^3 f4=360*z^2 elseif @E=="7" f=z^7-p3 f1=7*z^6 f2=42*z^5 f3=210*z^4 f4=840*z^3 endif if @JM=="J" if @V=="1" z=z-p1*(2*f1*f/(2*f1^2-f2*f))+p2 elseif @V=="2" z=z-p1*((6*f1^2*f-3*f2*f^2)/(f3*f^2+6*f1^3-6*f2*f1*f))+p2 elseif @V=="3" z=z-4*f*p1*((6*f1^3-6*f2*f1*f+f3*f^2)/(24*f1^4-36*f2*f1^2*f+8*f3*f1*f^2+6*f2^2*f^2-f4*f^3))+p2 endif else if @V=="1" z=z-p1*(2*f1*f/(2*f1^2-f2*f))+p2+fn3(pixel) elseif @V=="2" z=z-p1*((6*f1^2*f-3*f2*f^2)/(f3*f^2+6*f1^3-6*f2*f1*f))+p2+fn3(pixel) elseif @V=="3" z=z-4*f*p1*((6*f1^3-6*f2*f1*f+f3*f^2)/(24*f1^4-36*f2*f1^2*f+8*f3*f1*f^2+6*f2^2*f^2-f4*f^3))+p2+fn3(pixel) endif endif bailout: |zold-z|>@bail default: title="Halley" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param JM caption="J/M" enum="J""M" default=0 endparam param E caption="Power" enum="3""4""5""6""7" default=0 endparam param Va caption="Modification" enum="none""1""2""3""4""5" default=0 endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() visible=@JM=="M" endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) visible=@JM=="J" endparam param bail caption="Bailout" default=0.000000001 endparam } Householder { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif f=(0,0) f1=(0,0) f2=(0,0) f3=(0,0) f4=(0,0) loop: zold=z if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p4*z+p5 else z=p4*z endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif if @E=="3" f=z^3-p3 f1=3*z^2 f2=6*z f3=6 f4=0 elseif @E=="4" f=z^4-p3 f1=4*z^3 f2=12*z^2 f3=24*z f4=24 elseif @E=="5" f=z^5-p3 f1=5*z^4 f2=20*z^3 f3=60*z^2 f4=120*z elseif @E=="6" f=z^6-p3 f1=6*z^5 f2=30*z^4 f3=120*z^3 f4=360*z^2 elseif @E=="7" f=z^7-p3 f1=7*z^6 f2=42*z^5 f3=210*z^4 f4=840*z^3 endif a=f/f1 if @JM=="J" if @V=="1" z=z-p1*(a+a^2*f2/(2*f1))+p2 elseif @V=="2" z=z-p1*(a+a^2*f2/(2*f1)-a^3*(f3/(6*f1)-f2/(2*f1^2)))+p2 elseif @V=="3" z=z-p1*(a+a^2*f2/(2*f1)-a^3*(f3/(6*f1)-f2/(2*f1^2))+a^4*(f4/(24*f1)-5*f2*f3/(12*f1^2)+5*f2^3/(8*f1^3)))+p2 endif else if @V=="1" z=z-p1*(a+a^2*f2/(2*f1))+p2+fn3(pixel) elseif @V=="2" z=z-p1*(a+a^2*f2/(2*f1)-a^3*(f3/(6*f1)-f2/(2*f1^2)))+p2+fn3(pixel) elseif @V=="3" z=z-p1*(a+a^2*f2/(2*f1)-a^3*(f3/(6*f1)-f2/(2*f1^2))+a^4*(f4/(24*f1)-5*f2*f3/(12*f1^2)+5*f2^3/(8*f1^3)))+p2+fn3(pixel) endif endif bailout: |zold-z|>@bail default: title="Householder" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3" default=0 endparam param JM caption="J/M" enum="J""M" default=0 endparam param E caption="Power" enum="3""4""5""6""7" default=0 endparam param Va caption="Modification" enum="none""1""2""3""4""5" default=0 endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() visible=@JM=="M" endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) visible=@JM=="J" endparam param bail caption="Bailout" default=0.000000001 endparam } HouseholderMod1 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif f=(0,0) f1=(0,0) f2=(0,0) loop: if real(z)@bail default: title="Householder Mod 1" center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam param p6 default=(1,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } HouseholderMod2 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif f=(0,0) f1=(0,0) f2=(0,0) loop: if |z|>1 z=z/|z| endif zold=z z=p4*fn2(sqr(fn3(z)))+p5 if @Va=="1" z=z elseif @Va=="2" z=cotanh(z) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sin(x+flip(y)) elseif @Va=="3" z=cotan(z) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sin(x+flip(y)) elseif @Va=="4" z=recip(z) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sin(x+flip(y)) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif endif f=z^5+6*z^4+14*z^3+16*z^2+9*z+2 f1=5*z^4+24*z^3+42*z^2+32*z+9 f2=20*z^3+72*z^2+84*z+32 a=f/f1 z=p6*(z-p1*a-p2*a^2*f2/(2*f1))+p3 bailout: |zold-z|>@bail default: title="Householder Mod 2" center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(-1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam param p6 default=(1,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Snogere { init: z=fn1(pixel) loop: z=fn2(sqr(z))+p1 if @Va=="1" z=z elseif @Va=="2" z=recip(z) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=flip(x+flip(y)) elseif @Va=="3" z=recip(z) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=abs(x+flip(y)) elseif @Va=="4" z=cotanh(z) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=abs(x+flip(y)) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif elseif @Va=="7" z=cotanh(z) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sqr(x+flip(y)) endif f=z^3-1 f1=3*z^2 f2=6*z z=p2*z+0.15*fn3((f1/f)^2+f2/f)+p3+fn4(pixel) bailout: |z|>@bail default: title="Snogere" center=(0.001,0.001) param Va caption="Variant" enum="1""2""3""4""5""6""7" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Jengor { init: z=fn1(pixel) loop: z=fn2((z))+p4 if @Va=="1" z=z elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="4" if |z|<1 z=fn4(z/|z|) endif elseif @Va=="5" z=z+1/cotanh(z) endif z=p1*p2*fn4(fn3(sin(z/p2))*(z+1-p2)+p2-1)+p3 bailout: |z|>@bail default: title="Jengor" center=(0.001,0.001) param Va caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Gwynne { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=exp(p1*1i)*((z-p2)/(1-p2*z))^2/z+p3 bailout: |z|<@bailout default: title="Gwynne" center=(0.001,0.001) param p1 caption="Parameter 1" default=-3.0 endparam param p2 default=(0.5,0) endparam param p3 default=(0,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param Va caption="Modification" enum="none""1""2""3""4""5" default=0 endparam param bailout caption="Bailout" default=4.0 endparam } Gwynne2 { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=exp(p1*1i)*(z-p2)*((z-p3)/(1-p3*z))^2/(1-p2*z)+p4 bailout: |z|<@bail default: title="Gwynne 2" periodicity=0 param p1 caption="Parameter 1" default=-3.0 endparam param p2 default=(-0.7,0) endparam param p3 default=(-3,0) endparam param p4 default=(0,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param Va caption="Modification" enum="none""1""2""3""4""5" default=0 endparam param bail caption="Bailout" default=4.0 endparam } Rygsen { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=exp(p1*1i)*z^2/(z-p2)+2*p2+p3 z=fn3(z) bailout: |z|<@bail default: title="Rygsen" center=(0.001,0.001) periodicity=0 param p1 default=(1.5,0) endparam param p2 default=(0.5,0) endparam param p3 default=(-1,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc param Va caption="Modification" enum="none""1""2""3""4""5" default=0 endparam param bail caption="Bailout" default=4.0 endparam } Yoodac { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="labs" z=log(abs(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="labs" z=log(abs(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @Va=="1" z=z elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if |z|>1 z=z/|z| endif elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif endif if @JM=="J" z=((p1+1i)*z^2+p1-1i)/((p1-1i)*z^2+1+1i)+p2 else z=((p1+1i)*z^2+p1-1i)/((p1-1i)*z^2+1+1i)+p2+fn4(pixel) endif z=fn3(z) bailout: |z|<@bail default: title="Yoodac" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" default=0 endparam param Va caption="Variant" enum="1""2""3""4""5""6" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc func fn4 default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } HofstadterQ { ; Iterated polynomials based on the Hofstadter "Q" series ; http://paulbourke.net/fractals/qseries/ ; http://oeis.org/A005185 init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="labs" z=log(abs(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="labs" z=log(abs(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p3*z+p4 else z=p3*z endif if @Va=="none" z=z elseif @Va=="1" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sqr(recip(x+flip(y))) elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=cotan(x+flip(y)) elseif @Va=="5" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=abs(recip(x+flip(y))) endif if @V=="3" z=(5*z^3+5*z^2++6*z+6)/6 elseif @V=="4" z=(6*z^4+8*z^3+8*z^2+8*z+10)/10 elseif @V=="5" z=(9*z^5+10*z^4+11*z^3+11*z^2+12*z+12)/12 elseif @V=="6" z=(12*z^6+12*z^5+16*z^4+14*z^3+14*z^2+16*z+16)/16 elseif @V=="7" z=(16*z^7+16*z^6+20*z^5+17*z^4+17*z^3+20*z^2+21*z+19)/19 elseif @V=="8" z=(20*z^8+22*z^7+21*z^6+22*z^5+23*z^4+23*z^3+24*z^2+24*z+24)/24 elseif @V=="9" z=(24*z^9+24*z^8+32*z^7+24*z^6+25*z^5+30*z^4+28*z^3+26*z^2+30*z+30)/30 elseif @V=="10" z=(28*z^10+32*z^9+30*z^8+32*z^7+32*z^6+32*z^5+32*z^4+40*z^3+33*z^2+31*z+38)/38 elseif @V=="11" z=(35*z^11+33*z^10+39*z^9+40*z^8+37*z^7+38*z^6+40*z^5+39*z^4+40*z^3+39*z^2+42*z+40)/40 elseif @V=="12" z=(41*z^12+43*z^11+44*z^10+43*z^9+43*z^8+46*z^7+44*z^6+45*z^5+47*z^4+47*z^3+46*z^2+48*z+48)/48 endif if @F3=="sin" z=sin(z) elseif @F3=="sinh" z=sinh(z) elseif @F3=="asin" z=asin(z) elseif @F3=="asinh" z=asinh(z) elseif @F3=="cos" z=cos(z) elseif @F3=="cosh" z=cosh(z) elseif @F3=="acos" z=acos(z) elseif @F3=="acosh" z=acosh(z) elseif @F3=="tan" z=tan(z) elseif @F3=="tanh" z=tanh(z) elseif @F3=="atan" z=atan(z) elseif @F3=="atanh" z=atanh(z) elseif @F3=="cotan" z=cotan(z) elseif @F3=="cotanh" z=cotanh(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="sqrt" z=sqrt(z) elseif @F3=="log" z=log(z) elseif @F3=="exp" z=exp(z) elseif @F3=="abs" z=abs(z) elseif @F3=="cabs" z=cabs(z) elseif @F3=="conj" z=conj(z) elseif @F3=="flip" z=flip(z) elseif @F3=="ident" z=ident(z) elseif @F3=="recip" z=recip(z) elseif @F3=="versin" z=1-cos(z) elseif @F3=="aversin" z=acos(1-z) elseif @F3=="haversin" z=(1-cos(z))/2 elseif @F3=="ahaversin" z=2*asin(sqrt(z)) elseif @F3=="coversin" z=1-sin(z) elseif @F3=="acoversin" z=asin(1-z) elseif @F3=="hacoversin" z=(1-sin(z))/2 elseif @F3=="vercos" z=1+cos(z) elseif @F3=="avercos" z=acos(1+z) elseif @F3=="havercos" z=(1+cos(z))/2 elseif @F3=="ahavercos" z=2*acos(sqrt(z)) elseif @F3=="covercos" z=1+sin(z) elseif @F3=="acovercos" z=asin(1+z) elseif @F3=="hacovercos" z=(1+sin(z))/2 elseif @F3=="acotan" z=atan(1/(z)) elseif @F3=="acotanh" z=atanh(1/(z)) elseif @F3=="sec" z=1/cos(z) elseif @F3=="sech" z=1/cosh(z) elseif @F3=="asec" z=acos(1/z) elseif @F3=="asech" z=acosh(1/z) elseif @F3=="cosec" z=1/sin(z) elseif @F3=="cosech" z=1/sinh(z) elseif @F3=="acosec" z=asin(1/z) elseif @F3=="acosech" z=asinh(1/z) elseif @F3=="exsec" z=1/cos(z)-1 elseif @F3=="aexsec" z= acos(1/(z+1)) elseif @F3=="excosec" z=1/sin(z)-1 elseif @F3=="aexcosec" z=asin(1/(z+1)) elseif @F3=="crd" z=2*sin(z/2) elseif @F3=="acrd" z=2*asin(z/2) elseif @F3=="gd" z=asin(tanh(z)) elseif @F3=="agd" z=asinh(tan(z)) elseif @F3=="sinc" z=sin(z)/(z) elseif @F3=="sinhc" z=sinh(z)/(z) elseif @F3=="cosc" z=cos(z)/(z) elseif @F3=="coshc" z=cosh(z)/(z) elseif @F3=="tanc" z=tan(z)/(z) elseif @F3=="tanhc" z=tanh(z)/(z) elseif @F3=="cotanc" z=cotan(z)/(z) elseif @F3=="cotanhc" z=cotanh(z)/(z) elseif @F3=="secc" z=1/(z*cos(z)) elseif @F3=="sechc" z=1/(z*cosh(z)) elseif @F3=="cosecc" z= 1/(z*sin(z)) elseif @F3=="cosechc" z=1/(z*sinh(z)) elseif @F3=="cube" z=z^3 elseif @F3=="cuberoot" z=z^(1/3) elseif @F3=="colog" z=-log(z) elseif @F3=="logit" z= log(z/(1-z)) elseif @F3=="expit" z=1/(1+exp(-z)) elseif @F3=="gauss" z=exp(-sqr(z)) elseif @F3=="softplus" z=log(1+exp(z)) elseif @F3=="primecount" z=z/log(z) elseif @F3=="sqr+" z=sqr(z)+z elseif @F3=="cube+" z=z^3+sqr(z)+z elseif @F3=="sin+" z=sin(z)+z elseif @F3=="cos+" z=cos(z)+z elseif @F3=="tan+" z=tan(z)+z elseif @F3=="cotan+" z=cotan(z)+z elseif @F3=="sec+" z=1/cos(z)+z elseif @F3=="cosec+" z=1/sin(z)+z elseif @F3=="sin*" z=sin(z)*z elseif @F3=="cos*" z=cos(z)*z elseif @F3=="tan*" z=tan(z)*z elseif @F3=="cotan*" z=cotan(z)*z elseif @F3=="sec*" z=z/cos(z) elseif @F3=="cosec*" z=z/sin(z) elseif @F3=="loglog" z=log(log(z)) elseif @F3=="sinsin" z=sin(sin(z)) elseif @F3=="coscos" z=cos(cos(z)) elseif @F3=="labs" z=log(abs(z)) elseif @F3=="ceil" z=ceil(z) elseif @F3=="floor" z=floor(z) elseif @F3=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p1*z+p2 else z=p1*z+p2+fn4(pixel) endif bailout: |z|<@bail default: title="Hofstadter Q" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" default=0 endparam param V caption="Polynomial" enum="3""4""5""6""7""8""9""10""11""12" default=0 endparam param Va caption="Modification" enum="none""1""2""3""4""5" default=0 endparam param p1 default=(1,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) visible=@JM=="J" endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam param F3 caption="Function 3" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam func fn4 default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } Anti-Fibonacci { ; http://oeis.org/A075326 ; http://oeis.org/A075326/b075326.txt ; https://oeis.org/A075326/a075326_1.pdf init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="labs" z=log(abs(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="labs" z=log(abs(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p3*z+p4 else z=p3*z endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if @JM=="J" if |z|>1 z=z/|z| endif else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=cotan(x+flip(y)) endif elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=flip(cotan(x+flip(y))) endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=atanh(x+flip(y)) else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=conj(cotan(x+flip(y))) endif elseif @Va=="7" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=tan(flip(x+flip(y))) elseif @Va=="8" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sinh(x+flip(y)) else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=flip(cotanh(x+flip(y))) endif elseif @Va=="9" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=asin(abs(x+flip(y))) else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=cotan(sqr(x+flip(y))) endif elseif @Va=="10" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=tan(abs(x+flip(y))) elseif @Va=="11" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=atanh(abs(x+flip(y))) else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=flip(sqr(recip(x+flip(y)))) endif elseif @Va=="12" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=recip(sqr(x+flip(y))) elseif @Va=="13" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=recip(sin(x+flip(y))) elseif @Va=="14" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=recip(flip(x+flip(y))) endif if @V=="3" z=(33*z^3+39*z^2+43*z+49)/33 elseif @V=="4" z=(53*z^4+58*z^3+63*z^2+69*z+73)/53 elseif @V=="5" z=(78*z^5+83*z^4+89*z^3+93*z^2+98*z+103)/78 elseif @V=="6" z=(109*z^6+113*z^5+119*z^4+123*z^3+129*z^2+133*z+138)/109 elseif @V=="7" z=(143*z^7+149*z^6+153*z^5+159*z^4+163*z^3+169*z^2+173*z+178)/143 elseif @V=="8" z=(183*z^8+189*z^7+193*z^6+199*z^5+203*z^4+209*z^3+213*z^2+218*z+223)/183 elseif @V=="9" z=(229*z^9+233*z^8+238*z^7+243*z^6+249*z^5+253*z^4+258*z^3+263*z^2+269*z+273)/229 elseif @V=="10" z=(279*z^10+283*z^9+289*z^8+293*z^7+298*z^6+303*z^5+309*z^4+313*z^3+318*z^2+323*z+329)/279 elseif @V=="11" z=(333*z^11+338*z^10+343*z^9+349*z^8+353*z^7+359*z^6+363*z^5+369*z^4+373*z^3+378*z^2+383*z+389)/333 elseif @V=="12" z=(393*z^12+398*z^11+403*z^10+409*z^9+413*z^8+418*z^7+423*z^6+429*z^5+433*z^4+439*z^3+443*z^2+449*z+453)/393 elseif @V=="13" z=(458*z^13+463*z^12+469*z^11+473*z^10+479*z^9+483*z^8+489*z^7+493*z^6+498*z^5+503*z^4+509*z^3+513*z^2+519*z+523)/458 endif if @F3=="sin" z=sin(z) elseif @F3=="sinh" z=sinh(z) elseif @F3=="asin" z=asin(z) elseif @F3=="asinh" z=asinh(z) elseif @F3=="cos" z=cos(z) elseif @F3=="cosh" z=cosh(z) elseif @F3=="acos" z=acos(z) elseif @F3=="acosh" z=acosh(z) elseif @F3=="tan" z=tan(z) elseif @F3=="tanh" z=tanh(z) elseif @F3=="atan" z=atan(z) elseif @F3=="atanh" z=atanh(z) elseif @F3=="cotan" z=cotan(z) elseif @F3=="cotanh" z=cotanh(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="sqrt" z=sqrt(z) elseif @F3=="log" z=log(z) elseif @F3=="exp" z=exp(z) elseif @F3=="abs" z=abs(z) elseif @F3=="cabs" z=cabs(z) elseif @F3=="conj" z=conj(z) elseif @F3=="flip" z=flip(z) elseif @F3=="ident" z=ident(z) elseif @F3=="recip" z=recip(z) elseif @F3=="versin" z=1-cos(z) elseif @F3=="aversin" z=acos(1-z) elseif @F3=="haversin" z=(1-cos(z))/2 elseif @F3=="ahaversin" z=2*asin(sqrt(z)) elseif @F3=="coversin" z=1-sin(z) elseif @F3=="acoversin" z=asin(1-z) elseif @F3=="hacoversin" z=(1-sin(z))/2 elseif @F3=="vercos" z=1+cos(z) elseif @F3=="avercos" z=acos(1+z) elseif @F3=="havercos" z=(1+cos(z))/2 elseif @F3=="ahavercos" z=2*acos(sqrt(z)) elseif @F3=="covercos" z=1+sin(z) elseif @F3=="acovercos" z=asin(1+z) elseif @F3=="hacovercos" z=(1+sin(z))/2 elseif @F3=="acotan" z=atan(1/(z)) elseif @F3=="acotanh" z=atanh(1/(z)) elseif @F3=="sec" z=1/cos(z) elseif @F3=="sech" z=1/cosh(z) elseif @F3=="asec" z=acos(1/z) elseif @F3=="asech" z=acosh(1/z) elseif @F3=="cosec" z=1/sin(z) elseif @F3=="cosech" z=1/sinh(z) elseif @F3=="acosec" z=asin(1/z) elseif @F3=="acosech" z=asinh(1/z) elseif @F3=="exsec" z=1/cos(z)-1 elseif @F3=="aexsec" z= acos(1/(z+1)) elseif @F3=="excosec" z=1/sin(z)-1 elseif @F3=="aexcosec" z=asin(1/(z+1)) elseif @F3=="crd" z=2*sin(z/2) elseif @F3=="acrd" z=2*asin(z/2) elseif @F3=="gd" z=asin(tanh(z)) elseif @F3=="agd" z=asinh(tan(z)) elseif @F3=="sinc" z=sin(z)/(z) elseif @F3=="sinhc" z=sinh(z)/(z) elseif @F3=="cosc" z=cos(z)/(z) elseif @F3=="coshc" z=cosh(z)/(z) elseif @F3=="tanc" z=tan(z)/(z) elseif @F3=="tanhc" z=tanh(z)/(z) elseif @F3=="cotanc" z=cotan(z)/(z) elseif @F3=="cotanhc" z=cotanh(z)/(z) elseif @F3=="secc" z=1/(z*cos(z)) elseif @F3=="sechc" z=1/(z*cosh(z)) elseif @F3=="cosecc" z= 1/(z*sin(z)) elseif @F3=="cosechc" z=1/(z*sinh(z)) elseif @F3=="cube" z=z^3 elseif @F3=="cuberoot" z=z^(1/3) elseif @F3=="colog" z=-log(z) elseif @F3=="logit" z= log(z/(1-z)) elseif @F3=="expit" z=1/(1+exp(-z)) elseif @F3=="gauss" z=exp(-sqr(z)) elseif @F3=="softplus" z=log(1+exp(z)) elseif @F3=="primecount" z=z/log(z) elseif @F3=="sqr+" z=sqr(z)+z elseif @F3=="cube+" z=z^3+sqr(z)+z elseif @F3=="sin+" z=sin(z)+z elseif @F3=="cos+" z=cos(z)+z elseif @F3=="tan+" z=tan(z)+z elseif @F3=="cotan+" z=cotan(z)+z elseif @F3=="sec+" z=1/cos(z)+z elseif @F3=="cosec+" z=1/sin(z)+z elseif @F3=="sin*" z=sin(z)*z elseif @F3=="cos*" z=cos(z)*z elseif @F3=="tan*" z=tan(z)*z elseif @F3=="cotan*" z=cotan(z)*z elseif @F3=="sec*" z=z/cos(z) elseif @F3=="cosec*" z=z/sin(z) elseif @F3=="loglog" z=log(log(z)) elseif @F3=="sinsin" z=sin(sin(z)) elseif @F3=="coscos" z=cos(cos(z)) elseif @F3=="labs" z=log(abs(z)) elseif @F3=="ceil" z=ceil(z) elseif @F3=="floor" z=floor(z) elseif @F3=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p1*z+p2 else z=p1*z+p2+fn4(pixel) endif bailout: |z|<@bail default: title="Anti-Fibonacci" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" default=0 endparam param V caption="Polynomial" enum="3""4""5""6""7""8""9""10""11""12""13" default=0 endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9""10""11""12""13""14" default=0 endparam param p1 default=(1,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) visible=@JM=="J" endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam param F3 caption="Function 3" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam func fn4 default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } HofstadterW { ; Iterated polynomials based on the Hofstadter "W" series ; https://cs.uwaterloo.ca/journals/JIS/VOL10/Tanny/tanny3.pdf ; http://oeis.org/A087777 init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="labs" z=log(abs(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="labs" z=log(abs(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p3*z+p4 else z=p3*z endif if @Va=="none" z=z elseif @Va=="1" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sqr(recip(x+flip(y))) elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=cotan(x+flip(y)) elseif @Va=="5" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=abs(recip(x+flip(y))) elseif @Va=="6" if |z|<1 z=z/|z| endif elseif @Va=="7" if |z|>1 z=z/|z| endif elseif @Va=="8" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) endif if @V=="3" z=(6*z^3+7*z^2+7*z+5)/5 elseif @V=="4" z=(3*z^4+8*z^3+9*z^2+11*z+12)/12 elseif @V=="5" z=(9*z^5+9*z^4+13*z^3+11*z^2+9*z+13)/13 elseif @V=="6" z=(16*z^6+13*z^5+19*z^4+16*z^3+11*z^2+14*z+16)/16 elseif @V=="7" z=(21*z^7+22*z^6+14*z^5+14*z^4+19*z^3+17*z^2+22*z+27)/27 elseif @V=="8" z=(25*z^8+16*z^7+20*z^6+28*z^5+22*z^4+22*z^3+26*z^2+25*z+24)/24 elseif @V=="9" z=(32*z^9+26*z^8+22*z^7+29*z^6+29*z^5+32*z^4+35*z^3+32*z^2+27*z+26)/26 elseif @V=="10" z=(34*z^10+30*z^9+33*z^8+40*z^7+25*z^6+27*z^5+46*z^4+40*z^3+33*z^2+32*z+28)/28 elseif @V=="11" z=(36*z^11+50*z^10+44*z^9+31*z^8+36*z^7+38*z^6+46*z^5+53*z^4+41*z^3+29*z^2+41*z+45)/45 elseif @V=="12" z=(32*z^12+54*z^11+57*z^10+41*z^9+43*z^8+48*z^7+38*z^6+40*z^5+54*z^4+50*z^3+54*z^2+57*z+50)/50 elseif @V=="13" z=(44*z^13+46*z^12+54*z^11+53*z^10+57*z^9+57*z^8+47*z^7+54*z^6+58*z^5+51*z^4+51*z^3+64*z^2+64*z+49)/49 elseif @V=="14" z=(48*z^14+59*z^13+50*z^12+54*z^11+71*z^10+65*z^9+68*z^8+62*z^7+58*z^6+61*z^5+55*z^4+60*z^3+65*z^2+73*z+58)/58 elseif @V=="15" z=(49*z^15+63*z^14+82*z^13+55*z^12+55*z^11+76*z^10+62*z^9+81*z^8+89*z^7+56*z^6+66*z^5+61*z^4+61*z^3+91*z^2+97*z+65)/65 elseif @V=="16" z=(57*z^16+72*z^15+63*z^14+91*z^13+93*z^12+63*z^11+83*z^10+89*z^9+81*z^8+73*z^7+61*z^6+81*z^5+100*z^4+85*z^3+89*z^2+72*z+65)/65 elseif @V=="17" z=(85*z^17+85*z^16+84*z^15+82*z^14+99*z^13+94*z^12+56*z^11+68*z^10+88*z^9+97*z^8+79*z^7+107*z^6+99*z^5+56*z^4+98*z^3+108*z^2+74*z+101)/101 endif if @F3=="sin" z=sin(z) elseif @F3=="sinh" z=sinh(z) elseif @F3=="asin" z=asin(z) elseif @F3=="asinh" z=asinh(z) elseif @F3=="cos" z=cos(z) elseif @F3=="cosh" z=cosh(z) elseif @F3=="acos" z=acos(z) elseif @F3=="acosh" z=acosh(z) elseif @F3=="tan" z=tan(z) elseif @F3=="tanh" z=tanh(z) elseif @F3=="atan" z=atan(z) elseif @F3=="atanh" z=atanh(z) elseif @F3=="cotan" z=cotan(z) elseif @F3=="cotanh" z=cotanh(z) elseif @F3=="sqr" z=sqr(z) elseif @F3=="sqrt" z=sqrt(z) elseif @F3=="log" z=log(z) elseif @F3=="exp" z=exp(z) elseif @F3=="abs" z=abs(z) elseif @F3=="cabs" z=cabs(z) elseif @F3=="conj" z=conj(z) elseif @F3=="flip" z=flip(z) elseif @F3=="ident" z=ident(z) elseif @F3=="recip" z=recip(z) elseif @F3=="versin" z=1-cos(z) elseif @F3=="aversin" z=acos(1-z) elseif @F3=="haversin" z=(1-cos(z))/2 elseif @F3=="ahaversin" z=2*asin(sqrt(z)) elseif @F3=="coversin" z=1-sin(z) elseif @F3=="acoversin" z=asin(1-z) elseif @F3=="hacoversin" z=(1-sin(z))/2 elseif @F3=="vercos" z=1+cos(z) elseif @F3=="avercos" z=acos(1+z) elseif @F3=="havercos" z=(1+cos(z))/2 elseif @F3=="ahavercos" z=2*acos(sqrt(z)) elseif @F3=="covercos" z=1+sin(z) elseif @F3=="acovercos" z=asin(1+z) elseif @F3=="hacovercos" z=(1+sin(z))/2 elseif @F3=="acotan" z=atan(1/(z)) elseif @F3=="acotanh" z=atanh(1/(z)) elseif @F3=="sec" z=1/cos(z) elseif @F3=="sech" z=1/cosh(z) elseif @F3=="asec" z=acos(1/z) elseif @F3=="asech" z=acosh(1/z) elseif @F3=="cosec" z=1/sin(z) elseif @F3=="cosech" z=1/sinh(z) elseif @F3=="acosec" z=asin(1/z) elseif @F3=="acosech" z=asinh(1/z) elseif @F3=="exsec" z=1/cos(z)-1 elseif @F3=="aexsec" z= acos(1/(z+1)) elseif @F3=="excosec" z=1/sin(z)-1 elseif @F3=="aexcosec" z=asin(1/(z+1)) elseif @F3=="crd" z=2*sin(z/2) elseif @F3=="acrd" z=2*asin(z/2) elseif @F3=="gd" z=asin(tanh(z)) elseif @F3=="agd" z=asinh(tan(z)) elseif @F3=="sinc" z=sin(z)/(z) elseif @F3=="sinhc" z=sinh(z)/(z) elseif @F3=="cosc" z=cos(z)/(z) elseif @F3=="coshc" z=cosh(z)/(z) elseif @F3=="tanc" z=tan(z)/(z) elseif @F3=="tanhc" z=tanh(z)/(z) elseif @F3=="cotanc" z=cotan(z)/(z) elseif @F3=="cotanhc" z=cotanh(z)/(z) elseif @F3=="secc" z=1/(z*cos(z)) elseif @F3=="sechc" z=1/(z*cosh(z)) elseif @F3=="cosecc" z= 1/(z*sin(z)) elseif @F3=="cosechc" z=1/(z*sinh(z)) elseif @F3=="cube" z=z^3 elseif @F3=="cuberoot" z=z^(1/3) elseif @F3=="colog" z=-log(z) elseif @F3=="logit" z= log(z/(1-z)) elseif @F3=="expit" z=1/(1+exp(-z)) elseif @F3=="gauss" z=exp(-sqr(z)) elseif @F3=="softplus" z=log(1+exp(z)) elseif @F3=="primecount" z=z/log(z) elseif @F3=="sqr+" z=sqr(z)+z elseif @F3=="cube+" z=z^3+sqr(z)+z elseif @F3=="sin+" z=sin(z)+z elseif @F3=="cos+" z=cos(z)+z elseif @F3=="tan+" z=tan(z)+z elseif @F3=="cotan+" z=cotan(z)+z elseif @F3=="sec+" z=1/cos(z)+z elseif @F3=="cosec+" z=1/sin(z)+z elseif @F3=="sin*" z=sin(z)*z elseif @F3=="cos*" z=cos(z)*z elseif @F3=="tan*" z=tan(z)*z elseif @F3=="cotan*" z=cotan(z)*z elseif @F3=="sec*" z=z/cos(z) elseif @F3=="cosec*" z=z/sin(z) elseif @F3=="loglog" z=log(log(z)) elseif @F3=="sinsin" z=sin(sin(z)) elseif @F3=="coscos" z=cos(cos(z)) elseif @F3=="labs" z=log(abs(z)) elseif @F3=="ceil" z=ceil(z) elseif @F3=="floor" z=floor(z) elseif @F3=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p1*z+p2 else z=p1*z+p2+fn4(pixel) endif bailout: |z|<@bail default: title="Hofstadter W" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" default=0 endparam param V caption="Polynomial" enum="3""4""5""6""7""8""9""10""11""12""13""14""15""16""17" default=0 endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(1,0) endparam param p2 default=(-1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) visible=@JM=="J" endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam param F3 caption="Function 3" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos""labs"\ "ceil""floor""trunc""round" default=22 endparam func fn4 default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } RationalJulia { ; http://paulbourke.net/fractals/trifraction1/ init: z=fn1(pixel) loop: z=p3*fn2(z)+p4 if @Va=="none" z=z elseif @Va=="1" if real(conj(z))imag(abs(z)) z=flip(z) endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=recip(flip(x+flip(y))) elseif @Va=="7" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=flip(cotanh(x+flip(y))) elseif @Va=="8" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=exp(cotan(x+flip(y))) elseif @Va=="9" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=exp(tan(x+flip(y))) elseif @Va=="10" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=log(flip(x+flip(y))) elseif @Va=="11" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=cotanh(tan(x+flip(y))) endif z=z^2+cabs(z)/(p2+cabs(z))+1i/(p2+cabs(z))+p1 z=fn3(z) bailout: |z|<@bail default: title="Rational Julia" angle=270 param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9""10""11" default=0 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Unrat { init: z=fn1(pixel) loop: if @JM=="J" z=p3*fn2(z)+p4 else z=p3*fn2(z) endif if @Va=="none" z=z elseif @Va=="1" if @JM=="J" if real(abs(atanh(z)))imag(abs(atanh(z))) z=flip(z) endif else z=z+1/tan(z) endif elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else if real(abs(z))imag(z) z=flip(z) endif elseif @Va=="6" if @JM=="J" if real(sqr(cos(z)))imag(sqr(cos(z))) z=flip(z) endif else z=z-1/cotanh(z) endif elseif @Va=="8" if real(flip(abs(z)))imag(abs(z)) z=flip(z) endif elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else z=z+1/exp(tan(z)) endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=exp(atanh(x+flip(y))) else z=z+1/exp(tanh(z)) endif elseif @Va=="7" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sin(x+flip(y)) else z=z+1/exp(z) endif elseif @Va=="8" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=cos(x+flip(y)) else z=z+1/exp(cos(z)) endif endif z=z^2+cabs(z)/(1+cabs(z))+p1 if @JM=="J" z=z^2*(z-p2)/(1-p2*z) else z=z^2*(z-p2)/(1-p2*z)+fn4(pixel) endif z=fn3(z) bailout: |z|<@bail default: title="Unrat Munst" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8" endparam param p1 default=(0,0) endparam param p2 default=(2,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) visible=@JM=="J" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } Nonintite { init: if @Fs=="sin" z=sin(pixel) elseif @Fs=="sinh" z=sinh(pixel) elseif @Fs=="asin" z=asin(pixel) elseif @Fs=="asinh" z=asinh(pixel) elseif @Fs=="cos" z=cos(pixel) elseif @Fs=="cosh" z=cosh(pixel) elseif @Fs=="acos" z=acos(pixel) elseif @Fs=="acosh" z=acosh(pixel) elseif @Fs=="tan" z=tan(pixel) elseif @Fs=="tanh" z=tanh(pixel) elseif @Fs=="atan" z=atan(pixel) elseif @Fs=="atanh" z=atanh(pixel) elseif @Fs=="cotan" z=cotan(pixel) elseif @Fs=="cotanh" z=cotanh(pixel) elseif @Fs=="sqr" z=sqr(pixel) elseif @Fs=="sqrt" z=sqrt(pixel) elseif @Fs=="log" z=log(pixel) elseif @Fs=="exp" z=exp(pixel) elseif @Fs=="abs" z=abs(pixel) elseif @Fs=="cabs" z=cabs(pixel) elseif @Fs=="conj" z=conj(pixel) elseif @Fs=="flip" z=flip(pixel) elseif @Fs=="ident" z=ident(pixel) elseif @Fs=="recip" z=recip(pixel) elseif @Fs=="versin" z=1-cos(pixel) elseif @Fs=="aversin" z=acos(1-pixel) elseif @Fs=="haversin" z=(1-cos(pixel))/2 elseif @Fs=="ahaversin" z=2*asin(sqrt(pixel)) elseif @Fs=="coversin" z=1-sin(pixel) elseif @Fs=="acoversin" z=asin(1-pixel) elseif @Fs=="hacoversin" z=(1-sin(pixel))/2 elseif @Fs=="vercos" z=1+cos(pixel) elseif @Fs=="avercos" z=acos(1+pixel) elseif @Fs=="havercos" z=(1+cos(pixel))/2 elseif @Fs=="ahavercos" z=2*acos(sqrt(pixel)) elseif @Fs=="covercos" z=1+sin(pixel) elseif @Fs=="acovercos" z=asin(1+pixel) elseif @Fs=="hacovercos" z=(1+sin(pixel))/2 elseif @Fs=="acotan" z=atan(1/(pixel)) elseif @Fs=="acotanh" z=atanh(1/(pixel)) elseif @Fs=="sec" z=1/cos(pixel) elseif @Fs=="sech" z=1/cosh(pixel) elseif @Fs=="asec" z=acos(1/pixel) elseif @Fs=="asech" z=acosh(1/pixel) elseif @Fs=="cosec" z=1/sin(pixel) elseif @Fs=="cosech" z=1/sinh(pixel) elseif @Fs=="acosec" z=asin(1/pixel) elseif @Fs=="acosech" z=asinh(1/pixel) elseif @Fs=="exsec" z=1/cos(pixel)-1 elseif @Fs=="aexsec" z= acos(1/(pixel+1)) elseif @Fs=="excosec" z=1/sin(pixel)-1 elseif @Fs=="aexcosec" z=asin(1/(pixel+1)) elseif @Fs=="crd" z=2*sin(pixel/2) elseif @Fs=="acrd" z=2*asin(pixel/2) elseif @Fs=="gd" z=asin(tanh(pixel)) elseif @Fs=="agd" z=asinh(tan(pixel)) elseif @Fs=="sinc" z=sin(pixel)/(pixel) elseif @Fs=="sinhc" z=sinh(pixel)/(pixel) elseif @Fs=="cosc" z=cos(pixel)/(pixel) elseif @Fs=="coshc" z=cosh(pixel)/(pixel) elseif @Fs=="tanc" z=tan(pixel)/(pixel) elseif @Fs=="tanhc" z=tanh(pixel)/(pixel) elseif @Fs=="cotanc" z=cotan(pixel)/(pixel) elseif @Fs=="cotanhc" z=cotanh(pixel)/(pixel) elseif @Fs=="secc" z=1/(pixel*cos(pixel)) elseif @Fs=="sechc" z=1/(pixel*cosh(pixel)) elseif @Fs=="cosecc" z= 1/(pixel*sin(pixel)) elseif @Fs=="cosechc" z=1/(pixel*sinh(pixel)) elseif @Fs=="cube" z=pixel^3 elseif @Fs=="cuberoot" z=pixel^(1/3) elseif @Fs=="colog" z=-log(pixel) elseif @Fs=="logit" z= log(pixel/(1-pixel)) elseif @Fs=="expit" z=1/(1+exp(-pixel)) elseif @Fs=="gauss" z=exp(-sqr(pixel)) elseif @Fs=="softplus" z=log(1+exp(pixel)) elseif @Fs=="primecount" z=pixel/log(pixel) elseif @Fs=="sqr+" z=sqr(pixel)+pixel elseif @Fs=="cube+" z=pixel^3+sqr(pixel)+pixel elseif @Fs=="sin+" z=sin(pixel)+pixel elseif @Fs=="cos+" z=cos(pixel)+pixel elseif @Fs=="tan+" z=tan(pixel)+pixel elseif @Fs=="cotan+" z=cotan(pixel)+pixel elseif @Fs=="sec+" z=1/cos(pixel)+pixel elseif @Fs=="cosec+" z=1/sin(pixel)+pixel elseif @Fs=="sin*" z=sin(pixel)*pixel elseif @Fs=="cos*" z=cos(pixel)*pixel elseif @Fs=="tan*" z=tan(pixel)*pixel elseif @Fs=="cotan*" z=cotan(pixel)*pixel elseif @Fs=="sec*" z=pixel/cos(pixel) elseif @Fs=="cosec*" z=pixel/sin(pixel) elseif @Fs=="loglog" z=log(log(pixel)) elseif @Fs=="sinsin" z=sin(sin(pixel)) elseif @Fs=="coscos" z=cos(cos(pixel)) elseif @Fs=="ceil" z=ceil(pixel) elseif @Fs=="floor" z=floor(pixel) elseif @Fs=="trunc" z=trunc(pixel) else z=round(pixel) endif loop: if @F2=="sin" z=sin(z) elseif @F2=="sinh" z=sinh(z) elseif @F2=="asin" z=asin(z) elseif @F2=="asinh" z=asinh(z) elseif @F2=="cos" z=cos(z) elseif @F2=="cosh" z=cosh(z) elseif @F2=="acos" z=acos(z) elseif @F2=="acosh" z=acosh(z) elseif @F2=="tan" z=tan(z) elseif @F2=="tanh" z=tanh(z) elseif @F2=="atan" z=atan(z) elseif @F2=="atanh" z=atanh(z) elseif @F2=="cotan" z=cotan(z) elseif @F2=="cotanh" z=cotanh(z) elseif @F2=="sqr" z=sqr(z) elseif @F2=="sqrt" z=sqrt(z) elseif @F2=="log" z=log(z) elseif @F2=="exp" z=exp(z) elseif @F2=="abs" z=abs(z) elseif @F2=="cabs" z=cabs(z) elseif @F2=="conj" z=conj(z) elseif @F2=="flip" z=flip(z) elseif @F2=="ident" z=ident(z) elseif @F2=="recip" z=recip(z) elseif @F2=="versin" z=1-cos(z) elseif @F2=="aversin" z=acos(1-z) elseif @F2=="haversin" z=(1-cos(z))/2 elseif @F2=="ahaversin" z=2*asin(sqrt(z)) elseif @F2=="coversin" z=1-sin(z) elseif @F2=="acoversin" z=asin(1-z) elseif @F2=="hacoversin" z=(1-sin(z))/2 elseif @F2=="vercos" z=1+cos(z) elseif @F2=="avercos" z=acos(1+z) elseif @F2=="havercos" z=(1+cos(z))/2 elseif @F2=="ahavercos" z=2*acos(sqrt(z)) elseif @F2=="covercos" z=1+sin(z) elseif @F2=="acovercos" z=asin(1+z) elseif @F2=="hacovercos" z=(1+sin(z))/2 elseif @F2=="acotan" z=atan(1/(z)) elseif @F2=="acotanh" z=atanh(1/(z)) elseif @F2=="sec" z=1/cos(z) elseif @F2=="sech" z=1/cosh(z) elseif @F2=="asec" z=acos(1/z) elseif @F2=="asech" z=acosh(1/z) elseif @F2=="cosec" z=1/sin(z) elseif @F2=="cosech" z=1/sinh(z) elseif @F2=="acosec" z=asin(1/z) elseif @F2=="acosech" z=asinh(1/z) elseif @F2=="exsec" z=1/cos(z)-1 elseif @F2=="aexsec" z= acos(1/(z+1)) elseif @F2=="excosec" z=1/sin(z)-1 elseif @F2=="aexcosec" z=asin(1/(z+1)) elseif @F2=="crd" z=2*sin(z/2) elseif @F2=="acrd" z=2*asin(z/2) elseif @F2=="gd" z=asin(tanh(z)) elseif @F2=="agd" z=asinh(tan(z)) elseif @F2=="sinc" z=sin(z)/(z) elseif @F2=="sinhc" z=sinh(z)/(z) elseif @F2=="cosc" z=cos(z)/(z) elseif @F2=="coshc" z=cosh(z)/(z) elseif @F2=="tanc" z=tan(z)/(z) elseif @F2=="tanhc" z=tanh(z)/(z) elseif @F2=="cotanc" z=cotan(z)/(z) elseif @F2=="cotanhc" z=cotanh(z)/(z) elseif @F2=="secc" z=1/(z*cos(z)) elseif @F2=="sechc" z=1/(z*cosh(z)) elseif @F2=="cosecc" z= 1/(z*sin(z)) elseif @F2=="cosechc" z=1/(z*sinh(z)) elseif @F2=="cube" z=z^3 elseif @F2=="cuberoot" z=z^(1/3) elseif @F2=="colog" z=-log(z) elseif @F2=="logit" z= log(z/(1-z)) elseif @F2=="expit" z=1/(1+exp(-z)) elseif @F2=="gauss" z=exp(-sqr(z)) elseif @F2=="softplus" z=log(1+exp(z)) elseif @F2=="primecount" z=z/log(z) elseif @F2=="sqr+" z=sqr(z)+z elseif @F2=="cube+" z=z^3+sqr(z)+z elseif @F2=="sin+" z=sin(z)+z elseif @F2=="cos+" z=cos(z)+z elseif @F2=="tan+" z=tan(z)+z elseif @F2=="cotan+" z=cotan(z)+z elseif @F2=="sec+" z=1/cos(z)+z elseif @F2=="cosec+" z=1/sin(z)+z elseif @F2=="sin*" z=sin(z)*z elseif @F2=="cos*" z=cos(z)*z elseif @F2=="tan*" z=tan(z)*z elseif @F2=="cotan*" z=cotan(z)*z elseif @F2=="sec*" z=z/cos(z) elseif @F2=="cosec*" z=z/sin(z) elseif @F2=="loglog" z=log(log(z)) elseif @F2=="sinsin" z=sin(sin(z)) elseif @F2=="coscos" z=cos(cos(z)) elseif @F2=="ceil" z=ceil(z) elseif @F2=="floor" z=floor(z) elseif @F2=="trunc" z=trunc(z) else z=round(z) endif if @JM=="J" z=p3*z+p4 else z=p3*z endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if @JM=="J" if |z|>1 z=z/|z| endif else z=z+1/sin(z) endif elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else z=z-1/sin(z) endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif else z=z+1/z endif elseif @Va=="6" z=z+1/sinh(z) elseif @Va=="7" z=z+1/sin(asinh(z)) elseif @Va=="8" z=z+1/cotanh(z) elseif @Va=="9" if @JM=="J" z=z+1/sin(z) else z=z+1/sqr(z) endif elseif @Va=="10" z=z+1/sinh(sin(z)) elseif @Va=="11" z=z+1/cotanh(tanh(z)) elseif @Va=="12" z=z-1/cotan(cotan(z)) elseif @Va=="13" z=z-1/sqr(sin(z)) elseif @Va=="14" z=z-1/sqr(z) endif if @JM=="J" z=(((z+p1)^2+p1*(z-1)^2)/((z+p1)^2-(z-1)^2))^2+p2 else z=(((z+p1)^2+p1*(z-1)^2)/((z+p1)^2-(z-1)^2))^2+p2+fn4(pixel) endif z=fn3(z) bailout: |z|<@bail default: title="Nonintite" center=(0.001,0.001) param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9""10""11""12""13""14" default=0 endparam param p1 default=(0.5,0) endparam param p2 default=(-0.5,0) endparam param p3 default=(-1.5,0) endparam param p4 default=(0,0) visible=@JM=="J" endparam param Fs caption="Function 1" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam param F2 caption="Function 2" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""cuberoot""colog""logit""expit""gauss""softplus"\ "primecount""sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""loglog""sinsin""coscos"\ "ceil""floor""trunc""round" default=22 endparam func fn3 default=ident() endfunc func fn4 default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } BuffaloBallet { ; Title from the 1974 album Fear by John Cale init: z=fn1(pixel) int i=0 loop: if @vers=="1" z=p1*fn2(z)+p2 if @V=="1" z=abs(z^2-z+fn3(pixel))^2+p3 elseif @V=="2" z=abs((z^2-z+fn3(pixel))^2+p3)^2+p3 elseif @V=="3" z=abs(((z^2-z+fn3(pixel))^2+p3)^2+p3)^2+p3 elseif @V=="4" z=abs((z^2-z+fn3(pixel))^2-z+p3)^2+p3 elseif @V=="5" z=abs((z^2-z+fn3(pixel))^2-z+p3)^2-z+p3 elseif @V=="6" z=abs(((z^2-z+fn3(pixel))^2-z+p3)^2-z+p3)^2+p3 elseif @V=="7" z=abs(((z^2-z+fn3(pixel))^2-z+p3)^2-z+p3)^2-z+p3 elseif @V=="8" z=abs((z^2-z+fn3(pixel))^2+fn3(pixel))^2+p3 elseif @V=="9" z=abs(((z^2-z+fn3(pixel))^2+fn3(pixel))^2+p3)^2+p3 elseif @V=="10" z=abs(((z^2-z+fn3(pixel))^2+fn3(pixel))^2+fn3(pixel))^2+p3 elseif @V=="11" z=abs((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2+p3 elseif @V=="12" z=abs((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3 elseif @V=="13" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3)^2+p3 elseif @V=="14" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+fn3(pixel))^2+p3 elseif @V=="15" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3)^2-z+p3 elseif @V=="16" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3 endif else while i<@iter i=i+1 z=p1*fn2(z)+p2 if @V=="1" z=abs(z^2-z+fn3(pixel))^2+p3 elseif @V=="2" z=abs((z^2-z+fn3(pixel))^2+p3)^2+p3 elseif @V=="3" z=abs(((z^2-z+fn3(pixel))^2+p3)^2+p3)^2+p3 elseif @V=="4" z=abs((z^2-z+fn3(pixel))^2-z+p3)^2+p3 elseif @V=="5" z=abs((z^2-z+fn3(pixel))^2-z+p3)^2-z+p3 elseif @V=="6" z=abs(((z^2-z+fn3(pixel))^2-z+p3)^2-z+p3)^2+p3 elseif @V=="7" z=abs(((z^2-z+fn3(pixel))^2-z+p3)^2-z+p3)^2-z+p3 elseif @V=="8" z=abs((z^2-z+fn3(pixel))^2+fn3(pixel))^2+p3 elseif @V=="9" z=abs(((z^2-z+fn3(pixel))^2+fn3(pixel))^2+p3)^2+p3 elseif @V=="10" z=abs(((z^2-z+fn3(pixel))^2+fn3(pixel))^2+fn3(pixel))^2+p3 elseif @V=="11" z=abs((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2+p3 elseif @V=="12" z=abs((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3 elseif @V=="13" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3)^2+p3 elseif @V=="14" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+fn3(pixel))^2+p3 elseif @V=="15" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3)^2-z+p3 elseif @V=="16" z=abs(((z^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+fn3(pixel))^2-z+p3 endif endwhile z=51*z/50 endif bailout: |z|<@bail default: title="Buffalo Ballet" center=(0.001,0.001) periodicity=0 param vers caption="Version" enum="1""2" endparam param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16" endparam param iter caption="Iterations" default=7 visible=@vers=="2" endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } NovaExpress { ; Title from the 1964 novel by William Burroughs init: z=fn1(pixel) loop: zold=z z=p1*fn2(sqr(z))+p2 if @Va=="none" z=z elseif @Va=="1" z=z-1/cos(z) elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" z=73*z^4+52*z^3+18*z^2+4*z+1 elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=(16+32*z+46*z^2+56*z^3+61*z^4+61*z^5)/61 elseif @Va=="7" z=z+1/exp(z) elseif @Va=="8" z=z+1/cotanh(z) elseif @Va=="9" z=z+1/cotan(z) elseif @Va=="10" z=z-1/sinh(z) elseif @Va=="11" z=z+1/cos(z) elseif @Va=="12" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=recip(x+flip(y)) elseif @Va=="13" z=flip(z)+1/conj(z) elseif @Va=="14" z=z-1/cotan(z) elseif @Va=="15" z=(z^2-1i)/(z^2+1i) elseif @Va=="16" z=sqr(z)+1/cosh(z) elseif @Va=="17" z=sqr(z)+1/cos(z) elseif @Va=="18" z=z^3+z^2+z elseif @Va=="19" z=z^3+2*z^2+3*z elseif @Va=="20" z=z^4+2*z^3+3*z^2+4*z elseif @Va=="21" z=z-(z^3-1)/(3*z^2) elseif @Va=="22" z=z-(z^4-1)/(4*z^3) elseif @Va=="23" z=(z-1i)/(z+1i) elseif @Va=="24" z=z^2+z+1/cos(z) elseif @Va=="25" z=z^2+2*z elseif @Va=="26" z=z^2+z+1/z elseif @Va=="27" z=sqr(z)+1/exp(z) elseif @Va=="28" z=z-1/exp(z) elseif @Va=="29" z=z-1/cotanh(z) elseif @Va=="30" z=sqr(z)+z elseif @Va=="31" z=z-1/tanh(z) elseif @Va=="32" z=z-1/cosh(z) elseif @Va=="33" if |z|<1 z=z/|z| endif elseif @Va=="34" z=z+1/cosh(z) elseif @Va=="35" z=z-1/sin(z) elseif @Va=="36" z=z+1/z elseif @Va=="37" z=(29+30*z+30*z^2+30*z^3+31*z^4+32*z^5+32*z^6+32*z^7+32*z^8+32*z^9+32*z^10)/32 elseif @Va=="38" z=2*z^3+2*z^2+3*z+1 elseif @Va=="39" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="40" z=2*z^8+16*z^7+28*z^6+56*z^5+70*z^4+56*z^3+28*z^2+8*z+1 elseif @Va=="41" z=z^20-228*z^15+494*z^10+228*z^5+1 endif if @V=="1" f=z^2-z+fn4(pixel) f1=2*z-1 z=z-p3*f/f1+p4 elseif @V=="2" f=z^2-z+fn4(pixel) f1=2*z-1 z=z-p3*f/f1+fn4(pixel)+p4 elseif @V=="3" f=z^2-z f1=2*z-1 z=z-p3*f/f1+fn4(pixel)+p4 endif z=fn3(sqr(z)) bailout: |zold-z|>@bail default: title="Nova Express" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3" endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41" endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } SinTitulo { init: z=fn1(exp(pixel)) loop: z=fn2(z) if @Va=="none" z=z elseif @Va=="1" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="2" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=y+flip(x) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sqr(asin(x+flip(y))) elseif @Va=="4" if @JM=="J" z=conj(z)+1/flip(z) else if |z|>1 z=z/|z| endif endif elseif @Va=="5" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sqr(acosh(x+flip(y))) else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sqr(x+flip(y)) endif elseif @Va=="6" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=log(abs(x+flip(y))) else x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sqr(y+flip(x)) endif elseif @Va=="7" z=log(z)+1/exp(z) elseif @Va=="8" if @JM=="J" z=flip(z)+1/flip(z) else z=z+1/sqr(z) endif elseif @Va=="9" if @JM=="J" z=log(z)+1/cotanh(z) else z=cotan(z)+1/sqr(z) endif endif z=log(z)-p1 if @JM=="J" z=p2*(cotanh(z)+conj(p3))/(1+p3*cotanh(z))+p1 else z=p2*(cotanh(z)+conj(p3))/(1+p3*cotanh(z))+p1+fn4(pixel) endif z=fn3(z) bailout: |z|<@bail default: title="Sin Titulo" center=(0.001,0.001) param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=@JM=="M" endfunc param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } MangleBrot1 { init: z=fn1(pixel) loop: z=fn2(z) if @Va=="none" z=z elseif @va=="1" z=(z^3+z)/3 elseif @va=="2" z=(z^4-2)/4 elseif @va=="3" z=(z^5-z^3-3*z)/5 elseif @va=="4" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="5" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="6" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="7" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif if @V=="1" z=(p1+1i)*z^2/2+fn3(pixel) z=p2-(p3+1i)*z^2/2 elseif @V=="2" z=(p1+1i)*z^2/2 z=p2-(p3+1i)*z^2/2+fn3(pixel) elseif @V=="3" z=(p1+1i)*z^2/2+fn3(pixel) z=p2-(p3+1i)*z^2/2+fn3(pixel) endif bailout: |z|<@bail default: title="Mangle Brot 1" center=(0.001,0.001) param V caption="Variant" enum="1""2""3" endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param bail caption="Bailout" default=10.0 endparam } MangleBrot2 { init: z=fn1(pixel) loop: z=fn2(z) if @Va=="none" z=z elseif @va=="1" z=(z^3+z)/3 elseif @va=="2" z=(z^4-2)/4 elseif @va=="3" z=(z^5-z^3-3*z)/5 elseif @va=="4" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="5" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="6" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="7" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif if @V=="1" z=p1*z^2+fn3(pixel) z=(1i/sqrt(3))*z^2+p1 z=p1*z^2+p2 elseif @V=="2" z=p1*z^2 z=(1i/sqrt(3))*z^2+p1+fn3(pixel) z=p1*z^2+p2 elseif @V=="3" z=p1*z^2 z=(1i/sqrt(3))*z^2+p1 z=p1*z^2+p2+fn3(pixel) elseif @V=="4" z=p1*z^2+fn3(pixel) z=(1i/sqrt(3))*z^2+p1+fn3(pixel) z=p1*z^2+p2 elseif @V=="5" z=p1*z^2+fn3(pixel) z=(1i/sqrt(3))*z^2+p1 z=p1*z^2+p2+fn3(pixel) elseif @V=="6" z=p1*z^2 z=(1i/sqrt(3))*z^2+p1+fn3(pixel) z=p1*z^2+p2+fn3(pixel) else z=p1*z^2+fn3(pixel) z=(1i/sqrt(3))*z^2+p1+fn3(pixel) z=p1*z^2+p2+fn3(pixel) endif bailout: |z|<@bail default: title="Mangle Brot 2" center=(0.001,0.001) param V caption="Variant" enum="1""2""3""4""5""6""7" endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } LogisticNewtonMod { init: z=fn1(pixel) loop: zold=z z=fn2(z) if @va=="1" z=(z^3+z)/3 elseif @va=="2" z=(z^4-2)/4 elseif @va=="3" z=(z^5-z^3-3*z)/5 elseif @va=="4" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="5" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="6" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="7" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif f=p1*z*(1-z)-p2 f1=p1-2*p1*z z=z-p3*f/f1+p4 bailout: |zold-z|>@bailout default: title="Logistic Newton Mod" center=(0.001,0.001) periodicity=0 param Va caption="Modification" enum="1""2""3""4""5""6""7" default=4 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bailout caption="Bailout" default=0.000000001 endparam } LogisticNovaMod { init: z=fn1(pixel) loop: zold=z z=fn2(z) if @va=="1" z=(z^3+z)/3 elseif @va=="2" z=(z^4-2)/4 elseif @va=="3" z=(z^5-z^3-3*z)/5 elseif @va=="4" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="5" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="6" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="7" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif f=p1*z*(1-z)+fn3(pixel) f1=p1-2*p1*z z=z-p2*f/f1+p3 bailout: |zold-z|>@bailout default: title="Logistic Nova Mod" center=(0.001,0.001) periodicity=0 param Va caption="Modification" enum="1""2""3""4""5""6""7" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bailout caption="Bailout" default=0.000000001 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bailout caption="Bailout" default=0.000000001 endparam } Loquolo { init: z=fn1(pixel) loop: z=fn2(conj(flip(z))) if @Va=="none" z=z elseif @va=="1" z=(z^3+z)/3 elseif @va=="2" z=(z^4-2)/4 elseif @va=="3" z=(z^5-z^3-3*z)/5 elseif @va=="4" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="5" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="6" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="7" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif z=log(sqr(p1*(1-p2*z^2)))-1+p3+fn3(pixel) bailout: |z|<@bail default: title="Loquolo" center=(0.001,0.001) periodicity=0 param Va caption="Modification" enum="none""1""2""3""4""5""6""7" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Polyboum { init: z=fn1(pixel) loop: z=p1*fn2(z) if @va=="1" z=(z^3+z)/3 elseif @va=="2" z=(z^4-2)/4 elseif @va=="3" z=(z^5-z^3-3*z)/5 elseif @va=="4" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="5" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="6" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="7" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif z=-log(1-z) if @Va2=="1" z=z^2+fn3(pixel) elseif @Va2=="2" z=z^2+z+fn3(pixel) elseif @Va2=="3" z=z^2-z+fn3(pixel) elseif @Va2=="4" z=z^2-fn3(pixel) elseif @Va2=="5" z=z^2+z-fn3(pixel) elseif @Va2=="6" z=z^2-z-fn3(pixel) elseif @Va2=="7" z=(z+fn3(pixel))^2 elseif @Va2=="8" z=(z+fn3(pixel))^2+z elseif @Va2=="9" z=(z+fn3(pixel))^2-z elseif @Va2=="10" z=(z-fn3(pixel))^2 elseif @Va2=="11" z=(z-fn3(pixel))^2+z elseif @Va2=="12" z=(z-fn3(pixel))^2-z elseif @Va2=="13" z=z^3+fn3(pixel) elseif @Va2=="14" z=z^3+z+fn3(pixel) elseif @Va2=="15" z=z^3-z+fn3(pixel) elseif @Va2=="16" z=z^3-fn3(pixel) elseif @Va2=="17" z=z^3+z-fn3(pixel) elseif @Va2=="18" z=z^3-z-fn3(pixel) elseif @Va2=="19" z=(z+fn3(pixel))^3 elseif @Va2=="20" z=(z+fn3(pixel))^3+z elseif @Va2=="21" z=(z+fn3(pixel))^3-z elseif @Va2=="22" z=(z-fn3(pixel))^3 elseif @Va2=="23" z=(z-fn3(pixel))^3+z elseif @Va2=="24" z=(z-fn3(pixel))^3-z elseif @Va2=="25" z=z^3+z^2+fn3(pixel) elseif @Va2=="26" z=z^3-z^2+fn3(pixel) elseif @Va2=="27" z=z^3+z^2-fn3(pixel) elseif @Va2=="28" z=z^3-z^2-fn3(pixel) elseif @Va2=="29" z=(z+fn3(pixel))^3+z^2 elseif @Va2=="30" z=(z+fn3(pixel))^3-z^2 elseif @Va2=="31" z=(z-fn3(pixel))^3+z^2 elseif @Va2=="32" z=(z-fn3(pixel))^3-z^2 elseif @Va2=="33" z=z^3+z^2+z+fn3(pixel) elseif @Va2=="34" z=z^3-z^2+z+fn3(pixel) elseif @Va2=="35" z=z^3+z^2+z-fn3(pixel) elseif @Va2=="36" z=z^3-z^2+z-fn3(pixel) elseif @Va2=="37" z=(z+fn3(pixel))^3+z^2+z elseif @Va2=="38" z=(z+fn3(pixel))^3-z^2+z elseif @Va2=="39" z=(z-fn3(pixel))^3+z^2+z elseif @Va2=="40" z=(z-fn3(pixel))^3-z^2+z elseif @Va2=="41" z=z^3+z^2-z+fn3(pixel) elseif @Va2=="42" z=z^3-z^2-z+fn3(pixel) elseif @Va2=="43" z=z^3+z^2-z-fn3(pixel) elseif @Va2=="44" z=z^3-z^2-z-fn3(pixel) elseif @Va2=="45" z=(z+fn3(pixel))^3+z^2-z elseif @Va2=="46" z=(z+fn3(pixel))^3-z^2-z elseif @Va2=="47" z=(z-fn3(pixel))^3+z^2-z elseif @Va2=="48" z=(z-fn3(pixel))^3-z^2-z endif z=p2*fn4(z)+p3 bailout: |z|<@bail default: title="Polyboum" center=(0.001,0.001) periodicity=0 param Va caption="Variant 1" enum="1""2""3""4""5""6""7" endparam param Va2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9""10""11""12"\ "13""14""15""16""17""18""19""20""21""22""23""24"\ "25""26""27""28""29""30""31""32""33""34""35""36"\ "37""38""39""40""41""42""43""44""45""46""47""48" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } AtturSadie { init: z=fn1(pixel) loop: z=p1*fn2(z) if @Va=="none" z=z elseif @va=="1" z=(z^3+z)/3 elseif @va=="2" z=(z^4-2)/4 elseif @va=="3" z=(z^5-z^3-3*z)/5 elseif @va=="4" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="5" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="6" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="7" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif if @V=="none" z=z elseif @v=="1" z=-log(1-z) elseif @v=="0" z=z/(1-z) elseif @v=="-1" z=z/(1-z)^2 elseif @v=="-2" z=z*(1+z)/(1-z)^3 elseif @v=="-3" z=z*(1+4*z+z^2)/(1-z)^4 elseif @v=="-4" z=z*(1+z)*(1+10*z+z^2)/(1-z)^5 endif z=(z^10+z^2+z)^2+fn4(pixel) z=p2*fn3(z)+p3 bailout: |z|<@bail default: title="Attur Sadie" param Va caption="Boubaker Modification" enum="none""1""2""3""4""5""6""7" endparam param V caption="Polylogarithm Modification" enum="none""1""0""-1""-2""-3""-4" default=0 endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function (Pre)" default=ident() endfunc func fn3 caption="Loop Function (Post)" default=ident() endfunc func fn4 caption="Loop Function (Pixel)" default=ident() endfunc Param bail caption="Bailout" default=4.0 endparam } AyeDremsi { init: z=fn1(pixel) loop: z=p5*fn2(z)^@pow if @V=="0" z=z elseif @v=="1" z=(1+z)*flip(z) elseif @v=="2" z=(1+3*z+z^2)*flip(z) elseif @v=="3" z=z+1/cotanh(sqr(z)) elseif @v=="4" if |z|>1 z=z/|z| endif elseif @v=="5" if real(z)imag(z) z=flip(z) endif elseif @v=="7" if |z|<1 z=|z|/z endif endif x=(-2*real(z)-imag(z))+p1 y=(2*real(z)-imag(z))+p2 if @JM=="M" z=p3*(x+flip(y))^2+fn3(pixel)+p4 else z=p3*(x+flip(y))^2+p4 endif bailout: |z|<@bail default: title="Aye Dremsi" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="M""J" endparam param V caption="Modification" enum="0""1""2""3""4""5""6""7" endparam param p1 default=(0,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param pow caption="Exponent" default=2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } Pyrumone { init: z=fn1(pixel) a=p3+flip(p4) loop: z=p1*fn2(z)+p2 if @Va=="1" z=z elseif @Va=="2" z=(z^2+2)/2 elseif @va=="3" z=(z^3+z)/3 elseif @va=="4" z=(z^4-2)/4 elseif @va=="5" z=(z^5-z^3-3*z)/5 elseif @va=="6" z=(z^6-2*z^4-3*z^2+2)/6 elseif @va=="7" z=(z^7-3*z^5-2*z^3+5*z)/7 elseif @va=="8" z=(z^8-4*z^6+8*z^2-2)/8 elseif @va=="9" z=(z^9-5*z^7+3*z^5+10*z^3-7*z)/9 endif if @V=="1" z=z^3+(flip(pixel)-1)*z-pixel elseif @V=="2" z=z^3+(conj(pixel)-1)*z-pixel elseif @V=="3" z=z^3+(cabs(pixel)-1)*z-pixel elseif @V=="4" z=z^3+(abs(pixel)-1)*z-pixel elseif @V=="5" z=z^3+(sqr(pixel)-1)*z-pixel elseif @V=="6" z=z^3+(tan(pixel)-1)*z-pixel elseif @V=="7" z=z^3+(cos(pixel)-1)*z-pixel elseif @V=="8" z=z^3+(sin(pixel)-1)*z-pixel endif z=z+a/fn3(z) bailout: |z|<@bail default: title="Pyrumone" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" endparam param Va caption="Modification" enum="1""2""3""4""5""6""7""8""9" endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 caption="Parameter 3" default=0.0 endparam param p4 caption="Parameter 4" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=p3!=0 || p4!=0 endfunc func fn4 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } BukusJulia { init: z=fn1(pixel) loop: z=p1*sqr(sin(fn2(z)))+p2 if @Va=="1" z=z elseif @va=="2" z=-log(1-z) elseif @va=="3" z=z/(1-z) elseif @va=="4" z=(z/(1-z)^2)/2 elseif @va=="5" z=(z*(1+z)/(1-z)^3)/3 elseif @va=="6" z=(z*(1+z)/(1-z)^3)/4 elseif @va=="7" z=(z*(1+4*z+z^2)/(1-z)^4)/8 elseif @va=="8" z=(z*(1+z)*(1+10*z+z^2)/(1-z)^5)/16 endif x=real(z) y=imag(z) z=((0.5+0.5*1i)*x-2*y+0.5)/2+flip((2*x+y+1+0.5*1i)/(-2)) z=p3*flip(fn3(z))+p4 z=z+p5/fn4(z) bailout: |z|<@bail default: title="Bukus Julia" center=(0.001,0.001) angle=270 periodicity=0 param Va caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=p5!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Vingel { init: z=fn1(pixel) loop: z=fn2((z)) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif if @JM=="J" z=(1-z^2)/(1-cos(p1)*z+z^2) else z=(1-z^2)/(1-cos(p1)*z+z^2)+@fn5(pixel) endif z=p2*fn3(z)+p3 z=z+p4/fn4(z) bailout: |z|<@bail default: title="Vingel" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=p4!=0 endfunc func fn5 caption="Function 5" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } Vingel2 { init: z=fn1(pixel) loop: z=fn2((z)) if @Va=="none" z=z elseif @Va=="1" if @JM=="J" if |z|<1 z=z/|z| endif else z=(z^2-1)/(2*z) endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if @JM=="J" if real(z)imag(z) z=flip(z) endif else z=z-(z^3-1)/(3*z^2) endif endif if @JM=="J" z=2*z*(cos(p1)-z)/(1-2*z*cos(p1)+z^2) else z=2*z*(cos(p1)-z)/(1-2*z*cos(p1)+z^2)+@fn5(pixel) endif z=p2*fn3(z)+p3 z=z+p4/fn4(z) bailout: |z|<@bail default: title="Vingel 2" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=p4!=0 endfunc func fn5 caption="Function 5" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } MandyPixtet { init: z=fn1(pixel) loop: z=p1*fn2(z)+p2 if @Va=="none" z=z elseif @Va=="1" z=z+1 elseif @Va=="2" z=z-1 elseif @Va=="3" z=z*(z+1) elseif @Va=="4" z=z*(z-1) elseif @Va=="5" z=(z^2-1)/(2*z) elseif @Va=="6" z=(z^3-1)/(3*z^2) elseif @Va=="7" z=(z^4-1)/(4*z^3) elseif @Va=="8" z=z-(z^2-1)/(2*z) elseif @Va=="9" z=z-(z^3-1)/(3*z^2) elseif @Va=="10" z=z-(z^4-1)/(4*z^3) elseif @Va=="11" z=z^2*(z-2)/(1-2*z) elseif @Va=="12" z=z^2*(z+2)/(1+2*z) elseif @Va=="13" z=z^2*(z-3)/(1-3*z) elseif @Va=="14" z=z^2*(z+3)/(1+3*z) endif z=z^@pow+fn3(pixel^pixel) z=p3*fn4(z)+p4 z=z+p5/@fn5(z) bailout: |z|<@bail default: title="Mandy Pixtet" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() visible=@p5!=0 endfunc param pow caption="Exponent" default=2 endparam param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9""10""11""12""13""14" endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 caption="Parameter 4" default=0.0 endparam param p5 caption="Parameter 5" default=0.0 endparam param bail caption="Bailout" default=4.0 endparam } VurgulousJulia { init: z=fn1(pixel) int i=0 loop: z=p3*fn2(z)+p4 while i<@iter i=i+1 z=z+p1/i^z i=i+1 endwhile z=z^2+p2 z=fn3(z) bailout: |z|<@bail default: title="Vurgulous Julia" center=(-0.701,0.001) angle=270 periodicity=0 param p1 default=(0.75,0) endparam param p2 default=(-1.25,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param iter caption="Iterations" default=7 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Squoggelbrot { init: z=fn1(pixel) loop: z=p1*z^2-p2*z+cotan(pixel)^cotan(pixel)+p3 z=fn2(z) z=z+p4/fn3(z) bailout: |z|<@bail default: title="Squoggelbrot" center=(0.001,0.001) periodicity=0 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=p4!=0 endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } AmanitaAbrupta { init: z=fn1(pixel) loop: x=real(z) y=imag(z) x=x^2-y^2+abs(real(pixel)) y=2*conj(real(z))*abs(y)+fn2(imag(pixel)) z=p1*fn3(x+flip(y))+p2 bailout: |z|<@bail default: title="Amanita Abrupta" center=(0.001,0.001) func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } Wobite { init: z=fn1(pixel) loop: x=real(z) y=imag(z) x=x^2-y^2+real(fn2(cosh(p1*pixel))) y=2*conj(real(z))*abs(y)+imag(fn2(cosh(p1*pixel))) if @V=="1" z=p2*(x+flip(y))+p3 elseif @V=="2" z=p2*conj(x+flip(y))+p3 elseif @V=="3" z=p2*abs(x+flip(y))+p3 elseif @V=="4" z=p2*cosh(x+flip(y))+p3 elseif @V=="5" z=p2*sin(x+flip(y))+p3 elseif @V=="6" z=p2*conj(sqr(x+flip(y)))+p3 elseif @V=="7" z=x+flip(y) z=p2*(exp(z)-z)+p3 endif if real(z)>imag(z) z=flip(z) endif bailout: |z|<@bail default: title="Wobite" angle=90 param V caption="Variant" enum="1""2""3""4""5""6""7" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } CarotidMod { init: z=fn1(pixel) loop: z=p4*fn2(z)+p5 z=cos(1i*z*acos(p1*fn3(exp(z))+p2))+p3 z=sqrt(1-abs(z)^2) bailout: |z|<@bail default: title="Carotid Mod" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } Newtration { init: z=fn1(pixel) loop: zold=z z=z+p1/fn2(z) z=abs(sqr(z)) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=z-p2*(z^z-p3)/(z^z*(1+log(z))) bailout: |zold-z|>@bail default: title="Newtration" center=(0.001,0.001) periodicity=0 param p1 default=(0.1,-0.2) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=exp() endfunc param Va caption="Modification" enum="none""1""2""3""4""5" endparam param bail caption="Bailout" default=0.0000000001 endparam } UmaSlix { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=z+p1/fn2(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p2) y=y/a+imag(p2) z=x+flip(y) x=real(z) y=imag(z) if @JM=="M" x=x^2-y^2+p3*real(fn3(cosh(p4*pixel))) y=2*conj(real(z))*abs(y)+p3*imag(fn3(cosh(p4*pixel))) else x=x^2-y^2+p3*real(fn3(cosh(@p3j))) y=2*conj(real(z))*abs(y)+imag(fn3(cosh(@p3j))) endif if @V=="1" z=x+flip(y) elseif @V=="2" z=conj(x+flip(y)) elseif @V=="3" z=abs(x+flip(y)) elseif @V=="4" z=asinh(abs(log(x+flip(y)))) elseif @V=="5" z=sqr(x+flip(y)) elseif @V=="6" z=abs(conj(log(sqrt(x+flip(y))))) elseif @V=="7" z=abs(log(x+flip(y))) elseif @V=="8" z=abs(sqr(x+flip(y))) elseif @V=="9" z=abs(acosh(x+flip(y))) elseif @V=="10" z=abs(asinh(x+flip(y))) elseif @V=="11" z=sqr(abs(acos(x+flip(y)))) elseif @V=="12" z=log(abs(x+flip(y))) elseif @V=="13" z=log(sqr(x+flip(y))) elseif @V=="14" z=sqr(flip(x+flip(y))) elseif @V=="15" z=sqr(log(x+flip(y))) elseif @V=="16" z=abs(sqr(acos(x+flip(y)))) elseif @V=="17" z=acos(acos(abs(x+flip(y)))) elseif @V=="18" z=sqr(acos(conj(x+flip(y)))) elseif @V=="19" z=sqr(flip(acos(x+flip(y)))) elseif @V=="20" z=sqr(sqr(log(x+flip(y)))) elseif @V=="21" z=sqr(sqr(acosh(x+flip(y)))) elseif @V=="22" z=sqr(cos(log(x+flip(y)))) elseif @V=="23" z=sqr(x+flip(y))-(x+flip(y)) elseif @V=="24" z=abs(x+flip(y))-recip(x+flip(y)) elseif @V=="25" z=cotanh(x+flip(y))-(x+flip(y)) elseif @V=="26" z=cotan(x+flip(y))-(x+flip(y)) elseif @V=="27" z=tan(x+flip(y))-exp(x+flip(y)) elseif @V=="28" z=recip(x+flip(y))-cosh(x+flip(y)) endif if real(z)>imag(z) z=flip(z) endif if @V2=="1" z=log(abs(z)) elseif @V2=="2" z=recip(log(abs(z))) elseif @V2=="3" z=log(log(abs(z))) elseif @V2=="4" z=asin(log(abs(z))) elseif @V2=="5" z=log(abs(log(z))) elseif @V2=="6" z=log(abs(sqrt(z))) elseif @V2=="7" z=log(sqrt(abs(log(z)))) endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Uma Slix" center=(0.001,0.001) angle=90 maxiter=500 periodicity=0 param JM caption="J/M" enum="J""M" default=1 endparam param V caption="Variant 1" enum="1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16"\ "17""18""19""20""21""22""23""24"\ "25""26""27""28" endparam param V2 caption="Variant 2" enum="1""2""3""4""5""6""7" endparam param p1 default=(1,0) endparam param p2 default=(-0.5,0.5) endparam param p3 default=(1,0) visible=@JM=="M" endparam param p3j caption="Parameter 3" default=(0,0) visible=@JM=="J" endparam param p4 default=(1,0) visible=@JM=="M" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param iter caption="Iterations" default=4 endparam param bail caption="Bailout" default=10000000.0 endparam } Vurg { init: z=fn1(pixel) int i=0 loop: if @V=="1" z=p3*sinh(z)+p4 while (i<@iter) i=i+1 z=p2*fn2(z)+p1/(1-p5^fn3(-z)) i=i+1 endwhile z=z^2+1 z=cotan(z) elseif @V=="2" while (i<@iter) z=p3*sinh(z)+p4 i=i+1 z=p2*fn2(z)+p1/(1-p5^fn3(-z)) i=i+1 endwhile z=z^2+1 z=cotan(z) elseif @V=="3" while (i<@iter) i=i+1 z=p2*fn2(z)+p1/(1-p5^fn3(-z)) i=i+1 z=p3*sinh(z)+p4 endwhile z=z^2+1 z=cotan(z) elseif @V=="4" while (i<@iter) i=i+1 z=p2*fn2(z)+p1/(1-p5^fn3(-z)) i=i+1 endwhile z=z^2+1 z=cotan(z) z=p3*sinh(z)+p4 endif bailout: |z|<@bail default: title="Vurg" center=(0.001,0.001) magn=0.5 periodicity=0 param V caption="Variant" enum="1""2""3""4" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param p1 default=(0.8,0) endparam param p2 default=(0.33,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(2,0) endparam param iter caption="Iterations" default=7 endparam param bail caption="Bailout" default=4.0 endparam } Newtrality { init: z=fn1(pixel) loop: zold=z if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=z+p4/fn3(z) z=z-p1*fn2(z^3-p2)/(3*z^2)+p3 z=sqrt(1-abs(z)^4) bailout: |zold-z|>@bail default: title="Newtrality" center=(0.001,0.001) periodicity=0 param p1 default=(0.3,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=p4!=0 endfunc param Va caption="Modification" enum="none""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } Oscillo { init: z=fn1(exp(pixel)) loop: z=p1*z if @V=="1" z=z+p2/cotanh(z) else z=z+p2/recip(z) endif x=real(z) y=imag(z) x=x/|z| y=y/|z| z=fn2(x+flip(y)) z=sqrt(1-p3*flip(sqrt(z))^4) z=sqrt(1-flip(z)^4) bailout: |z|<@bail default: title="Oscillo" center=(0.001,0.001) angle=270 param V caption="Variant" enum="1""2" endparam param p1 default=(1,0) endparam param p2 default=(-0.25,0.3) endparam param p3 default=(1,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } Polylogarithm2 { ; http://oeis.org/A008292 ; https://www.cs.kent.ac.uk/pubs/1992/110/content.pdf init: z=fn1(pixel) loop: z=p1*fn2(z)+p2 z=z+p3/fn4(z) if @Va=="none" z=z elseif @Va=="1" z=(z^2-1)/(2*z) elseif @Va=="2" z=z^2*(z-2)/(1-2*z) elseif @Va=="3" z=z^2*(z+2)/(1+2*z) elseif @Va=="4" z=(z-2)/(1-2*z) elseif @Va=="5" z=(z+2)/(1+2*z) endif if @v=="-1" z=z/(1-z)^2 elseif @v=="-2" z=z*(1+z)/(1-z)^3 elseif @v=="-3" z=z*(1+4*z+z^2)/(1-z)^4 elseif @v=="-4" z=z*(1+z)*(1+10*z+z^2)/(1-z)^5 elseif @v=="-5" z=z*(z^4+26*z^3+66*z^2+26*z+1)/(1-z)^6 elseif @v=="-6" z=z*(z^5+57*z^4+302*z^3+302*z^2+57*z+1)/(1-z)^7 elseif @v=="-7" z=z*(z^6+120*z^5+1191*z^4++2416*z^3+1191*z^2+120*z+1)/(1-z)^8 elseif @v=="-8" z=z*(z^7+247*z^6+4293*z^5+15619*z^4+15619*z^3+4293*z^2+247*z+1)/(1-z)^9 elseif @v=="-9" z=z*(z^8+502*z^7+14608*z^6+88234*z^5+156190*z^4+88234*z^3+14608*z^2+502*z+1)/(1-z)^10 elseif @v=="-10" z=z*(z^9+1013*z^8+47840*z^7+455192*z^6+1310354*z^5+1310354*z^4+455192*z^3+47840*z^2+1013*z+1)/(1-z)^11 endif z=p4*fn3(z)+p5 bailout: |z|<@bail default: title="Polylogarithm 2" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="-1""-2""-3""-4""-5""-6""-7""-8""-9""-10" endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p4 default=(1,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=p3!=0 endfunc param Va caption="Modification" enum="none""1""2""3""4""5" endparam param bail caption="Bailout" default=10.0 endparam } MandyPixtet2 { init: z=fn1(sqr(pixel)) loop: z=p1*flip(conj(z))+p2 z=z^2+cabs(pixel)^fn2(pixel)+p3 z=z+p4/fn3(z) bailout: |z|<@bail default: title="Mandy Pixtet 2" center=(0.001,0.001) param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=p4!=0 endfunc param bail caption="Bailout" default=4.0 endparam } MandyPixtet3 { init: z=fn1((pixel)) loop: z=flip(p1)*fn2(z)+abs(flip(p2)) z=z^2+fn3(pixel)^tan(pixel)^exp(pixel) z=z=z+p3/fn4(z) bailout: |z|<@bail default: title="Mandy Pixtet 3" center=(0.001,0.001) param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param p3 caption="Parameter 3" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=p3!=0 endfunc param bail caption="Bailout" default=4.0 endparam } WoftunSect { init: z=fn1((pixel)) loop: z=fn2((z)) if @JM=="M" z=exp(-z^2)*1i*z*p1-(p2-fn3(z))*sin(p3*z^2)+fn4(pixel) else z=exp(-z^2)*1i*z*p1-(p2-fn3(z))*sin(p3*z^2)+p4 endif bailout: |z|<@bail default: title="Woftun Sect" center=(0.001,0.001) angle=270 periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 default=(1,0) endparam param p2 default=(0.5,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) visible=@JM=="J" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } Newtrality2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=z+p4/fn4(z) z=z-p1*fn2(z^3-p2)/(3*z^2)+p3 if @JM=="J" z=log(abs(sqrt(1-abs(z)^4)))+p5 else z=log(abs(sqrt(1-abs(z)^4)))+p5+fn3(pixel) endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Newtrality 2" center=(0.001,0.001) periodicity=0 maxiter=500 param JM caption="J/M" enum="J""M" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) visible=@JM=="J" endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=@JM=="M" endfunc func fn4 default=ident() visible=p4!=0 endfunc param iter caption="Iterations" default=3 endparam param Va caption="Modification" enum="none""1""2""3""4""5" endparam param bail caption="Bailout" default=1000.0 endparam } Theistre { init: z=fn1(pixel) loop: z=p1*fn2(z)+p2 if @Va=="none" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif elseif @Va=="3" z=z^2+z elseif @Va=="4" z=z^3+z^2+z elseif @Va=="5" z=z^2-z endif z=z^2+fn3(abs(pixel))^fn4(p3*1i) z=z+p4/@fn5(z) bailout: |z|<@bail default: title="Theistre" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() visible=p4!=0 endfunc param Va caption="Modification" enum="none""1""2""3""4""5" endparam param bail caption="Bailout" default=10.0 endparam } Theistre2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=z+p1 z=log(abs(z^2))+p2*fn2(abs(p3*pixel+p4))^1i z=fn3(z)+p5*fn4(z) endwhile z=51*z/50 bailout: |z|<@bail default: title="Theistre 2" center=(0.001,0.001) periodicity=0 maxiter=250 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=p5!=0 endfunc param iter caption="Iterations" default=4 endparam param bail caption="Bailout" default=10.0 endparam } Foustret { init: z=fn1((pixel)) loop: z=p1*fn2(z)+p2 if @Va=="none" z=z elseif @Va=="1" z=flip(conj(z)) elseif @Va=="2" z=flip(conj(cos(z))) elseif @Va=="3" z=flip(conj(sin(z))) elseif @Va=="4" z=log(cos(z)) elseif @Va=="5" z=cotanh(recip(z)) elseif @Va=="6" z=cotanh(recip(abs(z))) elseif @Va=="7" z=cotanh(recip(sqr(z))) elseif @Va=="8" z=z^2*(z-2)/(1-2*z) elseif @Va=="9" z=z^2*(z-1.5)/(1-1.5*z) elseif @Va=="10" z=z^2*(z-0.5)/(1-0.5*z) endif z=1i*z^2+1i^pixel^pixel z=z+p3/fn3(z) bailout: |z|<@bail default: title="Foustret" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=p3!=0 endfunc param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9""10" endparam param bail caption="Bailout" default=100.0 endparam } LabsCayley^2Pixtet { init: z=fn1(p1*pixel+p2)^fn2(p3*pixel+p4) int i=0 loop: while i<@iter i=i+1 z=1i*fn3(z) z=p5*log(abs(((z-1i)/(z+1i))^2))+fn4(abs(pixel))^@fn5(abs(pixel))+p6 z=z+@p7/@fn6(z) endwhile z=51*z/50 bailout: |z|<@bail default: title="Labs Cayley^2 Pixtet" center=(0.001,0.001) maxiter=500 periodicity=0 param p1 caption="Parameter 1" default=1.0 endparam param p2 default=(0,0) endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam param p5 default=(1,0) endparam param p6 default=(0,0) endparam param p7 caption="Parameter 7" default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() endfunc func fn6 caption="Function 6" default=ident() visible=@p7!=0 endfunc param iter caption="Iterations" default=4 endparam param bail caption="Bailout" default=1000.0 endparam } MöbiusNewton/Nova { init: z=fn1(pixel) loop: zold=z z=fn2((z)) f=(p1*z+p2)/(p3*z+p4)-p5 f1=(p1*p4-p2*z)/(p3*z+p4)^2 if @V=="Newton" z=z-p6*f/f1 else z=z-p6*f/f1+fn3(pixel) endif if @Va=="none" z=z elseif @Va=="1" z=z+@p7/fn4(z) elseif @Va=="2" z=z^2+@p7/fn4(z) elseif @Va=="3" z=z^3+@p7/fn4(z) elseif @Va=="4" z=z^4+@p7/fn4(z) elseif @Va=="5" z=z^5+@p7/fn4(z) elseif @Va=="6" z=z^6+@p7/fn4(z) endif bailout: |zold-z|>@bail default: title="Möbius Newton/Nova" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Newton""Nova" default=1 endparam param Va caption="Modification" enum="none""1""2""3""4""5""6" endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc func fn4 caption="Modification Function" default=ident() visible=@Va!="none" endfunc param p1 caption="Möbius Parameter 1" default=(1,0) endparam param p2 caption="Möbius Parameter 2" default=(1,0) endparam param p3 caption="Möbius Parameter 3" default=(-0.5,0) endparam param p4 caption="Möbius Parameter 4" default=(1,0) endparam param p5 caption="Newton/Nova Parameter 1" default=(1,0) endparam param p6 caption="Newton/Nova Parameter 2" default=(1,0) endparam param p7 caption="Modification Parameter" default=(1,0) visible=@Va!="none" endparam param bail caption="Bailout" default=0.000000001 endparam } MandyPixtet4 { init: z=fn1(sqr(pixel)) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3((z))) z=z+p4/@fn5(z) a=real(z) b=imag(z) a=a/|z|+real(p2) b=b/|z|+imag(p2) z=a+flip(b) x=real(z) y=imag(z) x=(x^2-y^2) y=(2*real(z)*y) z=x+flip(y) z=p1*log(abs(z))+abs(pixel)^fn4(pixel)+p3 endwhile z=51*z/50 bailout: |z|<@bail default: title="Mandy Pixtet 4" center=(0.001,0.001) periodicity=0 maxiter=500 func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() visible=p4!=0 endfunc param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam param iter caption="Iterations" default=5 endparam param bail caption="Bailout" default=1000.0 endparam } Power3BurningShip { init: z=fn1(pixel) a=flip(p1)+p2 b=flip(p4)+p5 loop: z=z+a/fn3(z) z=p3*abs(z)^3+fn2(pixel) z=z+b/fn4(z) bailout: |z|<@bail default: title="Power 3 Burning Ship" center=(0.001,0.001) periodicity=0 param p1 caption="Parameter 1" default=0.0 endparam param p2 caption="Parameter 2" default=0.0 endparam param p3 default=(1,0) endparam param p4 caption="Parameter 4" default=0.0 endparam param p5 caption="Parameter 5" default=0.0 endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() visible=p1!=0 || p2!=0 endfunc func fn4 default=ident() visible=p4!=0 || p5!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Rekursif2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn4(z) z=z+p5/@fn5(z) x=(real(z)) y=(imag(z)) x=x/|z|+real(p2) y=y/|z|+imag(p2) z=x+flip(y) if @V=="1" z=p1/(p1+z) z=p1/(p1+z) elseif @V=="2" z=p1/(p1+z) z=p1/(p1+z) z=p1/(p1+z) elseif @V=="3" z=p1/(p1+z) z=p1/(p1+z) z=p1/(p1+z) z=p1/(p1+z) endif if @fn2=="ident" z=ident(z) elseif @fn2=="sin" z=sin(z) elseif @fn2=="sinh" z=sinh(z) elseif @fn2=="asin" z=asin(z) elseif @fn2=="asinh" z=asinh(z) elseif @fn2=="versin" z=1-cos(z) elseif @fn2=="aversin" z=acos(1-z) elseif @fn2=="haversin" z=(1-cos(z))/2 elseif @fn2=="ahaversin" z=2*asin(sqrt(z)) elseif @fn2=="coversin" z=1-sin(z) elseif @fn2=="acoversin" z=asin(1-z) elseif @fn2=="hacoversin" z=(1-sin(z))/2 elseif @fn2=="cos" z=cos(z) elseif @fn2=="cosh" z=cosh(z) elseif @fn2=="acos" z=acos(z) elseif @fn2=="acosh" z=acosh(z) elseif @fn2=="vercos" z=1+cos(z) elseif @fn2=="avercos" z=acos(1+z) elseif @fn2=="havercos" z=(1+cos(z))/2 elseif @fn2=="ahavercos" z=2*acos(sqrt(z)) elseif @fn2=="covercos" z=1+sin(z) elseif @fn2=="acovercos" z=asin(1+z) elseif @fn2=="hacovercos" z=(1+sin(z))/2 elseif @fn2=="tan" z=tan(z) elseif @fn2=="tanh" z=tanh(z) elseif @fn2=="atan" z=atan(z) elseif @fn2=="atanh" z=atanh(z) elseif @fn2=="cotan" z=cotan(z) elseif @fn2=="cotanh" z=cotanh(z) elseif @fn2=="acotan" z=atan(1/(z)) elseif @fn2=="acotanh" z=atanh(1/(z)) elseif @fn2=="sec" z=1/cos(z) elseif @fn2=="sech" z=1/cosh(z) elseif @fn2=="asec" z=acos(1/z) elseif @fn2=="asech" z=acosh(1/z) elseif @fn2=="cosec" z=1/sin(z) elseif @fn2=="cosech" z=1/sinh(z) elseif @fn2=="acosec" z=asin(1/z) elseif @fn2=="acosech" z=asinh(1/z) elseif @fn2=="exsec" z=1/cos(z)-1 elseif @fn2=="aexsec" z= acos(1/(z+1)) elseif @fn2=="excosec" z=1/sin(z)-1 elseif @fn2=="aexcosec" z=asin(1/(z+1)) elseif @fn2=="crd" z=2*sin(z/2) elseif @fn2=="acrd" z=2*asin(z/2) elseif @fn2=="gd" z=asin(tanh(z)) elseif @fn2=="agd" z=asinh(tan(z)) elseif @fn2=="sinc" z=sin(z)/(z) elseif @fn2=="sinhc" z=sinh(z)/(z) elseif @fn2=="cosc" z=cos(z)/(z) elseif @fn2=="coshc" z=cosh(z)/(z) elseif @fn2=="tanc" z=tan(z)/(z) elseif @fn2=="tanhc" z=tanh(z)/(z) elseif @fn2=="cotanc" z=cotan(z)/(z) elseif @fn2=="cotanhc" z=cotanh(z)/(z) elseif @fn2=="secc" z=1/(z*cos(z)) elseif @fn2=="sechc" z=1/(z*cosh(z)) elseif @fn2=="cosecc" z= 1/(z*sin(z)) elseif @fn2=="cosechc" z=1/(z*sinh(z)) elseif @fn2=="sqr" z=sqr(z) elseif @fn2=="sqrt" z=sqrt(z) elseif @fn2=="cube" z=z^3 elseif @fn2=="cuberoot" z=z^(1/3) elseif @fn2=="log" z=log(z) elseif @fn2=="colog" z=-log(z) elseif @fn2=="exp" z=exp(z) elseif @fn2=="abs" z=abs(z) elseif @fn2=="cabs" z=cabs(z) elseif @fn2=="conj" z=conj(z) elseif @fn2=="flip" z=flip(z) elseif @fn2=="recip" z=recip(z) elseif @fn2=="logit" z= log(z/(1-z)) elseif @fn2=="expit" z=1/(1+exp(-z)) elseif @fn2=="gauss" z=exp(-sqr(z)) elseif @fn2=="softplus" z=log(1+exp(z)) elseif @fn2=="prime-counting" z=z/log(z) elseif @fn2=="ceil" z=ceil(z) elseif @fn2=="floor" z=floor(z) elseif @fn2=="trunc" z=trunc(z) elseif @fn2=="round" z=round(z) endif z=p4*log(abs(z))+p3 if @fn3=="ident" z=ident(z) elseif @fn3=="sin" z=sin(z) elseif @fn3=="sinh" z=sinh(z) elseif @fn3=="asin" z=asin(z) elseif @fn3=="asinh" z=asinh(z) elseif @fn3=="versin" z=1-cos(z) elseif @fn3=="aversin" z=acos(1-z) elseif @fn3=="haversin" z=(1-cos(z))/2 elseif @fn3=="ahaversin" z=2*asin(sqrt(z)) elseif @fn3=="coversin" z=1-sin(z) elseif @fn3=="acoversin" z=asin(1-z) elseif @fn3=="hacoversin" z=(1-sin(z))/2 elseif @fn3=="cos" z=cos(z) elseif @fn3=="cosh" z=cosh(z) elseif @fn3=="acos" z=acos(z) elseif @fn3=="acosh" z=acosh(z) elseif @fn3=="vercos" z=1+cos(z) elseif @fn3=="avercos" z=acos(1+z) elseif @fn3=="havercos" z=(1+cos(z))/2 elseif @fn3=="ahavercos" z=2*acos(sqrt(z)) elseif @fn3=="covercos" z=1+sin(z) elseif @fn3=="acovercos" z=asin(1+z) elseif @fn3=="hacovercos" z=(1+sin(z))/2 elseif @fn3=="tan" z=tan(z) elseif @fn3=="tanh" z=tanh(z) elseif @fn3=="atan" z=atan(z) elseif @fn3=="atanh" z=atanh(z) elseif @fn3=="cotan" z=cotan(z) elseif @fn3=="cotanh" z=cotanh(z) elseif @fn3=="acotan" z=atan(1/(z)) elseif @fn3=="acotanh" z=atanh(1/(z)) elseif @fn3=="sec" z=1/cos(z) elseif @fn3=="sech" z=1/cosh(z) elseif @fn3=="asec" z=acos(1/z) elseif @fn3=="asech" z=acosh(1/z) elseif @fn3=="cosec" z=1/sin(z) elseif @fn3=="cosech" z=1/sinh(z) elseif @fn3=="acosec" z=asin(1/z) elseif @fn3=="acosech" z=asinh(1/z) elseif @fn3=="exsec" z=1/cos(z)-1 elseif @fn3=="aexsec" z= acos(1/(z+1)) elseif @fn3=="excosec" z=1/sin(z)-1 elseif @fn3=="aexcosec" z=asin(1/(z+1)) elseif @fn3=="crd" z=2*sin(z/2) elseif @fn3=="acrd" z=2*asin(z/2) elseif @fn3=="gd" z=asin(tanh(z)) elseif @fn3=="agd" z=asinh(tan(z)) elseif @fn3=="sinc" z=sin(z)/(z) elseif @fn3=="sinhc" z=sinh(z)/(z) elseif @fn3=="cosc" z=cos(z)/(z) elseif @fn3=="coshc" z=cosh(z)/(z) elseif @fn3=="tanc" z=tan(z)/(z) elseif @fn3=="tanhc" z=tanh(z)/(z) elseif @fn3=="cotanc" z=cotan(z)/(z) elseif @fn3=="cotanhc" z=cotanh(z)/(z) elseif @fn3=="secc" z=1/(z*cos(z)) elseif @fn3=="sechc" z=1/(z*cosh(z)) elseif @fn3=="cosecc" z= 1/(z*sin(z)) elseif @fn3=="cosechc" z=1/(z*sinh(z)) elseif @fn3=="sqr" z=sqr(z) elseif @fn3=="sqrt" z=sqrt(z) elseif @fn3=="cube" z=z^3 elseif @fn3=="cuberoot" z=z^(1/3) elseif @fn3=="log" z=log(z) elseif @fn3=="colog" z=-log(z) elseif @fn3=="exp" z=exp(z) elseif @fn3=="abs" z=abs(z) elseif @fn3=="cabs" z=cabs(z) elseif @fn3=="conj" z=conj(z) elseif @fn3=="flip" z=flip(z) elseif @fn3=="recip" z=recip(z) elseif @fn3=="logit" z= log(z/(1-z)) elseif @fn3=="expit" z=1/(1+exp(-z)) elseif @fn3=="gauss" z=exp(-sqr(z)) elseif @fn3=="softplus" z=log(1+exp(z)) elseif @fn3=="prime-counting" z=z/log(z) elseif @fn3=="ceil" z=ceil(z) elseif @fn3=="floor" z=floor(z) elseif @fn3=="trunc" z=trunc(z) elseif @fn3=="round" z=round(z) endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Rekursif 2" center=(0.001,0.001) periodicity=0 magn=0.5 maxiter=250 param V caption="Variant" enum="1""2""3" default=2 endparam param iter caption="Iterations" default=8 endparam param p1 default=(0.2,-0.3) endparam param p2 default=(0.2,-0.2) endparam param p3 default=(-0.2,-0.1) endparam param p4 default=(0.8,-0.5) endparam param p5 default=(0,0) endparam func fn1 default=ident() endfunc param fn2 caption="Function 2" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" endparam param fn3 caption="Function 3" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""ahavercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""atanh""cotan""cotanh""acotan""acotanh" \ "sec""sech""asec""asech""cosec""cosech""acosec""acosech""exsec""aexsec"\ "excosec""aexcosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""colog""exp""abs""cabs""conj""flip""recip"\ "logit""expit""gauss""softplus""prime-counting""ceil""floor""trunc""round" endparam func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() visible=p5!=0 endfunc param bail caption="Bailout" default=10.0 endparam } LabsMunsterRekursif { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) if @V=="1" z=z^2*(z-p2)/(1-p2*z) z=z^2*(z-p2)/(1-p2*z) elseif @V=="2" z=z^2*(z-p2)/(1-p2*z) z=z^2*(z-p2)/(1-p2*z) z=z^2*(z-p2)/(1-p2*z) elseif @V=="3" z=z^2*(z-p2)/(1-p2*z) z=z^2*(z-p2)/(1-p2*z) z=z^2*(z-p2)/(1-p2*z) z=z^2*(z-p2)/(1-p2*z) endif z=fn3(z) if @JM=="J" z=p3*log(abs(z))+p4 else z=p3*log(abs(z))+p4+@fn5(pixel) endif z=fn4(z) endwhile z=51*z/50 bailout: |z|<@bail default: title="Labs Munster Rekursif" center=(0.001,0.001) periodicity=0 magn=0.5 maxiter=500 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3" endparam param iter caption="Iterations" default=3 endparam param p1 default=(0,0) endparam param p2 default=(2,0) endparam param p3 default=(1,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() endfunc func fn5 caption="Function 5" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=10000.0 endparam } BushiPixtet { init: z=fn1(pixel) loop: z=z+p3*z/@fn5(z)+p4 z=p2*abs(z)^@pow+fn2(abs(pixel))^fn3(abs(pixel)) z=z+p1*z/fn4(z) bailout: |z|<@bail default: title="Bushi Pixtet" center=(0.001,0.001) periodicity=0 param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=p1!=0 endfunc func fn5 caption="Function 5" default=ident() visible=p3!=0 endfunc param pow caption="Exponent" default=(3,0) endparam param bail caption="Bailout" default=4.0 endparam } Mandabs3/1 { init: z=fn1(pixel) loop: z=fn2(z) z=z+p1/fn3(z) if @JM=="J" z=p2*abs(z)^3*z+p3 else z=p2*abs(z)^3*z+fn4(pixel) endif z=z+p4*@fn5(z) bailout: |z|<@bail default: title="Mandabs 3/1" center=(0.001,0.001) periodicity=0 param JM enum="J""M" caption="J/M" default=1 endparam param p2 caption="Loop Parameter" default=(1,0) endparam param p3 caption="J Parameter" default=(-0.5,0) visible=@JM=="J" endparam param p1 caption="Mod Parameter 1" default=(0,0) endparam param p4 caption="Mod Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn3 caption="Mod Function 1" default=ident() visible=p1!=0 endfunc func fn5 caption="Mod Function 2" default=ident() visible=p4!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Mandabs3/1Labs { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) z=z+p1/fn3(z) x=real(z) y=imag(z) x=x/|z|+real(p5) y=y/|z|+imag(p5) z=x+flip(y) if @JM=="J" z=p2*log(abs(abs(z)^3*z))+p3 else z=p2*log(abs(abs(z)^3*z))+fn4(pixel) endif z=z+p4*@fn5(z) endwhile z=51*z/50 bailout: |z|<@bail default: title="Mandabs 3/1 Labs" center=(0.001,0.001) periodicity=0 maxiter=500 param JM caption="J/M" enum="J""M" default=1 endparam param iter caption="Iterations" default=3 endparam param p2 caption="Loop Parameter" default=(1,0) endparam param p3 caption="J Parameter" default=(-0.5,0) visible=@JM=="J" endparam param p1 caption="Mod Parameter 1" default=(0,0) endparam param p5 caption="Mod Parameter 2" default=(0,0) endparam param p4 caption="Mod Parameter 3" default=(0,0) endparam func fn1 default=ident() caption="Start Function" endfunc func fn2 caption="Loop Fuction" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn3 caption="Mod Function 1" default=ident() visible=p1!=0 endfunc func fn5 caption="Mod Function 2" default=ident() visible=p4!=0 endfunc param bail caption="Bailout" default=1000.0 endparam } Stenosti { ; This is a modification of ; Newton's Method for exp(z) = log(z) ; by Kerry Mitchell (ikm.ufm) init: z=fn1(pixel) loop: z=p1*sqr(z)+p2 z=z+p4*(z-p5)/(z+p5) if @Va=="none" z=z elseif @Va=="1" z=z+1/cotanh(z) elseif @Va=="2" z=z-0.7/cotan(z) elseif @Va=="3" z=z^2*(z-2)/(1-2*z) elseif @Va=="4" z=z^2*(z-0.5)/(1-0.5*z) elseif @Va=="5" z=z^2/(z-1) elseif @Va=="6" z=z^2/(z+1) endif a=fn2(z) b=a-1/z a=a-fn3(z) c=a/b if @JM=="J" z=z-c+p6 else z=z-c+@fn5(pixel) endif z=z+p3/fn4(z) bailout: |z|>@bail default: title="Stenosti" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(0,0) endparam param p4 default=(0,0) endparam param p5 default=(1,0) visible=p4!=0 endparam param p6 default=(0,0) visible=@JM=="J" endparam func fn1 default=ident() endfunc func fn2 default=exp() endfunc func fn3 default=cotanh() endfunc func fn4 default=ident() visible=p3!=0 endfunc func fn5 caption="Function 5" default=ident() visible=@JM=="M" endfunc param Va caption="Modification" enum="none""1""2""3""4""5""6" endparam param bail caption="Bailout" default=0.000000001 endparam } Stenosti2 { init: z=fn1(pixel) loop: z=p1*sqr(z)+p2 if @Va=="none" z=z elseif @Va=="1" if real(z)@bail default: title="Stenosti 2" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 default=(1,0) endparam param p2 default=(0,0) endparam param p3 default=(-1,0) visible=@JM=="J" endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc func fn4 default=ident() visible=@JM=="M" endfunc func fn5 caption="Function 5" default=ident() visible=p4!=0 endfunc param Va caption="Modification" enum="none""1""2""3""4""5""6""7""8""9""10""11""12""13""14" endparam param bail caption="Bailout" default=0.000000001 endparam } Ixevense { init: z=pixel c=pixel loop: z=(p1/2)*z+p2/40 a=z z=2*z^2+3*c^2+4*z+5*c+p3/4 c=a^2+7*c^2+8*a+9*c+p4/20 z=z^2+c z=z+p5/(100*z) z=z+(p6/20)*(z-@p7)/(z+@p7) bailout: |z|<@bail default: title="Ixevense" center=(-0.201,0.001) magn=8 angle=90 periodicity=0 param p1 caption="Loop Parameter 1" default=(-1.4,0) endparam param p2 caption="Loop Parameter 2" default=(1,0) endparam param p3 caption="Z Parameter" default=(1,0) endparam param p4 caption="C Parameter" default=(1,0) endparam param p5 caption="Mod Parameter 1" default=(0,0) endparam param p6 caption="Mod Parameter 2" default=(0,0) endparam param p7 caption="Mod Parameter 3" default=(1,0) visible=p6!=0 endparam param bail caption="Bailout" default=4.0 endparam } Tetration6 { init: z=fn1(pixel) loop: z=p1*fn2((z))+p2 if @JM=="M" z=e^z^e^z+fn3(sqr(pixel)) else z=e^z^e^z+@p7 endif z=(p3*z+p4)/(p5*z+p6) bailout: |z|<@bail default: title="Tetration 6" center=(0.001,0.001) periodicity=0 param JM enum="J""M" caption="J/M" default=1 endparam param p1 caption="Loop Parameter 1" default=(0.7,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p7 caption="J Parameter" default=(-0.9,0.6) visible=@JM=="J" endparam param p3 caption="Mod Parameter 1" default=(1,0) endparam param p4 caption="Mod Parameter 2" default=(0,0) endparam param p5 caption="Mod Parameter 3" default=(0,0) endparam param p6 caption="Mod Parameter 4" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="M Function" visible=@JM=="M" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Nemtsov { ;http://mizugadro.mydns.jp/t/index.php/Nemtsov_function init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif if @JM=="J" z=z+z^3+p3*z^4+p4 else z=z+z^3+p3*z^4+fn3(pixel) endif if @JM=="J" z=(p5*z+p6)/(@p7*z+@p8) else z=(p5*z+p6)/(@p7*z+@p8)+p2 endif bailout: |z|<@bail default: title="Nemtsov" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p3 caption="Nemtsov Parameter" default=(1,0) endparam param p4 caption="J Parameter" default=(0,0) visible=@JM=="J" endparam param p5 caption="Mod Parameter 1" default=(1,0) endparam param p6 caption="Mod Parameter 2" default=(0,0) endparam param p7 caption="Mod Parameter 3" default=(0,0) endparam param p8 caption="Mod Parameter 4" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=4.0 endparam } Keller { ;http://mizugadro.mydns.jp/t/index.php/Keller_function init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif if @JM=="J" z=e*z-z^2*e*(e-1)/2+fn3(z^3)+p4 else z=e*z-z^2*e*(e-1)/2+fn3(z^3)+fn4(pixel) endif if @JM=="J" z=(p5*z+p6)/(@p7*z+@p8) else z=(p5*z+p6)/(@p7*z+@p8)+p2 endif bailout: |z|<@bail default: title="Keller" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="Loop Parameter 1" default=(0.75,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p4 caption="J Parameter" default=(0,0) visible=@JM=="J" endparam param p5 caption="Mod Parameter 1" default=(1,0) endparam param p6 caption="Mod Parameter 2" default=(0,0) endparam param p7 caption="Mod Parameter 3" default=(0,0) endparam param p8 caption="Mod Parameter 4" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Keller Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=5.0 endparam } Evopy { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @V=="1" z=p1*fn2(z)+p2 elseif @V=="2" z=p1*fn2(recip(z))+p2 elseif @V=="3" z=p1*fn2(exp(recip(z)))+p2 elseif @V=="4" z=p1*fn2(sqr(exp(recip(z))))+p2 elseif @V=="5" z=p1*fn2(exp(flip(recip(z))))+p2 elseif @V=="6" z=p1*fn2(exp(tanh(recip(z))))+p2 endif z=z/(@p5*z+1) x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) if @JM=="J" z=log(abs((1/sqrt(-2*z))*(1-1/sqrt(-2*z)+fn3(log(-z)/z))))+p4 else z=log(abs((1/sqrt(-2*z))*(1-1/sqrt(-2*z)+fn3(log(-z)/z))))+fn4(pixel) endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Evopy" center=(0.001,0.001) periodicity=0 maxiter=500 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6" default=1 endparam param iter caption="Iterations" default=4 endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p5 caption="Loop Parameter 3" default=(0,0) endparam param p4 caption="J Parameter" default=(0,0) visible=@JM=="J" endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=1000.0 endparam } Sin/AbsVariations { init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif z=(z-@p9)/(1-@p9*z) z=z/(@p7*z+@p8) z=z+p3/@fn5(z) x=real(z) y=imag(z) a=x if @V=="1" x=sin(x)*abs(exp(y)+exp(-y))/2 y=cos(a)*abs(exp(y)-exp(-y))/2 elseif @V=="2" x=abs(sin(x))*(exp(y)+exp(-y))/2 y=abs(cos(a))*(exp(y)-exp(-y))/2 elseif @V=="3" x=abs(sin(x)*(exp(y)+exp(-y)))/2 y=abs(cos(a)*(exp(y)-exp(-y)))/2 elseif @V=="4" x=sin(x)*(abs(exp(y))+exp(-y))/2 y=cos(a)*(abs(exp(y))-exp(-y))/2 endif if @JM=="J" z=(x+flip(y))^@pow+p4 else z=(x+flip(y))^@pow+fn4(pixel) endif z=@p10*@fn6(z)+@p11 bailout: |z|<@bail default: title="Sin/Abs Variations" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4" endparam param pow caption="Exponent" default=2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn6 caption="Loop Function 2" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn5 caption="Mod Function" default=ident() visible=p3!=0 endfunc param p9 caption="Mod Parameter 1" default=(0,0) endparam param p7 caption="Mod Parameter 2" default=(0,0) endparam param p8 caption="Mod Parameter 3" default=(1,0) endparam param p3 caption="Mod Parameter 4" default=(0,0) endparam param p4 caption="J Parameter" default=(0.1,0.25) visible=@JM=="J" endparam param p1 caption="Loop Parameter 1" default=(0.5,0.5) endparam param p10 caption="Loop Parameter 2" default=(1,0) endparam param p2 caption="Loop Parameter 3" default=(0.5,0.5) visible=@JM=="J" endparam param p11 caption="Loop Parameter 4" default=(0,0) visible=@JM=="J" endparam param bail caption="Bailout" default=4.0 endparam } Cos/AbsVariations { init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif z=z/(@p7*z+@p8) z=z+p3/@fn5(z) x=real(z) y=imag(z) a=x if @V=="1" x=cos(x)*abs(exp(y)+exp(-y))/2 y=-sin(a)*abs(exp(y)-exp(-y))/2 elseif @V=="2" x=abs(cos(x))*(exp(y)+exp(-y))/2 y=abs(-sin(a))*(exp(y)-exp(-y))/2 elseif @V=="3" x=abs(cos(x)*(exp(y)+exp(-y)))/2 y=abs(-sin(a)*(exp(y)-exp(-y)))/2 elseif @V=="4" x=cos(x)*(abs(exp(y))+exp(-y))/2 y=-sin(a)*(abs(exp(y))-exp(-y))/2 elseif @V=="5" x=abs(abs(cos(x))*abs(abs(exp(y))+abs(exp(-y))))/2 y=-(abs(sin(a))*abs(exp(y)-exp(-y)))/2 elseif @V=="6" x=(cos(x)*(exp(y)+exp(-y)))/2 y=-abs((sin(a))*((exp(y))-(exp(-y))))/2 elseif @V=="7" x=abs(cos(x)*(abs(exp(y))+exp(-y)))/2 y=-sin(a)*abs(exp(y)-exp(-y))/2 endif if @JM=="J" z=(x+flip(y))^@pow+p4 else z=(x+flip(y))^@pow+fn4(pixel) endif bailout: |z|<@bail default: title="Cos/Abs Variations" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6""7" endparam param pow caption="Exponent" default=2 endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0.5,0.5) visible=@JM=="J" endparam param p4 caption="J Parameter" default=(0.35,-0.62) visible=@JM=="J" endparam param p7 caption="Mod Parameter 1" default=(0,0) endparam param p8 caption="Mod Parameter 2" default=(1,0) endparam param p3 caption="Mod Parameter 3" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn5 caption="Mod Function" default=ident() visible=p3!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Sinh/AbsVariations { init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif z=z/(@p7*z+@p8) z=z+p3/@fn5(z) x=real(z) y=imag(z) a=x if @V=="1" x=abs(cos(y)*(exp(x)-exp(-x))/2) y=abs(sin(y)*(exp(a)+exp(-a))/2) elseif @V=="2" x=cos(y)*abs(exp(x)-exp(-x))/2 y=sin(y)*abs(exp(a)+exp(-a))/2 elseif @V=="3" x=abs(cos(y))*(exp(x)-exp(-x))/2 y=abs(sin(y))*(exp(a)+exp(-a))/2 elseif @V=="4" x=cos(y)*(exp(x)-exp(-x))/2 y=abs(sin(y)*(exp(a)+exp(-a))/2) elseif @V=="5" x=cos(y)*(exp(x)-exp(-x))/2 y=sin(y)*abs(exp(a)+exp(-a))/2 elseif @V=="6" x=abs(cos(y))*(exp(x)-exp(-x))/2 y=(sin(y))*(exp(a)+exp(-a))/2 endif if @JM=="J" z=(x+flip(y))^@pow+p4 else z=(x+flip(y))^@pow+fn4(pixel) endif bailout: |z|<@bail default: title="Sinh/Abs Variations" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6" endparam param pow caption="Exponent" default=2 endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) visible=@JM=="J" endparam param p4 caption="J Parameter" default=(0.35,-0.62) visible=@JM=="J" endparam param p7 caption="Mod Parameter 1" default=(0,0) endparam param p8 caption="Mod Parameter 2" default=(1,0) endparam param p3 caption="Mod Parameter 3" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn5 caption="Mod Function" default=ident() visible=p3!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Cosh/AbsVariations { init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif z=z/(@p7*z+@p8) z=z+p3/@fn5(z) x=real(z) y=imag(z) a=x if @V=="1" x=abs(cos(y)*(exp(x)+exp(-x))/2) y=abs(sin(y)*(exp(a)-exp(-a))/2) elseif @V=="2" x=cos(y)*abs(exp(x)+exp(-x))/2 y=sin(y)*abs(exp(a)-exp(-a))/2 elseif @V=="3" x=abs(cos(y))*(exp(x)+exp(-x))/2 y=abs(sin(y))*(exp(a)-exp(-a))/2 elseif @V=="4" x=cos(y)*(exp(x)+exp(-x))/2 y=abs(sin(y)*(exp(a)-exp(-a))/2) elseif @V=="5" x=cos(y)*abs(exp(x)+exp(-x))/2 y=sin(y)*(exp(a)-exp(-a))/2 elseif @V=="6" x=abs(cos(y))*(exp(x)+exp(-x))/2 y=(sin(y))*(exp(a)-exp(-a))/2 endif if @JM=="J" z=(x+flip(y))^@pow+p4 else z=(x+flip(y))^@pow+fn4(pixel) endif bailout: |z|<@bail default: title="Cosh/Abs Variations" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6" endparam param pow caption="Exponent" default=2 endparam param p1 caption="Loop Parameter 1" default=(0.22,-1.19) endparam param p2 caption="Loop Parameter 2" default=(0.16,-0.465) visible=@JM=="J" endparam param p4 caption="J Parameter" default=(-1.38,0.09) visible=@JM=="J" endparam param p7 caption="Mod Parameter 1" default=(0,0) endparam param p8 caption="Mod Parameter 2" default=(1,0) endparam param p3 caption="Mod Parameter 3" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn5 caption="Mod Function" default=ident() visible=p3!=0 endfunc param bail caption="Bailout" default=4.0 endparam } CCAPMod { ; This is a modification of CCAP from Stephen Ferguson via Ingvar Kullberg (ik.ufm) ; see also: https://www.deviantart.com/journal/When-z-a-is-a-superattractive-fixpoint-235379317 init: z=fn1(pixel) loop: if @JM=="J" z=p2*fn2(sin(flip(z)))+p3 z=z/(p4*z+p5) z=z^3-3*p1^2*z+2*p1^3+p1 else z=p2*fn2(flip(sin(flip(z))))+p3 z=z/(p4*z+p5) z=z+p6/fn4(z) z=z^3-3*fn3(pixel)^2*z+2*fn3(pixel)^3+fn3(pixel) endif z=z+p6/(10*fn4(z)) bailout: |z|<@bail default: title="CCAP Mod" param JM enum="J""M" endparam param p2 caption="Loop Parameter 1" default=(1,0) endparam param p3 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="J Parameter" default=(0,0.5) visible=@JM=="J" endparam param p4 caption="Mod Parameter 1" default=(0,0) endparam param p5 caption="Mod Parameter 2" default=(1,0) endparam param p6 caption="Mod Parameter 3" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn4 caption="Mod Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Sin/AbsVariations2 { init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif z=(z-@p9)/(1-@p9*z) z=z/(@p7*z+@p8) z=z+p3/@fn5(z) if @V=="1" z=abs(exp(1i*z)-exp(-1i*z))/(2*1i) elseif @V=="2" z=(abs(exp(1i*z))-exp(-1i*z))/(2*1i) elseif @V=="3" z=(exp(1i*z)-abs(exp(-1i*z)))/(2*1i) elseif @V=="4" z=abs(abs(exp(1i*z))-exp(-1i*z))/(2*1i) elseif @V=="5" z=abs(exp(1i*z)-exp(-1i*abs(z)))/(2*1i) elseif @V=="6" z=(exp(1i*abs(z))-exp(-1i*abs(z)))/(2*1i) elseif @V=="7" z=(exp(1i*abs(z))-exp(-1i*z))/(2*1i) endif if @JM=="J" z=z^@pow+p4 else z=z^@pow+fn4(pixel) endif z=@p10*@fn6(z)+@p11 bailout: |z|<@bail default: title="Sin/Abs Variations 2" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6""7" endparam param pow caption="Exponent" default=4.0 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn6 caption="Loop Function 2" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn5 caption="Mod Function" default=ident() visible=p3!=0 endfunc param p9 caption="Mod Parameter 1" default=(0,0) endparam param p7 caption="Mod Parameter 2" default=(0,0) endparam param p8 caption="Mod Parameter 3" default=(1,0) endparam param p3 caption="Mod Parameter 4" default=(0,0) endparam param p4 caption="J Parameter" default=(0.1,0.25) visible=@JM=="J" endparam param p1 caption="Loop Parameter 1" default=(0.5,0.5) endparam param p10 caption="Loop Parameter 2" default=(1,0) endparam param p2 caption="Loop Parameter 3" default=(0.5,0.5) visible=@JM=="J" endparam param p11 caption="Loop Parameter 4" default=(0,0) visible=@JM=="J" endparam param bail caption="Bailout" default=4.0 endparam } Tan/CosVariations { init: z=fn1(pixel) loop: if @JM=="J" z=p1*fn2(z)+p2 else z=p1*fn2(z) endif z=(z-@p9)/(1-@p9*z) z=z/(@p7*z+@p8) z=z+p3/@fn5(z) if @V=="1" z=cos((exp(1i*z)-exp(-1i*z))/(1i*(exp(1i*z)+exp(-1i*z)))) elseif @V=="2" z=(exp(1i*z)-exp(-1i*z))/cos(1i*(exp(1i*z)+exp(-1i*z))) elseif @V=="3" z=cos(cos(exp(1i*z)-exp(-1i*z))/cos(1i*(exp(1i*z)+exp(-1i*z)))) elseif @V=="4" z=cos((exp(1i*z)-exp(-1i*z))/(1i*cos(exp(1i*z)+exp(-1i*z)))) elseif @V=="5" z=cos((exp(1i*z)-exp(-1i*z))/(1i*(cos(exp(1i*z))+exp(-1i*z)))) elseif @V=="6" z=cos((exp(1i*z)-cos(exp(-1i*z)))/cos(1i*(cos(exp(1i*z))+exp(-1i*z)))) elseif @V=="7" z=cos((cos(exp(1i*z))-exp(-1i*z))/(1i*cos(exp(1i*z)+cos(exp(-1i*z))))) elseif @V=="8" z=(exp(1i*cos(z))-exp(-1i*cos(z)))/(1i*(exp(1i*cos(z))+exp(-1i*cos(z)))) elseif @V=="9" z=(exp(1i*cos(z))-exp(-1i*z))/(1i*(exp(1i*cos(z))+exp(-1i*z))) elseif @V=="10" z=(exp(1i*z)-exp(-1i*z))/(1i*(exp(1i*cos(z))+exp(-1i*z))) elseif @V=="11" z=cos((exp(1i*cos(z))-exp(-1i*z))/(1i*(exp(1i*z)+exp(-1i*z)))) elseif @V=="12" z=cos((exp(1i*z)-exp(-1i*z))/(1i*(exp(1i*cos(z))+exp(-1i*z)))) elseif @V=="13" z=cos((exp(1i*cos(z))-exp(-1i*z))/(1i*(exp(1i*cos(z))+exp(-1i*z)))) elseif @V=="14" z=cos((exp(1i*cos(z))-exp(-1i*cos(z)))/(1i*(exp(1i*cos(z))+exp(-1i*cos(z))))) elseif @V=="15" z=(exp(1i*cos(z))-exp(-1i*z))/cos(1i*(exp(1i*z)+exp(-1i*z))) elseif @V=="16" z=cos(cos(exp(1i*cos(z))-exp(-1i*z))/cos(1i*(exp(1i*z)+exp(-1i*z)))) elseif @V=="17" z=cos(cos(exp(1i*z)-exp(-1i*z))/cos(1i*(exp(1i*z)+exp(-1i*cos(z))))) elseif @V=="18" z=cos(cos(exp(1i*cos(z))-exp(-1i*cos(z)))/cos(1i*(exp(1i*cos(z))+exp(-1i*cos(z))))) elseif @V=="19" z=cos(exp(1i*cos(z))-exp(-1i*cos(z)))/(1i*(exp(1i*cos(z))+exp(-1i*cos(z)))) endif if @JM=="J" z=z^@pow+p4 else z=z^@pow+fn4(pixel) endif z=@p10*@fn6(z)+@p11 bailout: |z|<@bail default: title="Tan/Cos Variations" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19" default=1 endparam param pow caption="Exponent" default=4.0 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn6 caption="Loop Function 2" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn5 caption="Mod Function" default=ident() visible=p3!=0 endfunc param p9 caption="Mod Parameter 1" default=(0,0) endparam param p7 caption="Mod Parameter 2" default=(0,0) endparam param p8 caption="Mod Parameter 3" default=(1,0) endparam param p3 caption="Mod Parameter 4" default=(0,0) endparam param p4 caption="J Parameter" default=(0,0) visible=@JM=="J" endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p10 caption="Loop Parameter 2" default=(1,0) endparam param p2 caption="Loop Parameter 3" default=(1,0) visible=@JM=="J" endparam param p11 caption="Loop Parameter 4" default=(0,0) visible=@JM=="J" endparam param bail caption="Bailout" default=4.0 endparam } SignumJulia { init: z=fn1(pixel) loop: z=(z-p1)/(1-p1*z) z=z+p2/(10*fn2(z)) z=cos(z)+p3 z=p4*(z+p5*z/cabs(z))^2-4 bailout: |z|<@bail default: title="Signum Julia" center=(0.001,0.001) periodicity=0 magn=2 param p4 caption="Julia Parameter 1" default=(1,0) endparam param p5 caption="Julia Parameter 2" default=(1,0) endparam param p1 caption="Möbius Parameter" default=(0,0) endparam param p2 caption="Add Recip Parameter" default=(0,0) endparam param p3 caption="Loop Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Add Recip Function" default=ident() visible=p2!=0 endfunc param bail caption="Bailout" default=100.0 endparam } TaylorExp { init: ; Based on a truncated version of the Taylor series for the exponential function z=fn1(exp(pixel)) loop: z=(z-p5)/(1-p5*z) z=z/(p6*z+1) z=z+@p7/fn3(z) z=p3*fn2(abs(z))+p4 x=real(z) y=imag(z) x=x/|z|+real(p1) y=y/|z|+imag(p1) z=x+flip(y) z=z+z^2/2+z^3/6+z^4/24+p2 z=fn4(z) bailout: |z|<@bail default: title="Taylor Exp" center=(0.001,0.001) periodicity=0 angle=90 param p1 caption="Kali Parameter" default=(0,0) endparam param p2 caption="Julia Seed" default=(0,0) endparam param p5 caption="Möbius Parameter 1" default=(0,0) endparam param p6 caption="Möbius Parameter 2" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Turut { init: z=fn1(pixel) loop: z=z/(p3*z+p4) z=(z-p6)/(1-p6*z) z=p1*fn2(cos(z))+p2 z=(z+0.2)/(1+0.2*z) z=z+p5/fn3(z) z=(log(abs(z))+1i*abs(z))^2+(1.75,0.7) bailout: |z|<@bail default: title="Turut" center=(0.001,0.001) periodicity=0 param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p3 caption="Möbius Parameter 1" default=(0,0) endparam param p4 caption="Möbius Parameter 2" default=(1,0) endparam param p6 caption="Möbius Parameter 3" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p5!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Sin/CosVariations { ; This uses the approximation sin(z)=z-z^3/3!+z^5/5!-z^7/7! ; The cosine function is then applied in various ways init: z=fn1(pixel) loop: z=fn2(z)/z z=z+p2/fn3(z) z=z/(p4*z+1) if @JM=="J" if @V=="1" z=(cos(z)-z^3/6+z^5/120-z^7/5040)^@pow +p1 elseif @V=="2" z=(z-cos(z^3/6)+z^5/120-z^7/5040)^@pow +p1 elseif @V=="3" z=(z-z^3/6+cos(z^5/120)-z^7/5040)^@pow +p1 elseif @V=="4" z=(z-z^3/6+z^5/120-cos(z^7/5040))^@pow +p1 elseif @V=="5" z=(cos(z)-cos(z^3/6)+z^5/120-z^7/5040)^@pow +p1 elseif @V=="6" z=(cos(z)-z^3/6+cos(z^5/120)-z^7/5040)^@pow +p1 elseif @V=="7" z=(cos(z)-z^3/6+z^5/120-cos(z^7/5040))^@pow +p1 elseif @V=="8" z=(z-cos(z^3/6)+cos(z^5/120)-z^7/5040)^@pow +p1 elseif @V=="9" z=(z-cos(z^3/6)+z^5/120-cos(z^7/5040))^@pow +p1 elseif @V=="10" z=(z-z^3/6+cos(z^5/120)-cos(z^7/5040))^@pow +p1 elseif @V=="11" z=(cos(z)-cos(z^3/6)+cos(z^5/120)-z^7/5040)^@pow +p1 elseif @V=="12" z=(cos(z)-cos(z^3/6)+z^5/120-cos(z^7/5040))^@pow +p1 elseif @V=="13" z=(cos(z)-z^3/6+cos(z^5/120)-cos(z^7/5040))^@pow +p1 elseif @V=="14" z=(z-cos(z^3/6)+cos(z^5/120)-cos(z^7/5040))^@pow +p1 elseif @V=="15" z=(cos(z)-cos(z^3/6)+cos(z^5/120)-cos(z^7/5040))^@pow +p1 endif else if @V=="1" z=(cos(z)-z^3/6+z^5/120-z^7/5040)^@pow +fn4(pixel) elseif @V=="2" z=(z-cos(z^3/6)+z^5/120-z^7/5040)^@pow +fn4(pixel) elseif @V=="3" z=(z-z^3/6+cos(z^5/120)-z^7/5040)^@pow +fn4(pixel) elseif @V=="4" z=(z-z^3/6+z^5/120-cos(z^7/5040))^@pow +fn4(pixel) elseif @V=="5" z=(cos(z)-cos(z^3/6)+z^5/120-z^7/5040)^@pow +fn4(pixel) elseif @V=="6" z=(cos(z)-z^3/6+cos(z^5/120)-z^7/5040)^@pow +fn4(pixel) elseif @V=="7" z=(cos(z)-z^3/6+z^5/120-cos(z^7/5040))^@pow +fn4(pixel) elseif @V=="8" z=(z-cos(z^3/6)+cos(z^5/120)-z^7/5040)^@pow +fn4(pixel) elseif @V=="9" z=(z-cos(z^3/6)+z^5/120-cos(z^7/5040))^@pow +fn4(pixel) elseif @V=="10" z=(z-z^3/6+cos(z^5/120)-cos(z^7/5040))^@pow +fn4(pixel) elseif @V=="11" z=(cos(z)-cos(z^3/6)+cos(z^5/120)-z^7/5040)^@pow +fn4(pixel) elseif @V=="12" z=(cos(z)-cos(z^3/6)+z^5/120-cos(z^7/5040))^@pow +fn4(pixel) elseif @V=="13" z=(cos(z)-z^3/6+cos(z^5/120)-cos(z^7/5040))^@pow +fn4(pixel) elseif @V=="14" z=(z-cos(z^3/6)+cos(z^5/120)-cos(z^7/5040))^@pow +fn4(pixel) elseif @V=="15" z=(cos(z)-cos(z^3/6)+cos(z^5/120)-cos(z^7/5040))^@pow +fn4(pixel) endif endif bailout: |z|<@bail default: title="Sin/Cos Variations" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15" endparam param pow caption="Exponent" default=2 endparam param p1 caption="Julia Seed" default=(0,0) visible=@JM=="J" endparam param p4 caption="Möbius Parameter" default=(0,0) endparam param p2 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn2 caption="Cardinal Function" default=sqr() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p2!=0 endfunc param bail caption="Bailout" default=10.0 endparam } Loggli { ; Note: This formula is rather choppy/discontinuous. init: z=fn1(pixel) loop: if @JM=="M" z=p3*fn3(z)/10+p4 else z=p3*fn3(z)/10 endif z=(z-p5)/(1-p5*z) z=z+p2/(100*fn2(z)) if @JM=="J" z=(z*(2*log(z))/(1+log(z))+z^2*(1-log(z))/(1+log(z))-1)^2+p1 else z=(z*(2*log(z))/(1+log(z))+z^2*(1-log(z))/(1+log(z))-1)^2+fn4(pixel) endif bailout: |z|<@bail default: title="Loggli" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="J Parameter" default=(0,0) visible=@JM=="J" endparam param p3 caption="Loop Parameter 1" default=(1.8,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) visible=@JM=="J" endparam param p5 caption="Möbius Parameter" default=(0,0) endparam param p2 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="Loop Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc func fn2 caption="Add Recip Function" default=ident() visible=p2!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Newtonforz^3+cabs(z)-c { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) f=z^3+cabs(z)-p2 f1=3*z^2+z/cabs(z) if @V=="Newton" z=z-p1*f/f1+p3 else z=z-p1*f/f1+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Newton for z^3+cabs(z)-c" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Newton""Nova" endparam param p1 caption="Seed" default=(1,0) endparam param p3 caption="Newton Parameter" default=(0,0) visible=@V=="Newton" endparam param p2 caption="Constant" default=(-1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) visible=@V=="Newton" endparam param p6 caption="Möbius Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn4 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc param bail caption="Bailout" default=0.000000001 endparam } Newtonforz^3+log(1+exp(z))-c { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) f=z^3+log(1+exp(z))-p2 f1=3*z^2+exp(z)/(1+exp(z)) if @V=="Newton" z=z-p1*f/f1+p3 else z=z-p1*f/f1+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Newton for z^3+log(1+exp(z))-c" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Newton""Nova" endparam param p1 caption="Seed" default=(1,0) endparam param p3 caption="Newton Parameter" default=(0,0) visible=@V=="Newton" endparam param p2 caption="Constant" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) visible=@V=="Newton" endparam param p6 caption="Möbius Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn4 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc param bail caption="Bailout" default=0.000000001 endparam } Newtonforz^3+z*cabs(z)/2-c { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) f=z^3+z*cabs(z)/2-p2 f1=3*z^2+cabs(z) if @V=="Newton" z=z-p1*f/f1+p3 else z=z-p1*f/f1+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Newton for z^3+z*cabs(z)/2-c" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Newton""Nova" endparam param p1 caption="Seed" default=(1,0) endparam param p3 caption="Newton Parameter" default=(0,0) visible=@V=="Newton" endparam param p2 caption="Constant" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) visible=@V=="Newton" endparam param p6 caption="Möbius Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn4 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc param bail caption="Bailout" default=0.000000001 endparam } ErrorFunctionJulia { ; Based on the first few terms of the Maclaurin series for the error function ; https://en.wikipedia.org/wiki/Error_function init: z=fn1(pixel) loop: z=p4*fn2(z)+p5 z=(z-p2)/(1-p2*z) z=z/(p3*z+1) if @V=="Error Function" z=((2/pi)*(z-z^3/3+z^5/10-z^7/42+z^9/216))^2+p1 else z=((2/pi)*(z+z^3/3+z^5/10+z^7/42+z^9/216))^2+p1 endif bailout: |z|<@bail default: title="Error Function Julia" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Error Function""Imaginary Error Function" endparam param p1 caption="Julia Seed" default=(0.33,-0.58) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p2 caption="Möbius Parameter 1" default=(0,0) endparam param p3 caption="Möbius Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } LogisticJulia { ; https://en.wikipedia.org/wiki/Logistic_function init: if @S=="Pixel" z=fn1(pixel) elseif @S=="Logistic" z=fn1(2/(1+exp(1-pixel))) else z=fn1(pixel^2+p6) endif loop: z=fn2(z) z=z^2+p4 z=(2/(1+exp(1-z)))^2+p5 bailout: |z|<@bail default: title="Logistic Julia" center=(0.001,0.001) periodicity=0 param S caption="Start" enum="Pixel""Logistic""Julia" endparam param p6 caption="Julia Seed (Start)" default=(-1.25,0) visible=@S=="Julia" endparam param p4 caption="Julia Seed (Loop) 1" default=(0.4,0.1) endparam param p5 caption="Julia Seed (Loop) 2" default=(-2.35,-0.33) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } KrakenJulia { init: z=fn1(pixel) loop: z=p2*fn2(z)+p3 z=(z-p5)/(1-p5*z) z=z+p6/fn3(z) z=(p1/(p1+1)^z-(p1-z)/p1^z)^@pow+p4 bailout: |z|<@bail default: title="Kraken Julia" center=(-1.001,1.001) periodicity=0 param p1 caption="Kraken Parameter" default=(-0.64,-0.24) endparam param p4 caption="Julia Seed" default=(0.3787,-0.2237) endparam param p2 caption="Loop Parameter 1" default=(1,0) endparam param p3 caption="Loop Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param pow caption="Exponent" default=2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=4.0 endparam } HyperbolicTrigNewton { ; Integrals of hyperbolic functions from here: ; https://en.wikipedia.org/wiki/List_of_integrals_of_hyperbolic_functions init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) if @V==0 f=z^3+cosh(@p8*z)/@p8-p2 f1=3*z^2+sinh(@p8*z) elseif @V==1 f=z^3+cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=3*z^2+sinh(@p8*z)+sinh(@p9*z)^2 elseif @V==2 f=cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=sinh(@p8*z)+sinh(@p9*z)^2 elseif @V==3 f=z^3+sinh(@p8*z)/@p8-p2 f1=3*z^2+cosh(@p8*z) elseif @V==4 f=z^3+sinh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)+z/2-p2 f1=3*z^2+cosh(@p8*z)+cosh(@p9*z)^2 elseif @V==5 f=sinh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)+z/2-p2 f1=cosh(@p8*z)+cosh(@p9*z)^2 elseif @V==6 f=z^3+log(cosh(z))-p2 f1=3*z^2+tanh(z) elseif @V==7 f=z^3+log(cosh(z))+z-tanh(@p8*z)/@p8-p2 f1=3*z^2+tanh(z)+tanh(@p8*z)^2 elseif @V==8 f=z^3+z-tanh(@p8*z)/@p8-p2 f1=3*z^2+tanh(@p8*z)^2 elseif @V==9 f=atan(sinh(z))-p2 f1=1/cosh(z) elseif @V==10 f=z^3+atan(sinh(z))-p2 f1=3*z^2+1/cosh(z) elseif @V==11 f=z^3+atan(sinh(z))+log(cosh(z))-p2 f1=3*z^2+1/cosh(z)+tanh(z) elseif @V==12 f=atan(sinh(z))+log(cosh(z))-p2 f1=1/cosh(z)+tanh(z) elseif @V==13 f=atan(sinh(z))+cosh(@p8*z)/@p8-p2 f1=1/cosh(z)+sinh(@p8*z) elseif @V==14 f=z^3+atan(sinh(z))+cosh(@p8*z)/@p8-p2 f1=3*z^2+1/cosh(z)+sinh(@p8*z) elseif @V==15 f=z^3-atan(sinh(z))-cosh(@p8*z)/@p8-p2 f1=3*z^2-1/cosh(z)-sinh(@p8*z) elseif @V==16 f=z^3-atan(sinh(z))-cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=3*z^2-1/cosh(z)-sinh(@p8*z)+sinh(@p9*z)^2 elseif @V==17 f=z^3+atan(sinh(z))-cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=3*z^2+1/cosh(z)-sinh(@p8*z)+sinh(@p9*z)^2 elseif @V==18 f=atan(sinh(z))-cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=1/cosh(z)-sinh(@p8*z)+sinh(@p9*z)^2 elseif @V==19 f=log(cabs(tanh(z/2)))-p2 f1=1/sinh(z) elseif @V==20 f=z^3+log(cabs(tanh(z/2)))-p2 f1=3*z^2+1/sinh(z) elseif @V==21 f=z^3-log(cabs(tanh(z/2)))-p2 f1=3*z^2-1/sinh(z) elseif @V==22 f=z^3-log(cabs(tanh(z/2)))+sinh(@p8*z)/@p8-p2 f1=3*z^2-1/sinh(z)+cosh(@p8*z) elseif @V==23 f=z^4+z^3-log(cabs(tanh(z/2)))+sinh(@p8*z)/@p8-p2 f1=4*z^3+3*z^2-1/sinh(z)+cosh(@p8*z) elseif @V==24 f=z^4+z^3-log(cabs(tanh(z/2)))+sinh(@p8*z)/@p8-sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=4*z^3+3*z^2-1/sinh(z)+cosh(@p8*z)-cosh(@p9*z)^2 elseif @V==25 f=z^4+z^3+log(cabs(tanh(z/2)))+sinh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)+z/2-p2 f1=4*z^3+3*z^2+1/sinh(z)+cosh(@p8*z)+cosh(@p9*z)^2 elseif @V==26 f=z^4+log(cabs(sinh(z)))+p2 f1=4*z^3+cotanh(z) elseif @V==27 f=log(cabs(sinh(z)))+sinh(@p8*z)/@p8+p2 f1=cotanh(z)+cosh(@p8*z) elseif @V==28 f=z^3+log(cabs(sinh(z)))+sinh(@p8*z)/@p8+p2 f1=3*z^2+cotanh(z)+cosh(@p8*z) elseif @V==29 f=z^4+log(cabs(sinh(z)))+sinh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)+z/2+p2 f1=4*z^3+cotanh(z)+cosh(@p8*z)+cosh(@p9*z)^2 elseif @V==30 f=z^4-log(cabs(sinh(z)))-sinh(@p8*z)/@p8-sinh(2*@p9*z)/(4*@p9)-z/2+p2 f1=4*z^3-cotanh(z)-cosh(@p8*z)-cosh(@p9*z)^2 elseif @V==31 f=(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-p2 f1=cosh((@p8-0.9)*z)*sinh(@p9*z) elseif @V==32 f=z^3+(1/((@p8+1)^2-@p9^2))*((@p8+1)*sinh((@p8+1)*z)*sinh(@p9*z)-@p9*cosh((@p8+1)*z)*cosh(@p9*z))-p2 f1=3*z^2+cosh((@p8+1)*z)*sinh(@p9*z) elseif @V==33 f=z^3-(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-p2 f1=3*z^2-cosh((@p8-0.9)*z)*sinh(@p9*z) elseif @V==34 f=z^4-(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))+log(cabs(sinh(z)))-p2 f1=4*z^3-cosh((@p8-0.9)*z)*sinh(@p9*z)+cotanh(z) elseif @v==35 f=z^4+(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-log(cabs(sinh(z)))-p2 f1=4*z^3+cosh((@p8-0.9)*z)*sinh(@p9*z)-cotanh(z) elseif @V==36 f=(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))+log(cosh(z))-p2 f1=cosh((@p8-0.9)*z)*sinh(@p9*z)+tanh(z) elseif @V==37 f=z^3+(1/((@p8+1)^2-@p9^2))*((@p8+1)*sinh((@p8+1)*z)*sinh(@p9*z)-@p9*cosh((@p8+1)*z)*cosh(@p9*z))+log(cosh(z))-p2 f1=3*z^2+cosh((@p8+1)*z)*sinh(@p9*z)+tanh(z) elseif @V==38 f=z^3-(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))+log(cosh(z))-p2 f1=3*z^2-cosh((@p8-0.9)*z)*sinh(@p9*z)+tanh(z) elseif @V==39 f=z^4+(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))+log(cabs(sinh(z)))+log(cosh(z))+p2 f1=4*z^3+cosh((@p8-0.9)*z)*sinh(@p9*z)+cotanh(z)+tanh(z) elseif @V==40 f=z^4-(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-log(cabs(sinh(z)))+log(cosh(z))-p2 f1=4*z^3-cosh((@p8-0.9)*z)*sinh(@p9*z)-cotanh(z)+tanh(z) elseif @V==41 f=z^5+cosh(@p8*z)/@p8-p2 f1=5*z^4+sinh(@p8*z) elseif @V==42 f=z^5+cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=5*z^4+sinh(@p8*z)+sinh(@p9*z)^2 elseif @V==43 f=z^5-cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=5*z^4-sinh(@p8*z)+sinh(@p9*z)^2 elseif @V==44 f=z^2-cosh(@p8*z)/@p8-sinh(2*@p9*z)/(4*@p9)+z/2+log(cabs(sinh(z)))-p2 f1=2*z-sinh(@p8*z)-sinh(@p9*z)^2+cotanh(z) elseif @V==45 f=z^2+cosh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-log(cabs(sinh(z)))-p2 f1=2*z+sinh(@p8*z)+sinh(@p9*z)^2-cotanh(z) elseif @V==46 f=z^5+sinh(@p8*z)/@p8-p2 f1=5*z^4+cosh(@p8*z) elseif @V==47 f=z^5+sinh(@p8*z)/@p8+log(cabs(sinh(z)))-p2 f1=5*z^4+cosh(@p8*z)+cotanh(z) elseif @V==48 f=z^5+z^2-sinh(@p8*z)/@p8-log(cabs(sinh(z)))-p2 f1=5*z^4+2*z-cosh(@p8*z)-cotanh(z) elseif @V==49 f=-z^4+z-tanh(@p8*z)/@p8-p2 f1=-4*z^3+tanh(@p8*z)^2 elseif @V==50 f=-z^5-z+tanh(@p8*z)/@p8-p2 f1=-5*z^4-tanh(@p8*z)^2 elseif @V==51 f=-z^5-z+tanh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=-5*z^4-tanh(@p8*z)^2+sinh(@p9*z)^2 elseif @V==52 f=-z^5+z-tanh(@p8*z)/@p8+sinh(2*@p9*z)/(4*@p9)-z/2-p2 f1=-5*z^4+tanh(@p8*z)^2+sinh(@p9*z)^2 elseif @V==53 f=z^5-z^4+sinh(2*@p8*z)/(4*@p8)-z/2-p2 f1=5*z^4-4*z^3+sinh(@p8*z)^2 elseif @V==54 f=z^5-z^4+z-tanh(@p8*z)/@p8+log(cabs(sinh(z)))-p2 f1=5*z^4-4*z^3+tanh(@p8*z)^2+cotanh(z) elseif @V==55 f=z^4+z-tanh(@p8*z)/@p8+log(cabs(sinh(z)))+atan(sinh(z))-p2 f1=4*z^3+tanh(@p8*z)^2+cotanh(z)+1/cosh(z) elseif @V=="56" f=z^3-z+tanh(@p8*z)/@p8+log(cabs(sinh(z)))+atan(sinh(z))+p2 f1=3*z^2-tanh(@p8*z)^2+cotanh(z)+1/cosh(z) elseif @V==57 f=-z^5+(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-p2 f1=-5*z^4+cosh((@p8-0.9)*z)*sinh(@p9*z) elseif @V==58 f=z^4-z^5+(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))+atan(sinh(z))-p2 f1=4*z^3-5*z^4+cosh((@p8-0.9)*z)*sinh(@p9*z)+1/cosh(z) elseif @V==59 f=z^4+(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-atan(sinh(z))-p2 f1=4*z^3+cosh((@p8-0.9)*z)*sinh(@p9*z)-1/cosh(z) elseif @V==60 f=z^6-(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-atan(sinh(z))-p2 f1=6*z^5-cosh((@p8-0.9)*z)*sinh(@p9*z)-1/cosh(z) elseif @V==61 f=z^3-(1/((@p8-0.9)^2-@p9^2))*((@p8-0.9)*sinh((@p8-0.9)*z)*sinh(@p9*z)-@p9*cosh((@p8-0.9)*z)*cosh(@p9*z))-atan(sinh(z))+log(cabs(sinh(z)))-p2 f1=3*z^2-cosh((@p8-0.9)*z)*sinh(@p9*z)-1/cosh(z)+cotanh(z) elseif @V==62 f=-z^3+z-tanh(@p8*z)/@p8-p2 f1=-3*z^2+tanh(@p8*z)^2 elseif @V==63 f=z^3-z^4+z-tanh(@p8*z)/@p8-p2 f1=3*z^2-4*z^3+tanh(@p8*z)^2 else f=z+log(cabs(sinh(z)))+sinh(@p8*z)/@p8+p2 f1=1+cotanh(z)+cosh(@p8*z) endif if @NN=="Newton" z=z-p1*f/f1+p3 else z=z-p1*f/f1+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Hyperbolic Trig Newton" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30""31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46""47""48""49""50""51""52""53""54""55""56""57""58""59""60"\ "61""62""63""64""65" endparam param NN caption="Newton/Nova" enum="Newton""Nova" endparam param p1 caption="Newton/Nova Parameter 1" default=(1,0) endparam param p8 caption="Newton/Nova Parameter 2" default=(1,0) visible=@V!=6 && @V!=9 && @V!=10 && @V!=11 && @V!=12 && @V!=19\ && @V!=20 && @V!=21 && @V!=26 endparam param p9 caption="Newton/Nova Parameter 3" default=(1,0) visible=@V!=0 && @V!=3 && @V!=6 && @V!=7 && @V!=8 && @V!=9\ && @V!=10 && @V!=11 && @V!=12 && @V!=13 && @V!=14 && @V!=15\ && @V!=19 && @V!=20 && @V!=21 && @V!=22 && @V!=23 && @V!=26\ && @V!=27 && @V!=28 && @V!=41 && @V!=46 && @V!=47 && @V!=48\ && @V!=49 && @V!=50 && @V!=53 && @V!=54 && @V!=55 && @V!=56\ && @V==62 && @V==63 && @V==64 endparam param p3 caption="Newton Parameter" default=(0,0) visible=@NN=="Newton" endparam param p2 caption="Constant" default=(-1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) visible=@NN=="Newton" endparam param p6 caption="Möbius Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn4 caption="Nova Function" default=ident() visible=@NN=="Nova" endfunc param bail caption="Bailout" default=0.000000001 endparam } SineNewton { ; Integrals of trigonometric functions from here: ; https://en.wikipedia.org/wiki/List_of_integrals_of_trigonometric_functions init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) if @V==0 f=-cos(@p8*z)/@p8-p2 f1=sin(@p8*z) elseif @V==1 f=z/2-sin(2*@p8*z)/(4*@p8)-p2 f1=sin(@p8*z)^2 elseif @V==2 f=cos(3*@p8*z)/(12*@p8)-3*cos(@p8*z)/(4*@p8)-p2 f1=sin(@p8*z)^3 elseif @V==3 f=sin(@p8*z)/@p8^2-z*cos(@p8*z)/@p8-p2 f1=z*sin(@p8*z) elseif @V==4 f=tan(@p8*z/2-pi/4)/@p8-p2 f1=1/(1+sin(@p8*z)) elseif @V==5 f=z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-p2 f1=z/(1+sin(@p8*z)) elseif @V==6 f=-cos(@p8*z)/@p8+z/2-sin(2*@p8*z)/(4*@p8)+cos(3*@p8*z)/(12*@p8)-3*cos(@p8*z)/(4*@p8)-p2 f1=sin(@p8*z)+sin(@p8*z)^2+sin(@p8*z)^3 elseif @V==7 f=z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2-p2 f1=3*z^2+z/(1-sin(@p8*z)) elseif @V==8 f=z+tan(pi/4-@p8*z/2)/@p8-p2 f1=sin(@p8*z)/(1+sin(@p8*z)) elseif @V==9 f=z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)-p2 f1=z*sin(@p8*z)^2 elseif @V==10 f=z^2+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)-p2 f1=2*z+z*sin(@p8*z)^2 elseif @V==11 f=z+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)-p2 f1=1+z*sin(@p8*z)^2 elseif @V==12 f=z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)-p2 f1=z^2*sin(@p8*z)^2 elseif @V==13 f=sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))-p2 f1=sin(@p8*z)*sin(@p9*z) elseif @V==14 f=2*z+tan(pi/4-@p8*z/2)/@p8+p2 f1=1+sin(@p8*z)/(1+sin(@p8*z)) elseif @V==15 f=sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))-cos(@p8*z)/@p8-p2 f1=sin(@p8*z)*sin(@p9*z)+sin(@p8*z) elseif @V==16 f=z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z+tan(pi/4-@p8*z/2)/@p8-p2 f1=3*z^2+z/(1-sin(@p8*z))+sin(@p8*z)/(1+sin(@p8*z)) elseif @V==17 f=z^5+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z+tan(pi/4-@p8*z/2)/@p8-cos(@p8*z)/@p8-p2 f1=5*z^4+z/(1-sin(@p8*z))+sin(@p8*z)/(1+sin(@p8*z))+sin(@p8*z) elseif @V==18 f=z^5+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z+tan(pi/4-@p8*z/2)/@p8-cos(@p8*z)/@p8+2*z+tan(pi/4-@p8*z/2)/@p8-p2 f1=5*z^4+z/(1-sin(@p8*z))+sin(@p8*z)/(1+sin(@p8*z))+sin(@p8*z)+1+sin(@p8*z)/(1+sin(@p8*z)) elseif @V==19 f=z^4+sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))-cos(@p8*z)/@p8-p2 f1=4*z^3+sin(@p8*z)*sin(@p9*z)+sin(@p8*z) elseif @V==20 f=-z+z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)-p2 f1=-1+z^2*sin(@p8*z)^2 elseif @V==21 f=-z+z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)+z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-p2 f1=-1+z^2*sin(@p8*z)^2+z/(1+sin(@p8*z)) elseif @V==22 f=z+tan(pi/4-@p8*z/2)/@p8+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)-p2 f1=sin(@p8*z)/(1+sin(@p8*z))+z*sin(@p8*z)^2 elseif @V==23 f=z^3+z+tan(pi/4-@p8*z/2)/@p8+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)-p2 f1=3*z^2+sin(@p8*z)/(1+sin(@p8*z))+z*sin(@p8*z)^2 elseif @V==24 f=sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))+2*z+tan(pi/4-@p8*z/2)/@p8-p2 f1=sin(@p8*z)*sin(@p9*z)+1+sin(@p8*z)/(1+sin(@p8*z)) elseif @V==25 f=-z^5+z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)+cos(@p8*z)/@p8+p2 f1=-5*z^4+z^2*sin(@p8*z)^2-sin(@p8*z) elseif @V==26 f=z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)+cos(@p8*z)/@p8-z/2+sin(2*@p8*z)/(4*@p8)+p2 f1=z^2*sin(@p8*z)^2-sin(@p8*z)-sin(@p8*z)^2 elseif @V==27 f=cos(3*@p8*z)/(12*@p8)-3*cos(@p8*z)/(4*@p8)+z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2-p2 f1=sin(@p8*z)^3+3*z^2+z/(1-sin(@p8*z)) elseif @V==28 f=z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z/2-sin(2*@p8*z)/(4*@p8)-p2 f1=3*z^2+z/(1-sin(@p8*z))+sin(@p8*z)^2 elseif @V==29 f=z^3-tan(@p8*z/2-pi/4)/@p8-p2 f1=3*z^2-1/(1+sin(@p8*z)) elseif @V==30 f=z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-tan(@p8*z/2-pi/4)/@p8-p2 f1=z/(1+sin(@p8*z))-1/(1+sin(@p8*z)) elseif @V==31 f=z^5+z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-tan(@p8*z/2-pi/4)/@p8-p2 f1=5*z^4+z/(1+sin(@p8*z))-1/(1+sin(@p8*z)) elseif @V==32 f=z^5+z^3+z+z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-tan(@p8*z/2-pi/4)/@p8-p2 f1=5*z^4+3*z^2+1+z/(1+sin(@p8*z))-1/(1+sin(@p8*z)) elseif @V==33 f=z^3+sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))-cos(@p8*z)/@p8+p2 f1=3*z^2+sin(@p8*z)*sin(@p9*z)+sin(@p8*z) elseif @V==34 f=sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))-cos(@p8*z)/@p8\ +z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-p2 f1=sin(@p8*z)*sin(@p9*z)+sin(@p8*z)+z/(1+sin(@p8*z)) elseif @v==35 f=z+sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))-cos(@p8*z)/@p8+z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-p2 f1=1+sin(@p8*z)*sin(@p9*z)+sin(@p8*z)+z/(1+sin(@p8*z)) elseif @V==36 f=2*z+tan(pi/4-@p8*z/2)/@p8+sin(z*(@p9-@p8))/(2*(@p9-@p8))-sin(z*(@p8+@p9))/(2*(@p8+@p9))-cos(@p8*z)/@p8\ +z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-p2 f1=1+sin(@p8*z)/(1+sin(@p8*z))+sin(@p8*z)*sin(@p9*z)+sin(@p8*z)+z/(1+sin(@p8*z)) elseif @V==37 f=z+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)+z/2-sin(2*@p8*z)/(4*@p8)-p2 f1=1+z*sin(@p8*z)^2+sin(@p8*z)^2 elseif @V==38 f=z^3-tan(@p8*z/2-pi/4)/@p8-z^5+z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)+cos(@p8*z)/@p8-p2 f1=3*z^2-1/(1+sin(@p8*z))-5*z^4+z^2*sin(@p8*z)^2-sin(@p8*z) elseif @V==39 f=z^5+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z+tan(pi/4-@p8*z/2)/@p8\ -cos(@p8*z)/@p8+2*z+tan(pi/4-@p8*z/2)/@p8-cos(@p8*z)/@p8+z/2-sin(2*@p8*z)/(4*@p8)+cos(3*@p8*z)/(12*@p8)-3*cos(@p8*z)/(4*@p8)-p2 f1=5*z^4+z/(1-sin(@p8*z))+sin(@p8*z)/(1+sin(@p8*z))+sin(@p8*z)+1+sin(@p8*z)/(1+sin(@p8*z))+sin(@p8*z)+sin(@p8*z)^2+sin(@p8*z)^3 elseif @V==40 f=z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-tan(@p8*z/2-pi/4)/@p8\ +cos(3*@p8*z)/(12*@p8)-3*cos(@p8*z)/(4*@p8)+z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2-p2 f1=z/(1+sin(@p8*z))-1/(1+sin(@p8*z))+sin(@p8*z)^3+3*z^2+z/(1-sin(@p8*z)) elseif @V==41 f=z+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)+z*tan(@p8*z/2-pi/4)/@p8+2*log(cabs(cos(@p8*z/2-pi/4)))/@p8^2-tan(@p8*z/2-pi/4)/@p8-p2 f1=1+z*sin(@p8*z)^2+z/(1+sin(@p8*z))-1/(1+sin(@p8*z)) elseif @V==42 f=z^5+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z+tan(pi/4-@p8*z/2)/@p8-cos(@p8*z)/@p8\ -z+z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)-p2 f1=5*z^4+z/(1-sin(@p8*z))+sin(@p8*z)/(1+sin(@p8*z))+sin(@p8*z)-1+z^2*sin(@p8*z)^2 elseif @V==43 f=z^2+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)+z^3+z*cotan(pi/4-@p8*z/2)/@p8\ +2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z+tan(pi/4-@p8*z/2)/@p8-p2 f1=2*z+z*sin(@p8*z)^2+3*z^2+z/(1-sin(@p8*z))+sin(@p8*z)/(1+sin(@p8*z)) elseif @V==44 f=z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z/2-sin(2*@p8*z)/(4*@p8)\ +z^2+z^2/4-z*sin(2*@p8*z)/(4*@p8)-cos(2*@p8*z)/(8*@p8^2)-p2 f1=3*z^2+z/(1-sin(@p8*z))+sin(@p8*z)^2+2*z+z*sin(@p8*z)^2 elseif @V==45 f=z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z/2-sin(2*@p8*z)/(4*@p8)\ -z+z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)-p2 f1=3*z^2+z/(1-sin(@p8*z))+sin(@p8*z)^2-1+z^2*sin(@p8*z)^2 elseif @V==46 f=z^3+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z/2-sin(2*@p8*z)/(4*@p8)\ -z+z^3/6-(z^2/(4*@p8)-1/(8*@p8^3))*sin(2*@p8*z)-z*cos(2*@p8*z)/(4*@p8^2)-2*z-tan(pi/4-@p8*z/2)/@p8+p2-p2 f1=3*z^2+z/(1-sin(@p8*z))+sin(@p8*z)^2-1+z^2*sin(@p8*z)^2-1-sin(@p8*z)/(1+sin(@p8*z)) elseif @V==47 f=z^3-z^2-z^2/4+z*sin(2*@p8*z)/(4*@p8)+cos(2*@p8*z)/(8*@p8^2)-z/2+sin(2*@p8*z)/(4*@p8)-p2 f1=3*z^2-2*z-z*sin(@p8*z)^2-sin(@p8*z)^2 elseif @V==48 f=z^3-z^2-z^2/4+z*sin(2*@p8*z)/(4*@p8)+cos(2*@p8*z)/(8*@p8^2)-z/2+sin(2*@p8*z)/(4*@p8)-2*z-tan(pi/4-@p8*z/2)/@p8+p2-p2 f1=3*z^2-2*z-z*sin(@p8*z)^2-sin(@p8*z)^2-1-sin(@p8*z)/(1+sin(@p8*z)) else f=z^5+z*cotan(pi/4-@p8*z/2)/@p8+2*log(cabs(sin(pi/4-@p8*z/2)))/@p8^2+z+tan(pi/4-@p8*z/2)/@p8\ -cos(@p8*z)/@p8+2*z+tan(pi/4-@p8*z/2)/@p8+z^3-z^2-z^2/4+z*sin(2*@p8*z)/(4*@p8)+cos(2*@p8*z)/(8*@p8^2)\ -z/2+sin(2*@p8*z)/(4*@p8)-2*z-tan(pi/4-@p8*z/2)/@p8+p2-p2 f1=5*z^4+z/(1-sin(@p8*z))+sin(@p8*z)/(1+sin(@p8*z))+sin(@p8*z)+1+sin(@p8*z)/(1+sin(@p8*z))\ +3*z^2-2*z-z*sin(@p8*z)^2-sin(@p8*z)^2-1-sin(@p8*z)/(1+sin(@p8*z)) endif if @NN=="Newton" z=z-p1*f/f1+p3 else z=z-p1*f/f1+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Sine Newton" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30""31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46""47""48""49""50" endparam param NN caption="Newton/Nova" enum="Newton""Nova" endparam param p1 caption="Newton/Nova Parameter 1" default=(1,0) endparam param p8 caption="Newton/Nova Parameter 2" default=(1,0) endparam param p9 caption="Newton/Nova Parameter 3" default=(2,0) visible=@V==13 || @v==15 || @v==19 || @V==24 || @V==33 || @V==34 || @v==35 || @V==36 endparam param p3 caption="Newton Parameter" default=(0,0) visible=@NN=="Newton" endparam param p2 caption="Constant" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) visible=@NN=="Newton" endparam param p6 caption="Möbius Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn4 caption="Nova Function" default=ident() visible=@NN=="Nova" endfunc param bail caption="Bailout" default=0.000000001 endparam } LogNewton { ; Integrals of logarithmic functions from here: ; https://en.wikipedia.org/wiki/List_of_integrals_of_logarithmic_functions init: if @vers==2 z=fn1(abs(pixel)) else z=fn1(pixel) endif loop: zold=z if @vers==1 || @vers==2 || @vers==3 if @vers==3 z=p4*fn2(abs(z))+p5 else z=p4*fn2(z)+p5 endif z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) if @V==0 f=z*log(@p8*z)-z-p2 f1=log(@p8*z) elseif @V==1 f=((@p8*z+@p9)*log(@p8*z+@p9)-@p8*z)/@p8-p2 f1=log(@p8*z+@p9) elseif @V==2 f=z*log(z)^2-2*z*log(z)+2*z-p2 f1=log(z)^2 elseif @V==3 f=log(z^2+@p8^2)^2/4-p2 f1=(z/(z^2+@p8^2))*log(z^2+@p8^2) elseif @V==4 f=z*(sin(log(z))-cos(log(z)))/2-p2 f1=sin(log(z)) elseif @V==5 f=z*(sin(log(z))+cos(log(z)))/2-p2 f1=cos(log(z)) elseif @V==6 f=exp(z)*(z*log(z)-z-log(z))-p2 f1=exp(z)*(z*log(z)-z-1/z) elseif @V==7 f=log(z)/exp(z)-p2 f1=(1/exp(z))*(1/z-log(z)) elseif @V==8 f=exp(z)/log(z)-p2 f1=exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==9 f=z^3+z*log(@p8*z)-z-@p2 f1=3*z^2+log(@p8*z) elseif @V==10 f=z^3+((@p8*z+@p9)*log(@p8*z+@p9)-@p8*z)/@p8-@p2 f1=3*z^2+log(@p8*z+@p9) elseif @V==11 f=z^3+z*log(z)^2-2*z*log(z)+2*z-@p2 f1=3*z^2+log(z)^2 elseif @V==12 f=z^3+log(z^2+@p8^2)^2/4-@p2 f1=3*z^2+(z/(z^2+@p8^2))*log(z^2+@p8^2) elseif @V==13 f=z^3+z*(sin(log(z))-cos(log(z)))/2-@p2 f1=3*z^2+sin(log(z)) elseif @V==14 f=z^3+z*(sin(log(z))+cos(log(z)))/2-@p2 f1=3*z^2+cos(log(z)) elseif @V==15 f=z^3+exp(z)*(z*log(z)-z-log(z))-@p2 f1=3*z^2+exp(z)*(z*log(z)-z-1/z) elseif @V==16 f=z^3+log(z)/exp(z)-@p2 f1=3*z^2+(1/exp(z))*(1/z-log(z)) else f=z^3+exp(z)/log(z)-@p2 f1=3*z^2+exp(z)*(1/log(z)-1/(z*log(z)^2)) endif z=z-p1*f/f1+p3 else z=@p4a*fn2(z)+@p5a z=(z-@p6a)/(1-@p6a*z) z=z+@p7a/@fn3a(z) if @V==0 f=z*log(@p8a*z)-z-@p2a f1=log(@p8a*z) elseif @V==1 f=((@p8a*z+@p9a)*log(@p8a*z+@p9a)-@p8a*z)/@p8a-@p2a f1=log(@p8a*z+@p9a) elseif @V==2 f=z*log(z)^2-2*z*log(z)+2*z-@p2a f1=log(z)^2 elseif @V==3 f=log(z^2+@p8a^2)^2/4-@p2a f1=(z/(z^2+@p8a^2))*log(z^2+@p8a^2) elseif @V==4 f=z*(sin(log(z))-cos(log(z)))/2-@p2a f1=sin(log(z)) elseif @V==5 f=z*(sin(log(z))+cos(log(z)))/2-@p2a f1=cos(log(z)) elseif @V==6 f=exp(z)*(z*log(z)-z-log(z))-@p2a f1=exp(z)*(z*log(z)-z-1/z) elseif @V==7 f=log(z)/exp(z)-@p2a f1=(1/exp(z))*(1/z-log(z)) elseif @V==8 f=exp(z)/log(z)-@p2a f1=exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==9 f=z^3+z*log(@p8a*z)-z-@p2a f1=3*z^2+log(@p8a*z) elseif @V==10 f=z^3+((@p8a*z+@p9a)*log(@p8a*z+@p9a)-@p8a*z)/@p8a-@p2a f1=3*z^2+log(@p8a*z+@p9a) elseif @V==11 f=z^3+z*log(z)^2-2*z*log(z)+2*z-@p2a f1=3*z^2+log(z)^2 elseif @V==12 f=z^3+log(z^2+@p8a^2)^2/4-@p2a f1=3*z^2+(z/(z^2+@p8a^2))*log(z^2+@p8a^2) elseif @V==13 f=z^3+z*(sin(log(z))-cos(log(z)))/2-@p2a f1=3*z^2+sin(log(z)) elseif @V==14 f=z^3+z*(sin(log(z))+cos(log(z)))/2-@p2a f1=3*z^2+cos(log(z)) elseif @V==15 f=z^3+exp(z)*(z*log(z)-z-log(z))-@p2a f1=3*z^2+exp(z)*(z*log(z)-z-1/z) elseif @V==16 f=z^3+log(z)/exp(z)-@p2a f1=3*z^2+(1/exp(z))*(1/z-log(z)) else f=z^3+exp(z)/log(z)-@p2a f1=3*z^2+exp(z)*(1/log(z)-1/(z*log(z)^2)) endif z=z-@p1a*f/f1+@p3a endif bailout: |zold-z|>@bail default: title="Log Newton" center=(0.001,0.001) periodicity=0 param vers caption="Version" enum="real parameters, continuous""complex parameters, discontinuous"\ "abs 1, complex parameters, continuous""abs 2, complex parameters, continuous" endparam param V caption="Variant" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18" endparam param p1 caption="Newton Parameter 1" default=(1,0) visible=@vers!=0 endparam param p3 caption="Newton Parameter 2" default=(0,0) visible=@vers!=0 endparam param p8 caption="Newton Parameter 3" default=(1,0) visible=@vers!=0 && (@V==0 || @V==1 || @V==3 || @V==9 || @V==10 || @V==12) endparam param p9 caption="Newton Parameter 4" default=(1,0) visible=@vers!=0 && (@V==1 || @V==10) endparam param p2 caption="Constant" default=(1,0) visible=@vers!=0 endparam param p4 caption="Loop Parameter 1" default=(1,0) visible=@vers!=0 endparam param p5 caption="Loop Parameter 2" default=(0,0) visible=@vers!=0 endparam param p6 caption="Möbius Parameter" default=(0,0) visible=@vers!=0 endparam param p7 caption="Add Recip Parameter" default=(0,0) visible=@vers!=0 endparam param p1a caption="Newton Parameter 1" default=1.0 visible=@vers==0 endparam param p3a caption="Newton Parameter 2" default=0.0 visible=@vers==0 endparam param p8a caption="Newton Parameter 3" default=1.0 visible=@vers==0 && (@V==0 || @V==1 || @V==3 || @V==9 || @V==10 || @V==12) endparam param p9a caption="Newton Parameter 4" default=1.0 visible=@vers==0 && (@V==1 || @V==10) endparam param p2a caption="Constant" default=1.0 visible=@vers==0 endparam param p4a caption="Loop Parameter 1" default=1.0 visible=@vers==0 endparam param p5a caption="Loop Parameter 2" default=0.0 visible=@vers==0 endparam param p6a caption="Möbius Parameter" default=0.0 visible=@vers==0 endparam param p7a caption="Add Recip Parameter" default=0.0 visible=@vers==0 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@vers!=0 && @p7!=0 endfunc func @fn3a caption="Add Recip Function" default=ident() visible=@vers==0 && @p7a!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } AnotherNewton { init: if @S=="pixel" z=fn1(pixel)^@pow elseif @S=="pixel^2+pixel" z=fn1(pixel^2+pixel)^@pow else z=fn1(pixel^3+pixel^2+pixel)^@pow endif loop: zold=z z=fn2(z) z=(z-@p7)/(1-@p7*z) z=z+@p8/fn4(z) if 4*p1*p3-p2^2>0 f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z+p2)/(sqrt(4*p1*p3-p2^2))-p4 elseif 4*p1*p3-p2^2<0 f=(1/sqrt(p2^2-4*p1*p3))*log(cabs((2*p1*z-sqrt(p2^2-4*p1*p3))/(2*p1*z+sqrt(p2^2-4*p1*p3))))-p4 else f=-2/(2*p1*z+p2)-p4 endif f1=1/(p1*z^2+p2*z+p3) if @V=="Newton" z=z-p5*f/f1+p6 else z=z-p5*f/f1+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Newton Erratum" center=(0.001,0.001) periodicity=0 param V caption="Type" enum="Newton""Nova" endparam param S caption="Start Value" enum="pixel""pixel^2+pixel""pixel^3+pixel^2+pixel" endparam func fn1 caption="Start Function" default=ident() endfunc param pow caption="Start Exponent" default=1 endparam param p1 caption="Real Parameter 1" default=1.0 endparam param p2 default=1.0 caption="Real Parameter 2" endparam param p3 default=1.0 caption="Real Parameter 3" endparam param p4 default=(1,0) caption="Complex Parameter 1" endparam param p5 default=(1,0) caption="Complex Parameter 2" endparam param p6 caption="Complex Parameter 3" default=(0,0) visible=@V=="Newton" endparam param p7 caption="Möbius Parameter" default=(0,0) endparam param p8 caption="Add Recip Parameter" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc func fn4 caption="Add Recip Function" default=ident() visible=@p8!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Erratum11 { init: if @S=="Pixel" z=fn1(pixel)^@powsa else z=fn1(pixel-(pixel^@powS-1)/(@powS*pixel^(@powS-1))) endif loop: zold=z z=fn2(z) z=(z-p5)/(1-p5*z) z=z+p6/fn3(z) if 4*p1*p3-p2^2>0 f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z+p2)/(sqrt(4*p1*p3-p2^2))-p4 else f=(1/sqrt(p2^2-4*p1*p3))*log(cabs((2*p1*z-sqrt(p2^2-4*p1*p3))/(2*p1*z+sqrt(p2^2-4*p1*p3))))-p4 endif f1=1/(p1*z^2+p2*z+p3) z=z-p1*f/f1+p2 bailout: |zold-z|>@bail default: title="Erratum 11" center=(0.001,0.001) periodicity=0 param S caption="Start Value" enum="Pixel""Newton" endparam func fn1 caption="Start Function" default=ident() endfunc param powsa caption="Start Exponent" visible=@S=="Pixel" default=1 endparam param powS caption="Start Exponent" visible=@S=="Newton" default=2 endparam param p1 caption="Loop Parameter 1" default=0.7 endparam param p2 caption="Loop Parameter 2" default=1.0 endparam param p3 caption="Loop Parameter 3" default=1.0 endparam param p4 caption="Loop Parameter 4" default=(1,0) endparam param p5 default=(0,0) caption="Möbius Parameter" endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } AnotherNewton2 { init: if @S=="Pixel" z=fn1(pixel)^@powS2 else z=fn1(pixel-(pixel^@powS-1)/(@powS*pixel^(@powS-1))) endif loop: zold=z z=fn2(z) z=(z-p5)/(1-p5*z) z=z+p6/fn3(z) f=((1-@pow)*z-p3)/((@pow-1)*(@pow-2)*(z+p3)^(@pow-1))-1 f1=z/(z+p3)^@pow z=z-p1*f/f1+p2 bailout: |zold-z|>@bail default: title="Another Newton 2" center=(0.001,0.001) periodicity=0 param S caption="Start Value" enum="Pixel""Newton" endparam param powS caption="Start Exponent" default=2 visible=@S=="Newton" endparam param powS2 caption="Start Exponent" default=1 visible=@S=="Pixel" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter 3" default=(0,0) endparam param pow caption="Loop Exponent" default=5 endparam func fn2 caption="Loop Function" default=ident() endfunc param p5 caption="Möbius Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } NewtonErratum2 { init: if @S=="pixel" z=fn1(pixel)^@pow elseif @S=="pixel^2+pixel" z=fn1(pixel^2+pixel)^@pow else z=fn1(pixel^3+pixel^2+pixel)^@pow endif loop: zold=z z=fn2(sqr(z)) z=(z-@p7)/(1-@p7*z) z=z+@p8/fn4(z) if 4*p1*p3-p2^2>0 f=(2/sqrt(4*p1*p3-p2^2))*atan((2*p1*z+p2)/(sqrt(4*p1*p3-p2^2)))-p4 elseif 4*p1*p3-p2^2<0 f=(1/sqrt(p2^2-4*p1*p3))*log(cabs((2*p1*z+p2-sqrt(p2^2-4*p1*p3))/(2*p1*z+p2+sqrt(p2^2-4*p1*p3))))-p4 else f=-2/(2*p1*z+p2)-p4 endif f1=1/(p1*z^2+p2*z+p3) if @V=="Newton" z=z-p5*f/f1+p6 else z=z-p5*f/f1+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Newton Erratum 2" center=(0.001,0.001) periodicity=0 param V caption="Type" enum="Newton""Nova" endparam param S caption="Start Value" enum="pixel""pixel^2+pixel""pixel^3+pixel^2+pixel" endparam func fn1 caption="Start Function" default=ident() endfunc param pow caption="Start Exponent" default=1 endparam param p1 caption="Real Parameter 1" default=1.0 endparam param p2 default=1.0 caption="Real Parameter 2" endparam param p3 default=1.0 caption="Real Parameter 3" endparam param p4 default=(1,0) caption="Complex Parameter 1" endparam param p5 default=(1,0) caption="Complex Parameter 2" endparam param p6 caption="Complex Parameter 3" default=(0,0) visible=@V=="Newton" endparam param p7 caption="Möbius Parameter" default=(0,0) endparam param p8 caption="Add Recip Parameter" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc func fn4 caption="Add Recip Function" default=ident() visible=@p8!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } SecantNewton { ; The title refers to the secant function rather than the secant root-rinding method. ; Integrals/derivatives are as given here: ; https://en.wikipedia.org/wiki/List_of_integrals_of_trigonometric_functions init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p4)/(1-p4*z) z=z/(p5*z+1) z=z+p6/fn3(z) if @V=="sec(z)" f=log(cabs(1/cos(z)+tan(z)))-p1 f1=1/cos(z) elseif @V=="sec(z)^2" f=tan(z)-p1 f1=1/cos(z)^2 elseif @V=="sec(z)^3" f=tan(z)/(2*cos(z))+log(cabs(1/cos(z)+tan(z)))/2-p1 f1=1/cos(z)^3 elseif @V=="sec(z)^4" f=z*tan(z)/(3*cos(z)^2)+2*tan(z)/3-p1 f1=1/cos(z)^4 elseif @V=="sec(z)^5" f=z*tan(z)/(4*cos(z)^3)+3*(tan(z)/(2*cos(z))+log(cabs(1/cos(z)+tan(z)))/2)/4-p1 f1=1/cos(z)^5 elseif @v=="sec(z)^6" f=z*tan(z)/(5*cos(z)^4)+4*(z*tan(z)/(3*cos(z)^2)+2*tan(z)/3)/5-p1 f1=1/cos(z)^6 elseif @V=="sec(z)+3*z^2" f=z^3+log(cabs(1/cos(z)+tan(z)))-p1 f1=3*z^2+1/cos(z) elseif @V=="sec(z)^2+3*z^2" f=z^3+tan(z)-p1 f1=3*z^2+1/cos(z)^2 elseif @V=="sec(z)^3+3*z^2" f=z^3+tan(z)/(2*cos(z))+log(cabs(1/cos(z)+tan(z)))/2-p1 f1=3*z^2+1/cos(z)^3 elseif @V=="sec(z)^4+3*z^2" f=z^3+z*tan(z)/(3*cos(z)^2)+2*tan(z)/3-p1 f1=3*z^2+1/cos(z)^4 elseif @V=="sec(z)^5+3*z^2" f=z^3+z*tan(z)/(4*cos(z)^3)+3*(tan(z)/(2*cos(z))+log(cabs(1/cos(z)+tan(z)))/2)/4-p1 f1=3*z^2+1/cos(z)^5 else f=z^3+z*tan(z)/(5*cos(z)^4)+4*(z*tan(z)/(3*cos(z)^2)+2*tan(z)/3)/5-p1 f1=3*z^2+1/cos(z)^6 endif z=z-p2*f/f1+p3 bailout: |zold-z|>@bail default: title="Secant Newton" center=(0.001,0.001) periodicity=0 param V caption="Derivative" enum="sec(z)""sec(z)^2""sec(z)^3""sec(z)^4""sec(z)^5""sec(z)^6""sec(z)+3*z^2""sec(z)^2+3*z^2"\ "sec(z)^3+3*z^2""sec(z)^4+3*z^2""sec(z)^5+3*z^2""sec(z)^6+3*z^2" default=2 endparam param p1 caption="Newton Parameter 1" default=(1,0) endparam param p2 caption="Newton Parameter 2" default=(1,0) endparam param p3 caption="Newton Parameter 3" default=(0,0) endparam param p4 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } ExponentialNewton { ;https://en.wikipedia.org/wiki/List_of_integrals_of_exponential_functions ;https://en.wikipedia.org/wiki/Lists_of_integrals init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p5)/(1-p5*z) z=z/(p6*z+1) z=z+@p7/fn3(z) if @V=="exp(a*z)" f=exp(p1*z)/p1-p2 f1=exp(p1*z) elseif @V=="z*exp(a*z)" f=exp(p1*z)*((p1*z-1)/p1^2)-p2 f1=z*exp(p1*z) elseif @V=="z^2*exp(a*z)" f=exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3)-p2 f1=z^2*exp(p1*z) elseif @V=="z^3*exp(a*z)" f=z^3*exp(p1*z)/p1-3*(exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3))/p1-p2 f1=z^3*exp(p1*z) elseif @V=="z^4*exp(a*z)" f=z^4*exp(p1*z)/p1-4*(z^3*exp(p1*z)/p1-3*(exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3))/p1)/p1-p2 f1=z^4*exp(p1*z) elseif @V=="z^5*exp(a*z)" f=z^5*exp(p1*z)/p1-5*(z^4*exp(p1*z)/p1-4*(z^3*exp(p1*z)/p1-3*(exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3))/p1)/p1)/p1-p2 f1=z^5*exp(p1*z) elseif @V=="2*z*exp(z^2-1)" f=exp(z^2-1)-p2 f1=2*z*exp(z^2-1) elseif @V=="3*z^2*exp(z^3-1)" f=exp(z^3-1)-p2 f1=3*z^2*exp(z^3-1) elseif @V=="4*z^3*exp(z^4-1)" f=exp(z^4-1)-p2 f1=4*z^3*exp(z^4-1) elseif @V=="5*z^4*exp(z^5-1)" f=exp(z^5-1)-p2 f1=5*z^4*exp(z^5-1) elseif @V=="3*z^2+exp(a*z)" f=z^3+exp(p1*z)/p1-p2 f1=3*z^2+exp(p1*z) elseif @V=="3*z^2+z*exp(a*z)" f=z^3+exp(p1*z)*((p1*z-1)/p1^2)-p2 f1=3*z^2+z*exp(p1*z) elseif @V=="3*z^2+z^2*exp(a*z)" f=z^3+exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3)-p2 f1=3*z^2+z^2*exp(p1*z) elseif @V=="3*z^2+z^3*exp(a*z)" f=z^3+z^3*exp(p1*z)/p1-3*(exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3))/p1-p2 f1=3*z^2+z^3*exp(p1*z) elseif @V=="3*z^2+z^4*exp(a*z)" f=z^3+z^4*exp(p1*z)/p1-4*(z^3*exp(p1*z)/p1-3*(exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3))/p1)/p1-p2 f1=z^4*exp(p1*z) elseif @V=="3*z^2+z^5*exp(a*z)" f=z^3+z^5*exp(p1*z)/p1-5*(z^4*exp(p1*z)/p1-4*(z^3*exp(p1*z)/p1-3*(exp(p1*z)*(z^2/p1-2*z/p1^2+2/p1^3))/p1)/p1)/p1-p2 f1=3*z^2+z^5*exp(p1*z) elseif @V=="3*z^2+2*z*exp(z^2-1)" f=z^3+exp(z^2-1)-p2 f1=3*z^2+2*z*exp(z^2-1) elseif @V=="3*z^2+3*z^2*exp(z^3-1)" f=z^3+exp(z^3-1)-p2 f1=3*z^2+3*z^2*exp(z^3-1) elseif @V=="3*z^2+4*z^3*exp(z^4-1)" f=z^3+exp(z^4-1)-p2 f1=3*z^2+4*z^3*exp(z^4-1) else f=z^3+exp(z^5-1)-p2 f1=3*z^2+5*z^4*exp(z^5-1) endif z=z-p3*f/f1+p4 bailout: |zold-z|>@bail default: title="Exponential Newton" center=(0.001,0.001) periodicity=0 param V caption="Derivative" enum="exp(a*z)""z*exp(a*z)""z^2*exp(a*z)""z^3*exp(a*z)""z^4*exp(a*z)""z^5*exp(a*z)""2*z*exp(z^2-1)"\ "3*z^2*exp(z^3-1)""4*z^3*exp(z^4-1)""5*z^4*exp(z^5-1)"\ "3*z^2+exp(a*z)""3*z^2+z*exp(a*z)""3*z^2+z^2*exp(a*z)""3*z^2+z^3*exp(a*z)""3*z^2+z^4*exp(a*z)"\ "3*z^2+z^5*exp(a*z)""3*z^2+2*z*exp(z^2-1)"\ "3*z^2+3*z^2*exp(z^3-1)""3*z^2+4*z^3*exp(z^4-1)""3*z^2+5*z^4*exp(z^5-1)" default=1 endparam param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(1,0) endparam param p4 caption="Newton Parameter 3" default=(0,0) endparam param p1 caption="Newton Parameter 4" default=(1,0) visible=@V==0 || @V==1 || @V==2 || @V==3 || @V==4 || @V==5\ || @V==10 || @V==11 || @V==12 || @V==13 || @V==14 || @V==15 endparam param p5 caption="Möbius Parameter 1" default=(0,0) endparam param p6 caption="Möbius Parameter 2" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } LogNewtonAnatida { ; Integrals of logarithmic functions from here: ; https://en.wikipedia.org/wiki/List_of_integrals_of_logarithmic_functions init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif if @V==0 f=z*log(@p8*z)-z-p2 f1=log(@p8*z) elseif @V==1 f=((@p8*z+@p9)*log(@p8*z+@p9)-@p8*z)/@p8-p2 f1=log(@p8*z+@p9) elseif @V==2 f=z*log(z)^2-2*z*log(z)+2*z-p2 f1=log(z)^2 elseif @V==3 f=log(z^2+@p8^2)^2/4-p2 f1=(z/(z^2+@p8^2))*log(z^2+@p8^2) elseif @V==4 f=z*(sin(log(z))-cos(log(z)))/2-p2 f1=sin(log(z)) elseif @V==5 f=z*(sin(log(z))+cos(log(z)))/2-p2 f1=cos(log(z)) elseif @V==6 f=exp(z)*(z*log(z)-z-log(z))-p2 f1=exp(z)*(z*log(z)-z-1/z) elseif @V==7 f=log(z)/exp(z)-p2 f1=(1/exp(z))*(1/z-log(z)) elseif @V==8 f=exp(z)/log(z)-p2 f1=exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==9 f=z^3+z*log(@p8*z)-z-@p2 f1=3*z^2+log(@p8*z) elseif @V==10 f=z^3+((@p8*z+@p9)*log(@p8*z+@p9)-@p8*z)/@p8-@p2 f1=3*z^2+log(@p8*z+@p9) elseif @V==11 f=z^3+z*log(z)^2-2*z*log(z)+2*z-@p2 f1=3*z^2+log(z)^2 elseif @V==12 f=z^3+log(z^2+@p8^2)^2/4-@p2 f1=3*z^2+(z/(z^2+@p8^2))*log(z^2+@p8^2) elseif @V==13 f=z^3+z*(sin(log(z))-cos(log(z)))/2-@p2 f1=3*z^2+sin(log(z)) elseif @V==14 f=z^3+z*(sin(log(z))+cos(log(z)))/2-@p2 f1=3*z^2+cos(log(z)) elseif @V==15 f=z^3+exp(z)*(z*log(z)-z-log(z))-@p2 f1=3*z^2+exp(z)*(z*log(z)-z-1/z) elseif @V==16 f=z^3+log(z)/exp(z)-@p2 f1=3*z^2+(1/exp(z))*(1/z-log(z)) elseif @V==17 f=z^3+exp(z)/log(z)-@p2 f1=3*z^2+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==18 f=z^5+z*log(@p8*z)-z-@p2 f1=5*z^4+log(@p8*z) elseif @V==19 f=z^5+((@p8*z+@p9)*log(@p8*z+@p9)-@p8*z)/@p8-@p2 f1=5*z^4+log(@p8*z+@p9) elseif @V==20 f=z^5+z*log(z)^2-2*z*log(z)+2*z-@p2 f1=5*z^4+log(z)^2 elseif @V==21 f=z^5+log(z^2+@p8^2)^2/4-@p2 f1=5*z^4+(z/(z^2+@p8^2))*log(z^2+@p8^2) elseif @V==22 f=z^5+z*(sin(log(z))-cos(log(z)))/2-@p2 f1=5*z^4+sin(log(z)) elseif @V==23 f=z^5+z*(sin(log(z))+cos(log(z)))/2-@p2 f1=5*z^4+cos(log(z)) elseif @V==24 f=z^5+exp(z)*(z*log(z)-z-log(z))-@p2 f1=5*z^4+exp(z)*(z*log(z)-z-1/z) elseif @V==25 f=z^5+log(z)/exp(z)-@p2 f1=5*z^4+(1/exp(z))*(1/z-log(z)) elseif @V==26 f=z^5+exp(z)/log(z)-@p2 f1=5*z^4+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==27 f=z*log(@p8*z)-z+z*log(z)^2-2*z*log(z)+2*z-p2 f1=log(@p8*z)+log(z)^2 elseif @V==28 f=z*log(@p8*z)-z-z*log(z)^2+2*z*log(z)-2*z-p2 f1=log(@p8*z)-log(z)^2 elseif @V==29 f=z*(sin(log(z))-cos(log(z)))/2+z*(sin(log(z))+cos(log(z)))/2-p2 f1=sin(log(z))+cos(log(z)) elseif @V==30 f=z*(sin(log(z))-cos(log(z)))/2-z*(sin(log(z))+cos(log(z)))/2-p2 f1=sin(log(z))-cos(log(z)) elseif @V==31 f=exp(z)*(z*log(z)-z-log(z))+exp(z)/log(z)-p2 f1=exp(z)*(z*log(z)-z-1/z)+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==32 f=exp(z)*(z*log(z)-z-log(z))-log(z)/exp(z)-p2 f1=exp(z)*(z*log(z)-z-1/z)-(1/exp(z))*(1/z-log(z)) elseif @V==33 f=exp(z)*(z*log(z)-z-log(z))-exp(z)/log(z)-p2 f1=exp(z)*(z*log(z)-z-1/z)-exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==34 f=log(z)/exp(z)+exp(z)/log(z)-p2 f1=(1/exp(z))*(1/z-log(z))+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==35 f=log(z)/exp(z)-exp(z)/log(z)-p2 f1=(1/exp(z))*(1/z-log(z))-exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==36 f=exp(z)/log(z)+z^3+z*log(@p8*z)-z-p2 f1=exp(z)*(1/log(z)-1/(z*log(z)^2))+3*z^2+log(@p8*z) elseif @V==37 f=exp(z)/log(z)-z^3-z*log(@p8*z)+z-p2 f1=exp(z)*(1/log(z)-1/(z*log(z)^2))-3*z^2-log(@p8*z) elseif @V==38 f=z^3+z*log(@p8*z)-z+z*log(z)^2-2*z*log(z)+2*z-p2 f1=3*z^2+log(@p8*z)+log(z)^2 elseif @V==39 f=z^3+z*log(@p8*z)-z-z*log(z)^2+2*z*log(z)-2*z-p2 f1=3*z^2+log(@p8*z)-log(z)^2 elseif @V==40 f=z^3+z*(sin(log(z))-cos(log(z)))/2+z*(sin(log(z))+cos(log(z)))/2-p2 f1=3*z^2+sin(log(z))+cos(log(z)) elseif @V==41 f=z^3+z*(sin(log(z))-cos(log(z)))/2-z*(sin(log(z))+cos(log(z)))/2-p2 f1=3*z^2+sin(log(z))-cos(log(z)) elseif @V==42 f=z^3+exp(z)*(z*log(z)-z-log(z))+exp(z)/log(z)-p2 f1=3*z^2+exp(z)*(z*log(z)-z-1/z)+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==43 f=z^3+exp(z)*(z*log(z)-z-log(z))-log(z)/exp(z)-p2 f1=3*z^2+exp(z)*(z*log(z)-z-1/z)-(1/exp(z))*(1/z-log(z)) elseif @V==44 f=z^3+exp(z)*(z*log(z)-z-log(z))-exp(z)/log(z)-p2 f1=3*z^2+exp(z)*(z*log(z)-z-1/z)-exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==45 f=z^3+log(z)/exp(z)+exp(z)/log(z)-p2 f1=3*z^2+(1/exp(z))*(1/z-log(z))+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==46 f=z^3+log(z)/exp(z)-exp(z)/log(z)-p2 f1=3*z^2+(1/exp(z))*(1/z-log(z))-exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==47 f=z^3+exp(z)/log(z)+z^3+z*log(@p8*z)-z-p2 f1=3*z^2+exp(z)*(1/log(z)-1/(z*log(z)^2))+3*z^2+log(@p8*z) elseif @V==48 f=z^3+exp(z)/log(z)-z^3-z*log(@p8*z)+z-p2 f1=3*z^2+exp(z)*(1/log(z)-1/(z*log(z)^2))-3*z^2-log(@p8*z) elseif @V==49 f=-z^3+z*log(@p8*z)-z+z*log(z)^2-2*z*log(z)+2*z-p2 f1=-3*z^2+log(@p8*z)+log(z)^2 elseif @V==50 f=-z^3+z*log(@p8*z)-z-z*log(z)^2+2*z*log(z)-2*z-p2 f1=-3*z^2+log(@p8*z)-log(z)^2 elseif @V==51 f=-z^3+z*(sin(log(z))-cos(log(z)))/2+z*(sin(log(z))+cos(log(z)))/2-p2 f1=-3*z^2+sin(log(z))+cos(log(z)) elseif @V==52 f=-z^3+z*(sin(log(z))-cos(log(z)))/2-z*(sin(log(z))+cos(log(z)))/2-p2 f1=-3*z^2+sin(log(z))-cos(log(z)) elseif @V==53 f=-z^3+exp(z)*(z*log(z)-z-log(z))+exp(z)/log(z)-p2 f1=-3*z^2+exp(z)*(z*log(z)-z-1/z)+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==54 f=-z^3+exp(z)*(z*log(z)-z-log(z))-log(z)/exp(z)-p2 f1=-3*z^2+exp(z)*(z*log(z)-z-1/z)-(1/exp(z))*(1/z-log(z)) elseif @V==55 f=-z^3+exp(z)*(z*log(z)-z-log(z))-exp(z)/log(z)-p2 f1=-3*z^2+exp(z)*(z*log(z)-z-1/z)-exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==56 f=-z^3+log(z)/exp(z)+exp(z)/log(z)-p2 f1=-3*z^2+(1/exp(z))*(1/z-log(z))+exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==57 f=-z^3+log(z)/exp(z)-exp(z)/log(z)-p2 f1=-3*z^2+(1/exp(z))*(1/z-log(z))-exp(z)*(1/log(z)-1/(z*log(z)^2)) elseif @V==58 f=-z^3+exp(z)/log(z)+z^3+z*log(@p8*z)-z-p2 f1=-3*z^2+exp(z)*(1/log(z)-1/(z*log(z)^2))+3*z^2+log(@p8*z) else f=-z^3+exp(z)/log(z)-z^3-z*log(@p8*z)+z-p2 f1=-3*z^2+exp(z)*(1/log(z)-1/(z*log(z)^2))-3*z^2-log(@p8*z) endif z=z-p1*f/f1+p3 bailout: |zold-z|>@bail default: title="Log Newton Anatida" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27"\ "28""29""30""31""32""33""34""35""36"\ "37""38""39""40""41""42""43""44""45"\ "46""47""48""49""50""51""52""53""54"\ "55""56""57""58""59""60" default=9 endparam param p1 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(0,0) endparam param p2 caption="Newton Parameter 3" default=(1,0) endparam param p8 caption="Newton Parameter 4" default=1.0 visible=@V==0 || @V==1 || @V==3 || @V==9 || @V==10 || @V==12\ || @V==18 || @V==19 || @V==21 || @V==27 || @V==28 || @V==36\ || @V==37 || @V==38 || @V==39 || @V==47 || @V==48 || @V==49\ || @V==50 || @V==58 || @V==59 endparam param p9 caption="Newton Parameter 5" default=(1,0) visible=@V==1 || @V==10 || @V==19 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 1" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } NewtonAnatida { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7^z+1) z=z+@p8/fn3(z) if @Va=="1" if imag(z)>0 z=z else z=conj(z) endif else if imag(z)<0 z=z else z=conj(z) endif endif f=z^@pow-p1 f1=@pow*z^(@pow-1) z=z-p2*f/f1+p3 bailout: |zold-z|>@bail default: title="Newton Anatida" center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2" endparam param p1 caption="Newton Parameter 1" default=(1,0) endparam param p2 caption="Newton Parameter 2" default=(0.5,-0.5) endparam param p3 caption="Newton Parameter 3" default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Add Recip Parameter" default=(0,0) endparam param pow caption="Exponent" default=(3,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p8!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } JuliaAnatida { init: z=fn1(pixel) loop: z=p2*fn2(z)+p3 z=(z-p4)/(1-p4*z) z=z/(p5*z+1) z=z+p6/fn3(z) if @Va=="1" if imag(z)>0 z=z else z=conj(z) endif elseif @Va=="2" if imag(z)<0 z=z else z=conj(z) endif endif z=z^@pow+p1 bailout: |z|<@bail default: title="Julia Anatida" center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2" endparam param p1 caption="Julia Seed" default=(0.25,0.55) endparam param pow caption="Exponent" default=(2,0) endparam param p4 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p2 caption="Loop Parameter 1" default=(1,0) endparam param p3 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=4.0 endparam } SawResister { init: z=fn1(pixel) loop: zold=z z=(z-p5)/(1-p5*z) z=z/(p6^z+1) z=z+p4/fn3(z) z=z*(1-@p7*z) if imag(z)>0 z=z else z=conj(z) endif z=fn2(z) z=p1^@pow*cos(p2^@pow*pi*z)+p3 bailout: |zold-z|>@bail default: title="Saw Resister" center=(0.001,0.001) periodicity=0 param p1 caption="Parameter 1" default=(1.5,0) endparam param p2 caption="Parameter 2" default=(0.5,0) endparam param p3 caption="Parameter 3" default=(0,0) endparam param p5 caption="Möbius Parameter 1" default=(0,0) endparam param p6 caption="Möbius Parameter 2" default=(0,0) endparam param p7 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p4!=0 endfunc param pow caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Sec/CosecMidpointAnatida { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7^z+1) z=z+@p8/fn3(z) if @Va=="1" if imag(z)>0 z=z else z=conj(z) endif else if imag(z)<0 z=z else z=conj(z) endif endif if @V=="sec(z)^2" f=tan(z)-p1 f1=1/cos(z)^2 elseif @V=="cosec(z)^2" f=-cotan(z)-p1 f1=1/sin(z)^2 elseif @V=="cosec(z)^2+sec(z)" f=-cotan(z)+log(cabs(1/cos(z)+tan(z)))-p1 f1=1/sin(z)^2+1/cos(z) elseif @V=="1+sec(z)^2" f=z+tan(z)-p1 f1=1+1/cos(z)^2 elseif @V=="1+cosec(z)^2" f=z-cotan(z)-p1 f1=1+1/sin(z)^2 elseif @V=="1+cosec(z)^2+sec(z)" f=z-cotan(z)+log(cabs(1/cos(z)+tan(z)))-p1 f1=1+1/sin(z)^2+1/cos(z) elseif @V=="2*z+sec(z)^2" f=z^2+tan(z)-p1 f1=2*z+1/cos(z)^2 elseif @V=="2*z-sec(z)^2" f=z^2-tan(z)-p1 f1=2*z-1/cos(z)^2 elseif @V=="1+sec(z)^2" f=z+tan(z)-p1 f1=1+1/cos(z)^2 else f=z-tan(z)-p1 f1=1-1/cos(z)^2 endif z=z-p2*(f/(f1*(z-f/(2*f1))))+p3 bailout: |zold-z|>@bail default: title="Sec/Cosec Midpoint Anatida" center=(0.001,0.001) periodicity=0 param V caption="Derivative" enum="sec(z)^2""cosec(z)^2""cosec(z)^2+sec(z)""1+sec(z)^2"\ "1+cosec(z)^2""1+cosec(z)^2+sec(z)""2*z+sec(z)^2"\ "2*z-sec(z)^2""1+sec(z)^2""1-sec(z)^2" endparam param p1 caption="Midpoint Parameter 1" default=(1,0) endparam param p2 caption="Midpoint Parameter 2" default=(1,0) endparam param p3 caption="Midpoint Parameter 3" default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Add Recip Parameter" default=(0,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p8!=0 endfunc param Va caption="Anatida Variant" enum="1""2" endparam param bail caption="Bailout" default=0.000000001 endparam } AnotherNewton1 { init: z=fn1(pixel) loop: zold=z z=(z-p5)/(1-p5*z) z=z/(p6*z+1) z=z+p4/fn3(z) if imag(z)>0 z=z else z=conj(z) endif z=fn2(z) f=log(cabs(z^@pow-1))-p1 f1=(@pow*z^(@pow-1))/(z^@pow-1) z=z-p2*f/f1+p3 bailout: |zold-z|>@bail default: title="Another Newton 1" center=(0.001,0.001) periodicity=0 param p1 caption="Newton Parameter 1" default=(-0.75,0) endparam param p2 caption="Newton Parameter 2" default=(0.5,0) endparam param p3 caption="Newton Parameter 3" default=(0,0) endparam param p5 caption="Möbius Parameter 1" default=(0,0) endparam param p6 caption="Möbius Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p4!=0 endfunc param pow caption="Exponent" default=(3,0) endparam param bail caption="Bailout" default=0.000000001 endparam } NewtonSoftplusAnatida { init: z=fn1(pixel) loop: zold=z z=fn2((z)) z=(z-p4)/(1-p4*z) z=z/(p5*z+1) z=z+p6/fn3(z) z=z*(1-@p7*z) if imag(z)>0 z=z else z=conj(z) endif z=log(z) if @V=="1" f=z^2+log(1+exp(z))-p1 f1=2*z+1/(1+exp(-z)) elseif @V=="2" f=z^2-log(1+exp(z))-p1 f1=2*z-1/(1+exp(-z)) elseif @V=="3" f=z^3+log(1+exp(z))-p1 f1=3*z^2+1/(1+exp(-z)) elseif @V=="4" f=z^3-log(1+exp(z))-p1 f1=3*z^2-1/(1+exp(-z)) elseif @V=="5" f=z^4+log(1+exp(z))-p1 f1=4*z^3+1/(1+exp(-z)) elseif @V=="6" f=z^4-log(1+exp(z))-p1 f1=4*z^3-1/(1+exp(-z)) elseif @V=="7" f=z^5+log(1+exp(z))-p1 f1=5*z^4+1/(1+exp(-z)) else f=z^5-log(1+exp(z))-p1 f1=5*z^4-1/(1+exp(-z)) endif z=z-p2*f/f1+p3 bailout: |zold-z|>@bail default: title="Newton Softplus Anatida" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Newton Parameter 1" default=(1,0) endparam param p2 caption="Newton Parameter 2" default=(1,0) endparam param p3 caption="Newton Parameter 3" default=(1,0) endparam param p4 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p7 caption="Quasi-Logistic Parameter" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p6!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } TrigHalleyAnatida { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p4)/(1-p4*z) z=z/(p5*z+1) z=z+p6/fn3(z) z=z*(1-@p7*z) if imag(z)>0 z=z else z=conj(z) endif z=log(z) if @V=="1" f=z^3-cos(z)-p1 f1=3*z^2+sin(z) f2=6*z+cos(z) elseif @V=="2" f=z^3+log(cabs(sin(z)))-p1 f1=3*z^2+cotan(z) f2=6*z-1/sin(z)^2 elseif @V=="3" f=z^3-log(cabs(cos(z)))-p1 f1=3*z^2+tan(z) f2=6*z+1/cos(z)^2 elseif @V=="4" f=z^3+cosh(z)-p1 f1=3*z^2+sinh(z) f2=6*z+cosh(z) elseif @V=="5" f=z^3+sinh(z)-p1 f1=3*z^2+cosh(z) f2=6*z+sinh(z) elseif @V=="6" f=z^3+log(cabs(1/cos(z)+tan(z)))-p1 f1=3*z^2+1/cos(z) f2=6*z+tan(z)/cos(z) else f=z^3-log(cabs(1/sin(z)+cotan(z)))-p1 f1=3*z^2+1/sin(z) f2=6*z-cotan(z)/sin(z) endif a=f/f1 b=f*f2/sqr(f1) if @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 else z=z-p2*a*(1+(b/(2*(1-b))))+p3 endif bailout: |zold-z|>@bail default: title="Trig Halley Anatida" center=(0.001,0.001) periodicity=0 param M caption="Method" enum="Halley""Super-Halley" endparam param V caption="Variant" enum="1""2""3""4""5""6""7" endparam param p1 caption="Halley Parameter 1" default=(1,0) endparam param p2 caption="Halley Parameter 2" default=(1,0) endparam param p3 caption="Halley Parameter 3" default=(1,0) endparam param p4 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p7 caption="Quasi-Logistic Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } SincRootun { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p4)/(1-p4*z) z=z/(@p5*z+1) z=z*(1-@p7*z) z=z+p6/fn3(z) if @A==true if imag(z)<0 z=z else z=conj(z) endif else z=z endif z=@fn5(z)/z if @V=="Sinc(z)" f=sin(z)/z-p1 f1=cos(z)/z-sin(z)/z^2 elseif @V=="Sinc(z)+z" f=sin(z)/z+z-p1 f1=cos(z)/z-sin(z)/z+1 elseif @V=="Sinc(z)+z^2" f=sin(z)/z+z^2-p1 f1=cos(z)/z-sin(z)/z^2+2*z elseif @V=="Sinc(z)+z^3" f=sin(z)/z+z^3-p1 f1=cos(z)/z-sin(z)/z^2+3*z^2 elseif @V=="Sinc(z)+z^4" f=sin(z)/z+z^4-p1 f1=cos(z)/z-sin(z)/z^2+4*z^3 elseif @V=="Sinc(z)+z^5" f=sin(z)/z+z^5-p1 f1=cos(z)/z-sin(z)/z^2+5*z^4 elseif @V=="Sinc(z)+sin(z)" f=sin(z)/z+sin(z)-p1 f1=cos(z)/z-sin(z)/z^2+cos(z) elseif @V=="Sinc(z)+sin(z)+z" f=sin(z)/z+sin(z)+z-p1 f1=cos(z)/z-sin(z)/z^2+cos(z)+1 elseif @V=="Sinc(z)+sin(z)+z^2" f=sin(z)/z+sin(z)+z^2-p1 f1=cos(z)/z-sin(z)/z^2+cos(z)+2*z elseif @V=="Sinc(z)+sin(z)+z^3" f=sin(z)/z+sin(z)+z^3-p1 f1=cos(z)/z-sin(z)/z^2+cos(z)+3*z^2 elseif @V=="Sinc(z)+sin(z)+z^4" f=sin(z)/z+sin(z)+z^4-p1 f1=cos(z)/z-sin(z)/z^2+cos(z)+4*z^3 elseif @V=="Sinc(z)+sin(z)+z^5" f=sin(z)/z+sin(z)+z^5-p1 f1=cos(z)/z-sin(z)/z^2+cos(z)+5*z^4 elseif @V=="Sinc(z)+tan(z)" f=sin(z)/z+tan(z)-p1 f1=cos(z)/z-sin(z)/z^2+1/cos(z)^2 elseif @V=="Sinc(z)+tan(z)+z" f=sin(z)/z+tan(z)+z-p1 f1=cos(z)/z-sin(z)/z^2+1/cos(z)^2+1 elseif @V=="Sinc(z)+tan(z)+z^2" f=sin(z)/z+tan(z)+z^2-p1 f1=cos(z)/z-sin(z)/z^2+1/cos(z)^2+2*z elseif @V=="Sinc(z)+tan(z)+z^3" f=sin(z)/z+tan(z)+z^3-p1 f1=cos(z)/z-sin(z)/z^2+1/cos(z)^2+3*z^2 elseif @V=="Sinc(z)+tan(z)+z^4" f=sin(z)/z+tan(z)+z^4-p1 f1=cos(z)/z-sin(z)/z^2+1/cos(z)^2+4*z^3 else f=sin(z)/z+tan(z)+z^5-p1 f1=cos(z)/z-sin(z)/z^2+1/cos(z)^2+5*z^4 endif a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Midpoint" z=z-p2*(f/(f1*(z-a/2)))+p3 elseif @M=="Erratum" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 endif bailout: |zold-z|>@bail default: title="Sinc Rootun" center=(0.001,0.001) periodicity=0 param V caption="Integral" enum="Sinc(z)""Sinc(z)+z""Sinc(z)+z^2""Sinc(z)+z^3"\ "Sinc(z)+z^4""Sinc(z)+z^5"\ "Sinc(z)+sin(z)""Sinc(z)+sin(z)+z""Sinc(z)+sin(z)+z^2"\ "Sinc(z)+sin(z)+z^3""Sinc(z)+sin(z)+z^4""Sinc(z)+sin(z)+z^5"\ "Sinc(z)+tan(z)""Sinc(z)+tan(z)+z""Sinc(z)+tan(z)+z^2"\ "Sinc(z)+tan(z)+z^3""Sinc(z)+tan(z)+z^4""Sinc(z)+tan(z)+z^5" endparam param M caption="Method" enum="Newton""Midpoint""Erratum" endparam param p1 default=(-1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p4 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p7 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="Cardinal Function" default=sqr() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param A caption="Anatida" default=true endparam param bail caption="Bailout" default=0.000000001 endparam } MandelbrotAnatida { init: z=fn1(pixel) loop: z=fn2(z) z=z^2/@fn5(z) z=z*(1-@p7*z) z=z+p6/fn3(z) if @Va=="1" if imag(z)>0 z=z else z=conj(z) endif else if imag(z)>0 z=z else z=conj(z) endif z=log(z) endif z=z^@pow+@fn4(pixel) bailout: |z|<@bail default: title="Mandelbrot Anatida" center=(0.001,0.001) periodicity=0 param Va caption="Variant" enum="1""2" endparam param pow caption="Exponent" default=(2,0) endparam param p7 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="C Function" default=ident() endfunc func fn5 caption="Sqr(z)/Fn(z) Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param bail caption="Bailout" default=4.0 endparam } Newtonfor-(2*Z+1)/(2*(Z+1)^2)-C=0 { init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if @V=="Erratum" f=(2*z+1)/(2*(z+1)^2)-p1 f1=z/(z+1)^3 else f=-(2*z+1)/(2*(z+1)^2)-p1 f1=z/(z+1)^3 endif a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if @V=="Erratum" f=(2*z+1)/(2*(z+1)^2)-p1 f1=z/(z+1)^3 else f=-(2*z+1)/(2*(z+1)^2)-p1 f1=z/(z+1)^3 endif a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Newton for -(2*Z+1)/(2*(Z+1)^2)-C=0" center=(0.001,0.001) magn=0.5 periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param V caption="Variant" enum="Erratum""Corrected" endparam param M caption="Method" enum="Newton""Erratum 1""Erratum 2""Erratum 3" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=true endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } Rootfindingfor1/(2*Z+2)-log(Z+1)-C=0 { init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if @V=="Erratum" f=1/(2*z+2)+log(z+1)-p1 f1=(2*z+1)/(2*(z+1)^2) f2=z/(z+1)^3 else f=1/(2*z+2)-log(z+1)-p1 f1=-(2*z+1)/(2*(z+1)^2) f2=z/(z+1)^3 endif a=f/f1 b=f*f2/sqr(f1) if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*( 2-b+((4+2*b)/(2-b*(2-b))))+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if @V=="Erratum" f=1/(2*z+2)+log(z+1)-p1 f1=(2*z+1)/(2*(z+1)^2) f2=z/(z+1)^3 else f=1/(2*z+2)-log(z+1)-p1 f1=-(2*z+1)/(2*(z+1)^2) f2=z/(z+1)^3 endif a=f/f1 b=f*f2/sqr(f1) if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*( 2-b+((4+2*b)/(2-b*(2-b))))+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Rootfinding for 1/(2*Z+2)-log(Z+1)-C=0" center=(0.001,0.001) magn=0.5 periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param V caption="Variant" enum="Erratum""Corrected" endparam param M caption="Method" enum="Chebyshev""Halley""Schröder""Super-Halley""Whittaker 1""Whittaker 2" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=true endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } AnotherNewton3 { ; Newton's Method for (z^3-1)/(3*z)-c=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=(z^3-1)/(3*z)-p1 f1=z-(z^3-1)/(3*z^2) a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=(z^3-1)/(3*z)-p1 f1=z-(z^3-1)/(3*z^2) a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Another Newton 3" center=(0.001,0.001) magn=0.5 periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param M caption="Method" enum="Newton""Erratum 1""Erratum 2""Erratum 3" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } MunsterIntegralNewton { ; Newton;s method for (-16*z^3+36*z^2+36*z+18*log(1-2*z)-25)/96-c=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=(-16*z^3+36*z^2+36*z+18*log(1-2*z)-25)/96-p1 f1=z^2*(z-2)/(1-2*z) a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=(-16*z^3+36*z^2+36*z+18*log(1-2*z)-25)/96-p1 f1=z^2*(z-2)/(1-2*z) a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Munster Integral Newton" center=(0.001,0.001) magn=0.5 periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param M caption="Method" enum="Newton""Erratum 1""Erratum 2""Erratum 3" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } SoftExponentialJulia { ;https://en.wikipedia.org/wiki/Activation_function ;https://arxiv.org/abs/1602.01321 init: z=fn1(pixel) float a=p1 loop: z=fn2(z) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if a<0 z=-log(1-a*(z+a))/a else z=(exp(a*z)-a)/a+a endif z=z^2+p2 bailout: |z|<@bailout default: title="Soft Exponential Julia" center=(1.001,0.001) periodicity=0 param A caption="Anatida" default=true endparam param p1 caption="Soft Exponential Parameter" default=-0.5 endparam param p2 caption="Julia Seed" default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0.5,0.5) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bailout caption="Bailout" default=10.0 endparam } MunsterWhittaker { ; Whittaker Method for z^2*(z-a)/(1-a*z)-c=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=z^2*(z-@mp)/(1-@mp*z)-p1 f1=z*(@mp^2*z-2*@mp*(z^2+1)+3*z)/(1-@mp*z)^2 f2=(-2*@mp^2*z^3+@mp*(6*z^2+2)-6*z)/(@mp*z-1)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=z^2*(z-@mp)/(1-@mp*z)-p1 f1=z*(@mp^2*z-2*@mp*(z^2+1)+3*z)/(1-@mp*z)^2 f2=(-2*@mp^2*z^3+@mp*(6*z^2+2)-6*z)/(@mp*z-1)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Munster Whittaker" center=(0.001,0.001) magn=0.5 periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param M caption="Method" enum="Whittaker 1""Whittaker 2" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param mp caption="Munster Parameter" default=(2,0) endparam param p2 caption="Whittaker Parameter 1" default=(1,0) endparam param p3 caption="Whittaker Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=true endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } SoftExponentialMandelbrot { ;https://en.wikipedia.org/wiki/Activation_function ;https://arxiv.org/abs/1602.01321 init: z=fn1(pixel) float a=p1 loop: z=fn2(z) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if a<0 z=-log(1-a*(z+a))/a else z=(exp(a*z)-a)/a+a endif z=z^2+fn4(pixel) bailout: |z|<@bailout default: title="Soft Exponential Mandelbrot" center=(0.001,0.001) periodicity=0 param A caption="Anatida" default=false endparam param p1 caption="Soft Exponential Parameter" default=-0.5 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0.5,0.5) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Mandelbrot C Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bailout caption="Bailout" default=10.0 endparam } CayleySquaredNewton { ; Newton's Method for ((z-i)/(z+i))^2-c=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=((z-1i)/(z+1i))^2-p1 f1=(4+4*1i*z)/(z+1i)^3 a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=((z-1i)/(z+1i))^2-p1 f1=(4+4*1i*z)/(z+1i)^3 a=f/f1 if @M=="Newton" z=z-p2*f/f1+p3 elseif @M=="Erratum 1" z=z-p2*((a/2)+(f/(f1-3*f1*(z-2*a/3))))+p3 elseif @M=="Erratum 2" z=z-p2*a*((z-a-f)/(2*(z-a)-f))+p3 else z=a-(a/f1)*((f-p2*a)/(f-(p2+2)*a))-1+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Cayley Squared Newton" center=(0.001,0.001) magn=0.5 periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param M caption="Method" enum="Newton""Erratum 1""Erratum 2""Erratum 3" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } Recip(Z)Whittaker { ; Whittaker Method for 1/z=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=1/z-p1 f1=-1/z^2 f2=2/z^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=1/z-p1 f1=-1/z^2 f2=2/z^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Recip(Z) Whittaker" center=(0.001,0.001) periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param M caption="Method" enum="Whittaker 1""Whittaker 2" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p2 caption="Whittaker Parameter 1" default=(1,0) endparam param p3 caption="Whittaker Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } Recip(Z^2)Whittaker { ; Whittaker Method for 1/z^2=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=1/z^2-p1 f1=-2/z^3 f2=6/z^4 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=1/z^2-p1 f1=-2/z^3 f2=6/z^4 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Recip(Z^2) Whittaker" center=(0.001,0.001) periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param M caption="Method" enum="Whittaker 1""Whittaker 2" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p2 caption="Whittaker Parameter 1" default=(1,0) endparam param p3 caption="Whittaker Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } CayleySquaredSuper-Halley { ; Super-Halley Method for (z-i)/(z+1)=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=((z-1i)/(z+1i))^2-p1 f1=(4+4*1i*z)/(z+1i)^3 f2=-8*1i*(z-2*1i)/(z+1i)^4 a=f/f1 b=f*f2/sqr(f1) z=z-p2*a*(1+(b/(2*(1-b))))+p3 else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=((z-1i)/(z+1i))^2-p1 f1=(4+4*1i*z)/(z+1i)^3 f2=-8*1i*(z-2*1i)/(z+1i)^4 a=f/f1 b=f*f2/sqr(f1) z=z-p2*a*(1+(b/(2*(1-b))))+p3 endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Cayley Squared Super-Halley" center=(0.001,0.001) periodicity=0 magn=0.5 maxiter=250 param Vers caption="Version" enum="1""2" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p2 caption="Whittaker Parameter 1" default=(1,0) endparam param p3 caption="Whittaker Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } CayleySquaredWhittaker { ; Whittaker Method for (z-i)/(z+1)=0 init: z=fn1(pixel) int i=0 loop: zold=z if @Vers=="1" z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=((z-1i)/(z+1i))^2-p1 f1=(4+4*1i*z)/(z+1i)^3 f2=-8*1i*(z-2*1i)/(z+1i)^4 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif else while i<@iter i=i+1 z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10^z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=((z-1i)/(z+1i))^2-p1 f1=(4+4*1i*z)/(z+1i)^3 f2=-8*1i*(z-2*1i)/(z+1i)^4 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif endwhile z=51*z/50 endif bailout: (@Vers=="1" && |zold-z|>@bail1) || (@Vers=="2" && |z|<@bail2) default: title="Cayley Squared Whittaker" center=(0.001,0.001) periodicity=0 maxiter=250 param Vers caption="Version" enum="1""2" endparam param M caption="Method" enum="Whittaker 1""Whittaker 2" endparam param iter caption="Iterations" default=3 visible=@Vers=="2" endparam param p2 caption="Whittaker Parameter 1" default=(1,0) endparam param p3 caption="Whittaker Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail1 caption="Bailout" default=0.000000001 visible=@Vers=="1" endparam param bail2 caption="Bailout" default=100.0 visible=@Vers=="2" endparam } Rootfindingfor(z^2+a)/(z+a^2)-c=0 { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f= (z^2+p4)/(z+p4^2)-p1 f1=(2*p4^2*z-p4+z^2)/(p4^2+z)^2 f2=-2*(p4^4+p4)/(p4^2+z)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif bailout: |zold-z|>@bail default: title="Rootfinding for (z^2+a)/(z+a^2)-c=0" center=(0.001,0.001) periodicity=0 param M caption="Method" enum="Chebyshev""Halley""Schröder""Super-Halley""Whittaker 1""Whittaker 2" endparam param p4 caption="Parameter 1" default=(1,0) endparam param p2 caption="Parameter 2" default=(1,0) endparam param p3 caption="Parameter 3" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail caption="Bailout" default=0.000000001 endparam } Whittakerfor1/(z^3-a)-c=0 { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=1/(z^3-p4)-p1 f1=-3*z^2/(z^3-p4)^2 f2=6*z*(p4+2*z^3)/(z^3-p4)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif bailout: |zold-z|>@bail default: title="Whittaker for 1/(z^3-a)-c=0" center=(0.001,0.001) periodicity=0 param M caption="Method" enum="Whittaker 1""Whittaker 2" endparam param p2 caption="Whittaker Parameter 1" default=(1,0) endparam param p3 caption="Whittaker Parameter 2" default=(0,0) endparam param p4 caption="Whittaker Parameter 3" default=(1,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail caption="Bailout" default=0.000000001 endparam } Rootfindingfor((2-i)*z-1)/(-z+(2+i))-c=0 { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=((2-1i)*z-1)/(-z+(2+1i))-p1 f1=4/(-z+2+1i)^2 f2=8/(z-2-1i)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif bailout: |zold-z|>@bail default: title="Rootfinding for ((2-i)*z-1)/(-z+(2+i))-c=0" center=(0.001,0.001) magn=0.5 periodicity=0 param M caption="Method" enum="Chebyshev""Halley""Schröder""Super-Halley""Whittaker 1""Whittaker 2" endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param bail caption="Bailout" default=0.000000001 endparam } RootfindingAnatidafor1/(2*(z+1))-2*log(z+1)-c=0 { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=-1/(2*(z+1))-2*log(z+1)-p1 f1=-(4*z+3)/(2*(z+1)^2) f2=(2*z+1)/(z+1)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif bailout: |zold-z|>@bail default: title="Rootfinding Anatida for 1/(2*(z+1))-2*log(z+1)-c=0" center=(0.001,0.001) magn=0.5 periodicity=0 param M caption="Method" enum="Chebyshev""Halley""Schröder""Super-Halley""Whittaker 1""Whittaker 2" endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } SchröderRekursif { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=z+p5/(z+p5/(z+p5/z))-p1 f1=(-2*p5^3+3*p5^2*z^2+3*p5*z^4+z^6)/(2*p5*z+z^3)^2 f2=2*p5*(4*p5^3+6*p5^2*z^2+z^6)/(2*p5*z+z^3)^3 z=z-p2*f*f1/(f1^2-f*f2)+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Schröder Rekursif" center=(0.001,0.001) magn=0.5 periodicity=0 param p5 caption="Rekursif Parameter" default=(1,0) endparam param p2 caption="Schröder Parameter 1" default=(1,0) endparam param p3 caption="Schröder Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } Rootfindingfor(z^2-i)/(z^2+i)-c=0 { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if @V=="(z^2-i)/(z*2+i)" f=(z^2-1i)/(z^2+1i)-p1 f1=4*1i*z/(z^2+1i)^2 f2=(-4-12*1i*z^2)/(z^2+1i)^3 elseif @V=="z+(z^2-i)/(z*2+i)" f=z+(z^2-1i)/(z^2+1i)-p1 f1=1+4*1i*z/(z^2+1i)^2 f2=(-4-12*1i*z^2)/(z^2+1i)^3 elseif @V=="z^2+(z^2-i)/(z*2+i)" f=z^2+(z^2-1i)/(z^2+1i)-p1 f1=2*z+4*1i*z/(z^2+1i)^2 f2=2+(-4-12*1i*z^2)/(z^2+1i)^3 else f=z^3+(z^2-1i)/(z^2+1i)-p1 f1=3*z^2+4*1i*z/(z^2+1i)^2 f2=6*z+2+(-4-12*1i*z^2)/(z^2+1i)^3 endif a=f/f1 b=f*f2/sqr(f1) if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Rootfinding for (z^2-i)/(z^2+i)-c=0" center=(0.001,0.001) magn=0.5 periodicity=0 param V caption="Variant" enum="(z^2-i)/(z*2+i)""z+(z^2-i)/(z*2+i)""Z^2+(z^2-i)/(z*2+i)""z^3+(z^2-i)/(z*2+i)" endparam param M caption="Method" enum="Chebyshev""Halley""Schröder""Super-Halley""Whittaker 1""Whittaker 2" endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A caption="Anatida" default=false endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } z=((z^2+a)/(z+a^2))^b+c { init: z=fn1(pixel) loop: z=p2*fn2(z)+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=(z-p4)/(1-p4*z) z=z/(p5*z+1) z=z+p6/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif if @JM=="J" z=((Z^2+@p7)/(z+@p7^2))^@pow+p1 else z=((Z^2+@p7)/(z+@p7^2))^@pow+fn4(pixel) endif bailout: |z|<@bail default: title="z=((z^2+a)/(z+a^2))^b+c" center=(0.001,0.001) angle=90 periodicity=0 param JM caption="J/M" enum="J""M" endparam param p7 caption="Parameter" default=(1.1,0.55) endparam param p1 caption="Julia Seed" default=(-0.35,0.65) visible=@JM=="J" endparam param pow caption="Exponent" default=(2,0) endparam param A caption="Anatida" default=true endparam param p4 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p2 caption="Loop Parameter 1" default=(1,0) endparam param p3 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Mandelbrot C Function" default=ident() visible=@JM=="M" endfunc func fn3 caption="Add Recip Function" default=ident() visible=p6!=0 endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=4.0 endparam } NewtonRekursifAnatida { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=(z-p6)/(1-p6*z) z=z/(@p7^z+1) z=z+@p8/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=(@p9*log(2*@p9+z^2)+2*@p9*log(z)+2*z^2)/4-p1 f1=z+@p9/(z+@p9/(z+@p9/z)) z=z-p2*f/f1+p3 bailout: |zold-z|>@bail default: title="Newton Rekursif Anatida" center=(0.001,0.001) periodicity=0 param p9 caption="Newton Parameter 1" default=(1,0) endparam param p2 caption="Newton Parameter 2" default=(1,0) endparam param p3 caption="Newton Parameter 3" default=(0,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Add Recip Parameter" default=(0,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p8!=0 endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } RootfindingRekursifAnatida { init: z=fn1(pixel) loop: zold=z z=fn2(z) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=(6*z^2+4*z+(2*z+1)*log(2*z+1)-1)/8-p1 f1=(6*z+log(2*z+1)+3)/4 f2=1+(1/(1+(1/(1+1/z)))) a=f/f1 b=f*f2/sqr(f1) if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Halley" z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif bailout: |zold-z|>@bail default: title="Rootfinding Rekursif Anatida" center=(0.001,0.001) magn=0.5 periodicity=0 param M caption="Method" enum="Chebyshev""Halley""Schröder""Super-Halley""Whittaker 1""Whittaker 2" endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } Super-HalleyandWhittakerRekursif { init: z=fn1(pixel) loop: zold=z z=fn2(z) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=1+(1/(1+(1/(1+1/z))))-p1 f1=-1/(2*z+1)^2 f2=4/(2*z+1)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif bailout: |zold-z|>@bail default: title="Super-Halley and Whittaker Rekursif" center=(0.001,0.001) periodicity=0 param M caption="Method" enum="Super-Halley""Whittaker 1""Whittaker 2" endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(2,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param A default=true endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } Rootfindingfor1/(z^2+z)-c=0 { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=1/(z^2+z)-p1 f1=-(2*z+1)/(z^2+z)^2 f2=(6*z^2+6*z+2)/(z^3*(z+1)^3) a=f/f1 b=f*f2/sqr(f1) if @JM=="J" if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif else if @M=="Chebyshev" z=z-p2*a*(1+b/2)+fn4(pixel) elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+fn4(pixel) elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+fn4(pixel) elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+fn4(pixel) else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+fn4(pixel) endif endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Rootfinding for 1/(z^2+z)-c=0" center=(0.001,0.001) periodicity=0 param M caption="Method" enum="Chebyshev""Schröder""Super-Halley""Whittaker 1""Whittaker 2" endparam param JM caption="J/M" enum="J""M" endparam param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) visible=@JM=="J" endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn4 caption="Nova Function" default=ident() visible=@JM=="M" endfunc param A caption="Anatida" default=false endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } z=(1-z^4)/(z-z^2)+c { init: z=fn1(pixel) loop: z=fn2(z) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif if @A==true if imag(z)>0 z=z else z=conj(z) endif endif z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @JM=="J" z=p1*(1-z^4)/(z-z^2)+@seed else z=p1*(1-z^4)/(z-z^2)+fn4(pixel) endif bailout: |z|<@bail default: title="z=(1-z^4)/(z-z^2)+c" center=(-0.501,0.001) angle=270 periodicity=0 param JM caption="J/M" enum="J""M" default=1 endparam param p1 default=(0.75,0) endparam param seed caption="Julia Seed" default=(-0.25,0) visible=@JM=="J" endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn4 caption="Mandelbrot C Function" default=ident() visible=@JM=="M" endfunc param A caption="Anatida" default=false endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=4.0 endparam } Rootfindingfor(z^3-1)/(3*z^2)-c=0 { init: if @S=="pixel" z=fn1(pixel) elseif @S=="pixel^3-1" z=fn1(pixel^3-1) elseif @S=="(pixel^3-1)/(3*pixel^2)" z=fn1((pixel^3-1)/(3*pixel^2)) else z=fn1(pixel-(pixel^3-1)/(3*pixel^2)) endif loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=(z^3-1)/(3*z^2)-p1 f1=2/(3*z^3)+1/3 f2=-2/z^4 a=f/f1 b=f*f2/sqr(f1) if @JM=="J" if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 elseif @M=="Whittaker 2" z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 elseif @M=="Newton" z=z-p2*a+p3 else z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 endif else if @M=="Chebyshev" z=z-p2*a*(1+b/2)+fn4(pixel) elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+fn4(pixel) elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+fn4(pixel) elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+fn4(pixel) elseif @M=="Whittaker 2" z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+fn4(pixel) elseif @M=="Newton" z=z-p2*a+fn4(pixel) else z=z-p2*2*f*f1/(2*f1^2-f*f2)+fn4(pixel) endif endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Rootfinding for (z^3-1)/(3*z^2)-c=0" center=(0.001,0.001) periodicity=0 param M caption="Method" enum="Chebyshev""Schröder""Super-Halley""Whittaker 1""Whittaker 2""Newton""Halley" endparam param JM caption="J/M" enum="J""M" endparam param S caption="Start Value" enum="pixel""pixel^3-1""(pixel^3-1)/(3*pixel^2)""z-(pixel^3-1)/(3*pixel^2)" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) visible=@JM=="J" endparam param p1 caption="Constant" default=(-1,0) endparam func fn4 caption="Nova Function" default=ident() visible=@JM=="M" endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn2 caption="Loop Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam param A caption="Anatida" default=false endparam } Rootfindingfor(1+((z^3-1)*(6*z)/(3*z^2)^2)/2)*(z^3-1)/(3*z^2)-c=0 { init: if @S=="pixel" z=fn1(pixel) elseif @S=="pixel^3-1" z=fn1(pixel^3-1) elseif @S=="(pixel^3-1)/(3*pixel^2)" z=fn1((pixel^3-1)/(3*pixel^2)) elseif @S=="pixel-(pixel^3-1)/(3*pixel^2)" z=fn1(pixel-(pixel^3-1)/(3*pixel^2)) elseif @S=="(pixel^3-1)*2/(3*pixel^3)" z=fn1((pixel^3-1)*2/(3*pixel^3)) else z=fn1((pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)) endif loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @A==true if imag(z)>0 z=z else z=conj(z) endif endif f=(1+((z^3-1)*(6*z)/(3*z^2)^2)/2)*(z^3-1)/(3*z^2)-p1 f1=(4*z^6+10*z^3-5)/(9*z^6) f2=-10*(z^3-1)/(3*z^7) a=f/f1 b=f*f2/sqr(f1) if @JM=="J" if @M=="Chebyshev" z=z-p2*a*(1+b/2)+p3 elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+p3 elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+p3 elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 elseif @M=="Whittaker 2" z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 elseif @M=="Newton" z=z-p2*a+p3 else z=z-p2*2*f*f1/(2*f1^2-f*f2)+p3 endif else if @M=="Chebyshev" z=z-p2*a*(1+b/2)+fn4(pixel) elseif @M=="Schröder" z=z-p2*f*f1/(f1^2-f*f2)+fn4(pixel) elseif @M=="Super-Halley" z=z-p2*a*(1+(b/(2*(1-b))))+fn4(pixel) elseif @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+fn4(pixel) elseif @M=="Whittaker 2" z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+fn4(pixel) elseif @M=="Newton" z=z-p2*a+fn4(pixel) else z=z-p2*2*f*f1/(2*f1^2-f*f2)+fn4(pixel) endif endif if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Rootfinding for (1+((z^3-1)*(6*z)/(3*z^2)^2)/2)*(z^3-1)/(3*z^2)-c=0" center=(0.001,0.001) periodicity=0 param M caption="Method" enum="Chebyshev""Schröder""Super-Halley""Whittaker 1""Whittaker 2""Newton""Halley" endparam param JM caption="J/M" enum="J""M" endparam param S caption="Start Value" enum="pixel""pixel^3-1""(pixel^3-1)/(3*pixel^2)""pixel-(pixel^3-1)/(3*pixel^2)"\ "(pixel^3-1)*2/(3*pixel^3)""(pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) visible=@JM=="J" endparam param p1 caption="Constant" default=(-1,0) endparam func fn4 caption="Nova Function" default=ident() visible=@JM=="M" endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc func fn2 caption="Loop Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam param A caption="Anatida" default=false endparam } Newtonforz^3*(z^z-1)/(z^z+1)=0 { init: if @S=="pixel" z=fn1(pixel) elseif @S=="pixel^3-1" z=fn1(pixel^3-1) elseif @S=="(pixel^3-1)/(3*pixel^2)" z=fn1((pixel^3-1)/(3*pixel^2)) elseif @S=="pixel-(pixel^3-1)/(3*pixel^2)" z=fn1(pixel-(pixel^3-1)/(3*pixel^2)) elseif @S=="(pixel^3-1)*2/(3*pixel^3)" z=fn1((pixel^3-1)*2/(3*pixel^3)) else z=fn1((pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)) endif loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=z^3*(z^z-1)/(z^z+1) f1=z^(z+3)*(log(z)+1)/(z^z+1)-(z^z-1)*z^(z+3)*(log(z)+1)/(z^z+1)^2+3*(z^z-1)*z^2/(z^z+1) a=f/f1 z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Newton for z^3*(z^z-1)/(z^z+1)=0" center=(0.001,0.001) periodicity=0 param S caption="Start Value" enum="pixel""pixel^3-1""(pixel^3-1)/(3*pixel^2)""pixel-(pixel^3-1)/(3*pixel^2)"\ "(pixel^3-1)*2/(3*pixel^3)""(pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="RF Parameter 1" default=(-1,0) endparam param p3 caption="RF Parameter 2" default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 1" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } ModifiedNewtonforexp(z)^exp(z)-c=0 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) f=exp(z)^exp(z)-p1 f1=exp(z)^(exp(z)+1)*(z+1) a=f/f1 z=z-p2*a+p3 if |z|>1 z=z/|z| endif bailout: |zold-z|>@bail default: title="Modified Newton for exp(z)^exp(z)-c=0" center=(0.001,0.001) periodicity=0 func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } NewtonAnatidaforatanh(z)^2-c=0 { init: if @S=="pixel" z=fn1(pixel) elseif @S=="pixel^3-1" z=fn1(pixel^3-1) elseif @S=="(pixel^3-1)/(3*pixel^2)" z=fn1((pixel^3-1)/(3*pixel^2)) elseif @S=="pixel-(pixel^3-1)/(3*pixel^2)" z=fn1(pixel-(pixel^3-1)/(3*pixel^2)) elseif @S=="(pixel^3-1)*2/(3*pixel^3)" z=fn1((pixel^3-1)*2/(3*pixel^3)) else z=fn1((pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)) endif loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=atanh(z)^2-p1 f1=2*atanh(z)/(z^2-1) a=f/f1 z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Newton Anatida for atanh(z)^2-c=0" center=(0.001,0.001) periodicity=0 param S caption="Start Value" enum="pixel""pixel^3-1""(pixel^3-1)/(3*pixel^2)""pixel-(pixel^3-1)/(3*pixel^2)"\ "(pixel^3-1)*2/(3*pixel^3)""(pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(-1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } NewtonAnatidaforlog(z)^log(z)-c=0 { init: if @S=="pixel" z=fn1(pixel) elseif @S=="pixel^3-1" z=fn1(pixel^3-1) elseif @S=="(pixel^3-1)/(3*pixel^2)" z=fn1((pixel^3-1)/(3*pixel^2)) elseif @S=="pixel-(pixel^3-1)/(3*pixel^2)" z=fn1(pixel-(pixel^3-1)/(3*pixel^2)) elseif @S=="(pixel^3-1)*2/(3*pixel^3)" z=fn1((pixel^3-1)*2/(3*pixel^3)) else z=fn1((pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)) endif loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if imag(z)>0 z=z else z=conj(z) endif f=log(z)^log(z)-p1 f1=log(z)^log(z)*(log(log(z))+1)/z a=f/f1 z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Newton Anatida for log(z)^log(z)-c=0" center=(0.001,0.001) periodicity=0 param S caption="Start Value" enum="pixel""pixel^3-1""(pixel^3-1)/(3*pixel^2)""pixel-(pixel^3-1)/(3*pixel^2)"\ "(pixel^3-1)*2/(3*pixel^3)""(pixel^3-1)*(1+(pixel^3-1)/(3*pixel^3))/(3*pixel^2)" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } ModifiedNewtonforz/(z-1)^2-c=0 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Newton" f=z/(z-1)^2-p1 else f=z/(z-1)^2+fn4(pixel) endif f1=-(z+1)/(z-1)^3 a=f/f1 z=z-p2*a+p3 if |z|>1 z=z/|z| endif bailout: |zold-z|>@bail default: title="Modified Newton for z/(z-1)^2-c=0" center=(0.001,0.001) angle=270 periodicity=0 param V caption="Variant" enum="Newton""Nova" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Newton" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Newtonforz^2*cotanh(z)-c=0 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Newton" f=z^2*cotanh(z)-p1 else f=z^2*cotanh(z)+fn4(pixel) endif f1=2*z*cotanh(z)-z^2/sinh(z)^2 a=f/f1 z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Newton for z^2*cotanh(z)-c=0" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Newton""Nova" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Newton" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param bail caption="Bailout" default=0.000000001 endparam } Newtonfor(z-1)^2/z-c=0 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Newton" f=(z-1)^2/z-p1 else f=(z-1)^2/z+fn4(pixel) endif f1=1-1/z^2 a=f/f1 z=z-p2*a+p3 if @M==true if |z|>1 z=z/|z| endif endif bailout: |zold-z|>@bail default: title="Newton for (z-1)^2/z=0" center=(0.001,0.001) angle=270 periodicity=0 param V caption="Variant" enum="Newton""Nova" endparam param M caption="Modification" default=true endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Newton" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Nova Function" default=ident() visible=@V=="Nova" endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen1 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=(z-1)^2/z-p1 else f=(z-1)^2/z+fn4(pixel) endif f1=1-1/z^2 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 1" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen2 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z+@p7/fn3(z) f=z^3+log(1+exp(z))-p2 f1=3*z^2+exp(z)/(1+exp(z)) if @V=="Notwen" z=z-p1*f1/f+p3 else z=z-p1*f1/f+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Notwen 2" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Parameter" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) visible=@V=="Notwen" endparam param p2 caption="Constant" default=(1,0) endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) visible=@V=="Notwen" endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen3 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=z*(z-1)*(z-2)-p1 else f=z*(z-1)*(z-2)+fn4(pixel) endif f1=3*z^2-6*z+2 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 3" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen4 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=z*(z-1)*(z+1)-p1 else f=z*(z-1)*(z+1)+fn4(pixel) endif f1=3*z^2-1 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 4" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen5 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=z*(z-1)*(z+1)/(z-2)-p1 else f=z*(z-1)*(z+1)/(z-2)+fn4(pixel) endif f1=(2*(z^3-3*z^2+1))/(z-2)^2 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 5" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen6 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=z+z^2/2+z^3/6+z^4/24+z^5/120-p1 else f=z+z^2/2+z^3/6+z^4/24+z^5/120+fn4(pixel) endif f1=1+z+z^2/2+z^3/6+z^4/24 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 6" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen7 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=1-(z-1)+(z-1)^2-(z-1)^3+(z-1)^4-(z-1)^5-p1 else f=1-(z-1)+(z-1)^2-(z-1)^3+(z-1)^4-(z-1)^5+fn4(pixel) endif f1=-5*z^4+24*z^3-45*z^2+40*z-15 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 7" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen8 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=z^5/(z-1)^2-p1 else f=z^5/(z-1)^2+fn4(pixel) endif f1=z^4*(3*z-5)/(z-1)^3 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 8" center=(0.001,0.001) magn=0.5 periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Notwen9 { ; Notwen formulas are based on an inversion of part of the Newton formula: ; Newton z=z-f/f' ; Notwen z=z-f'/f init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=(z^4+2*z^3+3*z^2+4*z+5)/(5*z)-p1 else f=(z^4+2*z^3+3*z^2+4*z+5)/(5*z)+fn4(pixel) endif f1=(3*z^2-5/z^2+4*z+3)/5 a=f1/f z=z-p2*a+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Notwen 9" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } MandyPixnewt { init: z=fn1(pixel) loop: if @V=="Pixnewt" z=z^@pow1+pixel-p1*(pixel^@pow2-p2)/(@pow2*pixel^(@pow2-1)) else z=z^@pow1+pixel-p1*(@pow2*pixel^(@pow2-1))/(pixel^@pow2-p2) endif if @Va=="none" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif elseif @Va=="3" z=z+0.3/z elseif @Va=="4" z=z+1/exp(z) elseif @Va=="5" z=z+0.05/sqr(z) elseif @Va=="6" z=z-0.1/cabs(z) elseif @Va=="7" z=z-0.05/cabs(z) endif bailout: |z|<@bail default: title="Mandy Pixnewt" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="Pixnewt""Pixnotw" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=3 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7" endparam param bail caption="Bailout" default=4.0 endparam } Gnik { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) f=z^@pow-p1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) z=z-p2*f2*f1/(f1^2-f^2)+p3 if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/flip(z) elseif @Va=="6" z=z+1/conj(z) elseif @Va=="7" z=z+2/abs(z) elseif @Va=="8" z=z+1/sqr(z) elseif @Va=="9" z=z-0.6/cotan(z) endif bailout: |zold-z|>@bail default: title="Gnik" center=(0.001,0.001) magn=0.5 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9" endparam param p4 caption="Loop Parameter 1" default=(0.5,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } NodMiPit { init: if @S=="pixel" z=fn1(pixel) elseif @S=="pixel^3-1" z=fn1(pixel^3-1) elseif @S=="(pixel^3-1)/(3*pixel^2)" z=fn1((pixel^3-1)/(3*pixel^2)) elseif @S=="(3*pixel^2)/(pixel^3-1)" z=fn1((3*pixel^2)/(pixel^3-1)) elseif @S=="pixel-(pixel^3-1)/(3*pixel^2)" z=fn1(pixel-(pixel^3-1)/(3*pixel^2)) elseif @S=="pixel-(3*pixel^2)/(pixel^3-1)" z=fn1(pixel-(3*pixel^2)/(pixel^3-1)) elseif @S=="pixel^4-1" z=fn1(pixel^4-1) elseif @S=="(pixel^4-1)/(4*pixel^3)" z=fn1((pixel^4-1)/(4*pixel^3)) elseif @S=="(4*pixel^3)/(pixel^4-1)" z=fn1((4*pixel^3)/(pixel^4-1)) elseif @S=="pixel-(pixel^4-1)/(4*pixel^3)" z=fn1(pixel-(pixel^4-1)/(4*pixel^3)) elseif @S=="pixel-(4*pixel^3)/(pixel^4-1)" z=fn1(pixel-(4*pixel^3)/(pixel^4-1)) elseif @S=="pixel^5-1" z=fn1(pixel^5-1) elseif @S=="(pixel^5-1)/(5*pixel^4)" z=fn1((pixel^5-1)/(5*pixel^4)) elseif @S=="(5*pixel^4)/(pixel^5-1)" z=fn1((5*pixel^4)/(pixel^5-1)) elseif @S=="pixel-(pixel^5-1)/(5*pixel^4)" z=fn1(pixel-(pixel^5-1)/(5*pixel^4)) elseif @S=="pixel-(5*pixel^4)/(pixel^5-1)" z=fn1(pixel-(5*pixel^4)/(pixel^5-1)) endif loop: zold=z z=(p4-0.5)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z+@p7/fn3(z) if @V=="Notwen" f=z^@pow-p1 else f=z^@pow+fn4(pixel) endif f1=@pow*z^(@pow-1) z=z-p2*(f1/(f*(z-f1/(2*f))))+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif endif bailout: |zold-z|>@bail default: title="Nod Mi Pit" center=(0.001,0.001) magn=0.5 periodicity=0 param V caption="Variant" enum="Notwen""Avon" endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param S caption="Start Value" enum="pixel""pixel^3-1""(pixel^3-1)/(3*pixel^2)"\ "(3*pixel^2)/(pixel^3-1)""pixel-(pixel^3-1)/(3*pixel^2)"\ "pixel-(3*pixel^2)/(pixel^3-1)"\ "pixel^4-1""(pixel^4-1)/(4*pixel^3)""(4*pixel^3)/(pixel^4-1)"\ "pixel-(pixel^4-1)/(4*pixel^3)""pixel-(4*pixel^3)/(pixel^4-1)"\ "pixel^5-1""(pixel^5-1)/(5*pixel^4)""(5*pixel^4)/(pixel^5-1)"\ "pixel-(pixel^5-1)/(5*pixel^4)""pixel-(5*pixel^4)/(pixel^5-1)" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@V=="Notwen" endparam func fn4 caption="Avon Function" default=ident() visible=@V=="Avon" endfunc param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam func fn3 caption="Add Recip Function" default=ident() visible=@p7!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam param pow default=3 endparam } Lingrist { init: z=fn1(pixel) loop: zold=z z=(p4-1.25)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @JM=="J" f=z^3-p1 else f=z^3+fn3(pixel) endif g=3*(z-f)^2 z=z-p2*g/f+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)@bail default: title="Lingrist" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12""13" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Bakhshali { ;https://en.wikipedia.org/wiki/Methods_of_computing_square_roots init: z=fn1(pixel) loop: zold=z z=(p4-1.25)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @JM=="J" a=(p1-z^2)/(2*z) else a=(fn3(pixel)-z^2)/(2*z) endif b=z+a z=b-p2*a^2/(2*b)+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)@bail default: title="Bakhshali" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(-2,0) endparam param p3 caption="Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12""13" endparam param p4 caption="Loop Parameter 1" default=(2,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Secant3 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @JM=="J" z=(z+p1)-((z+p1)^@pow-p2)*(p1/(((z+p1)^@pow-p2)-(z^@pow-p2)))+p3 else z=(z+p1)-((z+p1)^@pow-p2)*(p1/(((z+p1)^@pow-p2)-(z^@pow-p2)))+fn3(pixel) endif if @Va=="none" z=z elseif @Va=="1" z=z+1/conj(flip(z)) elseif @Va=="2" z=z-0.2/tan(tan(z)) elseif @Va=="3" z=z-0.5/z elseif @Va=="4" z=z+0.11/conj(z) elseif @Va=="5" z=z-0.1/cabs(z) elseif @Va=="6" z=z-0.6/exp(z) elseif @Va=="7" z=z+0.1/sqr(z) elseif @Va=="8" z=z+0.29/cotanh(z) elseif @Va=="9" z=z-0.2/cotan(z) elseif @Va=="10" z=z+0.82/tanh(z) elseif @Va=="11" z=z-0.2/tan(z) elseif @Va=="12" z=z-0.2/cos(z) elseif @Va=="13" z=z+0.3/sin(z) elseif @Va=="14" z=z-0.2/tanh(tanh(z)) elseif @Va=="15" z=z+1.288/cotanh(cotanh(z)) endif bailout: |zold-z|>@bail default: title="Secant 3" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param pow caption="Exponent" default=3 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12""13""14""15" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Secant4 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @JM=="J" z=(z+p1)-(recip(z+p1)^@pow-p2)*(p1/((recip(z+p1)^@pow-p2)-(recip(z)^@pow-p2)))+p3 else z=(z+p1)-(recip(z+p1)^@pow-p2)*(p1/((recip(z+p1)^@pow-p2)-(recip(z)^@pow-p2)))+fn3(pixel) endif if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if @JM=="J" if |z|>1 z=z/|z| endif else z=z-1/z endif elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else z=z+1/sqr(z) endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z+0.45/exp(z) elseif @Va=="7" z=z+0.57/tan(z) elseif @Va=="8" z=z-0.5/cos(z) elseif @Va=="9" z=z+0.01/flip(z) elseif @Va=="10" if @JM=="J" z=z-0.9/cabs(z) else z=z-0.2/cabs(z) endif endif bailout: |zold-z|>@bail default: title="Secant 4" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param pow caption="Exponent" default=3 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Secant5 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @JM=="J" z=(z+p1)-(flip(conj(z+p1))^@pow-p2)*(p1/((flip(conj(z+p1))^@pow-p2)-(flip(conj(z))^@pow-p2)))+p3 else z=(z+p1)-(flip(conj(z+p1))^@pow-p2)*(p1/((flip(conj(z+p1))^@pow-p2)-(flip(conj(z))^@pow-p2)))+fn3(pixel) endif if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if @JM=="J" if |z|>1 z=z/|z| endif else z=z-1/z endif elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else z=z+1/sqr(z) endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z+1/z elseif @Va=="7" z=z+0.3/tan(z) elseif @Va=="8" z=z-0.5/cos(z) elseif @Va=="9" z=z+1/sqr(z) elseif @Va=="10" z=z-0.6/cabs(z) elseif @Va=="11" z=z+0.7/cotanh(z) elseif @Va=="12" z=z+1/sin(z) endif bailout: |zold-z|>@bail default: title="Secant 5" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param pow caption="Exponent" default=3 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Secant6 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @JM=="J" z=(z+p1)-(((z+p1)-1)*((z+p1)+1)*((z+p1)-2)*((z+p1)+2)-p2)*(p1/((((z+p1)-1)*((z+p1)+1)*((z+p1)-2)*((z+p1)+2)-p2)-((z-1)*(z+1)*(z-2)*(z+2)-p2)))+p3 else z=(z+p1)-(((z+p1)-1)*((z+p1)+1)*((z+p1)-2)*((z+p1)+2)-p2)*(p1/((((z+p1)-1)*((z+p1)+1)*((z+p1)-2)*((z+p1)+2)-p2)-((z-1)*(z+1)*(z-2)*(z+2)-p2)))+fn3(pixel) endif if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" z=z-0.15/exp(z) elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else z=z+1/sqr(z) endif elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z+1/z elseif @Va=="7" z=z+0.3/tan(z) elseif @Va=="8" z=z-0.5/cos(z) elseif @Va=="9" z=z+0.5/sqr(z) elseif @Va=="10" z=z-0.55/sinh(z) elseif @Va=="11" z=z+0.7/cotanh(z) elseif @Va=="12" z=z+1/sin(z) elseif @Va=="13" z=z-1.16/cosh(z) elseif @Va=="14" z=z+0.978/cos(z) elseif @Va=="15" z=z-0.49/tanh(z) elseif @Va=="16" z=z+0.71/cotan(z) elseif @Va=="17" z=z+0.3/cotan(z) endif bailout: |zold-z|>@bail default: title="Secant 6" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12"\ "13""14""15""16""17" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Secant7 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @JM=="J" z=(z+p1)-((z+p1)*(z+p1-1)*(z+p1-2)*(z+p1+3)-p2)*(p1/(((z+p1)*(z+p1-1)*(z+p1-2)*(z+p1+3)-p2)-(z*(z-1)*(z-2)*(z+3)-p2)))+p3 else z=(z+p1)-((z+p1)*(z+p1-1)*(z+p1-2)*(z+p1+3)-p2)*(p1/(((z+p1)*(z+p1-1)*(z+p1-2)*(z+p1+3)-p2)-(z*(z-1)*(z-2)*(z+3)-p2)))+fn3(pixel) endif if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" z=z+0.125/z elseif @Va=="4" if real(z)@bail default: title="Secant 7" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11"\ "12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Secant8 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) a=(z+recip(z))*(z-recip(z))*(z+2*recip(z))*(z-2*recip(z)) b=((z+p1)+recip(z+p1))*((z+p1)-recip(z+p1))*((z+p1)+2*recip(z+p1))*((z+p1)-2*recip(z+p1)) if @JM=="J" z=(z+p1)-(b-p2)*(p1/((b-p2)-(a-p2)))+p3 else z=(z+p1)-(b-p2)*(p1/((b-p2)-(a-p2)))+fn3(pixel) endif if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" z=z+0.3/sqr(z)-1.25/z elseif @Va=="3" if @JM=="J" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) else z=z+2/sqr(z) endif elseif @Va=="4" if real(z)@bail default: title="Secant 8" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6"\ "7""8""9""10""11""12""13""14"\ "15""16""17""18""19""20""21"\ "22""23""24""25" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Cherbot { ; Based on an equation given here: ; https://en.wikipedia.org/wiki/B%C3%B6ttcher%27s_equation init: z=fn1(pixel) loop: z=fn2(z) z=p1+p2*(z-p1)^@pow+p3*(z-p1)^(@pow+1)+fn3(pixel) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)@bail default: title="Nth Root Algo Mod" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p2 caption="Parameter 1" default=(1,0) endparam param p3 caption="Parameter 2" default=(0,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param pow caption="Exponent 1" default=2 endparam param p1 caption="Exponent 2" default=2 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18" endparam param p4 caption="Loop Parameter 1" default=(2,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Wannotep { ; This is a modification of neptwona by Jock Cooper (jock.ufm) init: z=fn1(pixel) loop: a=z^2-fn4(pixel) b=(a/z^2)/sqr(a^2-p1*z^2) c=a-b+z z=fn2(b+c)-fn3(z)+p2/b bailout: |z|<@bail default: title="Wannotep" center=(0.001,0.001) periodicity=0 param p1 default=(1,0) endparam param p2 default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=ident() endfunc param bail caption="Bailout", default=4.0 endparam } Secant9 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) a=5-2*(z-1)+0.5*(z-1)*(z-3)-0.1*(z-1)*(z-3)*(z-4)+0.003*(z-1)*(z-3)*(z-4)*(z-4.5)-p2 b=5-2*((z+p1)-1)+0.5*((z+p1)-1)*((z+p1)-3)-0.1*((z+p1)-1)*((z+p1)-3)*((z+p1)-4)+0.003*((z+p1)-1)*((z+p1)-3)*((z+p1)-4)*((z+p1)-4.5)-p2 if @JM=="J" z=(z+p1)-b*(p1/(b-a))+p3 else z=(z+p1)-b*(p1/(b-a))+fn3(pixel) endif if @Va=="none" z=z elseif @Va=="1" z=z-6.19/z elseif @Va=="2" z=z-4/z elseif @Va=="3" if @JM=="J" z=z+3.955/z else z=z-1.47453/sin(z) endif elseif @Va=="4" z=z-0.73/flip(z) elseif @Va=="5" if @JM=="J" z=z-17.6/exp(z) else z=z+2.5/z endif elseif @Va=="6" if @JM=="J" z=z+12/exp(z) else z=z-6.69/sqr(z) endif elseif @Va=="7" z=z+5/sqr(z) elseif @Va=="8" z=z-60/sqr(z) elseif @Va=="9" z=z+10.3773/cotanh(z) elseif @Va=="10" z=z+0.5/cotan(z) elseif @Va=="11" z=z+0.78/tanh(z) elseif @Va=="12" z=z-8.85/cosh(z) elseif @Va=="13" z=z-2/cos(z) elseif @Va=="14" z=z+2/cos(z) endif bailout: |zold-z|>@bail default: title="Secant 9" center=(0.001,0.001) periodicity=0 magn=0.5 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(0.5,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param pow caption="Exponent" default=3 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7"\ "8""9""10""11""12""13""14" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } BabbaLoon { ;https://en.wikipedia.org/wiki/Methods_of_computing_square_roots init: z=fn1(pixel) loop: zold=z z=(p4-1.25)*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) z=z^2 if @JM=="J" z=p2*(z+p1/z)/2+p3 else z=p2*(z+p1/z)/2+fn3(pixel) endif if @Va=="none" z=z elseif @Va=="1" z=z+2.5/sqr(z) elseif @Va=="2" if real(z)@bail default: title="Babba Loon" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 default=(1,0) endparam param p2 default=(1,0) endparam param p3 default=(-0.5,0) visible=@JM=="J" endparam func fn3 caption="M Function" default=ident() visible=@JM=="M" endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12""13""14""15" endparam param p4 caption="Loop Parameter 1" default=(2,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } MsetVariation { ; Mandelbrot set with convergent bailout, C function, add recip parameters/functions init: z=fn1(pixel) loop: zold=z z=z+p1/fn2(z) z=z=z^2+fn4(pixel) z=z+p2/fn3(z) bailout: |zold-z|>@bail default: title="Veercong Mandelbrot" center=(0.001,0.001) periodicity=0 param p1 caption="Add Recip Parameter 1" default=(0,0) endparam param p2 caption="Add Recip Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Add Recip Function 1" default=ident() visible=p1!=0 endfunc func fn3 caption="Add Recip Function 2" default=ident() visible=p2!=0 endfunc func fn4 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } VeercongJulia { ; Julia set with convergent bailout and add recip parameters/functions init: z=fn1(pixel) loop: zold=z z=z+p1/fn2(z) z=z=z^2+p3 z=z+p2/fn3(z) bailout: |zold-z|>@bail default: title="Veercong Julia" center=(0.001,0.001) periodicity=0 param p1 caption="Add Recip Parameter 1" default=(0,0) endparam param p2 caption="Add Recip Parameter 2" default=(0.3,0) endparam Param p3 caption="Julia Seed" default=(-1.25,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Add Recip Function 1" default=ident() visible=p1!=0 endfunc func fn3 caption="Add Recip Function 2" default=ident() visible=p2!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } VeercongMunster { init: z=fn1(pixel) loop: zold=z z=z+p1/fn2(z) if @JM=="J" z=z^2*(z-p3)/(1-p3*z)+p4 else z=z^2*(z-p3)/(1-p3*z)+fn4(pixel) endif z=z+p2/fn3(z) bailout: |zold-z|>@bail default: title="Veercong Munster" center=(0.001,0.001) periodicity=0 magn=0.5 param JM enum="J""M" endparam func fn1 caption="Start Function" default=ident() endfunc Param p3 caption="Munster Parameter" default=(2,0) endparam Param p4 caption="J Parameter" default=(0,0) visible=@JM=="J" endparam func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc param p1 caption="Add Recip Parameter 1" default=(0,0) endparam param p2 caption="Add Recip Parameter 2" default=(0,0) endparam func fn2 caption="Add Recip Function 1" default=ident() visible=p1!=0 endfunc func fn3 caption="Add Recip Function 2" default=ident() visible=p2!=0 endfunc param bail caption="Bailout" default=0.000000001 endparam } Conambosec { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if imag(z)>0 z=z else z=conj(z) endif a=(@p11-log(z)^@pow-(z+3*pi/2))/z b=(@p11-log(z+p1)^@pow-(z+p1+3*pi/2))/(z+p1) z=(z+p1)-(b-p2)*(p1/((b-p2)-(a-p2)))+p3 if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=abs(x+flip(y)) elseif @Va=="4" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=cotanh(x+flip(y)) elseif @Va=="5" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=atanh(x+flip(y)) elseif @Va=="6" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=tan(x+flip(y)) elseif @Va=="7" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=sinh(x+flip(y)) elseif @Va=="8" if real(z)>imag(z) z=flip(z) endif elseif @Va=="9" z=z-2.35/z elseif @Va=="10" z=z-0.69/z elseif @Va=="11" z=z+0.3/z elseif @Va=="12" z=z+0.155/flip(z) elseif @Va=="13" z=z+0.3/flip(z) elseif @Va=="14" z=z+0.3/exp(z) elseif @Va=="15" z=z-2.48/log(z) elseif @Va=="16" z=z-1.62/log(z) elseif @Va=="17" z=z-2.04/sqrt(z) elseif @Va=="18" z=z-2.04/cotanh(z) elseif @Va=="19" z=z-1.2/cotan(z) elseif @Va=="20" z=z+0.3/atanh(z) elseif @Va=="21" z=z-1.6/atanh(z) elseif @Va=="22" z=z-1.69/tanh(z) elseif @Va=="23" z=z+0.565/tan(z) elseif @Va=="24" z=z-1.6/tan(z) elseif @Va=="25" z=z-0.715/cosh(z) elseif @Va=="26" z=z-1.11/cosh(z) elseif @Va=="27" z=z+0.3/cos(z) elseif @Va=="28" z=z-1.87/cos(z) elseif @Va=="29" z=z-3.06/cos(z) elseif @Va=="30" z=z+3.3/sinh(z) elseif @Va=="31" z=z+3.17/sinh(z) elseif @Va=="32" z=z+0.164/sinh(z) elseif @Va=="33" z=z-1.12/sinh(z) elseif @Va=="34" z=z-1.78/sin(z) elseif @Va=="35" z=z-1.47/sin(z) endif bailout: |zold-z|>@bail default: title="Conambosec" center=(0.001,0.001) periodicity=0 angle=90 magn=0.5 func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Parameter 1" default=1.0 endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam param p11 caption="Parameter 4" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30"\ "31""32""33""34""35" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Quasi-Logistic Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Labsecant2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+0.3/z elseif @Va=="6" z=z+1/z elseif @Va=="7" z=z+0.3/exp(z) elseif @Va=="8" z=z+0.4/sqr(z) elseif @Va=="9" z=z+1/sqr(z) elseif @Va=="10" z=z-0.3/cotanh(z) elseif @Va=="11" z=z-1/cotanh(z) elseif @Va=="12" z=z-0.3/cotan(z) elseif @Va=="13" z=z-1/cotan(z) elseif @Va=="14" z=z+0.3/tan(z) elseif @Va=="15" z=z+1/tan(z) elseif @Va=="16" z=z-0.5/cosh(z) elseif @Va=="17" z=z-1/cosh(z) elseif @Va=="18" z=z-1.8/cosh(z) elseif @Va=="19" z=z+0.3/cosh(z) elseif @Va=="20" z=z-2/cos(z) elseif @Va=="21" z=z-1/cos(z) elseif @Va=="22" z=z-0.55/cos(z) elseif @Va=="23" z=z-0.2*flip(z) elseif @Va=="24" z=z+0.2*flip(z) elseif @Va=="25" z=z-0.3*abs(z) elseif @Va=="26" z=z+0.3*abs(z) elseif @Va=="27" z=z-exp(z) elseif @Va=="28" z=z-sqr(z) elseif @Va=="29" z=z-tanh(z) elseif @Va=="30" z=z-tan(z) elseif @Va=="31" z=z-cosh(z) elseif @Va=="32" z=z-cos(z) elseif @Va=="33" z=z-sinh(z) elseif @Va=="34" z=z-sin(z) elseif @Va=="35" z=z+sqr(z) elseif @Va=="36" z=z+cotan(z) endif else if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+0.3/sqr(z) elseif @Va=="6" z=z-2/cotanh(z) elseif @Va=="7" z=z-0.3/cotanh(z) elseif @Va=="8" z=z+0.3/cotanh(z) elseif @Va=="9" z=z-1.8/cotan(z) elseif @Va=="10" z=z-0.3/cotan(z) elseif @Va=="11" z=z-0.3/tanh(z) elseif @Va=="12" z=z+0.3/tan(z) elseif @Va=="13" z=z+0.3/cosh(z) elseif @Va=="14" z=z-1/cosh(z) elseif @Va=="15" z=z-1/cos(z) elseif @Va=="16" z=z-2*abs(z) elseif @Va=="17" z=z-0.63*exp(z) elseif @Va=="18" z=z+0.3*sqr(z) elseif @Va=="19" z=z-sqr(z) elseif @Va=="20" z=z-2*tanh(z) elseif @Va=="21" z=z-2*tan(z) elseif @Va=="22" z=z-cosh(z) elseif @Va=="23" z=z-2*sinh(z) elseif @Va=="24" z=z-0.45*sinh(z) elseif @Va=="25" z=z-2*sin(z) elseif @Va=="26" z=z+sqr(z) elseif @Va=="27" z=z-exp(z) elseif @Va=="28" z=z-cos(z) elseif @Va=="29" z=z+3*sqr(z) elseif @Va=="30" z=z-tan(z) elseif @Va=="31" z=z-2*sqr(z) elseif @Va=="32" z=z-2*abs(z) elseif @Va=="33" z=z+2*sqr(z) elseif @Va=="34" z=z-3*sqr(z) elseif @Va=="35" z=z-5*sqr(z) elseif @Va=="36" z=z+5*sqr(z) endif endif a=(z+recip(z))*(z-recip(z))*(z+2*recip(z))*(z-2*recip(z)) b=((z+p1)+recip(z+p1))*((z+p1)-recip(z+p1))*((z+p1)+2*recip(z+p1))*((z+p1)-2*recip(z+p1)) z=(z+p1)-(b-p2)*(p1/((b-p2)-(a-p2))) if @JM=="J" z=p5*log(abs(z))^@pow+p6 else z=p5*log(abs(z))^@pow+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="37" if |z|<1 z=z/|z| endif elseif @Va=="38" if |z|>1 z=z/|z| endif elseif @Va=="39" if real(z)imag(z) z=flip(z) endif elseif @Va=="41" z=z-0.3/flip(z) elseif @Va=="42" z=z+0.3/flip(z) elseif @Va=="43" z=z+0.3/abs(z) elseif @Va=="44" z=z-1/cotanh(z) elseif @Va=="45" z=z-0.3/cotanh(z) elseif @Va=="46" z=z+0.3/cotanh(z) elseif @Va=="47" z=z+1/cotanh(z) elseif @Va=="48" z=z+0.65/cotan(z) elseif @Va=="49" z=z-1/cotan(z) elseif @Va=="50" z=z-1.7/cotan(z) elseif @Va=="51" z=z-0.3/cotan(z) elseif @Va=="52" z=z-0.65/cotan(z) elseif @Va=="53" z=z+0.1/tanh(z) elseif @Va=="54" z=z-0.1/tanh(z) elseif @Va=="55" z=z-2.2/tan(z) elseif @Va=="56" z=z-0.3/cosh(z) elseif @Va=="57" z=z+0.3/cosh(z) elseif @Va=="58" z=z+0.3/cos(z) elseif @Va=="59" z=z-0.3/cos(z) elseif @Va=="60" z=z-sin(z) elseif @Va=="61" z=z-cos(z) elseif @Va=="62" z=z-1.4*tan(z) elseif @Va=="63" z=z+sqr(z) elseif @Va=="64" z=z+sin(z) elseif @Va=="65" z=z-3*sin(z) endif else if @Va=="none" z=z elseif @Va=="37" if |z|<1 z=z/|z| endif elseif @Va=="38" if |z|>1 z=z/|z| endif elseif @Va=="39" if real(z)imag(z) z=flip(z) endif elseif @Va=="41" z=z+0.1/z elseif @Va=="42" z=z-0.1/z elseif @Va=="43" z=z+0.3/flip(z) elseif @Va=="44" z=z-0.3/flip(z) elseif @Va=="45" z=z-0.4/exp(z) elseif @Va=="46" z=z-1/cotanh(z) elseif @Va=="47" z=z-1/cotan(z) elseif @Va=="48" z=z-0.5/cotan(z) elseif @Va=="49" z=z+0.1/tanh(z) elseif @Va=="50" z=z+0.3/cosh(z) elseif @Va=="51" z=z-0.3/cosh(z) elseif @Va=="52" z=z-0.3/cos(z) elseif @Va=="53" z=2*z elseif @Va=="54" z=z+sqr(z) elseif @Va=="55" z=z-sqr(z) elseif @Va=="56" z=z+0.7*tanh(z) elseif @Va=="57" z=z-1.5*tan(z) elseif @Va=="58" z=z-cos(z) elseif @Va=="59" z=z-sin(z) elseif @Va=="60" z=z+2*sqr(z) elseif @Va=="61" z=z-2*sqr(z) elseif @Va=="62" z=-z elseif @Va=="63" z=-2*z elseif @Va=="64" z=z-3*tanh(z) elseif @Va=="65" z=z-3*sin(z) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsecant 2" center=(0.001,0.001) maxiter=500 magn=0.75 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20""21"\ "22""23""24""25""26""27""28""29""30""31""32"\ "33""34""35""36""37""38""39""40""41""42""43"\ "44""45""46""47""48""49""50""51""52""53""54"\ "55""56""57""58""59""60""61""62""63""64""65" endparam param iter caption="Iterations" default=2 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=exp() visible=@JM=="M" endfunc param pow caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Labsecant { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @JM=="J" if @Va=="none" z=z elseif @Va=="3" if |z|<1 z=z/|z| endif elseif @Va=="4" if |z|>1 z=z/|z| endif elseif @Va=="5" z=z+0.3/z elseif @Va=="6" z=z+0.3/exp(z) elseif @Va=="7" z=z-0.3/exp(z) elseif @Va=="8" z=z-0.3/sqr(z) elseif @Va=="9" z=z+1/sqr(z) elseif @Va=="10" z=z-0.3/cotanh(z) elseif @Va=="11" z=z-1/cotanh(z) elseif @Va=="12" z=z-4/cotanh(z) elseif @Va=="13" z=z-0.3/cotan(z) elseif @Va=="14" z=z-1/cotan(z) elseif @Va=="15" z=z-1.5/cotan(z) elseif @Va=="16" z=z+1/tan(z) elseif @Va=="17" z=z-0.3/cosh(z) elseif @Va=="18" z=z-0.3/cos(z) elseif @Va=="19" if real(z)imag(z) z=flip(z) endif endif else if @Va=="none" z=z elseif @Va=="3" z=z+0.07/sqr(z) elseif @Va=="4" if |z|>1 z=z/|z| endif elseif @Va=="5" z=z-0.07/sqr(z) elseif @Va=="6" z=z-2/cotanh(z) elseif @Va=="7" z=z-2/cotan(z) elseif @Va=="8" z=z+0.3*exp(z) elseif @Va=="9" z=z-0.3*exp(z) elseif @Va=="10" z=z+2*sqr(z) elseif @Va=="11" z=z-2*sqr(z) elseif @Va=="12" z=z-2*tanh(z) elseif @Va=="13" z=z-2.3*tanh(z) elseif @Va=="14" z=z-1.8*tan(z) elseif @Va=="15" z=z-0.23*cosh(z) elseif @Va=="16" z=z-cosh(z) elseif @Va=="17" z=z-cos(z) elseif @Va=="18" z=z-2.6*sin(z) elseif @Va=="19" z=z+0.7*sin(z) elseif @Va=="20" if real(z)>imag(z) z=flip(z) endif endif endif z=(z+p1)-(((z+p1)-1)*((z+p1)+1)*((z+p1)-2)*((z+p1)+2)-p2)*(p1/((((z+p1)-1)*((z+p1)+1)*((z+p1)-2)*((z+p1)+2)-p2)-((z-1)*(z+1)*(z-2)*(z+2)-p2))) if @JM=="J" z=p5*log(abs(z))^@pow+p6 else z=p5*log(abs(z))^@pow+p6+fn4(pixel) endif if @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="21" z=z+0.6/z elseif @Va=="22" if real(z)imag(z) z=flip(z) endif elseif @Va=="24" z=z-0.11/abs(z) elseif @Va=="25" z=z+0.6/abs(z) elseif @Va=="26" z=z-0.31/exp(z) elseif @Va=="27" z=z+0.3/sqr(z) elseif @Va=="28" z=z-1/cotanh(z) elseif @Va=="29" z=z+1/cotanh(z) elseif @Va=="30" z=z-0.3/cotanh(z) elseif @Va=="31" z=z+0.3/cotanh(z) elseif @Va=="32" z=z-1/cotan(z) elseif @Va=="33" z=z+1/cotan(z) elseif @Va=="34" z=z-0.3/cotan(z) elseif @Va=="35" z=z+0.3/cotan(z) elseif @Va=="36" z=z+1/tan(z) elseif @Va=="37" z=z-0.6/cos(z) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsecant" center=(0.001,0.001) maxiter=500 magn=0.75 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20""21"\ "22""23""24""25""26""27""28""29""30""31""32"\ "33""34""35""36""37" endparam param iter caption="Iterations" default=4 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=exp() visible=@JM=="M" endfunc param pow caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Labsecant3 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="4" z=z+1/z elseif @Va=="5" z=z+1/exp(z) elseif @Va=="6" z=z+1/tanh(z) elseif @Va=="7" z=z+1/tan(z) elseif @Va=="8" z=z+1/sinh(z) elseif @Va=="9" z=z+1/sin(z) elseif @Va=="10" z=z-1/cotanh(z) elseif @Va=="11" z=z-1/cotan(z) elseif @Va=="12" z=z-1/cosh(z) elseif @Va=="13" z=z-1/cos(z) elseif @Va=="14" z=z+0.5/z elseif @Va=="15" z=z-0.5/cotan(z) elseif @Va=="16" z=z+sqr(z) elseif @Va=="17" z=z+cotanh(z) elseif @Va=="18" z=z+0.15*cotan(z) elseif @Va=="19" z=z+cosh(z) elseif @Va=="20" z=z+sin(z) elseif @Va=="21" z=z-exp(z) elseif @Va=="22" z=z-sqr(z) elseif @Va=="23" z=z-tanh(z) elseif @Va=="24" z=z-tan(z) elseif @Va=="25" z=z-cos(z) elseif @Va=="26" z=z+0.2*flip(z) elseif @Va=="27" z=z+0.2*conj(z) elseif @Va=="28" z=z-0.2*flip(z) elseif @Va=="29" z=z-0.2*conj(z) endif else if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="4" z=z+1/z elseif @Va=="5" z=z+1/tan(z) elseif @Va=="6" z=z+1/cosh(z) elseif @Va=="7" z=z+1/cos(z) elseif @Va=="8" z=z+1/sinh(z) elseif @Va=="9" z=z+1/sin(z) elseif @Va=="10" z=z-1/sqr(z) elseif @Va=="11" z=z-1/cotanh(z) elseif @Va=="12" z=z-1/cotan(z) elseif @Va=="13" z=z-1/cosh(z) elseif @Va=="14" z=z+sqr(z) elseif @Va=="15" z=z+cotanh(z) elseif @Va=="16" z=z+0.3*cotan(z) elseif @Va=="17" z=z+cosh(z) elseif @Va=="18" z=z+cos(z) elseif @Va=="19" z=z-exp(z) elseif @Va=="20" z=z-sqr(z) elseif @Va=="21" z=z-tanh(z) elseif @Va=="22" z=z-tan(z) elseif @Va=="23" z=z-cos(z) elseif @Va=="24" z=z-sinh(z) elseif @Va=="25" z=z-sin(z) elseif @Va=="26" z=z+0.2*flip(z) elseif @Va=="27" z=z+0.2*conj(z) elseif @Va=="28" z=z-0.2*flip(z) elseif @Va=="29" z=z-0.2*conj(z) endif endif z=(z+p1)-((z+p1)^@pow1-p2)*(p1/(((z+p1)^@pow1-p2)-(z^@pow1-p2))) if @JM=="J" z=p5*log(abs(z))^@pow2+p6 else z=p5*log(abs(z))^@pow2+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="30" if |z|<1 z=z/|z| endif elseif @Va=="31" if |z|>1 z=z/|z| endif elseif @Va=="32" if real(z)imag(z) z=flip(z) endif elseif @Va=="34" z=z+1/z elseif @Va=="35" z=z+1/cotanh(z) elseif @Va=="36" z=z+1/tanh(z) elseif @Va=="37" z=z+1/tan(z) elseif @Va=="38" z=z-1/cotanh(z) elseif @Va=="39" z=z-1/cotan(z) elseif @Va=="40" z=z-1/cos(z) elseif @Va=="41" z=z-1/sin(z) elseif @Va=="42" z=z+0.4/flip(z) elseif @Va=="43" z=z-0.4/flip(z) elseif @Va=="44" z=z+0.2/conj(z) elseif @Va=="45" z=z-0.5/cotanh(z) elseif @Va=="46" z=z+exp(z) elseif @Va=="47" z=z+sqr(z) elseif @Va=="48" z=z+tanh(z) elseif @Va=="49" z=z+sin(z) elseif @Va=="50" z=z-exp(z) elseif @Va=="51" z=z-sqr(z) elseif @Va=="52" z=z-2*tanh(z) elseif @Va=="53" z=z-2*tan(z) elseif @Va=="54" z=z-cosh(z) elseif @Va=="55" z=z-cos(z) elseif @Va=="56" z=z-sinh(z) elseif @Va=="57" z=z-sin(z) endif else if @Va=="none" z=z elseif @Va=="30" if |z|<1 z=z/|z| endif elseif @Va=="31" if |z|>1 z=z/|z| endif elseif @Va=="32" if real(z)imag(z) z=flip(z) endif elseif @Va=="34" z=z+1/z elseif @Va=="35" z=z+1/exp(z) elseif @Va=="36" z=z+1/sqr(z) elseif @Va=="37" z=z+1/tan(z) elseif @Va=="38" z=z+1/cosh(z) elseif @Va=="39" z=z+1/sinh(z) elseif @Va=="40" z=z-1/z elseif @Va=="41" z=z-1/sqr(z) elseif @Va=="42" z=z-1/cotanh(z) elseif @Va=="43" z=z-1/cotan(z) elseif @Va=="44" z=z-1/cos(z) elseif @Va=="45" z=z-1/sin(z) elseif @Va=="46" z=z+exp(z) elseif @Va=="47" z=z+sqr(z) elseif @Va=="48" z=z+cosh(z) elseif @Va=="49" z=z-exp(z) elseif @Va=="50" z=z-sqr(z) elseif @Va=="51" z=z-cotanh(z) elseif @Va=="52" z=z-2*tanh(z) elseif @Va=="53" z=z-2*tan(z) elseif @Va=="54" z=z-cosh(z) elseif @Va=="55" z=z-sinh(z) elseif @Va=="56" z=z-sin(z) elseif @Va=="57" z=z-0.5*sqr(z) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsecant 3" center=(0.001,0.001) maxiter=500 magn=0.75 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28"\ "29""30""31""32""33""34""35""36""37""38"\ "39""40""41""42""43""44""45""46""47""48"\ "49""50""51""52""53""54""55""56""57" endparam param iter caption="Iterations" default=3 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=ident() visible=@JM=="M" endfunc param pow1 caption="Secant Exponent" default=3 endparam param pow2 caption="Labs Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Labsecant4 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/exp(z) elseif @Va=="6" z=z+1/sqr(z) elseif @Va=="7" z=z+1/tan(z) elseif @Va=="8" z=z+1/sinh(z) elseif @Va=="9" z=z-1/z elseif @Va=="10" z=z-1/exp(z) elseif @Va=="11" z=z-1/sqr(z) elseif @Va=="12" z=z-1/cotanh(z) elseif @Va=="13" z=z-1/cotan(z) elseif @Va=="14" z=z-1/cosh(z) elseif @Va=="15" z=z+exp(z) elseif @Va=="16" z=z+sqr(z) elseif @Va=="17" z=z+cos(z) elseif @Va=="18" z=z+0.5*cotanh(z) elseif @Va=="19" z=z+0.5*cotan(z) elseif @Va=="20" z=z-exp(z) elseif @Va=="21" z=z-cosh(z) elseif @Va=="22" z=z-cos(z) elseif @Va=="23" z=z-2*sinh(z) elseif @Va=="24" z=z-2*sin(z) endif else if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/sqr(z) elseif @Va=="6" z=z+1/cotan(z) elseif @Va=="7" z=z+1/cosh(z) elseif @Va=="8" z=z+1/sinh(z) elseif @Va=="9" z=z+0.5/sqr(z) elseif @Va=="10" z=z-1/sqr(z) elseif @Va=="11" z=z-1/cosh(z) elseif @Va=="12" z=z-1/cos(z) elseif @Va=="13" z=z-1/sinh(z) elseif @Va=="14" z=z-0.5/sqr(z) elseif @Va=="15" z=z+exp(z) elseif @Va=="16" z=z-2*tanh(z) elseif @Va=="17" z=z+tan(z) elseif @Va=="18" z=z+cosh(z) elseif @Va=="19" z=z+cos(z) elseif @Va=="20" z=z+0.5*exp(z) elseif @Va=="21" z=z+0.5*cotanh(z) elseif @Va=="22" z=z+0.5*cotan(z) elseif @Va=="23" z=z-0.5*cotanh(z) elseif @Va=="24" z=z+2*tan(z) endif endif z=(z+p1)-(recip(z+p1)^@pow1-p2)*(p1/((recip(z+p1)^@pow1-p2)-(recip(z)^@pow1-p2))) if @JM=="J" z=p5*log(abs(z))^@pow2+p6 else z=p5*log(abs(z))^@pow2+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="25" if |z|<1 z=z/|z| endif elseif @Va=="26" if |z|>1 z=z/|z| endif elseif @Va=="27" if real(z)imag(z) z=flip(z) endif elseif @Va=="29" z=z+0.5/exp(z) elseif @Va=="30" z=z+0.5/cotanh(z) elseif @Va=="31" z=z+0.5/cosh(z) elseif @Va=="32" z=z-1/cotanh(z) elseif @Va=="33" z=z-1/cotan(z) elseif @Va=="34" z=z-0.5/cotanh(z) elseif @Va=="35" z=z-0.5/cotan(z) elseif @Va=="36" z=z+sqr(z) elseif @Va=="37" z=z+sin(z) elseif @Va=="38" z=z+0.5*sin(z) elseif @Va=="39" z=z-0.5*cos(z) endif else if @Va=="none" z=z elseif @Va=="25" if |z|<1 z=z/|z| endif elseif @Va=="26" if |z|>1 z=z/|z| endif elseif @Va=="27" if real(z)imag(z) z=flip(z) endif elseif @Va=="29" z=z+1/cos(z) elseif @Va=="30" z=z-1/z elseif @Va=="31" z=z-1/cotanh(z) elseif @Va=="32" z=z-1/cotan(z) elseif @Va=="33" z=z-1/cos(z) elseif @Va=="34" z=z+0.5/exp(z) elseif @Va=="35" z=z+0.5/cos(z) elseif @Va=="36" z=z-sqr(z) elseif @Va=="37" z=z-sin(z) elseif @Va=="38" z=z+0.5*sqr(z) elseif @Va=="39" z=z-0.5*sqr(z) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsecant 4" center=(0.001,0.001) maxiter=500 magn=0.75 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28"\ "29""30""31""32""33""34""35""36""37""38"\ "39" endparam param iter caption="Iterations" default=3 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=ident() visible=@JM=="M" endfunc param pow1 caption="Secant Exponent" default=3 endparam param pow2 caption="Labs Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Labsecant5 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/z elseif @Va=="6" z=z+1/tanh(z) elseif @Va=="7" z=z+1/tan(z) elseif @Va=="8" z=z+1/sinh(z) elseif @Va=="9" z=z+1/sin(z) elseif @Va=="10" z=z-1/sqr(z) elseif @Va=="11" z=z-1/cotanh(z) elseif @Va=="12" z=z-1/cotan(z) elseif @Va=="13" z=z-1/cos(z) elseif @Va=="14" z=z+sqr(z) elseif @Va=="15" z=z-exp(z) elseif @Va=="16" z=z-sinh(z) elseif @Va=="17" z=z-sin(z) endif else if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/z elseif @Va=="6" z=z+1/sqr(z) elseif @Va=="7" z=z+1/tanh(z) elseif @Va=="8" z=z+1/tan(z) elseif @Va=="9" z=z+1/sinh(z) elseif @Va=="10" z=z+1/sin(z) elseif @Va=="11" z=z-1/cotanh(z) elseif @Va=="12" z=z-1/cotan(z) elseif @Va=="13" z=z-2/sqr(z) elseif @Va=="14" z=z+sqr(z) elseif @Va=="15" z=z-exp(z) elseif @Va=="16" z=z-sinh(z) elseif @Va=="17" z=z-sin(z) endif endif z=(z+p1)-((z+p1)*(z+p1-1)*(z+p1-2)*(z+p1+3)-p2)*(p1/(((z+p1)*(z+p1-1)*(z+p1-2)*(z+p1+3)-p2)-(z*(z-1)*(z-2)*(z+3)-p2))) if @JM=="J" z=p5*log(abs(z))^@pow2+p6 else z=p5*log(abs(z))^@pow2+p6+fn4(pixel) endif if @Va=="none" z=z elseif @Va=="18" if |z|<1 z=z/|z| endif elseif @Va=="19" if |z|>1 z=z/|z| endif elseif @Va=="20" if real(z)imag(z) z=flip(z) endif elseif @Va=="22" z=z-1/sqr(z) elseif @Va=="23" z=z-1/cotanh(z) elseif @Va=="24" z=z-1/cotan(z) elseif @Va=="25" z=z-2/cotanh(z) elseif @Va=="26" z=z+sqr(z) elseif @Va=="27" z=z-sinh(z) elseif @Va=="28" z=z-sin(z) elseif @Va=="29" z=z-2*sin(z) elseif @Va=="30" z=z-0.5*exp(z) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsecant 5" center=(0.001,0.001) maxiter=500 magn=2 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28"\ "29""30" endparam param iter caption="Iterations" default=3 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=ident() visible=@JM=="M" endfunc param pow2 caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Labsecant6 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/sinh(z) elseif @Va=="6" z=z+1/sqr(z) elseif @Va=="7" z=z+1/tan(z) elseif @Va=="8" z=z-1/cotanh(z) elseif @Va=="9" z=z-1/cotan(z) elseif @Va=="10" z=z-1/cosh(z) elseif @Va=="11" z=z-1/cos(z) elseif @Va=="12" z=z+0.2/exp(z) elseif @Va=="13" z=z+0.2/abs(z) elseif @Va=="14" z=z+sqr(z) elseif @Va=="15" z=z-exp(z) elseif @Va=="16" z=z+tanh(z) elseif @Va=="17" z=z-tan(z) elseif @Va=="18" z=z-cosh(z) elseif @Va=="19" z=z-cos(z) elseif @Va=="20" z=z-sinh(z) elseif @Va=="21" z=z-sin(z) elseif @Va=="22" z=z+0.5*cotan(z) elseif @Va=="23" z=z-0.5*exp(z) elseif @Va=="24" z=z-0.5*sqr(z) elseif @Va=="25" z=z-0.5*tanh(z) elseif @Va=="26" z=z-0.5*tan(z) endif else if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if |z|<1 z=z/|z| endif elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/sinh(z) elseif @Va=="6" z=z+1/sqr(z) elseif @Va=="7" z=z+1/cos(z) elseif @Va=="8" z=z-1/cotanh(z) elseif @Va=="9" z=z-1/cotan(z) elseif @Va=="10" z=z-1/cosh(z) elseif @Va=="11" z=z-1/cos(z) elseif @Va=="12" z=z-0.2/conj(z) elseif @Va=="13" z=z-0.2/sqr(z) elseif @Va=="14" z=z+sqr(z) elseif @Va=="15" z=z+cosh(z) elseif @Va=="16" z=z+cos(z) elseif @Va=="17" z=z-exp(z) elseif @Va=="18" z=z-tanh(z) elseif @Va=="19" z=z-tan(z) elseif @Va=="20" z=z-cosh(z) elseif @Va=="21" z=z-cos(z) elseif @Va=="22" z=z-0.15*(z) elseif @Va=="23" z=z-0.6*exp(z) elseif @Va=="24" z=z-2.2*sinh(z) elseif @Va=="25" z=z-5*sqr(z) elseif @Va=="26" z=z-2.3*tan(z) endif endif a=(z+recip(z))*(z-recip(z))*(z+2*recip(z))*(z-2*recip(z)) b=((z+p1)+recip(z+p1))*((z+p1)-recip(z+p1))*((z+p1)+2*recip(z+p1))*((z+p1)-2*recip(z+p1)) z=(z+p1)-(b-p2)*(p1/((b-p2)-(a-p2))) if @JM=="J" z=p5*log(abs(z))^@pow2+p6 else z=p5*log(abs(z))^@pow2+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="27" if |z|<1 z=z/|z| endif elseif @Va=="28" if |z|>1 z=z/|z| endif elseif @Va=="29" if real(z)imag(z) z=flip(z) endif elseif @Va=="31" z=z+1/z elseif @Va=="32" z=z-1/exp(z) elseif @Va=="33" z=z-1/cotanh(z) elseif @Va=="34" z=z-1/cotan(z) elseif @Va=="35" z=z-0.3/flip(z) elseif @Va=="36" z=z+0.15/conj(z) elseif @Va=="37" z=z+0.23/tan(z) elseif @Va=="38" z=z+0.1/sinh(z) elseif @Va=="39" z=z+tan(z) elseif @Va=="40" z=z+sin(z) elseif @Va=="41" z=z-sinh(z) elseif @Va=="42" z=z-sin(z) elseif @Va=="43" z=z+5*flip(z) elseif @Va=="44" z=z+0.15*conj(z) elseif @Va=="45" z=z-4.5*sqr(z) elseif @Va=="46" z=z+2*cotan(z) elseif @Va=="47" z=z-0.95*cos(z) endif else if @Va=="none" z=z elseif @Va=="27" if |z|<1 z=z/|z| endif elseif @Va=="28" if |z|>1 z=z/|z| endif elseif @Va=="29" if real(z)imag(z) z=flip(z) endif elseif @Va=="31" z=z+1/cos(z) elseif @Va=="32" z=z-1/cotanh(z) elseif @Va=="33" z=z-1/cotan(z) elseif @Va=="34" z=z-1/cosh(z) elseif @Va=="35" z=z-1/cos(z) elseif @Va=="36" z=z-0.3/flip(z) elseif @Va=="37" z=z+0.3/exp(z) elseif @Va=="38" z=z-1.6/cotanh(z) elseif @Va=="39" z=z+sqr(z) elseif @Va=="40" z=z+1/cos(z) elseif @Va=="41" z=z-sqr(z) elseif @Va=="42" z=z-sin(z) elseif @Va=="43" z=z-0.45*exp(z) elseif @Va=="44" z=z-0.8*sinh(z) elseif @Va=="45" z=z-1.5*sin(z) elseif @Va=="46" z=z-0.85*cosh(z) elseif @Va=="47" z=z-2*tanh(z) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labsecant 6" center=(0.001,0.001) maxiter=500 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28"\ "29""30""31""32""33""34""35""36""37""38"\ "39""40""41""42""43""44""45""46""47" endparam param iter caption="Iterations" default=2 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=ident() visible=@JM=="M" endfunc param pow2 caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } LabsNotwen { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if |z|>1 z=z/|z| endif if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif elseif @Va=="2" z=z-0.5*cos(z) elseif @Va=="3" z=z+1/exp(z) elseif @Va=="4" z=z+1/sqr(z) elseif @Va=="5" z=z-1/sqr(z) elseif @Va=="6" z=z-1/cotanh(z) elseif @Va=="7" z=z-1/cotan(z) elseif @Va=="8" z=z-1/cosh(z) elseif @Va=="9" z=z-1/cos(z) elseif @Va=="10" z=z+0.2/z elseif @Va=="11" z=z+0.5/z elseif @Va=="12" z=z+0.5/tan(z) elseif @Va=="13" z=z-0.5/cos(z) elseif @Va=="14" z=z-0.5/cosh(z) elseif @Va=="15" z=z-0.5/exp(z) elseif @Va=="16" z=z-2/exp(z) elseif @Va=="17" z=z-2/cotanh(z) elseif @Va=="18" z=z-2/cotan(z) elseif @Va=="19" z=z+sqr(z) elseif @Va=="20" z=z-sqr(z) elseif @Va=="21" z=z-cosh(z) elseif @Va=="22" z=z-cos(z) elseif @Va=="23" z=z+0.5*sqr(z) elseif @Va=="24" z=z-0.5*sqr(z) elseif @Va=="25" z=z-0.5*cosh(z) endif else if @Va=="none" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif elseif @Va=="2" z=z-1/exp(z) elseif @Va=="3" z=z-1/sqr(z) elseif @Va=="4" z=z-1/cosh(z) elseif @Va=="5" z=z-2/cotan(z) elseif @Va=="6" z=z+0.5/tan(z) elseif @Va=="7" z=z+0.5/tanh(z) elseif @Va=="8" z=z+0.5/cos(z) elseif @Va=="9" z=z+0.5/cosh(z) elseif @Va=="10" z=z-0.5/exp(z) elseif @Va=="11" z=z-0.5/cotanh(z) elseif @Va=="12" z=z-0.5/cos(z) elseif @Va=="13" z=z-0.5/cosh(z) elseif @Va=="14" z=z+exp(z) elseif @Va=="15" z=z-sqr(z) elseif @Va=="16" z=z+2*sqr(z) elseif @Va=="17" z=z-tan(z) elseif @Va=="18" z=z-cos(z) elseif @Va=="19" z=z+0.5*exp(z) elseif @Va=="20" z=z+0.5*sqr(z) elseif @Va=="21" z=z+0.5*cosh(z) elseif @Va=="22" z=z+0.5*cos(z) elseif @Va=="23" z=z-0.5*cabs(z) elseif @Va=="24" z=z+2*exp(z) elseif @Va=="25" z=z-0.5*cos(z) endif endif f=(z-1)^2/z-p1 f1=1-1/z^2 a=f1/f z=z-p2*a+p3 if @JM=="J" z=p5*log(abs(z))^@pow2+p6 else z=p5*log(abs(z))^@pow2+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="26" z=z+1/z elseif @Va=="27" z=z+1/abs(z) elseif @Va=="28" z=z+1/sinh(z) elseif @Va=="29" if real(z)imag(z) z=flip(z) endif elseif @Va=="31" z=z+1/sin(z) elseif @Va=="32" z=z-1/sqr(z) elseif @Va=="33" z=z-1/cosh(z) elseif @Va=="34" z=z-1/cos(z) elseif @Va=="35" z=z+sqr(z) elseif @Va=="36" z=z+cotanh(z) elseif @Va=="37" z=z+cotan(z) elseif @Va=="38" z=z+tanh(z) elseif @Va=="39" z=z-tanh(z) elseif @Va=="40" z=z-tan(z) elseif @Va=="41" z=z-cos(z) elseif @Va=="42" z=z-sinh(z) elseif @Va=="43" z=z-sin(z) endif else if @Va=="none" z=z elseif @Va=="26" z=z+2/cos(z) elseif @Va=="27" z=z+1/sqr(z) elseif @Va=="28" z=z+1/cosh(z) elseif @Va=="29" if real(z)imag(z) z=flip(z) endif elseif @Va=="31" z=z+1/cos(z) elseif @Va=="32" z=z-1/z elseif @Va=="33" z=z-1/exp(z) elseif @Va=="34" z=z-1/sqr(z) elseif @Va=="35" z=z+sqr(z) elseif @Va=="36" z=z+cotan(z) elseif @Va=="37" z=z+cosh(z) elseif @Va=="38" z=z+sinh(z) elseif @Va=="39" z=z-sqr(z) elseif @Va=="40" z=z-tanh(z) elseif @Va=="41" z=z-tan(z) elseif @Va=="42" z=z-cosh(z) elseif @Va=="43" z=z-sin(z) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labs Notwen" center=(0.001,0.001) maxiter=500 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28"\ "29""30""31""32""33""34""35""36""37""38"\ "39""40""41""42""43""44""45""46""47" endparam param iter caption="Iterations" default=3 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p1 caption="Notwen Parameter 1" default=(1,0) endparam param p2 caption="Notwen Parameter 2" default=(1,0) endparam param p3 caption="Notwen Parameter 3" default=(0,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Pixel Function" default=ident() visible=@JM=="M" endfunc param pow2 caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } LabsWhittaker2 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|>1 z=z/|z| endif elseif @Va=="2" if real(z)1 z=z/|z| endif elseif @Va=="2" if real(z)1 z=z/|z| endif elseif @Va=="19" if real(z)1 z=z/|z| endif elseif @Va=="19" if real(z)1 z=z/|z| endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+1/z elseif @Va=="6" z=z+0.5/z elseif @Va=="7" z=z+0.5/exp(z) elseif @Va=="8" z=z+0.15/abs(z) elseif @Va=="9" z=z-1/cotan(z) elseif @Va=="10" z=z-2/cotanh(z) elseif @Va=="11" z=z-sqr(z) elseif @Va=="12" z=z-tan(z) elseif @Va=="13" z=z-sinh(z) elseif @Va=="14" z=z-sin(z) elseif @Va=="15" z=z-2*sqr(z) elseif @Va=="16" z=z-2*sin(z) elseif @Va=="17" z=z+0.3*cos(z) elseif @Va=="18" z=z-0.3*sqr(z) elseif @Va=="19" z=z-0.3*abs(z) endif else if @Va=="none" z=z elseif @Va=="1" z=z+1/z elseif @Va=="2" z=z+1/exp(z) elseif @Va=="3" z=z+1/tanh(z) elseif @Va=="4" z=z+1/sinh(z) elseif @Va=="5" z=z+1/sin(z) elseif @Va=="6" z=z-1/cotanh(z) elseif @Va=="7" z=z-1/cotan(z) elseif @Va=="8" z=z+2/cosh(z) elseif @Va=="9" z=z+2/sinh(z) elseif @Va=="10" z=z-2/cotanh(z) elseif @Va=="11" z=z-sinh(z) elseif @Va=="12" z=z-sin(z) elseif @Va=="13" z=z-2*sqr(z) elseif @Va=="14" z=z-2*sin(z) elseif @Va=="15" z=z+3*flip(z) elseif @Va=="16" z=z+3*sqr(z) elseif @Va=="17" z=z-3*tanh(z) elseif @Va=="18" z=z-3*sin(z) elseif @Va=="19" z=z+7*sqr(z) endif endif f=z*(z-1)*(z+1)/(z-2)-p1 f1=(2*(z^3-3*z^2+1))/(z-2)^2 a=f1/f z=z-p2*a+p3 if @JM=="J" z=p5*log(abs(z))^@pow+p6 else z=p5*log(abs(z))^@pow+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="20" if |z|<1 z=z/|z| endif elseif @Va=="21" if |z|>1 z=z/|z| endif elseif @Va=="22" if real(z)imag(z) z=flip(z) endif elseif @Va=="24" z=z-0.5*cosh(z) elseif @Va=="25" z=z+1/cotanh(z) elseif @Va=="26" z=z-1/cotanh(z) elseif @Va=="27" z=z-1/cotan(z) elseif @Va=="28" z=z+2/sinh(z) elseif @Va=="29" z=z-2/cotanh(z) elseif @Va=="30" z=z+cos(z) elseif @Va=="31" z=z+sin(z) elseif @Va=="32" z=z-sqr(z) elseif @Va=="33" z=z-cosh(z) elseif @Va=="34" z=z-sinh(z) elseif @Va=="35" z=z-sin(z) elseif @Va=="36" z=z+2*sqr(z) elseif @Va=="37" z=z-2*sqr(z) elseif @Va=="38" z=z-2*cosh(z) elseif @Va=="39" z=z-2*sin(z) elseif @Va=="40" z=z-0.5*exp(z) elseif @Va=="41" z=z-0.5*sqr(z) elseif @Va=="42" z=z-0.5*tan(z) endif else if @Va=="none" z=z elseif @Va=="20" if |z|<1 z=z/|z| endif elseif @Va=="21" z=z-1/cotanh(z) elseif @Va=="22" z=z-1/cotan(z) elseif @Va=="23" z=z-1/cos(z) elseif @Va=="24" z=z-1/sin(z) elseif @Va=="25" z=z-2/sqr(z) elseif @Va=="26" z=z-0.3/cotanh(z) elseif @Va=="27" z=z-0.3/cotan(z) elseif @Va=="28" z=z-0.3/cos(z) elseif @Va=="29" z=z-exp(z) elseif @Va=="30" z=z-sqr(z) elseif @Va=="31" z=z-cosh(z) elseif @Va=="32" z=z-sinh(z) elseif @Va=="33" z=z-sin(z) elseif @Va=="34" z=z-2*sqr(z) elseif @Va=="35" z=z-2*sin(z) elseif @Va=="36" z=z-0.5*exp(z) elseif @Va=="37" z=z-0.5*sqr(z) elseif @Va=="38" z=z-0.5*cosh(z) elseif @Va=="39" z=z-0.5*sinh(z) elseif @Va=="40" z=z-3*sqr(z) elseif @Va=="41" z=z-0.25*exp(z) elseif @Va=="42" z=z-0.25*cosh(z) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labs Notwen 2" center=(0.001,0.001) maxiter=500 magn=0.75 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20""21"\ "22""23""24""25""26""27""28""29""30""31""32"\ "33""34""35""36""37""38""39""40""41""42" endparam param iter caption="Iterations" default=3 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p2 caption="Notwen Parameter 1" default=(1,0) endparam param p3 caption="Notwen Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc param pow caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Labstet { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p1*fn2(fn3(z))+p2 x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if |z|>1 z=z/|z| endif if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="2" z=2*z elseif @Va=="3" z=3*z elseif @Va=="4" z=-3*z elseif @Va=="5" z=z+4*flip(z) elseif @Va=="6" z=z-4*flip(z) elseif @Va=="7" z=z+3.5*abs(z) elseif @Va=="8" z=z-3.5*abs(z) elseif @Va=="9" z=z+3*exp(z) elseif @Va=="10" z=z+5*exp(z) elseif @Va=="11" z=z+sqr(z) elseif @Va=="12" z=z-sqr(z) elseif @Va=="13" z=z+2*sqr(z) elseif @Va=="14" z=z-2*sqr(z) elseif @Va=="15" z=z+tanh(z) elseif @Va=="16" z=z+2*tanh(z) elseif @Va=="17" z=z-3.5*tanh(z) elseif @Va=="18" z=z-7.5*tanh(z) elseif @Va=="19" z=z+tan(z) elseif @Va=="20" z=z+2*tan(z) elseif @Va=="21" z=z-0.5/exp(z) elseif @Va=="22" z=z-0.7/cosh(z) elseif @Va=="23" z=z-0.7/cos(z) elseif @Va=="24" z=z-1.4/cosh(z) elseif @Va=="25" z=z-1.4/cos(z) elseif @Va=="26" z=z+3/cotanh(z) endif endif z=z^z if @JM=="J" z=p5*log(abs(z))^@pow2+p6 else z=p5*log(abs(z))^@pow2+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="27" if |z|>1 z=z/|z| endif elseif @Va=="28" if |z|<1 z=z/|z| endif elseif @Va=="29" if real(z)1 z=z/|z| endif elseif @Va=="28" if |z|<1 z=z/|z| endif elseif @Va=="29" if real(z)>imag(z) z=flip(z) endif elseif @Va=="30" z=z+0.25/exp(z) elseif @Va=="31" z=z-1.5/cotanh(z) elseif @Va=="32" z=z+0.2/sinh(z) elseif @Va=="33" z=z+0.3*flip(z) elseif @Va=="34" z=z+0.3*cabs(z) elseif @Va=="35" z=z-0.7*exp(z) elseif @Va=="36" z=z+0.7*sqr(z) elseif @Va=="37" z=z+0.2*cotan(z) elseif @Va=="38" z=z-2*tan(z) elseif @Va=="39" z=z-tan(z) elseif @Va=="40" z=z-0.5*tan(z) elseif @Va=="41" z=z+0.5*cosh(z) elseif @Va=="42" z=z-0.3*cosh(z) elseif @Va=="43" z=z-1.1*cosh(z) elseif @Va=="44" z=z-0.4*sinh(z) elseif @Va=="45" z=z-2*sin(z) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labstet" center=(0.001,0.001) maxiter=500 periodicity=0 param JM caption="J/M" enum="J""M" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16""17""18"\ "19""20""21""22""23""24""25""26""27""28"\ "29""30""31""32""33""34""35""36""37""38"\ "39""40""41""42""43""44""45" endparam param iter caption="Iterations" default=3 endparam param p7 caption="Kali Parameter" default=(0,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc param pow2 caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Triplifaction { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) z=(z-p1)/(1-p1*z) z=z/(p2*z+1) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z+0.4/z elseif @Va=="7" z=z+0.4/exp(z) elseif @Va=="8" z=z+0.5/sqr(z) elseif @Va=="9" z=z-0.5/cotan(z) elseif @Va=="10" z=z+0.5/cos(z) elseif @Va=="11" z=z-3.5/cos(z) elseif @Va=="12" z=z+0.5*sqr(z) elseif @Va=="13" z=z+sqr(z) elseif @Va=="14" z=z-0.3*sqr(z) elseif @Va=="15" z=z+0.6*cosh(z) elseif @Va=="16" z=z-3*cos(z) elseif @Va=="17" z=z-0.3*sinh(z) elseif @Va=="18" z=z-sinh(z) elseif @Va=="19" z=z-2*sinh(z) elseif @Va=="20" z=z-0.5*sin(z) elseif @Va=="21" z=z-2*sin(z) endif else if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z+0.15/sqr(z) elseif @Va=="7" z=z-0.2/sqr(z) elseif @Va=="8" z=z-2/cotanh(z) elseif @Va=="9" z=z-2/cotan(z) elseif @Va=="10" z=z-1.5/tanh(z) elseif @Va=="11" z=z-2.8/cos(z) elseif @Va=="12" z=z-0.3*exp(z) elseif @Va=="13" z=z-0.3*sqr(z) elseif @Va=="14" z=z+0.5*cotan(z) elseif @Va=="15" z=z-0.45*cosh(z) elseif @Va=="16" z=z+cos(z) elseif @Va=="17" z=z-cos(z) elseif @Va=="18" z=z-0.3*sinh(z) elseif @Va=="19" z=z-sinh(z) elseif @Va=="20" z=z-0.5*sin(z) elseif @Va=="21" z=z-2*sin(z) endif endif z=z+2*sqr(z) z=p3/z+p4/z^2+@p7/z^3 if @JM=="J" z=p5*log(abs(z))^@pow2+p6 else z=p5*log(abs(z))^@pow2+p6+fn4(pixel) endif if @JM=="J" if @Va=="none" z=z elseif @Va=="22" if |z|<1 z=z/|z| endif elseif @Va=="23" if |z|>1 z=z/|z| endif elseif @Va=="24" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="25" if real(z)1 z=z/|z| endif elseif @Va=="24" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="25" if real(z)1 z=z/|z| endif z=z/(@p10*z+1) x=real(z) y=imag(z) x=x/|z|+real(p3) y=y/|z|+imag(p3) z=x+flip(y) if @V=="1" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z^2*@fn6(pixel)+1)))))+p5 elseif @V=="2" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z^2*@fn6(pixel))))))+p5 elseif @V=="3" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z^2*@fn6(pixel)+1)))))+p5 elseif @V=="4" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z^2*@fn6(pixel))))))+p5 elseif @V=="5" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1)+1/(z^2*@fn6(pixel)+1)))))+p5 elseif @V=="6" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1)+1/(z^2*@fn6(pixel))))))+p5 elseif @V=="7" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel))+1/(z^2*@fn6(pixel)+1)))))+p5 elseif @V=="8" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel))+1/(z^2*@fn6(pixel))))))+p5 elseif @V=="9" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z^3*@fn6(pixel)+1)))))+p5 elseif @V=="10" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z^3*@fn6(pixel))))))+p5 elseif @V=="11" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z^3*@fn6(pixel)+1)))))+p5 elseif @V=="12" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z^3*@fn6(pixel))))))+p5 elseif @V=="13" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1)+1/(z^3*@fn6(pixel)+1)))))+p5 elseif @V=="14" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1)+1/(z^3*@fn6(pixel))))))+p5 elseif @V=="15" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel))+1/(z^3*@fn6(pixel)+1)))))+p5 elseif @V=="16" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel))+1/(z^3*@fn6(pixel))))))+p5 elseif @V=="17" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z*@fn6(pixel)+1)))))+p5 elseif @V=="18" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z*@fn6(pixel))))))+p5 elseif @V=="19" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z*@fn6(pixel)+1)))))+p5 elseif @V=="20" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z*@fn6(pixel))))))+p5 elseif @V=="21" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z^2*@fn6(pixel)+1i)))))+p5 elseif @V=="22" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z^2*@fn6(pixel))))))+p5 elseif @V=="23" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z^2*@fn6(pixel)+1i)))))+p5 elseif @V=="24" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z^2*@fn6(pixel)+1i)))))+p5 elseif @V=="25" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z^2*@fn6(pixel)+1)))))+p5 elseif @V=="26" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1i)+1/(z^2*@fn6(pixel)+1i)))))+p5 elseif @V=="27" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1i)+1/(z^2*@fn6(pixel))))))+p5 elseif @V=="28" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel))+1/(z^2*@fn6(pixel)+1i)))))+p5 elseif @V=="29" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1)+1/(z^2*@fn6(pixel)+1i)))))+p5 elseif @V=="30" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1i)+1/(z^2*@fn6(pixel)+1)))))+p5 elseif @V=="31" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z^3*@fn6(pixel)+1i)))))+p5 elseif @V=="32" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z^3*@fn6(pixel))))))+p5 elseif @V=="33" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z^3*@fn6(pixel)+1i)))))+p5 elseif @V=="34" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z^3*@fn6(pixel)+1i)))))+p5 elseif @V=="35" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z^3*@fn6(pixel)+1)))))+p5 elseif @V=="36" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1i)+1/(z^3*@fn6(pixel)+1i)))))+p5 elseif @V=="37" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1i)+1/(z^3*@fn6(pixel))))))+p5 elseif @V=="38" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel))+1/(z^3*@fn6(pixel)+1i)))))+p5 elseif @V=="39" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1)+1/(z^3*@fn6(pixel)+1i)))))+p5 elseif @V=="40" z=p4*fn4(log(abs(@fn5((z^3*@fn6(pixel)+1i)+1/(z^3*@fn6(pixel)+1)))))+p5 elseif @V=="41" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z*@fn6(pixel)-1i)))))+p5 elseif @V=="42" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z*@fn6(pixel))))))+p5 elseif @V=="43" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel))+1/(z*@fn6(pixel)+1i)))))+p5 elseif @V=="44" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1)+1/(z*@fn6(pixel)+1i)))))+p5 elseif @V=="45" z=p4*fn4(log(abs(@fn5((z^2*@fn6(pixel)+1i)+1/(z*@fn6(pixel)+1)))))+p5 endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Wurgulation Rings" maxiter=500 center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14""15""16"\ "17""18""19""20""21""22""23""24"\ "25""26""27""28""29""30""31""32"\ "33""34""35""36""37""38""39""40"\ "41""42""43""44""45" default=0 endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p3 caption="Kali Parameter" default=(0,0) endparam param p4 caption="Labs Parameter 1" default=(1,0) endparam param p5 caption="Labs Parameter 2" default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param Fs caption="Start Function" enum="sin""sinh""asin""asinh""cos""cosh""acos""acosh""tan""tanh""atan"\ "atanh""cotan""cotanh""sqr""sqrt""log""exp""abs""cabs""conj"\ "flip""ident""recip""versin""haversin""coversin"\ "hacoversin""vercos""havercos""covercos"\ "hacovercos"\ "sec""sech""cosec""cosech""exsec"\ "excosec""crd""acrd""gd""agd""sinc""sinhc""cosc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "cube""expit""gauss""softplus"\ "sqr+""cube+""sin+""cos+""tan+""cotan+""sec+""cosec+""sin*""cos*""tan*""cotan*""sec*"\ "cosec*""sinsin""coscos""tantan""cotancotan""cotanhcotanh" default=22 endparam func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn5 caption="Labs Function 2" default=ident() endfunc func fn6 caption="C Function " default=ident() endfunc param iter caption="Iterations" default=3 endparam param bail caption="Bailout" default=100000000.0 endparam } f751 { init: z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=z-1.8*(exp(z)^3-1)/(3*exp(z)^2) elseif @S=="3" z=z^2*(recip(z)-0.25)/(1-0.25*recip(z)) elseif @S=="4" z=z^2*(exp(z)-1.3)/(1-1.3*exp(z)) elseif @S=="5" z=z+z^2*(exp(recip(z))+0.75)/(1i+0.75*exp(recip(z))) elseif @S=="6" z=z-1.3*(exp(z)^3-1)/(3*exp(z)^2) elseif @S=="7" z=z+z^2*(z-2)/(1i-2*z) elseif @S=="8" z=z^2*(recip(z)-2)/(1-2*recip(z)) elseif @S=="9" z=z+z^2*(sqr(z)+1.5)/(1i+1.5*sqr(z)) elseif @S=="10" z=z-9*(cosh(z)^3-1)/(3*cosh(z)^2) elseif @S=="11" z=z+z^2*(z-2)/(1-2*z) elseif @S=="12" z=z+z^2*(exp(sqr(z))+0.75)/(1i+0.75*exp(sqr(z))) elseif @S=="13" z=z-(exp(z)^3-1)/(3*exp(z)^2) elseif @S=="14" z=z+z^2*(exp(z)-0.75)/(1-0.75*exp(z)) elseif @S=="15" z=z+z^2*(exp(sqr(z))+0.25)/(1i+0.25*exp(sqr(z))) elseif @S=="16" z=z^2*(abs(z)-2)/(1-2*abs(z)) elseif @S=="17" z=z+z^2*(sin(z)-0.5)/(1i-0.5*z) elseif @S=="18" z=z+z^2*(exp(z)+0.75)/(1i+0.75*exp(z)) elseif @S=="19" z=z+z^2*(exp(flip(z))+0.75)/(1i+0.75*exp(flip(z))) elseif @S=="20" z=z+z^2*(exp(z)-2)/(1i-2*sqr(z)) elseif @S=="21" z=z+z^2*(cosh(z)-1.1)/(1-1.1*cosh(z)) elseif @S=="22" z=z+z^2*(sin(z)-0.5)/(1i-0.5*cotan(z)) elseif @S=="23" z=z^2*(flip(z)+2)/(1+2*flip(z)) elseif @S=="24" z=z+z^2*(exp(cosh(z))+0.25)/(1i+0.25*exp(cosh(z))) elseif @S=="25" z=z+z^2*(sqr(z)+1.5)/(1i+1.5*z) elseif @S=="26" z=z+z^2*(sqr(z)+4)/(1+4*sqr(z)) elseif @S=="27" z=z+z^2*(exp(abs(z))+0.75)/(1i+0.75*exp(abs(z))) elseif @S=="28" z=z^2*(cosh(z)-0.9)/(1-0.9*cosh(z)) elseif @S=="29" z=z+z^2*(sqr(z)-2)/(1i-2*sqr(z)) elseif @S=="30" z=z^2*(sin(z)+0.25)/(1+0.25*sin(z)) elseif @S=="31" z=z+z^2*(exp(abs(z))+0.25)/(1i+0.25*exp(abs(z))) elseif @S=="32" z=z^2*(z-2)/(1-2*z) elseif @S=="33" z=z+z^2*(z-2)/(1i-2*sqr(z)) endif x=real(z) y=fn2(imag(z)) loop: z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p7*z*(1-z) if @M=="None" z=z elseif @M=="1" z=z-2.73*(exp(z)^3-1)/(3*exp(z)^2) elseif @M=="2" z=z+0.53*cos(z) elseif @M=="3" z=z-3*sqr(z) elseif @M=="4" z=z^2*(sqr(z)+8)/(1+8*sqr(z)) elseif @M=="5" z=z+0.2i*exp(z) elseif @M=="6" z=z+0.3*abs(z) elseif @M=="7" z=z+4i*sqr(z) elseif @M=="8" z=z^2*(z-5.75)/(1-5.75*z) elseif @M=="9" z=z-1.25*sqr(z) elseif @M=="10" z=z+sqr(z) elseif @M=="11" z=z-2.0775*(exp(z)^3-1)/(3*exp(z)^2) elseif @M=="12" z=z-3.1*sin(z) elseif @M=="13" z=z+1.375*cosh(z) elseif @M=="14" z=z+3*sqr(z) elseif @M=="15" z=z-0.75*sqr(z) elseif @M=="16" z=z-4i*sqr(z) elseif @M=="17" z=z-0.5i*sqr(z) elseif @M=="18" z=z^2*(z-19)/(1-19*z) elseif @M=="19" z=z^2*(sqr(z)+30)/(1+30*sqr(z)) elseif @M=="20" z=z^2*(tanh(z)+66)/(1+66*tanh(z)) elseif @M=="21" z=z-2.525*(cosh(z)^3-1)/(3*cosh(z)^2) elseif @M=="22" z=z-sqr(z) elseif @M=="23" z=z-2.44*(exp(z)^3-1)/(3*exp(z)^2) elseif @M=="24" z=z^2*(sqr(z)-3.7)/(1-3.7*sqr(z)) elseif @M=="25" z=z+1.25*sqr(z) elseif @M=="26" z=z+1.42*cosh(z) elseif @M=="27" z=z^2*(z-50)/(1-50*z) elseif @M=="28" z=z-2.65*sinh(z) elseif @M=="29" z=z+0.75*sqr(z) elseif @M=="30" z=z+0.35i*cos(z) elseif @M=="31" z=z-0.3*abs(z) elseif @M=="32" z=z+0.5i*sqr(z) elseif @M=="33" z=z-0.3i*exp(z) endif x=p1*(y-fn3(x)^@pow) y=x-y+p2*z z=-p3*y bailout: |z|<@bail default: title="Atom Gusto" center=(0.001,0.001) angle=270 magn=4 periodicity=0 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30"\ "31""32""33" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="AG Parameter 1" default=(0.950754,-0.068944) endparam param p2 caption="AG Parameter 2" default=(1,0) endparam param p3 caption="AG Parameter 3" default=(1,0) endparam func fn2 caption="AG Function 1" default=ident() endfunc func fn3 caption="AG Function 2" default=ident() endfunc param M caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30"\ "31""32""33" endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p7 caption="Add Logistic Parameter" default=(0,0) endparam param pow caption="Exponent" default=(2,0) endparam param bail caption="Bailout" default=4.0 endparam } Abble { ;Note: Increase the value of the Iterations parameter when zooming in. init: z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=((z^2-1i)/(2*z-2i))^2 elseif @S=="3" z=z+((z^2-1i)/(2*z-2i))^2 elseif @S=="4" z=z-sinh(z) elseif @S=="5" z=z^2*(tanh(z)+1)/(1i+tanh(z)) elseif @S=="6" z=z+((tanh(z)^2-1i)/(2*tanh(z)-2i))^2 elseif @S=="7" z=((cotanh(z)^2-1i)/(2*cotanh(z)-2i))^2 elseif @S=="8" z=z^2*(cotan(z)-1)/(1i-cotan(z)) elseif @S=="9" z=z^2*(sin(z)-1)/(1i-sin(z)) elseif @S=="10" z=z^2*(cosh(z)+1)/(1i+cosh(z)) elseif @S=="11" z=z+((cotanh(z)^2-1i)/(2*cotanh(z)-2i))^2 elseif @S=="12" z=z-cotanh(z) elseif @S=="13" z=z+exp(z) elseif @S=="14" z=z^2*(tan(z)-1)/(1i-tan(z)) elseif @S=="15" z=z^2*(exp(z)+1)/(1i+exp(z)) elseif @S=="16" z=z^2*(sqr(z)-2)/(1-2*sqr(z)) elseif @S=="17" z=z+((cos(z)^2-1i)/(2*cos(z)-2i))^2 elseif @S=="18" z=((tanh(z)^2-1i)/(2*tanh(z)-2i))^2 elseif @S=="19" z=((exp(z)^2-1i)/(2*exp(z)-2i))^2 elseif @S=="20" z=z^2*(exp(z)-1)/(1i-exp(z)) elseif @S=="21" z=z+cos(z) elseif @S=="22" z=z+tan(z) elseif @S=="23" z=z+cotan(z) elseif @S=="24" z=z^2*(sin(z)+1)/(1i+sin(z)) elseif @S=="25" z=z^2*(cos(z)+1)/(1i+cos(z)) elseif @S=="26" z=z-tan(z) elseif @S=="27" z=((tan(z)^2-1i)/(2*tan(z)-2i))^2 elseif @S=="28" z=z+((sqr(z)^2-1i)/(2*sqr(z)-2i))^2 elseif @S=="29" z=z+((cosh(z)^2-1i)/(2*cosh(z)-2i))^2 elseif @S=="30" z=((abs(z)^2-1i)/(2*abs(z)-2i))^2 elseif @S=="31" z=z^2*(cotan(z)+1)/(1i+cotan(z)) elseif @S=="32" z=z^2*(z-1)/(1i-z) elseif @S=="33" z=z+tanh(z) elseif @S=="34" z=z^2*(cos(z)-1)/(1i-cos(z)) elseif @S=="35" z=z-sqr(z) elseif @S=="36" z=z^2*(tanh(z)-1)/(1i-tanh(z)) elseif @S=="37" z=((cos(z)^2-1i)/(2*cos(z)-2i))^2 elseif @S=="38" z=z^2*(z+1)/(1i+z) elseif @S=="39" z=z+((exp(z)^2-1i)/(2*exp(z)-2i))^2 elseif @S=="40" z=z+((cotan(z)^2-1i)/(2*cotan(z)-2i))^2 elseif @S=="41" z=z+((tan(z)^2-1i)/(2*tan(z)-2i))^2 elseif @S=="42" z=z+cosh(z) elseif @S=="43" z=z-tanh(z) elseif @S=="44" z=((cotan(z)^2-1i)/(2*cotan(z)-2i))^2 elseif @S=="45" z=z^2*(sqr(z)-1)/(1i-sqr(z)) elseif @S=="46" z=z^2*(tan(z)+1)/(1i+tan(z)) elseif @S=="47" z=z^2*(z-2)/(1-2*z) elseif @S=="48" z=((sqr(z)^2-1i)/(2*sqr(z)-2i))^2 endif a=p1*fn2((0,2)) b=p1*fn2((0,-2)) int i=0 loop: while i<@iter i=i+1 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @M=="None" z=z elseif @M=="1" z=z-0.8/z elseif @M=="2" if |z|>1 z=z/|z| endif z=cotanh(z) elseif @M=="3" z=z-1.7*tan(z) elseif @M=="4" if real(z)imag(z) z=flip(z) endif elseif @M=="15" z=z-1i*tanh(z) elseif @M=="16" z=z^2*(cosh(z)+2)/(1i+2*cosh(z)) elseif @M=="17" if real(z)>imag(z) z=flip(z) endif z=z-1i*sinh(z) elseif @M=="18" z=z^2*(tan(z)+3)/(1i+3*tan(z)) elseif @M=="19" z=z-1.7*sinh(z) elseif @M=="20" z=z-1i*cosh(z) elseif @M=="21" z=z^2*(sqr(z)-2)/(1i-2*sqr(z)) elseif @M=="22" z=z+(sinh(z)-1i)/(sinh(z)+1i) elseif @M=="23" if real(z)>imag(z) z=flip(z) endif z=z-1i*cosh(z) elseif @M=="24" z=z^2*(z-2)/(1i-2*z) elseif @M=="25" z=((sqr(z)^2-3.5-1i)/(2*sqr(z)-3.5-2i))^2 elseif @M=="26" z=-1.15*(cosh(z)-1i)/(cosh(z)+1i) elseif @M=="27" z=z^2*(sqr(z)+3)/(1+3*sqr(z)) elseif @M=="28" if real(z)>imag(z) z=flip(z) endif z=z-1i*tan(z) elseif @M=="29" z=((conj(z)^2+2.5)/(2*conj(z)+1.5))^2 elseif @M=="30" z=z+2*(cosh(z)^3-1i)/(3*cosh(z)^2) elseif @M=="31" z=z^2*(cotanh(z)-0.5)/(1-0.5*cotanh(z)) elseif @M=="32" z=((conj(z)^2-1i)/(2*conj(z)-2i))^2 elseif @M=="33" z=z-0.5*(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @M=="34" z=z^2*(exp(z)+3)/(1+3*exp(z)) elseif @M=="35" if real(z)>imag(z) z=flip(z) endif z=z-1i*tanh(z) elseif @M=="36" z=z^2*(z-2)/(1-2*z) elseif @M=="37" z=z+1.33*(sqr(z)-1i)/(sqr(z)+1i) elseif @M=="38" z=3.5*(sqr(z)-1i)/(sqr(z)+1i) elseif @M=="39" if real(z)>imag(z) z=flip(z) endif z=z-1i*exp(z) elseif @M=="40" z=z-(z^3-1i)/(3*z^2) elseif @M=="41" z=z+0.33*(cotan(z)-1i)/(cotan(z)+1i) elseif @M=="42" z=z+(cos(z)^3-1i)/(3*cos(z)^2) elseif @M=="43" z=1.5*(sinh(z)-1i)/(sinh(z)+1i) elseif @M=="44" if real(z)>imag(z) z=flip(z) endif z=z-1i*z elseif @M=="45" z=z+0.33*(recip(z)-1i)/(recip(z)+1i) elseif @M=="46" z=z-0.6*cotan(z) elseif @M=="47" z=1.33*(cos(z)-1i)/(cos(z)+1i) elseif @M=="48" z=z-0.3i*exp(z) elseif @M=="49" z=z+(exp(z)-1i)/(exp(z)+1i) elseif @M=="50" z=z+1.15*(cos(z)-1i)/(cos(z)+1i) elseif @M=="51" z=-0.5*(recip(z)-1i)/(recip(z)+1i) elseif @M=="52" z=z-1i*sin(z) endif if cabs(z-a)<1 z=p2*abs(log(fn3(conj(1/(z-a))+a)))^@pow+p3 elseif cabs(z-b)<1 z=p2*abs(log(fn3(conj(1/(z-b))+b)))^@pow+p3 else z=p2*abs(log(fn3(conj(1/z))))^@pow+p3 endif endwhile z=p4*z/100 bailout: |z|<@bail default: title="Abble" center=(0.001,0.001) maxiter=250 periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46""47""48" endparam func fn1 caption="Start Function" default=ident() endfunc param M caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46""47""48""49""50"\ "51""52" endparam param p1 caption="Abble Parameter 1" default=(1,0) endparam param p2 caption="Abble Parameter 2" default=(1,0) endparam param p3 caption="Abble Parameter 3" default=(0,0) endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam func fn2 caption="Abble Function 1" default=ident() endfunc func fn3 caption="Abble Function 2" default=ident() endfunc param iter caption="Iterations" default=4 endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10.0 endparam } BesselPolynomials { ;http://mathworld.wolfram.com/BesselPolynomial.html init: z=fn1(pixel)+@p7/fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @flip==true z=flip(z) endif z=z+p4/z z=z+p5*tan(z) z=z+p6*sqr(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="1" z=p2*log(fn2(abs(z+1)))^@pow+p3+@p8*pixel elseif @v=="2" z=p2*log(fn2(abs(3*z^2+3*z+1)))^@pow+p3+@p8*pixel elseif @v=="3" z=p2*log(fn2(abs(15*z^3+15*z^2+6*z+1)))^@pow+p3+@p8*pixel elseif @v=="4" z=p2*log(fn2(abs(105*z^4+105*z^3+45*z^2+10*z+1)))^@pow+p3+@p8*pixel elseif @v=="5" z=p2*log(fn2(abs(945*z^5+945*z^4+420*z^3+105*z^2+15*z+1)))^@pow+p3+@p8*pixel elseif @v=="6" z=p2*log(fn2(abs(10395*z^6+10395*z^5+4725*z^4+1260*z^3+210*z^2+21*z+1)))^@pow+p3+@p8*pixel elseif @v=="7" z=p2*log(fn2(abs(135135*z^7+135135*z^6+62370*z^5+17325*z^4+3150*z^3+378*z^2+28*z+1)))^@pow+p3+@p8*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Bessel Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7" default=3 endparam param p7 caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Tan Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p1 caption="K Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(-1,0) endparam func fn2 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=9 endparam param flip caption="Flip z" default=true endparam param p8 caption="Add Pixel Parameter" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } GeometricPolynomials { ;https://arxiv.org/pdf/0912.1834.pdf init: z=fn1(pixel)+@p7/fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p8*pixel z=z+p4/z z=z+p5*tan(z) z=z+p6*sqr(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*log(abs(z+2*z^2))^@pow+p3+@p9*pixel elseif @v=="3" z=p2*log(abs(z+6*z^2+6*z^3))^@pow+p3+@p9*pixel elseif @v=="4" z=p2*log(abs(z+14*z^2+36*z^3+24*z^4))^@pow+p3+@p9*pixel elseif @v=="5" z=p2*log(abs(z+30*z^2+150*z^3+240*z^4+120*z^5))^@pow+p3+@p9*pixel elseif @v=="6" z=p2*log(abs(z+62*z^2+540*z^3+1560*z^4+1800*z^5+720*z^6))^@pow+p3+@p9*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="GeometricPolynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5""6" default=1 endparam param p7 caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Tan Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p1 caption="K Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param p8 caption="Add Pixel Parameter 1" default=(0,0) endparam param p9 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Lif { ;https://carma.newcastle.edu.au/alfcon/pdfs/Takao_Komatsu-alfcon.pdf init: z=fn1(pixel)+@p7/fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p8*pixel z=z+p4/z z=z+p5*tan(z) z=z+p6*sqr(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="1" z=p2*log(abs((1+z)*exp(z)))^@pow+p3-2+@p9*pixel elseif @v=="2" z=p2*log(abs((1+3*z+z^2)*exp(z)))^@pow+p3-2+@p9*pixel elseif @v=="3" z=p2*log(abs((1+7*z+6*z^2+z^3)*exp(z)))^@pow+p3-2+@p9*pixel elseif @v=="4" z=p2*log(abs((1+15*z+25*z^2+10*z^3+z^4)*exp(z)))^@pow+p3-3+@p9*pixel elseif @v=="5" z=p2*log(abs((1+31*z+90*z^2+65*z^3+15*z^4+z^5)*exp(z)))^@pow+p3-4+@p9*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Lif" center=(1.25,0.001) maxiter=500 magn=0.7 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=2 endparam param p7 caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="K Parameter" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Tan Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param p8 caption="Add Pixel Parameter 1" default=(0,0) endparam param p9 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ExponentialPolynomials { ;http://mathworld.wolfram.com/BellPolynomial.html init: z=fn1(pixel)+@p7/fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p8*pixel z=z+p4/z z=z+p5*tan(z) z=z+p6*sqr(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="3" z=p2*log(abs(z^3+3*z^2+z))^@pow+p3+@p9*pixel elseif @v=="4" z=p2*log(abs(z^4+6*z^3+7*z^2+z))^@pow+p3+@p9*pixel elseif @v=="5" z=p2*log(abs(z^5+10*z^4+25*z^3+15*z^2+z))^@pow+p3+@p9*pixel elseif @v=="6" z=p2*log(abs(z^6+15*z^5+65*z^4+90*z^3+31*z^2+z))^@pow+p3+@p9*pixel elseif @v=="7" z=p2*log(abs(z^7+21*z^6+140*z^5+350*z^4+301*z^3+63*z^2+z))^@pow+p3+@p9*pixel elseif @v=="8" z=p2*log(abs(z^8+28*z^7+266*z^6+1050*z^5+1701*z^4+966*z^3+127*z^2+z))^@pow+p3+@p9*pixel elseif @v=="9" z=p2*log(abs(z^9+36*z^8+462*z^7+2646*z^6+6951*z^5+7770*z^4+3025*z^3+255*z^2+z))^@pow+p3+@p9*pixel elseif @v=="10" z=p2*log(abs(z^10+45*z^9+750*z^8+5880*z^7+22827*z^6+42525*z^5+34105*z^4+9330*z^3+511*z^2+z))^@pow+p3+@p9*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Exponential Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="3""4""5""6""7""8""9""10" default=3 endparam param p7 caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="K Parameter" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Tan Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(-1,0) endparam func fn2 caption="Loop Function 1" default=ident() endfunc func fn3 caption="Loop Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param p8 caption="Add Pixel Parameter 1" default=(0,0) endparam param p9 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } FibonacciPolynomials { init: z=fn1(pixel)+@p7*(fn1(pixel)-1i)/(fn1(pixel)+1i) int i=0 loop: while i<@iter i=i+1 z=fn2(z)+@p8*pixel z=z+p4/z z=z+p5*(2*z-1i)/(z+2i)/(z-1) z=z+p6*sqr(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @V=="4" z=p2*fn3(log(abs(z^4+3*z^2+1)))^@pow+p3+@p9*pixel elseif @v=="5" z=p2*fn3(log(abs(z^5+4*z^3+3*z)))^@pow+p3+@p9*pixel elseif @v=="6" z=p2*fn3(log(abs(z^6+5*z^4+6*z^2+1)))^@pow+p3+@p9*pixel elseif @v=="7" z=p2*fn3(log(abs(z^7+6*z^5+10*z^3+4*z)))^@pow+p3+@p9*pixel elseif @v=="8" z=p2*fn3(log(abs(z^8+7*z^6+15*z^4+10*z^2+1)))^@pow+p3+@p9*pixel elseif @v=="9" z=p2*fn3(log(abs(z^9+8*z^7+21*z^5+20*z^3+5*z)))^@pow+p3+@p9*pixel elseif @v=="10" z=p2*fn3(log(abs(z^10+9*z^8+28*z^6+35*z^4+15*z^2+1)))^@pow+p3+@p9*pixel elseif @v=="11" z=p2*fn3(log(abs(z^11+10*z^9+36*z^7+56*z^5+35*z^3+6*z)))^@pow+p3+@p9*pixel elseif @v=="12" z=p2*fn3(log(abs(z^12+11*z^10+45*z^8+84*z^6+70*z^4+21*z^2+1)))^@pow+p3+@p9*pixel elseif @v=="13" z=p2*fn3(log(abs(z^13+12*z^11+55*z^9+120*z^7+126*z^5+56*z^3+7*z)))^@pow+p3+@p9*pixel elseif @v=="14" z=p2*fn3(log(abs(z^14+13*z^12+66*z^10+165*z^8+210*z^6+126*z^4+28*z^2+1)))^@pow+p3+@p9*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Fibonacci Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="4""5""6""7""8""9""10""11""12""13""14" default=5 endparam param p7 caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="K Parameter 1" default=(0,0) endparam param p5 caption="k Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Z Function" default=ident() endfunc func fn3 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=5 endparam param p8 caption="Add Pixel Parameter 1" default=(0,0) endparam param p9 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Harmonic-ExponentialPolynomials { ;https://arxiv.org/pdf/0912.1834.pdf init: z=fn1(pixel)+p4/fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p8*pixel z=z+p5/z z=z+p6*tan(z) z=z+@p7*sqr(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*fn4(log(abs(z+1.5*z^2)))^@pow+p3+@p9*pixel elseif @v=="3" z=p2*fn4(log(abs(z+4.5*z^2+(11/6)*z^3)))^@pow+p3+@p9*pixel elseif @v=="4" z=p2*fn4(log(abs(z+10.5*z^2+11*z^3+(25/12)*z^4)))^@pow+p3+@p9*pixel elseif @v=="5" z=p2*fn4(log(abs(z+22.5*z^2+(275/6)*z^3+(250/12)*z^4+(137/60)*z^5)))^@pow+p3+@p9*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Harmonic-Exponential Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5" default=1 endparam param p4 caption="Start Parameter" default=(0,0) endparam param p1 caption="K Parameter" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Tan Parameter" default=(0,0) endparam param p7 caption="Add Sqr Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=6 endparam param p8 caption="Add Pixel Parameter 1" default=(0,0) endparam param p9 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Harmonic-GeometricPolynomials { ;https://arxiv.org/pdf/0912.1834.pdf init: z=fn1(pixel)+p4/fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p8*pixel z=z+p5/z z=z+@p10*(2*z-1i)/(z+2i)/(z-1) z=z+p6*tan(z) z=z+@p7*sqr(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*fn4(log(abs(3*z^2+z)))^@pow+p3+@p9*pixel elseif @v=="3" z=p2*fn4(log(abs(11*z^3+9*z^2+z)))^@pow+p3+@p9*pixel elseif @v=="4" z=p2*fn4(log(abs(50*z^4+66*z^3+21*z^2+z)))^@pow+p3+@p9*pixel elseif @v=="5" z=p2*fn4(log(abs(274*z^5+500*z^4+275*z^3+45*z^2+z)))^@pow+p3+@p9*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Harmonic-Geometric Polynomials" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="2""3""4""5" default=1 endparam param p4 caption="Start Parameter" default=(0,0) endparam param iter caption="Iterations" default=6 endparam param p1 caption="K Parameter 1" default=(0,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Tan Parameter" default=(0,0) endparam param p7 caption="Add Sqr Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p8 caption="Add Pixel Parameter 1" default=(0,0) endparam param p9 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Harmonum { ;https://arxiv.org/pdf/1103.5430.pdf init: z=fn1(pixel) z=z+p4/z+p5*(z-1i)/(z+1i)+@p9*(2*z-1i)/(z+2i)*(z-1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p10*pixel z=z+p6/z z=z+@p7*tan(z) z=z+@p8*cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="-1" z=p2*fn4(log(abs(z*(z+1)/2)))^@pow+p3+@p11*@fn5(pixel) elseif @v=="-2" z=p2*fn4(log(abs(z*(z+1)*(2*z+1)/6)))^@pow+p3+@p11*@fn5(pixel) elseif @v=="-3" z=p2*fn4(log(abs(z^2*(z+1)^2/4)))^@pow+p3+@p11*@fn5(pixel) elseif @v=="-4" z=p2*fn4(log(abs(z*(z+1)*(2*z+1)*(3*z^2+3*z-1)/30)))^@pow+p3+@p11*@fn5(pixel) elseif @v=="-5" z=p2*fn4(log(abs(z^2*(z+1)^2*(2*z^2+2*z-1)/12)))^@pow+p3+@p11*@fn5(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Harmonum" center=(0.001,0.001) maxiter=500 periodicity=0 param V caption="Variant" enum="-1""-2""-3""-4""-5" default=2 endparam param p4 caption="Start Parameter 1" default=(0,0) endparam param p5 caption="Start Parameter 2" default=(0,0) endparam param p9 caption="Start Parameter 3" default=(0,0) endparam param p1 caption="K Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p7 caption="Add Tan Parameter" default=(0,0) endparam param p8 caption="Add Cos Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param p10 caption="Add Pixel Parameter 1" default=(0,0) endparam param p11 caption="Add Pixel Parameter 2" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=@p11!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Boumalixius { init: z=fn1(pixel) z=z+p4*(z-1i)/(z+1i)+p5*(2*z-1i)/(z+2i)*(z-1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p12*pixel z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+p6*tan(z) z=z+@p11/cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*fn4(log(abs(((z^2+p3)^2+p3)^2+p3)))^@pow+@p13*pixel endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Boumalixius" center=(0.001,0.001) maxiter=500 periodicity=0 param p4 caption="Start Parameter 1" default=(0,0) endparam param p5 caption="Start Parameter 2" default=(0,0) endparam param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p1 caption="K Parameter" default=(0,0) endparam param p11 caption="Add Recip Cos Parameter" default=(0,0) endparam param p6 caption="Add Tan Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param p13 caption="Add Pixel Parameter 1" default=(0,0) endparam param p12 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } MagusPolynomials3 { ;The first two terms of the series are -1 and z-1 ;The other terms are obtained by adding the two preceding terms and multiplying by z init: z=fn1(pixel) z=z+p4*(z-1i)/(z+1i)+p5*(2*z-1i)/(z+2i)*(z-1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p12*pixel z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+p6*tan(z) z=z+@p11/cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*fn4(log(abs(z*(z-2))))^@pow+p3+@p13*pixel elseif @v=="3" z=p2*fn4(log(abs(z*(z*(z-2)+(z-1)))))^@pow+p3+@p13*pixel elseif @v=="4" z=p2*fn4(log(abs(z*(z*(z*(z-2)+(z-1))+z*(z-2)))))^@pow+p3+@p13*pixel elseif @v=="5" z=p2*fn4(log(abs(z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1))))))^@pow+p3+@p13*pixel elseif @v=="6" z=p2*fn4(log(abs(z*(z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))+z*(z-2))))))^@pow+p3+@p13*pixel elseif @v=="7" z=p2*fn4(log(abs(z*(z*(z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))\ +z*(z-2)))-z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))))))^@pow+p3+@p13*pixel elseif @v=="8" z=p2*fn4(log(abs(z*(z*(z*(z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)\ +(z-1))+z*(z-2)))-z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1))))+z*(z*(z*(z*(z*(z-2)\ +(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))+z*(z-2)))))))^@pow+p3+@p13*pixel elseif @v=="9" z=p2*fn4(log(abs(z*(z*(z*(z*(z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)\ +(z-1))+z*(z-2)))-z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1))))+z*(z*(z*(z*(z*(z-2)\ +(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))+z*(z-2))))+z*(z*(z*(z*(z*(z*(z-2)\ +(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))+z*(z-2)))-z*(z*(z*(z*(z-2)+(z-1))\ +z*(z-2))+z*(z*(z-2)+(z-1))))))))^@pow+p3+@p13*pixel elseif @v=="10" z=p2*fn4(log(abs(z*(z*(z*(z*(z*(z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)\ +(z-1))+z*(z-2)))-z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1))))+z*(z*(z*(z*(z*(z-2)\ +(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))+z*(z-2))))+z*(z*(z*(z*(z*(z*(z-2)\ +(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))+z*(z-2)))-z*(z*(z*(z*(z-2)+(z-1))\ +z*(z-2))+z*(z*(z-2)+(z-1)))))+z*(z*(z*(z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))\ +z*(z*(z*(z-2)+(z-1))+z*(z-2)))-z*(z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1))))+z*(z*\ (z*(z*(z*(z-2)+(z-1))+z*(z-2))+z*(z*(z-2)+(z-1)))+z*(z*(z*(z-2)+(z-1))+z*(z-2))))))))^@pow+p3+@p13*pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Magus Polynomials 3" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param V caption="Polynomial" enum="2""3""4""5""6""7""8""9""10" default=3 endparam param iter caption="Iterations" default=4 endparam param p4 caption="Start Parameter 1" default=(0,0) endparam param p5 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="K Parameter" default=(0,0) endparam param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Recip Cos Parameter" default=(0,0) endparam param p6 caption="Add Tan Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p13 caption="Add Pixel Parameter 1" default=(0,0) endparam param p12 caption="Add Pixel Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Mobbom { ;Note: Increase the value of the Iterations parameter when zooming in. init: z=fn1(pixel) z=z+p5*(z-1i)/(z+1i)+@p12*(2*z-1i)/(z+2i)*(z-1i) a=sqrt(-1) int i=0 loop: while i<@iter i=i+1 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+p6*tan(z) z=z+@p11/cos(z) z=abs(fn2(((a+p1)*z+a*p1+1)/((-a+p1)*z-a*p1+1)))^@pow*p2+p3+@p13*fn3(pixel) endwhile z=p4*z/100 bailout: |z|<@bail default: title="Mobbom" center=(0.001,0.001) maxiter=250 periodicity=0 param p5 caption="Start Parameter 1" default=(0,0) endparam param p12 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="Mobbom Parameter 1" default=(-0.33,0) endparam param p2 caption="Mobbom Parameter 2" default=(1,0) endparam param p3 caption="Mobbom Parameter 3" default=(0,0) endparam param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Recip Cos Parameter" default=(0,0) endparam param p6 caption="Add Tan Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Mobbom Function" default=ident() endfunc param iter caption="Iterations" default=12 endparam param pow caption="Exponent" default=(1,0) endparam param p13 caption="Add Pixel Parameter" default=(0,0) endparam func fn3 caption="Add Pixel Function" default=ident() visible=@p13!=0 endfunc param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } AwunonIxatrisep2 { ;http://oeis.org/A196837 init: z=fn1(pixel) z=z+@p14*(z-1i)/(z+1i)+@p15*(2*z-1i)/(z+2i)*(z-1i) int i=0 loop: while i<@iter i=i+1 z=(z-@p8)/(1-@p8*z) z=z/(@p9*z+1) z=z+@p10*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p11*(z+1i)*(z-1)/(z-1i) z=z+@p12*tan(z) z=z+@p13/cos(z) if @V1=="1" z=fn2(recip(sqr(fn3(z)))) elseif @V1=="2" z=fn2(recip(cos(fn3(z)))) elseif @V1=="3" z=fn2(recip(cosh(fn3(z)))) elseif @V1=="4" z=fn2(recip(sin(fn3(z)))) elseif @V1=="5" z=fn2(recip(sinh(fn3(z)))) endif x=real(z)+real(p6) y=imag(z)+imag(p6) a=x^2+y^2 x=x/a*(real(@p7)+flip(imag(0.1*@p7)))+real(p1) y=y/a*(real(@p7)+flip(imag(0.1*@p7)))+imag(p1) z=p4*(x+flip(y)) if @v=="3" z=p2*log(sqr((4*z^3-30*z^2+70*z-50+(p5*50))/50))^@pow+p3 elseif @v=="4" z=p2*log(sqr((5*z^4-60*z^3+255*z^2-450*z+274+(p5*274))/274))^@pow+p3 elseif @v=="5" z=p2*log(sqr((6*z^5-105*z^4+700*z^3-2205*z^2++3248*z-1764+(p5*1764))/1764))^@pow+p3 elseif @v=="6" z=p2*log(sqr((7*z^6-168*z^5+1610*z^4-7840*z^3+20307*z^2-26264*z+13068+(p5*13068))/13068))^@pow+p3 elseif @v=="7" z=p2*log(sqr((8*z^7-252*z^6+3276*z^5+-22680*z^4+89796*z^3-201852*z^2+236248*z-109584+(p5*109584))/109584))^@pow+p3 elseif @v=="8" z=p2*log(sqr((9*z^8-360*z^7+6090*z^6-56700*z^5+316365*z^4-1077300*z^3+2171040*z^2-2345400*z+1026576+(p5*1026576))/1026576))^@pow+p3 elseif @v=="9" z=p2*log(sqr((10*z^9-495*z^8+10560*z^7-127050*z^6+946638*z^5-4510275*z^4+13667720*z^3-25228500*z^2+25507152*z-10628640+(p5*10628640))/10628640))^@pow+p3 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Awunon Ixatrisep 2" center=(0.001,0.001) magn=0.5 maxiter=500 periodicity=0 param V1 caption="Z Variant" enum="1""2""3""4""5" default=0 endparam param V caption="Polynomial Variant" enum="3""4""5""6""7""8""9" default=3 endparam param p14 caption="Start Parameter 1" default=(0,0) endparam param p15 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="K Parameter 1" default=(0,0) endparam param p6 caption="K Parameter 2" default=(0,0) endparam param p4 caption="K Parameter 3" default=(1,0) endparam param p7 caption="K Parameter 4" default=(1,0) endparam param p8 caption="Möbius Parameter 1" default=(0,0) endparam param p9 caption="Möbius Parameter 2" default=(0,0) endparam param p10 caption="Add W Parameter 1" default=(0,0) endparam param p11 caption="Add W Parameter 2" default=(0,0) endparam param p13 caption="Add Recip Cos Parameter" default=(0,0) endparam param p12 caption="Add Tan Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param p5 caption="AI Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc param pow caption="Exponent" default=1.0 endparam param iter caption="Iterations" default=2 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } EoseneFaspic2 { ; Modified from IFS Escape 1 in reb.ufm, by Ron Barnett and Ramiro Perez ; Increasing the value of the Iterations parameter increases detail ; This will be necessary when zooming in init: z=log(fn1(pixel)) z=z+@p14*(z-1i)/(z+1i)+@p15*(2*z-1i)/(z+2i)*(z-1i) int i=0 loop: while i<@iter i=i+1 z=(z-@p8)/(1-@p8*z) z=z/(@p9*z+1) z=z+@p10*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p11*(z+1i)*(z-1)/(z-1i) z=z+@p12*tan(z) z=z+@p13/cos(z) float k=real(z) if k<0 z=z*@p1-1 else z=z*conj(@p1)+1 endif z=p2*fn2(abs(z))^@pow+p3+@p16*fn3(pixel) endwhile z=p4*z/100 bailout: |z|<=@bail default: title="Eosene Faspic 2" maxiter=1000 center=(0.45,1.14) magn=1.9 angle=45 periodicity=0 method=multipass param p1 caption="EF Parameter" default=(0.8,-1) endparam param p2 caption="Abs Parameter 1" default=(1,0) endparam param p3 caption="Abs Parameter 2" default=(0,0) endparam param p8 caption="Möbius Parameter 1" default=(0,0) endparam param p9 caption="Möbius Parameter 2" default=(0,0) endparam param p10 caption="Add W Parameter 1" default=(0,0) endparam param p11 caption="Add W Parameter 2" default=(0,0) endparam param p13 caption="Add Recip Cos Parameter" default=(0,0) endparam param p12 caption="Add Tan Parameter" default=(0,0) endparam param p14 caption="Start Parameter 1" default=(0,0) endparam param p15 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Abs Function" default=ident() endfunc param iter caption="Iterations" default=15 endparam param pow caption="Exponent" default=(1,0) endparam param p16 caption="Add Pixel Parameter" default=(0,0) endparam func fn3 caption="Add Pixel Function" default=ident() visible=@p16!=0 endfunc param p4 caption="Adjustment" default=101.21145 endparam param bail caption="Bailout" default=1e10 endparam } LabsWhittaker { init: z=fn1(pixel) z=z+@p13*(z-1i)/(z+1i)+@p14*(2*z-1i)/(z+2i)*(z-1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p12*tan(z) z=z+@p11/cos(z) x=real(z) y=imag(z) x=x/|z|+real(@p7) y=y/|z|+imag(@p7) z=x+flip(y) if @Va=="none" z=z elseif @Va=="3" z=z+0.3/z elseif @Va=="4" z=z-0.3/z elseif @Va=="5" z=z+0.3/abs(z) elseif @Va=="6" z=z-0.3/abs(z) elseif @Va=="7" z=z+0.3/exp(z) elseif @Va=="8" z=z-0.3/exp(z) elseif @Va=="9" z=z+0.3/sqr(z) elseif @Va=="10" z=z-0.3/sqr(z) elseif @Va=="11" z=z+0.3/cos(z) elseif @Va=="12" z=z-0.3/cos(z) elseif @Va=="13" z=z+1/z elseif @Va=="14" z=z-1/z elseif @Va=="15" z=z+1/exp(z) elseif @Va=="16" z=z-1/exp(z) elseif @Va=="17" z=z+1/sqr(z) elseif @Va=="18" z=z-1/sqr(z) elseif @Va=="19" z=z+1/cos(z) elseif @Va=="20" z=z-1/cos(z) endif f=1/(z^3-p4)-p1 f1=-3*z^2/(z^3-p4)^2 f2=6*z*(p4+2*z^3)/(z^3-p4)^3 a=f/f1 b=f*f2/sqr(f1) if @M=="Whittaker 1" z=z-p2*(a/2)*(2-b)+p3 else z=z-p2*(a/4)*(2-b+((4+2*b)/(2-b*(2-b))))+p3 endif if @JM=="J" z=p5*@fn5(log(abs(z)))^@pow+p6 else z=p5*@fn5(log(abs(z)))^@pow+p6+fn4(pixel) endif if @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="21" z=z+0.3/z elseif @Va=="22" z=z+0.3/flip(z) elseif @Va=="23" z=z+0.3/conj(z) elseif @Va=="24" z=z+0.3/cotan(z) elseif @Va=="25" z=z-0.3/cotanh(z) elseif @Va=="26" z=z-0.3/cotan(z) elseif @Va=="27" z=z-0.3/cos(z) elseif @Va=="28" z=z-0.3/sin(z) elseif @Va=="29" z=z+1/z elseif @Va=="30" z=z+1/flip(z) elseif @Va=="31" z=z+1/exp(z) elseif @Va=="32" z=z+1/tan(z) elseif @Va=="33" z=z+1/cosh(z) elseif @Va=="34" z=z-1/cotanh(z) elseif @Va=="35" z=z-1/cotan(z) elseif @Va=="36" z=z-1/cos(z) elseif @Va=="37" z=z-1/sin(z) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labs Whittaker" center=(0.001,0.001) maxiter=500 magn=0.75 periodicity=0 param JM caption="J/M" enum="J""M" endparam param M caption="Method" enum="Whittaker 1""Whittaker 2" endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20""21"\ "22""23""24""25""26""27""28""29""30""31""32"\ "33""34""35""36""37" endparam param iter caption="Iterations" default=2 endparam param p13 caption="Start Parameter 1" default=(0,0) endparam param p14 caption="Start Parameter 2" default=(0,0) endparam param p7 caption="K Parameter" default=(0,0) endparam param p4 caption="Whittaker Parameter 1" default=(1,0) endparam param p2 caption="Whittaker Parameter 2" default=(1,0) endparam param p3 caption="Whittaker Parameter 3" default=(0,0) endparam param p1 caption="Whittaker Parameter 4" default=(1,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Recip Cos Parameter" default=(0,0) endparam param p12 caption="Add Tan Parameter" default=(0,0) endparam param p5 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="z Function 2" default=ident() endfunc func fn5 caption="Labs Function" default=ident() endfunc func fn4 caption="C Function" default=ident() visible=@JM=="M" endfunc param pow caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } MagusPolynomials4 { ;The first three terms of the series are 1 , z+1 , z^2+z+1 ;The other terms are obtained by adding the three preceding terms and multiplying by z init: z=fn1(pixel) if @sv==0 z=z elseif @sv==1 z=(z-1i)^2/(z+1i) elseif @sv==2 z=(z-1i)/(z+1i)^2 elseif @sv==3 z=(z-3i)/(z+2i)/(z-1i) elseif @sv==4 z=z+1i/cotanh(z)+1 elseif @sv==5 z=z+1i/cotan(z)+1 elseif @sv==6 z=z+1i/cosh(z)+1 elseif @sv==7 z=(z-3i)*(z+2i)/(z-1i) elseif @sv==8 z=z+1i/cos(z)+1 elseif @sv==9 z=z+1i*z*(z-1i)/(z+1i) elseif @sv==10 z=z+1i*z*(z-1i)/(z+1i)*(z-2i) elseif @sv==11 z=z+1/(1i*exp(z))-1 elseif @sv==12 z=z+1/(1i*cotanh(z))-1 elseif @sv==13 z=z-z/(1i*cotan(z))+1 elseif @sv==14 z=z-z/(1i*sinh(z))+1 elseif @sv==15 z=z+1i*z^2/(exp(1i*z))-1 elseif @sv==16 z=z+1i*z^2/(cosh(1i*z))-1 elseif @sv==17 z=z+1i*z^2/(cos(1i*z))-1 elseif @sv==18 z=z-z^2/(exp(1i*sqr(z)))-1 elseif @sv==19 z=z-z^2/(sinh(1i*sqr(z)))-1 elseif @sv==20 z=z-z^2/(recip(1i*sqr(z)))-1 elseif @sv==21 z=z-z/(exp(1i+sqr(z)))+1 elseif @sv==22 z=z-z/(recip(1i+sqr(z)))+1 elseif @sv==23 z=z+z/(1i+z)-1 elseif @sv==24 z=z+z/(exp(1i+z))-1 elseif @sv==25 z=z+z/(cotan(1i+z))-1 elseif @sv==26 z=z+z/(tan(1i+z))-1 elseif @sv==27 z=z+z/(cosh(1i+z))-1 elseif @sv==28 z=z+z/(cos(1i+z))-1 elseif @sv==29 z=z+z/(sinh(1i+z))-1 elseif @sv==30 z=z+z/(sin(1i+z))-1 endif z=z+p4/z+p5*(z-1i)/(z+1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p7*@fn5(pixel) z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p12*tan(z) z=z+@p11/cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="5" z=p2*fn4(log(abs(z^5+4*z^4+8*z^3+6*z^2+z)))^@pow+p3+p6*@fn5(pixel) elseif @v=="6" z=p2*fn4(log(abs(z^6+5*z^5+12*z^4+13*z^3+6*z^2)))^@pow+p3+p6*@fn5(pixel) elseif @v=="7" z=p2*fn4(log(abs(z^7+6*z^6+17*z^5+24*z^4+17*z^3+4*z^2)))^@pow+p3+p6*@fn5(pixel) elseif @v=="8" z=p2*fn4(log(abs(z^8+7*z^7+23*z^6+40*z^5+38*z^4+16*z^3+z^2)))^@pow+p3+p6*@fn5(pixel) elseif @v=="9" z=p2*fn4(log(abs(z^9+8*z^8+30*z^7+62*z^6+74*z^5+46*z^4+11*z^3)))^@pow+p3+p6*@fn5(pixel) elseif @v=="10" z=p2*fn4(log(abs(z^10+9*z^9+38*z^8+91*z^7+131*z^6+108*z^5+44*z^4+5*z^3)))^@pow+p3+p6*@fn5(pixel) elseif @v=="11" z=p2*fn4(log(abs(z^11+10*z^10+47*z^9+128*z^8+214*z^7+222*z^6+128*z^5+32*z^4+z^3)))^@pow+p3+p6*@fn5(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Magus Polynomials 4" center=(0.001,0.001) maxiter=500 magn=0.25 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30" endparam param p4 caption="Start Parameter 1" default=(0,0) endparam param p5 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param V caption="Polynomial" enum="5""6""7""8""9""10""11" default=3 endparam param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=4 endparam param p1 caption="K Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam func fn4 caption="Labs Function" default=ident() endfunc param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Recip Cos Parameter" default=(0,0) endparam param p12 caption="Add Tan Parameter" default=(0,0) endparam func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc param p7 caption="Add Pixel Parameter 1" default=(0,0) endparam param p6 caption="Add Pixel Parameter 2" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=p6!=0 || @p7!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZernikePolynomials2 { ;http://www.mpia.de/AO/INSTRUMENTS/FPRAKT/ZernikePolynomialsForTheWeb.pdf init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(recip(fn3(z))) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a y=y/a z=x+flip(y) if @v=="4" z=p2*log(abs(6*z^4-6*z^2+1))^@pow+p3+pixel elseif @v=="6" z=p2*log(abs(20*z^6-30*z^4+12*z^2-1))^@pow+p3+pixel elseif @v=="8" z=p2*log(abs(70*z^8-140*z^6+90*z^4-20*z^2+1))^@pow+p3+pixel elseif @v=="10" z=p2*log(abs(252*z^10-630*z^8+560*z^6-210*z^4+30*z^2-1))^@pow+p3+pixel elseif @v=="12" z=p2*log(abs(924*z^12-2772*z^10+3150*z^8-1680*z^6+420*z^4-42*z^2+1))^@pow+p3+pixel elseif @v=="14" z=p2*log(abs(3432*z^14-12012*z^12+16632*z^10-11550*z^8+4200*z^6-756*z^4+56*z^2-1))^@pow+p3+pixel elseif @v=="16" z=p2*log(abs(12870*z^16-51480*z^14+84084*z^12-72072*z^10+34650*z^8-9240*z^6+1260*z^4-72*z^2+1))^@pow+p3+pixel endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Zernike Polynomials 2" center=(0.001,0.001) maxiter=500 magn=1.5 periodicity=0 param V caption="Variant" enum="4""6""8""10""12""14""16" default=2 endparam param p1 default=(0,0) endparam param p2 default=(1,0) endparam param p3 default=(0,0) endparam func fn1 default=ident() endfunc func fn2 default=ident() endfunc func fn3 default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Pierce-Bell { ;http://www.luschny.de/ect/Pierce-Bell-Triangle.html ;http://oeis.org/A123346 init: z=fn1(pixel) if @sv==0 z=z elseif @sv==1 z=(z-1i)^2/(z+1i) elseif @sv==2 z=(z-1i)/(z+1i)^2 elseif @sv==3 z=(z-3i)/(z+2i)/(z-1i) elseif @sv==4 z=z+1i/cotanh(z)+1 elseif @sv==5 z=z+1i/cotan(z)+1 elseif @sv==6 z=z+1i/cosh(z)+1 elseif @sv==7 z=(z-3i)*(z+2i)/(z-1i) elseif @sv==8 z=z+1i/cos(z)+1 elseif @sv==9 z=z+1i*z*(z-1i)/(z+1i) elseif @sv==10 z=z+1i*z*(z-1i)/(z+1i)*(z-2i) elseif @sv==11 z=z+1/(1i*exp(z))-1 elseif @sv==12 z=z+1/(1i*cotanh(z))-1 elseif @sv==13 z=z-z/(1i*cotan(z))+1 elseif @sv==14 z=z-z/(1i*sinh(z))+1 elseif @sv==15 z=z+1i*z^2/(exp(1i*z))-1 elseif @sv==16 z=z+1i*z^2/(cosh(1i*z))-1 elseif @sv==17 z=z+1i*z^2/(cos(1i*z))-1 elseif @sv==18 z=z-z^2/(exp(1i*sqr(z)))-1 elseif @sv==19 z=z-z^2/(sinh(1i*sqr(z)))-1 elseif @sv==20 z=z-z^2/(recip(1i*sqr(z)))-1 elseif @sv==21 z=z-z/(exp(1i+sqr(z)))+1 elseif @sv==22 z=z-z/(recip(1i+sqr(z)))+1 elseif @sv==23 z=z+z/(1i+z)-1 elseif @sv==24 z=z+z/(exp(1i+z))-1 elseif @sv==25 z=z+z/(cotan(1i+z))-1 elseif @sv==26 z=z+z/(tan(1i+z))-1 elseif @sv==27 z=z+z/(cosh(1i+z))-1 elseif @sv==28 z=z+z/(cos(1i+z))-1 elseif @sv==29 z=z+z/(sinh(1i+z))-1 elseif @sv==30 z=z+z/(sin(1i+z))-1 endif z=z+p4/z+p5*(z-1i)/(z+1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p7*@fn5(pixel) z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p12*tan(z) z=z+@p11/cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="2" z=p2*fn4(log(abs((5*z^2+3*z+2)/2)))^@pow+p3+p6*@fn5(pixel) elseif @v=="3" z=p2*fn4(log(abs((15*z^3+10*z^2+7*z+5)/5)))^@pow+p3+p6*@fn5(pixel) elseif @v=="4" z=p2*fn4(log(abs((52*z^4+37*z^3+27*z^2+20*z+15)/15)))^@pow+p3+p6*@fn5(pixel) elseif @v=="5" z=p2*fn4(log(abs((203*z^5+151*z^4+114*z^3+87*z^2+67*z+52)/52)))^@pow+p3+p6*@fn5(pixel) elseif @v=="6" z=p2*fn4(log(abs((877*z^6+674*z^5+523*z^4+409*z^3+322*z^2+255*z+203)/203)))^@pow+p3+p6*@fn5(pixel) elseif @v=="7" z=p2*fn4(log(abs((4140*z^7+3263*z^6+2589*z^5+2066*z^4+1657*z^3+1335*z^2+1080*z+877)/877)))^@pow+p3+p6*@fn5(pixel) elseif @v=="8" z=p2*fn4(log(abs((21147*z^8+17007*z^7+13744*z^6+11155*z^5+9089*z^4+7432*z^3+6097*z^2+5017*z+4140)/4140)))^@pow+p3+p6*@fn5(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Pierce-Bell" center=(0.001,0.001) magn=0.5 maxiter=500 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30" endparam param p4 caption="Start Parameter 1" default=(0,0) endparam param p5 caption="Start Parameter 2" default=(0,0) endparam param V caption="Polynomial" enum="2""3""4""5""6""7""8" default=1 endparam param iter caption="Iterations" default=6 endparam param p1 caption="K Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Recip Cos Parameter" default=(0,0) endparam param p12 caption="Add Tan Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p7 caption="Add Pixel Parameter 1" default=(0,0) endparam param p6 caption="Add Pixel Parameter 2" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=p6!=0 || @p7!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } ZeppoMod { ; Modification of Zeppo from Fract196.frm by Bradley Beacham. ; Original formula by Chuck Ebbert init: z=fn1(pixel) z=z+@p16/z+@p17*(z-1i)/(z+1i) int i=0 loop: while i<@iter i=i+1 z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p12*tan(z) z=z+@p11/cos(z) if @V==0 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(fn4(1-abs(1-real(z)-imag(z))))-p2)^@pow*p3+p4+@p7*@fn5(pixel) elseif @V==1 z=abs(fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(fn4(1-abs(1-real(z)-imag(z))))-p2))^@pow*p3+p4+@p7*@fn5(pixel) elseif @V==2 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))-flip(fn4(1-abs(1-real(z)-imag(z))))-p2)^@pow*p3+p4+@p7*@fn5(pixel) elseif @V==3 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(abs(fn4(1-abs(1-real(z)-imag(z)))))-p2)^@pow*p3+p4+@p7*@fn5(pixel) elseif @V==4 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))-flip(abs(fn4(1-abs(1-real(z)-imag(z)))))-p2)^@pow*p3+p4+@p7*@fn5(pixel) elseif @V==5 z=1-abs(fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(fn4(1-abs(1-real(z)-imag(z))))-p2))^@pow*p3+p4+@p7*@fn5(pixel) elseif @V==6 z=1-fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(fn4(1-abs(1-real(z)-imag(z))))-p2)^@pow*p3+p4+@p7*@fn5(pixel) else z=1-fn2(fn3(1-abs(imag(z)*p1-real(z)))-flip(fn4(1-abs(1-real(z)-imag(z))))-p2)^@pow*p3+p4+@p7*@fn5(pixel) endif endwhile z=z*p5/100 bailout: |z|<@bail default: title="Zeppo Mod" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param iter caption="Iterations" default=7 endparam param p16 caption="Start Parameter 1" default=(0,0) endparam param p17 caption="Start Parameter 2" default=(0,0) endparam param p2 caption="Zeppo Parameter 1" default=(0,0) endparam param p3 caption="Zeppo Parameter 2" default=(1,0) endparam param p4 caption="Zeppo Parameter 3" default=(0,0) endparam param p1 caption="Zeppo Parameter 4" default=(1,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Recip Cos Parameter" default=(0,0) endparam param p12 caption="Add Tan Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Zeppo Function 1" default=ident() endfunc func fn3 caption="Zeppo Function 2" default=ident() endfunc func fn4 caption="Zeppo Function 3" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p7 caption="Add Pixel Parameter" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=@p7!=0 endfunc param p5 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } KleinPolynomials { ;https://tinyurl.com/krfbkoa ;P146 init: z=fn1(pixel) if @sv==0 z=z elseif @sv==1 z=(z-1i)^2/(z+1i) elseif @sv==2 z=(z-1i)/(z+1i)^2 elseif @sv==3 z=(z-3i)/(z+2i)/(z-1i) elseif @sv==4 z=z+1i/cotanh(z)+1 elseif @sv==5 z=z+1i/cotan(z)+1 elseif @sv==6 z=z+1i/cosh(z)+1 elseif @sv==7 z=(z-3i)*(z+2i)/(z-1i) elseif @sv==8 z=z+1i/cos(z)+1 elseif @sv==9 z=z+1i*z*(z-1i)/(z+1i) elseif @sv==10 z=z+1i*z*(z-1i)/(z+1i)*(z-2i) elseif @sv==11 z=z+1/(1i*exp(z))-1 elseif @sv==12 z=z+1/(1i*cotanh(z))-1 elseif @sv==13 z=z-z/(1i*cotan(z))+1 elseif @sv==14 z=z-z/(1i*sinh(z))+1 elseif @sv==15 z=z+1i*z^2/(exp(1i*z))-1 elseif @sv==16 z=z+1i*z^2/(cosh(1i*z))-1 elseif @sv==17 z=z+1i*z^2/(cos(1i*z))-1 elseif @sv==18 z=z-z^2/(exp(1i*sqr(z)))-1 elseif @sv==19 z=z-z^2/(sinh(1i*sqr(z)))-1 elseif @sv==20 z=z-z^2/(recip(1i*sqr(z)))-1 elseif @sv==21 z=z-z/(exp(1i+sqr(z)))+1 elseif @sv==22 z=z-z/(recip(1i+sqr(z)))+1 elseif @sv==23 z=z+z/(1i+z)-1 elseif @sv==24 z=z+z/(exp(1i+z))-1 elseif @sv==25 z=z+z/(cotan(1i+z))-1 elseif @sv==26 z=z+z/(tan(1i+z))-1 elseif @sv==27 z=z+z/(cosh(1i+z))-1 elseif @sv==28 z=z+z/(cos(1i+z))-1 elseif @sv==29 z=z+z/(sinh(1i+z))-1 elseif @sv==30 z=z+z/(sin(1i+z))-1 endif z=z+@p16/(z-1i)+@p17*(z-1i)/(z+1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p7*@fn5(pixel) z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p11*exp(z) z=z+@p12*cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) if @v=="Tv" z=p2*fn4(log(abs(z^4+2*sqrt(3)*sqrt(-1)*z^2+1)))^@pow+p3+@p6*@fn5(pixel) elseif @v=="Tf" z=p2*fn4(log(abs(z^4-2*sqrt(3)*sqrt(-1)*z^2+1)))^@pow+p3+@p6*@fn5(pixel) elseif @v=="Ov" z=p2*fn4(log(abs(z^5-z)))^@pow+p3+@p6*@fn5(pixel) elseif @v=="Of" z=p2*fn4(log(abs(z^8+14*z^4+1)))^@pow+p3+@p6*@fn5(pixel) elseif @v=="Oe" z=p2*fn4(log(abs(z^12-33*z^8-33*z^4+1)))^@pow+p3+@p6*@fn5(pixel) elseif @v=="Yv" z=p2*fn4(log(abs(z^11+11*z^6-z)))^@pow+p3+@p6*@fn5(pixel) elseif @v=="Yf" z=p2*fn4(log(abs(z^20-228*z^15+494*z^10+228*z^5+1)))^@pow+p3+@p6*@fn5(pixel) elseif @v=="Ye" z=p2*fn4(log(abs(z^30+522*z^25-10005*z^20-10005*z^10-522*z^5+1)))^@pow+p3+@p6*@fn5(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Klein Polynomials" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30" endparam param p17 caption="Start Parameter 1" default=(0,0) endparam param p16 caption="Start Parameter 2" default=(0,0) endparam param V caption="Polynomial" enum="Tv""Tf""Ov""Of""Oe""Yv""Yf""Ye" default=3 endparam param iter caption="Iterations" default=4 endparam param p1 caption="K Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Exp Parameter" default=(0,0) endparam param p12 caption="Add Cos Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p7 caption="Add Pixel Parameter 1" default=(0,0) endparam param p6 caption="Add Pixel Parameter 2" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=p6!=0 || @p7!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } PoincaréPolynomials5 { ;https://arxiv.org/pdf/0706.2563.pdf ;https://en.wikipedia.org/wiki/Betti_number init: z=fn1(pixel) if @sv==0 z=z elseif @sv==1 z=(z-1i)^2/(z+1i) elseif @sv==2 z=(z-1i)/(z+1i)^2 elseif @sv==3 z=(z-3i)/(z+2i)/(z-1i) elseif @sv==4 z=z+1i/cotanh(z)+1 elseif @sv==5 z=z+1i/cotan(z)+1 elseif @sv==6 z=z+1i/cosh(z)+1 elseif @sv==7 z=(z-3i)*(z+2i)/(z-1i) elseif @sv==8 z=z+1i/cos(z)+1 elseif @sv==9 z=z+1i*z*(z-1i)/(z+1i) elseif @sv==10 z=z+1i*z*(z-1i)/(z+1i)*(z-2i) elseif @sv==11 z=z+1/(1i*exp(z))-1 elseif @sv==12 z=z+1/(1i*cotanh(z))-1 elseif @sv==13 z=z-z/(1i*cotan(z))+1 elseif @sv==14 z=z-z/(1i*sinh(z))+1 elseif @sv==15 z=z+1i*z^2/(exp(1i*z))-1 elseif @sv==16 z=z+1i*z^2/(cosh(1i*z))-1 elseif @sv==17 z=z+1i*z^2/(cos(1i*z))-1 elseif @sv==18 z=z-z^2/(exp(1i*sqr(z)))-1 elseif @sv==19 z=z-z^2/(sinh(1i*sqr(z)))-1 elseif @sv==20 z=z-z^2/(recip(1i*sqr(z)))-1 elseif @sv==21 z=z-z/(exp(1i+sqr(z)))+1 elseif @sv==22 z=z-z/(recip(1i+sqr(z)))+1 elseif @sv==23 z=z+z/(1i+z)-1 elseif @sv==24 z=z+z/(exp(1i+z))-1 elseif @sv==25 z=z+z/(cotan(1i+z))-1 elseif @sv==26 z=z+z/(tan(1i+z))-1 elseif @sv==27 z=z+z/(cosh(1i+z))-1 elseif @sv==28 z=z+z/(cos(1i+z))-1 elseif @sv==29 z=z+z/(sinh(1i+z))-1 elseif @sv==30 z=z+z/(sin(1i+z))-1 endif z=z+@p16/z+@p17*(z-1i)/(z+1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z)) z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) x=real(z)+real(p6) y=imag(z)+imag(p6) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) if @V1=="z^2-z" z=p4*((x+flip(y))^2-(x+flip(y)))+p5 elseif @V1=="Munster" z=(x+flip(y))^2*((x+flip(y))-(p4+1))/(1-(p4+1)*(x+flip(y)))+p5 elseif @V1=="z^3-z" z=p4*((x+flip(y))^3-(x+flip(y)))+p5 elseif @V1=="z^3-z^2" z=p4*((x+flip(y))^3-(x+flip(y))^2)+p5 elseif @V1=="z^3-z^2-z" z=p4*((x+flip(y))^3-(x+flip(y))^2-(x+flip(y)))+p5 elseif @V1=="Cayley" z=p4*(x+flip(y)-sqrt(-1))/(x+flip(y)+sqrt(-1))+p5 elseif @V1=="Inverse Cayley" z=p4*(x+flip(y)+sqrt(-1))/(x+flip(y)-sqrt(-1))+p5 elseif @V1=="Newton 1" z=x+flip(y)-p4*((x+flip(y))^3-1)/(3*(x+flip(y))^2)+p5 elseif @V1=="Newton 2" z=x+flip(y)-p4*((x+flip(y))^4-1)/(4*(x+flip(y))^3)+p5 elseif @V1=="Halley" z=x+flip(y)-p4*2*((x+flip(y))^3-1)*(3*(x+flip(y))^2)/(2*(3*(x+flip(y))^2)^2-((x+flip(y))^3-1)*(6*(x+flip(y))))+p5 elseif @V1=="Inkle" z=p4*conj(p4/(x+flip(y)-p5))+p5 elseif @V1=="Magnet 1" z=p4*sqr(((x+flip(y))^2+p5-1)/(2*(x+flip(y))+p5-2)) elseif @V1=="Magnet 2" z=p4*sqr(((x+flip(y))^3+3*(p5-1)*(x+flip(y))+(p5-1)*(p5-2))/(3*(x+flip(y))^2+3*(p5-2)*(x+flip(y))+(p5-1)*(p5-2)+1)) endif if @V2=="2" if |z|<1 z=z/|z| endif elseif @V2=="3" if |z|>1 z=z/|z| endif endif if @V3=="2" if real(z)imag(z) z=flip(z) endif endif if @v=="Q1(B2)" z=p2*fn4(log(abs(@fn5(1-z-z^3-z^4))))^@pow+p3 elseif @v=="Q2(A2)" z=p2*fn4(log(abs(@fn5(1-z-z^2-z^3))))^@pow+p3 elseif @v=="Q3(B2)" z=p2*fn4(log(abs(@fn5(1-z-z^2-z^3-2*z^4))))^@pow+p3 elseif @v=="Q8(A3)" z=p2*fn4(log(abs(@fn5(1-z-2*z^2+z^5+z^6))))^@pow+p3 elseif @v=="Q9(A3)" z=p2*fn4(log(abs(@fn5(1-z-3*z^2-z^4+z^5+3*z^6))))^@pow+p3 elseif @v=="Q10(B3)" z=p2*fn4(log(abs(@fn5(1-z-3*z^3+z^4-z^5+z^8+2*z^9))))^@pow+p3 elseif @v=="Q11(B3)" z=p2*fn4(log(abs(@fn5(1-z-2*z^3+z^4-z^5+z^8+z^9))))^@pow+p3 elseif @v=="Q12(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^2-3*z^3-z^6+z^7+z^8+3*z^9))))^@pow+p3 elseif @v=="Q16(G2)" z=p2*fn4(log(abs(@fn5(1-2*z+z^2-z^4+z^6))))^@pow+p3 elseif @v=="Q17(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^3-2*z^5+z^6+z^8+z^9))))^@pow+p3 elseif @v=="Q18(G2)" z=p2*fn4(log(abs(@fn5(1-2*z+z^3-z^4-z^5+2*z^6))))^@pow+p3 elseif @v=="Q19(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^3-z^4-z^5+z^6+z^8+z^9))))^@pow+p3 elseif @v=="Q20(G2)" z=p2*fn4(log(abs(@fn5(1-2*z-2*z^5+3*z^6))))^@pow+p3 elseif @v=="Q21(D4)" z=p2*fn4(log(abs(@fn5(1-z-2*z^2-z^3+2*z^5+z^6+2*z^7+3*z^8-z^9+z^10-z^11-2*z^12))))^@pow+p3 elseif @v=="Q22(B4)" z=p2*fn4(log(abs(@fn5(1-z-z^2-z^3+z^7+2*z^8+z^9+z^10+z^11-z^15-z^16))))^@pow+p3 elseif @v=="Q23(D4)" z=p2*fn4(log(abs(@fn5(1-z-z^3-z^4+z^6+z^7+2*z^8-z^11-z^12))))^@pow+p3 elseif @v=="Q24(G2)" z=p2*fn4(log(abs(@fn5(1-z-z^5))))^@pow+p3 elseif @v=="Q25(B2)" z=p2*fn4(log(abs(@fn5(1-z-z^3))))^@pow+p3 elseif @v=="Q26(A2)" z=p2*fn4(log(abs(@fn5(1-z-z^2))))^@pow+p3 elseif @v=="Q27(B2)" z=p2*fn4(log(abs(@fn5(1-z-z^2-z^3))))^@pow+p3 elseif @v=="Q28(G2)" z=p2*fn4(log(abs(@fn5(1-z-z^3-z^5))))^@pow+p3 elseif @v=="Q29(G2)" z=p2*fn4(log(abs(@fn5(1-z-z^2-z^3-z^4-z^5))))^@pow+p3 elseif @v=="Q36(A3)" z=p2*fn4(log(abs(@fn5(1-z-z^2+z^5))))^@pow+p3 elseif @v=="Q37(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^3+z^8))))^@pow+p3 elseif @v=="Q38(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^2-z^4+z^6+z^8))))^@pow+p3 elseif @v=="Q39(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^2-z^3+z^7+z^8))))^@pow+p3 elseif @v=="Q40(B3)" z=p2*fn4(log(abs(@fn5(1-z-2*z^3+z^4-z^5+z^6+z^8))))^@pow+p3 elseif @v=="Q43(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^4+z^8))))^@pow+p3 elseif @v=="Q44(B3)" z=p2*fn4(log(abs(@fn5(1-z-z^3-z^5+z^6+z^8))))^@pow+p3 elseif @v=="Q46(D4)" z=p2*fn4(log(abs(@fn5(1-z^2-z^3-z^4-z^5-z^6+z^8+z^9+2*z^10+2*z^11+2*z^12+z^13+z^14-z^16-z^17-z^18-z^19))))^@pow+p3 elseif @v=="Q47(D5)" z=p2*fn4(log(abs(@fn5(1-z-z^2-Z^4+z^5+z^6+z^7+z^9+z^10-z^11-z^13-z^14-z^15+z^19))))^@pow+p3 elseif @v=="Q48(B5)" z=p2*fn4(log(abs(@fn5(1-z-2*z^3+z^4+z^6-z^7+2*z^8-z^9+z^10+z^12+z^13-z^14-z^15-z^18-z^20+z^24))))^@pow+p3 elseif @v=="Pg2" z=p2*fn4(log(abs(@fn5((1+z^3)*(1+z^11)))))^@pow+p3 elseif @v=="Pf4" z=p2*fn4(log(abs(@fn5((1+z^3)*(1+z^11)*(1+z^15)*(1+z^23)))))^@pow+p3 elseif @v=="Pe6" z=p2*fn4(log(abs(@fn5((1+z^3)*(1+z^9)*(1+z^11)*(1+z^15)*(1+z^17)*(1+z^23)))))^@pow+p3 elseif @v=="Pe7" z=p2*fn4(log(abs(@fn5((1+z^3)*(1+z^11)*(1+z^15)*(1+z^19)*(1+z^23)*(1+z^27)*(1+z^35)))))^@pow+p3 elseif @v=="Pe8" z=p2*fn4(log(abs(@fn5((1+z^3)*(1+z^15)*(1+z^23)*(1+z^27)*(1+z^35)*(1+z^39)*(1+z^47)*(1+z^59)))))^@pow+p3 endif z=z+@p11*@fn6(pixel) endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Poincaré Polynomials 5" center=(0.001,0.001) maxiter=500 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30" endparam param p16 caption="Start Parameter 1" default=(0,0) endparam param p17 caption="Start Parameter 2" default=(0,0) endparam param V1 caption="Variant 1" enum="z^2-z""Munster""z^3-z""z^3-z^2""z^3-z^2-z""Cayley""Inverse Cayley"\ "Newton 1""Newton 2""Halley""Inkle""Magnet 1""Magnet 2" default=7 endparam param V2 caption="Variant 2" enum="1""2""3" default=0 endparam param V3 caption="Variant 3" enum="1""2""3" default=1 endparam param V caption="Polynomial" enum="Q1(B2)""Q2(A2)""Q3(B2)"\ "Q8(A3)""Q9(A3)""Q10(B3)""Q11(B3)""Q12(B3)"\ "Q16(G2)""Q17(B3)""Q18(G2)""Q19(B3)""Q20(G2)""Q21(D4)""Q22(B4)""Q23(D4)"\ "Q24(G2)""Q25(B2)""Q26(A2)""Q27(B2)""Q28(G2)""Q29(G2)"\ "Q36(A3)""Q37(B3)""Q38(B3)""Q39(B3)""Q40(B3)"\ "Q43(B3)""Q44(B3)"\ "Q46(D4)""Q47(D5)""Q48(B5)"\ "Pg2""Pf4""Pe6""Pe7""Pe8" default=0 endparam param p1 caption="K Parameter 1" default=(0,0) endparam param p6 caption="K Parameter 2" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param p4 caption="Variant Parameter 1" default=(1,0) endparam param p5 caption="Variant Parameter 2" default=(0,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn5 caption="Labs Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param iter caption="Iterations" default=3 endparam param p11 caption="Add Pixel Parameter" default=(0,0) endparam func fn6 caption="Add Pixel Function" default=ident() visible=@p11!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } Magmod1 { init: z=fn1(pixel) if @sv==0 z=z elseif @sv==1 z=(cotanh(z)-1i)^2/cos(z+1i) elseif @sv==2 z=(z-cos(1i))/cosh(z+1i)^2 elseif @sv==3 z=(cosh(z)-2i)/cotan(z+2i)/(z-1i) elseif @sv==4 z=z+1i/cotanh(z)+1 elseif @sv==5 z=z+1i/cotan(z)+1 elseif @sv==6 z=z+1i/cosh(z)+1 elseif @sv==7 z=(z-3i)*(z+2i)/(cotanh(z)-1i+1)/2i elseif @sv==8 z=z+1i/cos(z)+1 elseif @sv==9 z=z+1i*z*(z-1i)/(z+1i) elseif @sv==10 z=z+1i*z*(z-1i)/exp(z+1i)*(z-2i) elseif @sv==11 z=z+1/(1i*exp(z))-1 elseif @sv==12 z=z+1/(1i*cotanh(z))-1 elseif @sv==13 z=z-z/(1i*cotan(z))+1 elseif @sv==14 z=z-z/(1i*sinh(z))+1 elseif @sv==15 z=z+1i*z^2/(exp(1i*z))-1 elseif @sv==16 z=z+1i*z^2/(cosh(1i*z))-1 elseif @sv==17 z=z+1i*z^2/(cos(1i*z))-1 elseif @sv==18 z=z-z^2/(exp(1i*sqr(z)))-1 elseif @sv==19 z=z-z^2/(sinh(1i*sqr(z)))-1 elseif @sv==20 z=z-z^2/(recip(1i*sqr(z)))-1 elseif @sv==21 z=z-z/(exp(1i+sqr(z)))+1 elseif @sv==22 z=z-z/(recip(1i+sqr(z)))+1 elseif @sv==23 z=z+z/cotan(cotanh(1i+z))-1 elseif @sv==24 z=z+z/(exp(1i+z))-1 elseif @sv==25 z=z+z/(cotan(1i+z))-1 elseif @sv==26 z=z+z/(tan(1i+z))-1 elseif @sv==27 z=z+z/(cosh(1i+z))-1 elseif @sv==28 z=z+z/(cos(1i+z))-1 elseif @sv==29 z=z+z/(sinh(1i+z))-1 elseif @sv==30 z=z+z/(sin(1i+z))-1 endif z=z+@p16/(z-1i)+@p17*(z-1i)/(z+1i) int i=0 loop: while i<@iter i=i+1 z=fn2(flip(fn3(z))) z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p11*exp(z) z=z+@p12*cos(z) x=real(z)+real(p1) y=imag(z)+imag(p1) a=x^2+y^2 x=x/a*p2+real(p3) y=y/a*p2+imag(p3) z=x+flip(y) if |z|<1 z=z/|z| endif if @V=="1" z=p4*fn4(log(abs(sqr((z^2+p5-1)/(2*z+p5-2)))))^@pow+p6+@p18*@fn5(pixel) elseif @V=="2" z=p4*fn4(log(abs(sqr((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1)))))^@pow+p6+@p18*@fn5(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Magmod 1" center=(0.001,0.001) maxiter=500 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30" endparam param p17 caption="Start Parameter 1" default=(0,0) endparam param p16 caption="Start Parameter 2" default=(0,0) endparam param V caption="Magnet Variant" enum="1""2" default=0 endparam param iter caption="Iterations" default=5 endparam param p3 caption="K Parameter 1" default=(0,0) endparam param p1 caption="K Parameter 2" default=(0,0) endparam param p2 caption="K Parameter 3" default=(1,0) endparam param p5 caption="Magnet Parameter" default=(0,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Exp Parameter" default=(0,0) endparam param p12 caption="Add Cos Parameter" default=(0,0) endparam param p4 caption="Labs Parameter 1" default=(1,0) endparam param p6 caption="Labs Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p18 caption="Add Pixel Parameter" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=@p18!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10.0 endparam } Conambocosism3 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(sin(z))+@p18*@fn5(pixel) z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p11*exp(z) z=z+@p12*cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=p2*(log(abs(sqr(fn3((p4-log(z)-(z+3*pi/2)*sqrt(-1))/z)))))+p3+@p19*@fn5(pixel) endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Conambocosism 3" center=(0.001,0.001) maxiter=500 periodicity=0 param iter caption="Iterations" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function" default=ident() endfunc func fn3 caption="Labs Function" default=ident() endfunc param p1 caption="K Parameter" default=(0,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Exp Parameter" default=(0,0) endparam param p12 caption="Add Cos Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param p4 caption="Conambocosism Parameter" default=(1,0) endparam param p19 caption="Add Pixel Parameter 1" default=(0,0) endparam param p18 caption="Add Pixel Parameter 2" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=@p18!=0 || @p19!=0 endfunc param adj caption="Adjustment" default=102.00 endparam param bail caption="Bailout" default=10000000.0 endparam } WigwamMod { ; Increasing the value of the Iterations parameter increases detail ; This will be necessary when zooming in init: z=fn1(pixel) if @sv==0 z=z elseif @sv==1 z=(cotanh(z)-1i)^2/cos(z+1i) elseif @sv==2 z=(z-cos(1i))/cosh(z+1i)^2 elseif @sv==3 z=(cosh(z)-2i)/cotan(z+2i)/(z-1i) elseif @sv==4 z=z+1i/cotanh(z)+1 elseif @sv==5 z=z+1i/cotan(z)+1 elseif @sv==6 z=z+1i/cosh(z)+1 elseif @sv==7 z=(z-3i)*(z+2i)/(cotanh(z)-1i+1)/2i elseif @sv==8 z=z+1i/cos(z)+1 elseif @sv==9 z=z+1i*z*(z-1i)/(z+1i) elseif @sv==10 z=z+1i*z*(z-1i)/exp(z+1i)*(z-2i) elseif @sv==11 z=z+1/(1i*exp(z))-1 elseif @sv==12 z=z+1/(1i*cotanh(z))-1 elseif @sv==13 z=z-z/(1i*cotan(z))+1 elseif @sv==14 z=z-z/(1i*sinh(z))+1 elseif @sv==15 z=z+1i*z^2/(exp(1i*z))-1 elseif @sv==16 z=z+1i*z^2/(cosh(1i*z))-1 elseif @sv==17 z=z+1i*z^2/(cos(1i*z))-1 elseif @sv==18 z=z-z^2/(exp(1i*sqr(z)))-1 elseif @sv==19 z=z-z^2/(sinh(1i*sqr(z)))-1 elseif @sv==20 z=z-z^2/(recip(1i*sqr(z)))-1 elseif @sv==21 z=z-z/(exp(1i+sqr(z)))+1 elseif @sv==22 z=z-z/(recip(1i+sqr(z)))+1 elseif @sv==23 z=z+z/cotan(cotanh(1i+z))-1 elseif @sv==24 z=z+z/(exp(1i+z))-1 elseif @sv==25 z=z+z/(cotan(1i+z))-1 elseif @sv==26 z=z+z/(tan(1i+z))-1 elseif @sv==27 z=z+z/(cosh(1i+z))-1 elseif @sv==28 z=z+z/(cos(1i+z))-1 elseif @sv==29 z=z+z/(sinh(1i+z))-1 elseif @sv==30 z=z+z/(sin(1i+z))-1 endif int a=0 loop: while a<@iter a=a+1 z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p11*exp(z) z=z+@p12*cos(z) if real(fn2(z))<0.5 z=p1*z else z=p1*(1-z) endif z=p2*abs(fn3(z))^@pow+p3+@p19*@fn5(pixel) endwhile z=p4*z/100 bailout: |z|<@bail default: title="Wigwam Mod" center=(0.001,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30" endparam param iter caption="Iterations" default=7 endparam param p1 caption="Wigwam Parameter" default=(1,-1) endparam param p2 caption="Abs Parameter 1" default=(1,0) endparam param p3 caption="Abs Parameter 2" default=(0,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Exp Parameter" default=(0,0) endparam param p12 caption="Add Cos Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Wigwam Function" default=ident() endfunc func fn3 caption="Abs Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p19 caption="Add Pixel Parameter" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=@p19!=0 endfunc param p4 caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=4.0 endparam } Unklemesterin { init: z=fn1(pixel) if @sv==0 z=z elseif @sv==1 z=(cotanh(z)-1i)^2/cos(z+1i) elseif @sv==2 z=(z-cos(1i))/cosh(z+1i)^2 elseif @sv==3 z=(cosh(z)-2i)/cotan(z+2i)/(z-1i) elseif @sv==4 z=z+1i/cotanh(z)+1 elseif @sv==5 z=z+1i/cotan(z)+1 elseif @sv==6 z=z+1i/cosh(z)+1 elseif @sv==7 z=(z-3i)*(z+2i)/(cotanh(z)-1i+1)/2i elseif @sv==8 z=z+1i/cos(z)+1 elseif @sv==9 z=z+1i*z*(z-1i)/(z+1i) elseif @sv==10 z=z+1i*z*(z-1i)/exp(z+1i)*(z-2i) elseif @sv==11 z=z+1/(1i*exp(z))-1 elseif @sv==12 z=z+1/(1i*cotanh(z))-1 elseif @sv==13 z=z-z/(1i*cotan(z))+1 elseif @sv==14 z=z-z/(1i*sinh(z))+1 elseif @sv==15 z=z+1i*z^2/(exp(1i*z))-1 elseif @sv==16 z=z+1i*z^2/(cosh(1i*z))-1 elseif @sv==17 z=z+1i*z^2/(cos(1i*z))-1 elseif @sv==18 z=z-z^2/(exp(1i*sqr(z)))-1 elseif @sv==19 z=z-z^2/(sinh(1i*sqr(z)))-1 elseif @sv==20 z=z-z^2/(recip(1i*sqr(z)))-1 elseif @sv==21 z=z-z/(exp(1i+sqr(z)))+1 elseif @sv==22 z=z-z/(recip(1i+sqr(z)))+1 elseif @sv==23 z=z+z/cotan(cotanh(1i+z))-1 elseif @sv==24 z=z+z/(exp(1i+z))-1 elseif @sv==25 z=z+z/(cotan(1i+z))-1 elseif @sv==26 z=z+z/(tan(1i+z))-1 elseif @sv==27 z=z+z/(cosh(1i+z))-1 elseif @sv==28 z=z+z/(cos(1i+z))-1 elseif @sv==29 z=z+z/(sinh(1i+z))-1 elseif @sv==30 z=z+z/(sin(1i+z))-1 endif z=z+@p16/(z-1i)+@p17*(z-1i)/(z+1i) int i=0 loop: while i<@iter i=i+1 z=fn2(fn3(z))+@p18*@fn5(pixel) if @V1=="2" if |z|>1 z=z/|z| endif endif z=(z-@p15)/(1-@p15*z) z=z/(@p8*z+1) z=z+@p9*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p10*(z+1i)*(z-1)/(z-1i) z=z+@p11*exp(z) z=z+@p12*cos(z) x=real(z) y=imag(z) a=x^2+y^2 x=x/a+real(p1) y=y/a+imag(p1) z=x+flip(y) z=z^2*(z-p4)/(1-p4*z) if @v=="1" z=p2*fn4(log(abs(@fn6(z^4+2*sqrt(3)*sqrt(-1)*z^2+1))))^@pow+p3+@p19*@fn5(pixel) elseif @v=="2" z=p2*fn4(log(abs(@fn6(z^4-2*sqrt(3)*sqrt(-1)*z^2+1))))^@pow+p3+@p19*@fn5(pixel) elseif @v=="3" z=p2*fn4(log(abs(@fn6(z^5+2*sqrt(3)*sqrt(-1)*z^3+1))))^@pow+p3+@p19*@fn5(pixel) elseif @v=="4" z=p2*fn4(log(abs(@fn6(z^5-2*sqrt(3)*sqrt(-1)*z^3+1))))^@pow+p3+@p19*@fn5(pixel) elseif @v=="5" z=p2*fn4(log(abs(@fn6(z^6+2*sqrt(3)*sqrt(-1)*z^4+1))))^@pow+p3+@p19*@fn5(pixel) elseif @v=="6" z=p2*fn4(log(abs(@fn6(z^6-2*sqrt(3)*sqrt(-1)*z^4+1))))^@pow+p3+@p19*@fn5(pixel) elseif @v=="7" z=p2*fn4(log(abs(@fn6(z^7+2*sqrt(3)*sqrt(-1)*z^5+1))))^@pow+p3+@p19*@fn5(pixel) elseif @v=="8" z=p2*fn4(log(abs(@fn6(z^7-2*sqrt(3)*sqrt(-1)*z^5+1))))^@pow+p3+@p19*@fn5(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Unklemesterin" center=(0.001,0.001) maxiter=500 magn=0.5 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22""23""24""25""26""27""28""29""30" endparam param p17 caption="Start Parameter 1" default=(0,0) endparam param p16 caption="Start Parameter 2" default=(0,0) endparam param V1 caption="Loop Variant" enum="1""2" default=1 endparam param V caption="Polynomial" enum="1""2""3""4""5""6""7""8" default=3 endparam param iter caption="Iterations" default=3 endparam param p1 caption="K Parameter" default=(0,0) endparam param p15 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p9 caption="Add W Parameter 1" default=(0,0) endparam param p10 caption="Add W Parameter 2" default=(0,0) endparam param p11 caption="Add Exp Parameter" default=(0,0) endparam param p12 caption="Add Cos Parameter" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param p4 caption="Munster Parameter" default=(2,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn6 caption="Labs Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p19 caption="Add Pixel Parameter 1" default=(0,0) endparam param p18 caption="Add Pixel Parameter 2" default=(0,0) endparam func fn5 caption="Add Pixel Function" default=ident() visible=@p18!=0 || @p19!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam }