; Ultra Fractal formulas by Otto Magus. ; Second collection, started December 2017 Durand-Kerner(PartThereof) { ;https://en.wikipedia.org/wiki/Durand–Kerner_method 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" if @Va=="none" z=z elseif @Va=="22" z=-1/abs(z) elseif @Va=="23" z=4.63/cotanh(z) elseif @Va=="24" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="25" z=3.5/tanh(z) elseif @Va=="26" if real(z)>imag(z) z=flip(z) endif elseif @Va=="27" z=-0.2535/sin(z) elseif @Va=="28" if |z|>1 z=z/|z| endif elseif @Va=="29" z=1.895/sin(z) elseif @Va=="30" if |z|<1 z=z/|z| endif elseif @Va=="30" z=0.5/tan(z) elseif @Va=="31" z=-10/z elseif @Va=="32" z=abs(z) elseif @Va=="33" z=-conj(z) elseif @Va=="34" z=0.6*z elseif @Va=="35" z=0.2*sqr(z) elseif @Va=="36" z=0.4*sqr(z) elseif @Va=="37" z=-1.3*sqr(z) elseif @Va=="38" z=-0.75*cosh(z) elseif @Va=="39" z=-1.5*cos(z) elseif @Va=="40" z=-1.9*cos(z) elseif @Va=="41" z=-3.4*cos(z) elseif @Va=="42" z=2.7*sin(z) elseif @Va=="43" z=z+1/z elseif @Va=="44" z=z-1/z elseif @Va=="45" z=z-1/sqr(z) elseif @Va=="46" z=z-1/cosh(z) elseif @Va=="47" z=z-1/sinh(z) elseif @Va=="48" z=z-1/sin(z) elseif @Va=="49" z=z+2.2/z elseif @Va=="50" z=z+0.05/flip(z) elseif @Va=="51" z=z-0.05/conj(z) elseif @Va=="52" z=z-0.05/cabs(z) elseif @Va=="53" z=z+0.05/cabs(z) elseif @Va=="54" z=z-0.083/exp(z) elseif @Va=="55" z=z-0.083/sqr(z) elseif @Va=="56" z=z+0.083/sqr(z) elseif @Va=="57" z=z+0.3/sqr(z) elseif @Va=="58" z=z+1/cotanh(z) elseif @Va=="59" z=z-0.85/cos(z) elseif @Va=="60" z=z-0.33*sqr(z) elseif @Va=="61" z=z+0.33*sqr(z) elseif @Va=="62" z=z+1.37*sqr(z) elseif @Va=="63" z=z-0.093*sqr(z) elseif @Va=="64" z=z+2.5*cotanh(z) elseif @Va=="65" z=z-2.5*cos(z) endif else if @Va=="none" z=z elseif @Va=="22" z=3.12/cotanh(z) elseif @Va=="23" z=1.5/cotan(z) elseif @Va=="24" z=-1.5/sinh(z) elseif @Va=="25" if real(z)@bail default: title="Durand-Kerner (Part Thereof)" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p11 caption="J Parameter" 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""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 p1 caption="DK Parameter 1" default=(1,0) endparam param p2 caption="DK Parameter 2" default=(1,0) endparam param p3 caption="DK Parameter 3" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Loop Parameter 1" default=(0.75,0) endparam param p5 caption="Loop 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 bail caption="Bailout" default=0.000000001 endparam } LabsEoseneFaspic { init: z=(fn1(pixel)) int i=0 loop: while i<@iter i=i+1 z=fn2(z) z=(z-p5)/(1-p5*z) z=z/(p6*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=1.7/conj(z) elseif @Va=="7" z=-2.7/sqr(z) elseif @Va=="8" z=-10/sqr(z) elseif @Va=="9" z=1/cotan(z) elseif @Va=="10" z=-1.9/abs(z) elseif @Va=="11" z=-1/tan(z) elseif @Va=="12" z=-2/cosh(z) elseif @Va=="13" z=-1/sinh(z) elseif @Va=="14" z=-1/sin(z) elseif @Va=="15" z=z+1/cabs(z) elseif @Va=="16" z=z+1/sqr(z) elseif @Va=="17" z=z+1/cos(z) elseif @Va=="18" z=z+1/sin(z) elseif @Va=="19" z=z-1/z elseif @Va=="20" z=z-1/abs(z) elseif @Va=="21" z=z-1/exp(z) elseif @Va=="22" z=z-1/sqr(z) elseif @Va=="23" z=z-1/tanh(z) elseif @Va=="24" z=z-1/tan(z) elseif @Va=="25" z=z-1/cosh(z) elseif @Va=="26" z=z-1/cos(z) elseif @Va=="27" z=z-1/sinh(z) elseif @Va=="28" z=z-1/sin(z) elseif @Va=="29" z=z+0.3/flip(z) elseif @Va=="30" z=z-0.3/flip(z) elseif @Va=="31" z=z-0.3/z elseif @Va=="32" z=z-0.3/exp(z) elseif @Va=="33" z=z+10/cos(z) elseif @Va=="34" z=z-10/exp(z) elseif @Va=="35" z=z-10/sqr(z) elseif @Va=="36" z=z-10/cosh(z) elseif @Va=="37" z=z-10/sinh(z) elseif @Va=="38" z=z-10/sin(z) elseif @Va=="39" z=z+5/cotan(z) elseif @Va=="40" z=z+5/cos(z) elseif @Va=="41" z=z-5/sqr(z) elseif @Va=="42" z=z-5/cosh(z) elseif @Va=="43" z=z-5/cos(z) elseif @Va=="44" z=z-2/cosh(z) elseif @Va=="45" z=z-0.55/z elseif @Va=="46" z=z-0.55/cosh(z) elseif @Va=="47" z=z+exp(z) elseif @Va=="48" z=z+sqr(z) elseif @Va=="49" z=z+cosh(z) elseif @Va=="50" z=z-cosh(z) elseif @Va=="51" z=z-cos(z) elseif @Va=="52" z=z+0.37*cabs(z) elseif @Va=="52" z=z-1.8*abs(z) elseif @Va=="53" z=z-0.26*exp(z) elseif @Va=="54" z=z+0.3*sqr(z) elseif @Va=="55" z=z-0.5*sqr(z) elseif @Va=="56" z=z-1.65*sqr(z) elseif @Va=="57" z=z-10*sin(z) elseif @Va=="58" z=1/sin(cotan(z)) elseif @Va=="59" z=1.18/sqr(cotanh(z)) elseif @Va=="60" z=-2.2/sqr(cosh(z)) elseif @Va=="61" z=-55/sqr(cos(z)) elseif @Va=="62" z=55/exp(sinh(z)) elseif @Va=="63" z=z-2/exp(sinh(z)) elseif @Va=="64" z=z-2/exp(sin(z)) elseif @Va=="65" z=z-2/abs(cosh(z)) elseif @Va=="66" z=z-2/abs(tanh(z)) elseif @Va=="67" z=z-2/abs(tan(z)) elseif @Va=="68" z=z-0.27/sqr(tan(z)) elseif @Va=="69" z=z-3.1/tan(cotanh(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=1/cotan(z) elseif @Va=="7" z=1/tan(z) elseif @Va=="8" z=-1/abs(z) elseif @Va=="9" z=-1/sqr(z) elseif @Va=="10" z=-1/cotan(z) elseif @Va=="11" z=-1/tan(z) elseif @Va=="12" z=-15/sqr(z) elseif @Va=="13" z=15/sqr(z) elseif @Va=="14" z=-5/sqr(z) elseif @Va=="15" z=5/sqr(z) elseif @Va=="16" z=1/flip(cos(z)) elseif @Va=="17" z=1/flip(sin(z)) elseif @Va=="18" z=1/z^4 elseif @Va=="19" z=1/cotan(abs(z)) elseif @Va=="20" z=1/tan(cos(z)) elseif @Va=="21" z=1.9*abs(z) elseif @Va=="22" z=1.4*abs(z) elseif @Va=="23" z=3.7*sqr(z) elseif @Va=="24" z=-sinh(z) elseif @Va=="25" z=z+sqr(abs(z)) elseif @Va=="26" z=z^4 elseif @Va=="27" z=z-z^4 elseif @Va=="28" z=z+1/cabs(z) elseif @Va=="29" z=z+sqr(sin(z)) elseif @Va=="30" z=z+sqr(sinh(z)) elseif @Va=="31" z=z+1/cos(z) elseif @Va=="32" z=z+sqr(cos(z)) elseif @Va=="33" z=z+sqr(cosh(z)) elseif @Va=="34" z=z+z^4 elseif @Va=="35" z=z-0.3*sin(z) elseif @Va=="36" z=z-0.225*sin(z) elseif @Va=="37" z=z-2/sinh(z) elseif @Va=="38" z=z-4.4/abs(z) elseif @Va=="39" z=z+0.5/exp(z) elseif @Va=="40" z=z-12/sqr(z) elseif @Va=="41" z=z+12/sqr(z) elseif @Va=="42" z=z-2/tanh(z) elseif @Va=="43" z=z+17/cosh(z) elseif @Va=="44" z=z-10/sinh(z) elseif @Va=="45" z=z+1/sqr(cotan(z)) elseif @Va=="46" z=z+sqr(z) elseif @Va=="47" z=z+cosh(z) elseif @Va=="48" z=z-2.75*sinh(z) elseif @Va=="49" z=z-7.7*sqr(z) elseif @Va=="50" z=z-2*sqr(z) elseif @Va=="51" z=z+3.3*sqr(z) elseif @Va=="52" z=z+7.7*sqr(z) elseif @Va=="52" z=10/flip(sqr(z)) elseif @Va=="53" z=10/conj(sqr(z)) elseif @Va=="54" z=10/abs(sqr(z)) elseif @Va=="55" z=10/z^4 elseif @Va=="56" z=-10/z^4 elseif @Va=="57" z=-10/flip(sqr(z)) elseif @Va=="58" z=-10/conj(sqr(z)) elseif @Va=="59" z=-10/abs(sqr(z)) elseif @Va=="60" z=10/sqr(cos(z)) elseif @Va=="61" z=-10/sqr(cos(z)) elseif @Va=="62" z=10/sqr(abs(z)) elseif @Va=="63" z=-10/sqr(abs(z)) elseif @Va=="64" z=z-3/cotanh(cotan(z)) elseif @Va=="65" z=z-2.8/sqr(cotanh(z)) elseif @Va=="66" z=z-2.8*sqr(cotanh(z)) elseif @Va=="67" z=z-3^cotan(tanh(z)) elseif @Va=="68" z=z-3.5*tan(tan(z)) elseif @Va=="69" z=z-1.85*cotan(cotan(z)) endif endif float k=real(z) if k<0 z=z*p1-@p7 else z=z*conj(p1)+@p7 endif if @JM=="J" z=p2*log(abs(z))^@pow+p3 else z=p2*log(abs(z))^@pow+p3+fn3(pixel) endif endwhile z=p4*z/100 bailout: |z|<=@bail default: title="Labs Eosene Faspic" maxiter=1000 center=(0.001,0.001) periodicity=0 param JM 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""66""67""68"\ "69""70""71""72""73""74""75""76""77""78" endparam param iter caption="Iterations" default=5 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="EF Parameter 1" default=1.0 endparam param p1 caption="EF Parameter 2" default=(0,-1) endparam param p2 caption="Labs Parameter 1" default=(1,0) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 default=ident() caption="M Function" visible=@JM=="M" endfunc param p4 caption="Adjustment" default=101.21145 endparam param bail caption="Bailout" default=1e10 endparam } LabsMöbiusSquared { 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" z=2.5/flip(z) 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=2.5/conj(z) elseif @Va=="11" z=2.2/abs(z) elseif @Va=="12" z=z+0.5*sqr(z) elseif @Va=="13" z=2.8/sin(z) elseif @Va=="14" z=z-0.3*sqr(z) elseif @Va=="15" z=z+0.6*cosh(z) elseif @Va=="16" z=1/abs(z) elseif @Va=="17" z=2.75/sqr(z) elseif @Va=="18" z=3/cosh(z) elseif @Va=="19" z=3.5/cos(z) elseif @Va=="20" z=z-0.5*sin(z) elseif @Va=="21" z=-1.6/cosh(z) elseif @Va=="22" z=z-4/cosh(z) elseif @Va=="23" z=z-4.2/exp(z) elseif @Va=="24" z=z+1.1/exp(z) elseif @Va=="25" z=z-1.3/cos(z) elseif @Va=="26" z=z+0.35/sinh(z) elseif @Va=="27" z=z-0.35*abs(z) elseif @Va=="28" z=z-0.68*exp(z) elseif @Va=="29" z=z-0.3*exp(z) elseif @Va=="30" z=z-2.35*tan(z) elseif @Va=="31" z=z+5/cos(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" z=1.4/abs(z) elseif @Va=="4" z=4.5/sqr(z) elseif @Va=="5" z=-1.3/cotanh(z) 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=15.5/cosh(z) elseif @Va=="10" z=-4.5/cos(z) elseif @Va=="11" z=z-2.8/cos(z) elseif @Va=="12" z=3/sinh(z) elseif @Va=="13" z=z-0.3*sqr(z) elseif @Va=="14" z=z+0.5*cotan(z) elseif @Va=="15" z=3/sin(z) elseif @Va=="16" z=z+cos(z) elseif @Va=="17" z=z-cos(z) elseif @Va=="18" z=2.2/sin(z) elseif @Va=="19" z=z+0.3/z elseif @Va=="20" z=z-1.5/exp(z) elseif @Va=="21" z=z+1.1/exp(z) elseif @Va=="22" z=z-1.5/sqr(z) elseif @Va=="23" z=z+0.6/sqr(z) elseif @Va=="24" z=z+3.25/tan(z) elseif @Va=="25" z=z+0.7/cosh(z) elseif @Va=="26" z=z+3/cos(z) elseif @Va=="27" z=1.25*z elseif @Va=="28" z=z+0.25*flip(z) elseif @Va=="29" z=z+0.4*cosh(z) elseif @Va=="30" z=z+3*cos(z) elseif @Va=="31" z=z+1.8*cos(z) endif endif if @JM=="J" z=((-4*p3*z+p4)/(conj(p4)*z+conj(-4*p3)))^2+@p7 else z=((-4*p3*z+p4)/(conj(p4)*z+conj(-4*p3)))^2+@p7+fn4(pixel) endif z=p5*log(abs(z))^@pow2+p6 if @JM=="J" if @Va=="none" z=z elseif @Va=="32" if |z|<1 z=z/|z| endif elseif @Va=="33" if |z|>1 z=z/|z| endif elseif @Va=="34" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="35" if real(z)imag(z) z=flip(z) endif elseif @Va=="37" z=-0.3*z elseif @Va=="38" z=z+0.3/exp(z) elseif @Va=="39" z=z-0.7*sqr(z) elseif @Va=="40" z=z+0.65*sqr(z) elseif @Va=="41" z=z+0.2/exp(z) elseif @Va=="42" z=z-0.3*tanh(z) elseif @Va=="43" z=z-tanh(z) elseif @Va=="44" z=z-0.3*sin(z) elseif @Va=="45" z=1/flip(z) elseif @Va=="46" z=2.2/flip(z) elseif @Va=="47" z=-1/flip(z) elseif @Va=="48" z=1/abs(z) elseif @Va=="49" z=1.5/abs(z) elseif @Va=="50" z=2/sqr(z) elseif @Va=="51" z=4/cosh(z) elseif @Va=="52" z=1.5/sinh(z) elseif @Va=="53" z=z+0.25/conj(z) elseif @Va=="54" z=z+0.25/abs(z) elseif @Va=="55" z=z+0.85/exp(z) elseif @Va=="56" z=z+0.6/sqr(z) elseif @Va=="57" z=25/sqr(z) elseif @Va=="58" z=z-0.85/cotan(z) elseif @Va=="59" z=z-0.55/cotan(z) elseif @Va=="60" z=z-5/cosh(z) elseif @Va=="61" z=z-1/cosh(z) elseif @Va=="62" z=z-1/cos(z) elseif @Va=="63" z=z-0.2*conj(z) elseif @Va=="64" z=z+0.2*conj(z) elseif @Va=="65" z=z-0.2*abs(z) elseif @Va=="66" z=z+0.2*abs(z) elseif @Va=="67" z=z-0.38*exp(z) elseif @Va=="68" z=z-0.25*exp(z) elseif @Va=="69" z=z+0.2*exp(z) elseif @Va=="70" z=z+0.45*sqr(z) elseif @Va=="71" z=z+0.15*sqr(z) elseif @Va=="72" z=z+0.3*sqr(z) elseif @Va=="73" z=z-0.3*sqr(z) elseif @Va=="74" z=z-0.45*sqr(z) elseif @Va=="75" z=z-1.05*sqr(z) elseif @Va=="76" z=z-0.5*cosh(z) elseif @Va=="77" z=z+6*cos(z) elseif @Va=="78" z=z-1.1*cos(z) elseif @Va=="79" z=z-2*cos(z) elseif @Va=="80" z=z-0.75*sinh(z) elseif @Va=="81" z=z-0.53*sin(z) elseif @Va=="82" z=z-0.175*sin(z) endif else if @Va=="none" z=z elseif @Va=="32" if |z|<1 z=z/|z| endif elseif @Va=="33" if |z|>1 z=z/|z| endif elseif @Va=="34" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="35" if real(z)imag(z) z=flip(z) endif elseif @Va=="37" if |z|<1 z=z/|z| endif elseif @Va=="38" if |z|>1 z=z/|z| endif elseif @Va=="39" z=z-0.7*sqr(z) elseif @Va=="40" z=z+0.65*sqr(z) elseif @Va=="41" if real(z)1 z=z/|z| endif elseif @Va=="38" if real(z)imag(z) z=flip(z) endif elseif @Va=="3" z=-flip(z) elseif @Va=="4" z=-sqr(z) elseif @Va=="5" z=-cosh(z) elseif @Va=="6" z=-cos(z) elseif @Va=="7" z=-sinh(z) elseif @Va=="8" z=-sin(z) elseif @Va=="9" z=flip(z) elseif @Va=="10" z=sqr(z) elseif @Va=="11" z=cosh(z) elseif @Va=="12" z=cos(z) elseif @Va=="13" z=sinh(z) elseif @Va=="14" z=sin(z) elseif @Va=="15" z=z+0.3/z elseif @Va=="16" z=z+0.3/cabs(z) elseif @Va=="17" z=z+0.3/exp(z) elseif @Va=="18" z=z+0.3/tan(z) elseif @Va=="19" z=z+0.3/cosh(z) elseif @Va=="20" z=z+0.3/cos(z) elseif @Va=="21" z=z+0.3/sinh(z) elseif @Va=="22" z=z-0.3/cotanh(z) elseif @Va=="23" z=z-0.3/cotan(z) elseif @Va=="24" z=z-0.3/tanh(z) elseif @Va=="25" z=z-0.3/cosh(z) elseif @Va=="26" z=z-0.3/cos(z) endif if @V=="1" if imag(z)>real(z) z=z^2+fn2(pixel) else z=(cabs(real(z))+1i*cabs(imag(z)))^2+fn2(pixel) endif else if imag(z)0 z=z else z=conj(z) endif f=z^z-p1 f1=z^z*(log(z)+1) z=z-p2*(f1/(f*(z-f1/(2*f))))+p3 if @Va=="none" z=z elseif @Va=="1" z=1.2/z elseif @Va=="2" z=3.6/conj(z) elseif @Va=="3" z=0.47/log(z) elseif @Va=="4" z=2.1/sqr(z) elseif @Va=="5" z=2/cotanh(z) elseif @Va=="6" z=4.5/tanh(z) elseif @Va=="7" z=1.8/cosh(z) elseif @Va=="8" z=2.35/sinh(z) elseif @Va=="9" z=z-1.8/z elseif @Va=="10" if |z|>1 z=z/|z| endif elseif @Va=="11" z=z-1.2/z elseif @Va=="12" z=z+0.65/conj(z) elseif @Va=="13" z=z-1.2/abs(z) elseif @Va=="14" if real(z)>imag(z) z=flip(z) endif elseif @Va=="15" z=z-0.4/exp(z) elseif @Va=="16" z=z-0.5/log(z) elseif @Va=="17" z=z+2/cotanh(z) elseif @Va=="18" z=z+1/cotanh(z) elseif @Va=="19" z=z-2.7/cosh(z) elseif @Va=="20" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="21" z=z-2.7/sinh(z) elseif @Va=="22" z=z-1.75/sin(z) elseif @Va=="23" z=z+0.5*log(z) elseif @Va=="24" z=z+2.35*log(z) elseif @Va=="25" z=z+0.42*sinh(z) elseif @Va=="26" if real(z)@bail default: title="Nod Mi Pit 2" center=(0.001,0.001) magn=0.5 periodicity=0 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" endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Nod Mi Pit Parameter 1" default=(1,0) endparam param p2 caption="Nod Mi Pit Parameter 2" default=(1,0) endparam param p3 caption="Nod Mi Pit 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 param p8 caption="Quasi-Logistic 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=0.000000001 endparam } Flipper { init: z=fn1(pixel) loop: z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @V=="1" if real(z)imag(z) z=flip(z) endif endif if imag(z)>real(z) z=z^2+fn2(pixel) else z=(flip(real(z))+1i*flip(imag(z)))^2+fn2(pixel) endif bailout: |z|<@bail default: title="Flipper" center=(0.0001,0.001) periodicity=0 param V caption="Variant" enum="1""2" endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=cabs() 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=100.0 endparam } Erreugal { ; A modification of the Laguerre root finding algorithm init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 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" if real(z)@bail default: title="Erreugal" center=(0.001,0.001) periodicity=0 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" endparam param p2 caption="Erreugal Parameter 1" default=(0.5,0) endparam param p1 caption="Erreugal Parameter 2" default=(1,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Erreugal2 { ; A modification of the Laguerre root finding algorithm init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 if @Va=="none" z=z elseif @Va=="1" if real(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" z=1/sqr(tanh(z)) elseif @Va=="5" z=1/sqr(sin(z)) elseif @Va=="6" z=1/tanh(flip(z)) elseif @Va=="7" z=1/tan(flip(z)) elseif @Va=="8" z=1/cotanh(z) elseif @Va=="9" z=1/tanh(z) elseif @Va=="10" z=1/sinh(abs(z)) elseif @Va=="11" z=1/tanh(tan(z)) elseif @Va=="12" z=0.025/sqr(abs(z)) elseif @Va=="13" z=-1/abs(z) elseif @Va=="14" z=-1/sqr(tanh(z)) elseif @Va=="15" z=-1/tan(sqr(z)) elseif @Va=="16" z=tanh(tan(z)) elseif @Va=="17" z=tan(tanh(z)) elseif @Va=="18" z=tanh(tanh(z)) elseif @Va=="19" z=7.7*cotan(cotan(z)) elseif @Va=="20" z=z+1/z elseif @Va=="21" z=z+1/sqr(z) elseif @Va=="22" z=z+1/tanh(z) elseif @Va=="23" z=z+1/tan(z) elseif @Va=="24" z=z+1/sinh(z) elseif @Va=="25" z=z+1/sin(z) elseif @Va=="26" z=z-1/z elseif @Va=="27" z=z-1/sin(z) elseif @Va=="28" z=z+1/exp(exp(z)) elseif @Va=="29" z=z+1/sqr(sqr(z)) elseif @Va=="30" z=z+1/sqr(exp(z)) elseif @Va=="31" z=z+1/sqr(tanh(z)) elseif @Va=="32" z=z+1/sqr(sin(z)) elseif @Va=="33" z=z-1/sqr(sqr(z)) elseif @Va=="34" z=z-1/sqr(sinh(z)) elseif @Va=="35" z=z-1/sqr(cotanh(z)) elseif @Va=="36" z=z-1/sqr(cotan(z)) elseif @Va=="37" z=z-0.145/abs(z) elseif @Va=="38" z=z+0.22/sqr(z) elseif @Va=="39" z=z+0.175/z elseif @Va=="40" z=z+1.25/z elseif @Va=="41" z=z+0.3/tan(z) elseif @Va=="42" z=z+0.3/cosh(z) elseif @Va=="43" z=z-0.3/cosh(z) elseif @Va=="44" z=z-0.5/cotan(z) elseif @Va=="45" z=z-0.3/cotan(z) elseif @Va=="46" z=z-0.1/cotanh(z) elseif @Va=="47" z=z-exp(z) elseif @Va=="48" z=z+0.03*flip(z) elseif @Va=="49" z=z-0.08*cabs(z) elseif @Va=="50" z=z-0.045*abs(z) elseif @Va=="51" z=z-0.1*exp(z) elseif @Va=="52" z=z-0.065*z^4 elseif @Va=="53" z=z-0.3*z^4 elseif @Va=="54" z=z-4*z^4 endif f=z^@pow-p1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) g=f1/f h=g^2-f2/f a=@pow/(g+sqr((@pow-1)*(@pow*h-g^2))) z=z-a+p2 bailout: |zold-z|>@bail default: title="Erreugal 2" center=(0.001,0.001) periodicity=0 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" endparam param p2 caption="Erreugal Parameter 1" default=(0.15,0) endparam param p1 caption="Erreugal Parameter 2" default=(1,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Steffensen { ; Steffensen root finding algorithm ; https://en.wikipedia.org/wiki/Steffensen%27s_method init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 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=1/sin(z) elseif @Va=="7" z=-1/z elseif @Va=="8" z=-1/abs(z) elseif @Va=="9" z=-1/exp(z) elseif @Va=="10" z=-0.3/sinh(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-0.1/exp(z) elseif @Va=="15" z=z+0.6/exp(z) elseif @Va=="16" z=z-1.4/cotanh(z) elseif @Va=="17" z=z+0.1/tan(z) elseif @Va=="18" z=z+0.22/tan(z) elseif @Va=="19" z=z-1.75/cos(z) elseif @Va=="20" z=z-4.3/cos(z) elseif @Va=="21" z=z+0.3*sqr(z) elseif @Va=="22" z=z+0.3*cotan(z) elseif @Va=="23" z=z-0.3*cotanh(z) elseif @Va=="24" z=z-0.3*tan(z) elseif @Va=="25" z=z-0.4*z^4 endif f=z^@pow-p1 g=((z+z^@pow-p1)^@pow-p1)/f-1 z=z-p2*f/g+p5 if @Va=="26" if |z|<1 z=z/|z| endif elseif @Va=="27" if |z|>1 z=z/|z| endif elseif @Va=="28" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="29" if real(z)imag(z) z=flip(z) endif elseif @Va=="31" z=1/abs(z) elseif @Va=="32" z=-1/abs(z) elseif @Va=="33" z=-1/exp(z) elseif @Va=="34" z=4.3/conj(z) elseif @Va=="35" z=4.3/abs(z) elseif @Va=="36" z=1.065/sqr(z) elseif @Va=="37" z=1.5/cotanh(z) elseif @Va=="38" z=0.75/tanh(z) elseif @Va=="39" z=1.75/cosh(z) elseif @Va=="40" z=-3.3/cos(z) elseif @Va=="41" z=1/abs(sin(z)) elseif @Va=="42" z=0.575/sqr(tanh(z)) elseif @Va=="43" z=z-1/cos(z) elseif @Va=="44" z=z+0.175/z elseif @Va=="45" z=z+0.1/z elseif @Va=="46" z=z-0.2/cabs(z) elseif @Va=="47" z=z+0.25/tan(z) elseif @Va=="48" z=z+0.28/cosh(z) elseif @Va=="49" z=z-0.28/cos(z) elseif @Va=="50" z=z+0.43/sinh(z) elseif @Va=="51" z=z-0.275/sin(z) elseif @Va=="52" z=z+0.175/sqr(tan(z)) elseif @Va=="53" z=z-0.275/sqr(cotan(z)) elseif @Va=="54" z=z+0.155/sin(sin(z)) elseif @Va=="55" z=z+0.275/tan(tan(z)) elseif @Va=="56" z=z+0.114*conj(z) elseif @Va=="57" z=z-0.065*cabs(z) elseif @Va=="58" z=z-0.064*exp(z) elseif @Va=="59" z=z+0.4*sqr(z) elseif @Va=="60" z=z+0.275*sqr(z) elseif @Va=="61" z=z-0.6*sqr(z) elseif @Va=="62" z=z+0.25*cos(z) elseif @Va=="63" z=z+0.175*sinh(z) elseif @Va=="64" z=z+0.15*sin(z) elseif @Va=="65" z=z+1.88*sin(z) elseif @Va=="66" z=z+0.22*sqr(sin(z)) elseif @Va=="67" z=z+0.26*sqr(tan(z)) elseif @Va=="68" z=z+0.127*sqr(tanh(z)) elseif @Va=="69" z=z+0.127*z^4 elseif @Va=="70" z=z-0.117*sqr(cabs(z)) endif bailout: |zold-z|>@bail default: title="Steffensen" center=(0.001,0.001) periodicity=0 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""66""67""68""69""70" endparam param p1 caption="Steffensen Parameter 1" default=(1,0) endparam param p2 caption="Steffensen Parameter 2" default=(1,0) endparam param p5 caption="Steffensen Parameter 3" default=(0,0) endparam param p3 caption="Loop Parameter 1" default=(0.95,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Erreugal2M { ; A modification of the Laguerre root finding algorithm init: z=fn1(pixel) loop: zold=z z=p3*fn2(z) z=z*(1-p4*z) if @Va=="none" z=z elseif @Va=="1" z=z-4.5/sqr(z) elseif @Va=="2" z=0.04/sqr(z) elseif @Va=="3" z=z-0.25*cotan(cos(z)) elseif @Va=="4" z=z-0.25*cotan(cosh(z)) elseif @Va=="5" z=-0.05/sqr(sqr(z)) elseif @Va=="6" z=-0.25*z^4 elseif @Va=="7" z=z+0.22/sqr(cos(z)) elseif @Va=="8" z=z-1/flip(conj(z)) elseif @Va=="9" z=z+1/conj(z) elseif @Va=="10" z=z+4.5/sqr(z) elseif @Va=="11" z=-0.02/abs(z) elseif @Va=="12" z=0.025/sqr(abs(z)) elseif @Va=="13" z=z+2/z^4 elseif @Va=="14" z=z+2/sqr(cotanh(z)) elseif @Va=="15" z=z+0.4/sqr(cotan(z)) elseif @Va=="16" z=tanh(tan(z)) elseif @Va=="17" z=tan(tanh(z)) elseif @Va=="18" z=z+0.22/cotan(sqr(z)) elseif @Va=="19" z=z+0.3/cosh(sqr(z)) elseif @Va=="20" z=z+1/z elseif @Va=="21" z=z+1/sqr(z) elseif @Va=="22" z=z+0.3/cos(sqr(z)) elseif @Va=="23" z=z+0.3/sinh(sqr(z)) elseif @Va=="24" z=z+1/sinh(z) elseif @Va=="25" z=z+1/sin(z) elseif @Va=="26" z=z-1/z elseif @Va=="27" z=sqr(conj(z)) elseif @Va=="28" z=z+0.22/sin(cos(z)) elseif @Va=="29" z=z+1/sqr(sqr(z)) elseif @Va=="30" z=z+0.22/cotanh(sqr(z)) elseif @Va=="31" z=z+0.3/sin(sqr(z)) elseif @Va=="32" z=z+1/sqr(sin(z)) elseif @Va=="33" z=z-1/sqr(sqr(z)) elseif @Va=="34" z=z-1/sqr(sinh(z)) elseif @Va=="35" z=z-1/sqr(cotanh(z)) elseif @Va=="36" z=z-1/sqr(cotan(z)) elseif @Va=="37" z=z+0.3/sin(sin(z)) elseif @Va=="38" z=z+0.22/sqr(z) elseif @Va=="39" z=z+0.175/z elseif @Va=="40" z=z+sqr(z) elseif @Va=="41" z=z+0.3/tan(z) elseif @Va=="42" z=z+0.3/cosh(z) elseif @Va=="43" z=z-0.3/cosh(z) elseif @Va=="44" z=z-0.5/cotan(z) elseif @Va=="45" z=z-sqr(z) elseif @Va=="46" z=z-0.1/cotanh(z) elseif @Va=="47" z=z-0.5*cotan(z) elseif @Va=="48" z=z+0.3*cotan(recip(z)) elseif @Va=="49" z=z-0.08*cabs(z) elseif @Va=="50" z=z+0.3*tan(recip(z)) elseif @Va=="51" z=z+1.5*cotan(cotanh(z)) elseif @Va=="52" z=z+0.8*cotan(tanh(z)) elseif @Va=="53" z=z-0.3*z^4 elseif @Va=="54" z=z-0.3*cotan(tan(z)) endif f=z^@pow-20*p1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) g=f1/f h=g^2-f2/f a=@pow/(g+sqr((@pow-1)*(@pow*h-g^2))) z=z-p5*a/10+p2+fn3(pixel) bailout: |zold-z|>@bail default: title="Erreugal 2 M" center=(0.001,0.001) periodicity=0 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" endparam param p1 caption="Erreugal Parameter 1" default=(0.05,0) endparam param p5 caption="Erreugal Parameter 2" default=(5,0) endparam param p2 caption="Erreugal Parameter 3" default=(0,0) endparam param p3 caption="Loop Parameter" default=(1,0) endparam param p4 caption="Quasi-Logistic Parameter" default=(0,0) endparam param pow caption="Exponent" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } ErreugalM { ; A modification of the Laguerre root finding algorithm init: z=fn1(pixel) loop: zold=z z=p3*fn2(z) z=z*(1-p4*z) if @Va=="none" z=z elseif @Va=="1" z=z+0.5/sinh(sqr(z)) elseif @Va=="2" z=z-0.5*sqr(cotanh(z)) elseif @Va=="3" z=z-0.01*cotanh(z)^4 elseif @Va=="4" z=z-0.035*cotan(z)^4 elseif @Va=="5" z=0.08/sqr(z) elseif @Va=="6" z=-0.1/sqr(z) elseif @Va=="7" z=0.04675/abs(sqr(z)) elseif @Va=="8" z=-0.6/tan(sqr(z)) elseif @Va=="9" z=-1.2/tan(tan(z)) elseif @Va=="10" z=z-0.75/exp(z) elseif @Va=="11" z=-0.3/z^4 elseif @Va=="12" z=-1/z elseif @Va=="13" z=0.085*cotanh(cotan(z)) elseif @Va=="14" z=z-1.8/tanh(z) elseif @Va=="15" z=z-1/z elseif @Va=="16" z=z-cotanh(z) elseif @Va=="17" z=z-0.42/sqr(tanh(z)) elseif @Va=="18" z=z+0.9/exp(recip(z)) elseif @Va=="19" z=z-1/sin(z) elseif @Va=="20" z=z+0.3*exp(z) elseif @Va=="21" z=z-0.5/sinh(sqr(z)) endif f=z^@pow-10*p1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) g=f1/f h=g^2-f2/f a=@pow/(g+(@pow-1)*(@pow*h-g^2)) z=z-p5*a/5+p2+fn3(pixel) if @Va=="22" z=0.11/z^3 elseif @Va=="23" z=-0.11/conj(z^3) elseif @Va=="24" z=z+1/exp(recip(z)) elseif @Va=="25" z=z+0.32*cotanh(recip(z)) elseif @Va=="26" z=-0.59/z elseif @Va=="27" z=-0.355/z elseif @Va=="28" z=-0.075/sqr(z) elseif @Va=="29" z=-0.1/sqr(z) elseif @Va=="30" z=z+0.25/cos(sqr(recip(z))) elseif @Va=="31" z=1.156/cotan(z) elseif @Va=="32" z=-1.3/tan(z) elseif @Va=="33" z=1.94/tanh(cotan(z)) elseif @Va=="34" z=0.3/abs(z^4) elseif @Va=="35" z=z+1/sqr(z) elseif @Va=="36" z=z-1/z elseif @Va=="37" z=-0.3/conj(z^4) elseif @Va=="38" z=z-1/cosh(z) elseif @Va=="39" z=0.3/flip(z^4) elseif @Va=="40" z=cotanh(z) elseif @Va=="41" z=0.07*cotanh(cotan(z)) elseif @Va=="42" z=0.13*cotanh(cotan(tan(z))) elseif @Va=="43" z=-0.06*cotanh(sqr(sinh(z))) elseif @Va=="44" z=z+1/z elseif @Va=="45" z=z-1/z elseif @Va=="46" z=z-0.7/cosh(z)^4 elseif @Va=="47" z=-1.93*cotan(z) elseif @Va=="48" z=z+1/z^4 elseif @Va=="49" z=z-0.6/z^4 elseif @Va=="50" z=-0.335/z^4 elseif @Va=="51" z=z-0.69*sqr(cos(z)) elseif @Va=="52" z=z-0.08/tan(z)^4 elseif @Va=="53" z=z-1.7*cotanh(z) elseif @Va=="54" z=z+cotan(z) elseif @Va=="55" z=z-cotan(z) elseif @Va=="56" z=z-0.025*cotanh(z)^4 elseif @Va=="57" z=z-0.1*cotan(z)^4 elseif @Va=="58" z=0.17*sin(z) endif bailout: |zold-z|>@bail default: title="Erreugal M" center=(0.001,0.001) periodicity=0 magn=1.5 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" endparam param p1 caption="Erreugal Parameter 1" default=(0.1,0) endparam param p5 caption="Erreugal Parameter 2" default=(5,0) endparam param p2 caption="Erreugal Parameter 3" default=(0.5,0) endparam param p3 caption="Loop Parameter" default=(1,0) endparam param p4 caption="Quasi-Logistic Parameter" default=(0,0) endparam param pow caption="Exponent" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Kreen { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=fn2(z) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif elseif @Va=="3" z=1/flip(conj(z)) elseif @Va=="4" z=1/flip(abs(z)) elseif @Va=="5" z=1/flip(tan(z)) elseif @Va=="6" z=1/flip(cosh(z)) elseif @Va=="7" z=1/flip(sinh(z)) elseif @Va=="8" z=1/sqr(exp(z)) elseif @Va=="9" z=1/cotan(sqr(z)) elseif @Va=="10" z=1/cosh(log(z)) elseif @Va=="11" z=z+0.7/flip(z) elseif @Va=="12" z=z+0.3/sqr(z) elseif @Va=="13" z=z+1/cotanh(z) elseif @Va=="14" z=z+1/cotan(z) elseif @Va=="15" z=z+1/flip(conj(z)) elseif @Va=="16" z=z+1/flip(abs(z)) elseif @Va=="17" z=z-0.2/flip(exp(z)) elseif @Va=="18" z=z-0.15/flip(cosh(z)) elseif @Va=="19" z=z+1/conj(flip(z)) elseif @Va=="20" z=z+1/abs(flip(z)) elseif @Va=="21" z=z+1/exp(exp(z)) elseif @Va=="22" z=z-0.2/exp(sqr(z)) elseif @Va=="23" z=z+1/exp(cotan(z)) elseif @Va=="24" z=z+1/exp(cosh(z)) elseif @Va=="25" z=z-0.35*sqr(z) elseif @Va=="26" z=z+cosh(z) elseif @Va=="27" z=z+0.18*flip(abs(z)) elseif @Va=="28" z=z-0.18*flip(abs(z)) elseif @Va=="29" z=z-0.04*flip(exp(z)) elseif @Va=="30" z=z+0.093*flip(sqr(z)) elseif @Va=="31" z=z+conj(flip(z)) elseif @Va=="32" z=z+0.5*conj(flip(z)) elseif @Va=="33" z=z+0.3*conj(abs(z)) elseif @Va=="34" z=z-0.1*sqr(abs(z)) elseif @Va=="35" z=z+sqr(exp(z)) elseif @Va=="36" z=z+0.05*z^4 endif else if @Va=="none" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif elseif @Va=="3" z=z+0.56/cosh(z) elseif @Va=="4" z=1/flip(abs(z)) elseif @Va=="5" z=1/flip(tan(z)) elseif @Va=="6" z=z+1/z elseif @Va=="7" z=1/flip(sinh(z)) elseif @Va=="8" z=1/sqr(exp(z)) elseif @Va=="9" z=z-1/sqr(z) elseif @Va=="10" z=1/cosh(log(z)) elseif @Va=="11" z=z+0.3/cotanh(z) elseif @Va=="12" z=z+0.3/cotan(z) elseif @Va=="13" z=z+1/cotanh(z) elseif @Va=="14" z=z+0.3/cosh(z) elseif @Va=="15" z=z+0.3/cos(z) elseif @Va=="16" z=z-0.3/sqr(z) elseif @Va=="17" z=z-0.2/flip(exp(z)) elseif @Va=="18" z=z-0.15/flip(cosh(z)) elseif @Va=="19" z=z+1/conj(flip(z)) elseif @Va=="20" z=z-2.7/cotanh(z) elseif @Va=="21" z=z+1/exp(exp(z)) elseif @Va=="22" z=z-0.2/exp(sqr(z)) elseif @Va=="23" z=z+1/exp(cotan(z)) elseif @Va=="24" z=z+1/exp(cosh(z)) elseif @Va=="25" z=z-0.35*sqr(z) elseif @Va=="26" z=z+cosh(z) elseif @Va=="27" z=z+0.18*flip(abs(z)) elseif @Va=="28" z=z-2.7/cotan(z) elseif @Va=="29" z=z-0.04*flip(exp(z)) elseif @Va=="30" z=z+0.093*flip(sqr(z)) elseif @Va=="31" z=z+conj(flip(z)) elseif @Va=="32" z=z+0.5*conj(flip(z)) elseif @Va=="33" z=z+0.3*conj(abs(z)) elseif @Va=="34" z=z-0.1*sqr(abs(z)) elseif @Va=="35" z=z+0.56/cos(z) elseif @Va=="36" z=z+0.05*z^4 endif endif if @JM=="J" z=(1-z^2)/(1-2*z*cos(p1)+z^2)+p2 else z=(1-z^2)/(1-2*z*cos(p1)+z^2)+p2+fn4(pixel) endif z=p3*fn3(log(abs(z)))^@pow+p4 if @JM=="J" if @Va=="37" z=z+1/z elseif @Va=="38" if |z|>1 z=z/|z| endif elseif @Va=="39" z=z+1/exp(z) elseif @Va=="40" if real(z)imag(z) z=flip(z) endif elseif @Va=="42" z=z+1/cotanh(z) elseif @Va=="43" z=z+1/cotanh(exp(z)) elseif @Va=="44" z=z+0.3/cabs(exp(z)) elseif @Va=="45" z=z+0.3/exp(flip(z)) elseif @Va=="46" z=z-0.3/flip(cos(z)) elseif @Va=="47" z=z-0.3795*exp(z) elseif @Va=="48" z=z-0.3795*abs(z) elseif @Va=="49" z=z-0.3795*z elseif @Va=="50" z=z-0.25*sqr(tanh(z)) elseif @Va=="51" z=z-0.3*sqr(exp(z)) elseif @Va=="52" z=-0.45/abs(z) elseif @Va=="53" z=1.5/abs(cotanh(z)) elseif @Va=="54" z=1/tanh(sinh(z)) elseif @Va=="55" z=1/tanh(sqr(z)) elseif @Va=="56" z=1.8/cotan(sqr(z)) elseif @Va=="57" z=flip(cotan(z)) endif else if @Va=="37" z=1/abs(z) elseif @Va=="38" if |z|>1 z=z/|z| endif elseif @Va=="39" z=1/exp(flip(z)) elseif @Va=="40" if real(z)imag(z) z=flip(z) endif elseif @Va=="42" z=z+1/cotanh(z) elseif @Va=="43" z=1.5/exp(abs(z)) elseif @Va=="44" z=0.8*exp(abs(z)) elseif @Va=="45" z=z+0.3/exp(flip(z)) elseif @Va=="46" z=z-0.3/flip(cos(z)) elseif @Va=="47" z=1.9*abs(sqr(z)) elseif @Va=="48" z=tanh(flip(z)) elseif @Va=="49" z=z-0.3795*z elseif @Va=="50" z=z-0.25*sqr(tanh(z)) elseif @Va=="51" z=z+1/cos(exp(z)) elseif @Va=="52" z=z+0.3/cos(sin(z)) elseif @Va=="53" z=1.5/abs(cotanh(z)) elseif @Va=="54" z=z-0.3/cos(tanh(z)) elseif @Va=="55" z=z-0.3*tan(tanh(z)) elseif @Va=="56" z=z++0.3*cabs(tanh(z)) elseif @Va=="57" z=0.25*cotanh(sqr(z)) endif endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Kreen" center=(0.001,0.001) periodicity=0 maxiter=200 param JM caption="J/M" enum="J""M" endparam param iter caption="Iterations" default=4 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Labs Function" default=ident() endfunc func fn4 caption="M Function" default=ident() visible=@JM=="M" endfunc param p1 caption="Kreen Parameter 1" default=(1,0) endparam param p2 caption="Kreen Parameter 2" default=(0,0) endparam param p3 caption="Labs Parameter 1" default=(1,0) endparam param p4 caption="Labs Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10.0 endparam } ModifiedSecantJ { init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 if @Va=="1" z=-0.2/cotan(cotanh(z)) elseif @Va=="2" z=-0.75/tanh(z) elseif @Va=="3" z=0.535/tan(z) elseif @Va=="4" z=-1.37/cos(z) elseif @Va=="5" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="6" z=1/sin(z) elseif @Va=="7" z=2.17/sin(z) elseif @Va=="8" z=0.2/z^4 elseif @Va=="9" z=0.5/sqr(cotan(z)) elseif @Va=="10" z=-0.75/sqr(tanh(z)) elseif @Va=="11" z=z+1/sqr(z) elseif @Va=="12" z=2.35/sqr(cosh(z)) elseif @Va=="13" z=z-1/cotan(z) elseif @Va=="14" z=2.4/cotanh(z) elseif @Va=="15" z=-0.418/cotanh(cotan(z)) elseif @Va=="16" z=0.735/cotanh(cotan(z)) elseif @Va=="17" z=z+1/tan(z) elseif @Va=="18" z=z-1/sqr(z) elseif @Va=="19" z=z-0.13/conj(z) elseif @Va=="20" z=z-0.675/cos(z) elseif @Va=="21" z=z-0.21/sqr(abs(z)) elseif @Va=="22" z=z+0.3*cotan(z) elseif @Va=="23" z=z-0.3*cotanh(z) elseif @Va=="24" z=z-0.3*tan(z) elseif @Va=="25" z=z-0.4*z^4 elseif @Va=="26" z=z+0.034/cos(tan(z)) elseif @Va=="27" z=z-0.12/tanh(tanh(z)) elseif @Va=="28" z=z-0.37/cotanh(recip(z)) elseif @Va=="29" z=z+sqr(z) elseif @Va=="30" z=z-sqr(z) elseif @Va=="31" z=z-sqr(sinh(z)) elseif @Va=="32" z=z+0.1*z^4 endif z=z-(z^@pow-p1)*(z-(z+p2))/((z^@pow-p1)-((z+p2)^@pow-p1))+p5 if @Va=="33" z=-sqr(z) elseif @Va=="34" z=0.75*conj(z) elseif @Va=="35" z=0.75*sqr(z) elseif @Va=="36" z=-1.333*sqr(z) elseif @Va=="37" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="38" z=z-1/cos(z) elseif @Va=="39" z=z-0.28/cos(z) elseif @Va=="40" z=z-0.275/sin(z) elseif @Va=="41" z=z+0.175/sqr(tan(z)) elseif @Va=="42" z=z-0.275/sqr(cotan(z)) elseif @Va=="43" z=z+0.275/tan(tan(z)) elseif @Va=="44" z=z+0.175*sinh(z) elseif @Va=="45" z=z+1.88*sin(z) elseif @Va=="46" z=0.2/z^4 elseif @Va=="47" z=0.33/sqr(cotan(z)) elseif @Va=="48" z=1.7/sqr(sin(z)) elseif @Va=="49" z=-3/abs(sin(z)) elseif @Va=="50" z=2.7/abs(sinh(z)) elseif @Va=="51" z=1.2/abs(tan(z)) elseif @Va=="52" z=z-0.26/cotan(cotan(z)) elseif @Va=="53" z=z-0.13/cotan(cotanh(z)) elseif @Va=="54" z=z-0.175/tanh(tan(z)) elseif @Va=="55" z=z+0.4/sin(tan(z)) elseif @Va=="56" z=z+0.6/sinh(tan(z)) elseif @Va=="57" z=z+0.17/cos(tan(z)) elseif @Va=="58" z=z-0.6/cos(cotanh(z)) elseif @Va=="59" z=z+3.389/cos(cotan(z)) elseif @Va=="60" z=z+1.75/cos(cotan(z)) elseif @Va=="61" z=0.53*cotan(z) elseif @Va=="62" z=0.93*sqr(z) elseif @Va=="63" z=0.91*z^4 elseif @Va=="64" z=z-0.375*cabs(z) elseif @Va=="65" z=z-1.17*sqr(z) endif bailout: |zold-z|>@bail default: title="Modified Secant J" center=(0.001,0.001) periodicity=0 param Va caption="Modification" 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 p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Secant Parameter 3" default=(0,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } ModifiedSecantM { init: z=fn1(pixel) loop: zold=z z=p3*fn2(z) if @Va=="1" z=z-1/cotan(z) elseif @Va=="2" z=-0.3*z^4 elseif @Va=="3" z=-abs(sqr(z)) elseif @Va=="4" z=sqr(abs(z)) elseif @Va=="5" z=-sqr(abs(z)) elseif @Va=="6" z=-(z^4) elseif @Va=="7" z=z^4 elseif @Va=="8" z=0.3*z^4 elseif @Va=="9" z=-conj(sqr(z)) elseif @Va=="10" z=-0.75/tanh(z) elseif @Va=="11" z=z+1/sqr(z) elseif @Va=="12" z=-4.8*cotanh(tan(z)) elseif @Va=="13" z=-1.8/sinh(z) elseif @Va=="14" z=z+0.37/z elseif @Va=="15" z=z+1/z elseif @Va=="16" z=z-0.3*z elseif @Va=="17" z=z+1/tan(z) elseif @Va=="18" z=z-1/sqr(z) elseif @Va=="19" z=z-0.13/conj(z) elseif @Va=="20" z=z-0.675/cos(z) elseif @Va=="21" z=z-0.21/sqr(abs(z)) elseif @Va=="22" z=z+0.3*cotan(z) elseif @Va=="23" z=z-0.3*cotanh(z) elseif @Va=="24" z=z-1/sqr(z) elseif @Va=="25" z=z-0.4*z^4 elseif @Va=="26" z=z+0.034/cos(tan(z)) elseif @Va=="27" z=z-0.12/tanh(tanh(z)) elseif @Va=="28" z=z-3/sqr(z) elseif @Va=="29" z=z+sqr(z) elseif @Va=="30" z=z-sqr(z) elseif @Va=="31" z=z-0.3/cosh(z) elseif @Va=="32" z=z+0.1*z^4 elseif @Va=="33" z=z-1/cosh(z) elseif @Va=="34" z=z+5/cosh(z) elseif @Va=="35" z=z+5/cos(z) elseif @Va=="36" z=z-0.5/cos(z) elseif @Va=="37" z=z-1.5/cos(z) elseif @Va=="38" z=z-1.8/cos(z) elseif @Va=="39" z=z-5/cos(z) elseif @Va=="40" z=z+1/sqr(cos(z)) elseif @Va=="41" z=z-1/sqr(cos(z)) elseif @Va=="42" z=z+1/sinh(z) elseif @Va=="43" z=z+1/sin(z) elseif @Va=="44" z=z+2/sin(z) elseif @Va=="45" z=z-1/sin(z) elseif @Va=="46" z=z-0.3/z^4 elseif @Va=="47" z=z+0.25/sqr(cotan(z)) elseif @Va=="48" z=z-0.25/sqr(cotan(z)) elseif @Va=="49" z=z-sqr(z) elseif @Va=="50" z=z+sqr(z) elseif @Va=="51" z=z+0.5*sqr(z) elseif @Va=="52" z=z-0.5*sqr(z) elseif @Va=="53" z=z-0.07*z^4 elseif @Va=="54" z=z+0.07*z^4 elseif @Va=="55" z=z+sqr(cotanh(z)) elseif @Va=="56" z=z-sqr(cotanh(z)) elseif @Va=="57" z=z+0.5*sqr(cotan(z)) elseif @Va=="58" z=z-sqr(cotan(z)) endif z=z-(z^@pow-p1)*(z-(z+p2))/((z^@pow-p1)-((z+p2)^@pow-p1))+p5+fn3(pixel) if @Va=="59" z=z-sqr(cotan(z)) elseif @Va=="60" z=z+0.1*z^4 elseif @Va=="61" z=z-0.1*z^4 elseif @Va=="62" z=z-0.05*z^4 elseif @Va=="63" z=z-1/cos(z) elseif @Va=="64" z=z-0.28/cos(z) elseif @Va=="65" z=z-0.275/sin(z) elseif @Va=="66" z=z+0.175/sqr(tan(z)) elseif @Va=="67" z=z-0.275/sqr(cotan(z)) elseif @Va=="68" z=-sqr(z) elseif @Va=="69" z=0.75*sqr(z) elseif @Va=="70" z=-1.333*sqr(z) elseif @Va=="71" z=1/cotan(z) elseif @Va=="72" z=-1/tan(z) elseif @Va=="73" z=1.65/cotanh(cotanh(z)) elseif @Va=="74" z=z-0.3/sqr(cotan(z)) elseif @Va=="75" z=z+0.3/sqr(cotan(z)) elseif @Va=="76" z=z-0.3/sqr(cotanh(z)) elseif @Va=="77" z=z-0.26/cotan(cotan(z)) elseif @Va=="78" z=z-0.13/cotan(cotanh(z)) elseif @Va=="79" z=z-0.175/tanh(tan(z)) elseif @Va=="80" z=z+0.4/sin(tan(z)) elseif @Va=="81" z=z+0.6/sinh(tan(z)) elseif @Va=="82" z=z+0.17/cos(tan(z)) elseif @Va=="83" z=z-0.6/cos(cotanh(z)) elseif @Va=="84" z=z+3.389/cos(cotan(z)) elseif @Va=="85" z=z+1.75/cos(cotan(z)) elseif @Va=="86" z=z+0.3/sqr(cotanh(z)) elseif @Va=="87" z=0.93*sqr(z) elseif @Va=="88" z=0.91*z^4 elseif @Va=="89" z=z+0.3/cotan(cotanh(z)) elseif @Va=="90" z=z-1.17*sqr(z) elseif @Va=="91" z=z-0.3/cotan(cotanh(z)) elseif @Va=="92" z=z+0.75/cotanh(cotan(z)) elseif @Va=="93" z=z-0.75/cotanh(cotan(z)) elseif @Va=="94" z=z+0.3*cotanh(cotan(z)) elseif @Va=="95" z=z+sqr(cotanh(z)) elseif @Va=="96" z=z-sqr(cotanh(z)) elseif @Va=="97" z=z+sqr(cotan(z)) endif bailout: |zold-z|>@bail default: title="Modified Secant M" center=(0.001,0.001) periodicity=0 param Va caption="Modification" 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""79"\ "80""81""82""83""84""85""86""87""88"\ "89""90""91""92""93""94""95""96""97" endparam param p1 caption="Secant Parameter 1" default=(1,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param p5 caption="Secant Parameter 3" default=(0,0) endparam param p3 caption="Loop Parameter" default=(1,0) endparam param pow caption="Exponent" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } Duno { ; A Mandelbrot set variant init: z=fn1(pixel) loop: z=p3*fn2(z) if @Va=="none" z=z elseif @Va=="1" z=z+0.3/z elseif @Va=="2" z=z+0.3/tanh(z) elseif @Va=="3" z=z+0.3/tan(z) elseif @Va=="4" z=z+0.3/cosh(z) elseif @Va=="5" z=z+0.3/cos(z) elseif @Va=="6" z=z+0.3/sinh(z) elseif @Va=="7" z=z+0.3/sin(z) elseif @Va=="8" z=z-0.3/z elseif @Va=="9" z=z-0.3/tanh(z) elseif @Va=="10" z=z-0.3/tan(z) elseif @Va=="11" z=z-0.3/cosh(z) elseif @Va=="12" z=z-0.3/cos(z) elseif @Va=="13" z=z-0.3/sinh(z) elseif @Va=="14" z=z-0.3/sin(z) elseif @Va=="15" z=z+0.3*flip(z) elseif @Va=="16" z=z+0.3*cabs(z) elseif @Va=="17" z=z+0.3*abs(z) elseif @Va=="18" z=z+0.3*sqr(z) elseif @Va=="19" z=z+0.3*cosh(z) elseif @Va=="20" z=z-0.3*exp(z) elseif @Va=="21" z=z-0.3*sqr(z) elseif @Va=="22" z=z-0.3*tanh(z) elseif @Va=="23" z=z-0.3*tan(z) elseif @Va=="24" if real(z)imag(z) z=flip(z) endif endif z=z^2+p1*1i/(10*z^2)+p2+fn3(pixel) if @Va=="26" z=z+0.3/exp(z) elseif @Va=="27" z=z+0.3/tan(z) elseif @Va=="28" z=z+0.3/cosh(z) elseif @Va=="29" z=z+0.3/cos(z) elseif @Va=="30" z=z+0.3/sinh(z) elseif @Va=="31" z=z-0.3/exp(z) elseif @Va=="32" z=z-0.3/tanh(z) elseif @Va=="33" z=z-0.3/cosh(z) elseif @Va=="34" z=z-0.3/cos(z) elseif @Va=="35" z=z+0.3*flip(z) elseif @Va=="36" z=z+0.3*cabs(z) elseif @Va=="37" z=z+0.3*abs(z) elseif @Va=="38" z=z+0.3*exp(z) elseif @Va=="39" z=z+0.3*sqr(z) elseif @Va=="40" z=z+0.3*cosh(z) elseif @Va=="41" z=z+0.3*cos(z) elseif @Va=="42" z=z-0.3*cabs(z) elseif @Va=="43" z=z-0.3*abs(z) elseif @Va=="44" z=z-0.3*exp(z) elseif @Va=="45" z=z-0.3*sqr(z) elseif @Va=="46" z=z-0.3*cosh(z) elseif @Va=="47" z=z-0.3*cos(z) elseif @Va=="48" z=z-0.3*sin(z) endif bailout: |z|<@bail default: title="Duno" center=(0.001,0.001) 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" endparam param p1 caption="Duno Parameter 1" default=(0,0.1) endparam param p2 caption="Duno Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Duno Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } MöbiusMandelbrot { init: z=fn1(pixel) loop: z=fn2(z) if @Va=="none" z=z elseif @Va=="1" z=z+0.3/z elseif @Va=="2" z=z-0.2/z elseif @Va=="3" z=z+0.55/exp(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z+0.3/exp(z) elseif @Va=="7" z=z+0.3/sqr(z) elseif @Va=="8" z=z+0.05/sqr(z) elseif @Va=="9" z=z-0.3/sqr(z) elseif @Va=="10" z=z-0.05/sqr(z) elseif @Va=="11" z=z-0.3/cotanh(z) elseif @Va=="12" z=z-0.3/cotan(z) elseif @Va=="13" z=z-0.3/tanh(z) elseif @Va=="14" z=z+0.3/tan(z) elseif @Va=="15" z=z-0.05/tanh(z) elseif @Va=="16" z=z+0.05/tanh(z) elseif @Va=="17" z=z+1/tan(z) elseif @Va=="18" z=z-0.7/cosh(z) elseif @Va=="19" z=z-0.4/cosh(z) elseif @Va=="20" z=z-0.7/cos(z) elseif @Va=="21" z=z-0.4/cos(z) elseif @Va=="22" z=z-0.2/sinh(z) elseif @Va=="23" z=z+0.2/sinh(z) elseif @Va=="24" z=z-0.2/sin(z) endif z=(z-p1)/(1-p1*z) z=z/(p2*z+1) z=z^2+fn3(pixel) if @Va=="25" z=-0.6*z elseif @Va=="26" z=-1.4*cos(z) elseif @Va=="27" z=-1.17*cosh(z) elseif @Va=="28" z=0.4*sqr(z) elseif @Va=="29" z=-0.5*sqr(z) elseif @Va=="30" z=-0.65*sinh(z) elseif @Va=="31" z=-0.65*sin(z) elseif @Va=="32" z=z-0.085/z elseif @Va=="33" z=z-0.35/z elseif @Va=="34" z=z+0.2/z elseif @Va=="35" z=z-0.065/exp(z) elseif @Va=="36" z=z+0.55/exp(z) elseif @Va=="37" z=z+0.3/exp(z) elseif @Va=="38" z=z+0.211/sqr(z) elseif @Va=="39" z=z+0.3/sinh(z) elseif @Va=="40" z=z-0.34/sin(z) elseif @Va=="41" z=z-0.3/cos(z) elseif @Va=="42" z=z-0.3/cosh(z) elseif @Va=="43" z=z-0.3/tanh(z) elseif @Va=="44" z=z-1.475*exp(z) elseif @Va=="45" z=z-0.19*sqr(z) elseif @Va=="46" z=z+0.9*sqr(z) elseif @Va=="47" z=z-0.5*cotanh(z) elseif @Va=="48" z=z-0.5*cosh(z) elseif @Va=="49" z=z-0.5*cos(z) elseif @Va=="50" z=z-0.5*sin(z) elseif @Va=="51" z=z-1.7*sin(z) endif bailout: |z|<@bail default: title="Möbius Mandelbrot" center=(0.001,0.001) param p1 caption="Möbius Parameter 1" default=(-0.35,-0.25) endparam param p2 caption="Möbius Parameter 2" default=(-0.4,-0.1) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() 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""29"\ "30""31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46""47""48""49""50""51" endparam param bail caption="Bailout" default=10.0 endparam } SteffensenM { ; Steffensen root finding algorithm. Mandelbrot version. ; https://en.wikipedia.org/wiki/Steffensen%27s_method init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 if @Va=="none" z=z elseif @Va=="1" z=z-0.7*sqr(z) elseif @Va=="2" z=z+0.05*sqr(cabs(z)) elseif @Va=="3" z=z-0.7/tanh(recip(z)) elseif @Va=="4" z=z-0.05*z^4 elseif @Va=="5" z=1.85/sin(z) elseif @Va=="6" z=z-0.05/flip(z) elseif @Va=="7" z=z+0.05*tan(z) elseif @Va=="8" z=z+0.05*sinh(z) elseif @Va=="9" z=z-sin(z) elseif @Va=="10" z=-0.3/sinh(z) elseif @Va=="11" z=1/sin(z) elseif @Va=="12" z=z-1/cotanh(z) elseif @Va=="13" z=z-1/cotan(z) elseif @Va=="14" z=z-0.1/exp(z) elseif @Va=="15" z=-1/z elseif @Va=="16" z=z+0.05*flip(z) elseif @Va=="17" z=z+0.1/tan(z) elseif @Va=="18" z=z-0.05*tan(z) elseif @Va=="19" z=z-1.75/cos(z) elseif @Va=="20" z=z-4.3/cos(z) elseif @Va=="21" z=z-0.5/sin(recip(z)) elseif @Va=="22" z=z-sinh(z) elseif @Va=="23" z=z-0.05*sinh(z) elseif @Va=="24" z=z+0.04*sqr(z) elseif @Va=="25" z=z-0.4*z^4 endif f=z^@pow-fn3(pixel) g=((z+z^@pow-fn3(pixel))^@pow-fn3(pixel))/f-1 z=z-p2*f/g+p5 if @Va=="26" z=4.3/conj(z) elseif @Va=="27" if |z|<1 z=z/|z| endif elseif @Va=="28" z=z-1/cos(z) elseif @Va=="29" z=1.5/cotanh(z) elseif @Va=="30" z=-0.5/sinh(z) elseif @Va=="31" z=z+0.175/z elseif @Va=="32" z=z-0.28/cos(z) elseif @Va=="33" z=z+0.127*z^4 elseif @Va=="34" z=1.5/sin(z) elseif @Va=="35" z=0.75/tanh(z) elseif @Va=="36" z=-0.7*conj(sqr(z)) elseif @Va=="37" z=z+1/z^4 elseif @Va=="38" z=z+1.18/exp(sin(z)) elseif @Va=="39" z=z+0.114*conj(z) elseif @Va=="40" z=z+0.01*z^4 elseif @Va=="41" z=z+0.05*flip(sqr(z)) elseif @Va=="42" z=z+0.4*sqr(z) elseif @Va=="43" z=z-0.065*cabs(z) elseif @Va=="44" z=z-0.6*sqr(z) elseif @Va=="45" z=z-0.05*conj(sqr(z)) elseif @Va=="46" z=z+0.175*sinh(z) elseif @Va=="47" z=z+1.88*sin(z) elseif @Va=="48" z=z-0.117*sqr(cabs(z)) endif bailout: |zold-z|>@bail default: title="Steffensen M" center=(0.001,0.001) periodicity=0 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" endparam param p2 caption="Steffensen Parameter 1" default=(1,0) endparam param p5 caption="Steffensen Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter 1" default=(0.95,0) endparam param p4 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="C Function" default=ident() endfunc param pow caption="Exponent" default=3 endparam param bail caption="Bailout" default=0.000000001 endparam } LelaWrof { ; This is a modificationof a formula given in this Fractal Forums thread ; https://fractalforums.org/fractal-image-gallery/18/mega-utra-fractal-hybrid/615/msg3054#new init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p5*fn2(z)+@p7 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" z=z-0.12*cosh(abs(z)) elseif @Va=="2" z=z+3.5/exp(exp(z)) elseif @Va=="3" z=-1.57/exp(flip(z)) elseif @Va=="4" z=z-0.01*sqr(exp(z)) elseif @Va=="5" z=z-1.19/exp(cosh(z)) elseif @Va=="6" z=z+0.4/exp(cos(z)) elseif @Va=="7" z=z-1/exp(tanh(z)) elseif @Va=="8" if real(z)>imag(z) z=flip(z) endif elseif @Va=="9" if real(z)imag(z) z=flip(z) endif endif z=z^2-0.1/z-p1+fn3(pixel) if @Va=="26" z=z-tan(cotanh(z)) elseif @Va=="27" z=z+0.3/tan(z) elseif @Va=="28" z=z+0.3/cosh(z) elseif @Va=="29" z=z+0.3/cabs(cotanh(z)) elseif @Va=="30" z=z+0.3/sinh(z) elseif @Va=="31" z=z+0.35/exp(cos(z)) elseif @Va=="32" z=z-0.82*cos(z) elseif @Va=="33" z=z-0.68*cos(z) elseif @Va=="34" z=z+0.5/cabs(log(z)) elseif @Va=="35" z=z-1.5*sinh(z)/sqr(z) elseif @Va=="36" z=z+0.3*cabs(z) elseif @Va=="37" z=z+0.3/tan(sin(z)) elseif @Va=="38" z=z+0.67*sqr(z) elseif @Va=="39" z=z-0.815*cotanh(sin(z)) elseif @Va=="40" z=z+1.5/cabs(log(z)) elseif @Va=="41" z=z-0.05*tanh(z)/conj(z) elseif @Va=="42" z=z+1.5*cotan(sinh(z)) elseif @Va=="43" z=z-0.6*tan(cos(z)) elseif @Va=="44" z=z+0.09*log(cabs(z)) elseif @Va=="45" z=z+0.3/sqrt(cabs(z)) elseif @Va=="46" z=z+2.9/exp(cos(z)) elseif @Va=="47" z=z-0.3*cos(z) endif z=p2*fn2(z)+p3 bailout: |z|<@bail default: title="Nooda" center=(0.001,0.001) 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" endparam param p1 caption="Nooda Parameter" default=(1,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="Nooda Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } LabsPuiseux { ; https://en.wikipedia.org/wiki/Puiseux_series init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p5*fn2(z)+@p7 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" z=z-0.4*cotanh(sqr(z)) elseif @Va=="2" z=z-sinh(z)/tan(z) elseif @Va=="3" z=z-0.245*abs(z)/cotan(z) elseif @Va=="4" z=z-2.8/cotan(z) elseif @Va=="5" z=z+0.35/z elseif @Va=="6" z=z-2.7/sqr(cotanh(z)) elseif @Va=="7" z=z-1/exp(tanh(z)) elseif @Va=="8" if real(z)>imag(z) z=flip(z) endif elseif @Va=="9" if real(z)imag(z) z=flip(z) endif elseif @Va=="9" if real(z)imag(z) z=flip(z) endif elseif @Va=="9" if real(z)1 z=z/|z| endif else z=z+1/sqr(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+2*sqr(z)/tan(z) endif elseif @Va=="4" if @JM=="J" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z-0.3*sqr(z)/cotan(z) elseif @Va=="7" z=z-0.3/sqr(z) elseif @Va=="8" z=z+0.3*z*cabs(z) elseif @Va=="9" z=z+0.3*sqr(z)/cotanh(z) elseif @Va=="10" z=z-0.3*sqr(z) elseif @Va=="11" z=z+z^3 elseif @Va=="12" z=z+0.3/conj(z) elseif @Va=="13" if @JM=="J" z=z+0.3*sqr(z)/cotan(z) else z=z+2*sqr(abs(z)) endif elseif @Va=="14" z=z+sqr(z) elseif @Va=="15" z=z-0.3*cabs(z) elseif @Va=="16" z=z+1/z elseif @Va=="17" if @JM=="J" z=z+z*cabs(z) else z=z-2*sqr(z)/tan(z) endif elseif @Va=="18" z=z+0.3/z elseif @Va=="19" z=z+0.3/flip(z) elseif @Va=="20" z=z-sqr(z) elseif @Va=="21" z=z-0.3*abs(z) elseif @Va=="22" z=z+0.3*sqr(z) elseif @Va=="23" z=z+0.3*sqr(z)/tanh(z) elseif @Va=="24" z=z+sqr(z)/cotanh(z) elseif @Va=="25" z=z-sqr(z)/cotan(z) elseif @Va=="26" z=z+0.3*z*abs(z) elseif @Va=="27" z=z+sqr(z)/tanh(z) elseif @Va=="28" z=z+z*cos(z) elseif @Va=="29" z=z+sqr(z)/cotan(z) elseif @Va=="30" z=z+sqr(z)/tan(z) endif f=z^@pow-p3 f1=@pow*z^(@pow-1) a=z-f/f1 b=a-f*(a^@pow-p3)/(f1*(f-2*(a^@pow-p3))) c=(a^@pow-p3)/f d=1/(1-2*c) if @JM=="J" z=b-p1*d*(b^@pow-p3)/f1+p2 else z=b-p1*d*(b^@pow-p3)/f1+p2+fn3(pixel) endif if @Va=="31" z=z+sqr(z)/cotan(z) elseif @Va=="32" z=z-sqr(z)/cotan(z) elseif @Va=="33" z=z+0.3*sqr(z) elseif @Va=="34" z=z+0.3*sqr(abs(z)) elseif @Va=="35" z=z+sqr(z)/tan(z) elseif @Va=="36" z=z-0.3*conj(z)/z elseif @Va=="37" if @JM=="J" z=z+z^4 else z=z-1/sqr(z) endif elseif @Va=="38" z=z-sqr(z)*cosh(z) elseif @Va=="39" z=z+0.3/flip(z) elseif @Va=="40" z=z+sqr(z) elseif @Va=="41" z=z+z^3 elseif @Va=="42" z=z-0.3*sqr(z)/cotan(z) elseif @Va=="43" z=z+sqr(z)/cotanh(z) elseif @Va=="44" z=z+sqr(z)/tanh(z) elseif @Va=="45" if @JM=="J" z=z-0.3*sqr(abs(z)) else z=z-1/z endif elseif @Va=="46" if @JM=="J" z=z+z*cabs(z) else z=z-2*sqr(z)/tanh(z) endif elseif @Va=="47" z=z-z^3 elseif @Va=="48" z=z+1/z elseif @Va=="49" z=z-0.3*sqr(z) elseif @Va=="50" if @JM=="J" z=z+cabs(z)/z else z=z+2*sqr(z)/tanh(z) endif elseif @Va=="51" z=z-0.3/sqr(z) elseif @Va=="52" z=z+1/cabs(z) elseif @Va=="53" z=z-sqr(z) endif bailout: |zold-z|>@bail default: title="Chun-Ham" 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"\ "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" endparam param p1 caption="Chun-Ham Parameter 1" default=(1,0) endparam param p2 caption="Chun-Ham Parameter 2" default=(0,0) endparam param p3 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 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 p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Traub-Ostrowski { ; Traub-Ostrowski method ; https://tinyurl.com/yd95gaoq ; p230 init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 if @JM=="J" if @Va=="none" z=z elseif @Va=="1" z=z+1.21/sin(z) elseif @Va=="2" z=z+0.3/z elseif @Va=="3" z=z-0.67/cosh(z) elseif @Va=="4" z=z+0.91968*sqr(z)/tan(z) elseif @Va=="5" z=z+1/cotanh(z) elseif @Va=="6" z=z+0.9/cotan(z) elseif @Va=="7" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="8" z=z+0.57*sqr(z) elseif @Va=="9" z=z+1/sqr(z) elseif @Va=="10" z=z-2.81439*sqr(z)/tan(z) elseif @Va=="11" z=z+0.55/z elseif @Va=="12" z=z-1.45/cos(z) elseif @Va=="13" if real(z)>imag(z) z=flip(z) endif elseif @Va=="14" z=z-0.4/sqr(z) elseif @Va=="15" z=z+3.63214*z*cotan(z) elseif @Va=="16" z=z-0.648*sqr(z) elseif @Va=="17" z=z-0.32959*sqr(z)/cotanh(z) elseif @Va=="18" z=z-1/z elseif @Va=="19" z=z+0.46316*sqr(abs(z)) elseif @Va=="20" z=z+1.133*sqr(z)/cotanh(z) elseif @Va=="21" z=z-1.3518*sqr(z)/tanh(z) elseif @Va=="22" z=z+z^3 elseif @Va=="23" z=z+1.32965*sqr(z)/tan(z) elseif @Va=="24" z=z+0.5236*sqr(z)/cotanh(z) elseif @Va=="25" z=z+0.73407*tan(z)/sqr(z) elseif @Va=="26" z=z-1.06059/sinh(z) elseif @Va=="27" if |z|>1 z=z/|z| endif elseif @Va=="28" z=z+0.75347*sqr(z)/tanh(z) elseif @Va=="29" z=z+2.684*z/cotan(z) elseif @Va=="30" z=z+0.92854*z*abs(z) elseif @Va=="31" z=z-1.37673*sqr(z)/cotan(z) elseif @Va=="32" z=z-3.25*z/tan(z) elseif @Va=="33" z=z+0.65*z^4 elseif @Va=="34" z=z+3.51248*sqr(z)/tan(z) elseif @Va=="35" z=z+2.51525*sqr(z)/tan(z) elseif @Va=="36" z=z+0.72909*z*cabs(z) elseif @Va=="37" z=z-0.65374*sqr(z)/tanh(z) elseif @Va=="38" z=z-0.35/tanh(z) elseif @Va=="39" z=z+2.556*z/cosh(z) elseif @Va=="40" z=z-0.8*z^3 elseif @Va=="41" z=z+0.54*z/cos(z) elseif @Va=="42" z=z-0.5/cotan(z) elseif @Va=="43" z=z+0.46814*sqr(z)/cotan(z) elseif @Va=="44" z=z+0.679*cotanh(z) elseif @Va=="45" z=z+1.643/sinh(z) elseif @Va=="46" z=z-0.5409/cos(z) elseif @Va=="47" z=z-0.42*z^4 elseif @Va=="48" z=z+1.82*sqr(z)/cotanh(z) elseif @Va=="49" z=z-1.8/cotanh(z) elseif @Va=="50" z=z+sqr(z) elseif @Va=="51" z=z+0.46*sqr(z) elseif @Va=="52" z=z+0.6/cosh(z) elseif @Va=="53" z=z+1.532/z elseif @Va=="54" z=z-2.534/sin(z) elseif @Va=="55" z=z-1.9*sqr(z) elseif @Va=="56" z=z+0.4685/sinh(z) elseif @Va=="57" z=z+1/tanh(z) elseif @Va=="58" z=z-0.41*tan(z) elseif @Va=="59" z=z+1/tan(z) elseif @Va=="60" z=z-1/tan(z) elseif @Va=="61" z=z+0.4/tan(z) elseif @Va=="62" z=z+2*sqr(z) elseif @Va=="63" z=z-sqr(z)/cotan(z) elseif @Va=="64" z=z+0.412/cos(z) elseif @Va=="65" z=z-0.277*sqr(z)/tanh(z) elseif @Va=="66" z=z+0.91*z/sinh(z) elseif @Va=="67" z=z+2.37396*tanh(z)/sqr(z) elseif @Va=="68" z=z-0.697/tan(z) elseif @Va=="69" z=z+2.41552*sqr(z)/tanh(z) elseif @Va=="70" z=z-4*sqr(z)/tanh(z) elseif @Va=="71" z=z+0.84488*tanh(z)/z endif else if @Va=="none" z=z elseif @Va=="1" z=z+cotanh(cotan(z)) elseif @Va=="2" z=z+0.45*tan(z)*tanh(z) elseif @Va=="3" z=z+0.55*cotanh(z)/cotan(z) elseif @Va=="4" z=z-0.5*cotan(z)*cotanh(z) elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif elseif @Va=="6" z=z-6.758/sqr(z) elseif @Va=="7" z=z-0.3/sqr(z) elseif @Va=="8" z=z-0.3*sqr(z)/sinh(z) elseif @Va=="9" z=z+0.4*sqr(z)/cosh(z) elseif @Va=="10" z=z-0.6*sqr(z)/tanh(z) elseif @Va=="11" z=z-0.5*z^3 elseif @Va=="12" z=z+0.2*sqr(z)/cos(z) elseif @Va=="13" z=z+0.46*sqr(z)/tan(z) elseif @Va=="14" z=z+2.8*z*cotan(z) elseif @Va=="15" z=z-0.5/cotanh(z) elseif @Va=="16" z=z+2*sqr(z)/sin(z) elseif @Va=="17" z=z+0.4*sqr(z)/tanh(z) elseif @Va=="18" z=z-1/cos(z) elseif @Va=="19" z=z-sqr(z)/cotanh(z) elseif @Va=="20" z=z-0.3*sqr(z)/cotan(z) elseif @Va=="21" z=z+0.5*sqr(z)/cotanh(z) elseif @Va=="22" z=z+1/z elseif @Va=="23" z=z+0.3*z*tan(z) elseif @Va=="24" z=z+0.9/sinh(z) elseif @Va=="25" z=z+0.8*z*cotanh(z) elseif @Va=="26" z=z+0.3/z elseif @Va=="27" z=z-z^3 elseif @Va=="28" z=z+0.5*z^3 elseif @Va=="29" z=z+sqr(z) elseif @Va=="30" z=z+0.47729/z elseif @Va=="31" z=z-sqr(z) elseif @Va=="32" z=z+z^3 elseif @Va=="33" z=z+4.8/sqr(z) elseif @Va=="34" z=z-0.3*z^4 elseif @Va=="35" z=z+1/sqr(z) elseif @Va=="36" z=z+3.3/sin(z) elseif @Va=="37" z=z-2/cos(z) elseif @Va=="38" z=z+0.3*z^4 elseif @Va=="39" z=z-0.2*sqr(z)/cos(z) elseif @Va=="40" z=z-0.05/sqr(z) elseif @Va=="41" z=z+0.15*tan(z)/cotan(z) elseif @Va=="42" z=z+0.3/cos(z) elseif @Va=="43" z=z+cotanh(tan(z)) elseif @Va=="44" z=z+0.4*cotan(z) elseif @Va=="45" z=z-0.3*sqr(z)/sin(z) elseif @Va=="46" z=z-0.75/sqr(z) elseif @Va=="47" z=z+cotan(z) elseif @Va=="48" z=z+0.7*sqr(z)/sinh(z) elseif @Va=="49" z=z-0.3*tanh(z) elseif @Va=="50" z=z-0.5*cotan(z)/tan(z) elseif @Va=="51" z=z-0.3*tan(z) elseif @Va=="52" z=z-0.5*sqr(z)/cosh(z) elseif @Va=="53" z=z+0.5/cotan(z) elseif @Va=="54" z=z+0.8*sqr(z)/cotanh(z) elseif @Va=="55" z=z+sqr(z)/tan(z) elseif @Va=="56" z=z-2.88/sqr(z) elseif @Va=="57" z=z+0.3*sqr(z)/cotanh(z) elseif @Va=="58" z=z+1/cos(z) elseif @Va=="59" z=z-0.3/cosh(z) elseif @Va=="60" z=z-1.5*sqr(z)/cotanh(z) elseif @Va=="61" z=z+0.75/tan(z) elseif @Va=="62" z=z-0.6*sqr(z)/cotan(z) elseif @Va=="63" z=z+0.2*sqr(z)/cotan(z) elseif @Va=="64" z=z-1/cosh(z) elseif @Va=="65" z=z+sqr(z)/cotan(z) elseif @Va=="66" z=z-0.3/cos(z) elseif @Va=="67" z=z+sqr(z)/tanh(z) elseif @Va=="68" z=z-2*sqr(z)/tanh(z) elseif @Va=="69" z=z+0.275/tan(z) elseif @Va=="70" z=z-0.6*sqr(z)/tan(z) elseif @Va=="71" z=z-2*sqr(z)/tan(z) endif endif f=z^@pow-p3 f1=@pow*z^(@pow-1) a=f/f1 if @JM=="J" z=z-p1*a*(((z-a)^@pow-p3)-f)/((2*((z-a)^@pow-p3))-f)+p2 else z=z-p1*a*(((z-a)^@pow-p3)-f)/((2*((z-a)^@pow-p3))-f)+p2+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Traub-Ostrowski" 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"\ "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" endparam param p1 caption="Traub-Ostrowski Parameter 1" default=(1,0) endparam param p2 caption="Traub-Ostrowski Parameter 2" default=(0,0) endparam param p3 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 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 p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Kou { ; Iterative method of Kou ; http://pefmath.etf.rs/vol5num1/AADM-Vol5-No1-93-109.pdf ; p105 init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*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.5*sqr(z)/cotanh(z) elseif @Va=="7" z=z+2.5*sqr(z) elseif @Va=="8" z=z+0.5*sqr(z) elseif @Va=="9" z=z+2*sqr(z)/tan(z) elseif @Va=="10" z=z+2.5*sqr(z)/tan(z) elseif @Va=="11" z=z+2.5*sqr(z)/tanh(z) elseif @Va=="12" z=z+0.5*sqr(z)/tanh(z) elseif @Va=="13" z=z+2*z^3 elseif @Va=="14" z=z-0.5*sqr(z)/cotan(z) elseif @Va=="15" z=z+1.5*sqr(z)/tanh(z) elseif @Va=="16" z=z-0.5*sqr(z) elseif @Va=="17" z=z-2.5*sqr(z)/tanh(z) elseif @Va=="18" z=z+2.5*sqr(z)*tanh(z) elseif @Va=="19" z=z-1.5*sqr(z)/tan(z) elseif @Va=="20" z=z+sqr(z)*tanh(z) elseif @Va=="21" z=z+2*sqr(z)*tanh(z) elseif @Va=="22" z=z-3*sqr(z)/tanh(z) elseif @Va=="23" z=z-2*sqr(z)/tanh(z) elseif @Va=="24" z=z-0.5*sqr(z)/cotanh(z) elseif @Va=="25" z=z-0.5*z^4 elseif @Va=="26" z=z+3*sqr(z) elseif @Va=="27" z=z+1.5*sqr(z) elseif @Va=="28" z=z+0.5/z elseif @Va=="29" z=z+1.5*sqr(z)/cotanh(z) elseif @Va=="30" z=z-0.5*sqr(z)/tanh(z) elseif @Va=="31" z=z-sqr(z) elseif @Va=="32" z=z+2.5*z^3 elseif @Va=="33" z=z-sqr(z)/tanh(z) elseif @Va=="34" z=z+1.5*sqr(z)/tan(z) elseif @Va=="35" z=z-3.5*sqr(z)/tan(z) elseif @Va=="36" z=z+z^3 elseif @Va=="37" z=z+sqr(z)/tanh(z) elseif @Va=="38" z=z-2*sqr(z)/tan(z) elseif @Va=="39" z=z-2.5*sqr(z) elseif @Va=="40" z=z+1/z elseif @Va=="41" z=z-sqr(z)/cotan(z) elseif @Va=="42" z=z+2*sqr(z)*tan(z) elseif @Va=="43" z=z-2.5*sqr(z)/tan(z) elseif @Va=="44" z=z+sqr(z)*tan(z) elseif @Va=="45" z=z-3*sqr(z)/tan(z) elseif @Va=="46" z=z+0.5*z^3 elseif @Va=="47" z=z+2*sqr(z)/tanh(z) elseif @Va=="48" z=z+z^4 elseif @Va=="49" z=z-1.5*sqr(z) elseif @Va=="50" z=z-0.5/z elseif @Va=="51" z=z+1.5*z^4 elseif @Va=="52" z=z+1.5*sqr(z)*tan(z) elseif @Va=="53" z=z-3*sqr(z) elseif @Va=="54" z=z+1.5*z^3 elseif @Va=="55" z=z+3*sqr(z)/tanh(z) elseif @Va=="56" z=z+sqr(z) elseif @Va=="57" z=z+2/z elseif @Va=="58" z=z-1.5*sqr(z)+1/sqr(z) elseif @Va=="59" z=z+0.2*sqr(z)-0.42/cotan(z) elseif @Va=="60" z=z-1.05*sqr(z)+1/tan(z) elseif @Va=="61" z=z+2.15*sqr(z)-0.15/sqr(z) elseif @Va=="62" z=z+2*sqr(z)+1/z elseif @Va=="63" z=z-1.5*sqr(z)+1/tan(z) elseif @Va=="64" z=z+2*sqr(z)+0.5/z elseif @Va=="65" z=z+sqr(z)+1/z elseif @Va=="66" z=z-sqr(z)+1/z elseif @Va=="67" z=z-2*sqr(z)+2/z elseif @Va=="68" z=z-2*sqr(z)+1/z elseif @Va=="69" z=z+1.1*sqr(z)+1.12/cotanh(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" z=z+1/z elseif @Va=="5" z=z+0.5/sqr(z) elseif @Va=="6" z=z-sqr(z)/cotan(z) elseif @Va=="7" z=z-0.5*sqr(z)*tan(z) elseif @Va=="8" z=z+sqr(z)*cotanh(z) elseif @Va=="9" z=z-1.5*sqr(z)+0.5/z elseif @Va=="10" z=z+0.5/z elseif @Va=="11" z=z-sqr(z)/tanh(z) elseif @Va=="12" z=z+0.5*sqr(z)*tan(z) elseif @Va=="13" z=z-sqr(z)/cotanh(z) elseif @Va=="14" z=z-sqr(z)/tan(z) elseif @Va=="15" z=z-0.5*sqr(z)*tanh(z) elseif @Va=="16" z=z-1/z^4 elseif @Va=="17" z=z+0.5*z^3 elseif @Va=="18" z=z+0.5*sqr(z)+1/z elseif @Va=="19" z=z+1.5/sqr(z) elseif @Va=="20" z=z+0.5*sqr(z)*cotan(z) elseif @Va=="21" z=z-0.5/sqr(z) elseif @Va=="22" z=z-3*sqr(z)*cotanh(z) elseif @Va=="23" z=z-z^3 elseif @Va=="24" z=z+0.5*sqr(z)*tanh(z) elseif @Va=="25" z=z+0.1*z^5 elseif @Va=="26" z=z-0.5*sqr(z) elseif @Va=="27" z=z+sqr(z) elseif @Va=="28" z=z-2.5*sqr(z)*cotanh(z) elseif @Va=="29" z=z+z^3 elseif @Va=="30" z=z-1/sqr(z) elseif @Va=="31" z=z-1.5*sqr(z)-0.5/z elseif @Va=="32" z=z+sqr(z)*tan(z) elseif @Va=="33" z=z+sqr(z)+1/z elseif @Va=="34" z=z-sqr(z) elseif @Va=="35" z=z+1/z^4 elseif @Va=="36" z=z+1.5*sqr(z)*cotan(z) elseif @Va=="37" z=z-0.5*sqr(z)*cotanh(z) elseif @Va=="38" z=z+0.2*sqr(z)+1/sqr(z) elseif @Va=="39" z=0.3*z+1/sqr(z) elseif @Va=="40" z=z-sqr(z)+0.5/z elseif @Va=="41" z=z-0.75*z^4 elseif @Va=="42" z=z-sqr(z)-0.5/z elseif @Va=="43" z=z-0.3*z^4 elseif @Va=="44" z=z-2*sqr(z)*cotan(z) elseif @Va=="45" z=z+0.1*z^4 elseif @Va=="46" z=z-0.5*z^3 elseif @Va=="47" z=z+1.5*sqr(z) elseif @Va=="48" z=z-2*sqr(z) elseif @Va=="49" z=z-0.5*sqr(z)-1/z elseif @Va=="50" z=z-0.1*z^5 elseif @Va=="51" z=z-2.5*sqr(z)*cotan(z) elseif @Va=="52" z=z-1.5*sqr(z) elseif @Va=="53" z=z-sqr(z)+0.5/z elseif @Va=="54" z=z+0.5*sqr(z) elseif @Va=="55" z=z-2*sqr(z)*cotanh(z) elseif @Va=="56" z=z+0.5*sqr(z)-1/z elseif @Va=="57" z=z-0.5*sqr(z)/tan(z) elseif @Va=="58" z=z-sqr(z)+1/z elseif @Va=="59" z=z+sqr(z)/cotanh(z) elseif @Va=="60" z=z+sqr(z)-1/z elseif @Va=="61" z=z+0.5*sqr(z)*cotanh(z) elseif @Va=="62" z=z-2*sqr(z)-0.5/z elseif @Va=="63" z=z-0.5*sqr(z)+1/z elseif @Va=="64" z=z+sqr(z)/tan(z) elseif @Va=="65" z=z+sqr(z)+0.5/z elseif @Va=="66" z=z-2*sqr(z)+0.5/z elseif @Va=="67" z=z-3.5*sqr(z)*cotanh(z) elseif @Va=="68" z=z+sqr(z)-0.5/z elseif @Va=="69" z=z-sqr(z)-1/z endif endif f=z^@pow-p1 f1=@pow*z^(@pow-1) a=z-f/f1 b=(a^@pow-p1)/(f-2*(a^@pow-p1)) c=a-b*(z-a) d=(c^@pow-p1)/((a^@pow-p1)-p2*(c^@pow-p1)) if @JM=="J" z=c-p3*(c^@pow-p1)*((1+b)^2+d)/f1+p4 else z=c-p3*(c^@pow-p1)*((1+b)^2+d)/f1+p4+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Kou" 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"\ "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" endparam param p2 caption="Kou Parameter 1" default=(1,0) endparam param p3 caption="Kou Parameter 2" default=(1,0) endparam param p4 caption="Kou Parameter 3" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="M Function" default=ident() visible=@JM=="M" endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam param p11 default=1.0 endparam param p12 default=1.0 endparam func fn11 default=ident() endfunc func fn12 default=ident() endfunc func fn13 default=ident() endfunc } LabsKou { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" z=z+0.4/z elseif @Va=="2" z=z+sqr(z)/tan(z) elseif @Va=="3" z=z+0.9/tanh(z) elseif @Va=="4" z=z-19*tanh(z)/sqr(z) elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif elseif @Va=="6" z=z+1/z elseif @Va=="7" z=z-0.5*sqr(z)/cotanh(z) elseif @Va=="8" z=z-2.5*sqr(z)/tanh(z) elseif @Va=="9" z=z+0.3*sqr(z)*cabs(z) elseif @Va=="10" z=z-0.67035*sqr(z)*sinh(z) elseif @Va=="11" z=z+0.3*sqr(z)/cos(z) elseif @Va=="12" z=z-2.834*sqr(z)/tan(z) elseif @Va=="13" z=z-0.27/sqr(z) elseif @Va=="14" z=z+0.5*tan(z)/sqr(z) elseif @Va=="15" z=z+tanh(z)/sqr(z) elseif @Va=="16" z=z-0.49306*sqr(z)*sin(z) elseif @Va=="17" z=z-0.44136*sqr(z) elseif @Va=="18" z=z-1/z elseif @Va=="19" z=z-0.535*sqr(z)/cotan(z) elseif @Va=="20" z=z-0.44*sqr(z)/tanh(z) elseif @Va=="21" z=z+0.45/tanh(z) elseif @Va=="22" z=z+0.58/cosh(z) elseif @Va=="23" if |z|<1 z=z/|z| endif elseif @Va=="24" z=z+0.75/cotan(z) elseif @Va=="25" z=z+0.35*sqr(z)/cotanh(z) elseif @Va=="26" z=z+0.65*sqr(z)/tanh(z) elseif @Va=="27" z=z+0.3/z elseif @Va=="28" z=z+1.41275*sqr(z)*cos(z) elseif @Va=="29" z=z-0.45296*sqr(z)*cotanh(z) elseif @Va=="30" z=z-2.3615*sqr(z)/tanh(z) elseif @Va=="31" z=z-0.8615*z*cotanh(z) elseif @Va=="32" z=z+0.63075*sqr(z)/sin(z) elseif @Va=="33" z=z-0.3/z elseif @Va=="34" z=z-0.3*sqr(z)/cos(z) elseif @Va=="35" z=z-3.12*z*cotan(z) elseif @Va=="36" z=z+0.8*sqr(z)/tan(z) elseif @Va=="37" z=z-2.63*z*cotan(z) elseif @Va=="38" z=z+0.57064*sqr(z)*cosh(z) elseif @Va=="39" z=z+0.92854*z*abs(z) elseif @Va=="40" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="41" z=z-0.7*sqr(z)/cotanh(z) elseif @Va=="42" z=z-0.7*sqr(z)/cotan(z) elseif @Va=="43" z=z+0.3*sqr(z)/tan(z) elseif @Va=="44" z=z-0.53*sqr(z) elseif @Va=="45" if |z|>1 z=z/|z| endif elseif @Va=="46" z=z-0.5*tan(z)/sqr(z) elseif @Va=="47" z=z+3.2*tanh(z)/sqr(z) elseif @Va=="48" z=z-2.9*sqr(z)*cotanh(z) elseif @Va=="49" z=z+0.46316*z*abs(z) elseif @Va=="50" z=z+0.5*z^4 elseif @Va=="51" z=z-1.26*z*cotanh(z) elseif @Va=="52" z=z-0.32*z^4 elseif @Va=="53" z=z+0.32*sqr(z) elseif @Va=="54" z=z+1.885/sin(z) elseif @Va=="55" if real(z)imag(z) z=flip(z) endif elseif @Va=="15" z=z-0.25/sqr(z)+1.43/z elseif @Va=="16" z=z+2/z elseif @Va=="17" z=z-0.44136*sqr(z) elseif @Va=="18" z=z-1/z elseif @Va=="19" z=z+0.1*sqr(z) elseif @Va=="20" z=z-0.44*sqr(z)/tanh(z) elseif @Va=="21" z=z+3/z elseif @Va=="22" z=z-0.45*sqr(z)/tan(z) elseif @Va=="23" z=z-0.01*sqr(z)/cotan(z) elseif @Va=="24" z=z-0.125*sqr(z)/flip(z) elseif @Va=="25" z=z-0.125*z/conj(z) elseif @Va=="26" z=z-0.125*sqr(z)/conj(z) elseif @Va=="27" z=z+0.3/z elseif @Va=="28" z=z+0.5*sqr(z)/cotan(z) elseif @Va=="29" z=z-0.05*sqr(z)/tanh(z) elseif @Va=="30" z=z+0.047*sqr(z)*flip(z) elseif @Va=="31" z=z+0.2*sqr(z)/cotanh(z) elseif @Va=="32" z=z+0.4*sqr(z)+1/z elseif @Va=="33" z=z-0.3/z elseif @Va=="34" z=z-0.135*sqr(z)+1/sqr(z) elseif @Va=="35" z=z-3.12*z*cotan(z) elseif @Va=="36" z=z+0.1/sqr(z)+0.5/z elseif @Va=="37" z=z-2.63*z*cotan(z) elseif @Va=="38" z=z+1/sqr(z) elseif @Va=="39" z=z+0.115*sqr(z)+1/z elseif @Va=="40" z=z-0.225*sqr(z)+1/sqr(z) elseif @Va=="41" z=z-z/cotanh(z) elseif @Va=="42" z=z-0.285*sqr(z)+1/z elseif @Va=="43" z=z-0.04*z+1.9/z elseif @Va=="44" z=z+0.1*sqr(z)/cotanh(z) elseif @Va=="45" z=z+z/cotanh(z) elseif @Va=="46" z=z-0.108*z+1/z elseif @Va=="47" z=z+3.2*tanh(z)/sqr(z) elseif @Va=="48" z=z^2*(z-4.4)/(1-4.4*z) elseif @Va=="49" z=z-0.06*sqr(z)*cabs(z) elseif @Va=="50" z=z+5.8/sqr(z)+4.8/z elseif @Va=="51" z=z-1.26*z*cotanh(z) elseif @Va=="52" z=z^2*(z+3.2)/(1+3.2*z) elseif @Va=="53" z=z+0.32*sqr(z) elseif @Va=="54" z=z+0.037*z^3 elseif @Va=="55" if real(z)@bail default: title="Cnuh" 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"\ "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" endparam param p2 caption="Cnuh Parameter 1" default=(1,0) endparam param p3 caption="Cnuh Parameter 2" default=(1,0) endparam param p4 caption="Cnuh Parameter 3" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="M Function" default=ident() visible=@JM=="M" endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } HugaMarash { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="none" z=z elseif @Va=="1" z=z^2*(z-11.2)/(1-11.2*z) elseif @Va=="2" z=z+0.003*sqr(z)/cotanh(z) elseif @Va=="3" z=-0.11*sqr(z)+3/conj(z) elseif @Va=="4" z=0.08*sqr(z)-3.7/conj(z) elseif @Va=="5" z=z+0.07*sqr(z) elseif @Va=="6" z=0.185*sqr(z)+4/z elseif @Va=="7" z=z+1000/sqr(z) elseif @Va=="8" z=0.11*sqr(z)-3/conj(z) elseif @Va=="9" z=z+1/z elseif @Va=="10" z=z^2*(z+9.7)/(1+9.7*z) elseif @Va=="11" z=z^2*(z+26.7)/(1+26.7*z) elseif @Va=="12" z=z-1/sqr(z) elseif @Va=="13" z=z-0.27/sqr(z) elseif @Va=="14" if real(z)>imag(z) z=flip(z) endif elseif @Va=="15" z=z+225/sqr(z) elseif @Va=="16" z=z-0.16*sqr(z)+4/z elseif @Va=="17" z=z+0.08*sqr(z)/cotan(z) elseif @Va=="18" z=z-1/z elseif @Va=="19" z=-0.15*sqr(z)-14.9/cotanh(z) elseif @Va=="20" z=0.08*sqr(z)-3.7/flip(z) elseif @Va=="21" z=0.16*sqr(z)+4/z elseif @Va=="22" z=0.165*sqr(z)+1/sqr(z)+1 elseif @Va=="23" if |z|<1 z=z/|z| endif elseif @Va=="24" z=z+0.08*sqr(z)/cotanh(z) elseif @Va=="25" z=-0.11*sqr(z)+3/abs(z) elseif @Va=="26" z=z+0.11*sqr(z)-10/z elseif @Va=="27" z=z+0.3/z elseif @Va=="28" z=0.16*sqr(z)+4.6/tan(z) elseif @Va=="29" z=z^2*(z-81.8)/(1-81.8*z) elseif @Va=="30" z=z-0.065*sqr(z) elseif @Va=="31" z=z+0.11*sqr(z)-1/z elseif @Va=="32" z=z+0.3/sqr(z) elseif @Va=="33" z=z-0.3/z elseif @Va=="34" z=0.16*sqr(z)+1/z elseif @Va=="35" z=z-0.077*sqr(z)+33/cotan(z) elseif @Va=="36" z=-0.15*sqr(z)-10.4/cotanh(z) elseif @Va=="37" z=0.185*sqr(z)+4/sqr(z) elseif @Va=="38" z=z+1/z^4 elseif @Va=="39" z=z-12/sqr(z) elseif @Va=="40" z=z+0.0745*sqr(z)/tanh(z) elseif @Va=="41" z=z+21/sqr(z) elseif @Va=="42" z=-0.15*sqr(z)-5.8/cotanh(z) elseif @Va=="43" z=z-1/z^4 elseif @Va=="44" z=z-0.1*sqr(z)-32/z elseif @Va=="45" z=-0.11*sqr(z)-3/conj(z) elseif @Va=="46" z=z+0.11*sqr(z)-5.5/z elseif @Va=="47" z=-0.125*sqr(z)+4/z elseif @Va=="48" z=z-0.08*sqr(z)-33/tanh(z) elseif @Va=="49" z=-0.125*sqr(z)+4/sqr(z) elseif @Va=="50" z=z+0.07*sqr(z)+5/z elseif @Va=="51" z=0.11*sqr(z)-3/abs(z) elseif @Va=="52" z=-0.11*sqr(z)-3/abs(z) elseif @Va=="53" z=z-0.000385*z^4 elseif @Va=="54" z=0.11*sqr(z)-3/abs(z) elseif @Va=="55" if real(z)@bail default: title="Huga Marash" center=(0.001,0.001) periodicity=0 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""66""67""68""69" endparam param p2 caption="Huga Marash Parameter 1" default=(-1,0) endparam param p3 caption="Huga Marash Parameter 2" default=(1,0) endparam param p4 caption="Huga Marash Parameter 3" default=(0,0) endparam param p1 caption="Huga Marash Parameter 4" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } ModifiedSchröder { ; http://shodhganga.inflibnet.ac.in/bitstream/10603/5708/13/13_chapter%206.pdf ; P 164 init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" z=z^2*(z-11.2)/(1-11.2*z) elseif @Va=="2" if |z|>1 z=z/|z| endif elseif @Va=="3" z=z+0.4/tanh(sqr(z)) elseif @Va=="4" z=(z+0.4)/(0.4*z+1) elseif @Va=="5" z=z+4.675/sqr(z) elseif @Va=="6" z=z+z^4 elseif @Va=="7" z=z-0.011*sqr(z)/tan(z) elseif @Va=="8" z=z-0.2*sqr(z) elseif @Va=="9" z=0.02*sqr(z)-7.06/z elseif @Va=="10" z=z^2*(z+9.7)/(1+9.7*z) elseif @Va=="11" z=z^2*(z+26.7)/(1+26.7*z) elseif @Va=="12" z=0.884*z-1.421/z elseif @Va=="13" z=z-0.4/sqr(sin(z)) elseif @Va=="14" if real(z)>imag(z) z=flip(z) endif elseif @Va=="15" z=z-0.5*z^3 elseif @Va=="16" z=0.3526*z+0.086/sqr(z) elseif @Va=="17" z=z+0.08*sqr(z)/cotan(z) elseif @Va=="18" z=z-z^4 elseif @Va=="19" z=0.012*sqr(z)-10/tan(z) elseif @Va=="20" z=z-0.02/sqr(cotan(z)) elseif @Va=="21" z=z-0.0195/z elseif @Va=="22" z=z+0.09*sqr(z) elseif @Va=="23" if |z|<1 z=z/|z| endif elseif @Va=="24" z=z+0.08*sqr(z)/cotanh(z) elseif @Va=="25" z=z+z^2 elseif @Va=="26" z=z-z^3 elseif @Va=="27" z=z+0.001/tanh(sqr(z)) elseif @Va=="28" z=-0.013241*sqr(z)-7.06/z elseif @Va=="29" z=1.239*z+0.086/sqr(z) elseif @Va=="30" z=0.1*sqr(z)-3.7/z elseif @Va=="31" z=1.133*z+1/z elseif @Va=="32" z=0.012*sqr(z)+7.6/tan(z) elseif @Va=="33" z=z-0.5*z^2 elseif @Va=="34" z=0.16*sqr(z)+1/z elseif @Va=="35" z=0.463*z+3.132/sqr(z) elseif @Va=="36" z=z+z^3 elseif @Va=="37" z=z-4.63/sqr(z) elseif @Va=="38" z=z+1/z^4 elseif @Va=="39" z=z+0.4/sqr(sin(z)) elseif @Va=="40" z=z+0.0745*sqr(z)/tanh(z) elseif @Va=="41" z=z+0.0195/z elseif @Va=="42" if real(z)@bail default: title="Modified Schröder" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M1""M2" 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" endparam param p2 caption="ModSchröd Parameter 1" default=(1,0) endparam param p3 caption="ModSchröd Parameter 2" default=(-1,0) endparam param p4 caption="ModSchröd Parameter 3" default=(0,0) endparam param p1 caption="ModSchröd Parameter 4" default=(1,0) visible=@JM!="M2" endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="M Function" default=ident() visible=@JM=="M1" || @JM=="M2" endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Li-Mu-Ma-WangMod { ; Modification of a method given here: ; http://www.kurims.kyoto-u.ac.jp/EMIS/journals/GMN/yahoo_site_admin/assets/docs/6_GMN-982-V6N2.160175930.pdf ; P 64 init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="1" z=z+5*sqr(z)-1/z elseif @Va=="2" z=z+5*sqr(z)+1/z elseif @Va=="3" z=z+3*sqr(z)+1.5/sqr(z)-13.5 elseif @Va=="4" z=z-7*sqr(z)+1/z+6 elseif @Va=="5" z=z-3*sqr(z)+3.5/cotan(z) elseif @Va=="6" z=z+5*cotanh(z)+1/sqr(z) elseif @Va=="7" z=5*sqr(z)+2/sqr(z)-1 elseif @Va=="8" z=z+4*z^4-1 elseif @Va=="9" z=z+5*sqr(z)-10/sqr(z) elseif @Va=="10" z=z+5*sqr(z)+1/sqr(z) elseif @Va=="11" z=z+7.5*sqr(z)/cotanh(z)-1 elseif @Va=="12" z=z+3*sqr(z)-1/tan(z)-6 elseif @Va=="13" z=z-11*sqr(z)*cotanh(z)-1 elseif @Va=="14" z=z-3*sqr(z)+9.5/cotan(z) elseif @Va=="15" z=z+3*sqr(z)-1/z-6 elseif @Va=="16" z=7.5*z-2/sqr(z)-1 elseif @Va=="17" z=z-5*sqr(z)*cotan(z)-8.5 elseif @Va=="18" z=6*z-2/sqr(z) elseif @Va=="19" z=z+5*sqr(z)-9/tan(z) elseif @Va=="20" z=5*sqr(z)+2/sqr(z)+1 elseif @Va=="21" z=z+3.5*sqr(z)*tan(z)-18 elseif @Va=="22" z=7.5*z-2/sqr(z)+1 elseif @Va=="23" z=z+7*sqr(z)/tan(z)+1 elseif @Va=="24" z=z-3*sqr(z)-13/cotan(z) elseif @Va=="25" z=z-2*z^3-4.5 elseif @Va=="26" z=z-sqr(z)*cos(z)+25 elseif @Va=="27" z=z-2*z^3 elseif @Va=="28" z=6.5*sqr(z)+2/sqr(z)-1 elseif @Va=="29" z=z+4.5*z^4+0.5 elseif @Va=="30" z=z+11*sqr(z)*cotanh(z)-1 elseif @Va=="31" z=z+5*sqr(z)*cotan(z)-8.5 elseif @Va=="32" z=z-3*sqr(z)-10/sqr(z) elseif @Va=="33" z=z+5*sqr(z)*tanh(z)-6 elseif @Va=="34" z=z-11*sqr(z)*cotanh(z)+1 elseif @Va=="35" z=-5*sqr(z)+2/sqr(z)-1 elseif @Va=="36" z=z-3*sqr(z)*cos(z)-18 elseif @Va=="37" z=z+sqr(z)*cos(z)-25 elseif @Va=="38" z=-5*sqr(z)+2/cosh(z)-1 elseif @Va=="39" z=z+3.5*sqr(z)*tan(z)+18 elseif @Va=="40" z=z-6*sqr(z)*tanh(z)-10 endif f=z^@pow-p1 f1=@pow*z^(@pow-p1) a=z-f/f1 fa=a^@pow-p1 b=a-fa*(2*f-fa)/(f1*(2*f-5*fa)) fb=b^@pow-p1 fb1=@pow*b^(@pow-1) c=b-fb/fb1 fc=c^@pow-p1 z=b-p2*(p3*fb/fb1+p4*fc*(2*fb-fc)/(fb1*(2*fb-5*fc)))+p5 bailout: |zold-z|>@bail default: title="Li-Mu-Ma-Wang Mod" center=(0.001,0.001) periodicity=0 param Va 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" endparam param p1 caption="Constant" default=1.0 endparam param p2 caption="Limod Parameter 1" default=(1,0) endparam param p3 caption="Limod Parameter 2" default=(1,0) endparam param p4 caption="Limod Parameter 3" default=(1,0) endparam param p5 caption="Limod Parameter 4" default=(0,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Wammuling { init: z=fn1(pixel) int i=0 loop: While i<@iter i=i+1 z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="1" z=z+3*sqr(z)-1/z-6 elseif @Va=="2" z=2*z+1/z elseif @Va=="3" z=-5.5/abs(z) elseif @Va=="4" z=z-1.25*z*cotanh(z) elseif @Va=="5" z=z+z*cabs(z)-2 elseif @Va=="6" z=z+1.5*sqr(z)+1.5/cos(z) elseif @Va=="7" z=z+z*cos(z)-1 elseif @Va=="8" z=z+4*z^4-1 elseif @Va=="9" z=3.5/sin(z) elseif @Va=="10" z=z-7*sqr(z)+1/z+6 elseif @Va=="11" z=z+sqr(z)*cabs(z)+1 elseif @Va=="12" z=z-0.5*sqr(z)+1.125/z elseif @Va=="13" z=z-11*sqr(z)*cotanh(z)-1 elseif @Va=="14" z=z-3.5*sqr(z)+10/exp(z) elseif @Va=="15" z=z+5*sqr(z)-1/z elseif @Va=="16" z=1.5/exp(z) elseif @Va=="17" z=z+sqr(z)*cosh(z)-2 elseif @Va=="18" z=z-0.25*sqr(z)*abs(z)-2.75 elseif @Va=="19" z=z+z^2 elseif @Va=="20" z=7.5/sqr(z) elseif @Va=="21" z=z+z^3 elseif @Va=="22" z=z+z^4-1 elseif @Va=="23" z=z+7*sqr(z)/tan(z)+1 elseif @Va=="24" z=z+z*exp(z) elseif @Va=="25" z=z-2*z^3-4.5 elseif @Va=="26" z=z+z*cosh(z)+1 elseif @Va=="27" z=z-2*z^3 elseif @Va=="28" z=z+sqr(z)*cos(z)+2 elseif @Va=="29" z=z+4.5*z^4+0.5 elseif @Va=="30" z=0.5/abs(z) elseif @Va=="31" z=z+5*sqr(z)*cotan(z)-8.5 elseif @Va=="32" z=z-3*sqr(z)-10/sqr(z) elseif @Va=="33" z=z+5*sqr(z)*tanh(z)-6 elseif @Va=="34" z=z+0.5*sqr(z)-1.125/z elseif @Va=="35" z=-5*sqr(z)+2/sqr(z)-1 elseif @Va=="36" z=sqr(flip(z))+1 elseif @Va=="37" z=z-3/tan(z) elseif @Va=="38" z=-5*sqr(z)+2/cosh(z)-1 elseif @Va=="39" z=z-0.25*sqr(z)*exp(z)-2.75 elseif @Va=="40" z=z+z^4-2 elseif @Va=="41" z=z+z^4 elseif @Va=="42" z=z^2*(z+5)/(1+5*z)-2.5 elseif @Va=="43" z=z+sqr(z)*tanh(z)-1 elseif @Va=="44" z=z+z*exp(z)-3 elseif @Va=="45" z=z+3*sqr(z)+1.5/cotanh(z) elseif @Va=="46" z=z-z*sinh(z) elseif @Va=="47" z=z+1.5*z-1/sqr(z) elseif @Va=="48" z=z+z^3-3 elseif @Va=="49" z=z+z*cabs(z) elseif @Va=="50" z=z-2.5*z*tanh(z) elseif @Va=="51" z=z+z^4+1 elseif @Va=="52" z=-7.5/sqr(z) elseif @Va=="53" z=-0.25*sqr(flip(z))-1.5 elseif @Va=="54" z=z+9*sqr(z)*cotanh(z)-1.75 elseif @Va=="55" z=z-3*abs(z)-0.5/sqr(z) elseif @Va=="56" z=z^2*(z-1.5)/(1-1.5*z)-2.5 elseif @Va=="57" z=z-11*sqr(z)*cotanh(z)+1 elseif @Va=="58" z=1.5/flip(z) elseif @Va=="59" z=z+z^3-3 elseif @Va=="60" z=z-3.5/cosh(z) elseif @Va=="61" z=z-sqr(z)*cabs(z)+1 elseif @Va=="62" z=z+0.5*sqr(z)+1.125/z elseif @Va=="63" z=-3.5/sin(z) elseif @Va=="64" z=sqr(exp(z))-1 elseif @Va=="65" z=z-3.5/z elseif @Va=="66" z=-3/tanh(z) elseif @Va=="67" z=z-3*sqr(z)+9.5/cotan(z) elseif @Va=="68" z=z+16.5*sqr(z)*cotan(z)-9.5 elseif @Va=="69" z=z+z*abs(z)-2 elseif @Va=="70" z=z+0.5*sqr(z)-0.5/exp(z) elseif @Va=="71" z=-0.5/abs(z) elseif @Va=="72" z=z^4-3.5 elseif @Va=="73" z=z-3*sqr(z)+5.5/sqr(z) elseif @Va=="74" z=z-11.5/sqr(z) elseif @Va=="75" z=z+sqr(z)*cos(z) elseif @Va=="76" z=-1/sqr(z) elseif @Va=="77" z=z-4.25*z*cosh(z)+1 elseif @Va=="78" z=z-3*sqr(z)+3.5/cotan(z) elseif @Va=="79" z=z-4/sin(z) elseif @Va=="80" z=5.5/abs(z) elseif @Va=="81" z=z-2*sqr(z)*cotanh(z)+1 elseif @Va=="82" z=z+sqr(z)/exp(z) elseif @Va=="83" z=-z^4-3.5 elseif @Va=="84" z=z+sqr(z)*flip(z)-2 elseif @Va=="85" z=z^2*(z+2.125)/(1+2.125*z)-2.75 elseif @Va=="86" z=-0.25*sqr(cotanh(z))-1.25 elseif @Va=="87" z=z+z*cotanh(z) endif f=z^@pow-p1 f1=@pow*z^(@pow-p1) a=z-f/f1 fa=a^@pow-p1 b=a-fa*(2*f-fa)/(f1*(2*f-5*fa)) fb=b^@pow-p1 fb1=@pow*b^(@pow-1) c=b-fb/fb1 fc=c^@pow-p1 if @JM=="M1" z=b+p2*fb1*(2*fb-5*fc)/(fb/fb1+fc*(2*fb-fc))+p3+fn4(pixel) else z=b+p2*fb1*(2*fb-5*fc)/(fb/fb1+fc*(2*fb-fc))+p3 endif if @JM=="M2" z=@p11*fn3(log(abs(z)))^@pow2+@p12+fn4(pixel) else z=@p11*fn3(log(abs(z)))^@pow2+@p12 endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Wammuling" center=(0.001,0.001) periodicity=0 maxiter=500 param JM caption="J/M" enum="J""M1""M2" endparam param Va 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""79""80"\ "81""82""83""84""85""86""87" endparam param iter caption="Iterations" default=3 endparam param p1 caption="Wammuling Parameter 1" default=1.0 endparam param p2 caption="Wammuling Parameter 2" default=1.0 endparam param p3 caption="Wammuling 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 param p11 caption="Labs Parameter 1" default=(1,0) endparam param p12 caption="Labs Parameter 2" default=(0,0) endparam param pow caption="Wammuling Exponent" default=3 endparam param pow2 caption="Labs Exponent" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Labs Function" default=ident() endfunc func fn4 caption="C Function" default=ident() visible=@JM!="J" endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=100000.0 endparam } LabsMandelbrotVariant { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p1*fn2(z)+p2 z=(((z^2+fn3(pixel))^2-fn3(pixel))^2+fn3(pixel))^2-fn3(pixel) z=p3*fn4(log(abs(z)))+p4 endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labs Mandelbrot Variant" center=(0.001,0.001) periodicity=0 maxiter=500 param iter caption="Iterations" default=3 endparam param p3 caption="Labs Parameter 1" default=(1,0) endparam param p4 caption="Labs Parameter 2" default=(0,0) endparam param p1 caption="Loop Parameter 1" default=(0.5,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" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=1000000.0 endparam } ModifiedMandelbrot { init: z=fn1(pixel) loop: z=p1*fn2(z)+p2 z=(z-p3)/(1-p3*z) z=z/(p4*z+1) if @Va=="none" z=z elseif @Va=="1" z=z*cotanh(z) elseif @Va=="2" z=z*cotan(z) elseif @Va=="3" z=z*cosh(z) elseif @Va=="4" z=z*cos(z) elseif @Va=="5" z=z+1/cos(z) elseif @Va=="6" z=z*sinh(z)+1 elseif @Va=="7" z=z-1/z elseif @Va=="8" z=z*sin(z)+1 elseif @Va=="9" z=z+sqr(z) elseif @Va=="10" z=z-1/cosh(z) elseif @Va=="11" z=z-1/cos(z) elseif @Va=="12" z=z-0.3*z^3 elseif @Va=="13" z=z+0.3*z^3 elseif @Va=="14" z=z-exp(z) elseif @Va=="15" z=z+0.3*z^3-1 elseif @Va=="16" z=z-cos(z) elseif @Va=="17" z=z+cotan(z)+1/z elseif @Va=="18" z=z-cotanh(z)+1/z elseif @Va=="19" z=z-0.3*z*cotan(z) elseif @Va=="20" z=z+0.3*z*tan(z) elseif @Va=="21" z=z+0.3*z*sinh(z) elseif @Va=="22" z=z+0.3*z*sin(z) elseif @Va=="23" z=z+sqr(z)+1/cotanh(z) elseif @Va=="24" z=z+sqr(z)+1/cotan(z) elseif @Va=="25" z=z+sqr(z)-1/cosh(z) elseif @Va=="26" z=z+0.3*z*sin(z)-1 elseif @Va=="27" z=z+0.3*z*cos(z)-1 elseif @Va=="28" z=z+0.3*z*cosh(z)-1 elseif @Va=="29" z=z+0.3*z*cotanh(z)-1 elseif @Va=="30" z=z-z*cotan(z) elseif @Va=="31" z=z+sin(z)/z elseif @Va=="32" z=z+sin(z)/z-1 elseif @Va=="33" z=z-sin(z)/z elseif @Va=="34" z=z-sin(z)/z+1 endif z=(z^2+fn3(pixel))/(fn3(pixel)*z^2+1) bailout: |z|<@bail default: title="Modified Mandelbrot" 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=(0,0) 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" endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } ModifiedNewton { init: z=fn1(pixel) loop: zold=z z=p2*fn2(z)+p3 z=(z-p5)/(1-p5*z) z=z/(p6*z+1) z=z-p1*(z^@pow-p4)/(@pow*z^(@pow-1))+0.45 z=z-p1*(z^@pow-p4)/(@pow*z^(@pow-1))+0.45 bailout: |zold-z|>@bail default: title="Modified Newton" center=(0.001,0.001) periodicity=0 param p1 caption="ModNewt Parameter" default=(1,0) endparam param p4 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param p5 caption="Möbius Parameter 1" default=(0,0) endparam param p6 caption="Möbius Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p2 caption="Loop Parameter 1" default=(1,0) endparam param p3 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } NewtonMandelbrot { init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 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/tan(z) elseif @Va=="4" z=z+1/cosh(z) elseif @Va=="5" z=z+1/cos(z) elseif @Va=="6" z=z+1/sinh(z) elseif @Va=="7" z=z-1/z elseif @Va=="8" z=z-1/sqr(z) elseif @Va=="9" z=z-1/tanh(z) elseif @Va=="10" z=z-1/cosh(z) elseif @Va=="11" z=z-1/cos(z) elseif @Va=="12" z=z-1/sin(z) elseif @Va=="13" z=z+cos(z) elseif @Va=="14" z=z-exp(z) elseif @Va=="15" z=z-cosh(z) elseif @Va=="16" z=z-cos(z) elseif @Va=="17" z=z+cotan(z)+1/z elseif @Va=="18" z=z-cotanh(z)+1/z elseif @Va=="19" z=z-tanh(z)+1/z elseif @Va=="20" z=z-tan(z)+1/z elseif @Va=="21" z=z-sinh(z)+1/z elseif @Va=="22" z=z-sin(z)+1/z elseif @Va=="23" z=z+sqr(z)+1/cotanh(z) elseif @Va=="24" z=z+sqr(z)+1/cotan(z) elseif @Va=="25" z=z+sqr(z)-1/cosh(z) elseif @Va=="26" z=z+sqr(z)-1/cos(z) elseif @Va=="27" z=z+z*exp(z) elseif @Va=="28" z=z+z*cotan(z) elseif @Va=="29" z=z-z*exp(z) elseif @Va=="30" z=z-z*cotan(z) elseif @Va=="31" if |z|<1 z=z/|z| endif elseif @Va=="32" if |z|>1 z=z/|z| endif elseif @Va=="33" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="34" if real(z)imag(z) z=flip(z) endif endif f=z^@powN-p1 f1=3*z^2 z=(z-p2*f/f1)^@powM+fn3(pixel) bailout: (@BT=="Convergent" && |zold-z|>@bailcon) ||(@BT=="Divergent" && |z|<@baildiv) default: title="Newton Mandelbrot" center=(0.001,0.001) periodicity=0 param p1 caption="Newton Parameter 1" default=(1,0) endparam param p2 caption="Newton Parameter 2" default=(1,0) endparam param powN caption="Newton Exponent" default=3 endparam param powM caption="Mandelbrot Exponent" default=2 endparam func fn3 caption="Mandelbrot C Function" default=ident() endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) 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 BT caption="Bailout Type" enum="Convergent""Divergent" endparam param baildiv caption="Bailout Value" visible=@BT=="Divergent" default=10.0 endparam param bailcon caption="Bailout Value" default=0.000000001 visible=@BT=="Convergent" endparam } ModifiedMandelbrot2 { init: z=fn1(pixel) loop: z=p2*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 z=flip(z) elseif @Va=="3" if |z|<1 z=z/|z| endif z=abs(z) elseif @Va=="4" if |z|<1 z=z/|z| endif z=exp(z) elseif @Va=="5" if |z|<1 z=z/|z| endif z=sqr(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=cosh(z) elseif @Va=="7" if |z|<1 z=z/|z| endif z=cos(z) elseif @Va=="8" if |z|<1 z=z/|z| endif z=sinh(z) elseif @Va=="9" if |z|<1 z=z/|z| endif z=sin(z) elseif @Va=="10" z=z+0.3/z elseif @Va=="11" z=z-0.3/z elseif @Va=="12" z=z+0.3/sqr(z) elseif @Va=="13" z=z-0.3/sqr(z) elseif @Va=="14" z=z+0.3/cotanh(z) elseif @Va=="15" z=z-0.3/cotanh(z) elseif @Va=="16" z=z+0.3/cotan(z) elseif @Va=="17" z=z-0.3/cotan(z) elseif @Va=="18" z=z+0.3/tanh(z) elseif @Va=="19" z=z-0.3/tanh(z) elseif @Va=="20" z=z+0.3/tan(z) elseif @Va=="21" z=z-0.3/tan(z) elseif @Va=="22" z=z+0.3/cosh(z) elseif @Va=="23" z=z-0.3/cosh(z) elseif @Va=="24" z=z+0.3/cos(z) elseif @Va=="25" z=z-0.3/cos(z) elseif @Va=="26" z=z+0.3/sin(z) elseif @Va=="27" z=z-0.3/sin(z) endif z=((z+p1)^2+fn3(pixel))-((z-p1)^2+fn3(pixel))/2 bailout: |z|<@bail default: title="Modified Mandelbrot 2" center=(0.001,0.001) magn=0.5 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" endparam param p1 caption="ModMand Parameter" default=(-0.5,0) endparam param p2 caption="Loop Parameter 1" default=(1,0) endparam param p3 caption="Loop Parameter 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } ModifiedMandelbrot3 { init: z=fn1(pixel) loop: z=p2*z+p3 if @Va=="none" z=z elseif @Va=="1" z=z+1/z elseif @Va=="2" z=z+1/sqr(z) elseif @Va=="3" z=z+1/cotanh(z) elseif @Va=="4" z=z+1/tanh(z) elseif @Va=="5" z=z+1/cos(z) elseif @Va=="6" z=z+1/sin(z) elseif @Va=="7" z=z-1/z elseif @Va=="8" z=z-1/sqr(z) elseif @Va=="9" z=z-1/cotan(z) elseif @Va=="10" z=z-1/tan(z) elseif @Va=="11" z=z-1/cos(z) elseif @Va=="12" z=z-1/sinh(z) elseif @Va=="13" z=z+sqr(z) elseif @Va=="14" z=z+cosh(z) elseif @Va=="15" z=z+sin(z) elseif @Va=="16" z=z+2/z elseif @Va=="17" z=z+2/sinh(z) elseif @Va=="18" z=z+2/sin(z) elseif @Va=="19" z=z-2/z elseif @Va=="20" z=z-2/sqr(z) elseif @Va=="21" z=z-2/sin(z) elseif @Va=="22" z=z+2*cos(z) elseif @Va=="23" z=z-2*sqr(z) elseif @Va=="24" z=z-2*sinh(z) endif z=(fn3(pixel)^2+z)^2+z bailout: |z|<@bail default: title="Modified Mandelbrot 3" center=(0.001,0.001) magn=0.8 angle=270 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" endparam param p2 caption="Loop Parameter 1" default=(-0.35,0) endparam param p3 caption="Loop Parameter 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } Ginok { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=flip(z) elseif @Va=="2" if |z|<1 z=z/|z| endif z=0.1*sqr(z) elseif @Va=="3" if |z|>1 z=z/|z| endif z=1.2*sqr(z) elseif @Va=="4" if |z|>1 z=z/|z| endif z=cotanh(z) elseif @Va=="5" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=sinh(z) elseif @Va=="6" if real(z)@bail default: title="Ginok" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p1 caption="Ginok Parameter 1" default=(1,0) endparam param p2 caption="Ginok Parameter 2" default=(1,0) endparam param p3 caption="Ginok Parameter 3" default=(0,0) endparam param p4 caption="Ginok Parameter 4" default=1.2 endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="C Function" visible=@JM=="M" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Thomford { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+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 z=0.6/cotan(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=0.575*abs(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif z=z-0.5*sqr(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=z+0.3*cotanh(z) elseif @Va=="7" z=flip(z) z=z+z^2*(z+10)/(1+10*z) elseif @Va=="8" z=z+0.7*sqr(z)+1/sqr(z) elseif @Va=="9" z=z+sqr(z)*tan(z)+1.75 elseif @Va=="10" z=z+0.3/z elseif @Va=="11" z=z+0.9*exp(z)^2-0.1*z^3 elseif @Va=="12" z=sqr(z)+1.85*z^2/(z^3-1)-2.135 elseif @Va=="13" z=z-0.9*z^2/(z^3-1)-1.83 elseif @Va=="14" z=sqr(z)+1.85*z^2/(z^3-1)+2 elseif @Va=="15" z=z+4.2*z^2/(z^3-1)+0.7845 elseif @Va=="16" z=z-0.35*(z^3-1)/(3*z^2)+1.3 elseif @Va=="17" z=abs(z)-0.35*(z^3-1)/(3*z^2)+1.3 elseif @Va=="18" z=cosh(z)-z^2+1 elseif @Va=="19" z=cos(z)+z^2*(z+2)/(1+2*z)+1 elseif @Va=="20" z=cos(z)+z^2*(1+0.6*z)/(z+0.6)+0.6 elseif @Va=="21" z=cos(z)+z^2+0.6 elseif @Va=="22" z=cos(z)+z^2*cos((z-1.16)/(1-1.16*z))+1 endif f=z^@pow-p1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) f3=(@pow-2)*(@pow-1)*@pow*z^(@pow-3) z=z-p2*(f^2*f3+6*f1^3-6*f*f1*f2)/(6*f*f1^2-3*f^2*f2)+p3 bailout: |zold-z|>@bail default: title="Thomford" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p2 caption="Thomford Parameter 1" default=(1,0) endparam param p3 caption="Thomford Parameter 2" default=(0,0) endparam param p1 caption="Thomford Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=4 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(0.65,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } ModifiedJarratt { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+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 if @JM=="J" z=3*cosh(z) else z=-cotanh(z) endif elseif @Va=="3" if |z|>1 z=z/|z| endif if @JM=="J" z=3*cos(z) else z=-cotan(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+1/sqr(z) elseif @Va=="8" z=z-1/z elseif @Va=="9" z=z-1/sqr(z) elseif @Va=="10" z=z+0.3/z elseif @Va=="11" z=z+0.3/sqr(z) elseif @Va=="12" z=z-0.3*sqr(z) elseif @Va=="13" z=z+0.5*sqr(z) endif f=z^@pow-p1 f1=@pow*z^(@pow-1) a=f/f1 d=@pow*(z-2*a/3)^(@pow-1) z=z-p2*((2/a)-((f1-3*d)/f))+p3 if @JM=="M" z=z+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Modified Jarratt" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p1 caption="Jarratt Mod Parameter 1" default=(1,0) endparam param p2 caption="Jarratt Mod Parameter 2" default=(1,0) endparam param p3 caption="Jarratt Mod Parameter 3" default=(0,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="C Function" visible=@JM=="M" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(0.5,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Twennum { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+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 z=z-0.93*tan(z) elseif @Va=="3" if |z|>1 z=z/|z| endif z=z+0.16*cotan(z) elseif @Va=="4" if |z|<1 z=z/|z| endif z=z+0.26*sqr(z) elseif @Va=="5" if |z|<1 z=z/|z| endif z=z+0.3*sqr(z) elseif @Va=="6" if |z|>1 z=z/|z| endif z=z+0.4*cotan(z) elseif @Va=="7" if |z|>1 z=z/|z| endif z=z+0.47*cotanh(z) elseif @Va=="8" if |z|>1 z=z/|z| endif z=z+0.0955*cotanh(z) elseif @Va=="9" if |z|>1 z=z/|z| endif z=z-0.5*exp(z) elseif @Va=="10" if |z|>1 z=z/|z| endif z=z-1.32*tanh(z) elseif @Va=="11" if |z|<1 z=z/|z| endif z=z-0.8*recip(z) elseif @Va=="12" z=sqr(z)+z^2*(z-1.36 )/(1-1.36*z) elseif @Va=="13" z=cosh(z)+z^2*(z-1.65)/(1-1.65*z)-1.61 elseif @Va=="14" z=cos(z)+z^2*(z+1.2)/(1+1.2*z)-0.5 elseif @Va=="15" z=z^2*(z-0.37)/(1-0.37*z)-0.575 elseif @Va=="16" z=z^2*(z+3)/(1+3*z)+0.2435 elseif @Va=="17" z=z^2*(z+8.5)/(1+8.5*z) -0.175 elseif @Va=="18" if |z|<1 z=z/|z| endif z=z-0.137 *sqr(z) elseif @Va=="19" if real(z)>imag(z) z=flip(z) endif z=conj(z) elseif @Va=="20" if real(z)>imag(z) z=flip(z) endif z=0.25*sqr(z) elseif @Va=="21" if real(z)>imag(z) z=flip(z) endif z=-abs(z) elseif @Va=="22" if real(z)imag(z) z=flip(z) endif z=0.48*z+0.45/z elseif @Va=="35" if |z|>1 z=z/|z| endif z=-1.25*z^3 elseif @Va=="36" if |z|>1 z=z/|z| endif z=0.67*flip(z)*conj(z) elseif @Va=="37" if |z|>1 z=z/|z| endif z=0.4*flip(z)*conj(z) elseif @Va=="38" if |z|>1 z=z/|z| endif z=0.5*exp(z)*sqr(z) elseif @Va=="39" if |z|>1 z=z/|z| endif z=-0.395*exp(z)*sqr(z) elseif @Va=="40" if |z|>1 z=z/|z| endif z=0.45*cotan(z)*sqr(z) elseif @Va=="41" if |z|>1 z=z/|z| endif z=0.45*cos(z)*sqr(z) elseif @Va=="42" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=sqr(z)+z^2*(z-5)/(1-5*z)+0.85 elseif @Va=="43" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2*(z+4.15)/(1+4.15*z) elseif @Va=="44" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2 elseif @Va=="45" z=z-0.38*(z^3-1)/(3*z^2) z=+z^2*(z-7)/(1-7*z) elseif @Va=="46" z=z-5.02*(z^3-1)/(3*z^2) z=z^2*(z-13)/(1-13*z) endif f=z^@pow-p1 f1=@pow*z^(@pow-1) z=fn4(z)+p2*z^2*(f/f1)+p3 bailout: |zold-z|>@bail default: title="Twennum" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p2 caption="Twennum Parameter 1" default=(1,0) endparam param p3 caption="Twennum Parameter 2" default=(0,0) endparam param p1 caption="Twennum Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=4 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="Twennum Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } LabsNewtonMunster { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="none" z=z elseif @Va=="Munster" z=z^2*(z-@mun)/(1-@mun*z) elseif @Va=="Newton" z=z-@new*(z^3-1)/(3*z^2) elseif @Va=="Möbius 1" z=(z-@mob1)/(1-@mob1*z) elseif @Va=="Möbius 2" z=z/(@mob2*z+1) elseif @Va=="Julia" z=z^2+@jul elseif @Va=="Add Recip" z=z+@ar/z elseif @Va=="Add Sqr" z=z+@as*sqr(z) elseif @Va=="Mandelbrot" z=z^2+@mf(pixel) endif f=z=z^2*(z-p4)/(1-p4*z)-p1 f1=z*(p4^2*z-2*p4*(z^2+1)+3*z)/(1-p4*z)^2 z=z-p2*f/f1+p3 if @JM=="M" z=z+fn3(pixel) endif z=@lapa1*@lafun(log(abs(z)))^@pow+@lapa2 endwhile z=z*@adj/100 bailout: |z|<@bail default: title="Labs Newton Munster" center=(0.001,0.001) periodicity=0 magn=0.5 maxiter=500 heading caption="Start" endheading func fn1 caption="Start Function" default=ident() endfunc heading caption="Loop (general)" endheading param JM caption="J/M" enum="J""M" endparam param iter caption="Iterations" default=3 endparam param Va caption="Modification" enum="None""Munster""Newton""Möbius 1""Möbius 2""Julia""Add Recip"\ "Add Sqr""Mandelbrot" endparam param mun caption="Mod Parameter" default=(-2,0) visible=@Va=="Munster" endparam param new caption="Mod Parameter" default=(0.5,0) visible=@Va=="Newton" endparam param mob1 caption="Mod Parameter" default=(0.2,0) visible=@Va=="Möbius 1" endparam param mob2 caption="Mod Parameter" default=(-0.3,0) visible=@Va=="Möbius 2" endparam param jul caption="Mod Parameter" default=(0.5,0) visible=@Va=="Julia" endparam param ar caption="Mod Parameter" default=(-0.3,0) visible=@Va=="Add Recip" endparam param as caption="Mod Parameter" default=(-0.3,0) visible=@Va=="Add Sqr" endparam func mf caption="Mod Function" default=ident() visible=@Va=="Mandelbrot" endfunc 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="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param adj caption="Adjustment" default=102.0 endparam heading caption="Newton" endheading 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 func fn3 caption="C Function" visible=@JM=="M" default=ident() endfunc heading caption="Munster" endheading param p4 caption="Munster Parameter" default=(0.5,0) endparam heading caption="Labs" endheading param lapa1 caption="Labs Parameter 1" default=(1,0) endparam param lapa2 caption="Labs Parameter 2" default=(0,0) endparam func lafun caption="Labs Function" default=ident() endfunc param pow caption="Labs Exponent" default=(1,0) endparam heading caption="Bailout" endheading param bail caption="Bailout Value" default=100000.0 endparam } ModifiedMunster { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*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 z=z+sin(z) elseif @Va=="3" if |z|<1 z=z/|z| endif z=z+0.3*sqr(z) elseif @Va=="4" if |z|<1 z=z/|z| endif z=z-0.3*cotan(z) elseif @Va=="5" z=z+0.5*sqr(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=z^2*(z+7.3)/(1+7.3*z) elseif @Va=="7" if |z|>1 z=z/|z| endif z=z^2*(z-1.2)/(1-1.2*z) elseif @Va=="8" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2*(z-1.35)/(1-1.35*z) elseif @Va=="9" if real(z)imag(z) z=flip(z) endif z=z^2*(z+9.8)/(1+9.8*z) elseif @Va=="11" if |z|<1 z=z/|z| endif z=z^2*(z-2.954)/(1-2.954*z) elseif @Va=="12" if |z|>1 z=z/|z| endif z=z^2*(z-28)/(1-28*z) elseif @Va=="13" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2*(z-2.55)/(1-2.55*z) elseif @Va=="14" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2*(z-8.4)/(1-8.4*z) elseif @Va=="15" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2*(z-18.5)/(1-18.5*z) elseif @Va=="16" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2*(z+3)/(1+3*z) elseif @Va=="17" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z^2*(z+100)/(1+100*z) elseif @Va=="18" z=z^2*(z-2.95)/(1-2.95*z) elseif @Va=="19" z=z+z^2*(z+0.75)/(1+0.75*z) elseif @Va=="20" z=z^2*(z+2.384)/(1+2.384*z) elseif @Va=="21" z=z^2*(z+4.6)/(1+4.6*z) elseif @Va=="22" z=z^2*(z+9.5)/(1+9.5*z) endif else if @Va=="none" z=z elseif @Va=="1" z=z+cotan(z)-1 elseif @Va=="2" z=z+cotanh(z)-0.5 elseif @Va=="3" z=z+cotan(z)+1 elseif @Va=="4" z=z+1/z+1 elseif @Va=="5" z=z+0.5*sqr(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=z^2*(z+7.3)/(1+7.3*z) elseif @Va=="7" z=z-0.5*sin(z)-1 elseif @Va=="8" z=z-0.2*tan(z)+2 elseif @Va=="9" z=2.5*(z^3-1)/(3*z^2)+1.25 elseif @Va=="10" if real(z)>imag(z) z=flip(z) endif z=z^2*(z+9.8)/(1+9.8*z) elseif @Va=="11" if |z|<1 z=z/|z| endif z=z^2*(z-2.954)/(1-2.954*z) elseif @Va=="12" z=2.15*(z^3-1)/(3*z^2)+1.84 elseif @Va=="13" z=z-1/z+2 elseif @Va=="14" z=z+cos(z)-1 elseif @Va=="15" z=z+cos(z)+1 elseif @Va=="16" z=z-cotanh(z)+1.8 elseif @Va=="17" z=z+0.1*sqr(z) elseif @Va=="18" z=z^2*(z-2.95)/(1-2.95*z) elseif @Va=="19" z=z+z^2*(z+0.75)/(1+0.75*z) elseif @Va=="20" z=z^2*(z+2.384)/(1+2.384*z) elseif @Va=="21" z=z^2*(z+4.6)/(1+4.6*z) elseif @Va=="22" z=z^2*(z-3)/(1+3*z) endif endif z=fn4(z)+p2*z^2*@fn5((z-p4)/(1-p4*z))+p3 if @JM=="M" z=z+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Modified Munster" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p4 caption="MM Parameter 1" default=(2,0) endparam param p2 caption="MM Parameter 2" default=(1,0) endparam param p3 caption="MM 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 fn4 caption="MM Function 1" default=ident() endfunc func fn5 caption="MM Function 2" default=ident() endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" visible=@JM=="M" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Theg { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 if @Va=="none" z=z elseif @Va=="Munster" z=z^2*(z-@mun)/(1-@mun*z) elseif @Va=="Newton" z=z-@new*(z^3-1)/(3*z^2) elseif @Va=="Möbius 1" z=(z-@mob1)/(1-@mob1*z) elseif @Va=="Möbius 2" z=z/(@mob2*z+1) elseif @Va=="Julia" z=z^2+@jul elseif @Va=="Add Recip" z=z+@ar/z elseif @Va=="Add Sqr" z=z+@as*sqr(z) elseif @Va=="Mandelbrot" z=z^2+@mf(pixel) endif z=(p1*z^3+p2)/(p2*z+p1) bailout: |zold-z|>@bail default: title="Theg" center=(0.001,0.001) periodicity=0 magn=0.5 param p1 caption="Theg Parameter 1" default=(0.5,0) endparam param p2 caption="Theg Parameter 2" default=(1.5,0) endparam param Va caption="Modification" enum="None""Munster""Newton""Möbius 1""Möbius 2""Julia""Add Recip"\ "Add Sqr""Mandelbrot" endparam param mun caption="Munster Parameter" default=(-2,0) visible=@Va=="Munster" endparam param new caption="Newton Parameter" default=(0.5,0) visible=@Va=="Newton" endparam param mob1 caption="Möbius 1 Parameter" default=(0.2,0) visible=@Va=="Möbius 1" endparam param mob2 caption="Möbius 2 Parameter" default=(0.1,0) visible=@Va=="Möbius 2" endparam param jul caption="Julia Parameter" default=(0.5,0) visible=@Va=="Julia" endparam param ar caption="Add Recip Parameter" default=(-0.3,0) visible=@Va=="Add Recip" endparam param as caption="Add Sqr Parameter" default=(-0.3,0) visible=@Va=="Add Sqr" endparam func mf caption="Mandelbrot Function" default=ident() visible=@Va=="Mandelbrot" endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } SneabW { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="none" z=z elseif @Va=="1" z=z+0.45*sqr(z) elseif @Va=="2" z=z+1.5*cos(z) elseif @Va=="3" z=z^2*(z-8)/(1-8*z) elseif @Va=="4" z=z^2*(sqr(z)-3)/(1-3*z) elseif @Va=="5" z=z^2*(sqr(z)-2.5)/(1-2.5*tanh(z)) elseif @Va=="6" z=z-0.35*abs(z) elseif @Va=="7" z=-z elseif @Va=="8" z=z+sqr(tan(z)) elseif @Va=="9" z=z+1.8*sqr(cos(z)) elseif @Va=="10" z=z+sqr(sin(z)) elseif @Va=="11" z=z^2*(sqr(z)-3)/(1-3*sqr(z)) elseif @Va=="12" z=z^2*(sqr(z)-3)/(1-3*tan(z)) elseif @Va=="13" z=z-5.9*(z^6-1)/(3*exp(z)^2) elseif @Va=="14" z=z-2.85*(z^6-1)/(3*cotanh(z)^2) elseif @Va=="15" z=sin(z)^2-0.2 elseif @Va=="16" z=sin(z)^2-0.73 elseif @Va=="17" z=-0.365*log(abs(z))^2-0.5 elseif @Va=="18" z=0.4*log(abs(z))^2+1.65 elseif @Va=="19" z=1.25*sqr(z)/tan(z)+1.25 elseif @Va=="20" z=-0.1*sqr(z)/cotan(z)+1.9 elseif @Va=="21" z=z-0.53*sqr(z)/cotan(z)+1.28 elseif @Va=="22" z=-0.25*sqr(z)/cotanh(z)+2 elseif @Va=="23" z=z-2*sqr(z)/tanh(z)+0.2 elseif @Va=="24" if @JM=="J" z=0.35*cotan(z)/cotanh(z)-0.62 else z=0.35*cos(z)/cotanh(z)-0.62 endif elseif @Va=="25" z=z-0.55*sqr(z)/tanh(z)+1.65 elseif @Va=="26" z=z-2*sqr(z)/tan(z)+0.17 elseif @Va=="27" z=z-0.2*sqr(z)/cotanh(z)+1.28 elseif @Va=="28" z=0.1*sqr(z)/cotan(z)-0.77 elseif @Va=="29" z=0.25*sqr(z)/tan(z)+1.95 endif if @JM=="J" z=z*(p1-z)^2+p2 else z=z*(p1-z)^2+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Sneab W" center=(0.001,0.001) periodicity=0 param JM 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" endparam param p1 caption="Sneab Parameter 1" default=(1.1,0) endparam param p2 caption="Sneab Parameter 2" default=(0,0) endparam param p3 caption="Sneab 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 fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" visible=@JM=="M" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Inverse-FreeJarrattforz-(z^3-1)/(3*z^2)-c=0 { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="none" z=z elseif @Va=="1" z=z+1/cosh(z)-1 elseif @Va=="2" z=z^2*(z+13)/(1+13*z) elseif @Va=="3" z=z-0.285/cotanh(z) elseif @Va=="4" z=(z+0.135)/(1+0.135*z) elseif @Va=="5" z=(z-0.3)/(1-0.3*z) elseif @Va=="6" z=z/(-0.3*z+1) elseif @Va=="7" z=z/(0.3*z+1) elseif @Va=="8" z=z^2-0.95 elseif @Va=="9" z=z^2+0.3 elseif @Va=="10" z=z+sqr(z) elseif @Va=="11" z=z+0.3*sqr(z) elseif @Va=="12" z=z-0.95*sqr(z) elseif @Va=="13" z=z-2.235/cotanh(z)-3.5 elseif @Va=="14" z=z-0.6/cotan(z)-1.1 elseif @Va=="15" z=z-0.6/cotanh(z)-1.1 elseif @Va=="16" z=z^2*(z-13)/(1-13*z) elseif @Va=="17" if real(z)>imag(z) z=flip(z) endif elseif @Va=="18" z=z+0.4*sqr(z)-0.6 elseif @Va=="19" z=-0.8-7.75*(z+0.8)/(z+7.75) elseif @Va=="20" z=-1.5-6*(z+1.5)/(z+6) elseif @Va=="21" z=z+0.4*z^4-0.3 elseif @Va=="22" z=z+z^3 elseif @Va=="23" z=z^3+0.376 elseif @Va=="24" z=z-0.3*z^3 elseif @Va=="25" z=z-0.3*z^3-0.6 endif f=z-(z^3-1)/(3*z^2)-p1 f1=2/3-2/(3*z^3) a=f/f1 b=@pow*(z-2*a/3)^(@pow-1) c=(b-f1)/f1 z=z-p2*(a-3*a*c*(1-3*c/2)/4)+p3 if @JM=="M" z=z+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Erratum 12" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p2 caption="Jarratt Parameter 1" default=(1,0) endparam param p3 caption="Jarratt Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="C Function" visible=@JM=="M" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(0.5,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Mojar { ;Modification of inverse-free Jarratt's Iterative map, as given here: ; www.mat.utfsm.cl/scientia/archivos/vol10/part_2.pdf ; P 17 init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @JM=="J" if @Va=="none" z=z elseif @Va=="1" z=z^2*(z-1.75)/(1-1.75*z) elseif @Va=="2" z=z+0.125*(z^3-1)/(3*z^2) elseif @Va=="3" if |z|<1 z=z/|z| endif z=z+0.3*sqr(z) elseif @Va=="4" z=z+0.5*sqr(z) elseif @Va=="5" z=z+0.3*exp(z) elseif @Va=="6" z=z+0.2*z^4 elseif @Va=="7" z=z+z^2*(z+6)/(1+6*sqr(z)) elseif @Va=="8" z=sqr(z)+z^2*(sqr(z)-2.33)/(1-2.33*sqr(z))+0.175 elseif @Va=="9" z=z+z^2*(sqr(z)-1.5)/(1-1.5*sqr(z)) elseif @Va=="10" z=z+z^2*(cotan(z)+1.3)/(1+1.3*sqr(z)) elseif @Va=="11" z=z+z^2*(cos(z)+1.5)/(1+1.5*sqr(z))+0.1 elseif @Va=="12" z=z+0.5*(cotan(z)^3-1)/(3*cotan(z)^2)+1.687 elseif @Va=="13" z=z+z^2*(sin(z)-1.6)/(1-1.6*sqr(z)) elseif @Va=="14" z=z+z^2*(cosh(z)-1.6)/(1-1.6*cotanh(z)) elseif @Va=="15" z=z+0.5*(cotanh(z)^3-1)/(3*cotanh(z)^2)+1.687 elseif @Va=="16" z=sqr(z)+0.1*(cos(z)^3-1)/(3*cos(z)^2)-0.8 elseif @Va=="17" z=0.25*sqr(z)+0.25*cotanh(z) elseif @Va=="18" z=-0.68*sqr(z)-0.15*cotanh(z) elseif @Va=="19" z=-0.81*z-0.33*recip(z) elseif @Va=="20" z=-0.4*sqr(z)+0.2*recip(z) elseif @Va=="21" if |z|<1 z=z/|z| endif z=0.3*z-0.075 elseif @Va=="22" if |z|<1 z=z/|z| endif z=z-0.5*cotanh(sqr(z))+1.44 elseif @Va=="23" if |z|<1 z=z/|z| endif z=z-0.5*cotanh(cotanh(z))+1.8 elseif @Va=="24" if |z|<1 z=z/|z| endif z=z-0.68*cotan(cotanh(z))+1.64 elseif @Va=="25" z=z^2*(z+4.25)/(1+4.25*z)+0.05 elseif @Va=="26" z=z-2*(z^3-1)/(3*z^2)+3.85 elseif @Va=="27" z=z-0.5*(z^3-1)/(3*z^2)+1.687 elseif @Va=="28" z=sqr(z)+0.24*(cosh(z)^3-1)/(3*cosh(z)^2)+0.4 elseif @Va=="29" z=z+0.5*(cotan(z)^3-1)/(3*cotanh(z)^2)+1.687 elseif @Va=="30" z=sqr(z)+z^2*(z-1.93)/(1-1.93*z)+0.22 elseif @Va=="31" z=z+0.225*(cotanh(z)^3-1)/(3*cotan(z)^2)+1 endif else if @Va=="none" z=z elseif @Va=="1" z=z^2*(z-1.25)/(1-1.25*z) elseif @Va=="2" z=z+(cos(z)^3-1)/(3*z^2)+1 elseif @Va=="3" if |z|<1 z=z/|z| endif z=z+2.55*cotan(z)-0.9 elseif @Va=="4" z=z+0.1*sqr(z)+0.2 elseif @Va=="5" z=-0.35*z-1.7 elseif @Va=="6" z=z+0.2*z^4 elseif @Va=="7" z=z+z^2*(z+6)/(1+6*sqr(z)) elseif @Va=="8" z=sqr(z)+z^2*(sqr(z)-1.88)/(1-1.88*sqr(z))-0.975 elseif @Va=="9" z=z+z^2*(sqr(z)+4.4)/(1+4.4*sqr(z))-0.975 elseif @Va=="10" z=z+z^2*(cotan(z)-4.4)/(1-4.4*sqr(z))-0.05 elseif @Va=="11" z=z+z^2*(cos(z)+1.5)/(1+1.5*sqr(z))+0.1 elseif @Va=="12" z=z+0.5*(cotan(z)^3-1)/(3*cotan(z)^2)+1.687 elseif @Va=="13" z=z+z^2*(sin(z)-3.55)/(1-3.55*sqr(z))+0.13 elseif @Va=="14" z=z+z^2*(cosh(z)-0.935)/(1-0.935*cotanh(z))+0.13 elseif @Va=="15" z=z+0.5*(cotanh(z)^3-1)/(3*cotanh(z)^2)+1.687 elseif @Va=="16" z=sqr(z)+2.33*(cos(z)^3-1)/(3*cos(z)^2)+2.83657 elseif @Va=="17" z=-0.285*sqr(z)+cotanh(z) elseif @Va=="18" z=0.152*sqr(z)+2.08*cotanh(z) elseif @Va=="19" z=-0.81*z-0.33*recip(z) elseif @Va=="20" z=-0.4*sqr(z)+0.2*recip(z) elseif @Va=="21" if |z|<1 z=z/|z| endif z=0.845*abs(z)+1.15235 elseif @Va=="22" z=z-0.225*(z^3-1)/(3*cotanh(z)^2)+1.57 elseif @Va=="23" z=z-0.225*(z^3-1)/(3*sqr(z)^2)+1.57 elseif @Va=="24" z=z-0.115*(sqr(z)^3-1)/(3*exp(z)^2)+1 elseif @Va=="25" z=z^2*(z+4.25)/(1+4.25*z)+0.05 elseif @Va=="26" z=z-2*(z^3-1)/(3*z^2)+3.85 elseif @Va=="27" z=z-0.5*(z^3-1)/(3*z^2)+1.687 elseif @Va=="28" z=sqr(z)+0.24*(cosh(z)^3-1)/(3*cosh(z)^2)+0.4 elseif @Va=="29" z=z+0.5*(cotan(z)^3-1)/(3*cotanh(z)^2)+1.687 elseif @Va=="30" z=sqr(z)+z^2*(z+5)/(1+5*z)+1.463 elseif @Va=="31" z=z+0.5*(cotanh(z)^3-1)/(3*cotan(z)^2)+0.3352 endif endif f=z-(z^3-1)/(3*z^2)-p1 f1=2/3-2/(3*z^3) a=f/f1 b=@pow*(z-2*a/3)^(@pow-1) c=(b-f1)/f1 z=z-p2*(sqr(a)-3*a*c*recip(1-3*c/2)/4)+p3 if @JM=="M" z=z+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Mojar" 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""9""10""11""12""13""14"\ "15""16""17""18""19""20""21"\ "22""23""24""25""26""27""28""29""30""31" endparam param p2 caption="Mojar Parameter 1" default=(1,0) endparam param p3 caption="Mojar Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="C Function" visible=@JM=="M" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } Yoluhur { init: z=fn1(pixel) loop: zold=z z=@p7*z+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Jm=="J" if @Va=="None" z=z elseif @Va=="1" z=z-0.125*z^2*(z-0.27)/(1-0.27*z) elseif @Va=="2" z=sqr(z)+0.3*z^2*(z-1.5)/(1-z^2) elseif @Va=="3" z=cotan(z)-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="4" z=sqr(z)+0.465*z^2*(recip(z)-8.75)/(1-8.75*recip(z)) elseif @Va=="5" if |z|<1 z=z/|z| endif z=z+0.3*sqr(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=z+0.3*cotanh(z) elseif @Va=="7" if |z|<1 z=z/|z| endif z=z-0.3*sqr(z) elseif @Va=="8" z=z+0.1*z^2*(z-0.27)/(1-0.27*z) elseif @Va=="9" z=z-1.35*z^2*(z-2)/(1-2*z) elseif @Va=="10" z=z+1/z-0.3 elseif @Va=="11" z=sin(z)-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="12" z=z+0.5*sqr(z) elseif @Va=="13" z=sinh(z)-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="14" z=z+2.75/z-0.75 elseif @Va=="15" z=cotanh(z)+0.31*z^2 elseif @Va=="16" z=z+0.3*sqr(z) elseif @Va=="17" z=z-(z^3-1)/(3*z^2) elseif @Va=="18" z=z+2/z-3.7 elseif @Va=="19" z=z+7.5*(z^3-1)/(3*z^4)-2.8 elseif @Va=="20" z=-1.19*(z^6-1)/(3*z^2)+0.13 elseif @Va=="21" z=z+2/z-1.8 elseif @Va=="22" z=z+0.1*(z^6-1)/(3*abs(z)^2)+0.51 elseif @Va=="23" z=0.51*(recip(z)^3-1)/(3*recip(z)^2)-0.08 elseif @Va=="24" z=z-0.224*(z^6-1)/(3*z^2)-0.022 elseif @Va=="25" z=1.035*(recip(z)^3-1)/(3*recip(z)^2)-0.08 elseif @Va=="26" z=z-1.15/sqr(cosh(z))+0.45 elseif @Va=="27" z=z-0.3*sqr(z)*cotanh(z)-6 elseif @Va=="28" z=-1.19*(z^6-1)/(3*z^4)+0.13 elseif @Va=="29" z=z-0.3*z^2-6 elseif @Va=="30" z=z+0.15*z^3-0.37 elseif @Va=="31" z=z+0.3*sqr(z)*sin(z)+0.3 elseif @Va=="32" z=z-0.15*(z^6-1)/(3*z^2)-0.565 elseif @Va=="33" z=z+2.85/z^4+0.125 elseif @Va=="34" z=z-0.3*sqr(z)*cotan(z)-6 elseif @Va=="35" z=z-0.224*(z^3-1)/(3*z^2)-0.022 elseif @Va=="36" z=z-0.75/z^4-0.1 elseif @Va=="37" z=z+0.3*sqr(z)*cotan(z) elseif @Va=="38" z=z+0.15*z^4+0.2 elseif @Va=="39" z=z-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="40" z=z+0.3*sqr(z)*cos(z)-0.125 elseif @Va=="41" z=z-0.3*z^3-6.3 elseif @Va=="42" z=z+0.33*(z^6-1)/(3*z^4)-1.685 elseif @Va=="43" z=z-0.3*z^2-0.75 elseif @Va=="44" z=(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="45" z=z-0.15*z^3 endif else if @Va=="None" z=z elseif @Va=="1" z=z-0.125*z^2*(z-0.27)/(1-0.27*z) elseif @Va=="2" z=sqr(z)+0.3*z^2*(z-1.5)/(1-z^2) elseif @Va=="3" z=sqr(z)+z^2*(z-0.75)/(1-0.75*z)-2.5 elseif @Va=="4" z=sqr(z)+0.465*z^2*(recip(z)-8.75)/(1-8.75*recip(z)) elseif @Va=="5" if |z|<1 z=z/|z| endif z=z+0.3*sqr(z) elseif @Va=="6" z=z+z^2*(z+2.5)/(1+2.5*z) elseif @Va=="7" z=z+0.885*(z^6-1)/(3*z^4)-1.11 elseif @Va=="8" z=cos(z)+1.92*(z^6-1)/(3*z^4)-1.56 elseif @Va=="9" z=z-1.35*z^2*(z-2)/(1-2*z) elseif @Va=="10" z=sqr(z)+z^2*(tan(z)-1.3)/(1-1.3*tan(z))-2.5 elseif @Va=="11" z=z+0.156*z^2*(tan(z)+3.45)/(1+3.45*tan(z)) elseif @Va=="12" z=z+z^2*(z+4.5)/(1+4.5*z) elseif @Va=="13" z=sinh(z)-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="14" z=z+2.75/z-0.75 elseif @Va=="15" z=cotanh(z)+0.31*z^2 elseif @Va=="16" z=sqr(z)+z^2*(exp(z)-0.75)/(1-0.75*exp(z))-5.07 elseif @Va=="17" z=z+0.5*z^2*(z+3.35)/(1+3.35*z) elseif @Va=="18" z=z+2/z-3.7 elseif @Va=="19" z=z+7.5*(z^3-1)/(3*z^4)-2.8 elseif @Va=="20" z=z+0.1*z^2*(sqr(z)-0.24)/(1-0.24*sqr(z)) elseif @Va=="21" z=z+2/z-1.8 elseif @Va=="22" z=sqr(z)-2.16*(z^6-1)/(3*z^4)-1.59 elseif @Va=="23" z=z+0.885*(z^6-1)/(3*z^4)-2.44 elseif @Va=="24" z=z-0.23*z^2*(cotan(z)-0.41)/(1-0.41*sqr(z)) elseif @Va=="25" z=z+0.115*z^2*(tanh(z)+0.95)/(1+0.95*tanh(z)) elseif @Va=="26" z=z-1.15/sqr(cosh(z))+0.45 elseif @Va=="27" z=z+0.7*(z^6-1)/(3*z^4)-3.15 elseif @Va=="28" z=-1.19*(z^6-1)/(3*z^4)+0.13 elseif @Va=="29" z=z-0.3*z^2-6 elseif @Va=="30" z=sqr(z)-4.3*(z^6-1)/(3*z^4)+1 elseif @Va=="31" z=sqr(z)+z^2*(cotan(z)-1.3)/(1-1.3*cotan(z))-2.5 elseif @Va=="32" z=z-0.23*z^2*(cotan(z)-0.2)/(1-0.2*sqr(z)) elseif @Va=="33" z=z-0.1*(z^6-1)/(3*z^2)+1.17 elseif @Va=="34" z=sqr(z)+z^2*(exp(z)-0.75)/(1-0.75*exp(z))-2.5 elseif @Va=="35" z=z+0.3*z^2*(tan(z)-0.41)/(1-0.41*sqr(z)) elseif @Va=="36" z=cosh(z)+0.21*(z^6-1)/(3*z^4)-1.59 elseif @Va=="37" z=sqr(z)+z^2*(exp(z)-1.3)/(1-1.3*exp(z))-2.5 elseif @Va=="38" z=z+0.15*z^4+0.2 elseif @Va=="39" z=sqr(z)-0.2*(z^3-1)/(3*z^2)+1 elseif @Va=="40" z=z-0.95*z^2*(cotan(z)-0.98)/(1-0.98*cotan(z)) elseif @Va=="41" z=sqr(z)-4*(z^6-1)/(3*z^4)+2 elseif @Va=="42" z=z+0.33*(z^6-1)/(3*z^4)-1.685 elseif @Va=="43" z=z+0.115*z^2*(tanh(z)-0.98)/(1-0.98*tanh(z)) elseif @Va=="44" z=cosh(z)-0.32*(z^6-1)/(3*z^4)-2 elseif @Va=="45" z=z-0.15*z^3 endif endif f=z^@pow-p1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) z=z-p2*f/(2*f2+f1)+p3 if @JM=="M" z=z+fn2(pixel) endif bailout: |zold-z|>@bail default: title="Yoluhur" center=(0.001,0.001) periodicity=0 magn=0.5 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 p1 caption="Yoluhur Parameter 1" default=(1,0) endparam param p2 caption="Yoluhur Parameter 2" default=(1,0) endparam param p3 caption="Yoluhur Parameter 3" default=(0,0) endparam param pow caption="Exponent" default=3 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="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.000000001 endparam } Hokaraka { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=sqr(z)-z^2*(z-p1)/(p1*z) f=z^@pow-1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) if @V=="1" z=fn3(z)-p2*sqr(f/(f1+f2))+p3 elseif @V=="2" z=fn3(z)-p2*sqr(f/(f1-f2))+p3 elseif @V=="3" z=z-p2*sqr(f1/(f+f2))+p3 elseif @V=="4" z=fn3(z)-p2*sqr(f1/(f-f2))+p3 elseif @V=="5" z=fn3(z)-p2*sqr(f2/(f+f1))+p3 else z=fn3(z)-p2*sqr(f2/(f-f1))+p3 endif if @JM=="M" z=z+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Hokaraka" center=(0.001,0.001) periodicity=0 magn=0.5 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2""3""4""5""6" endparam param p1 caption="Hokaraka Parameter 1" default=(1.5,0) endparam param p2 caption="Hokaraka Parameter 2" default=(1,0) endparam param p3 caption="Hokaraka Parameter 3" default=(0,0) endparam param pow caption="Exponent" default=3 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="Hokaraka Function" default=ident() endfunc func fn4 caption="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.000000001 endparam } LabsHokaraka { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=sqr(z)-z^2*(z-p1)/(p1*z) if @Va=="None" z=z elseif @Va=="1" z=z-0.125*z^2*(z-0.27)/(1-0.27*z) elseif @Va=="2" z=sqr(z)+0.3*z^2*(z-1.5)/(1-z^2) elseif @Va=="3" z=cotan(z)-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="4" z=sqr(z)+0.465*z^2*(recip(z)-8.75)/(1-8.75*recip(z)) elseif @Va=="5" if |z|<1 z=z/|z| endif z=z+0.3*sqr(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=z+0.3*cotanh(z) elseif @Va=="7" if |z|<1 z=z/|z| endif z=z-0.3*sqr(z) elseif @Va=="8" z=z+0.1*z^2*(z-0.27)/(1-0.27*z) elseif @Va=="9" z=z-1.35*z^2*(z-2)/(1-2*z) elseif @Va=="10" z=z+1/z-0.3 elseif @Va=="11" z=z-0.15*z^3 elseif @Va=="12" z=z+0.5*sqr(z) elseif @Va=="13" z=sinh(z)-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="14" z=z+2.75/z-0.75 elseif @Va=="15" z=cotanh(z)+0.31*z^2 elseif @Va=="16" z=z+0.3*sqr(z) elseif @Va=="17" z=z-(z^3-1)/(3*z^2) elseif @Va=="18" z=z+2/z-3.7 elseif @Va=="19" z=z+7.5*(z^3-1)/(3*z^4)-2.8 elseif @Va=="20" z=-1.19*(z^6-1)/(3*z^2)+0.13 elseif @Va=="21" z=z+2/z-1.8 elseif @Va=="22" z=z+0.1*(z^6-1)/(3*abs(z)^2)+0.51 elseif @Va=="23" z=0.51*(recip(z)^3-1)/(3*recip(z)^2)-0.08 elseif @Va=="24" z=z-0.224*(z^6-1)/(3*z^2)-0.022 elseif @Va=="25" z=1.035*(recip(z)^3-1)/(3*recip(z)^2)-0.08 elseif @Va=="26" z=z-1.15/sqr(cosh(z))+0.45 elseif @Va=="27" z=z-0.3*sqr(z)*cotanh(z)-6 elseif @Va=="28" z=-1.19*(z^6-1)/(3*z^4)+0.13 elseif @Va=="29" z=(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="30" z=z+0.15*z^3-0.37 elseif @Va=="31" z=z-0.3*z^2-0.75 elseif @Va=="32" z=z-0.15*(z^6-1)/(3*z^2)-0.565 elseif @Va=="33" z=z+2.85/z^4+0.125 elseif @Va=="34" z=z-0.3*sqr(z)*cotan(z)-6 elseif @Va=="35" z=z-0.224*(z^3-1)/(3*z^2)-0.022 elseif @Va=="36" z=z-0.75/z^4-0.1 elseif @Va=="37" z=z+0.3*sqr(z)*cotan(z) elseif @Va=="38" z=z+0.15*z^4+0.2 elseif @Va=="39" z=z-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="40" z=z+0.33*(z^6-1)/(3*z^4)-1.685 elseif @Va=="41" z=z-0.3*z^3-6.3 endif f=z^@pow-1 f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) if @V=="1" z=fn3(z)-p2*sqr(f/(f1+f2))+p3 elseif @V=="2" z=fn3(z)-p2*sqr(f/(f1-f2))+p3 elseif @V=="3" z=fn3(z)-p2*sqr(f1/(f+f2))+p3 elseif @V=="4" z=fn3(z)-p2*sqr(f1/(f-f2))+p3 elseif @V=="5" z=fn3(z)-p2*sqr(f2/(f+f1))+p3 else z=fn3(z)-p2*sqr(f2/(f-f1))+p3 endif if @JM=="M1" z=z+fn4(pixel) endif if @JM=="M2" z=p4*@fn5(log(abs(z)))^@pow2+p5+fn4(pixel) else z=p4*@fn5(log(abs(z)))^@pow2+p5 endif endwhile z=z*@adj/100 bailout: |z|<@bail default: title="Labs Hokaraka" center=(0.001,0.001) periodicity=0 magn=0.5 maxiter=500 param JM caption="J/M" enum="J""M1""M2" endparam param V caption="Variant" enum="1""2""3""4""5""6" endparam param iter caption="Iterations" 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"\ "36""37""38""39""40""41" default=4 endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p1 caption="Hokaraka Parameter 1" default=(0.5,0) endparam param p2 caption="Hokaraka Parameter 2" default=(1,0) endparam param p3 caption="Hokaraka Parameter 3" default=(0,0) endparam param pow caption="Hokaraka Exponent" default=3 endparam func fn3 caption="Hokaraka Function" default=ident() endfunc param p4 caption="Labs Parameter 1" default=(1,0) endparam param p5 caption="Labs Parameter 2" default=(0,0) endparam param pow2 caption="Labs Exponent" default=(1,0) endparam func fn5 caption="Labs Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn1 caption="Start Function" default=ident() endfunc func fn4 caption="C Function" default=ident() visible=@JM!="J" endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=1000000.0 endparam } LabsBarnsley { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=@p7*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="None" z=z elseif @Va=="1" z=z-3*(z^3-1)/(3*z^2) elseif @Va=="2" z=z+z^2*(sqr(z)-0.5)/(1-0.5*abs(z)) elseif @Va=="3" z=z+z^2*(sqr(z)+0.5)/(1+0.5*sqr(z)) elseif @Va=="4" z=z-sqr(z)*cosh(z) elseif @Va=="5" z=z+sqr(z)*cotan(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=z+0.3*cotanh(z) elseif @Va=="7" z=z-2.75*(sin(z)^3-6.5)/(3*sqr(z)^2) elseif @Va=="8" z=z+0.3*(sqr(z)^3-9.5)/(3*cotan(z)^2) elseif @Va=="9" z=z-1.35*z^2*(z-2)/(1-2*z) elseif @Va=="10" z=z+1/z-0.3 elseif @Va=="11" z=z+z^4 elseif @Va=="12" z=sqr(z)+0.465*z^2*(recip(z)-8.75)/(1-8.75*recip(z)) elseif @Va=="13" if |z|<1 z=z/|z| endif z=z+0.3*sqr(z) elseif @Va=="14" z=z+2.75/z-0.75 elseif @Va=="15" z=(tanh(z)-1i)/(sqr(z)+1i) elseif @Va=="16" z=z+0.3*sqr(z) elseif @Va=="17" z=(z-1i)/(sqr(z)+1i) elseif @Va=="18" z=(sqr(z)-1i)/(cotan(z)+1i) elseif @Va=="19" z=z^2*(abs(z)+3.25)/(1+3.25*z) elseif @Va=="20" z=-1.19*(z^6-1)/(3*z^2)+0.13 elseif @Va=="21" z=z+2/z-1.8 elseif @Va=="22" z=z+z^2*(cosh(z)+0.5)/(1+0.5*cosh(z)) elseif @Va=="23" z=z+z^2*(flip(z)+2)/(1+2*z) elseif @Va=="24" z=z-0.224*(z^6-1)/(3*z^2)-0.022 elseif @Va=="25" z=(sqr(z)-1i)/(cotanh(z)+1i) elseif @Va=="26" z=z-1.15/sqr(cosh(z))+0.45 elseif @Va=="27" z=(sin(z)-1i)/(sqr(z)+1i) elseif @Va=="28" z=-1.19*(z^6-1)/(3*z^4)+0.13 elseif @Va=="29" z=z+z^2 elseif @Va=="30" z=z+0.15*z^3-0.37 elseif @Va=="31" z=z-0.3*sqr(z)*cabs(z) elseif @Va=="32" z=z+z^2*(cos(z)-0.5)/(1-0.5*abs(z)) elseif @Va=="33" z=z-sqr(z)*sinh(z) elseif @Va=="34" z=z+z^2*(sinh(z)-0.5)/(1-0.5*abs(z)) elseif @Va=="35" z=z-0.224*(z^3-1)/(3*z^2)-0.022 elseif @Va=="36" z=z-0.75/z^4-0.1 elseif @Va=="37" z=(sqr(z)-1i)/(tanh(z)+1i) elseif @Va=="38" z=z+0.15*z^4+0.2 elseif @Va=="39" z=z-sqr(z)*cos(z) elseif @Va=="40" z=z+0.3*sqr(z)*cos(z)-0.125 elseif @Va=="41" z=z-3*(z^3-5.6)/(3*z^2) elseif @Va=="42" z=z+0.33*(z^6-1)/(3*z^4)-1.685 elseif @Va=="43" z=z-0.3*z^2-0.75 elseif @Va=="44" z=(sqr(z)-1i)/(cos(z)+1i) elseif @Va=="45" z=z-0.15*z^3 elseif @Va=="46" z=z-sqr(z)*sin(z) elseif @Va=="47" z=z-3*(exp(z)^3-5.6)/(3*z^2) elseif @Va=="48" z=z-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="49" z=(exp(z)-1i)/(sqr(z)+1i) elseif @Va=="50" z=z-1.5*(sqr(z)^3+1)/(3*z^2) elseif @Va=="51" z=(sqr(z)-1i)/(sinh(z)+1i) elseif @Va=="52" z=z-3*(exp(z)^3+1)/(3*z^2) elseif @Va=="53" z=z+0.625*(sqr(z)^3+1)/(3*exp(z)^2) elseif @Va=="54" z=z+7.5*(z^3-1)/(3*z^4)-2.8 elseif @Va=="55" z=(sqr(z)-1i)/(recip(z)+1i) elseif @Va=="56" z=z+8.25*(sqr(z)^3+1)/(3*exp(z)^2) elseif @Va=="57" z=(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="58" z=(cotan(z)-1i)/(sqr(z)+1i) elseif @Va=="59" z=z+0.3*sqr(z)*sin(z)+0.3 elseif @Va=="60" z=(sqr(z)-1i)/(exp(z)+1i) elseif @Va=="61" z=z+(sqr(z)^3+6.5)/(3*sqr(z)^2) elseif @Va=="62" z=(tan(z)-1i)/(sqr(z)+1i) elseif @Va=="63" z=z^2*(z+3.25)/(1+3.25*z) elseif @Va=="64" z=z-0.3*(sqr(z)^3+6.5)/(3*exp(z)^2) elseif @Va=="65" z=(cosh(z)-1i)/(sqr(z)+1i) elseif @Va=="66" z=z-z^4 elseif @Va=="67" z=sqr(z)+0.3*z^2*(z-1.5)/(1-z^2) elseif @Va=="68" z=z-0.75*(sqr(z)^3+6.5)/(3*cotanh(z)^2) elseif @Va=="69" z=z^2*(sinh(z)+3.25)/(1+3.25*z) elseif @Va=="70" z=(sqr(z)-1i)/(cosh(z)+1i) elseif @Va=="71" z=z^2*(sin(z)+3.25)/(1+3.25*z) elseif @Va=="72" z=z+z^2*(cosh(z)-2)/(1-2*z) elseif @Va=="73" z=z+0.3*sqr(z)*cotan(z) elseif @Va=="74" z=z-z^3 elseif @Va=="75" z=z+z^2*(cos(z)-2)/(1-2*z) elseif @Va=="76" z=z-0.75*(sqr(z)^3-9.5)/(3*cotanh(z)^2) elseif @Va=="77" z=(cos(z)-1i)/(sqr(z)+1i) elseif @Va=="78" z=z+z^2*(sqr(z)+2)/(1+2*z) elseif @Va=="79" z=z+z^2*(cos(z)+2)/(1+2*z) elseif @Va=="80" z=z+0.6*(sqr(z)^3-1)/(3*tan(z)^2) elseif @Va=="81" z=z+0.3*sqr(z)*conj(z) elseif @Va=="82" z=z+z^2*(sinh(z)+2)/(1+2*z) elseif @Va=="83" z=z+z^2*(sin(z)+2)/(1+2*z) elseif @Va=="84" z=sin(z)-0.355*z^2*(sqr(z)-1.25)/(1-1.25*sqr(z)) elseif @Va=="85" z=z+0.3*sqr(z)*flip(z) elseif @Va=="86" z=z+z^2*(z+2)/(1+2*sqr(z)) elseif @Va=="87" z=(sqr(z)-1i)/(sin(z)+1i) elseif @Va=="88" z=z+z^2*(sqr(z)+2)/(1+2*sqr(z)) elseif @Va=="89" z=z+z^2*(sqr(z)-2)/(1-2*sqr(z)) elseif @Va=="90" z=z+0.6*(sqr(z)^3-1)/(3*cosh(z)^2) elseif @Va=="91" z=z+sqr(z)*cotanh(z) elseif @Va=="92" z=z+sqr(z)*tan(z) elseif @Va=="93" z=z+z^2*(tan(z)+0.5)/(1+0.5*tan(z)) elseif @Va=="94" z=z+1.5*(sqr(z)^3+2.2)/(3*cosh(z)^2) elseif @Va=="95" z=z+sqr(z)*cosh(z) elseif @Va=="96" z=z+z^2*(sin(z)+0.5)/(1+0.5*sinh(z)) elseif @Va=="97" z=z+z^2*(sin(z)+0.5)/(1+0.5*abs(z)) elseif @Va=="98" z=z+sqr(z)*cos(z) elseif @Va=="99" z=z+z^2*(sinh(z)+0.5)/(1+0.5*cotanh(z)) elseif @Va=="100" z=z+2.2*(sqr(z)^3+2.2)/(3*cos(z)^2) elseif @Va=="101" z=z-0.125*z^2*(z-0.27)/(1-0.27*z) elseif @Va=="102" z=z+z^2*(sinh(z)+0.5)/(1+0.5*abs(z)) elseif @Va=="103" z=(sqr(z)-1i)/(z+1i) elseif @Va=="104" z=(sqr(z)-1i)/(tan(z)+1i) elseif @Va=="105" z=z+2.2*(sqr(z)^3-0.45)/(3*cos(z)^2) elseif @Va=="106" z=z-3.5*(sqr(z)^3-2.95)/(3*recip(z)^2) elseif @Va=="107" z=z+z^2*(cos(z)+0.5)/(1+0.5*cosh(z)) elseif @Va=="108" z=(recip(z)-1i)/(sqr(z)+1i) elseif @Va=="109" z=z-1.7*(sqr(z)^3-0.45)/(3*sinh(z)^2) elseif @Va=="110" z=z-3.5*(sqr(z)^3+0.25)/(3*recip(z)^2) elseif @Va=="111" z=z+0.225*(sqr(z)^3-0.1)/(3*recip(z)^2) elseif @Va=="112" z=z+sqr(z)*sinh(z) elseif @Va=="113" z=z+sqr(z)*exp(z) elseif @Va=="114" z=z-sqr(z)*tanh(z) elseif @Va=="115" z=z-25*(exp(z)^3+30)/(3*sqr(z)^2) elseif @Va=="116" z=z-sqr(z)*tan(z) elseif @Va=="117" z=z-sqr(z)*exp(z) elseif @Va=="118" z=z+z^3 elseif @Va=="119" z=z-31.5*(cosh(z)^3-6.5)/(3*sqr(z)^2) elseif @Va=="120" z=(sinh(z)-1i)/(sqr(z)+1i) elseif @Va=="121" z=z-z^2 elseif @Va=="122" z=z+z^2*(sqr(z)+1.2)/(1+1.2*abs(z)) elseif @Va=="123" z=z+z^2*(sinh(z)+0.5)/(1+0.5*cotan(z)) elseif @Va=="124" z=z+z^2*(z+2)/(1+2*exp(z)) elseif @Va=="125" z=z+z^2*(abs(z)-2)/(1-2*z) elseif @Va=="126" z=z-sqr(z)*cotanh(z) elseif @Va=="127" z=z+sqr(z)*tanh(z) elseif @Va=="128" z=z+z^2*(sqr(z)-0.5)/(1-0.5*sqr(z)) elseif @Va=="129" z=z+z^2*(z+2)/(1+2*z) elseif @Va=="130" z=z+z^2*(sqr(z)-2)/(1-2*z) elseif @Va=="131" z=(cotanh(z)-1i)/(sqr(z)+1i) endif z=abs(z) if real(z)*imag(p1)+real(p1)*imag(z)>=0 z=(z^@powB-1)*p1 else z=(z^@powB+1)*p1 endif z=p2*fn4(log(abs(z)))^@powL+p3 if @JM=="M" z=z+fn3(pixel) endif endwhile z=z*@adj/100 bailout: |z|<@bail default: title="Labs Barnsley" center=(0.001,0.001) periodicity=0 maxiter=500 param JM caption="J/M" enum="J""M" endparam param iter caption="iterations" 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"\ "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""79""80""81""82""83""84"\ "85""86""87""88""89""90""91"\ "92""93""94""95""96""97""98"\ "99""100""101""102""103""104"\ "105""106""107""108""109""110"\ "111""112""113""114""115""116"\ "117""118""119""120""121""122"\ "123""124""125""126""127""128"\ "129""130""131" endparam param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p2 caption="Labs Parameter 1" default=(1,1) endparam param p3 caption="Labs Parameter 2" default=(0,0) endparam param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Barnsley Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc func fn3 caption="C Function" default=ident() visible=@JM=="M" endfunc param powL caption="Labs Exponent" default=(1,0) endparam param powB caption="Barnsley Exponent" default=(1,0) endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=1000000.0 endparam } NewtonMandelbrot2 { init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 z=(z-p5)/(1-p5*z) z=z/(@p6*z+1) if @M=="None" z=z elseif @M=="Cayley" z=z+@cp1*(z-1i)/(z+1i)+@cp2 elseif @M=="Munster" z=z+@mp1*z^2*(z-@mp2)/(1-@mp2*z)+@mp3 elseif @M=="Newton" z=2*z-@np1*(z^3-1)/(3*z^2)+@np2 elseif @M=="Recip" z=z+@rp1/z+@rp2 elseif @M=="Sqr" z=z+@sp1*sqr(z)+@sp2 endif f=z^3/3+z*fn3(pixel)+fn3(pixel) f1=z^2+fn3(pixel) z=z-p1*f/f1+p2 bailout: |zold-z|>@bail default: title="Newton Mandelbrot 2" center=(0.001,0.001) periodicity=0 magn=0.5 param M caption="Modification" enum="None""Cayley""Munster""Newton""Recip""Sqr" endparam param cp1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Cayley" endparam param cp2 caption="Mod Parameter 2" default=(0,0) visible=@M=="Cayley" endparam param mp1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Munster" endparam param mp2 caption="Mod Parameter 2" default=(2,0) visible=@M=="Munster" endparam param mp3 caption="Mod Parameter 3" default=(0,0) visible=@M=="Munster" endparam param np1 caption="Mod Parameter 1" default=(2.5,0) visible=@M=="Newton" endparam param np2 caption="Mod Parameter 2" default=(0,0) visible=@M=="Newton" endparam param rp1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Recip" endparam param rp2 caption="Mod Parameter 2" default=(0,0) visible=@M=="Recip" endparam param sp1 caption="Mod Parameter 1" default=(-0.5,0) visible=@M=="Sqr" endparam param sp2 caption="Mod Parameter 2" default=(0,0) visible=@M=="Sqr" 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=(0,0) endparam func fn3 caption="Mandelbrot C Function" default=ident() endfunc param p5 caption="Möbius Parameter 1" default=(0,0) endparam param p6 caption="Möbius Parameter 2" 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 fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.0000001 endparam } ModifiedSatan { ; This is a modification of the formula 'Satan', which I found on the Fractint mailing list: ; https://mailman.xmission.com/lurker/message/20180108.064418.2e3ca120.en.html ; Authorship of 'Satan' is not clear to me. Perhaps Sebastien Helie, perhaps Rick Ostidish, perhaps someone else. init: z=fn1(pixel) int i=0 loop: while i=0 z=(fn3(z)-p2)*p1 else z=(fn3(z)+p2)*p1 endif bailout: |z|<@bail default: title="Barnsley 8" center=(0.001,0.001) magn=0.5 periodicity=0 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Barnsley Function 1" default=ident() endfunc func fn3 caption="Barnsley Function 2" default=ident() endfunc param p1 caption="Barnsley Parameter 1" default=(1,1) endparam param p2 caption="Barnsley Parameter 2" default=(0.65,1) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Munster Parameter 1" default=(0,0) endparam param p8 caption="Add Munster Parameter 2" default=(2,0) endparam param bail caption="Bailout" default=100.0 endparam } Krombann { init: z=fn1(pixel) y=0.0 loop: if @M=="None" z=z elseif @M=="Cayley" z=@cp1*(z-1i)/(z+1i)+@cp2 elseif @M=="Sqr" z=@sqp1*z^2+@sqp2 elseif @M=="Munster" z=z^2*(z-@mp1)/(1-@mp1*z)+@mp2 elseif @M=="Newton" z=z-@np1*(z^3-1)/(3*z^2)+@np2 elseif @M=="Abs" z=@ap1*abs(z)+@ap2 elseif @M=="Halley" f=z^3-1 f1=3*z^2 f2=6*z z=z-@hp1*2*f*f1/(2*f1^2-f*f2)+@hp2 elseif @M=="Sinc" z=@sp1*sin(z)/z+@sp2 endif y=p1*fn2(2*z*y+1)+p2 z=p3*fn3(z)*y+fn4(pixel) bailout: |z|<@bail default: title="Krombann" center=(0.001,0.001) periodicity=0 param M caption="Modification" enum="None""Cayley""Sqr""Munster""Newton""Abs""Halley""Sinc" endparam param cp1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Cayley" endparam param cp2 caption="Mod Parameter 2" default=(0,0) visible=@M=="Cayley" endparam param sqp1 caption="Mod Parameter 1" default=(0.5,0) visible=@M=="Sqr" endparam param sqp2 caption="Mod Parameter 2" default=(0.5,0) visible=@M=="Sqr" endparam param mp1 caption="Mod Parameter 1" default=(0.5,0) visible=@M=="Munster" endparam param mp2 caption="Mod Parameter 2" default=(0.5,0) visible=@M=="Munster" endparam param np1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Newton" endparam param np2 caption="Mod Parameter 2" default=(-0.5,0) visible=@M=="Newton" endparam param ap1 caption="Mod Parameter 1" default=(0.5,0) visible=@M=="Abs" endparam param ap2 caption="Mod Parameter 2" default=(-0.5,0) visible=@M=="Abs" endparam param hp1 caption="Mod Parameter 1" default=(0.5,0) visible=@M=="Halley" endparam param hp2 caption="Mod Parameter 2" default=(-0.5,0) visible=@M=="Halley" endparam param sp1 caption="Mod Parameter 1" default=(0.75,0) visible=@M=="Sinc" endparam param sp2 caption="Mod Parameter 2" default=(-1.5,0) visible=@M=="Sinc" endparam param p1 caption="Krombann Parameter 1" default=(0.75,0) endparam param p2 caption="Krombann Parameter 2" default=(0,0) endparam param p3 caption="Krombann Parameter 3" default=(-1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Krombann Function 1" default=ident() endfunc func fn3 caption="Krombann Function 2" default=ident() endfunc func fn4 caption="Krombann Function 3" default=ident() endfunc param bail caption="Bailout" default=100000.0 endparam } ModifiedBarnsley { init: z=fn1(pixel) loop: z=p3*fn2(z)+p4 z=(z-@p9)/(1-@p9*z) z=z/(@p10*z+1) z=z+p6*sqr(z) if @M=="None" z=z elseif @M=="1" z=z+(0.28,0.12)/z elseif @M=="2" z=z+1.3/exp(z) elseif @M=="3" z=z+(1.33,-0.19)/exp(z)+(0.1,-0.14) elseif @M=="4" z=z-0.25/cotanh(z)+0.25 elseif @M=="5" z=z+(0.3,-0.07)/cotanh(z)+(-0.16,-0.28) elseif @M=="6" z=z-0.2*(z^3-1)/(3*z^2) elseif @M=="7" z=z+(0.25,0.18)/cosh(z)+(-0.6,-0.06) elseif @M=="8" z=z+0.335/exp(z) elseif @M=="9" z=z+0.335/z elseif @M=="10" z=1/z+1 elseif @M=="11" z=z+0.3/sqr(z) elseif @M=="12" z=z+0.3/z+(0.1,-0.14) elseif @M=="13" if |z|<1 z=z/|z| endif z=0.9/z+0.89 elseif @M=="14" if |z|<1 z=z/|z| endif z=z+1.27/z-0.75 elseif @M=="15" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @M=="16" if real(z)imag(z) z=flip(z) endif z=z+0.66/exp(z)+0.42 elseif @M=="18" if |z|<1 z=z/|z| endif z=0.9/cosh(z)+0.89 elseif @M=="19" if |z|<1 z=z/|z| endif z=z+1.27/sinh(z)-0.51 endif if real(z)>0 z=abs(fn3((real(z)^2-imag(z)^2-1)+1i*(2*real(z)*imag(z)))) else z=abs(fn3((real(z)^2-imag(z)^2-1)+real(pixel)*real(z)+1i*(2*real(z)*imag(z)+imag(pixel)*real(z)))) endif bailout: |z|<@bail default: title="Modified Barnsley" center=(0.001,0.001) periodicity=0 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" endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius 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="Barnsley Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Newmunbrot { init: z=fn1(pixel) loop: zold=z b=z-p1*(z^3-1)/(3*z^2)+p2 c=z^2*(z-p3)/(1-p3*z) z=b*c+fn2(pixel) bailout: (|zold-z|>@bailcon && @bt==0) || (|z|<@baildiv && @bt==1) default: title="Newmunbrot" center=(0.001,0.001) periodicity=0 param p1 caption="Newton Parameter 1" default=(1,0) endparam param p2 caption="Newton Parameter 2" default=(0,0) endparam param p3 caption="Munster Parameter" default=(0.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Mandelbrot C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=4.0 visible=@bt==1 endparam } Atinog { init: z=fn1(pixel) loop: zold=z z=fn2(z) if @M=="None" z=z elseif @M=="z+Cayley" z=z+@cp1*(z-1i)/(z+1i)+@cp2 elseif @M=="Munster" z=z^2*(z-@mp1)/(1-@mp1*z)+@mp2 elseif @M=="Newton" z=z-@np1*(z^3-1)/(3*z^2)+@np2 elseif @M=="Mandelbrot" z=@map1*z^2+pixel+@map2 elseif @M=="z+recip" z=z+@arp1/z+@arp2 elseif @M=="z+sqr" z=z+@sp1*sqr(z)+@sp2 elseif @M=="Julia" z=@jp1*z^2+@jp2 endif f=z^3-1 f1=3*z^2 f2=6*z z=z^2-p1*f/f1/f2+p2 bailout: |zold-z|>@bail default: title="Atinog" center=(0.001,0.001) periodicity=0 param p1 caption="Atinog Parameter 1" default=(1,0) endparam param p2 caption="Atinog Parameter 2" default=(0,0) endparam param M caption="Modification" enum="None""z+Cayley""Munster""Newton""Mandelbrot""z+recip""z+sqr""Julia" endparam param cp1 caption="Mod Parameter 1" default=(0.75,0) visible=@M=="z+Cayley" endparam param cp2 caption="Mod Parameter 2" visible=@M=="z+Cayley" default=(1,0) endparam param mp1 caption="Mod Parameter 1" default=(-4,0) visible=@M=="Munster" endparam param mp2 caption="Mod Parameter 2" visible=@M=="Munster" default=(0,0) endparam param np1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Newton" endparam param np2 caption="Mod Parameter 2" visible=@M=="Newton" default=(0,0) endparam param map1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Mandelbrot" endparam param map2 caption="Mod Parameter 2" visible=@M=="Mandelbrot" default=(0,0) endparam param arp1 caption="Mod Parameter 1" default=(-0.3,0) visible=@M=="z+recip" endparam param arp2 caption="Mod Parameter 2" visible=@M=="z+recip" default=(0,0) endparam param sp1 caption="Mod Parameter 1" default=(-0.5,0) visible=@M=="z+Sqr" endparam param sp2 caption="Mod Parameter 2" visible=@M=="z+Sqr" default=(0,0) endparam param jp1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Julia" endparam param jp2 caption="Mod Parameter 2" visible=@M=="Julia" default=(-0.75,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } Atinog2 { init: z=fn1(pixel) loop: zold=z z=fn2(z) if @M=="None" z=z elseif @M=="z+Cayley" z=z+@cp1*(z-1i)/(z+1i)+@cp2 elseif @M=="Munster" z=z^2*(z-@mp1)/(1-@mp1*z)+@mp2 elseif @M=="Newton" z=z-@np1*(z^3-1)/(3*z^2)+@np2 elseif @M=="Mandelbrot" z=@map1*z^2+pixel+@map2 elseif @M=="z+recip" z=z+@arp1/z+@arp2 elseif @M=="z+sqr" z=z+@sp1*sqr(z)+@sp2 elseif @M=="Julia" z=@jp1*z^2+@jp2 endif f=z^3-1 f1=3*z^2 f2=6*z z=z^2+p1*0.125*f2/f1/f+p2 bailout: |zold-z|>@bail default: title="Atinog 2" center=(0.001,0.001) periodicity=0 param p1 caption="Atinog Parameter 1" default=(1,0) endparam param p2 caption="Atinog Parameter 2" default=(0,0) endparam param M caption="Modification" enum="None""z+Cayley""Munster""Newton""Mandelbrot""z+recip""z+sqr""Julia" endparam param cp1 caption="Mod Parameter 1" default=(0.75,0) visible=@M=="z+Cayley" endparam param cp2 caption="Mod Parameter 2" visible=@M=="z+Cayley" default=(1,0) endparam param mp1 caption="Mod Parameter 1" default=(-4,0) visible=@M=="Munster" endparam param mp2 caption="Mod Parameter 2" visible=@M=="Munster" default=(0,0) endparam param np1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Newton" endparam param np2 caption="Mod Parameter 2" visible=@M=="Newton" default=(0,0) endparam param map1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Mandelbrot" endparam param map2 caption="Mod Parameter 2" visible=@M=="Mandelbrot" default=(0,0) endparam param arp1 caption="Mod Parameter 1" default=(-0.3,0) visible=@M=="z+recip" endparam param arp2 caption="Mod Parameter 2" visible=@M=="z+recip" default=(0,0) endparam param sp1 caption="Mod Parameter 1" default=(-0.5,0) visible=@M=="z+Sqr" endparam param sp2 caption="Mod Parameter 2" visible=@M=="z+Sqr" default=(0,0) endparam param jp1 caption="Mod Parameter 1" default=(1,0) visible=@M=="Julia" endparam param jp2 caption="Mod Parameter 2" visible=@M=="Julia" default=(-0.75,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } Ognati { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z) z=z+p3*sqr(z) if @Va=="none" z=z elseif @Va=="1" z=-z+2*sqr(z) elseif @Va=="2" z=2*z-2*sqr(z) elseif @Va=="3" z=-z+sqr(z) elseif @Va=="4" z=-z-sqr(cabs(z)) elseif @Va=="5" z=-z-2*sqr(z) elseif @Va=="6" z=0.5*z+0.5*sqr(z) elseif @Va=="7" z=-2*z+sqr(z) elseif @Va=="8" if imag(z)>0 z=z else z=conj(z) endif elseif @Va=="9" z=2*z-2*sqr(flip(z)) elseif @Va=="10" z=-2*z-sqr(z) elseif @Va=="11" z=0.5*z-sqr(z) elseif @Va=="12" if real(z)>imag(z) z=flip(z) endif elseif @Va=="13" z=z+sqr(z) elseif @Va=="14" z=-0.5*z+sqr(z) elseif @Va=="15" z=-z-sqr(flip(z)) elseif @Va=="16" z=-z-sqr(z) elseif @Va=="17" z=-0.5*z+0.5*sqr(z) elseif @Va=="18" z=z+2*sqr(z) elseif @Va=="19" if imag(z)<0 z=z else z=conj(z) endif elseif @Va=="20" z=-z+sqr(cabs(z)) elseif @Va=="21" z=z-sqr(z) elseif @Va=="22" z=z+sqr(flip(z)) elseif @Va=="23" z=0.5*z+sqr(z) elseif @Va=="24" z=z+2*sqr(z) elseif @Va=="25" z=2*z+2*sqr(z) elseif @Va=="26" z=-0.5*z-0.5*sqr(z) elseif @Va=="27" z=-z+sqr(flip(z)) elseif @Va=="28" z=z-2*sqr(z) elseif @Va=="29" z=z-sqr(cabs(z)) elseif @Va=="30" if real(z)@bail default: title="Ognati" center=(0.001,0.001) periodicity=0 magn=8 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" endparam param p1 caption="Ognati Parameter 1" default=(-0.4,0.2) endparam param p2 caption="Ognati Parameter 2" default=(1,0) endparam param p3 caption="Add Sqr Parameter" default=(0,0) endparam param p4 caption="Loop Parameter" 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.00000001 endparam } LabsBarnsleyMod { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=(z-p5)/(1-p5*z) z=z/(p6*z+1) f=z^3-1 f1=3*z^2 f2=6*z a=f/f1 b=f*f2/sqr(f1) c=(z-a)^3-1 d=3*(z-2*a/3)^2 g=3*(z-f)^2 h=((z+f)^3-1-f)/f j=(d-f1)/f1 if @M=="Munster 1" z=z^2*(z-0.5)/(1-0.5*z) elseif @M=="Munster 2" z=z^2*(z-2)/(1-2*z) elseif @M=="Newton" z=z-f/f1 elseif @M=="Halley" z=z-2*f*f1/(2*f1^2-f*f2) elseif @M=="Chebyshev" z=z-a*(1+b/2) elseif @M=="Jarratt 1" z=z-((a/2)-(f/(f1-3*d))) elseif @M=="Jarratt 2" z=z-(a-3*a*j*(1-3*j/2)) elseif @M=="Jarratt 3" z=z-a+(3*a*j/4)*(1+j)/(1+5*j/2) elseif @M=="King" z=(z-a)-(c/f1)*((f+c)/(-c)) elseif @M=="king 2" z=z-(a+(c/f1)*((f+2*c)/f)) elseif @M=="Midpoint" z=z-(f/(f1*(z-a/2))) elseif @M=="Schröder" z=z-f*f1/(f1^2-f*f2) elseif @M=="Steffensen 1" z=z-(f/h) elseif @M=="Steffensen 2" z=z-z-((f^2)/((z+f)^3-1-f)) elseif @M=="Stirling" z=z-f/g elseif @M=="Super-Halley" z=z-a*(1+(b/(2*(1-b)))) elseif @M=="Whittaker 1" z=z-(a/2)*(2-b) elseif @M=="Whittaker 2" z=z-(a/4)*( 2-b+((4+2*b)/(2-b*(2-b)))) endif if real(z)<0 z=(z-@bp1)*@bp2 else z=(z+@bp1)*@bp2 endif z=p3*fn3(log(abs(z)))^@pow+p4 endwhile z=51*z/50 bailout: |z|<@bail default: title="Labs Barnsley Mod" center=(0.001,0.001) maxiter=500 periodicity=0 param iter caption="Iterations" default=4 endparam param M caption="Modification" enum="Munster 1""Munster 2""Newton""Halley""Chebyshev"\ "Jarratt 1""Jarratt 2""Jarratt 3""King""King 2""Midpoint"\ "Schröder""Steffensen 1""Steffensen 2""Stirling""Super-Halley"\ "Whittaker 1""Whittaker 2" endparam func fn1 caption="Start Function" default=ident() endfunc param p5 caption="Möbius Parameter 1" default=(0,0) endparam param p6 caption="Möbius Parameter 2" default=(0,0) endparam param bp1 caption="Barnsley Parameter 1" default=0.5 endparam param bp2 caption="Barnsley Parameter 2" default=1.0 endparam param p3 caption="Labs Parameter 1" default=(1,0) endparam param p4 caption="Labs Parameter 2" default=(0,0) endparam param pow caption="Labs Exponent" default=(1,0) endparam func fn3 caption="Labs Function" default=ident() endfunc param bail caption="Bailout" default=1000000.0 endparam } Temorof { init: z=fn1(pixel) loop: zold=z z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=@p7*fn2(z)+@p8 z=(z-0.2*1i)/(1-0.2*1i*z) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=z+0.38*sqr(z)+1 elseif @Va=="2" if |z|<1 z=z/|z| endif z=z+sqr(z) elseif @Va=="3" if |z|<1 z=z/|z| endif z=z+recip(z)+0.44 elseif @Va=="4" z=z+0.62327*(z-1i)/(z+1i)-0.26593 elseif @Va=="5" z=z-0.15235*(cotanh(z)-1i)/(cotanh(z)+1i)-0.26593 elseif @Va=="6" f=z^3-1 f1=3*z^2 a=f/f1 c=(z-a)^3-1 z=(z-a)-0.35734*(c/f1)*((f+c)/(-c))+2.54848 elseif @Va=="7" f=z^3-1 f1=3*z^2 a=f/f1 c=(z-a)^3-1 z=(z-a)-0.35734*(c/f1)*((f+c)/(-c)) elseif @Va=="8" z=z+0.2687*z*cotanh(z) elseif @Va=="9" z=z+0.8*sqr(z) elseif @Va=="10" z=z+0.3*z^3 elseif @Va=="11" z=z+0.3*z^3+0.575 elseif @Va=="12" z=z-0.25568*z^4+0.37673 elseif @Va=="13" z=z+0.2687*z*cotanh(z)+1.55125 elseif @Va=="14" z=z-0.15235*sqr(z)*cos(z)-0.13296 elseif @Va=="15" if real(z)imag(z) z=flip(z) endif z=z-1.7*cotanh(z) elseif @Va=="18" if real(z)>imag(z) z=flip(z) endif z=z-0.48*tanh(z) elseif @Va=="19" x=real(z) y=imag(z) x=x/|z|+0.13573 y=y/|z| z=x+flip(y) elseif @Va=="20" x=real(z) y=imag(z) x=x/|z|+1.06648 y=y/|z| z=flip(x+flip(y))-0.81994 elseif @Va=="21" x=real(z) y=imag(z) x=x/|z|+1.903047 y=y/|z| z=cotan(x+flip(y)) elseif @Va=="22" x=real(z) y=imag(z) x=x/|z|+1.14958 y=y/|z| z=exp(x+flip(y))-2.26039 elseif @Va=="23" x=real(z) y=imag(z) x=x/|z|+1.035893 y=y/|z|+0.185446 z=acos(x+flip(y)) elseif @Va=="24" x=real(z) y=imag(z) x=x/|z|+1.436697 y=y/|z|-0.131608 z=recip(x+flip(y))+(-0.807589,0.041875) elseif @Va=="25" z=((z^2+(1.77,-2.39)-1)/(2*z+(1.77,-2.39)-2))^2 elseif @Va=="26" z=((z^2+(0.04714,-6.12286)-1)/(2*z+(0.04714,-6.12286)-2))^2+(-1.10071,-0.81357) elseif @Va=="27" z=((cos(z)^2+(2.69424,-0.72397)-1)/(2*cos(z)+(2.69424,-0.72397)-2))^2+(0.01497,-0.46062) endif z=abs(z) z=p1*(z-real(z)/cabs(real(z)))^2-p2 bailout: |zold-z|>@bail default: title="Temorof" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p1 caption="Temorof Parameter 1" default=(-1,0.7) endparam param p2 caption="Temorof Parameter 2" 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } MethodX { ;https://eclicksbd.wordpress.com/2011/07/15/numerical-analysis-numerical-differentiation-using-newton’s-and-stirling’s-formulae/ init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="none" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=z-(z^3-1)/(3*z^2)+0.5 elseif @Va=="2" if |z|<1 z=z/|z| endif z=z-0.5*(recip(z)^3-1)/(3*recip(z)^2)+0.5 elseif @Va=="3" if |z|<1 z=z/|z| endif z=z-0.5*(z^3-1)/(3*z^2)+0.5 elseif @Va=="4" if |z|<1 z=z/|z| endif z=z-(z^3-1)/(3*z^2)-1.25 elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif endif f=z^3-1 f1=3*z^2 f2=6*z h=((z+f)^3-1-f)/f if @Va=="6" z=z^2*(z-0.5)/(1-0.5*z) elseif @Va=="7" z=z^2*(z-2)/(1-2*z) elseif @Va=="8" z=z-f/f1 elseif @Va=="9" z=z+0.5*f*f1/(2*f1^2-f*f2) elseif @Va=="10" z=z-(f/h) elseif @Va=="11" z=z-sqr(z) elseif @Va=="12" z=z+sqr(z)-1.5 elseif @Va=="13" z=z-z^3 elseif @Va=="14" z=z+z^3-1.25 elseif @Va=="15" z=z+z^4 elseif @Va=="16" z=z+0.5*z*abs(z) elseif @Va=="17" z=z+0.5*z*abs(z)+1 elseif @Va=="18" z=z+z*cotan(z) elseif @Va=="19" z=z-z*cotan(z) elseif @Va=="20" z=z+0.3*(recip(z)^3-1)/(3*recip(z)^2+1) elseif @Va=="21" z=z+(0.3,0.3)*(z-1i)/(z+1i) elseif @Va=="22" z=z+(0.43,-0.15)*(z-1i)/(z+1i)+(-0.13,-0.89) elseif @Va=="23" z=((flip(z)^2+(-1.34,0.65)-1)/(2*flip(z)+(-1.34,0.65)-2))^2+(-1.75,0.38) elseif @Va=="24" z=((conj(z)^2+(-0.98,2.42)-1)/(2*conj(z)+(-0.98,2.42)-2))^2+(-0.72107,0.11679) elseif @Va=="25" z=((abs(z)^2+(-0.98,2.42)-1)/(2*abs(z)+(-0.98,2.42)-2))^2+(-1.96,0.4) elseif @Va=="26" z=((sqr(z)^2+(-0.98,2.42)-1)/(2*sqr(z)+(-0.98,2.42)-2))^2+(0.05,0.5675) endif z=p2*((z^2-2)^2+z)+p3 if @JM=="M" z=z+fn4(pixel) endif bailout: |zold-z|>@bail default: title="Method X" 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""9""10""11"\ "12""13""14""15""16""17""18""19""20""21""22""23"\ "24""25""26" endparam param p2 caption="Method X Parameter 1" default=(-0.25,0) endparam param p3 caption="Method X 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.000000001 endparam } Weerakoon-FernandoMunster { ; The Weerakoon-Fernando formula is from here: ; https://www.sciencedirect.com/science/article/pii/S0893965907000389 ; The Munster formulas are formulas for Herman rings init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p11*sqr(z) z=z+@p12/z f=z^@pow-p1 f1=@pow*z^(@pow-1) b=z-f/f1 z=z-p2*2*f/(f1+@pow*b^(@pow-1))+p3 if @JM=="M" z=z+fn4(pixel) endif if @V=="1" z=@p7*z^2*(z-p4)/(1-p4*z)+p5 else z=@p7*z^2*(1+p4*z)/(z+p4)+p5 endif z=fn3(z) bailout: |zold-z|>@bail default: title="Weerakoon-Fernando Munster" center=(0.001,0.001) periodicity=0 magn=0.5 param JM caption="J/M" enum="J""M" endparam param p2 caption="W-F Parameter 1" default=(0.5,0) endparam param p3 caption="W-F Parameter 2" default=(0,0) endparam param p1 caption="W-F Constant" default=(1,0) endparam param pow caption="W-F Exponent" default=3 endparam param V caption="Munster Variant" enum="1""2" endparam param p7 caption="Munster Parameter 1" default=(1,0) endparam param p4 caption="Munster Parameter 2" default=(2,0) endparam param p5 caption="Munster 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 param p11 caption="Add Sqr Parameter" default=(0,0) endparam param p12 caption="Add Recip Parameter" 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.000000001 endparam } Hasanov-Ivanov-Nedjibov { ; http://api.shu.bg/teachers/storage/201.pdf ; P3 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+@p11*sqr(z) z=z+@p12/z f=z^@pow-p1 f1=@pow*z^(@pow-1) a=z-f/f1 b=z-f/(2*f1) z=p2*6*f/(@pow*a^(@pow-1)+4*@pow*b^(@pow-1)+f1)+p3 if @JM=="M" z=z+fn4(pixel) endif z=fn3(z) bailout: |zold-z|>@bail default: title="Hasanov-Ivanov-Nedjibov" center=(0.001,0.001) periodicity=0 magn=0.5 param JM caption="J/M" enum="J""M" endparam param p2 caption="H-I-N Parameter 1" default=(1,0) endparam param p3 caption="H-I-N Parameter 2" default=(0,0) endparam param p1 caption="H-I-N Constant" default=(1,0) endparam param pow caption="H-I-N Exponent" default=3 endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop 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 p11 caption="Add Sqr Parameter" default=(0,0) endparam param p12 caption="Add Recip Parameter" 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.000000001 endparam } Frontini-SormaniMunster { ; The Frontini-Sormani formula is from here: ; https://www.sciencedirect.com/science/article/pii/S0893965907000389 ; The Munster formulas are formulas for Herman rings init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p11*sqr(z) z=z+@p12/z f=z^@pow-p1 f1=@pow*z^(@pow-1) a=z-f/(2*f1) z=z-p2*f/(@pow*a^(@pow-1))+p3 if @JM=="M" z=z+fn4(pixel) endif if @V=="1" z=@p7*z^2*(z-p4)/(1-p4*z)+p5 else z=@p7*z^2*(1+p4*z)/(z+p4)+p5 endif z=fn3(z) bailout: |zold-z|>@bail default: title="Frontini-Sormani Munster" center=(0.001,0.001) periodicity=0 magn=0.5 param JM caption="J/M" enum="J""M" endparam param p2 caption="F-S Parameter 1" default=(1,0) endparam param p3 caption="F-S Parameter 2" default=(0,0) endparam param p1 caption="F-S Constant" default=(1,0) endparam param pow caption="F-S Exponent" default=3 endparam param V caption="Munster Variant" enum="1""2" endparam param p7 caption="Munster Parameter 1" default=(1,0) endparam param p4 caption="Munster Parameter 2" default=(2,0) endparam param p5 caption="Munster 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 param p11 caption="Add Sqr Parameter" default=(0,0) endparam param p12 caption="Add Recip Parameter" 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.000000001 endparam } MunsterMagnetJ { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) if @o=="Magnet first" if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif else if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif endif bailout: |z|<@baildiv && |z-zold|>@bailcon default: title="Munster Magnet J" center=(0.001,0.001) periodicity=0 magn=0.5 param muv caption="Munster Variant" enum="1""2" endparam param mav caption="Magnet Variant" enum="1""2" endparam param o caption="Order" enum="Magnet first""Munster first" default=1 endparam param p2 caption="Munster Parameter 1" default=(2,0) endparam param p1 caption="Munster Parameter 2" default=(1,0) endparam param p3 caption="Munster Parameter 3" default=(0,0) endparam param p5 caption="Magnet Parameter 1" default=(0,0) endparam param p4 caption="Magnet Parameter 2" default=(1,0) endparam param p6 caption="Magnet 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param baildiv caption="Divergent Bailout" default=100.0 endparam param bailcon caption="Convergent Bailout" default=0.000001 endparam } MunsterMagnetM { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) if @manv=="1" if @o=="Magnet first" if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif else if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif endif z=z+fn3(pixel) elseif @manv=="2" if @o=="Magnet first" if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif z=z+fn3(pixel) if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif else if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif z=z+fn3(pixel) if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif endif elseif @manv=="3" if @o=="Magnet first" if @mav=="1" z=p4*((z^2+@fn3(pixel)-1)/(2*z+@fn3(pixel)-2))^2+p6 else z=p4*((z^3+3*(@fn3(pixel)-1)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2))/(3*z^2+3*(@fn3(pixel)-2)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2)+1))^2+p6 endif if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif else if @muv=="1" z=p1*z^2*(z-p2)/(1-p2*z)+p3 else z=p1*z^2*(1+p2*z)/(z+p2)+p3 endif if @mav=="1" z=p4*((z^2+@fn3(pixel)-1)/(2*z+@fn3(pixel)-2))^2+p6 else z=p4*((z^3+3*(@fn3(pixel)-1)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2))/(3*z^2+3*(@fn3(pixel)-2)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2)+1))^2+p6 endif endif elseif @manv=="4" if @o=="Magnet first" if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif if @muv=="1" z=p1*z^2*(z-fn3(pixel))/(1-fn3(pixel)*z)+p3 else z=p1*z^2*(1+fn3(pixel)*z)/(z+fn3(pixel))+p3 endif else if @muv=="1" z=p1*z^2*(z-fn3(pixel))/(1-fn3(pixel)*z)+p3 else z=p1*z^2*(1+fn3(pixel)*z)/(z+fn3(pixel))+p3 endif if @mav=="1" z=p4*((z^2+p5-1)/(2*z+p5-2))^2+p6 else z=p4*((z^3+3*(p5-1)*z+(p5-1)*(p5-2))/(3*z^2+3*(p5-2)*z+(p5-1)*(p5-2)+1))^2+p6 endif endif elseif @manv=="5" if @o=="Magnet first" if @mav=="1" z=p4*((z^2+@fn3(pixel)-1)/(2*z+@fn3(pixel)-2))^2+p6 else z=p4*((z^3+3*(@fn3(pixel)-1)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2))/(3*z^2+3*(@fn3(pixel)-2)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2)+1))^2+p6 endif if @muv=="1" z=p1*z^2*(z-@fn3(pixel))/(1-@fn3(pixel)*z)+p3 else z=p1*z^2*(1+@fn3(pixel)*z)/(z+@fn3(pixel))+p3 endif else if @muv=="1" z=p1*z^2*(z-@fn3(pixel))/(1-@fn3(pixel)*z)+p3 else z=p1*z^2*(1+@fn3(pixel)*z)/(z+@fn3(pixel))+p3 endif if @mav=="1" z=p4*((z^2+@fn3(pixel)-1)/(2*z+@fn3(pixel)-2))^2+p6 else z=p4*((z^3+3*(@fn3(pixel)-1)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2))/(3*z^2+3*(@fn3(pixel)-2)*z+(@fn3(pixel)-1)*(@fn3(pixel)-2)+1))^2+p6 endif endif endif bailout: |z|<@baildiv && |z-zold|>@bailcon default: title="Munster Magnet M" center=(0.001,0.001) periodicity=0 magn=0.5 param manv caption="Mandelbrot Variant" enum="1""2""3""4""5" endparam param muv caption="Munster Variant" enum="1""2" endparam param mav caption="Magnet Variant" enum="1""2" endparam param o caption="Order" enum="Magnet first""Munster first" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p3 caption="Munster Parameter 2" default=(0,0) endparam param p2 caption="Munster Parameter 3" default=(2,0) visible=@manv!="4" && @manv!="5" endparam param p4 caption="Magnet Parameter 1" default=(1,0) endparam param p6 caption="Magnet Parameter 2" default=(0,0) endparam param p5 caption="Magnet Parameter 3" default=(0,0) visible=@manv!="3" && @manv!="5" endparam param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius 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="C Function" default=ident() endfunc param baildiv caption="Divergent Bailout" default=100.0 endparam param bailcon caption="Convergent Bailout" default=0.000001 endparam } SeigelJulia { ; Based on a formula from here: ; http://www.scholarpedia.org/article/Siegel_disks/Quadratic_Siegel_disks init: z=fn1(pixel) loop: z=p6*fn2(z)+@p7 z=(z-p4)/(1-p4*z) z=z/(@p5*z+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 z=cotanh(z) 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" if |z|>1 z=z/|z| endif z=cotan(z) elseif @Va=="7" if imag(z)>0 z=z else z=conj(z) endif elseif @Va=="8" if imag(z)<0 z=z else z=conj(z) endif elseif @Va=="9" if real(z)<0 z=-real(z)+flip(imag(z)) endif endif z=exp(p1*1i)*z^2*(z-p2)/(1-p2*z)+p3 bailout: |z|<@bail default: title="Seigel Julia" center=(0.001,0.001) periodicity=0 magn=0.5 param p1 caption="Seigel Parameter 1" default=(1,0) endparam param p2 caption="Seigel Parameter 2" default=(3,0) endparam param p3 caption="Seigel Parameter 3" default=(-0.1,0) endparam param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9" 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="Loop Parameter 1" default=(1,0) endparam param p7 caption="Loop 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=100.0 endparam } Chun { ;https://www.sciencedirect.com/science/article/pii/S0893965907000389 init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-p4)/(1-p4*z) z=z/(p5*z+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 elseif @Va=="6" if |z|<1 z=z/|z| endif z=sqr(z) elseif @Va=="7" if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @Va=="8" z=z-sqr(z) elseif @Va=="9" z=z+sqr(z) endif f=z^@pow-p1 f1=@pow*z^(@pow-1) z=z-p2*f/(f+f1)+p3 bailout: |zold-z|>@bail default: title="Chun" center=(0.001,0.001) periodicity=0 param p1 caption="Chun Parameter 1" default=(1,0) endparam param p2 caption="Chun Parameter 2" default=(1,0) endparam param p3 caption="Chun Parameter 3" default=(0,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="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Loop Parameter 1" default=(1,0) endparam param p7 caption="Loop 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=0.000000001 endparam } Potra-Pták { ;https://www.sciencedirect.com/science/article/pii/S0893965907000389 init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-p4)/(1-p4*z) z=z/(p5*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" if |z|<1 z=z/|z| endif z=sqr(z) elseif @Va=="7" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=recip(z) elseif @Va=="8" z=z-sqr(z) elseif @Va=="9" z=z+sqr(z) elseif @Va=="10" if real(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" if |z|<1 z=z/|z| endif z=sqr(z) elseif @Va=="7" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=recip(z) elseif @Va=="8" z=z-sqr(z) elseif @Va=="9" z=z+sqr(z) elseif @Va=="10" if real(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 z=recip(z) elseif @Va=="6" if |z|<1 z=z/|z| endif z=sqr(z) elseif @Va=="7" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=recip(z) elseif @Va=="8" z=z-sqr(z) elseif @Va=="9" z=z+sqr(z) elseif @Va=="10" if real(z)@bail default: title="Potra-Pták" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M1""M2" 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" endparam param p2 caption="Potra-Pták Parameter 1" default=(1,0) endparam param p3 caption="Potra-Pták Parameter 2" default=(0,0) endparam param p1 caption="Potra-Pták Parameter 3" default=(1,0) visible=@JM!="M1" endparam param pow caption="Exponent" default=3 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="Loop Parameter 1" default=(1,0) endparam param p7 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="C Function" default=ident() visible=@JM!="J" endfunc param bail caption="Bailout" default=0.000000001 endparam } Thukral { ; Jarratt-type iterative method from R.Thukral: ; https://www.hindawi.com/journals/ana/2012/493707/ init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-p4)/(1-p4*z) z=z/(p5*z+1) if @JM=="J" if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=recip(z) elseif @Va=="2" if |z|>1 z=z/|z| endif z=-1.5*flip(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-1.5*flip(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif z=-1/z elseif @Va=="6" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=1/abs(z) elseif @Va=="7" z=z+(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="8" z=z-(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="9" if |z|>1 z=z/|z| endif elseif @Va=="10" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="11" if real(z)imag(z) z=flip(z) endif elseif @Va=="13" if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @Va=="14" if |z|<1 z=z/|z| endif z=1.5*recip(z) elseif @Va=="15" if |z|<1 z=z/|z| endif z=2*recip(z) elseif @Va=="16" if |z|<1 z=z/|z| endif z=0.5*abs(z) elseif @Va=="17" if |z|<1 z=z/|z| endif z=0.7*abs(z) elseif @Va=="18" if |z|<1 z=z/|z| endif z=sqr(z) elseif @Va=="19" if |z|<1 z=z/|z| endif z=-sqr(z) elseif @Va=="20" if |z|<1 z=z/|z| endif z=0.7*sqr(z) elseif @Va=="21" if |z|<1 z=z/|z| endif z=-0.6*sqr(z) elseif @Va=="22" if real(z)>imag(z) z=flip(z) endif z=-1/flip(z) elseif @Va=="23" if real(z)>imag(z) z=flip(z) endif z=1/conj(z) elseif @Va=="24" if real(z)>imag(z) z=flip(z) endif z=1/sqr(z) endif else if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=1.5*recip(z) elseif @Va=="2" if |z|>1 z=z/|z| endif z=-1.5*flip(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-1.5*flip(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif z=1/abs(z) elseif @Va=="6" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=1/abs(z) elseif @Va=="7" z=z+(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="8" z=z-(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="9" if |z|>1 z=z/|z| endif elseif @Va=="10" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) elseif @Va=="11" if real(z)imag(z) z=flip(z) endif z=z+sqr(z) elseif @Va=="13" if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @Va=="14" if |z|<1 z=z/|z| endif z=recip(z) elseif @Va=="15" if |z|<1 z=z/|z| endif z=2*recip(z) elseif @Va=="16" if |z|<1 z=z/|z| endif z=0.5*abs(z) elseif @Va=="17" if |z|<1 z=z/|z| endif z=z+1/sqr(z) elseif @Va=="18" if |z|<1 z=z/|z| endif z=sqr(z) elseif @Va=="19" if |z|<1 z=z/|z| endif z=z+0.5*sqr(z) elseif @Va=="20" if |z|<1 z=z/|z| endif z=0.7*sqr(z) elseif @Va=="21" if |z|<1 z=z/|z| endif z=-0.6*sqr(z) elseif @Va=="22" if real(z)>imag(z) z=flip(z) endif z=-1/flip(z) elseif @Va=="23" if real(z)>imag(z) z=flip(z) endif z=1/conj(z) elseif @Va=="24" if real(z)>imag(z) z=flip(z) endif z=1/sqr(z) endif endif if @JM=="J" f=z^@pow-p1 f1=@pow*z^(@pow-1) a=z-2*(f/f1)/3 b=(3*@pow*a^(@pow-1)+f1)/(6*@pow*a^(@pow-1)+2*f1) c=z-b*f/f1 z=c-p2*b^2*(c^3-p1)/f1+p3 else f=z^@pow-fn4(pixel) f1=@pow*z^(@pow-1) a=z-2*(f/f1)/3 b=(3*@pow*a^(@pow-1)+f1)/(6*@pow*a^(@pow-1)+2*f1) c=z-b*f/f1 z=c-p2*b^2*(c^3-fn4(pixel))/f1+p3 endif bailout: |zold-z|>@bail default: title="Thukral" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p2 caption="Thukral Parameter 1" default=(1,0) endparam param p3 caption="Thukral Parameter 2" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@JM=="J" endparam param pow caption="Exponent" default=3 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="Loop Parameter 1" default=(1,0) endparam param p7 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.00000001 endparam } 2 { ; Jarratt-type iterative method from R.Thukral: ; https://www.hindawi.com/journals/ana/2012/493707/ init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-@p8)/(1-@p8*z) z=z/(p5*z+1) 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 z=z+0.82271/sqr(z) elseif @Va=="7" if |z|>1 z=z/|z| endif z=z-0.82271/sqr(z) elseif @Va=="8" if |z|>1 z=z/|z| endif z=z+0.7/cotanh(z) elseif @Va=="9" if |z|>1 z=z/|z| endif z=z+1.25/cotan(z) elseif @Va=="10" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z+1/sqr(z) elseif @Va=="11" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z-1/sqr(z) elseif @Va=="12" z=z-1/z elseif @Va=="13" z=z+1.5*(z^3-1)/(3*z^2) elseif @Va=="14" z=z-1.5*(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="15" z=z+1.5*(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="16" z=z+3.5*(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="17" z=z-3.5*(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="18" z=((z^2)/(2*z-1))^2 elseif @Va=="19" z=((z^2-2)/(2*z-3))^2 elseif @Va=="20" z=((flip(z)^2)/(2*flip(z)-1))^2 elseif @Va=="21" z=((flip(z)^2-2)/(2*flip(z)-3))^2 elseif @Va=="22" z=((flip(z)^2-9.2)/(2*flip(z)-10.2))^2 elseif @Va=="23" z=((flip(z)^2+11.9867)/(2*flip(z)+10.9867))^2 elseif @Va=="24" z=((abs(z)^2)/(2*abs(z)-1))^2 elseif @Va=="25" z=((abs(z)^2-2)/(2*abs(z)-3))^2 elseif @Va=="26" z=((recip(z)^2+0.91136)/(2*recip(z)-0.08864))^2 elseif @Va=="27" z=(z-1)/(z+1) elseif @Va=="28" z=-0.9*(z-1)/(z+1) elseif @Va=="29" z=(z-1)*(z+1) elseif @Va=="30" z=(flip(z)-1)*(flip(z)+1) elseif @Va=="31" z=-0.82*(flip(z)-1)*(flip(z)+1) elseif @Va=="32" z=-0.3*(flip(z)-1)*(flip(z)+1) elseif @Va=="33" z=z^2*(z-4)/(1-4*z) elseif @Va=="34" z=z^2*(z+4)/(1+4*z) elseif @Va=="35" z=z^2*(exp(z)-0.5)/(1-0.5*exp(z)) elseif @Va=="36" z=z^2*(sin(z)+3.2)/(1+3.2*sin(z)) elseif @Va=="37" z=z^2*(abs(z)+3.2)/(1+3.2*abs(z)) elseif @Va=="38" z=z^2*(cabs(z)+3.2)/(1+3.2*cabs(z)) elseif @Va=="39" z=z-z^2 elseif @Va=="40" z=z-0.3795*z^3 elseif @Va=="41" z=z+0.2*z*cabs(z) endif else 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 z=z+0.82271/sqr(z) elseif @Va=="6" if |z|>1 z=z/|z| endif z=z+3/cotanh(z) elseif @Va=="7" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=z+1/sqr(z) elseif @Va=="8" z=z+1/z elseif @Va=="9" z=z+1.5*(z^3-1)/(3*z^2) elseif @Va=="10" z=z+1.5*(sqr(z)^3-1)/(3*sqr(z)^2) elseif @Va=="11" z=z+(sqr(z)^3-1)/(3*sqr(z)^2) elseif @Va=="12" z=z+1.5*(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="13" z=z+(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="14" z=z-(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="15" z=z+3.5*(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="16" z=z-3.5*(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="17" z=((z^2)/(2*z-1))^2 elseif @Va=="18" z=((z^2-2)/(2*z-3))^2 elseif @Va=="19" z=((flip(z)^2)/(2*flip(z)-1))^2 elseif @Va=="20" z=((flip(z)^2-2)/(2*flip(z)-3))^2 elseif @Va=="21" z=((flip(z)^2+2.35)/(2*flip(z)+1.35))^2 elseif @Va=="22" z=((conj(z)^2-2)/(2*conj(z)-3))^2 elseif @Va=="23" z=((conj(z)^2+1)/(2*conj(z)))^2 elseif @Va=="24" z=((abs(z)^2-1.8615)/(2*abs(z)-2.8615))^2 elseif @Va=="25" z=((abs(z)^2-2.8615)/(2*abs(z)-3.8615))^2 elseif @Va=="26" z=((recip(z)^2+0.97507)/(2*recip(z)-0.02493))^2 elseif @Va=="27" z=(z-1)*(z+1) elseif @Va=="28" z=z^2*(z-2)/(1-2*z) elseif @Va=="29" z=z^2*(z-3)/(1-3*z) elseif @Va=="30" z=z^2*(z-6.5)/(1-6.5*z) elseif @Va=="31" z=z^2*(sqr(z)-2)/(1-2*sqr(z)) elseif @Va=="32" z=z^2*(sqr(z)+2)/(1+2*sqr(z)) elseif @Va=="33" z=z^2*(abs(z)+2)/(1+2*abs(z)) elseif @Va=="34" z=z^2*(cabs(z)+2)/(1+2*cabs(z)) elseif @Va=="35" z=z^2*(cos(z)+1.5)/(1+1.5*cos(z)) elseif @Va=="36" z=z^2*(cosh(z)+1.5)/(1+1.5*cosh(z)) elseif @Va=="37" z=z+z^2 elseif @Va=="38" z=z-0.3*z^3 elseif @Va=="39" z=z+0.3*z^3 elseif @Va=="40" z=z+0.2*z*abs(z) elseif @Va=="41" z=z+0.333*z*cabs(z) endif endif if @JM=="J" f=z^@pow-p1 f1=@pow*z^(@pow-1) a=z-2*(f/f1)/3 b=z-(f/f1)*(3*@pow*a^(@pow-1)+f1)/(6*@pow*a^(@pow-1)-2*f1) z=b-p2*((p3*(@pow*a^(@pow-1))^2+(4-p3)*f1^2)/((p3+3)*(@pow*a^(@pow-1))^2+(1-p3)*f1^2))*((b^@pow-p1)/f1)+p4 else f=z^@pow-fn4(pixel) f1=@pow*z^(@pow-1) a=z-2*(f/f1)/3 b=z-(f/f1)*(3*@pow*a^(@pow-1)+f1)/(6*@pow*a^(@pow-1)-2*f1) z=b-p2*((p3*(@pow*a^(@pow-1))^2+(4-p3)*f1^2)/((p3+3)*(@pow*a^(@pow-1))^2+(1-p3)*f1^2))*((b^@pow-fn4(pixel))/f1)+p4 endif bailout: |zold-z|>@bail default: title="Thukral 2" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p2 caption="Thukral Parameter 1" default=(-3,0) endparam param p3 caption="Thukral Parameter 2" default=(0.5,0) endparam param p4 caption="Thukral Parameter 3" default=(0,0) endparam param p1 caption="Constant" default=(1,0) visible=@JM=="J" endparam param pow caption="Exponent" default=3 endparam param p8 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Loop Parameter 1" default=(1,0) endparam param p7 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.00000001 endparam } SunifMivei { init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-p4)/(1-p4*z) z=z/(p5*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 z=-1.5*flip(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-1.5*flip(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif z=1/abs(z) elseif @Va=="6" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=1/abs(z) elseif @Va=="7" z=z+(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="8" z=z-(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="9" z=z+0.3*sqr(z) elseif @Va=="10" z=z+0.3*recip(z) elseif @Va=="11" z=z-0.3*cotanh(z) elseif @Va=="12" z=(z+1i)^2-2.2 endif else if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=1.5*recip(z) elseif @Va=="2" if |z|>1 z=z/|z| endif z=-1.5*flip(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-1.5*flip(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif z=1/abs(z) elseif @Va=="6" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=1/abs(z) elseif @Va=="7" z=z+(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="8" z=z-(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="9" z=z+0.3*sqr(z) elseif @Va=="10" z=z+(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="11" z=z-(exp(z)-1i)/(exp(z)+1i) elseif @Va=="12" z=(sqr(z)+1i)^2+2.32 endif endif f=z^@pow-5*1i f1=@pow*z^(@pow-1) a=z-2*(f/f1)/3 b=(3*@pow*a^(@pow-1)+f1)/(6*@pow*a^(@pow-1)+2*f1) c=z-b*f/f1 z=c-p2*f1/f+p3 if @JM=="M" z=z+fn3(pixel) endif bailout: |zold-z|>@bail default: title="Sunif Mivei" 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""9""10""11""12" endparam param p2 caption="Sunif Mivei Parameter 1" default=(1,0) endparam param p3 caption="Sunif Mivei Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=3 endparam param p4 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius 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="C Function" default=ident() visible=@JM=="M" endfunc param p6 caption="Loop Parameter 1" default=(1,0) endparam param p7 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000001 endparam } Swique1 { init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-@p8)/(1-@p8*z) z=z/(p5*z+1) if @Va=="None" z=z elseif @Va=="1" z=z^2*(cotanh(z)-2)/(1-2*cotanh(z)) elseif @Va=="2" z=z+cotanh(z)/z elseif @Va=="3" z=z+0.3*cotanh(z)/z elseif @Va=="4" z=z+tanh(z)/z elseif @Va=="5" z=z-1/sqr(z) elseif @Va=="6" z=z+0.55*sqr(z)*tanh(z) elseif @Va=="7" z=z-0.5/cotanh(z) elseif @Va=="8" z=z-3.65/tan(z) elseif @Va=="9" z=z+((z^2)/(2*z-1))^2 elseif @Va=="10" z=z+((z^2-2)/(2*z-3))^2 elseif @Va=="11" z=z+(z-1i)/(z+1i) elseif @Va=="12" z=z+((sqr(z)^2-17)/(2*sqr(z)-18))^2 elseif @Va=="13" z=z-(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="14" z=z+((sqr(z)^2+15)/(2*sqr(z)+14))^2 elseif @Va=="15" z=z^2*(tanh(z)-2)/(1-2*tanh(z)) elseif @Va=="16" z=z^2*(exp(z)-0.5)/(1-0.5*exp(z)) elseif @Va=="17" z=z^2*(sin(z)+0.5)/(1+0.5*sin(z)) elseif @Va=="18" z=z^2*(cos(z)-0.85)/(1-0.85*cos(z)) elseif @Va=="19" z=z^2*(recip(z)-0.85)/(1-0.85*recip(z)) elseif @Va=="20" z=z+z^2*(exp(z)-0.5)/(1-0.5*exp(z)) elseif @Va=="21" z=z+z^2*(exp(z)+2)/(1+2*exp(z)) elseif @Va=="22" z=z+z^2*(sqr(z)+2)/(1+2*sqr(z)) elseif @Va=="23" z=z+z^2*(recip(z)-0.3)/(1-0.3*recip(z)) elseif @Va=="24" z=z^2*(cabs(z)+2)/(1+2*cabs(z)) endif f=z^@pow-fn4(pixel) f1=@pow*z^(@pow-1) z=p2*f/f1+p3*f1/f+p4 bailout: |zold-z|>@bail default: title="Swique 1" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p2 caption="Swique Parameter 1" default=(1,0) endparam param p3 caption="Swique Parameter 2" default=(1,0) endparam param p4 caption="Swique Parameter 3" default=(0,0) endparam param pow caption="Exponent" default=3 endparam param p8 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Loop Parameter 1" default=(1,0) endparam param p7 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="C Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } Swique2 { init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-@p8)/(1-@p8*z) z=z/(p5*z+1) if @Va=="None" z=z elseif @Va=="1" z=z-sin(z)/z elseif @Va=="2" z=z-2/z elseif @Va=="3" z=z-0.5/cotanh(z) elseif @Va=="4" z=z-3.65/tan(z) elseif @Va=="5" z=z-0.3/cos(z) elseif @Va=="6" z=z-0.3*(z^3-1)/(3*z^2) elseif @Va=="7" z=z-0.3*(cotan(z)^3-1)/(3*cotan(z)^2) elseif @Va=="8" z=z+(z-1i)/(z+1i) elseif @Va=="9" z=z-(z-1i)/(z+1i) endif f=z^@pow-fn4(pixel) f1=@pow*z^(@pow-1) z=(p2*f/f1+p3*f1/f)^2+p4 bailout: |zold-z|>@bail default: title="Swique 2" center=(0.001,0.001) periodicity=0 magn=0.5 param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9" endparam param p2 caption="Swique Parameter 1" default=(1,0) endparam param p3 caption="Swique Parameter 2" default=(1,0) endparam param p4 caption="Swique Parameter 3" default=(0,0) endparam param pow caption="Exponent" default=3 endparam param p8 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Loop Parameter 1" default=(1,0) endparam param p7 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="C Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } Newtonforz^c1+c2/z-c3=0 { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=(z-p5)/(1-p5*z) z=z/(p6*z+1) if @M=="None" z=z elseif @M=="1" z=sqr(z)-0.5/cos(z)+1 elseif @M=="2" z=z^2-1/z elseif @M=="3" z=z^2-0.5/z+1 elseif @M=="4" z=z+0.15/z-0.5 elseif @M=="5" z=z+0.5/z elseif @M=="6" z=z^3-1 elseif @M=="7" z=z^3+1/cotanh(z)-1 elseif @M=="8" z=z^3-0.3795*z+1 elseif @M=="9" z=z^2-0.45*z+1 elseif @M=="10" z=-0.3/sqr(z)+0.67 endif if @JM=="J" f=z^@pow+p1/z-p4 else f=z^@pow+p1/z-fn3(pixel) endif f1=@pow*z^(@pow-1)-p1/sqr(z) z=z-p2*f/f1+p3 bailout: |zold-z|>@bail default: title="Newton for z^c1+c2/z-c3=0" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param M caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10" 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="Newton Parameter 4" default=(1,0) visible=@JM=="J" endparam param pow caption="Exponent" default=3 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="Loop Parameter 1" default=(1,0) endparam param p8 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.0000001 endparam } Swique3 { init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-@p8)/(1-@p8*z) z=z/(p5*z+1) if @Va=="None" z=z elseif @Va=="1" z=z^2*(z-2)/(1-2*z) elseif @Va=="2" z=z-0.5*sqr(z) elseif @Va=="3" z=z+0.5*sqr(z) elseif @Va=="4" z=z+0.5/z elseif @Va=="5" z=z-2.5/cos(z) elseif @Va=="6" z=z+0.55*sqr(z)*tanh(z) elseif @Va=="7" z=z+1.5*cotanh(z)*cotanh(z) elseif @Va=="8" z=z+0.5*cotan(z)*cotan(z) elseif @Va=="9" z=z+((z^2)/(2*z-1))^2 elseif @Va=="10" z=z+((z^2-2)/(2*z-3))^2 elseif @Va=="11" z=z+(z-1i)/(z+1i) elseif @Va=="12" z=z+((sqr(z)^2+9.5)/(2*sqr(z)+8.5))^2 elseif @Va=="13" z=z-(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="14" z=z+((z^2-1)/(2*z-2))^2 elseif @Va=="15" z=z^2*(recip(z)-0.85)/(1-0.85*recip(z)) elseif @Va=="16" z=z+z^2*(sqr(z)+2)/(1+2*sqr(z)) elseif @Va=="17" z=z^2*(cabs(z)+2)/(1+2*cabs(z)) elseif @Va=="18" z=z^2*(recip(z)-0.5)/(1-0.5*tan(z)) elseif @Va=="19" z=z^2*(recip(z))/(1-1.5*recip(z)) elseif @Va=="20" z=z+z^2*(exp(z)-0.5)/(1-2*exp(z)) elseif @Va=="21" z=z+z^2*(exp(z)+1.5)/(1-exp(z)) elseif @Va=="22" z=z=(z^3-1)/(3*tanh(z)^2)+1.5 elseif @Va=="23" z=4.7*(z^3-1)/(3*z^2) elseif @Va=="24" z=7.5*(z^3-1)/(3*z^4) elseif @Va=="25" z=z-(z^3-1)/(3*z^2) elseif @Va=="26" z=z-(recip(z)^3-1)/(3*z^2) elseif @Va=="27" z=z+0.3*(sqr(z)^3-1)/(3*z^2)-3.5 elseif @Va=="28" z=z-(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="29" z=z-2*(sqr(z)^3-1)/(3*sqr(z)^2) elseif @Va=="30" z=z+1.8*(z^3-1)/(3*z^2) endif f=z^@pow+p1/z-fn3(pixel) f1=@pow*z^(@pow-1)-p1/sqr(z) f2=(@pow-1)*@pow*z^(@pow-2)+2*p1/z^3 z=p2*f/f1+p3*f2/f+p4 bailout: |zold-z|>@bail default: title="Swique 3" center=(0.001,0.001) periodicity=0 magn=0.5 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 p1 caption="Swique Parameter 1" default=(1,0) endparam param p2 caption="Swique Parameter 2" default=(1,0) endparam param p3 caption="Swique Parameter 3" default=(1,0) endparam param p4 caption="Swique Parameter 4" default=(0,0) endparam param pow caption="Exponent" default=2 endparam param p6 caption="Loop Parameter 1" default=(1,0) endparam param p7 caption="Loop Parameter 2" default=(0,0) endparam param p8 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius 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="C Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } Swique4 { init: z=fn1(pixel) loop: zold=z z=p6*fn2(z)+@p7 z=(z-@p8)/(1-@p8*z) z=z/(p5*z+1) if @Va=="None" z=z elseif @Va=="1" z=z+0.5/z elseif @Va=="2" z=z-2.5/cos(z) elseif @Va=="3" z=z+(z-1i)/(z+1i) elseif @Va=="4" z=z-(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="5" z=z-(z^3-1)/(3*z^2) elseif @Va=="6" z=z-(recip(z)^3-1)/(3*z^2) elseif @Va=="7" z=z+0.3*recip((z^2)/(2*z-1))^2 elseif @Va=="8" z=z-0.3*recip((z^2)/(2*z-1))^2 elseif @Va=="9" z=z+0.5*cotanh((recip(z)^2+1)/(2*recip(z)))^2 elseif @Va=="10" z=z+0.5*cotan((recip(z)^2-1.75)/(2*recip(z)-2.75))^2 elseif @Va=="11" z=0.5*(sqr(z)-1i)/(z+1i)+1 elseif @Va=="12" z=(z-1i)/(recip(z)+1i)-1 elseif @Va=="13" z=z+tan(1/(z+2))-2 elseif @Va=="14" z=z+cotan(1/(recip(z)+2))-2 endif f=z^@pow+p1/z-fn3(pixel) f1=@pow*z^(@pow-1)-p1/sqr(z) f2=(@pow-1)*@pow*z^(@pow-2)+2*p1/z^3 z=(p2*f/f1+p3*f2/f)^2+p4 bailout: |zold-z|>@bail default: title="Swique 4" center=(0.001,0.001) periodicity=0 magn=0.5 param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8"\ "9""10""11""12""13""14" endparam param p1 caption="Swique Parameter 1" default=(1,0) endparam param p2 caption="Swique Parameter 2" default=(1,0) endparam param p3 caption="Swique Parameter 3" default=(1,0) endparam param p4 caption="Swique Parameter 4" default=(0,0) endparam param pow caption="Exponent" default=2 endparam param p6 caption="Loop Parameter 1" default=(1,0) endparam param p7 caption="Loop Parameter 2" default=(0,0) endparam param p8 caption="Möbius Parameter 1" default=(0,0) endparam param p5 caption="Möbius 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="C Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } ModifiedMagnet { init: z=fn1(pixel) loop: zold=z z=z+p6*sqr(z)+@p7 z=z+p4*(z-1i)/(1+1i)+p5 z=z+@p8/z+@p9 if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=((2*z-1.5)/(z^2-0.5))^2 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) z=((2*z-1.5)/(z^2-0.5))^2 elseif @Va=="4" if real(z)@bailcon default: title="Modified Magnet" center=(0.001,0.001) periodicity=0 magn=0.25 param p1 caption="MM Parameter 1" default=(0.5,0) endparam param p2 caption="MM Parameter 2" default=(1,0) endparam param p3 caption="MM Parameter 3" default=(0,0) endparam param p4 caption="Add Cayley Parameter 1" default=(0,0) endparam param p5 caption="Add Cayley Parameter 2" default=(0,0) visible=@p4!=0 endparam param p6 caption="Add Sqr Parameter 1" default=(0,0) endparam param p7 caption="Add Sqr Parameter 2" default=(0,0) visible=@p6!=0 endparam param p8 caption="Add Recip Parameter 1" default=(0,0) endparam param p9 caption="Add Recip Parameter 2" default=(0,0) visible=@p8!=0 endparam param Va caption="Modification" enum="None""1""2""3""4""5""6"\ "7""8""9""10""11""12" endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param baildiv caption="Divergent Bailout" default=10000000.0 endparam param bailcon caption="Convergent Bailout" default=0.00000001 endparam } ElkinJulia { init: z=fn1(pixel) loop: z=p4*fn4(z)+p5 z=p3*fn2(flip(p3/(fn3(recip(sqr(z)))+p1)))+p1 z=z^2+p2 bailout: |z|<@bail default: title="Elkin Julia" param p1 caption="Elkin Parameter 1" default=(-0.5,0.75) endparam param p3 caption="Elkin Parameter 2" default=(1,0) endparam param p2 caption="Julia Seed" 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="Elkin Function 1" default=ident() endfunc func fn3 caption="Elkin Function 2" default=ident() endfunc func fn4 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } Frevof { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=z+@p9*sqr(z)+@p10 z=z+p5/z+p6 if @JM=="J" if @M=="None" z=z elseif @M=="1" if |z|<1 z=z/|z| endif elseif @M=="2" if |z|>1 z=z/|z| endif z=z+0.3*z^3 elseif @M=="3" z=((z^2-4.6)/(2*z-5.6))^2 elseif @M=="4" if real(z)imag(z) z=flip(z) endif z=((z^2-5.5)/(2*z-6.5))^2 elseif @M=="6" z=z+((z^2)/(2*z-1))^2-5.15 elseif @M=="7" z=z-2/sqr(z) elseif @M=="8" z=z-tan(z)-2/z elseif @M=="9" z=1.2*(1.2/(recip(z)-0.2))-0.2 elseif @M=="10" z=cotanh(0.68*tan(0.68/(z-0.25))-0.25) endif else if @M=="None" z=z elseif @M=="1" if |z|<1 z=z/|z| endif elseif @M=="2" z=z+((z^2-4)/(2*z-5))^2-0.5 elseif @M=="3" z=((z^2)/(2*z-1))^2 elseif @M=="4" if real(z)imag(z) z=flip(z) endif z=((recip(z)^2+0.911)/(2*recip(z)-0.089))^2+5 elseif @M=="6" z=z+((sqr(z)^2)/(2*sqr(z)-1))^2-0.9 elseif @M=="7" z=z-2/sqr(z) elseif @M=="8" z=1.2*(1.2/(recip(z)-0.2))-0.2 elseif @M=="9" z=cotanh(0.68*tan(0.68/(z-0.25))-0.25) elseif @M=="10" z=z-0.2*(z+1)/(z-1) endif endif if @JM=="J" f=z^@pow+p1/z-p4 else f=z^@pow+p1/z-fn3(pixel) endif f1=@pow*z^(@pow-1)-p1/sqr(z) z=z-p2*((f-f1)/(f+f1))+p3 bailout: |zold-z|>@bail default: title="Frevof" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param M caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10" endparam param p1 caption="Frevof Parameter 1" default=(1,0) endparam param p2 caption="Frevof Parameter 2" default=(1,0) endparam param p3 caption="Frevof Parameter 3" default=(0,0) endparam param p4 caption="Frevof Parameter 4" default=(1,0) visible=@JM=="J" endparam param pow caption="Exponent" default=3 endparam param p9 caption="Add Sqr Parameter 1" default=(0,0) endparam param p10 caption="Add Sqr Parameter 2" default=(0,0) visible=@p9!=0 endparam param p5 caption="Add Recip Parameter 1" default=(0,0) endparam param p6 caption="Add Recip Parameter 2" default=(0,0) visible=p5!=0 endparam param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=0.0000001 endparam } DoubleMunsterJ { init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 if @V=="1" z=(z^2*(z-p1)/(1-p1*z))^2*(z-p2)/(1-p2*z) elseif @V=="2" z=(z^2*(z-p1)/(1-p1*z))^2*(z+p2)/(1+p2*z) elseif @V=="3" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z+p2)/(1+p2*z) elseif @V=="4" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z-p2)/(1-p2*z) endif bailout: |zold-z|>@bail default: title="Double Munster J" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4" endparam param p1 caption="Munster Parameter 1" default=(2,0) endparam param p2 caption="Munster Parameter 2" default=(2,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 fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } DoubleMunsterM { init: z=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 if @V=="1" z=z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z) z=z^2*(z+p2)/(1+p2*z) elseif @V=="2" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z+p2*fn3(pixel))/(1+p2*fn3(pixel)*z) elseif @V=="3" z=z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z) z=z^2*(z+p2*fn3(pixel))/(1+p2*fn3(pixel)*z) elseif @V=="4" z=z^2*(z-p1)/(1-p1*z)+fn3(pixel) z=z^2*(z+p2)/(1+p2*z) elseif @V=="5" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z+p2)/(1+p2*z)+fn3(pixel) elseif @V=="6" z=z^2*(z-p1)/(1-p1*z)+fn3(pixel) z=z^2*(z+p2)/(1+p2*z)+fn3(pixel) elseif @V=="7" z=z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z) z=z^2*(z-p2)/(1-p2*z) elseif @V=="8" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z-p2*fn3(pixel))/(1-p2*fn3(pixel)*z) elseif @V=="9" z=z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z) z=z^2*(z-p2*fn3(pixel))/(1-p2*fn3(pixel)*z) elseif @V=="10" z=z^2*(z-p1)/(1-p1*z)+fn3(pixel) z=z^2*(z-p2)/(1-p2*z) elseif @V=="11" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z-p2)/(1-p2*z)+fn3(pixel) elseif @V=="12" z=z^2*(z-p1)/(1-p1*z)+fn3(pixel) z=z^2*(z-p2)/(1-p2*z)+fn3(pixel) elseif @V=="13" z=z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z) z=z^2*(z+p2)/(1+p2*z) elseif @V=="14" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z+(p2+fn3(pixel)))/(1+(p2+fn3(pixel))*z) elseif @V=="15" z=z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z) z=z^2*(z+(p2+fn3(pixel)))/(1+(p2+fn3(pixel))*z) elseif @V=="16" z=z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z) z=z^2*(z-p2)/(1-p2*z) elseif @V=="17" z=z^2*(z-p1)/(1-p1*z) z=z^2*(z-(p2+fn3(pixel)))/(1-(p2+fn3(pixel))*z) elseif @V=="18" z=z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z) z=z^2*(z-(p2+fn3(pixel)))/(1-(p2+fn3(pixel))*z) elseif @V=="19" z=(z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z))^2*(z-p2)/(1-p2*z) elseif @V=="20" z=(z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z))^2*(z+p2)/(1+p2*z) elseif @V=="21" z=(z^2*(z-p1)/(1-p1*z))^2*(z-p2*fn3(pixel))/(1-p2*fn3(pixel)*z) elseif @V=="22" z=(z^2*(z-p1)/(1-p1*z))^2*(z+p2*fn3(pixel))/(1+p2*fn3(pixel)*z) elseif @V=="23" z=(z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z))^2*(z-p2*fn3(pixel))/(1-p2*fn3(pixel)*z) elseif @V=="24" z=(z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*z))^2*(z+p2*fn3(pixel))/(1+p2*fn3(pixel)*z) elseif @V=="25" z=(z^2*(z-p1)/(1-p1*z))^2*(z-p2)/(1-p2*z)+fn3(pixel) elseif @V=="26" z=(z^2*(z-p1)/(1-p1*z))^2*(z+p2)/(1+p2*z)+fn3(pixel) elseif @V=="27" z=(z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z))^2*(z-p2)/(1-p2*z) elseif @V=="28" z=(z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z))^2*(z+p2)/(1+p2*z) elseif @V=="29" z=(z^2*(z-p1)/(1-p1*z))^2*(z-(p2+fn3(pixel)))/(1-(p2+fn3(pixel))*z) elseif @V=="30" z=(z^2*(z-p1)/(1-p1*z))^2*(z+(p2+fn3(pixel)))/(1+(p2+fn3(pixel))*z) elseif @V=="31" z=(z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z))^2*(z-(p2+fn3(pixel)))/(1-(p2+fn3(pixel))*z) elseif @V=="32" z=(z^2*(z-(p1+fn3(pixel)))/(1-(p1+fn3(pixel))*z))^2*(z+(p2+fn3(pixel)))/(1+(p2+fn3(pixel))*z) endif bailout: |zold-z|>@bail default: title="Double Munster M" 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" endparam param p1 caption="Munster Parameter 1" default=(2,0) endparam param p2 caption="Munster Parameter 2" default=(2,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 fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="M Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } LabsCayley { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=((z-1i)/(z+1i))^@pow1+p1 z=((z-1i)/(z+1i))^@pow1+p2 z=p5*fn4(log(abs(z)))^@pow2+p6 if @JM=="M" z=z+fn3(pixel) endif endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Labs Cayley" 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 p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" 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="Cayley Parameter 1" default=(0,0) endparam param p2 caption="Cayley Parameter 2" 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 fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc func fn3 caption="C Function" default=ident() visible=@JM=="M" endfunc param pow2 caption="Labs Exponent" default=(1,0) endparam param pow1 caption="Cayley Exponent" default=2 endparam param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000000.0 endparam } MsetVariant { init: z=fn1(pixel) loop: zold=z z=fn2(z) z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z z=(z^@pow+p1*fn3(pixel))*z/(p2*fn4(pixel))+p3 bailout: |zold-z|>@bail default: title="Mset Variant" center=(0.001,0.001) periodicity=0 param p3 caption="M Parameter" default=(0,0) endparam param p1 caption="C1 Parameter" default=(1,0) endparam param p2 caption="C2 Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function" default=ident() endfunc func fn3 caption="C1 Function" default=ident() endfunc func fn4 caption="C2 Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param pow caption="Exponent" default=2 endparam param bail caption="Bailout" default=0.00000001 endparam } Munster6 { ; Based on two formulas given by Roger Bagula ;https://plus.google.com/u/0/110803890168343196795/posts/VhHPyNRXDAy ;https://plus.google.com/u/0/110803890168343196795/posts/M5F7HSyDnep init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z if @Va=="None" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif endif if @V=="1" z=exp(2*pi*1i*p1)*z^2*(p2*3/2-z^2)/(1-p2*3*z^2/2)+p3 else z=exp(2/(pi*1i*p1))*z^2*((p2*3/2-z^2)/(1-p2*3*z^2/2))^0.5+p3 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 6" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2" endparam param Va caption="Modification" enum="None""1""2" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p3 caption="Munster Parameter 3" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=4.0 visible=@bt==1 endparam } Munster7 { ;http://www.wikiwand.com/en/Herman_ring init: z=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z z=exp(2*pi*1i*p1)*z^3*((1-conj(p2)*z)/(z-p2))*((1-conj(p3)*z)/(z-p3))+@p7 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 7" center=(0.001,0.001) periodicity=0 param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(0.5,0) endparam param p3 caption="Munster Parameter 3" default=(1,0) endparam param p7 caption="Munster Parameter 4" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=4.0 visible=@bt==1 endparam } Deebee { init: z=fn1(pixel) loop: z=@p7*fn2(z)+@p8 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z if @Va=="None" z=z elseif @Va=="1" if @JM=="J" if real(z)imag(z) z=flip(z) endif else z=z-z^3 endif elseif @Va=="3" z=z+z*cotan(z) elseif @Va=="4" z=z-z*cotan(z) endif if @JM=="J" z=z*(p1*z^3+p1+1)/((p2-1)*z^3+p2)+fn3(p3) else z=z*(p1*z^3+p1+1)/((p2-1)*z^3+p2)+p3+fn3(pixel) endif bailout: |z|<@bail default: title="Deebee" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="Deebee Parameter 1" default=(-0.8,0) endparam param p2 caption="Deebee Parameter 2" default=(0.4,0) endparam param p3 caption="Deebee Parameter 3" default=(0,0) endparam param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 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="C Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4" endparam param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } Domret { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/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 if @JM=="M" z=-cotanh(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 else z=z-2.855*z^3 endif elseif @Va=="6" if @JM=="J" if |z|>1 z=z/|z| endif z=cotan(z) else z=z-0.45*z*cotan(z) endif endif z=p3/z z=(z-1)*(z+2.75*p1/(2+2.75*p1))/z^2 if @JM=="J" z=(z^7-z^5-fn3(p2))/(z^7+z^5-fn3(p2)) else z=(z^7-z^5-fn3(pixel))/(z^7+z^5-fn3(pixel))+p2-1 endif bailout: |zold-z|>@bail default: title="Domret" 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" endparam param p1 caption="Domret Parameter 1" default=(1,0) endparam param p2 caption="Domret Parameter 2" default=(1,0) endparam param p3 caption="Domret Parameter 3" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000001 endparam } GRJulia { ; Based on a formula from Roger Bagula ; https://plus.google.com/u/0/110803890168343196795/posts/E1v4rMM4zZU init: z=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/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^2*(z+3*z^2-2*z^3-3*z^4)/(1-8*z^2+9*z^4)+p1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="GR Julia" center=(0.001,0.001) periodicity=0 magn=0.5 param p1 caption="Julia Seed" default=(-1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param Va caption="Modification" enum="None""1""2""3""4""5" endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10.0 visible=@bt==1 endparam } Munster8 { init: z=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/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) endif z=p1*z^2*(-p2+p3*z)/(p3-p2*z)+@p7 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 8" center=(0.001,0.001) periodicity=0 magn=0.8 param p1 caption="Munster Parameter 1" default=(0.75,0.6) endparam param p2 caption="Munster Parameter 2" default=(1.5,0) endparam param p3 caption="Munster Parameter 3" default=(1,0) endparam param p7 caption="Munster Parameter 4" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3" endparam param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } Munster9 { init: z=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z if @Va=="None" z=z elseif @Va=="1" z=z^2*(z-5)/(1-5*z) elseif @Va=="2" z=z^2*(z-10)/(1-10*z) elseif @Va=="3" z=z^2*(sqr(z)-5)/(1-5*sqr(z)) elseif @Va=="4" z=z^2*(sqr(z)+5)/(1+5*sqr(z)) elseif @Va=="5" z=z^2*(recip(z)-0.3)/(1-0.3*recip(z)) elseif @Va=="6" z=z^2*(z+5.5)/(1-5.5*z) elseif @Va=="7" z=z*(exp(z)+0.75)/(1+0.75*exp(z)) elseif @Va=="8" z=z*(sqr(z)+0.75)/(1+0.75*sqr(z)) elseif @Va=="9" z=z^3*(sqr(z)-15)/(1-15*sqr(z)) elseif @Va=="10" z=z^3*(sqr(z)+15)/(1+15*sqr(z)) elseif @Va=="11" z=z^3*(sqr(z)-30)/(1-30*sqr(z)) elseif @Va=="12" z=z^3*(sqr(z)+30)/(1+30*sqr(z)) endif z=p1*(z^2*(z-p2*fn3(pixel))/(-p2*fn3(pixel)*z+1))+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 9" center=(0.001,0.001) periodicity=0 magn=0.5 param p1 caption="Munster Parameter 1" default=(-1.5,0) endparam param p2 caption="Munster Parameter 2" default=(1.5,0) endparam param p3 caption="Munster 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="C Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12" endparam param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Hanemeer { init: z=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-@p10)/(1-@p10*z) z=z/(@p11*z+1) z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/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 if @JM!="J" z=1/z endif elseif @Va=="3" if real(z)<0 z=-real(z)+flip(imag(z)) endif if @JM=="J" z=0.7*sqr(z) else z=-z endif elseif @Va=="4" z=z^2*(z+9.5)/(1+9.5*z) endif if @JM=="J" z=p1*z^2*(z^2-z-fn3(p2))/(-z^2-z+fn3(p2))+@p13 z=p3*z^2*(z^3-z-fn3(@p12))/(-z^3-z^2+fn3(@p12))+@p14 elseif @JM=="M1" z=p1*z^2*(z^2-z-fn3(p2))/(-z^2-z+fn3(p2))+@p13 z=p3*z^2*(z^3-z-@p12*fn3(pixel))/(-z^3-z^2+@p12*fn3(pixel))+@p14 elseif @JM=="M2" z=p1*z^2*(z^2-z-fn3(p2))/(-z^2-z+fn3(p2))+@p13 z=p3*z^2*(z^3-z-fn3(@p12))/(-z^3-z^2+@p12*fn3(pixel))+@p14 elseif @JM=="M3" z=p1*z^2*(z^2-z-fn3(p2))/(-z^2-z+p2*fn3(pixel))+@p13 z=p3*z^2*(z^3-z-fn3(@p12))/(-z^3-z^2+fn3(@p12))+@p14 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Hanemeer" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M1""M2""M3" endparam param Va caption="Modification" enum="None""1""2""3""4" endparam param p1 caption="Hanemeer Parameter 1" default=(1,0) endparam param p2 caption="Hanemeer Parameter 2" default=(1,0) endparam param p3 caption="Hanemeer Parameter 3" default=(0.4,0) endparam param p12 caption="Hanemeer Parameter 4" default=(1,0) endparam param p13 caption="Hanemeer Parameter 5" default=(1,0) endparam param p14 caption="Hanemeer Parameter 6" default=(-1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Möbius Parameter 1" default=(0,0) endparam param p11 caption="Möbius Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Cozyk { init: z=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-@p10)/(1-@p10*z) z=z/(@p11*z+1) z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif if @JM=="J" z=0.6*flip(z) else z=-0.6*z endif elseif @Va=="2" if |z|>1 z=z/|z| endif if @JM=="J" z=0.5*sqr(z) else z=-0.86/abs(z) endif elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) if @JM=="J" z=0.2*sqr(z) else z=-2*sqr(z) endif elseif @Va=="4" if @JM=="J" if real(z)>imag(z) z=flip(z) endif else if real(z)@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Cozyk" 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""9" endparam param p1 caption="Cozyk Parameter 1" default=(-0.15,0) endparam param p2 caption="Cozyk 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="C Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Möbius Parameter 1" default=(0,0) endparam param p11 caption="Möbius Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Flega { init: a=pixel if @S=="1" z=a elseif @S=="2" z=a-(sqr(a)-1i)/(2*a) elseif @S=="3" z=a-(a^3-1i)/(3*sqr(a)) elseif @S=="4" z=a-(a^4-1i)/(4*a^3) elseif @S=="5" z=a-(2*a)/(sqr(a)-1i) elseif @S=="6" z=a-(3*sqr(a))/(a^3-1i) elseif @S=="7" z=a-(4*a^3)/(a^4-1i) elseif @S=="8" z=a-(2*a)/(sqr(a)-1) elseif @S=="9" z=a-(3*sqr(a))/(a^3-1) elseif @S=="10" z=a-(4*a^3)/(a^4-1) elseif @S=="11" z=(a-1i)/(a+1i) elseif @S=="12" z=a+(a-1i)/(a+1i) elseif @S=="13" z=sqr(a)*(a-2)/(1-2*a) elseif @S=="14" z=sqr(a)*(a-0.5)/(1-0.5*a) elseif @S=="15" z=sqr(a)*(a-2)/(1i-2*a) elseif @S=="16" z=sqr(a)*(a-0.5)/(1i-0.5*a) elseif @S=="17" z=a+((a^2-2)/(2*a-3))^2 elseif @S=="18" z=a+((a^2+2)/(2*a+1))^2 elseif @S=="19" z=((a^2-1-1i)/(2*a-1-2*1i))^2 elseif @S=="20" z=((a^2+3-1i)/(2*a+3-2*1i))^2 elseif @S=="21" z=a+(sqr(a)-1)/(2*a) elseif @S=="22" z=a+(a^3-1)/(3*sqr(a)) elseif @S=="23" z=a+(a^4-1)/(4*a^3) elseif @S=="24" z=a+sqr(a)+1i elseif @S=="25" z=a+a^3+1i elseif @S=="26" z=a-sqr(a)+1i elseif @S=="27" z=a-a^3+1i endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-@p10)/(1-@p10*z) z=z/(@p11*z+1) z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z z=z^2*(z+p2)/(1+p2*z) z=2*z*(z^2+p1*fn3(pixel))/(z^2-p1*fn3(pixel))+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Flega" center=(0.001,0.001) periodicity=0 param S caption="Start" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Flega Parameter 1" default=(1,0) endparam param p2 caption="Flega Parameter 2" default=(9.5,0) endparam param p3 caption="Flega Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p10 caption="Möbius Parameter 1" default=(0,0) endparam param p11 caption="Möbius Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=10.0 visible=@bt==1 endparam } Flega2 { init: a=pixel if @S=="1" z=a elseif @S=="2" z=a-(sqr(a)-1i)/(2*a) elseif @S=="3" z=a-(a^3-1i)/(3*sqr(a)) elseif @S=="4" z=a-(a^4-1i)/(4*a^3) elseif @S=="5" z=a-(2*a)/(sqr(a)-1i) elseif @S=="6" z=a-(3*sqr(a))/(a^3-1i) elseif @S=="7" z=a-(4*a^3)/(a^4-1i) elseif @S=="8" z=a-(2*a)/(sqr(a)-1) elseif @S=="9" z=a-(3*sqr(a))/(a^3-1) elseif @S=="10" z=a-(4*a^3)/(a^4-1) elseif @S=="11" z=(a-1i)/(a+1i) elseif @S=="12" z=a+(a-1i)/(a+1i) elseif @S=="13" z=sqr(a)*(a-2)/(1-2*a) elseif @S=="14" z=sqr(a)*(a-0.5)/(1-0.5*a) elseif @S=="15" z=sqr(a)*(a-2)/(1i-2*a) elseif @S=="16" z=sqr(a)*(a-0.5)/(1i-0.5*a) elseif @S=="17" z=a+((a^2-2)/(2*a-3))^2 elseif @S=="18" z=a+((a^2+2)/(2*a+1))^2 elseif @S=="19" z=((a^2-1-1i)/(2*a-1-2*1i))^2 elseif @S=="20" z=((a^2+3-1i)/(2*a+3-2*1i))^2 elseif @S=="21" z=a+(sqr(a)-1)/(2*a) elseif @S=="22" z=a+(a^3-1)/(3*sqr(a)) elseif @S=="23" z=a+(a^4-1)/(4*a^3) elseif @S=="24" z=a+sqr(a)+1i elseif @S=="25" z=a+a^3+1i elseif @S=="26" z=a-sqr(a)+1i elseif @S=="27" z=a-a^3+1i endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-@p10)/(1-@p10*z) z=z/(@p11*z+1) z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z z=z^2*(z+p2)/(1+p2*z) if @JM=="J" z=(z^2+fn3(p1))/(z+sqrt(fn3(p1)))+(z^2+fn3(p1))/(z-sqrt(fn3(p1)))+p3 else z=(z^2+fn3(pixel))/(z+sqrt(fn3(p1)))+(z^2+fn3(pixel))/(z-sqrt(fn3(p1)))+p3 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Flega 2" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param S caption="Start" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Flega Parameter 1" default=(1,0) endparam param p2 caption="Flega Parameter 2" default=(9.5,0) endparam param p3 caption="Flega Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p10 caption="Möbius Parameter 1" default=(0,0) endparam param p11 caption="Möbius Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } FME { ; Based on a formula from Roger Bagula ; http://www.archivum.info/sci.fractals/2006-09/00067/I-get-a-strange-nearly-linear-cut-off.html init: a=pixel if @S=="1" z=a elseif @S=="2" z=a-(sqr(a)-1i)/(2*a) elseif @S=="3" z=a-(a^3-1i)/(3*sqr(a)) elseif @S=="4" z=a-(a^4-1i)/(4*a^3) elseif @S=="5" z=a-(2*a)/(sqr(a)-1i) elseif @S=="6" z=a-(3*sqr(a))/(a^3-1i) elseif @S=="7" z=a-(4*a^3)/(a^4-1i) elseif @S=="8" z=a-(2*a)/(sqr(a)-1) elseif @S=="9" z=a-(3*sqr(a))/(a^3-1) elseif @S=="10" z=a-(4*a^3)/(a^4-1) elseif @S=="11" z=(a-1i)/(a+1i) elseif @S=="12" z=a+(a-1i)/(a+1i) elseif @S=="13" z=sqr(a)*(a-2)/(1-2*a) elseif @S=="14" z=sqr(a)*(a-0.5)/(1-0.5*a) elseif @S=="15" z=sqr(a)*(a-2)/(1i-2*a) elseif @S=="16" z=sqr(a)*(a-0.5)/(1i-0.5*a) elseif @S=="17" z=a+((a^2-2)/(2*a-3))^2 elseif @S=="18" z=a+((a^2+2)/(2*a+1))^2 elseif @S=="19" z=((a^2-1-1i)/(2*a-1-2*1i))^2 elseif @S=="20" z=((a^2+3-1i)/(2*a+3-2*1i))^2 elseif @S=="21" z=a+(sqr(a)-1)/(2*a) elseif @S=="22" z=a+(a^3-1)/(3*sqr(a)) elseif @S=="23" z=a+(a^4-1)/(4*a^3) elseif @S=="24" z=a+sqr(a)+1i elseif @S=="25" z=a+a^3+1i elseif @S=="26" z=a-sqr(a)+1i elseif @S=="27" z=a-a^3+1i endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-@p10)/(1-@p10*z) z=z/(@p11*z+1) z=z+p6/z z=fn3(p1)*z*(z^2-2*z+1)/(z^3-z^2-2*z+1)+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="FME" center=(0.001,0.001) periodicity=0 param S caption="Start" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="FME Parameter 1" default=(2.25,0) endparam param p2 caption="FME Parameter 2" default=(0,0) endparam func fn3 caption="C Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p10 caption="Möbius Parameter 1" default=(0,0) endparam param p11 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Benka { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel+pixel^2+pixel^3 elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-@p10)/(1-@p10*z) z=z/(@p11*z+1) z=z+p5*z*(1-z) z=z+p6/z if @JM=="J" if @Va=="None" z=z elseif @Va=="1" z=z^2*(sin(z)+4.4)/(1+4.4*sin(z)) elseif @Va=="2" z=z^2*(z-18.21)/(1-18.21*z) elseif @Va=="3" z=z^2*(z-14.665)/(1-14.665*z) elseif @Va=="4" z=(sqr(z)-0.55)/(1-0.55*sqr(z)) elseif @Va=="5" z=z+0.4/cotanh(z) elseif @Va=="6" z=z-0.1/exp(z) endif else if @Va=="None" z=z elseif @Va=="1" z=z+z^2*(exp(z)-1.24)/(1-1.24*exp(z)) elseif @Va=="2" z=z+z^2*(sqr(z)-0.84)/(1-0.84*sqr(z)) elseif @Va=="3" z=z+(sqr(z)-0.8)/(1-0.8*sqr(z)) elseif @Va=="4" z=(z+0.3)/(1+0.3*z) elseif @Va=="5" z=z+0.25/z elseif @Va=="6" z=z-0.9/cosh(z) endif endif if @JM=="J" a=z^2+fn3(p1) z=a+p2*(a^2+fn3(p1)-2*a+z)+p3 else a=z^2+p1*fn3(pixel) z=a+p2*(a^2+p1*fn3(pixel)-2*a+z)+p3 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Benka" 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" default=3 endparam param S caption="Start" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Benka Parameter 1" default=(-1,0) endparam param p2 caption="Benka Parameter 2" default=(0.5,0) endparam param p3 caption="Benka Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() endfunc param p10 caption="Möbius Parameter 1" default=(0,0) endparam param p11 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Knubin { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel+pixel^2+pixel^3 elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-@p10/20)/(1-@p10*z/20) z=z/(@p11*z/20+1) z=z+p5*z*(1-z)/10 z=z+p6/z if @Va=="None" z=z elseif @Va=="1" z=z-(z^3-1)/(3*z^2) elseif @Va=="2" z=z+0.4/cotanh(z) elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="5" z=z+(recip(z)-1i)/(recip(z)+1i) elseif @Va=="6" z=z-0.5*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="7" z=z^2*(z-14.665)/(1-14.665*z) elseif @Va=="8" z=z-(cabs(z)^3-1)/(3*cabs(z)^2) elseif @Va=="9" z=z+z^2*(z-22)/(1-22*z) elseif @Va=="10" if |z|<1 z=z/|z| endif z=0.65*abs(z) elseif @Va=="11" if |z|<1 z=z/|z| endif z=0.55*z elseif @Va=="12" if |z|<1 z=z/|z| endif z=-5.92*abs(z) elseif @Va=="13" if |z|<1 z=z/|z| endif z=-5.5*recip(z) elseif @Va=="14" z=z+z^2*(abs(z)-8.65)/(1-8.65*abs(z)) elseif @Va=="15" z=z^2*(sqr(z)-56)/(1-56*sqr(z)) elseif @Va=="16" z=z^2*(sqr(z)-78)/(1-78*sqr(z)) endif z=((fn3(p1)^3-z^3)/(z*fn3(p1)^2-fn3(p1)*z^2))^2+p2 bailout: |zold-z|>@bail default: title="Knubin" center=(0.001,0.001) periodicity=0 param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16" endparam param S caption="Start" 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" default=10 endparam func fn1 caption="Start Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Knubin Parameter 1" default=(5.5,0) endparam param p2 caption="Knubin Parameter 2" default=(0,0) endparam func fn3 caption="C Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p10 caption="Möbius Parameter 1" default=(0,0) endparam param p11 caption="Möbius Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000000000001 endparam } Descakka { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(tan(pixel)^4-1i)/(4*tan(pixel)^3) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel-2.2*(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @s=="29" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @s=="30" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @s=="31" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @s=="32" z=sqr(pixel)*(sinh(pixel)+1)/(1i+sinh(pixel)) elseif @s=="33" z=pixel+pixel^2+pixel^3 elseif @s=="34" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @s=="35" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @s=="36" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @s=="37" z=pixel-(cotan(pixel)^4-1i)/(4*cotan(pixel)^3) elseif @s=="38" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @s=="39" z=pixel-(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @s=="40" z=pixel-4.6*(pixel^4-1i)/(4*pixel^3) elseif @s=="41" z=pixel-4.6*(tan(pixel)^4-1i)/(4*tan(pixel)^3) endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=z+p5*z*(1-z)/10 z=z+p6/z z=z-(z^3-1)/(3*z^2) if @JM=="J" z=exp(1i*fn3(p1))*z^2*(z^5-z^4-z^3+z^2-p2)/(-z^5+z^3-z^2-z+p2)+p3 else z=exp(1i*p1*fn3(pixel))*z^2*(z^5-z^4-z^3+z^2-p2)/(-z^5+z^3-z^2-z+p2)+p3 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Descakka" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param S caption="Start" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Descakka Parameter 1" default=(0,1) endparam param p2 caption="Descakka Parameter 2" default=(1,0) endparam param p3 caption="Descakka Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=10.0 visible=@bt==1 endparam } EnowuJ { init: if @S=="1" z=pixel elseif @S=="2" z=pixel if |z|>1 z=z/|z| endif elseif @S=="3" z=((sqr(pixel)+1-1i)/(2*pixel+1-2i))^2 elseif @S=="4" z=pixel if real(z)imag(z) z=flip(z) endif elseif @s=="64" z=pixel-(exp(pixel)^3-1)/(3*exp(pixel)^2) elseif @s=="65" z=pixel+pixel^2*(exp(pixel)-2*1i)/(1i-2*exp(pixel)) elseif @s=="66" z=(sqr(cotanh(pixel))/(2*cotanh(pixel)-1))^2 endif z=fn1(z) c=fn3(p3) loop: zold=z z=@p8*fn2(z)+@p9 z=z+p5*z*(1-z)/10 z=z+p6/z c=p1*c*(c^2-p2) z=p1*z*(p2-z^2)+c bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Enowu J" center=(0.001,0.001) periodicity=0 param S caption="Start" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Enowu Parameter 1" default=(1,0) endparam param p2 caption="Enowu Parameter 2" default=(1.3,0) endparam param p3 caption="Enowu Parameter 3" default=(1,0) endparam func fn3 caption="C Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } EnowuM { init: if @S=="1" z=pixel elseif @S=="2" z=pixel-0.3*pixel*(1i-recip(pixel)) elseif @S=="3" z=((sqr(pixel)+1-1i)/(2*pixel+1-2i))^2 elseif @S=="4" z=pixel-0.65*exp(pixel) elseif @S=="5" z=((sqr(exp(pixel))-0.3-1i)/(2*exp(pixel)-0.3-2i))^2 elseif @S=="6" z=-0.3*(pixel-1i)/(pixel+1i) elseif @S=="7" z=(abs(pixel)-1i)/(abs(pixel)+1i) elseif @S=="8" z=pixel+((sqr(cotan(pixel))-0.3-1i)/(2*cotan(pixel)-0.3-2i))^2 elseif @S=="9" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="10" z=pixel+0.3*(pixel-1i)/(pixel+1i) elseif @S=="11" z=pixel if |z|>1 z=z/|z| endif elseif @S=="12" z=pixel+((sqr(pixel)+1-1i)/(2*pixel+1-2i))^2 elseif @S=="13" z=pixel-0.5*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="14" z=pixel+0.3*(cotanh(pixel)-1i)/(cotanh(pixel)+1i) elseif @S=="15" z=pixel+0.5/exp(pixel) elseif @S=="16" z=pixel-(cosh(pixel)^3-1)/(3*cosh(pixel)^2) elseif @S=="17" z=((sqr(cotan(pixel))-0.3-1i)/(2*cotan(pixel)-0.3-2i))^2 elseif @S=="18" z=pixel+0.35*pixel*(1i-cosh(pixel)) elseif @S=="19" z=pixel-(exp(pixel)^3-1i)/(3*exp(pixel)^2) elseif @S=="20" z=((sqr(sinh(pixel))+1-1i)/(2*sinh(pixel)+1-2i))^2 elseif @S=="21" z=pixel-(cos(pixel)^3-1i)/(3*cos(pixel)^2) elseif @S=="22" z=pixel+((sqr(sinh(pixel))-0.3-1i)/(2*sinh(pixel)-0.3-2i))^2 elseif @S=="23" z=pixel+pixel^2*(recip(pixel)-2*1i)/(1i-2*recip(pixel)) elseif @S=="24" z=pixel+pixel^2*(pixel-2*1i)/(1i-2*pixel) elseif @S=="25" z=((sqr(exp(pixel))+1-1i)/(2*exp(pixel)+1-2i))^2 elseif @s=="26" z=pixel+pixel^2*(sqr(pixel)-2*1i)/(1i-2*sqr(pixel)) elseif @s=="27" z=pixel+pixel^2*(exp(pixel)+0.5*1i)/(1i+0.5*exp(pixel)) elseif @s=="28" z=pixel+pixel^2*(sqr(pixel)+0.5*1i)/(1i+0.5*sqr(pixel)) elseif @s=="29" z=pixel+0.3*pixel*(1i-cotan(pixel)) elseif @s=="30" z=pixel-0.5*tanh(pixel) elseif @s=="31" z=pixel-0.5*tan(pixel) elseif @s=="32" z=pixel+1i*tanh(pixel) elseif @s=="33" z=-2.5*(cosh(pixel)^2-1)/(2*cosh(pixel)) elseif @s=="34" z=(sqr(abs(pixel))/(2*abs(pixel)-1))^2 elseif @s=="35" z=(sqr(exp(pixel))/(2*exp(pixel)-1))^2 elseif @s=="36" z=((sqr(sinh(pixel))-0.3-1i)/(2*sinh(pixel)-0.3-2i))^2 elseif @s=="37" z=(sqr(sin(pixel))/(2*sin(pixel)-1))^2 elseif @s=="38" z=pixel+0.3i elseif @s=="39" z=1i*sqr(pixel) elseif @s=="40" z=-0.3*pixel*(1i-pixel) elseif @s=="41" z=pixel+((sqr(recip(pixel))-2)/(2*recip(pixel)-3))^2 elseif @s=="42" z=pixel+((sqr(cos(pixel))-0.3-1i)/(2*cos(pixel)-0.3-2i))^2 elseif @s=="43" z=-0.3*pixel*(1i-1/pixel) elseif @s=="44" z=pixel-(cosh(pixel)^3-1i)/(3*cosh(pixel)^2) elseif @s=="45" z=((sqr(pixel)-0.3-1i)/(2*pixel-0.3-2i))^2 elseif @s=="46" z=pixel-0.35*(exp(pixel)-1i)/(exp(pixel)+1i) elseif @s=="47" z=pixel+((sqr(pixel)-0.3-1i)/(2*pixel-0.3-2i))^2 elseif @s=="48" z=pixel+((sqr(sqr(pixel))-0.3-1i)/(2*sqr(pixel)-0.3-2i))^2 elseif @s=="49" z=pixel+0.5*cotan(pixel) elseif @s=="50" z=((sqr(sqr(pixel))+1-1i)/(2*sqr(pixel)+1-2i))^2 elseif @s=="51" z=(sqr(pixel)/(2*pixel-1))^2 elseif @s=="52" z=((sqr(cos(pixel))-0.3-1i)/(2*cos(pixel)-0.3-2i))^2 elseif @s=="53" z=-0.55*pixel*(1i-cos(pixel)) elseif @s=="54" z=pixel+((sqr(cos(pixel))+1-1i)/(2*cos(pixel)+1-2i))^2 elseif @s=="55" z=((sqr(cos(pixel))+1-1i)/(2*cos(pixel)+1-2i))^2 elseif @s=="56" z=pixel^2*(exp(pixel)-2*1i)/(1i-2*exp(pixel)) elseif @s=="57" z=pixel+((sqr(sqr(pixel))+1-1i)/(2*sqr(pixel)+1-2i))^2 elseif @s=="58" z=0.5*pixel*(1i-sin(pixel)) elseif @s=="59" z=pixel+0.3*pixel*(1i-exp(pixel)) elseif @s=="60" z=((sqr(sqr(pixel))-0.3-1i)/(2*sqr(pixel)-0.3-2i))^2 elseif @s=="61" z=((sqr(exp(pixel))+1)/(2*exp(pixel)))^2 elseif @s=="62" z=((sqr(recip(pixel))+1-1i)/(2*recip(pixel)+1-2i))^2 elseif @s=="63" z=pixel if real(z)>imag(z) z=flip(z) endif elseif @s=="64" z=pixel-(exp(pixel)^3-1)/(3*exp(pixel)^2) elseif @s=="65" z=pixel+pixel^2*(exp(pixel)-2*1i)/(1i-2*exp(pixel)) endif z=fn1(z) c=p3*@fn3(pixel) loop: zold=z z=@p8*fn2(z)+@p9 z=z+p5*z*(1-z)/10 z=z+p6/z c=p1*c*(c^2-p2) z=p1*z*(p2-z^2)+c bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Enowu M" center=(0.001,0.001) periodicity=0 param S caption="Start" 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 func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Enowu Parameter 1" default=(1,0) endparam param p2 caption="Enowu Parameter 2" default=(1.3,0) endparam param p3 caption="Enowu Parameter 3" default=(1,0) endparam func fn3 caption="C Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } Sterlan { init: if @S=="1" z=pixel elseif @S=="2" z=(pixel-1i)/(pixel+1i) elseif @S=="3" z=(1/pixel-1i)/(1/pixel+1i) elseif @S=="4" z=(exp(pixel)-1i)/(exp(pixel)+1i) elseif @S=="5" z=pixel+(pixel-1i)/(pixel+1i) elseif @S=="6" z=pixel+(1/pixel-1i)/(1/pixel+1i) elseif @S=="7" z=pixel+(exp(pixel)-1i)/(exp(pixel)+1i) elseif @S=="8" z=-(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="9" z=-1.5*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="10" z=-2*(sqr(pixel)-1i)/(sqr(pixel)+1i)+sin(pixel) elseif @S=="11" z=pixel-(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="12" z=pixel-2*(sqr(pixel)-1i)/(sqr(pixel)+1i)+0.3*cotanh(pixel) elseif @S=="13" z=-(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="14" z=-2*(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="15" z=pixel-(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="16" z=pixel-2*(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="17" z=pixel-(recip(pixel)^3-1)/(3*recip(pixel)^2) elseif @S=="18" z=pixel-(cotanh(pixel)^3-1)/(3*cotanh(pixel)^2) elseif @S=="19" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="20" z=pixel-(cos(pixel)^3-1i)/(3*cos(pixel)^2) elseif @S=="21" z=pixel-(sin(pixel)^3-1i)/(3*sin(pixel)^2) elseif @S=="22" z=pixel-(sinh(pixel)^3-1i)/(3*sinh(pixel)^2) elseif @S=="23" z=pixel-(recip(pixel)^3-1i)/(3*recip(pixel)^2) elseif @S=="24" z=pixel-2*(cotanh(pixel)^3-1i)/(3*cotanh(pixel)^2) elseif @S=="25" z=pixel-2*(tan(pixel)^3-1i)/(3*tan(pixel)^2) endif z=fn1(z) 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/z if @Va=="None" z=z elseif @Va=="1" z=z-(cosh(z)^3-1)/(3*cosh(z)^2) if @JM=="M" z=z+0.4*sqr(z) endif elseif @Va=="2" z=z-0.3*sqr(z) elseif @Va=="3" z=z+0.3*sqr(z) elseif @Va=="4" z=z-0.3*tanh(z) elseif @Va=="5" z=z-0.3*tan(z) elseif @Va=="6" z=z-0.3*cos(z) elseif @Va=="7" z=z+0.3*cos(z) if @JM=="M" z=0.8*z endif elseif @Va=="8" z=z-0.3*cosh(z) elseif @Va=="9" z=z+0.3*cosh(z) elseif @Va=="10" z=z-0.3*sin(z) elseif @Va=="11" z=z-0.3*sinh(z) elseif @Va=="12" z=z-0.3*exp(z) elseif @Va=="13" z=1.115*recip(z+1/z) elseif @Va=="14" z=0.56*(z+1/z) elseif @Va=="15" z=(z^2+0.3)/(z+1) elseif @Va=="16" z=(flip(z)^2+0.3)/(flip(z)+1) elseif @Va=="17" z=z+(cotan(z)+1)/(cotan(z)^2+30) elseif @Va=="18" z=z+(cotan(z)+1)/(cotan(z)^2-30) elseif @Va=="19" z=z+(sin(z)+1)/(sin(z)^2-3) elseif @Va=="20" z=z+(cosh(z)^2-1.25)/(cosh(z)+1.25) elseif @Va=="21" if |z|>1 z=z/|z| endif if @JM=="M" z=0.75*flip(z) endif elseif @Va=="22" if real(z)>imag(z) z=flip(z) endif elseif @Va=="23" z=((z^2-2.75)/(2*z-3.75))^2 elseif @Va=="24" z=((conj(z)^2-2)/(2*conj(z)-3))^2 elseif @Va=="25" z=((sqr(z)^2-1.3)/(2*sqr(z)-2.3))^2 elseif @Va=="26" z=sqr(flip(z)^2-0.385)/(2*flip(z)+0.385) elseif @Va=="27" z=z+sqr(cos(z)^2-0.65)/(2*cos(z)+0.65) elseif @Va=="28" z=z+sqr(cosh(z)^2-1.3)/(2*cosh(z)+1.3) elseif @Va=="29" z=z+sqr(exp(z)^2-0.85)/(2*exp(z)+0.85) endif if @JM=="J" z=exp(p1)*z^2*(sin(z)^2+1/z-fn3(p2))/(sin(z)^2-1/z+fn3(p2))+p3 else z=exp(p1)*z^2*(sin(z)^2+1/z-p2*fn3(pixel))/(sin(z)^2-1/z+p2*fn3(pixel))+p3 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Sterlan" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param S caption="Start" 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" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Sterlan Parameter 1" default=(1,0) endparam param p2 caption="Sterlan Parameter 2" default=(1,0) endparam param p3 caption="Sterlan Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() 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 param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } Wreno { init: if @S=="1" z=pixel elseif @S=="2" z=(pixel-1i)/(pixel+1i) elseif @S=="3" z=(1/pixel-1i)/(1/pixel+1i) elseif @S=="4" z=(exp(pixel)-1i)/(exp(pixel)+1i) elseif @S=="5" z=pixel+(pixel-1i)/(pixel+1i) elseif @S=="6" z=pixel+(1/pixel-1i)/(1/pixel+1i) elseif @S=="7" z=pixel+(exp(pixel)-1i)/(exp(pixel)+1i) elseif @S=="8" z=-(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="9" z=-1.5*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="10" z=-2*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="11" z=pixel-(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="12" z=pixel-2*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=-(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="14" z=-2*(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="15" z=pixel-(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="16" z=pixel-2*(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="17" z=pixel-(recip(pixel)^3-1)/(3*recip(pixel)^2) elseif @S=="18" z=pixel-(cotanh(pixel)^3-1)/(3*cotanh(pixel)^2) elseif @S=="19" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="20" z=pixel-(cos(pixel)^3-1i)/(3*cos(pixel)^2) elseif @S=="21" z=pixel-(sin(pixel)^3-1i)/(3*sin(pixel)^2) elseif @S=="22" z=pixel-(sinh(pixel)^3-1i)/(3*sinh(pixel)^2) elseif @S=="23" z=pixel-(recip(pixel)^3-1i)/(3*recip(pixel)^2) elseif @S=="24" z=pixel-2*(cotanh(pixel)^3-1i)/(3*cotanh(pixel)^2) elseif @S=="25" z=pixel-2*(tan(pixel)^3-1i)/(3*tan(pixel)^2) endif z=fn1(z) 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/z if @Va=="None" z=z elseif @Va=="1" z=(z-1i)/(z+1i) elseif @Va=="2" z=2*cotanh((z-1i)/(z+1i)) elseif @Va=="3" z=1.5*(z-1i)/(z+1i) elseif @Va=="4" z=-0.465*flip((z-1i)/(z+1i)) elseif @Va=="5" z=z-0.3*tan(z) elseif @Va=="6" z=-0.75*(recip(z)-1i)/(recip(z)+1i) elseif @Va=="7" z=0.5*(z-1i)/(z+1i) elseif @Va=="8" z=2*cotan((z-1i)/(z+1i)) elseif @Va=="9" z=1i*z-0.3*1i/z elseif @Va=="10" z=0.4*(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="11" z=z-0.3*sinh(z) elseif @Va=="12" z=(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="13" z=1.115*recip(z+1/z) elseif @Va=="14" z=2*(z-1i)/(z+1i) elseif @Va=="15" z=0.75*(z-1i)/(z+1i) elseif @Va=="16" z=1.75*(z-1i)/(z+1i) elseif @Va=="17" if |z|>1 z=z/|z| endif elseif @Va=="18" z=-1.35*z*(recip(z)+1i)*(recip(z)^2+1i) elseif @Va=="19" z=z-1i/sqr(z) elseif @Va=="20" z=-0.3*1i*sqr(z)+1i/z elseif @Va=="21" z=2*1i/z elseif @Va=="22" z=z+1i/sqr(z) elseif @Va=="23" z=1i*z+0.3*1i/z elseif @Va=="24" z=z+1i*z endif z=p2*(z+1/z) if real(z)>imag(z) z=flip(z) endif if real(z)>imag(z) z=(z-1)^2/fn3(p1) else z=(z+1)^2/conj(fn3(p1)) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Wreno" center=(0.001,0.001) periodicity=0 magn=0.5 param S caption="Start" 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" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Wreno Parameter 1" default=(1,0) endparam param p2 caption="Wreno Parameter 2" default=(0.5,0) endparam func fn3 caption="C Function" default=ident() 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 param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Vurgulsnat { init: if @S=="1" z=pixel elseif @s=="2" z=-2.2*(exp(pixel)-1i)/(exp(pixel)+1i) elseif @s=="3" z=exp(pixel) if |z|<1 z=z/|z| endif elseif @s=="4" if real(pixel)>imag(pixel) z=flip(pixel) else z=pixel endif z=cos(z) elseif @s=="5" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-5*z elseif @s=="6" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=2.75*exp(z) elseif @s=="7" z=pixel-(sin(pixel)-1i)/(sin(pixel)+1i) elseif @s=="8" z=-2.25*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @s=="9" z=pixel+(tan(pixel)-1i)/(tan(pixel)+1i) elseif @s=="10" z=pixel+(cotanh(pixel)-1i)/(cotanh(pixel)+1i) elseif @s=="11" z=pixel+3.35*(cotanh(pixel)-1i)/(cotanh(pixel)+1i) elseif @s=="12" z=pixel-(tan(pixel)-1i)/(tan(pixel)+1i) elseif @s=="13" z=2.25*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @s=="14" z=sqr(pixel) if |z|<1 z=z/|z| endif elseif @s=="15" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-2.75*exp(z) elseif @s=="16" z=pixel-4.45*(cos(pixel)-1i)/(cos(pixel)+1i) elseif @s=="17" z=pixel-(tanh(pixel)-1i)/(tanh(pixel)+1i) elseif @s=="18" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=5*tan(z) elseif @s=="19" z=pixel+(cotan(pixel)-1i)/(cotan(pixel)+1i) elseif @s=="20" z=1.5*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @s=="21" z=pixel-(cotan(pixel)-1i)/(cotan(pixel)+1i) elseif @s=="22" z=-3*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @s=="23" z=9*(pixel-1i)/(pixel+1i) elseif @s=="24" z=cos(pixel) if |z|<1 z=z/|z| endif elseif @s=="25" z=pixel+(cos(pixel)-1i)/(cos(pixel)+1i) elseif @s=="26" z=3*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @s=="27" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-4*abs(z) elseif @s=="28" z=pixel+(pixel-1i)/(pixel+1i) elseif @s=="29" z=3.65*(pixel-1i)/(pixel+1i) elseif @s=="30" z=pixel+(sinh(pixel)-1i)/(sinh(pixel)+1i) elseif @s=="31" z=sinh(pixel) if |z|<1 z=z/|z| endif elseif @s=="32" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=4*exp(z) elseif @s=="33" z=pixel+(tanh(pixel)-1i)/(tanh(pixel)+1i) elseif @s=="34" z=3.1275*tan(pixel) if |z|<1 z=z/|z| endif elseif @s=="35" z=pixel+(exp(pixel)-1i)/(exp(pixel)+1i) elseif @s=="36" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-6*sqr(z) elseif @s=="37" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=5*tanh(z) elseif @s=="38" z=-1.5*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @s=="39" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=3.9*cos(z) elseif @s=="40" z=pixel-4.45*(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @s=="41" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=5*abs(z) elseif @s=="42" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-3.25*z elseif @s=="43" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=z-0.595*exp(z) elseif @s=="44" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-1.5*(z+1/z) elseif @s=="45" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=6*recip(z+1/z) elseif @s=="46" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-3.785*cotanh(z+1/z) elseif @s=="47" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-3.25*cotan(z+1/z) elseif @s=="48" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=sqr(z+1i/z) elseif @s=="49" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=8.5*recip(z+1i/z) elseif @s=="50" if |pixel|>1 z=pixel/|pixel| else z=pixel endif z=-4*cotanh((z-1i)/(z+1i)) endif z=fn1(z) loop: zold=z z=p3*z+p4 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @Va=="none" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif elseif @Va=="2" z=-sqr(z) elseif @Va=="3" z=sinh(z) elseif @Va=="4" z=-1*z^2*(recip(z)-1i)/(1-1i*recip(z)) elseif @Va=="5" z=conj(z) elseif @Va=="6" z=z-1i*exp(z) elseif @Va=="7" z=z+0.5*1i*sqr(z) elseif @Va=="8" z=z+0.5*1i*cos(z) elseif @Va=="9" z=z+exp(z) elseif @Va=="10" z=z-sqr(z) elseif @Va=="11" z=z-0.5*sqr(z) elseif @Va=="12" z=z^2*(z-1i)/(1-1i*z) elseif @Va=="13" z=-1*z^2*(z-1i)/(1-1i*z) elseif @Va=="14" if |z|>1 z=z/|z| endif z=1/z elseif @Va=="15" if |z|>1 z=z/|z| endif z=1/tan(z) elseif @Va=="16" if |z|>1 z=z/|z| endif z=1/sinh(z) elseif @Va=="17" if |z|>1 z=z/|z| endif z=1/sin(z) elseif @Va=="18" if real(z)>imag(z) z=flip(z) endif z=z+0.5/z elseif @Va=="19" if real(z)>imag(z) z=flip(z) endif z=z+0.3/cosh(z) elseif @Va=="20" if real(z)>imag(z) z=flip(z) endif z=z+0.3/sin(z) elseif @Va=="21" if |z|<1 z=z/|z| endif z=z+exp(z) elseif @Va=="22" if |z|<1 z=z/|z| endif z=z+cos(z) elseif @Va=="23" if |z|<1 z=z/|z| endif z=z+0.5*cos(z) elseif @Va=="24" if |z|<1 z=z/|z| endif z=0.7*z elseif @Va=="25" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=flip(z) elseif @Va=="26" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=cotanh(z) elseif @Va=="27" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-sqr(z) elseif @Va=="28" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-1.75*z elseif @Va=="29" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-3.8/z elseif @Va=="30" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=1.5/z elseif @Va=="31" if |z|>1 z=z/|z| endif z=-1/sqr(z) elseif @Va=="32" if |z|>1 z=z/|z| endif z=-1.5/sqr(z) endif z=p5*fn3((z-p1*1i)/(1i-p1*1i*z))^2+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Vurgulsnat" center=(0.001,0.001) periodicity=0 magn=0.5 param S caption="Start" 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 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" endparam param p1 caption="Vurgul Parameter 1" default=(-1,0) endparam param p2 caption="Vurgul Parameter 2" default=(0,0) endparam param p5 caption="Vurgul Parameter 3" 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 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="Vurgul Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Amrang { init: if @S=="Pixel" z=pixel elseif @S=="Amrang" z=pixel^2*((1+p4^2)*pixel+2*p4)/(2*p4*pixel+(1+p4^2)) elseif @S=="Newton" z=pixel-p4*(pixel^3-1)/(3*pixel^2) elseif @S=="Flipper" if real(pixel)>imag(pixel) z=flip(pixel) else z=pixel endif z=p4*z elseif @S=="Cayley" z=p4*(pixel-1i)/(pixel+1i) elseif @S=="Magnet" z=((sqr(pixel)+p4-1)/(2*pixel+p4-2))^2 elseif @S=="Magnet Mod" z=((sqr(pixel)+p4-1i)/(2*pixel+p4-2i))^2 elseif @S=="Add Recip" z=pixel+p4*recip(pixel) endif z=fn1(z) loop: zold=z z=fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @Va=="None" z=z elseif @Va=="Newton" z=z-p5*(z^3-1)/(3*z^2) elseif @Va=="Newton 2" z=z-p5*(z^4-1i)/(4*z^3) elseif @Va=="Newton 3" z=z-p5*(z^5-1i-1)/(5*z^4) elseif @Va=="Magnet" z=((sqr(z)+(p5+0.5)-1)/(2*z+(p5+0.5)-2))^2 elseif @Va=="Magnet 2" z=((z^3+3*((p5+1.3)-1)*z+((p5+1.3)-1)*((p5+1.3)-2))/(3*z^2+3*((p5+1.3)-2)*z+((p5+1.3)-1)*((p5+1.3)-2)+1))^2 elseif @Va=="Munster" z=z^2*(z-(p5+1))/(1-(p5+1)*z) elseif @Va=="Munster Mod" z=z^2*(z-(p5+9))/(1i-(p5+9)*z) elseif @Va=="Add Cotan" z=z+p5*cotan(z) endif z=p2*z^2*((1+p1^2)*z+2*p1)/(2*p1*z+(1+p1^2))+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Amrang" center=(0.001,0.001) periodicity=0 param S caption="Start" enum="Pixel""Amrang""Newton""Flipper""Cayley""Magnet""Magnet Mod""Add Recip" endparam param p4 caption="Start Param" default=(1,0) visible=@S!="Pixel" endparam func fn1 caption="Start Func" default=ident() endfunc param p1 caption="Amrang Param 1" default=(1,1) endparam param p2 caption="Amrang Param 2" default=(1,0) endparam param p3 caption="Amrang Param 3" default=(0,0) endparam param Va caption="Mod" enum="None""Newton""Newton 2""Newton 3""Magnet""Magnet 2""Munster""Munster Mod""Add Cotan" endparam param p5 caption="Mod Param" default=(1,0) visible=@Va!="None" endparam param p6 caption="Möbius 1" default=(0,0) endparam param p10 caption="Möbius 2" default=(0,0) endparam param p8 caption="Quasi-Logistic" default=(0,0) endparam func fn2 caption="Loop Func" default=ident() endfunc param bt caption="Bail Type" enum="Convergent""Divergent" endparam param bailcon caption="Bail" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bail" default=100.0 visible=@bt==1 endparam } Cymado { init: if @S=="1" z=pixel elseif @S=="2" z=z+4.67313*(pixel^3-1i)/(3*pixel^2) elseif @S=="3" z=z-3.2*1i*(pixel^3-1)/(3*pixel^2) elseif @S=="4" z=z-3*1i*(pixel^3-1i)/(3*pixel^2) elseif @S=="5" z=z+4.4*1i*(pixel^3-1i)/(3*pixel^2-1i) elseif @S=="6" z=z-4.4*(pixel^3-1)/(3*pixel^2-1i) elseif @S=="7" z=z+4*(pixel^3-1)/(3*pixel^2) elseif @S=="8" z=z-(recip(pixel)^3-1)/(3*recip(pixel)^2) elseif @S=="9" z=-(pixel-1i)/(pixel+1i) elseif @S=="10" z=-2.5 *(exp(pixel)-1i)/(exp(pixel)+1i) elseif @S=="11" z=2.5 *(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="12" z=pixel+(pixel-1i)/(pixel+1i) elseif @S=="13" z=pixel-(pixel-1i)/(pixel+1i) elseif @S=="14" z=pixel+0.5*(exp(pixel)-1i)/(exp(pixel)+1i) elseif @S=="15" z=pixel-0.5*(exp(pixel)-1i)/(exp(pixel)+1i) elseif @S=="16" z=pixel+1.7*(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="17" z=pixel+(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="18" z=pixel-0.5*(cosh(pixel)-1i)/(cosh(pixel)+1i) elseif @S=="19" z=pixel-0.5*(cos(pixel)-1i)/(cos(pixel)+1i) elseif @S=="20" z=pixel-0.5*(sin(pixel)-1i)/(sin(pixel)+1i) elseif @S=="21" z=pixel-(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="22" z=((pixel^2+1-1i)/(2*pixel+1-2i))^2 elseif @S=="23" z=((pixel^2+5-1i)/(2*recip(pixel)+5-2i))^2 elseif @S=="24" z=((pixel^2+1-1i)/(2*cotan(pixel)+1-2i))^2 elseif @S=="25" z=((pixel^2-1-1i)/(2*cotan(pixel)-1-2i))^2 elseif @S=="26" z=((pixel^2+1-1i)/(2*cos(pixel)+1-2i))^2 elseif @S=="27" z=((pixel^2-1-1i)/(2*cos(pixel)-1-2i))^2 elseif @S=="28" z=((pixel^2+15-1i)/(2*sin(pixel)+15-2i))^2 elseif @S=="29" z=((sqr(pixel)^2+14-1i)/(2*pixel+14-2i))^2 elseif @S=="30" z=((cos(pixel)^2+16-1i)/(2*pixel+16-2i))^2 elseif @S=="31" z=((conj(pixel)^2+1-1i)/(2*cabs(pixel)+1-2i))^2 elseif @S=="32" z=((sqr(pixel)^2+8-1i)/(2*tanh(pixel)+8-2i))^2 elseif @S=="33" z=((sqr(pixel)^2+8-1i)/(2*tan(pixel)+8-2i))^2 elseif @S=="34" z=((sqr(pixel)^2-8-1i)/(2*tan(pixel)-8-2i))^2 elseif @S=="35" z=((sqr(pixel)^2-15-1i)/(2*cos(pixel)-15-2i))^2 elseif @S=="36" z=((sqr(pixel)^2+15-1i)/(2*cos(pixel)+15-2i))^2 elseif @S=="37" z=((cosh(pixel)^2+8-1i)/(2*sqr(pixel)+8-2i))^2 elseif@S=="38" if real(pixel)imag(z) z=flip(z) endif elseif @Va=="11" z=-sqr(z) elseif @Va=="12" z=cos(z) elseif @Va=="13" z=sinh(z) elseif @Va=="14" z=sin(z) elseif @Va=="15" z=z+0.3/z elseif @Va=="16" z=z-0.3/cotanh(z) elseif @Va=="17" z=z-0.3/cotan(z) elseif @Va=="18" z=z+0.8*(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="19" if |z|<1 z=z/|z| endif z=z-1.75/z elseif @Va=="20" if |z|<1 z=z/|z| endif z=z+1/z elseif @Va=="21" if |z|<1 z=z/|z| endif z=z-1/sqr(z) elseif @Va=="22" if |z|<1 z=z/|z| endif z=z+0.5/tanh(z) elseif @Va=="23" if |z|<1 z=z/|z| endif z=z-1/tan(z) endif f=fn3(z)^3-p2 f1=3*z^2 z=(z+f*z^2)/(p1-z*f1)+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Cymado" center=(0.001,0.001) periodicity=0 magn=0.5 param S caption="Start" 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" endparam func fn1 caption="Start Func" default=ident() endfunc param Va caption="Mod" 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" endparam param p1 caption="Cymado Param 1" default=(1,0) endparam param p2 caption="Cymado Param 2" default=(1,0) endparam param p3 caption="Cymado Param 3" default=(0,0) endparam func fn3 caption="Cymado Func" default=ident() endfunc param p6 caption="Möbius 1" default=(0,0) endparam param p10 caption="Möbius 2" default=(0,0) endparam param p8 caption="Quasi-Logistic" default=(0,0) endparam func fn2 caption="Loop Func" default=ident() endfunc param bt caption="Bail Type" enum="Convergent""Divergent" endparam param bailcon caption="Bail" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bail" default=100.0 visible=@bt==1 endparam } Thryghifid { init: if @S=="Pixel" z=pixel elseif @S=="Munster Mod" z=pixel+pixel^2*(fn2(pixel)-p4)/(1i-p4*fn3(pixel)) elseif @S=="Cayley" z=p4*(pixel-1i)/(pixel+1i) elseif @S=="Magnet" z=((sqr(pixel)+p4-1)/(2*pixel+p4-2))^2 elseif @S=="Magnet Mod" z=((sqr(pixel)+p4-1i)/(2*pixel+p4-2i))^2 endif z=fn1(z) loop: zold=z z=@lp1*fn2(z)+@lp2 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @Va=="None" z=z elseif @Va=="1" z=((sqr(z)+13)/(2*z+12))^2 elseif @Va=="2" z=((z^3+12*z+12)/(3*z^2+9*z+13))^2 elseif @Va=="3" z=((sqr(z)+15-1i)/(2*z+15-2i))^2 elseif @Va=="4" z=((sqr(z)+20-1i)/(2*z+20-2i))^2 elseif @Va=="5" z=((z^3+3*(0.55-1i)*z+(0.55-1i)*(0.55-2i))/(3*z^2+3*(0.55-2i)*z+(0.55-1i)*(0.55-2i)+1))^2 elseif @Va=="6" z=((z^3+3*(6.3-1i)*z+(6.3-1i)*(6.3-2i))/(3*z^2+3*(6.3-2i)*z+(6.3-1i)*(6.3-2i)+1))^2 elseif @Va=="7" z=z^2*(z-2.8)/(1-2.8*z) elseif @Va=="8" z=z^2*(z+4)/(1+4*z) elseif @Va=="9" z=z^2*(z+7)/(1i+7*z) elseif @Va=="10" z=z-0.25/z elseif @Va=="11" z=z+0.47i*cos(z) elseif @Va=="12" z=z-0.52i*cos(z) elseif @Va=="13" z=z+0.69/exp(z) elseif @Va=="14" z=z-0.53/cotanh(z) elseif @Va=="15" z=z-2.923/cotanh(z) elseif @Va=="16" z=z-0.335*(z^2-1i)/(2*z) elseif @Va=="17" z=z-0.335*(sqr(z)^2-1i)/(2*z) elseif @Va=="18" z=z+z^2*(z-2)/(1i+2*z) elseif @Va=="19" z=z+z^2*(sin(z)+2)/(1i-2*sin(z)) elseif @Va=="20" z=z+z^2*(tanh(z)+1.115)/(1i-1.115*tanh(z)) elseif @Va=="21" z=z+((z^3+3*(-2.5-1i)*z+(-2.5-1i)*(-2.5-2i))/(3*z^2+3*(-2.5-2i)*z+(-2.5-1i)*(-2.5-2i)+1))^2 elseif @Va=="22" z=cotanh(z)+((z^3+3*(-1-1i)*z+(-1-1i)*(-1-2i))/(3*z^2+3*(-1-2i)*z+(-1-1i)*(-1-2i)+1))^2 elseif @Va=="23" z=cotan(z)+((z^3+3*(-8.5-1i)*z+(-8.5-1i)*(-8.5-2i))/(3*z^2+3*(-8.5-2i)*z+(-8.5-1i)*(-8.5-2i)+1))^2 elseif @Va=="24" z=sin(z)+((z^3+3*(6.3-1i)*z+(6.3-1i)*(6.3-2i))/(3*z^2+3*(6.3-2i)*z+(6.3-1i)*(6.3-2i)+1))^2 elseif @Va=="25" z=z+((sqr(z)+12-1i)/(2*z+12-2i))^2 elseif @Va=="26" z=sqr(z)+((sqr(z)+1.1773-1i)/(2*z+1.1773-2i))^2 elseif @Va=="27" z=recip(z)+((sqr(z)-1.66-1i)/(2*z-1.66-2i))^2 elseif @Va=="28" z=tanh(z)+((sqr(z)-1.66-1i)/(2*z-1.66-2i))^2 elseif @Va=="29" z=cos(z)+((sqr(z)+0.553-1i)/(2*z+0.553-2i))^2 elseif @Va=="30" z=sin(z)+((sqr(z)-5.3-1i)/(2*z-5.3-2i))^2 endif z=p1*z^2+p2 z=(z-real(z)+abs(real(z)))^2+fn3(p3) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Thryghifid" center=(0.001,0.001) periodicity=0 param S caption="Start" enum="Pixel""Munster Mod""Cayley""Magnet""Magnet Mod" endparam param p4 caption="Start Param" default=(1,0) visible=@S!="Pixel" endparam param p1 caption="Thryghifid Param 1" default=(1,0) endparam param p2 caption="Thryghifid Param 2" default=(0,0) endparam param p3 caption="Thryghifid Param 3" default=(-1.2,0) endparam param lp1 caption="Loop Param 1" default=(1,0) endparam param lp2 caption="Loop Param 2" default=(0,0) endparam param Va caption="Mod" 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 func fn1 caption="Start Func" default=ident() endfunc func fn2 caption="Loop Func" default=ident() endfunc func fn3 caption="C Func" default=ident() endfunc param p6 caption="Möbius 1" default=(0,0) endparam param p10 caption="Möbius 2" default=(0,0) endparam param p8 caption="Quasi-Logistic" default=(0,0) endparam param bt caption="Bail Type" enum="Convergent""Divergent" endparam param bailcon caption="Bail" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bail" default=100.0 visible=@bt==1 endparam } Tamarap { 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 @Va=="None" z=z elseif @Va=="1" z=z+0.3*1i*exp(1i*z) elseif @Va=="2" z=z+0.3*1i*sqr(1i*z) elseif @Va=="3" z=z+0.3*1i*tanh(1i*z) elseif @Va=="4" z=z+1i*tanh(1i*z) elseif @Va=="5" z=z+2*1i*tanh(1i*z) elseif @Va=="6" z=z+0.3*1i*tan(1i*z) elseif @Va=="7" z=z+1i*tan(1i*z) elseif @Va=="8" z=z+2*1i*tan(1i*z) elseif @Va=="9" z=z+0.3*1i*cosh(1i*z) elseif @Va=="10" z=z+1i*cosh(1i*z) elseif @Va=="11" z=z+0.3*1i*sinh(1i*z) elseif @Va=="12" z=z+1i*sinh(1i*z) elseif @Va=="13" z=z+2*1i*sinh(1i*z) elseif @Va=="14" z=z+0.3*1i*sin(1i*z) elseif @Va=="15" z=z+1i*sin(1i*z) elseif @Va=="16" z=z+2*1i*sin(1i*z) elseif @Va=="17" z=z+0.3*1i/cosh(1i*z) elseif @Va=="18" z=z+0.3*1i/cos(1i*z) endif z=p1*(z^3-z/3+1i*z-p2)+p3*fn3(pixel) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Tamarap" center=(0.001,0.001) periodicity=0 func fn1 caption="Start Func" default=ident() endfunc param p1 caption="Tam Param 1" default=(1,0) endparam param p2 caption="Tam Param 2" default=(0,0) endparam param p3 caption="Tam Param 3" default=(1,0) endparam func fn3 caption="C Func" default=ident() endfunc param Va caption="Mod" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18" endparam param p6 caption="Möbius 1" default=(0,0) endparam param p10 caption="Möbius 2" default=(0,0) endparam param p8 caption="Quasi-Logistic" default=(0,0) endparam func fn2 caption="Loop Func" default=ident() endfunc param p4 caption="Loop Param 1" default=(1,0) endparam param p5 caption="Loop Param 2" default=(0,0) endparam param bt caption="Bail Type" enum="Convergent""Divergent" default=1 endparam param bailcon caption="Bail" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bail" default=100.0 visible=@bt==1 endparam } ModifiedMagnet2 { 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 @Va=="None" z=z elseif @Va=="1" z=z-0.3*1i*exp(1i*z) elseif @Va=="2" z=z+0.3*1i*sqr(1i*z) elseif @Va=="3" z=z+0.3*1i*tanh(1i*z) elseif @Va=="4" z=z+1i*tanh(1i*z) elseif @Va=="5" z=z+2*1i*tanh(1i*z) elseif @Va=="6" z=z+0.3*1i*cotanh(1i*z) elseif @Va=="7" z=z+1i*tan(1i*z) elseif @Va=="8" z=z+2*1i*tan(1i*z) elseif @Va=="9" z=z+1i*cotanh(1i*z) elseif @Va=="10" z=z+1/sinh(1i*z) elseif @Va=="11" z=z+0.3*1i*sinh(1i*z) elseif @Va=="12" z=z-0.3*1i*tan(1i*z) elseif @Va=="13" z=z-0.3*1i*cosh(1i*z) elseif @Va=="14" z=z+0.3*1i*sin(1i*z) elseif @Va=="15" z=z-0.3*1i*cos(1i*z) elseif @Va=="16" z=z-0.3*1i*sinh(1i*z) elseif @Va=="17" z=z-0.3*1i*sin(1i*z) elseif @Va=="18" z=z-1/z elseif @Va=="19" z=z-2/z elseif @Va=="20" z=z+1/z elseif @Va=="21" z=z+2/z elseif @Va=="22" z=z+0.3/z elseif @Va=="23" z=z+2i/z elseif @Va=="24" z=z+0.3i/z elseif @Va=="25" z=z-1i/z elseif @Va=="26" z=z-2i/z elseif @Va=="27" z=z+1i/cotanh(z) elseif @Va=="28" z=z-0.3i/cotanh(z) elseif @Va=="29" z=z-1i/cotanh(z) elseif @Va=="30" z=z-0.3i/cotan(z) elseif @Va=="31" z=z+0.3i/tanh(z) elseif @Va=="32" z=z-1i/tanh(z) elseif @Va=="33" z=z-0.3i/cosh(z) elseif @Va=="34" z=z-1i/cos(z) elseif @Va=="35" z=z-1i/sinh(z) elseif @Va=="36" z=z+0.3i/sin(z) elseif @Va=="37" z=z+2i/sqr(1i*z) elseif @Va=="38" z=z+3i/sqr(1i*z) elseif @Va=="39" z=z+5i/sqr(1i*z) elseif @Va=="40" z=z-0.3i/cosh(1i*z) elseif @Va=="41" z=z-2i/cos(1i*z) elseif @Va=="42" z=z+0.3i/sinh(1i*z) elseif @Va=="43" z=z+1i/sin(1i*z) elseif @Va=="44" z=z-1/exp(1i*z) elseif @Va=="45" z=z-0.3/cotanh(1i*z) elseif @Va=="46" z=z+1/tan(1i*z) elseif @Va=="47" z=z-1/cos(1i*z) endif z=((z^2+p1-1i)/(2*z+p2-2i))^2+fn3(p3) bailout: |z|<@baildiv && |z-zold|>@bailcon default: title="Modified Magnet 2" center=(0.001,0.001) periodicity=0 magn=0.25 func fn1 caption="Start Func" default=ident() endfunc param p1 caption="Magmod Param 1" default=(1,0) endparam param p2 caption="Magmod Param 2" default=(0,0) endparam param p3 caption="Magmod Param 3" default=(0,0) endparam func fn3 caption="C Func" default=ident() endfunc param Va caption="Mod" 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 p6 caption="Möbius 1" default=(0,0) endparam param p10 caption="Möbius 2" default=(0,0) endparam param p8 caption="Quasi-Logistic" default=(0,0) endparam func fn2 caption="Loop Func" default=ident() endfunc param p4 caption="Loop Param 1" default=(1,0) endparam param p5 caption="Loop Param 2" default=(0,0) endparam param baildiv caption="Div Bail" default=100.0 endparam param bailcon caption="Conv Bail" default=0.00000001 endparam } ModifiedNewton2 { init: if @S=="1" z=pixel elseif @S=="2" z=pixel+1i*exp(1i*pixel) elseif @S=="3" z=pixel+2i*exp(1i*pixel) elseif @S=="4" z=pixel+3i*exp(1i*pixel) elseif @S=="5" z=pixel+0.3i*sqr(1i*pixel) elseif @S=="6" z=pixel-0.3i*sqr(1i*pixel) elseif @S=="7" z=pixel+1i*sqr(1i*pixel) elseif @S=="8" z=pixel-1i*sqr(1i*pixel) elseif @S=="9" z=pixel+1i*cotanh(1i*pixel) elseif @S=="10" z=pixel+2i*cotanh(1i*pixel) elseif @S=="11" z=pixel+3i*cotanh(1i*pixel) elseif @S=="12" z=pixel-1i*cotanh(1i*pixel) elseif @S=="13" z=pixel-2i*cotanh(1i*pixel) elseif @S=="14" z=pixel-1i*cotan(1i*pixel) elseif @S=="15" z=pixel-2i*cotan(1i*pixel) elseif @S=="16" z=pixel+1i*cotan(1i*pixel) elseif @S=="17" z=pixel+2i*cotan(1i*pixel) elseif @S=="18" z=pixel-2i*tanh(1i*pixel) elseif @S=="19" z=pixel-1i*tanh(1i*pixel) elseif @S=="20" z=pixel+1i*tanh(1i*pixel) elseif @S=="21" z=pixel+2i*tanh(1i*pixel) elseif @S=="22" z=pixel+3i*tanh(1i*pixel) elseif @S=="23" z=pixel+4i*tanh(1i*pixel) elseif @S=="24" z=pixel+5i*tanh(1i*pixel) elseif @S=="25" z=pixel-2i*tan(1i*pixel) elseif @S=="26" z=pixel-1i*tan(1i*pixel) elseif @S=="27" z=pixel+1i*tan(1i*pixel) elseif @S=="28" z=pixel+2i*tan(1i*pixel) elseif @S=="29" z=pixel+3i*tan(1i*pixel) elseif @S=="30" z=pixel-3i*cosh(1i*pixel) elseif @S=="31" z=pixel-1i*cosh(1i*pixel) elseif @S=="32" z=pixel+1i*cosh(1i*pixel) elseif @S=="33" z=pixel+2i*cosh(1i*pixel) elseif @S=="34" z=pixel+3i*cosh(1i*pixel) elseif @S=="35" z=pixel+1i*cos(1i*pixel) elseif @S=="36" z=pixel+2i*cos(1i*pixel) elseif @S=="37" z=pixel+3i*cos(1i*pixel) elseif @S=="38" z=pixel-1i*cos(1i*pixel) elseif @S=="39" z=pixel-2i*cos(1i*pixel) elseif @S=="40" z=pixel-3i*cos(1i*pixel) elseif @S=="41" z=pixel-1i*sinh(1i*pixel) elseif @S=="42" z=pixel-2i*sinh(1i*pixel) elseif @S=="43" z=pixel+1i*sinh(1i*pixel) elseif @S=="44" z=pixel+2i*sinh(1i*pixel) elseif @S=="45" z=pixel+3i*sinh(1i*pixel) elseif @S=="46" z=pixel+4i*sinh(1i*pixel) elseif @S=="47" z=pixel-1i*sin(1i*pixel) elseif @S=="48" z=pixel+1i*sin(1i*pixel) elseif @S=="49" z=pixel+2i*sin(1i*pixel) elseif @S=="50" z=pixel+3i*sin(1i*pixel) elseif @S=="51" z=pixel+4i*sin(1i*pixel) endif z=fn1(z) loop: zold=z z=p4*fn2(recip(z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z*(1-@p8*z) if @Va=="None" z=z elseif @Va=="1" z=z+1/z elseif @Va=="2" z=z+1i/exp(1i*z) elseif @Va=="3" z=z+4i/cotanh(1i*z) elseif @Va=="4" z=z+2.11i/cotan(1i*z) elseif @Va=="5" z=z+1i/tanh(1i*z) elseif @Va=="6" z=z-1i/tan(1i*z) elseif @Va=="7" z=z+0.151i/cosh(1i*z) elseif @Va=="8" z=z+0.151i/cos(1i*z) elseif @Va=="9" z=z+0.31i/sqr(1i/z) elseif @Va=="10" z=z-1i*sinh(1i*z) elseif @Va=="11" z=z+3.51i*sin(1i*z) elseif @Va=="12" z=z+0.3/sqr(z) elseif @Va=="13" z=z+1/cotanh(z) elseif @Va=="14" z=z+0.3/cotanh(z) elseif @Va=="15" z=z+0.3*exp(z) elseif @Va=="16" z=z+0.3*sqr(z) elseif @Va=="17" z=z-2.6*tan(z) endif z=z+0.3*1i*sqr(1i*z) z=z-p1*(z^3-1i)/(3i*z^2)+p2 bailout: |z-zold|>@bail default: title="Modified Newton 2" center=(0.001,0.001) periodicity=0 magn=0.5 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""49""50"\ "51" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Newmod Parameter 1" default=(1,0) endparam param p2 caption="Newmod Parameter 2" default=(0,0) endparam func fn3 caption="C Function" default=ident() 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 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 func fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } ModifiedHalleyJ { init: z=fn1(pixel) a=z^4-1i a1=4*z^3 a2=12*z^2 z=z-p3*2i*a*a1/(2i*a1^2-a*a2)+@p7 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^4-1i f1=4*z^3 f2=12*z^2 z=z-p1*2i*f*f1/(2i*f1^2-f*f2)+fn3(p2) bailout: |z-zold|>@bail default: title="Modified Halley J" center=(0.001,0.001) periodicity=0 func fn1 caption="Start Function" default=ident() endfunc param p3 caption="Start Parameter 1" default=(0,0) endparam param @p7 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="Halleymod Parameter 1" default=(1,0) endparam param p2 caption="Halleymod Parameter 2" default=(0,0) endparam func fn3 caption="C 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 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 bail caption="Bailout" default=0.00000001 endparam } ModifiedHalleyM { init: z=fn1(pixel) a=z^4-1i a1=4*z^3 a2=12*z^2 z=z-p3*2i*a*a1/(2i*a1^2-a*a2)+@p7 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 @V=="M2" f=z^4-1i else f=z^4-p2*fn3(pixel) endif f1=4*z^3 f2=12*z^2 if @V=="M2" z=z-p1*2i*f*f1/(2i*f1^2-f*f2)+p2*fn3(pixel) else z=z-p1*2i*f*f1/(2i*f1^2-f*f2) endif bailout: |z-zold|>@bail default: title="Modified Halley M" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="M1""M2" endparam func fn1 caption="Start Function" default=ident() endfunc param p3 caption="Start Parameter 1" default=(0,0) endparam param @p7 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="Halleymod Parameter 1" default=(1,0) endparam param p2 caption="Halleymod Parameter 2" default=(1,0) endparam func fn3 caption="C 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 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 bail caption="Bailout" default=0.00000001 endparam } JeenyJ { init: a=(0,0) b=(0,0) z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=z-0.3*exp(z) elseif @S=="3" z=z-0.55*exp(z) elseif @S=="4" z=z-sqr(z) elseif @S=="5" z=z+sqr(z) elseif @S=="6" z=z-0.3*cotanh(z) elseif @S=="7" z=z+0.3*cotanh(z) elseif @S=="8" z=z-0.3*tan(z) elseif @S=="9" z=z-tan(z) elseif @S=="10" z=z-2*tan(z) elseif @S=="11" z=z-0.55*sin(z) elseif @S=="12" z=z+0.85*cosh(z) elseif @S=="13" z=z-0.55*sinh(z) elseif @S=="14" z=z+1.5i*sinh(1i*z) elseif @S=="15" z=z+0.3i*exp(1i*z) elseif @S=="16" z=z+1i*exp(1i*z) elseif @S=="17" z=z-1i*sqr(1i*z) elseif @S=="18" z=z+2i*tan(1i*z) elseif @S=="19" z=z+1.5i*tan(1i*z) elseif @S=="20" z=z+1i*tan(1i*z) elseif @S=="21" z=z+0.3i*tan(1i*z) elseif @S=="22" z=z+1.5i*tanh(1i*z) elseif @S=="23" z=z+1.5i*cosh(1i*z) elseif @S=="24" z=z+1i*cosh(1i*z) elseif @S=="25" z=z+1i*cos(1i*z) elseif @S=="26" z=0.3*z*(1i-sin(z)) elseif @S=="27" z=z*(1i+sqr(z)) elseif @S=="28" z=z*(1i-sqr(z)) elseif @S=="29" z=z*(1i-cotan(z)) elseif @S=="30" z=z*(1i-0.5*tanh(z)) elseif @S=="31" z=z*(1i+0.5*tanh(z)) elseif @S=="32" z=z*(1i+tan(z)) elseif @S=="33" z=z*(1i+0.9*cos(z)) elseif @S=="34" z=z*(1i-0.9*cos(z)) elseif @S=="35" z=z*(1i+sinh(z)) elseif @S=="36" z=0.3*z*(1i-exp(z)) elseif @S=="37" z=-0.3*z*(1i-exp(z)) elseif @S=="38" z=z*(1i-exp(z)) elseif @S=="39" z=-z*(1i-exp(z)) elseif @S=="40" z=0.3*z*(1i-sqr(z)) elseif @S=="41" z=z*(1i-sqr(z)) elseif @S=="42" z=0.3*z*(1i-cotan(z)) elseif @S=="43" z=-0.3*z*(1i-cotan(z)) elseif @S=="44" z=0.3*z*(1i-tanh(z)) elseif @S=="45" z=-0.3*z*(1i-tanh(z)) elseif @S=="46" z=0.3*z*(1i-cosh(z)) elseif @S=="47" z=0.3*z*(1i-cos(z)) elseif @S=="48" z=0.3*z*(1i-sinh(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif elseif @Va=="2" z=z+0.75/exp(z) elseif @Va=="3" z=z-0.75/cotanh(z) elseif @Va=="4" z=z-0.3*exp(z) elseif @Va=="5" z=z+0.3*cosh(z) elseif @Va=="6" z=z-1.25*sin(z) elseif @Va=="7" z=z+0.3i/cos(z) elseif @Va=="8" z=z-0.3i*exp(z) elseif @Va=="9" z=z+1i*sqr(z) elseif @Va=="10" z=z-0.3i*cosh(z) elseif @Va=="11" z=z+0.3i*cosh(z) elseif @Va=="12" z=z+0.75i*cosh(z) elseif @Va=="13" z=z-0.3i*sinh(z) elseif @Va=="14" z=z^2*(cos(z)-2.75)/(1-2.75*cos(z)) elseif @Va=="15" z=z^2*(cos(z)-1.5)/(1-1.5*cos(z)) elseif @Va=="16" z=z^2*(cosh(z)-0.55)/(1-0.55*cosh(z)) elseif @Va=="17" z=z^2*(cotanh(z)-0.3)/(1-0.3*cotanh(z)) elseif @Va=="18" z=z^2*(tanh(z)-3.5)/(1i-3.5*tanh(z)) elseif @Va=="19" z=z^2*(tanh(z)+1.3)/(1i+1.3*tanh(z)) elseif @Va=="20" z=z^2*(cosh(z)+0.3)/(1i+0.3*cosh(z)) elseif @Va=="21" z=z^2*(cosh(z)-1.4)/(1i-1.4*cosh(z)) elseif @Va=="22" z=z^2*(sin(z)-3.8)/(1i-3.8*sin(z)) elseif @Va=="23" z=z^2*(sin(z)+2.5)/(1i+2.5*sin(z)) endif z=z*(1i-p1*z) b=z^2+1i+p2*a+fn3(p3) a=z z=b bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Jeeny J" center=(0.001,0.001) 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 p1 caption="Jeeny Parameter 1" default=(1,0) endparam param p2 caption="Jeeny Parameter 2" default=(1,0) endparam param p3 caption="Jeeny Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() 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" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } JeenyM { init: a=(0,0) b=(0,0) z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=z-0.3*exp(z) elseif @S=="3" z=z-0.55*exp(z) elseif @S=="4" z=z-sqr(z) elseif @S=="5" z=z+sqr(z) elseif @S=="6" z=z-0.3*cotanh(z) elseif @S=="7" z=z+0.3*cotanh(z) elseif @S=="8" z=z-0.3*tan(z) elseif @S=="9" z=z-tan(z) elseif @S=="10" z=z-2*tan(z) elseif @S=="11" z=z-0.55*sin(z) elseif @S=="12" z=z+0.85*cosh(z) elseif @S=="13" z=z-0.55*sinh(z) elseif @S=="14" z=z+1.5i*sinh(1i*z) elseif @S=="15" z=z+0.3i*exp(1i*z) elseif @S=="16" z=z+1i*exp(1i*z) elseif @S=="17" z=z-1i*sqr(1i*z) elseif @S=="18" z=z+2i*tan(1i*z) elseif @S=="19" z=z+1.5i*tan(1i*z) elseif @S=="20" z=z+1i*tan(1i*z) elseif @S=="21" z=z+0.3i*tan(1i*z) elseif @S=="22" z=z+1.5i*tanh(1i*z) elseif @S=="23" z=z+1.5i*cosh(1i*z) elseif @S=="24" z=z+1i*cosh(1i*z) elseif @S=="25" z=z+1i*cos(1i*z) elseif @S=="26" z=0.3*z*(1i-sin(z)) elseif @S=="27" z=z*(1i+sqr(z)) elseif @S=="28" z=z*(1i-sqr(z)) elseif @S=="29" z=z*(1i-cotan(z)) elseif @S=="30" z=z*(1i-0.5*tanh(z)) elseif @S=="31" z=z*(1i+0.5*tanh(z)) elseif @S=="32" z=z*(1i+tan(z)) elseif @S=="33" z=z*(1i+0.9*cos(z)) elseif @S=="34" z=z*(1i-0.9*cos(z)) elseif @S=="35" z=z*(1i+sinh(z)) elseif @S=="36" z=0.3*z*(1i-exp(z)) elseif @S=="37" z=-0.3*z*(1i-exp(z)) elseif @S=="38" z=z*(1i-exp(z)) elseif @S=="39" z=-z*(1i-exp(z)) elseif @S=="40" z=0.3*z*(1i-sqr(z)) elseif @S=="41" z=z*(1i-sqr(z)) elseif @S=="42" z=0.3*z*(1i-cotan(z)) elseif @S=="43" z=-0.3*z*(1i-cotan(z)) elseif @S=="44" z=0.3*z*(1i-tanh(z)) elseif @S=="45" z=-0.3*z*(1i-tanh(z)) elseif @S=="46" z=0.3*z*(1i-cosh(z)) elseif @S=="47" z=0.3*z*(1i-cos(z)) elseif @S=="48" z=0.3*z*(1i-sinh(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z-0.3i*sqr(1i*z) elseif @Va=="2" z=z+0.75/exp(z) elseif @Va=="3" z=z-0.75/cotanh(z) elseif @Va=="4" z=z-0.3*exp(z) elseif @Va=="5" z=((sqr(z)^2+16-1i)/(2*sqr(z)+16-2i)) elseif @Va=="6" z=z-1.25*sin(z) elseif @Va=="7" z=((exp(z)^2+4.5)/(2*exp(z)+3.5)) elseif @Va=="8" z=((cos(z)^2-10)/(2*cos(z)-11)) elseif @Va=="9" z=((cosh(z)^2+27)/(2*cosh(z)+26))^2 elseif @Va=="10" z=((exp(z)^2+1-1i)/(2*exp(z)+1-2i))^2 elseif @Va=="11" z=((cos(z)^2-21-1i)/(2*cos(z)-21-2i))^2 elseif @Va=="12" z=z+0.75i*cosh(z) elseif @Va=="13" z=((cosh(z)^2+1-1i)/(2*cosh(z)+1-2i))^2 elseif @Va=="14" z=z^2*(cos(z)-2.75)/(1-2.75*cos(z)) elseif @Va=="15" z=z^2*(cos(z)-1.5)/(1-1.5*cos(z)) elseif @Va=="16" z=z^2*(cosh(z)-0.55)/(1-0.55*cosh(z)) elseif @Va=="17" z=((sinh(z)^2-29)/(2*sinh(z)-30))^2 elseif @Va=="18" z=z^2*(tanh(z)-3.5)/(1i-3.5*tanh(z)) elseif @Va=="19" z=z^2*(tanh(z)+1.3)/(1i+1.3*tanh(z)) elseif @Va=="20" z=z^2*(cosh(z)+0.3)/(1i+0.3*cosh(z)) elseif @Va=="21" z=z^2*(cosh(z)-1.4)/(1i-1.4*cosh(z)) elseif @Va=="22" z=z^2*(sin(z)-3.8)/(1i-3.8*sin(z)) elseif @Va=="23" z=z^2*(sin(z)+2.5)/(1i+2.5*sin(z)) elseif @Va=="24" z=((cos(z)^2+1-1i)/(2*cos(z)+1-2i)) elseif @Va=="25" z=((sin(z)^2-31-1i)/(2*sin(z)-31-2i))^2 elseif @Va=="26" z=((cosh(z)^2+21-1i)/(2*cosh(z)+21-2i))^2 elseif @Va=="27" z=((cos(z)^2+1-1i)/(2*cos(z)+1-2i))^2 elseif @Va=="28" z=((sqr(z)^2-2)/(2*sqr(z)-3))^2 elseif @Va=="29" z=((z^2-16)/(2*z-17))^2 elseif @Va=="30" z=((sin(z)^2+1-1i)/(2*sin(z)+1-2i)) elseif @Va=="31" z=((z^2-2)/(2*z-3)) elseif @Va=="32" z=((z^2-1-1i)/(2*z-1-2i)) elseif @Va=="33" z=z+0.3i*cos(1i*z) elseif @Va=="34" z=z+1i*tan(1i*z) elseif @Va=="35" z=((sqr(z)^2-1)/(2*sqr(z)-2)) elseif @Va=="36" z=((cos(z)^2+27)/(2*cos(z)+26))^2 elseif @Va=="37" z=((cosh(z)^2-29)/(2*cosh(z)-30))^2 elseif @Va=="38" z=((sqr(z)^2-1-1i)/(2*sqr(z)-1-2i))^2 elseif @Va=="39" z=((sinh(z)^2+31-1i)/(2*sinh(z)+31-2i))^2 elseif @Va=="40" z=((sin(z)^2-1-1i)/(2*sin(z)-1-2i))^2 elseif @Va=="41" z=((sin(z)^2+0.75)/(2*sin(z)-0.25))^2 elseif @Va=="42" z=((cosh(z)^2-1-1i)/(2*cosh(z)-1-2i)) elseif @Va=="43" z=z-(exp(z)-1i)/(exp(z)+1i) elseif @Va=="44" z=z+0.3i*sin(1i*z) elseif @Va=="45" z=((sin(z)^2+31-1i)/(2*sin(z)+31-2i))^2 elseif @Va=="46" z=((cosh(z)^2-21-1i)/(2*cosh(z)-21-2i))^2 elseif @Va=="47" z=((sqr(z)^2+1-1i)/(2*sqr(z)+1-2i))^2 elseif @Va=="48" z=((z^2+28)/(2*z+27))^2 elseif @Va=="49" z=((z^2)/(2*z-1))^2 elseif @Va=="50" z=((sinh(z)^2-1)/(2*sinh(z)-2)) elseif @Va=="51" z=((cosh(z)^2+8)/(2*cosh(z)+7)) elseif @Va=="52" z=((sinh(z)^2+1-1i)/(2*sinh(z)+1-2i)) elseif @Va=="53" z=((z^2+8-1i)/(2*z+8-2i)) elseif @Va=="54" z=z+1i*sinh(1i*z) elseif @Va=="55" z=z+1i*exp(1i*z) elseif @Va=="56" z=((z^2-13)/(2*z-14)) elseif @Va=="57" z=((z^2-1-1i)/(2*z-1-2i))^2 elseif @Va=="58" z=((cos(z)^2+21-1i)/(2*cos(z)+21-2i))^2 elseif @Va=="59" z=((sinh(z)^2+1-1i)/(2*sinh(z)+1-2i))^2 elseif @Va=="60" z=((sin(z)^2+1-1i)/(2*sin(z)+1-2i))^2 elseif @Va=="61" z=((z^2-2)/(2*z-3))^2 elseif @Va=="62" z=((recip(z)^2+0.75)/(2*recip(z)-0.25))^2 elseif @Va=="63" z=((z^2)/(2*z-1)) elseif @Va=="64" z=((z^2+1-1i)/(2*z+1-2i)) elseif @Va=="65" z=((z^2-8-1i)/(2*z-8-2i)) elseif @Va=="66" z=z+1i*tanh(1i*z) elseif @Va=="67" z=z+0.3i*sinh(1i*z) elseif @Va=="68" z=((z^2+11)/(2*z+10)) elseif @Va=="69" z=((sin(z)^2-1)/(2*sin(z)-2)) elseif @Va=="70" z=((sinh(z)^2+27)/(2*sinh(z)+26))^2 elseif @Va=="71" z=((cosh(z)^2-1-1i)/(2*cosh(z)-1-2i))^2 elseif @Va=="72" z=((sinh(z)^2-31-1i)/(2*sinh(z)-31-2i))^2 elseif @Va=="73" z=((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="74" z=((sqr(z)^2)/(2*sqr(z)-1))^2 elseif @Va=="75" z=((cosh(z)^2-0.3-1i)/(2*cosh(z)-0.3-2i)) elseif @Va=="76" z=z-0.3i/exp(1i*z) elseif @Va=="77" z=((sinh(z)^2-1-1i)/(2*sinh(z)-1-2i))^2 elseif @Va=="78" z=((cos(z)^2-1-1i)/(2*cos(z)-1-2i))^2 elseif @Va=="79" z=((sqr(z)^2+14-1i)/(2*sqr(z)+14-2i))^2 elseif @Va=="80" z=((sinh(z)^2-4.5)/(2*sinh(z)-5.5))^2 elseif @Va=="81" z=((cos(z)^2-29)/(2*cos(z)-30))^2 elseif @Va=="82" z=((sqr(z)^2+9-1i)/(2*sqr(z)+9-2i)) elseif @Va=="83" z=((sin(z)^2-1-1i)/(2*sin(z)-1-2i)) elseif @Va=="84" z=z+1i*sin(1i*z) elseif @Va=="85" z=((cosh(z)^2+1-1i)/(2*cosh(z)+1-2i)) elseif @Va=="86" z=((sqr(z)^2+0.25)/(2*sqr(z)-0.75)) elseif @Va=="87" z=((cosh(z)^2-10)/(2*cosh(z)-11)) elseif @Va=="88" z=z-0.3i*cosh(1i*z) elseif @Va=="89" z=z+1i*cos(1i*z) elseif @Va=="90" z=z-0.3*(z-1i)/(z+1i) elseif @Va=="91" z=((cos(z)^2-1-1i)/(2*cos(z)-1-2i)) endif z=z*(1i-p1*z) b=z^2+1i+p2*a+p3*fn3(pixel) a=z z=b bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Jeeny M" center=(0.001,0.001) 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 p1 caption="Jeeny Parameter 1" default=(1,0) endparam param p2 caption="Jeeny Parameter 2" default=(1,0) endparam param p3 caption="Jeeny Parameter 3" default=(1,0) endparam func fn3 caption="C Function" default=ident() 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""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""79""80"\ "81""82""83""84""85""86""87""88""89""90"\ "91" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Gloggam { init: z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=0.3*z*(1i-sinh(z)) elseif @S=="3" z=z-0.55*exp(z) elseif @S=="4" z=z-sqr(z) elseif @S=="5" z=z+sqr(z) elseif @S=="6" z=z-0.3*cotanh(z) elseif @S=="7" z=z+0.3*cotanh(z) elseif @S=="8" z=z-0.3*tan(z) elseif @S=="9" z=z-tan(z) elseif @S=="10" z=z-2*tan(z) elseif @S=="11" z=z-0.55*sin(z) elseif @S=="12" z=z+0.85*cosh(z) elseif @S=="13" z=z-0.55*sinh(z) elseif @S=="14" z=z+1.5i*sinh(1i*z) elseif @S=="15" z=z+0.3i*exp(1i*z) elseif @S=="16" z=z+1i*exp(1i*z) elseif @S=="17" z=z-1i*sqr(1i*z) elseif @S=="18" z=z+2i*tan(1i*z) elseif @S=="19" z=z+1.5i*tan(1i*z) elseif @S=="20" z=z+1i*tan(1i*z) elseif @S=="21" z=z+0.3i*tan(1i*z) elseif @S=="22" z=z+1.5i*tanh(1i*z) elseif @S=="23" z=z+1.5i*cosh(1i*z) elseif @S=="24" z=z+1i*cosh(1i*z) elseif @S=="25" z=z+1i*cos(1i*z) elseif @S=="26" z=0.3*z*(1i-sin(z)) elseif @S=="27" z=z*(1i+sqr(z)) elseif @S=="28" z=z*(1i-sqr(z)) elseif @S=="29" z=z*(1i-cotan(z)) elseif @S=="30" z=z*(1i-0.5*tanh(z)) elseif @S=="31" z=z*(1i+0.5*tanh(z)) elseif @S=="32" z=z*(1i+tan(z)) elseif @S=="33" z=z*(1i+0.9*cos(z)) elseif @S=="34" z=z*(1i-0.9*cos(z)) elseif @S=="35" z=z*(1i+sinh(z)) elseif @S=="36" z=0.3*z*(1i-exp(z)) elseif @S=="37" z=-0.3*z*(1i-exp(z)) elseif @S=="38" z=z*(1i-exp(z)) elseif @S=="39" z=-z*(1i-exp(z)) elseif @S=="40" z=0.3*z*(1i-sqr(z)) elseif @S=="41" z=z*(1i-sqr(z)) elseif @S=="42" z=0.3*z*(1i-cotan(z)) elseif @S=="43" z=-0.3*z*(1i-cotan(z)) elseif @S=="44" z=0.3*z*(1i-tanh(z)) elseif @S=="45" z=-0.3*z*(1i-tanh(z)) elseif @S=="46" z=0.3*z*(1i-cosh(z)) elseif @S=="47" z=0.3*z*(1i-cos(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=((sqr(z)^2-1-1i)/(2*sqr(z)-1-2i))^2 elseif @Va=="2" z=z+0.75/exp(z) elseif @Va=="3" z=z-0.3*(exp(z)^3-1i)/(3*exp(z)^2) elseif @Va=="4" z=z-0.3*(cotanh(z)^3-1i)/(3*cotanh(z)^2) elseif @Va=="5" z=z+0.3*cosh(z) elseif @Va=="6" z=z+((exp(z)^2+1-1i)/(2*exp(z)+1-2i))^2 elseif @Va=="7" z=z+0.3i/cos(z) elseif @Va=="8" z=z-0.3i*exp(z) elseif @Va=="9" z=z+1i*sqr(z) elseif @Va=="10" z=z-0.3i*cosh(z) elseif @Va=="11" z=z+0.3i*cosh(z) elseif @Va=="12" z=z+((cosh(z)^2-0.3-1i)/(2*cosh(z)-0.3-2i))^2 elseif @Va=="13" z=z-0.3i*sinh(z) elseif @Va=="14" z=z+(cosh(z)^2-0.3-1i)/(2*cosh(z)-0.3-2i) elseif @Va=="15" z=z-(cosh(z)^3-1i)/(3*cosh(z)^2) elseif @Va=="16" z=z^2*(cosh(z)-0.55)/(1-0.55*cosh(z)) elseif @Va=="17" z=z^2*(cotanh(z)-0.3)/(1-0.3*cotanh(z)) elseif @Va=="18" z=z+(sqr(z)^2+5-1i)/(2*sqr(z)+5-2i) elseif @Va=="19" z=z^2*(tanh(z)+1.3)/(1i+1.3*tanh(z)) elseif @Va=="20" z=z+(cos(z)^2+1-1i)/(2*cos(z)+1-2i) elseif @Va=="21" z=z+((cosh(z)^2+1-1i)/(2*cosh(z)+1-2i))^2 elseif @Va=="22" z=((sqr(z)^2-0.3-1i)/(2*sqr(z)-0.3-2i)) elseif @Va=="23" z=((sqr(z)^2+1-1i)/(2*sqr(z)+1-2i))^2 elseif @Va=="24" z=z+(cosh(z)^2+1-1i)/(2*cosh(z)+1-2i) elseif @Va=="25" z=((sqr(z)^2+0.3-1i)/(2*sqr(z)+0.3-2i)) elseif @Va=="26" z=z+((cos(z)^2+1-1i)/(2*cos(z)+1-2i))^2 elseif @Va=="27" z=z-0.3*(cos(z)^3-1i)/(3*cos(z)^2) elseif @Va=="28" z=z+(exp(z)^2+0.75-1i)/(2*exp(z)+0.75-2i) elseif @Va=="29" z=z+0.3*(exp(z)^3-1i)/(3*exp(z)^2) elseif @Va=="30" z=z+((exp(z)^2-0.3-1i)/(2*exp(z)-0.3-2i))^2 elseif @Va=="31" z=((z^2-1-1i)/(2*z-1-2i)) endif z=z*(1i-p3*z) z=((z^2+p1*fn3(pixel)-1i)/(2*z+p1*fn3(pixel)-2i))^2+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Gloggam" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Gloggam Parameter 1" default=(1,0) endparam param p2 caption="Gloggam Parameter 2" default=(0,0) endparam param p3 caption="Gloggam Parameter 3" default=(1,0) endparam func fn3 caption="C Function" default=ident() 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""29""30"\ "31" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } BicayJ { init: z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=0.3*z*(1i-sinh(z)) elseif @S=="3" z=z-0.55*exp(z) elseif @S=="4" z=z-sqr(z) elseif @S=="5" z=z+sqr(z) elseif @S=="6" z=z-0.3*cotanh(z) elseif @S=="7" z=z+0.3*cotanh(z) elseif @S=="8" z=z-0.3*tan(z) elseif @S=="9" z=z-tan(z) elseif @S=="10" z=z-2*tan(z) elseif @S=="11" z=z-0.55*sin(z) elseif @S=="12" z=z+0.85*cosh(z) elseif @S=="13" z=z-0.55*sinh(z) elseif @S=="14" z=z+1.5i*sinh(1i*z) elseif @S=="15" z=z+0.3i*exp(1i*z) elseif @S=="16" z=z+1i*exp(1i*z) elseif @S=="17" z=z-1i*sqr(1i*z) elseif @S=="18" z=z+2i*tan(1i*z) elseif @S=="19" z=z+1.5i*tan(1i*z) elseif @S=="20" z=z+1i*tan(1i*z) elseif @S=="21" z=z+0.3i*tan(1i*z) elseif @S=="22" z=z+1.5i*tanh(1i*z) elseif @S=="23" z=z+1.5i*cosh(1i*z) elseif @S=="24" z=z+1i*cosh(1i*z) elseif @S=="25" z=z+1i*cos(1i*z) elseif @S=="26" z=0.3*z*(1i-sin(z)) elseif @S=="27" z=z*(1i+sqr(z)) elseif @S=="28" z=z*(1i-sqr(z)) elseif @S=="29" z=z*(1i-cotan(z)) elseif @S=="30" z=z*(1i-0.5*tanh(z)) elseif @S=="31" z=z*(1i+0.5*tanh(z)) elseif @S=="32" z=z*(1i+tan(z)) elseif @S=="33" z=z*(1i+0.9*cos(z)) elseif @S=="34" z=z*(1i-0.9*cos(z)) elseif @S=="35" z=z*(1i+sinh(z)) elseif @S=="36" z=0.3*z*(1i-exp(z)) elseif @S=="37" z=-0.3*z*(1i-exp(z)) elseif @S=="38" z=z*(1i-exp(z)) elseif @S=="39" z=-z*(1i-exp(z)) elseif @S=="40" z=0.3*z*(1i-sqr(z)) elseif @S=="41" z=z*(1i-sqr(z)) elseif @S=="42" z=0.3*z*(1i-cotan(z)) elseif @S=="43" z=-0.3*z*(1i-cotan(z)) elseif @S=="44" z=0.3*z*(1i-tanh(z)) elseif @S=="45" z=-0.3*z*(1i-tanh(z)) elseif @S=="46" z=0.3*z*(1i-cosh(z)) elseif @S=="47" z=0.3*z*(1i-cos(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z+3.3/z elseif @Va=="2" z=z-1.5i*sqr(1i*z) elseif @Va=="3" z=z+0.751i*tan(z) elseif @Va=="4" z=z-0.3*(cotanh(z)^3-1i)/(3*cotanh(z)^2) elseif @Va=="5" z=z-0.75i*sqr(1i*z) elseif @Va=="6" z=z+0.75i*sqr(1i*z) elseif @Va=="7" z=3.5*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="8" z=z+2i*tan(1i*z) elseif @Va=="9" z=z+((z^2+8.5-1i)/(2*z+8.5-2i))^2 elseif @Va=="10" z=z+0.751i*tanh(z) elseif @Va=="11" z=z+(z-1i)/(z+1i) elseif @Va=="12" z=z-1i*tanh(z) elseif @Va=="13" z=z+(exp(z)-1i)/(exp(z)+1i) elseif @Va=="14" z=z+1.2i*cotanh(z) elseif @Va=="15" z=z^2*(cosh(z)-0.55)/(1-0.55*cosh(z)) elseif @Va=="16" z=z+10/sqr(z) elseif @Va=="17" z=z-0.25*(sinh(z)-1i)/(sinh(z)+1i) elseif @Va=="18" z=z+0.3/cosh(z) elseif @Va=="19" z=z+((cotanh(z)^2-3.85-1i)/(2*cotanh(z)-3.85-2i))^2 elseif @Va=="20" z=z-1/cosh(z) elseif @Va=="21" z=z-3*(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="22" z=z-0.75*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="23" z=z-25/sqr(z) elseif @Va=="24" z=z+((tan(z)^2)/(2*tan(z)-1))^2 elseif @Va=="25" z=z+1/cosh(z) elseif @Va=="26" z=z-1.6/cosh(z) elseif @Va=="27" z=z-0.2*(cotanh(z)-1i)/(cotanh(z)+1i) elseif @Va=="28" z=z-1.75*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="29" z=z+7/cosh(z) elseif @Va=="30" z=z-10/sqr(z) elseif @Va=="31" z=z+((cotan(z)^2-5.4-1i)/(2*cotan(z)-5.4-2i))^2 elseif @Va=="32" z=z-0.65i*cotanh(z) elseif @Va=="33" z=z+((cos(z)^2-3.85-1i)/(2*cos(z)-3.85-2i))^2 elseif @Va=="34" z=z-0.5/cosh(z) elseif @Va=="35" z=z+((recip(z)^2-2.5-1i)/(2*recip(z)-2.5-2i))^2 elseif @Va=="36" z=z+1i*sqr(z) elseif @Va=="37" z=z+((tanh(z)^2)/(2*tanh(z)-1))^2 elseif @Va=="38" z=z+25/sqr(z) elseif @Va=="39" z=z-0.3*(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="40" z=z+5/cosh(z) elseif @Va=="41" z=z-(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="42" z=z+((cotan(z)^2-3.8-1i)/(2*cotan(z)-3.8-2i))^2 elseif @Va=="43" z=z-1.5*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="44" z=z+((recip(z)^2+0.75)/(2*recip(z)-0.25))^2 elseif @Va=="45" z=z+0.7*(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="46" z=z+1.5i*sqr(1i*z) elseif @Va=="47" z=z+0.3*(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="48" z=z-1.3/cos(z) elseif @Va=="49" z=z+1.2*(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="50" z=z+1.25*(sin(z)-1i)/(sin(z)+1i) elseif @Va=="51" z=z-1.32i*tanh(z) elseif @Va=="52" z=z-0.42*(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="53" z=z+0.3/cos(z) elseif @Va=="54" z=z+0.5*(cotanh(z)-1i)/(cotanh(z)+1i) elseif @Va=="55" z=z+2/cosh(z) endif a=p1*(z-fn3(1i))/(z+fn3(1i)) b=p2*(z-1i)/(z+1i) z=(z-a)/(b-a)+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bicay J" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Bicay Parameter 1" default=(-0.5,0) endparam param p2 caption="Bicay Parameter 2" default=(1,0) endparam param p3 caption="Bicay Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() 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""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" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } BicayM { init: z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=0.3*z*(1i-sinh(z)) elseif @S=="3" z=z-0.55*exp(z) elseif @S=="4" z=z-sqr(z) elseif @S=="5" z=z+sqr(z) elseif @S=="6" z=z-0.3*cotanh(z) elseif @S=="7" z=z+0.3*cotanh(z) elseif @S=="8" z=z-0.3*tan(z) elseif @S=="9" z=z-tan(z) elseif @S=="10" z=z-2*tan(z) elseif @S=="11" z=z-0.55*sin(z) elseif @S=="12" z=z+0.85*cosh(z) elseif @S=="13" z=z-0.55*sinh(z) elseif @S=="14" z=z+1.5i*sinh(1i*z) elseif @S=="15" z=z+0.3i*exp(1i*z) elseif @S=="16" z=z+1i*exp(1i*z) elseif @S=="17" z=z-1i*sqr(1i*z) elseif @S=="18" z=z+2i*tan(1i*z) elseif @S=="19" z=z+1.5i*tan(1i*z) elseif @S=="20" z=z+1i*tan(1i*z) elseif @S=="21" z=z+0.3i*tan(1i*z) elseif @S=="22" z=z+1.5i*tanh(1i*z) elseif @S=="23" z=z+1.5i*cosh(1i*z) elseif @S=="24" z=z+1i*cosh(1i*z) elseif @S=="25" z=z+1i*cos(1i*z) elseif @S=="26" z=0.3*z*(1i-sin(z)) elseif @S=="27" z=z*(1i+sqr(z)) elseif @S=="28" z=z*(1i-sqr(z)) elseif @S=="29" z=z*(1i-cotan(z)) elseif @S=="30" z=z*(1i-0.5*tanh(z)) elseif @S=="31" z=z*(1i+0.5*tanh(z)) elseif @S=="32" z=z*(1i+tan(z)) elseif @S=="33" z=z*(1i+0.9*cos(z)) elseif @S=="34" z=z*(1i-0.9*cos(z)) elseif @S=="35" z=z*(1i+sinh(z)) elseif @S=="36" z=0.3*z*(1i-exp(z)) elseif @S=="37" z=-0.3*z*(1i-exp(z)) elseif @S=="38" z=z*(1i-exp(z)) elseif @S=="39" z=-z*(1i-exp(z)) elseif @S=="40" z=0.3*z*(1i-sqr(z)) elseif @S=="41" z=z*(1i-sqr(z)) elseif @S=="42" z=0.3*z*(1i-cotan(z)) elseif @S=="43" z=-0.3*z*(1i-cotan(z)) elseif @S=="44" z=0.3*z*(1i-tanh(z)) elseif @S=="45" z=-0.3*z*(1i-tanh(z)) elseif @S=="46" z=0.3*z*(1i-cosh(z)) elseif @S=="47" z=0.3*z*(1i-cos(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z+z^2*(z-2)/(1-2*z) elseif @Va=="2" z=z-1i*sqr(z) elseif @Va=="3" z=z-(z-1i)/(z+1i) elseif @Va=="4" z=z+3.25*(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="5" z=z+z^2*(sqr(z)-0.5)/(1-0.5*sqr(z)) elseif @Va=="6" z=z+2*(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="7" z=((sqr(z)^2-5-1i)/(2*sqr(z)-5-2i))^2 elseif @Va=="8" z=z+z^2*(z+0.3)/(1+0.3*z) elseif @Va=="9" z=z+1i*sqr(z) elseif @Va=="10" z=z-0.3*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="11" z=z+(sinh(z)-1i)/(sinh(z)+1i) elseif @Va=="12" z=z+((tan(z)^2-1-1i)/(2*tan(z)-1-2i))^2 elseif @Va=="13" z=z+z^2*(sin(z)-2)/(1-2*sin(z)) elseif @Va=="14" z=z+z^2*(recip(z)-0.5)/(1-0.5*recip(z)) elseif @Va=="15" z=z-2*(recip(z)-1i)/(recip(z)+1i) elseif @Va=="16" z=z+((z^2-2-1i)/(2*z-2-2i))^2 elseif @Va=="17" z=z+(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="18" z=z+2*(sinh(z)-1i)/(sinh(z)+1i) elseif @Va=="19" z=z+((recip(z)^2+1-1i)/(2*recip(z)+1-2i))^2 elseif @Va=="20" z=z+z^2*(z+2)/(1+2*z) elseif @Va=="21" z=z+(exp(z)-1i)/(exp(z)+1i) elseif @Va=="22" z=z+((z^2-4-1i)/(2*z-4-2i))^2 elseif @Va=="23" z=z+z^2*(recip(z)-2)/(1-2*recip(z)) elseif @Va=="24" z=z-3*(recip(z)-1i)/(recip(z)+1i) elseif @Va=="25" z=z+0.3*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="26" z=z+(recip(z)-1i)/(recip(z)+1i) elseif @Va=="27" z=((sqr(z)^2-10-1i)/(2*sqr(z)-10-2i))^2 elseif @Va=="28" z=z+0.3*(sinh(z)-1i)/(sinh(z)+1i) elseif @Va=="29" z=z+((sqr(z)^2+1-1i)/(2*sqr(z)+1-2i))^2 elseif @Va=="30" z=z+(cos(z)-1i)/(cos(z)+1i) elseif @Va=="31" z=z+z^2*(tanh(z)-0.5)/(1-0.5*tanh(z)) elseif @Va=="32" z=z+((sqr(z)^2-0.3-1i)/(2*sqr(z)-0.3-2i))^2 elseif @Va=="33" z=z+z^2*(sinh(z)+2)/(1+2*sinh(z)) elseif @Va=="34" z=z+(z-1i)/(z+1i) elseif @Va=="35" z=z-2*(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="36" z=z+0.35*(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="37" z=z+((sqr(z)^2+10-1i)/(2*sqr(z)+10-2i))^2 elseif @Va=="38" z=z^2*(cosh(z)-0.55)/(1-0.55*cosh(z)) elseif @Va=="39" z=z+((z^2-6-1i)/(2*z-6-2i))^2 elseif @Va=="40" z=z+z^2*(sin(z)+2)/(1+2*sin(z)) elseif @Va=="41" z=((sqr(z)^2+5-1i)/(2*sqr(z)+5-2i))^2 elseif @Va=="42" z=z-(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="43" z=z+((recip(z)^2-1-1i)/(2*recip(z)-1-2i))^2 elseif @Va=="44" z=z+2*(recip(z)-1i)/(recip(z)+1i) elseif @Va=="45" z=z+((sqr(z)^2+100-1i)/(2*sqr(z)+100-2i))^2 elseif @Va=="46" z=z+((z^2-8-1i)/(2*z-8-2i))^2 elseif @Va=="47" z=z+z^2*(tanh(z)+0.3)/(1+0.3*tanh(z)) elseif @Va=="48" z=((sqr(z)^2+10-1i)/(2*sqr(z)+10-2i))^2 elseif @Va=="49" z=z+z^2*(z-0.3)/(1-0.3*z) elseif @Va=="50" z=z+((sqr(z)^2-100-1i)/(2*sqr(z)-100-2i))^2 elseif @Va=="51" z=z+z^2*(sqr(z)+0.3)/(1+0.3*sqr(z)) elseif @Va=="52" z=z+((z^2-3-1i)/(2*z-3-2i))^2 endif a=p1*(z-1i*fn3(pixel))/(z+1i*fn3(pixel)) b=p2*(z-1i)/(z+1i) z=(z-a)/(b-a)+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bicay M" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Bicay Parameter 1" default=(-0.5,0) endparam param p2 caption="Bicay Parameter 2" default=(1,0) endparam param p3 caption="Bicay Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() 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""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 p6 caption="Möbius Parameter 1" default=(0,0) endparam param p10 caption="Möbius Parameter 2" default=(0,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } DoubleLogisticJulia { init: z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=z+1i*exp(1i*z) elseif @S=="3" z=z+1i*sqr(1i*z) elseif @S=="4" z=z+((z^2-1-1i)/(2*z-1-2i))^2 elseif @S=="5" z=z+((sqr(z)^2-1-1i)/(2*sqr(z)-1-2i))^2 elseif @S=="6" z=z+((cos(z)^2-1-1i)/(2*cos(z)-1-2i))^2 elseif @S=="7" z=z+0.3i*cabs(1i*z) elseif @S=="8" z=z+0.3i*abs(1i*z) elseif @S=="9" z=z+((sinh(z)^2+1-1i)/(2*sinh(z)+1-2i))^2 elseif @S=="10" z=z+((tan(z)^2+1-1i)/(2*tan(z)+1-2i))^2 elseif @S=="11" z=z+0.3i*tan(1i*z) elseif @S=="12" z=z+((cotan(z)^2+1-1i)/(2*cotan(z)+1-2i))^2 elseif @S=="13" z=z+((sqr(z)^2+1-1i)/(2*sqr(z)+1-2i))^2 elseif @S=="14" z=z+((exp(z)^2-1i)/(2*exp(z)-2i))^2 elseif @S=="15" z=z-0.3i*abs(1i*z) elseif @S=="16" z=z+2i*tanh(1i*z) elseif @S=="17" z=z+0.3*1i*flip(1i*z) elseif @S=="18" z=z+z^2*(sqr(z)+1)/(1i+sqr(z)) elseif @S=="19" z=(z-1i)/(z+1i) elseif @S=="20" z=(exp(z)-1i)/(exp(z)+1i) elseif @S=="21" z=z-(z^3-1i)/(3*z^2) elseif @S=="22" z=z-(exp(z)^3-1i)/(3*exp(z)^2) elseif @S=="23" z=(cotan(z)-1i)/(cotan(z)+1i) elseif @S=="24" z=(cos(z)-1i)/(cos(z)+1i) elseif @S=="25" z=(sin(z)-1i)/(sin(z)+1i) elseif @S=="26" z=0.3*(sin(z)-1i)/(sin(z)+1i) elseif @S=="27" z=z+z^2*(z-1)/(1i-z) elseif @S=="28" z=z+z^2*(cos(z)-1)/(1i-cos(z)) elseif @S=="29" z=z+z^2*(cos(z)+1)/(1i+cos(z)) elseif @S=="30" z=z+z^2*(cosh(z)+1)/(1i+cosh(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @va=="1" z=z^2*(z-7.5)/(1-7.5*z) elseif @va=="2" z=z+((sqr(z)^2-11-1i)/(2*sqr(z)-11-2i))^2 elseif @va=="3" z=z^2*(sinh(z)-7.5)/(1-7.5*sinh(z)) elseif @va=="4" z=z+z^2*(cos(z)-0.5)/(1-0.5*cos(z)) elseif @va=="5" z=((flip(z)^2-6.55-1i)/(2*flip(z)-6.55-2i))^2 elseif @va=="6" z=z+conj(1/(flip(z)-1.662))+1.662 elseif @va=="7" z=z+conj(1/(flip(z)-1))+1 elseif @va=="8" z=z+((sqr(z)^2-4-1i)/(2*sqr(z)-4-2i))^2 elseif @va=="9" z=((z^2-4.75-1i)/(2*z-4.75-2i))^2 elseif @va=="10" z=z+z^2*(cosh(z)-2)/(1-2*cosh(z)) elseif @va=="11" z=((z^2+0.33)/(2*z-0.67))^2 elseif @va=="12" z=z^2*(tan(z)-7.5)/(1-7.5*tan(z)) elseif @va=="13" z=((flip(z)^2+0.33)/(2*flip(z)-0.67))^2 elseif @va=="14" z=((z^2-4.1-1i)/(2*z-4.1-2i))^2 endif z=fn3(p1)*z*(1-z) z=fn3(p2)*z*(1-z) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Double Logistic Julia" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Logistic Parameter 1" default=(1,0) endparam param p2 caption="Logistic Parameter 2" default=(1,0) endparam func fn3 caption="C Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } ModifiedDoubleLogisticJulia { init: z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=z+((cosh(z)^2-1-1i)/(2*cosh(z)-1-2i))^2 elseif @S=="3" z=0.3*(recip(z)-1i)/(recip(z)+1i) elseif @S=="4" z=z+1i*exp(1i*z) elseif @S=="5" z=z+1i*cosh(1i*z) elseif @S=="6" z=-((1+flip(z))/(1-flip(z)))^2 elseif @S=="7" z=z-((1+cotan(z))/(1-cotan(z)))^2 elseif @S=="8" z=z+((sqr(z)^2-1-1i)/(2*sqr(z)-1-2i))^2 elseif @S=="9" z=z+0.3*1i*tanh(1i*z) elseif @S=="10" z=((1+cotan(z))/(1-cotan(z)))^2 elseif @S=="11" z=-0.15*(cos(z)-1i)/(cos(z)+1i) elseif @S=="12" z=z+((z^2-1i)/(2*z-2i))^2 elseif @S=="13" z=z+((cosh(z)^2+1-1i)/(2*cosh(z)+1-2i))^2 elseif @S=="14" z=z-0.585*(sinh(z)-1i)/(sinh(z)+1i) elseif @S=="15" z=z+0.3*((1+sqr(z))/(1-sqr(z)))^2 elseif @S=="16" z=z+((z^2+12-1i)/(2*z+12-2i))^2 elseif @S=="17" z=z-0.67*(cosh(z)-1i)/(cosh(z)+1i) elseif @S=="18" z=z+((cos(z)^2+1-1i)/(2*cos(z)+1-2i))^2 elseif @S=="19" z=z+0.3*1i*exp(1i*z) elseif @S=="20" z=-0.5*(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="21" z=z-0.3*1i*cotan(1i*z) elseif @S=="22" z=-((1+cotan(z))/(1-cotan(z)))^2 elseif @S=="23" z=z-0.3*((1+sqr(z))/(1-sqr(z)))^2 elseif @S=="24" z=0.3*(z-1i)/(z+1i) elseif @S=="25" z=z+((z^2+1-1i)/(2*z+1-2i))^2 elseif @S=="26" z=z-((1+z)/(1-z))^2 elseif @S=="27" z=z-0.42*(cos(z)-1i)/(cos(z)+1i) elseif @S=="28" z=0.3*((1+sqr(z))/(1-sqr(z)))^2 elseif @S=="29" z=((1+flip(z))/(1-flip(z)))^2 elseif @S=="30" z=(recip(z)-1i)/(recip(z)+1i) elseif @S=="31" z=z-0.75*(exp(z)-1i)/(exp(z)+1i) elseif @S=="32" z=z+((sqr(z)^2+1-1i)/(2*sqr(z)+1-2i))^2 elseif @S=="33" z=-0.3*(exp(z)-1i)/(exp(z)+1i) elseif @S=="34" z=z+((tan(z)^2+1-1i)/(2*tan(z)+1-2i))^2 elseif @S=="35" z=z-1.25*(cosh(z)-1i)/(cosh(z)+1i) elseif @S=="36" z=-0.3*((1+sqr(z))/(1-sqr(z)))^2 elseif @S=="37" z=-0.25*(cotan(z)-1i)/(cotan(z)+1i) elseif @S=="38" z=z-1i*sqr(1i*z) elseif @S=="39" z=-0.3*(z-1i)/(z+1i) elseif @S=="40" z=z-((1+cotanh(z))/(1-cotanh(z)))^2 elseif @S=="41" z=1.1*(cos(z)-1i)/(cos(z)+1i) elseif @S=="42" z=-0.4*(cos(z)-1i)/(cos(z)+1i) elseif @S=="43" z=0.75*(tanh(z)-1i)/(tanh(z)+1i) elseif @S=="44" z=0.42*(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="45" z=z+((exp(z)^2+1-1i)/(2*exp(z)+1-2i))^2 elseif @S=="46" z=-0.65*(exp(z)-1i)/(exp(z)+1i) elseif @S=="47" z=z+((exp(z)^2-0.65-1i)/(2*exp(z)-0.65-2i))^2 elseif @S=="48" z=-0.3*(recip(z)-1i)/(recip(z)+1i) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @va=="1" z=z-(z^3-1i)/(3*z^2) elseif @va=="2" z=z-3*(sin(z)^3-1i)/(3*sin(z)^2) elseif @va=="3" z=z+z^2*(recip(z)+1.32)/(1+1.32*recip(z)) elseif @va=="4" z=z+z^2*(cotanh(z)+1.45)/(1+1.45*cotanh(z)) elseif @va=="5" z=z+z^2*(sin(z)+0.7)/(1+0.7*sin(z)) elseif @va=="6" z=z+1i*cos(0.25*z) elseif @va=="7" z=2.2248021i*((1+z)/(1-z))^2 elseif @va=="8" z=1.7855*((1+z)/(1-z))^2 elseif @va=="9" z=z-0.45/z elseif @va=="10" z=z-2.27/cotanh(z) elseif @va=="11" if |z|<1 z=z/|z| endif z=-0.67*z elseif @va=="12" if |z|<1 z=z/|z| endif z=-0.67*conj(z) elseif @va=="13" if |z|<1 z=z/|z| endif z=-0.25*sqr(z) elseif @va=="14" if |z|>1 z=z/|z| endif z=-0.615*cotan(z) elseif @va=="15" if |z|>1 z=z/|z| endif z=-0.615*recip(z) elseif @va=="16" if real(z)imag(z) z=flip(z) endif z=0.5659*conj(z) elseif @va=="21" if real(z)>imag(z) z=flip(z) endif z=sqr(z) endif z=p1*z*(1i-z)+fn3(p2) z=p2*z*(1-z)-fn3(p1) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Modified Double Logistic Julia" center=(0.001,0.001) 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 p1 caption="Modolo Parameter 1" default=(1,0) endparam param p2 caption="Modolo Parameter 2" default=(-0.3,0) endparam func fn3 caption="C Function" default=ident() 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" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Strato { init: z=fn1(pixel) if @S=="1" z=(sinh(z)-1)^2/(1-10*z) elseif @S=="2" z=(z-1)^2/(1-10*z) elseif @S=="3" z=(tanh(z)-1)^2/(1-10*z) elseif @S=="4" z=(cosh(z)-1)^2/(1-10*cos(z)) elseif @S=="5" z=(tan(z)-1)^2/(1-10*sqr(z)) elseif @S=="6" z=(tan(z)-1)^2/(1-10*cotanh(z)) elseif @S=="7" z=(z-1)^2/(1-10*cosh(z)) elseif @S=="8" z=(cosh(z)-1)^2/(1-10*z) elseif @S=="9" z=(cos(z)-1)^2/(1-10*sqr(z)) elseif @S=="10" z=(z-1)^2/(1-10*sinh(z)) elseif @S=="11" z=(cos(z)-1)^2/(1-10*cotanh(z)) elseif @S=="12" z=(sin(z)-1)^2/(1-10*z) elseif @S=="13" z=(sqr(z)-1)^2/(1-10*cotan(z)) elseif @S=="14" z=(z-1)^2/(1-10*tanh(z)) elseif @S=="15" z=(sqr(z)-1)^2/(1-10*sqr(z)) elseif @S=="16" z=(sin(z)-1)^2/(1-10*cotanh(z)) elseif @S=="17" z=(z-1)^2/(1-10*tan(z)) elseif @S=="18" z=(sin(z)-1)^2/(1-10*sqr(z)) elseif @S=="19" z=(z-1)^2/(1-10*cos(z)) elseif @S=="20" z=(tan(z)-1)^2/(1-10*z) elseif @S=="21" z=(recip(z)-1)^2/(1-10*recip(z)) elseif @S=="22" z=(z-1)^2/(1-10*sin(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) if @Va=="None" z=z elseif @va=="1" z=z^2*(z-7.5)/(1-7.5*z) elseif @va=="2" z=z^3 elseif @va=="3" z=z-0.6*(z-1i)/(z+1i) elseif @va=="4" z=z^2*(exp(z)-2)/(1-2*exp(z)) elseif @va=="5" z=z^2*(sinh(z)+2)/(1+2*sinh(z)) elseif @va=="6" z=z-0.33*(sqr(z)-1i)/(sqr(z)+1i) elseif @va=="7" z=z^2*(sinh(z)-2)/(1-2*sinh(z)) elseif @va=="8" z=1.9*(sqr(z)-1i)/(sqr(z)+1i) elseif @va=="9" z=z+2.55*1i*tan(1i*z) elseif @va=="10" z=z+1i/sin(16*1i*z) elseif @va=="11" z=z+0.3*1i*recip(1i*z) elseif @va=="12" z=z+1/(32*z) elseif @va=="13" z=z+1i/cotan(1.75*1i*z) elseif @va=="14" z=z+0.3*1i*tan(1i*z) elseif @va=="15" z=z+((z^2-1i)/(2*z-2i))^2 elseif @va=="16" z=z+((z^2+3.75-1i)/(2*z+3.75-2i))^2 elseif @va=="17" z=z+((exp(z)^2+0.5-1i)/(2*exp(z)+0.5-2i))^2 elseif @va=="18" z=z+((sqr(z)^2-1i)/(2*sqr(z)-2i))^2 elseif @va=="19" z=0.5*(z+1/z) elseif @va=="20" z=-0.4*(z+1/z) elseif @va=="21" z=0.8*(z-2)/(1-2*z) elseif @va=="22" z=-0.23359*(z-2)/(1-2*z) endif z=z+p1*sqr(z) z=exp(p2)*(z-1)^2/(1+fn3(p3)*z) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Strato" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Strato Parameter 1" default=(1,0) endparam param p2 caption="Strato Parameter 2" default=(0,0) endparam param p3 caption="Strato Parameter 3" default=(1,0) endparam func fn3 caption="C Function" default=ident() 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" 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="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 bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Firnee { init: a=(0,0) b=(0,0) z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=-(cos(z)-1i)/(cos(z)+1i) elseif @S=="3" z=recip(sqr(z)+1/z) elseif @S=="4" z=((cosh(z)^2-1i)/(2*cosh(z)-2i))^2 elseif @S=="5" z=0.65*((recip(z)^2-1i)/(2*recip(z)-2i))^2 elseif @S=="6" z=((exp(z)^2+0.5)/(2*exp(z)-0.5))^2 elseif @S=="7" z=-0.1*(cotanh(z)-1i)/(cotanh(z)+1i) elseif @S=="8" z=0.36*(sinh(z)-1i)/(sinh(z)+1i) elseif @S=="9" z=1.45*((sin(z)^2-1i)/(2*sin(z)-2i))^2 elseif @S=="10" z=-0.1*(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="11" z=0.56*(recip(z)-1i)/(recip(z)+1i) elseif @S=="12" z=-0.3*(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="13" z=-(recip(z)-1i)/(recip(z)+1i) elseif @S=="14" z=-0.75*((tanh(z)^2-1i)/(2*tanh(z)-2i))^2 elseif @S=="15" z=-(z-1i)/(z+1i) elseif @S=="16" z=z^2-0.3*(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="17" z=((cos(z)^2-0.185)/(2*cos(z)-1.185))^2 elseif @S=="18" z=z^2-(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="19" z=((z^2+0.5)/(2*z-0.5))^2 elseif @S=="20" z=z+1i*cos(1i*z) elseif @S=="21" z=0.65*((sqr(z)^2-1i)/(2*sqr(z)-2i))^2 elseif @S=="22" z=0.56*(exp(z)-1i)/(exp(z)+1i) elseif @S=="23" z=((cos(z)^2+0.5)/(2*cos(z)-0.5))^2 elseif @S=="24" z=z*(1i+0.5*tanh(z)) elseif @S=="25" z=-0.75*((sinh(z)^2-1i)/(2*sinh(z)-2i))^2 elseif @S=="26" z=z-0.3*(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="27" z=z*(1i-0.9*cos(z)) elseif @S=="28" z=((z^2-2.5)/(2*z-3.5))^2 elseif @S=="29" z=z-(cos(z)-1i)/(cos(z)+1i) elseif @S=="30" z=(z-1i)/(z+1i) elseif @S=="31" z=-0.75*((tan(z)^2-1i)/(2*tan(z)-2i))^2 elseif @S=="32" z=-(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="33" z=sqr(sqr(z)+1/z) elseif @S=="34" z=((z^2-1i)/(2*z-2i))^2 elseif @S=="35" z=0.6*(z-1i)/(z+1i) elseif @S=="36" z=0.1*(sqr(z)-1i)/(sqr(z)+1i) elseif @S=="37" z=0.1*(cotanh(z)-1i)/(cotanh(z)+1i) elseif @S=="38" z=-0.3*((sqr(z)^2-1i)/(2*sqr(z)-2i))^2 endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z+0.75/exp(z) elseif @Va=="2" z=-7*((conj(z)^2-1i)/(2*conj(z)-2i))^2 elseif @Va=="3" z=((sqr(z)^2+308)/(2*sqr(z)+307))^2 elseif @Va=="4" z=z^2*(cosh(z)-20)/(1-20*cosh(z)) elseif @Va=="5" z=((conj(z)^2-0.7)/(2*conj(z)-1.7))^2 elseif @Va=="6" z=((cos(z)^2-50.0465)/(2*cos(z)-51.0465))^2 elseif @Va=="7" z=((exp(z)^2+43)/(2*exp(z)+42))^2 elseif @Va=="8" z=((cosh(z)^2+25.69509)/(2*cosh(z)+24.69509))^2 elseif @Va=="9" z=((sqr(z)^2-46)/(2*sqr(z)-47))^2 elseif @Va=="10" z=z^2*(recip(z)-2)/(1-2*recip(z)) elseif @Va=="11" z=((cos(z)^2-40.786)/(2*cos(z)-41.786))^2 elseif @Va=="12" z=((exp(z)^2+28)/(2*exp(z)+27))^2 elseif @Va=="13" z=((flip(z)^2-1.15)/(2*flip(z)-2.15))^2 elseif @Va=="14" z=z^2*(z+1.5)/(1+1.5*z) elseif @Va=="15" z=((cosh(z)^2-7.7106)/(2*cosh(z)-8.7106))^2 elseif @Va=="16" z=z^2*(abs(z)+1.3)/(1+1.3*abs(z)) elseif @Va=="17" z=((sqr(z)^2-61)/(2*sqr(z)-62))^2 elseif @Va=="18" z=((z^2-1.75)/(2*z-2.75))^2 elseif @Va=="19" z=((sqr(z)^2+217)/(2*sqr(z)+216))^2 elseif @Va=="20" z=((cos(z)^2+37)/(2*cos(z)+36))^2 elseif @Va=="21" z=((exp(z)^2+49.33)/(2*exp(z)+48.33))^2 elseif @Va=="22" z=((sqr(z)^2+129)/(2*sqr(z)+128))^2 elseif @Va=="23" z=-0.82*z*(1-exp(z)) elseif @Va=="24" z=-2.66*z*(1-cosh(z)) elseif @Va=="25" z=1.885*z*(1-recip(z)) elseif @Va=="26" z=z+1.08*z*(1-cosh(z)) elseif @Va=="27" z=-0.5*z*(1i-1/z) elseif @Va=="28" z=1.33*z*(1i-1/z) elseif @Va=="29" z=1.06*z*(1i-cotanh(z)) endif a=-0.5*(z-1i)/(z+1i) b=(a-1i)/(a+1i) z=p1*(z-a)/(b-a)+fn3(p2) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Firnee" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Firnee Parameter 1" default=(1,0) endparam param p2 caption="Firnee Parameter 2" default=(0,0) 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" 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="Add Sqr Parameter" default=(0,0) endparam 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 func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Glida { init: a=(0,0) b=(0,0) z=fn1(pixel) if @S=="1" z=z elseif @S=="2" z=-0.3*z*(1i-tanh(z)) elseif @S=="3" z=z-(cotanh(z)^3-1i)/(3*cotanh(z)) elseif @S=="4" z=z-2.9*(cosh(z)^3-1i)/(3*cosh(z)) elseif @S=="5" z=z+((cosh(z)^2-1i)/(2*cosh(z)-2i))^2 elseif @S=="6" z=z-0.3*cotanh(z) elseif @S=="7" z=z+0.3*cotanh(z) elseif @S=="8" z=z-0.3*tan(z) elseif @S=="9" z=z+z*(1-tanh(z)) elseif @S=="10" z=z+((tanh(z)^2-2-1i)/(2*tanh(z)-2-2i))^2 elseif @S=="11" z=z+0.8*(z^3-1i)/(3*z) elseif @S=="12" z=z+((recip(z)^2-1i)/(2*recip(z)-2i))^2 elseif @S=="13" z=z+((cotanh(z)^2-3.4-1i)/(2*cotanh(z)-3.4-2i))^2 elseif @S=="14" z=((recip(z)^2-4.2-1i)/(2*recip(z)-4.2-2i))^2 elseif @S=="15" z=z+0.3i*exp(1i*z) elseif @S=="16" z=z+1i*exp(1i*z) elseif @S=="17" z=z-1i*sqr(1i*z) elseif @S=="18" z=z-(tanh(z)^3-1i)/(3*tanh(z)) elseif @S=="19" z=z+((exp(z)^2-1i)/(2*exp(z)-2i))^2 elseif @S=="20" z=z-(sqr(z)^3-1i)/(3*sqr(z)) elseif @S=="21" z=z+z*(1-sin(z)) elseif @S=="22" z=z-(cos(z)^3-1i)/(3*cos(z)) elseif @S=="23" z=z+1.5i*cosh(1i*z) elseif @S=="24" z=z+1i*cosh(1i*z) elseif @S=="25" z=z+1i*cos(1i*z) elseif @S=="26" z=z+((z^2-1i)/(2*z-2i))^2 elseif @S=="27" z=z*(1i+sqr(z)) elseif @S=="28" z=z+((sqr(z)^2-1i)/(2*sqr(z)-2i))^2 elseif @S=="29" z=z+((cotan(z)^2-3.4-1i)/(2*cotan(z)-3.4-2i))^2 elseif @S=="30" z=z-(cotan(z)^3-1i)/(3*cotan(z)) elseif @S=="31" z=z-(recip(z)^3-1i)/(3*recip(z)) elseif @S=="32" z=z-(tan(z)^3-1i)/(3*tan(z)) elseif @S=="33" z=z*(1i+0.9*cos(z)) elseif @S=="34" z=z+((cos(z)^2-1i)/(2*cos(z)-2i))^2 elseif @S=="35" z=z+conj(1/(flip(z)-0.58))+0.58 elseif @S=="36" z=0.3*z*(1i-exp(z)) elseif @S=="37" z=-0.3*z*(1i-exp(z)) elseif @S=="38" z=z*(1i-exp(z)) elseif @S=="39" z=-z*(1i-exp(z)) elseif @S=="40" z=0.3*z*(1i-sqr(z)) elseif @S=="41" z=z+((tan(z)^2+1.8-1i)/(2*tan(z)+1.8-2i))^2 elseif @S=="42" z=0.3*z*(1i-cos(z)) elseif @S=="43" z=0.3*z*(1i-cosh(z)) elseif @S=="44" z=0.3*z*(1i-tanh(z)) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif elseif @Va=="2" z=((cos(z)^2-3.744-1i)/(2*cos(z)-3.744-2i))^2 elseif @Va=="3" z=((conj(z)^2-1.47-1i)/(2*conj(z)-1.47-2i))^2 elseif @Va=="4" z=z-0.3*exp(z) elseif @Va=="5" z=((z^2-2.55-1i)/(2*z-2.55-2i))^2 elseif @Va=="6" z=z+0.53*(cos(z)-1i)/(cos(z)+1i) elseif @Va=="7" z=z+0.3i/cos(z) elseif @Va=="8" z=z-0.3i*exp(z) elseif @Va=="9" z=((flip(z)^2-1.135-1i)/(2*flip(z)-1.135-2i))^2 elseif @Va=="10" z=((cos(z)^2-6.39-1i)/(2*cos(z)-6.39-2i))^2 elseif @Va=="11" z=((conj(z)^2-4.943-1i)/(2*conj(z)-4.943-2i))^2 elseif @Va=="12" z=z^2*(tanh(z)-3.5)/(1i-3.5*tanh(z)) elseif @Va=="13" z=((flip(z)^2+6.845-1i)/(2*flip(z)+6.845-2i))^2 elseif @Va=="14" z=z-0.6*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="15" z=((abs(z)^2-1.098-1i)/(2*abs(z)-1.098-2i))^2 elseif @Va=="16" z=((flip(z)^2-5.6-1i)/(2*flip(z)-5.6-2i))^2 elseif @Va=="17" z=-0.84412*cotanh((z-1)/(z+1)) elseif @Va=="18" z=-1.56763*tanh((z-1)/(z+1)) elseif @Va=="19" z=-recip((z-1)/(z+1)) elseif @Va=="20" z=-((z-1)/(z+1)) elseif @Va=="21" z=0.975*sqr((z-1)/(z+1)) elseif @Va=="22" z=-0.76143*cotan((z-1)/(z+1)) elseif @Va=="23" z=-1.67*exp((z-1)/(z+1)) endif a=z*(1+z)/(p1+z^3) b=z*(1+z)/(p2+z^3) z=(z-a)/(b-a)+fn3(p3) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Glida" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Glida Parameter 1" default=(1,0) endparam param p2 caption="Glida Parameter 2" default=(-1,0) endparam param p3 caption="Glida Parameter 3" default=(0,0) 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" 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="Add Sqr Parameter" default=(0,0) endparam 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 func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Clufemol { init: z=fn1(pixel) if @S=="Pixel" z=(@sp+1)*z+@sp elseif @S=="Kali" x=real(z) y=imag(z) x=x/|z|+real(@sp) y=y/|z|+imag(@sp) z=x+flip(y) elseif @S=="Magnet" z=((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="Modified Magnet" z=((z^2+@sp-1i)/(2*z+@sp-2i))^2 elseif @S=="Newton 1" z=z+(@sp+1)*(z^3-1)/(3*z^2) elseif @S=="Newton 2" z=z+(@sp+1)*(z^4-1i)/(4*z^3) elseif @S=="Munster" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="Modified Munster" z=z^2*(z-@sp)/(1i-@sp*z) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=-0.69*exp((z-1)/(z+1)) elseif @Va=="2" z=exp((z^2+0.5)/(2*z-0.5))^2 elseif @Va=="3" z=sqr((z-1)/(z+1)) elseif @Va=="4" z=flip((z^2-6)/(2*z-7))^2 elseif @Va=="5" z=-0.335*cotan((z-1)/(z+1)) elseif @Va=="6" z=0.45*recip((z-1)/(z+1)) elseif @Va=="7" z=abs((z-1)/(z+1)) elseif @Va=="8" z=(conj(z)-1i)/(conj(z)+1i) elseif @Va=="9" z=(z-1)/(z+1) elseif @Va=="10" z=z-2*(sqr(z)^4-1)/(4*sqr(z)^3) elseif @Va=="11" z=z+4.75*(cotan(z)^4-1)/(4*cotan(z)^3) elseif @Va=="12" z=z+7*(recip(z)^4-1)/(4*recip(z)^3) elseif @Va=="13" z=0.67*exp((z-1)/(z+1)) elseif @Va=="14" z=flip((z^2-1.4)/(2*z-2.4))^2 elseif @Va=="15" z=0.4*cotan((z-1)/(z+1)) elseif @Va=="16" z=1.1845*sin((z-1)/(z+1)) elseif @Va=="17" z=((abs(z)^2-1.5)/(2*abs(z)-2.5))^2 elseif @Va=="18" z=((sqr(z)^2-1.12791)/(2*sqr(z)-2.12791))^2 elseif @Va=="19" z=(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="20" z=-(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="21" z=z-0.15*(recip(z)^4-1)/(4*recip(z)^3) elseif @Va=="22" z=z-9.5*(sqr(z)^4-1)/(4*sqr(z)^3) elseif @Va=="23" z=z+3*(cos(z)^4-1)/(4*cos(z)^3) elseif @Va=="24" z=z+0.5*(sqr(z)^4-1)/(4*sqr(z)^3) endif z=conj(1/(z-1))+1 z=exp(p2)*z^2*(z-p1)/(1-p1*z) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Clufemol" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="Pixel""Kali""Magnet""Modified Magnet""Newton 1""Newton 2""Munster""Modified Munster" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Clufemol Parameter 1" default=(2,0) endparam param p2 caption="Clufemol Parameter 2" default=(0,0) 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" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } ModifiedMunster2 { init: z=fn1(pixel) z=z+@sp*z^2*(z-2)/(1-2*tanh(z)) loop: zold=z z=p4*fn2((z))+p5 if @JM=="M" z=exp(p3)*z^2*(z-p1*fn3(pixel))/(1-p1*fn3(pixel)*tanh(z))+p2 else z=exp(p3)*z^2*(z-fn3(p1))/(1-fn3(p1)*tanh(z))+p2 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Modified Munster 2" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" default=1 endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Munster Parameter 1" default=(2,0) endparam param p2 caption="Munster Parameter 2" default=(0,0) endparam param p3 caption="Munster Parameter 3" default=(0,0) endparam func fn3 caption="C 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 bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Joocu { init: z=fn1(pixel) z=z+@sp*z^2*(z-2)/(1-2*z) loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=0.75*abs((1+1i)*z/2) endif z=z-p1^2*z+p1*z^2*(sinh(p2)+cosh(p2)*p1)+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Joocu" center=(0.001,0.001) periodicity=0 param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6" endparam param p1 caption="Joocu Parameter 1" default=(0.4,-0.47) endparam param p2 caption="Joocu Parameter 2" default=(1,0) endparam param p3 caption="Joocu 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 param p8 caption="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Sporoi { init: z=fn1(pixel) z=z+@sp*z^2*(z-2)/(1-2*tanh(z)) loop: zold=z z=p4*fn2((z))+p5 z=z+@p8*sqr(z) z=(p1*(1-z^2)+2*z*p2*(1+z*p1*p2))/(1+z^2+2*z*p1*p2)+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Sporoi" center=(0.001,0.001) periodicity=0 param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Sporoi Parameter 1" default=(1.7,-0.3) endparam param p2 caption="Sporoi Parameter 2" default=(-1,-0.5) endparam param p3 caption="Sporoi Parameter 3" default=(0,0) endparam 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 p8 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Inderlab { init: z=fn1(pixel) if @S=="1" z=@sp1*z+@sp2 elseif @S=="2" z=z+@sp1*((1+1i)*z/2)+@sp2 elseif @S=="3" z=z+@sp1*(1-(1-1i)*z/2)+@sp2 elseif @S=="4" z=z+@sp1*((1-1i)*z/2)+@sp2 elseif @S=="5" z=z+@sp1*(1-(1+1i)*z/2)+@sp2 elseif @S=="6" z=z+@sp1*(1+(1-1i)*z/2)+@sp2 elseif @S=="7" z=z+@sp1*(1+(1+1i)*z/2)+@sp2 endif loop: zold=z z=p4*fn2((z))+p5 z=z+@p8*sqr(z) z=(p1*fn3(pixel)+1i)*z^2/2 z=p3*(p2-(p1*fn3(pixel)-1i)*z^2/2) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Inderlab" center=(0.001,0.001) periodicity=0 angle=90 param S caption="Start Variant" enum="1""2""3""4""5""6""7" endparam param sp1 caption="Start Parameter 1" default=(1,0) endparam param sp2 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Inderlab Parameter 1" default=(1,0) endparam param p2 caption="Inderlab Parameter 2" default=(1,0) endparam param p3 caption="Inderlab Parameter 3" default=(1,0) endparam func fn3 caption="C Function" default=ident() endfunc param p8 caption="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Staslum { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-@p8)/(1-@p8*z) z=z/(@p9*z+1) z=z+@p10*sqr(z) z=z+@p11*(z-1i)/(z+1i) z=z+@p12/z if @JM=="J" z=((p1*(1-z^2)-2*z*p2*(1-p1*p2*z))/(1+z^2-2*p1*p2*z))^2+fn3(p3) elseif @JM=="M1" z=((p1*fn3(pixel)*(1-z^2)-2*z*p2*(1-p1*p2*z))/(1+z^2-2*p1*p2*z))^2+p3 elseif @JM=="M2" z=((p1*(1-z^2)-2*z*p2*fn3(pixel)*(1-p1*p2*z))/(1+z^2-2*p1*p2*z))^2+p3 elseif @JM=="M3" z=((p1*(1-z^2)-2*z*p2*fn3(pixel)*(1-p1*p2*fn3(pixel)*z))/(1+z^2-2*p1*p2*fn3(pixel)*z))^2+p3 elseif @JM=="M4" z=((p1*fn3(pixel)*(1-z^2)-2*z*p2*(1-p1*p2*fn3(pixel)*z))/(1+z^2-2*p1*p2*fn3(pixel)*z))^2+p3 elseif @JM=="M5" z=((p1*(1-z^2)-2*z*p2*fn3(pixel)*(1-p1*p2*fn3(pixel)*z))/(1+z^2-2*p1*p2*z))^2+p3 elseif @JM=="M6" z=((p1*fn3(pixel)*(1-z^2)-2*z*p2*(1-p1*p2*fn3(pixel)*z))/(1+z^2-2*p1*p2*z))^2+p3 elseif @JM=="M7" z=((p1*fn3(pixel)*(1-z^2)-2*z*p2*fn3(pixel)*(1-p1*p2*z))/(1+z^2-2*p1*p2*z))^2+p3 elseif @JM=="M8" z=((p1*fn3(pixel)*(1-z^2)-2*z*p2*(1-p1*p2*z))/(1+z^2-2*p1*p2*z))^2+(p3-1)*fn3(pixel) elseif @JM=="M9" z=((p1*(1-z^2)-2*z*p2*fn3(pixel)*(1-p1*p2*z))/(1+z^2-2*p1*p2*z))^2+(p3-1)*fn3(pixel) elseif @JM=="M10" z=((p1*(1-z^2)-2*z*p2*(1-p1*p2*fn3(pixel)*z))/(1+z^2-2*p1*p2*z))^2+(p3-1)*fn3(pixel) elseif @JM=="M11" z=((p1*(1-z^2)-2*z*p2*(1-p1*p2*z))/(1+z^2-2*p1*p2*fn3(pixel)*z))^2+(p3-1)*fn3(pixel) elseif @JM=="M12" z=((p1*(1-z^2)-2*z*p2*(1-p1*p2*fn3(pixel)*z))/(1+z^2-2*p1*p2*fn3(pixel)*z))^2+(p3-1)*fn3(pixel) endif z=p6*fn4(log(abs(z)))+@p7 endwhile z=z*51/50 bailout: |z|<@bail default: title="Staslum" center=(0.001,0.001) periodicity=0 maxiter=500 param JM caption="J/M" enum="J""M1""M2""M3""M4""M5""M6""M7"\ "M8""M9""M10""M11""M12" endparam param iter caption="Iterations" default=3 endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Staslum Parameter 1" default=(0.5,0) endparam param p2 caption="Staslum Parameter 2" default=(1,0) endparam param p3 caption="Staslum Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p11 caption="Add Cayley Parameter" default=(0,0) endparam param p12 caption="Add Recip Parameter" default=(0,0) endparam 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 p6 caption="Labs Parameter 1" default=(1,0) endparam param p7 caption="Labs Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } MunoneJ { init: z=fn1(pixel) z=z+@sp*z^2*(z-2)/(1-2*z) loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @M=="None" z=z elseif @M=="1" z=z+z^2*(exp(z)-1.4)/(1-1.4*exp(z)) elseif @M=="2" z=0.8*(tan(z)-0.3i)/(recip(z)+0.3i) elseif @M=="3" z=z-0.56292*(sqr(z)-3i)/(exp(z)+3i) elseif @M=="4" z=z+z^2*(sin(z)-0.9)/(1-0.9*sin(z)) elseif @M=="5" z=z+0.2i*exp(z) elseif @M=="6" z=z+0.7i*sqr(z) elseif @M=="7" z=z-0.6*(recip(z)-1.37i)/(z+1.37i) elseif @M=="8" z=z+0.8i*tanh(z) elseif @M=="9" z=0.55*(sqr(z)-1i)/(z+1i) elseif @M=="10" z=z+0.1i*tan(z) elseif @M=="11" z=z+0.75i*cos(z) elseif @M=="12" z=z-0.73*(sin(z)-1.35i)/(sin(z)+1.35i) elseif @M=="13" z=z+sqr(0.3i*z) elseif @M=="14" z=z+tanh(0.8168i*z) elseif @M=="15" if |z|<1 z=z/|z| endif elseif @M=="16" if |z|>1 z=z/|z| endif z=1.67i*sqr(z) elseif @M=="17" z=((sqr(z)^2-5.85-1i)/(2*z-5.85-2i))^2 elseif @M=="18" z=z+0.98*(sqr(z)-0.3i)/(cos(z)+0.3i) elseif @M=="19" z=((sqr(z)^2-10.25892)/(2*cosh(z)-11.25892))^2 elseif @M=="20" if |z|>1 z=z/|z| endif z=1.15*tan(z) elseif @M=="21" if |z|>1 z=z/|z| endif z=1.245*cos(z) elseif @M=="22" z=1.25*(sqr(z)+0.25i)/(cos(z)-0.25i) elseif @M=="23" if |z|>1 z=z/|z| endif z=z+0.2/z elseif @M=="24" if |z|>1 z=z/|z| endif z=z+0.325*sqr(z) elseif @M=="25" if real(z)1 z=z/|z| endif z=1.5*sinh(z) elseif @M=="49" z=((cos(z)^2-2.3275-1i)/(2*recip(z)-2.3275-2i))^2 elseif @M=="50" z=z+0.45*(sqr(z)-3i)/(sqr(z)+3i) elseif @M=="51" z=0.8*(z-0.385i)/(recip(z)+0.385i) elseif @M=="52" z=((sqr(z)^2-10.7137)/(2*sqr(z)-11.7137))^2 elseif @M=="53" z=z+0.85i*sin(z) elseif @M=="54" z=z+z^2*(cos(z)-1.2)/(1-1.2*cos(z)) elseif @M=="55" z=z+0.3i*cotanh(z) elseif @M=="56" z=-1.25*(sqr(z)+0.25i)/(cos(z)-0.25i) elseif @M=="57" z=0.7*(sqr(z)+0.25i)/(tan(z)-0.25i) elseif @M=="58" if real(z)@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munone J" center=(0.001,0.001) periodicity=0 magn=0.5 angle=270 param sp caption="Start Parameter" default=(0,0) 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""53""54""55""56""57""58""59""60"\ "61""62" endparam param p1 caption="Munone Parameter 1" default=(2,0) endparam param p2 caption="Munone Parameter 2" default=(3,0) endparam param p3 caption="Munone Parameter 3" default=(2.25,0) endparam func fn3 caption="C 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=10.0 visible=@bt==0 endparam } MunoneM { init: z=fn1(pixel) z=z+@sp*z^2*(z-2)/(1-2*z) loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @M=="None" z=z elseif @M=="1" z=z+0.1*1i*exp(z) elseif @M=="2" z=z+(exp(z)+0.3)/(1i+0.3*exp(z)) elseif @M=="3" z=z-(recip(z)^3-1i)/(3*recip(z)^2) elseif @M=="4" z=z-0.34858*(sin(z)^3-1i)/(3*sin(z)^2) elseif @M=="5" z=z-(z^3-cos(pixel))/(3*z^2) elseif @M=="6" z=z-0.67*(z^3-sinh(pixel))/(3*z^2) elseif @M=="7" z=z+0.1*1i*sinh(z) elseif @M=="8" z=z+0.5*(sqr(z)^3-pixel)/(3*sqr(z)^2) elseif @M=="9" z=z+0.1*1i*recip(z) elseif @M=="10" z=z-(cotan(z)^3-1i)/(3*cotan(z)^2) elseif @M=="11" z=0.85*z^2+sinh(pixel) elseif @M=="12" z=z-tan((z-1i)/(1-1i*z)) elseif @M=="13" z=z+(cosh(z)+0.3)/(1i+0.3*cosh(z)) elseif @M=="14" z=z-(cos(z)^3-1i)/(3*cos(z)^2) elseif @M=="15" z=2*z^2+sqr(pixel) elseif @M=="16" z=z-(z^3-recip(pixel))/(3*z^2) elseif @M=="17" z=z+0.3*(cosh(z)-1i)/(cosh(z)+1i) elseif @M=="18" z=z+0.1*1i*cos(z) elseif @M=="19" z=z+z^2+cosh(pixel) elseif @M=="20" z=z-0.67*(z^3-tanh(pixel))/(3*z^2) elseif @M=="21" z=z-0.7*(tanh(z)^3-1i)/(3*tanh(z)^2) elseif @M=="22" z=z-(z^3-cotan(pixel))/(3*z^2) elseif @M=="23" z=z-0.53941*(sinh(z)^3-pixel)/(3*sinh(z)^2) elseif @M=="24" z=z+0.1*1i*sqr(z) elseif @M=="25" z=z-(cotan(z)^3-pixel)/(3*cotan(z)^2) elseif @M=="26" z=z-(z^3-cotanh(pixel))/(3*z^2) elseif @M=="27" z=z-(cotanh(z)^3-1i)/(3*cotanh(z)^2) elseif @M=="28" z=1.4*z^2+cosh(pixel) elseif @M=="29" z=1i*z^2+sqr(pixel) elseif @M=="30" z=z+z^2+sqr(pixel) elseif @M=="31" z=z+0.1*1i*sin(z) elseif @M=="32" z=0.5*z^2+recip(pixel) elseif @M=="33" z=z+sinh((z-1i)/(1-1i*z)) elseif @M=="34" z=z+0.6*(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @M=="35" z=(exp(z)-1i)/(exp(z)+1i) elseif @M=="36" z=z+(cotanh(z)+0.3)/(1i+0.3*cotanh(z)) elseif @M=="37" z=z+0.1*1i*cotan(z) elseif @M=="38" z=z-0.67*(z^3-tan(pixel))/(3*z^2) elseif @M=="39" z=z-0.7*(tan(z)^3-1i)/(3*tan(z)^2) elseif @M=="40" z=z-(z^3-exp(pixel))/(3*z^2) elseif @M=="41" z=0.5*z^2+exp(pixel) elseif @M=="42" z=z+0.3*(sinh(z)-1i)/(sinh(z)+1i) elseif @M=="43" z=z+(sinh(z)+0.3)/(1i+0.3*sinh(z)) elseif @M=="44" z=z-(cosh(z)^3-1i)/(3*cosh(z)^2) elseif @M=="45" z=z-0.25*(tan(z)^3-pixel)/(3*tan(z)^2) elseif @M=="46" z=z-(z^3-pixel)/(3*z^2) elseif @M=="47" z=z-0.67*(z^3-sin(pixel))/(3*z^2) elseif @M=="48" z=z+0.1*1i*cosh(z) elseif @M=="49" z=z-(z^3-cosh(pixel))/(3*z^2) elseif @M=="50" z=z-0.5*(z-1i)/(3*z^2) elseif @M=="51" z=z+(sqr(z)+0.3)/(1i+0.3*sqr(z)) elseif @M=="52" z=z+1i*z^2+sqr(pixel) elseif @M=="53" z=z+0.3*(z-1i)/(z+1i) elseif @M=="54" z=z-(z-1i)/(3*z^2) elseif @M=="55" z=z-0.41538*(sin(z)^3-pixel)/(3*sin(z)^2) elseif @M=="56" z=z+0.1*1i*cotanh(z) elseif @M=="57" z=z-(cos(z)^3-pixel)/(3*cos(z)^2) elseif @M=="58" z=z+(z-1i)/(1-1i*z) elseif @M=="59" z=z+z^2+exp(pixel) elseif @M=="60" z=0.5*z^2+tan(pixel) elseif @M=="61" z=0.6*z^2+pixel endif z=(z-p1)/(1-(p1*z/(p2*fn3(pixel)))^2)+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munone M" center=(0.001,0.001) periodicity=0 magn=0.5 angle=270 param sp caption="Start Parameter" default=(0,0) 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""53""54""55""56""57""58""59""60"\ "61" endparam param p1 caption="Munone Parameter 1" default=(2,0) endparam param p2 caption="Munone Parameter 2" default=(3,0) endparam param p3 caption="Munone Parameter 3" default=(2.25,0) endparam func fn3 caption="C 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=10.0 visible=@bt==0 endparam } Jolmun { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=z-@sp*(z^3-1)/(3*z^2) elseif @S=="3" z=z-@sp*(z^3-1i)/(3*z^2) elseif @S=="4" z=z+@sp*z^2*(z-2)/(1-2*z) elseif @S=="5" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="6" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="7" z=@sp*(z-1i)/(z+1i) elseif @S=="8" z=((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="9" z=((z^2+@sp-1i)/(2*z+@sp-2i))^2 elseif @S=="10" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="11" z=z+((z^2+@sp-1i)/(2*z+@sp-2i))^2 elseif @S=="12" z=z-@sp*(z^4-1)/(4*z^3) elseif @S=="13" z=z-@sp*(z^4-1i)/(4*z^3) elseif @S=="14" z=z-@sp*(z^2-1)/(2*z) elseif @S=="15" z=z-@sp*(z^2-1i)/(2*z) elseif @S=="16" z=(z-@sp)/(z+@sp) elseif @S=="17" z=z+(z-@sp)/(z+@sp) elseif @S=="18" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="19" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="20" z=z+@sp*z^2*(z-2)/(1i-2*z) elseif @S=="21" z=@sp*z^2*(z-2)/(1-2*z) elseif @S=="22" z=@sp*z^2*(z-2)/(1i-2*z) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z z=exp(p1)*z^2*(fn3(p2)-z^2)/(1-conj(fn3(p2))*z^2)+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Jolmun" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Jolmun Parameter 1" default=(0,0) endparam param p2 caption="Jolmun Parameter 2" default=(2,0) endparam param p3 caption="Jolmun Parameter 3" default=(0,0) endparam func fn3 caption="C 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } LabsTemorof { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="7" z=z+(@sp+1)*recip(z) elseif @S=="8" z=z+(@sp+1)*((z^2-1)/(2*z-2))^2 elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+(z-(@sp+1))/(z+(@sp+1)) elseif @S=="12" z=z+(@sp+1)*(z-1i)/(z+1i)/(z-1i) elseif @S=="13" z=z+(@sp-1)*(z-1)/(z+1)/(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/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=p1*(z-real(z)/cabs(real(z)))^2 z=p2*fn3(log(abs(z)))+p3*fn4(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs Temorof" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param iter caption="Iterations" default=3 endparam param p2 caption="Labs Parameter" default=(1,0) endparam param p1 caption="Temorof Parameter" default=1.0 endparam param p3 caption="C Parameter" default=(1,0) endparam func fn3 caption="Labs Function" default=ident() endfunc func fn4 caption="C 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsFlega { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=(@sp+1)*z*(1-z) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=(@sp+1)*z*(1-z) z=(@sp+1)*z*(1-z) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+@sp*cosh(z) elseif @S=="7" z=z-(@sp+1)*(z^3-1i)/(3*z^2) elseif @S=="8" z=z+(@sp+1)*(z^2-1i)/(2*z-2) elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="12" z=z+(@sp+1)*((z^2-1i)/(2*z+2i))^2 elseif @S=="13" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="14" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) elseif @S=="15" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="16" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/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^2*(z+p2)/(1+p2*z) z=2*z*(z^2+p1)/(z^2-p1)+p3 z=@p10*fn4(log(abs(z)))+@p11*fn3(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs Flega" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5" endparam param iter caption="Iterations" default=2 endparam param p1 caption="Flega Parameter 1" default=(1,0) endparam param p2 caption="Flega Parameter 2" default=(0.5,0) endparam param p3 caption="Flega Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter" default=(1,0) endparam param p11 caption="C Parameter" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsCayleyCubed { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=(@sp+1)*z*(1-z) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=(@sp+1)*z*(1-z) z=(@sp+1)*z*(1-z) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+@sp*cosh(z) elseif @S=="7" z=z-(@sp+1)*(z^3-1i)/(3*z^2) elseif @S=="8" z=z+(@sp+1)*(z^2-1i)/(2*z-2) elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="12" z=z+(@sp+1)*((z^2-1i)/(2*z+2i))^2 elseif @S=="13" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="14" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) elseif @S=="15" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="16" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif endif z=p1*((z-p2*1i)/(z+p2*1i))^3+p3 if @JM=="J" z=@p10*fn4(log(abs(z)))+fn3(@p11) else z=@p10*fn4(log(abs(z)))+@p11*fn3(pixel) endif endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs Cayley Cubed" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param JM enum="J""M" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2" endparam param iter caption="Iterations" default=3 endparam param p1 caption="Cayley Parameter 1" default=(1,0) endparam param p2 caption="Cayley Parameter 2" default=(1,0) endparam param p3 caption="Cayley Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter" default=(1,0) endparam param p11 caption="C Parameter" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsMagnetJ { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=(@sp+1)*z*(1-z) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=(@sp+1)*z*(1-z) z=(@sp+1)*z*(1-z) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+@sp*cosh(z) elseif @S=="7" z=z-(@sp+1)*(z^3-1i)/(3*z^2) elseif @S=="8" z=z+(@sp+1)*(z^2-1i)/(2*z-2) elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="12" z=z+(@sp+1)*((z^2-1i)/(2*z+2i))^2 elseif @S=="13" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="14" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) elseif @S=="15" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="16" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/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 elseif @Va=="6" z=z-exp(z) elseif @Va=="7" z=z-sqr(z) elseif @Va=="8" z=z-cotanh(z) elseif @Va=="9" z=z-tanh(z) elseif @Va=="10" z=z-tan(z) elseif @Va=="11" z=z-cosh(z) elseif @Va=="12" z=z-cos(z) elseif @Va=="13" z=z-sinh(z) elseif @Va=="14" z=z-sin(z) elseif @Va=="15" z=z-cotan(z) elseif @Va=="16" z=z-1/sinh(z) elseif @Va=="17" z=z-1/cos(z) endif z=p2*((z^2+fn3(p1)-1)/(2*z+fn3(p1)-2))^2+p3 z=@p10*fn4(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs Magnet J " center=(0.001,0.001) periodicity=0 angle=90 magn=0.5 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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 iter caption="Iterations" default=3 endparam param p1 caption="Magnet Parameter 1" default=(1,0) endparam param p2 caption="Magnet Parameter 2" default=(1,0) endparam param p3 caption="Magnet Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsMagnetM { init: z=fn1(pixel) if @S=="1" z=(z^2-(@sp+1))/(z^2+(@sp+1)) elseif @S=="2" z=(z^2-(@sp+1)*1i)/(z^2+(@sp+1)*1i) elseif @S=="3" z=(z-(@sp+1)*1i)/(z+(@sp+1)*1i) elseif @S=="4" z=(z-(@sp+1))/(z+(@sp+1)) elseif @S=="5" z=z+((z^2+@sp-1i)/(2*z+@sp+2i))^2 elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp+2))^2 elseif @S=="7" z=((z^2+@sp-1i)/(2*z+@sp+2i))^2 elseif @S=="8" z=((z^2+@sp-1)/(2*z+@sp+2))^2 elseif @S=="9" z=z+(@sp+1)*sqr(z) elseif @S=="10" z=z+(@sp+1)/z elseif @S=="11" z=z+z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S=="12" z=z+z^2*(z-(@sp+0.5))/(1i-(@sp+0.5)*z) elseif @S=="13" z=z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S=="14" z=z^2*(z-(@sp+0.5))/(1i-(@sp+0.5)*z) elseif @S=="15" z=z+(@sp+1)*z*(1-z) elseif @S=="16" z=z+(@sp+1)*z*(1i-z) elseif @S=="17" z=(@sp+1)*z*(1-z) elseif @S=="18" z=(@sp+1)*z*(1i-z) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" z=z-exp(z) elseif @Va=="3" z=z-sqr(z) elseif @Va=="4" z=z+sqr(z) elseif @Va=="5" z=z-2*tanh(z) elseif @Va=="6" z=z-2*tan(z) elseif @Va=="7" z=z-cosh(z) elseif @Va=="8" z=z-cos(z) elseif @Va=="9" z=z-2*sinh(z) elseif @Va=="10" z=z-2*sin(z) elseif @Va=="11" z=z-1/cos(z) elseif @Va=="12" z=z-1/sin(z) endif z=p2*((z^2+p1*fn3(pixel)-1)/(2*z+p1*fn3(pixel)-2))^2+p3 z=@p10*fn4(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs Magnet M" center=(0.001,0.001) periodicity=0 angle=90 magn=0.5 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10""11""12" endparam param iter caption="Iterations" default=3 endparam param p1 caption="Magnet Parameter 1" default=(1,0) endparam param p2 caption="Magnet Parameter 2" default=(1,0) endparam param p3 caption="Magnet Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsMunster2J { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=(@sp+1)*z*(1-z) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=(@sp+1)*z*(1-z) z=(@sp+1)*z*(1-z) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+@sp*cosh(z) elseif @S=="7" z=z-(@sp+1)*(z^3-1i)/(3*z^2) elseif @S=="8" z=z+(@sp+1)*(z^2-1i)/(2*z-2) elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="12" z=z+(@sp+1)*((z^2-1i)/(2*z+2i))^2 elseif @S=="13" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="14" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) elseif @S=="15" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="16" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z+cotan(z) 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" z=z+0.3*sqr(z) elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif elseif @Va=="6" z=z+0.3i*sinh(z) elseif @Va=="7" z=z+0.3i*sqr(z) elseif @Va=="8" z=z-0.3i*cotanh(z) elseif @Va=="9" z=z-tanh(z) elseif @Va=="10" z=z-tan(z) elseif @Va=="11" z=z-0.3i*tanh(z) elseif @Va=="12" z=z-cos(z) elseif @Va=="13" z=z-sinh(z) elseif @Va=="14" z=z-sin(z) elseif @Va=="15" z=z-0.3i/exp(z) elseif @Va=="16" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=((z^2-0.8)/(2*z-1.8))^2 elseif @Va=="7" z=z+0.3i*sqr(z) elseif @Va=="8" z=conj((z-0.8i)/(z+0.8i)) elseif @Va=="9" z=z+exp((z^2-0.82-1i)/(2*z-0.82-2i))^2 elseif @Va=="10" z=z+z^2*recip((z-1.2)/(1i-1.2*z)) elseif @Va=="11" z=z-1.83075*(sinh(z)^3-1i)/(3*sinh(z)^2) elseif @Va=="12" z=z-cos(z) elseif @Va=="13" z=z-sinh(z) elseif @Va=="14" z=z-sin(z) elseif @Va=="15" z=conj((z^2-1.5)/(2*z-2.5))^2 elseif @Va=="16" z=z-1.5*(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="17" z=abs((z-1.5i)/(z+1.5i)) elseif @Va=="18" z=z^2*exp((z-0.425)/(1-0.425*z)) elseif @Va=="19" z=z+z^2*cotan((z-0.3)/(1i-0.3*z)) elseif @Va=="20" z=z^2*tanh((z+5.3)/(1+5.3*z)) elseif @Va=="21" z=z^2*exp((z-1.5)/(1-1.5*z)) elseif @Va=="22" z=tan((z+0.65i)/(z-0.65i)) elseif @Va=="23" z=flip((z-0.5i)/(z+0.5i)) elseif @Va=="24" z=conj((z-1i)/(z+1i)) elseif @Va=="25" z=z+cotan((z^2+1.58-1i)/(2*z+1.58-2i))^2 elseif @Va=="26" z=z-4*(tan(z)^3-1i)/(3*tan(z)^2) elseif @Va=="27" z=flip((z^2-0.85)/(2*z-1.85))^2 elseif @Va=="28" z=z+sinh((z^2-1-1i)/(2*z-1-2i))^2 elseif @Va=="29" z=abs((z-1i)/(z+1i)) elseif @Va=="30" z=abs((z^2-0.35)/(2*z-1.35))^2 elseif @Va=="31" z=sin((z+0.825i)/(z-0.825i)) elseif @Va=="32" z=z+((z^2-0.2-1i)/(2*z-0.2-2i))^2 elseif @Va=="33" z=abs((z-0.5i)/(z+0.5i)) elseif @Va=="34" z=z-1i*sin(z) elseif @Va=="35" z=z-2.15762*(z^3-1i)/(3*z^2) elseif @Va=="36" z=z+z^2*cotan((z-1)/(1i-z)) elseif @Va=="37" z=z-1.83075*(sin(z)^3-1i)/(3*sin(z)^2) elseif @Va=="38" z=z+z^2*cosh((z-0.8)/(1i-0.8*z)) elseif @Va=="39" z=((z^2+1.6)/(2*z+0.6))^4 elseif @Va=="40" z=z-(recip(z)^3-1i)/(3*recip(z)^2) elseif @Va=="41" z=z-1.5*(tan(z)^3-1i)/(3*tan(z)^2) endif a=(1-z^2)*(fn3(p1)/2-z^2/(2*fn3(p1)))-(fn3(p1)/2-z^2/(2*fn3(p1)))^2 z=p2*(z-a*1i)/(z+a)+p3 z=@p10*fn4(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X J" center=(0.001,0.001) periodicity=0 angle=90 magn=0.5 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29"\ "30""31""32""33""34""35""36""37""38""39"\ "40""41" endparam param iter caption="Iterations" default=3 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsXM { init: z=fn1(pixel) if @S=="1" z=(z^2-(@sp+1))/(z^2+(@sp+1)) elseif @S=="2" z=(z^2-(@sp+1)*1i)/(z^2+(@sp+1)*1i) elseif @S=="3" z=(z-(@sp+1)*1i)/(z+(@sp+1)*1i) elseif @S=="4" z=(z-(@sp+1))/(z+(@sp+1)) elseif @S=="5" z=z+((z^2+@sp-1i)/(2*z+@sp+2i))^2 elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp+2))^2 elseif @S=="7" z=((z^2+@sp-1i)/(2*z+@sp+2i))^2 elseif @S=="8" z=((z^2+@sp-1)/(2*z+@sp+2))^2 elseif @S=="9" z=z+(@sp+1)*sqr(z) elseif @S=="10" z=z+(@sp+1)/z elseif @S=="11" z=z+z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S=="12" z=z+z^2*(z-(@sp+0.5))/(1i-(@sp+0.5)*z) elseif @S=="13" z=z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S=="14" z=z^2*(z-(@sp+0.5))/(1i-(@sp+0.5)*z) elseif @S=="15" z=z+(@sp+1)*z*(1-z) elseif @S=="16" z=z+(@sp+1)*z*(1i-z) elseif @S=="17" z=(@sp+1)*z*(1-z) elseif @S=="18" z=(@sp+1)*z*(1i-z) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z^2*recip((z+0.5)/(1i+0.5*z)) elseif @Va=="2" z=z^2*recip((z+0.5)/(1+0.5*z)) elseif @Va=="3" z=z^2*exp((z-2)/(1-2*z)) elseif @Va=="4" z=((z^2-1i)/(2*z-2i))^2 elseif @Va=="5" z=z^2*sqr((z+2)/(1+2*z)) elseif @Va=="6" z=z^2*tanh((z+2)/(1i+2*z)) elseif @Va=="7" z=z-(exp(z)^3-1)/(3*exp(z)^2) elseif @Va=="8" z=z^2*tan((z-2)/(1i-2*z)) elseif @Va=="9" z=z^2*sinh((z-2)/(1-2*z)) elseif @Va=="10" z=z+0.38i*cotan(z) elseif @Va=="11" z=z+((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="12" z=z-1/sin(z) elseif @Va=="13" z=z+1i/z elseif @Va=="14" z=sqr((z^2+1)/(2*z))^2 elseif @Va=="15" z=recip((z^2+1)/(2*z))^2 elseif @Va=="16" z=z+1/sinh(z) elseif @Va=="17" z=sinh((z-1i)/(z+1i)) elseif @Va=="18" z=z^2*tanh((z-2)/(1-2*z)) elseif @Va=="19" z=z+0.3i*sqr(z) elseif @Va=="20" z=tan((z-1i)/(z+1i)) elseif @Va=="21" z=(z+1i)/(z-1i) elseif @Va=="22" z=z-0.75*sin(z) elseif @Va=="23" z=abs((z+1i)/(z-1i)) elseif @Va=="24" z=z-0.5*sqr(z) elseif @Va=="25" z=exp((z+1i)/(z-1i)) elseif @Va=="26" z=exp((z+0.3i)/(z-0.3i)) elseif @Va=="27" z=sqr((z+1i)/(z-1i)) elseif @Va=="28" z=z+1i/sqr(z) elseif @Va=="29" z=z+1/sqr(z) elseif @Va=="30" z=tanh((z-1i)/(z+1i)) elseif @Va=="31" z=z-cotanh(z) elseif @Va=="32" z=z^2*((z-2)/(1-2*z)) elseif @Va=="33" z=z^2*sqr((z-2)/(1i-2*z)) elseif @Va=="34" z=z+1i*cotanh(z) elseif @Va=="35" z=z^2*sqr((z-2)/(1-2*z)) elseif @Va=="36" z=z^2*tanh((z+2)/(1+2*z)) elseif @Va=="37" z=z^2*((z-2)/(1i-2*z)) elseif @Va=="38" z=sqr((z-0.3i)/(z+0.3i)) elseif @Va=="39" z=z^2*recip((z-2)/(1-2*z)) elseif @Va=="40" z=(z-1i)/(z+1i) elseif @Va=="41" z=sqr((z^2+2-1i)/(2*z+2-2i))^2 elseif @Va=="42" z=z-1/sqr(z) elseif @Va=="43" z=abs((z^2+1)/(2*z))^2 elseif @Va=="44" z=z-1i/sqr(z) elseif @Va=="45" z=sinh((z-0.3i)/(z+0.3i)) elseif @Va=="46" z=tanh((z-0.3i)/(z+0.3i)) elseif @Va=="47" z=z+recip(z) elseif @Va=="48" z=exp((z-0.3i)/(z+0.3i)) elseif @Va=="49" z=z^2*exp((z+2)/(1i+2*z)) elseif @Va=="50" z=z^2*exp((z+0.5)/(1+0.5*z)) elseif @Va=="51" z=z-0.3i*sqr(z) elseif @Va=="52" z=z-1i/z elseif @Va=="53" z=z^2*cosh((z-2)/(1-2*z)) elseif @Va=="54" z=z^2*exp((z-0.5)/(1i-0.5*z)) elseif @Va=="55" z=z^2*sqr((z+2)/(1i+2*z)) elseif @Va=="56" z=z+(z^3-1)/(3*z^2) elseif @Va=="57" z=z^2*recip((z-2)/(1i-2*z)) elseif @Va=="58" z=z+((z^2-1i)/(2*z-2i))^2 elseif @Va=="59" z=z^2*cotan((z-2)/(1i-2*z)) elseif @Va=="60" z=z^2*cotanh((z+2)/(1+2*z)) elseif @Va=="61" z=z-tanh(z) elseif @Va=="62" z=sqr((z-1i)/(z+1i)) elseif @Va=="63" z=z+((z^2+2-1i)/(2*z-2i+2))^2 elseif @Va=="64" z=exp((z-1i)/(z+1i)) elseif @Va=="65" z=((z^2+1)/(2*z))^2 elseif @Va=="66" z=z^2*exp((z-0.5)/(1-0.5*z)) elseif @Va=="67" z=z-(z^3-1)/(3*z^2) elseif @Va=="68" z=z+(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="69" z=z^2*cotanh((z-2)/(1-2*z)) elseif @Va=="70" z=z^2*tan((z+2)/(1i+2*z)) elseif @Va=="71" z=z^2*((z+0.5)/(1i+0.5*z)) elseif @Va=="72" z=sqr((z^2+0.5)/(2*z-0.5))^2 elseif @Va=="73" z=sqr((z+0.3i)/(z-0.3i)) elseif @Va=="74" z=abs((z-1i)/(z+1i)) elseif @Va=="75" z=tan((z-0.3i)/(z+0.3i)) endif a=(1-z^2)*(p1*fn3(pixel)/2-z^2/(2*p1*fn3(pixel)))-(p1*fn3(pixel)/2-z^2/(2*p1*fn3(pixel)))^2 z=p2*(z-a*1i)/(z+a*1i)+p3 if @V=="M2" z=@p10*fn4(log(abs(z)))+(@p11+1)*fn3(pixel) else z=@p10*fn4(log(abs(z)))+@p11 endif endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X M" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param V caption="M Variant" enum="M1""M2" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""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" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } LabsX2J { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+@sp*cosh(z) elseif @S=="7" z=z-(@sp+1)*(z^3-1i)/(3*z^2) elseif @S=="8" z=z+(@sp+1)*(z^2-1i)/(2*z-2) elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="12" z=z+(@sp+1)*((z^2-1i)/(2*z+2i))^2 elseif @S=="13" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="14" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) endif int i=0 a=2*pi/3 c1=exp((0,0)*a) c2=exp((0,1)*a) c3=exp((0,2)*a) r=sqrt(3)/2 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z+cotan(z) elseif @Va=="2" z=cotanh((z-1i)/(z+1i)) elseif @Va=="3" z=tanh((z+0.85i)/(z-0.85i)) elseif @Va=="4" z=z^2*exp((z+0.5)/(1+0.5*z)) elseif @Va=="5" z=flip((z^2)/(2*z-1))^2 elseif @Va=="6" z=((z^2-0.8)/(2*z-1.8))^2 elseif @Va=="7" z=sin((z-2i)/(z+2i)) elseif @Va=="8" z=z^2*sqr((z-0.5)/(1-0.5*z)) elseif @Va=="9" z=((z^2-2-1i)/(2*z-2-2i))^2 elseif @Va=="10" z=z+z^2*recip((z-1.2)/(1i-1.2*z)) elseif @Va=="11" z=exp((z+1i)/(z-1i)) elseif @Va=="12" z=cosh((z-1i)/(z+1i)) elseif @Va=="13" z=z-sinh(z) elseif @Va=="14" z=z-sin(z) elseif @Va=="15" z=cotanh((z+1i)/(z-1i)) elseif @Va=="16" z=sqr((z^2+2-1i)/(2*z+2-2i))^2 elseif @Va=="17" z=z^2*recip((z+0.5)/(1+0.5*z)) elseif @Va=="18" z=z^2*((z-0.5)/(1i-0.5*z)) elseif @Va=="19" z=sqr((z^2)/(2*z-1))^2 elseif @Va=="20" z=z^2*tanh((z+5.3)/(1+5.3*z)) elseif @Va=="21" z=z^2*exp((z-1.5)/(1-1.5*z)) elseif @Va=="22" z=sqr((z+1)/(z-1)) elseif @Va=="23" z=z^2*sqr((z+0.5)/(1+0.5*z)) elseif @Va=="24" z=cos((z-1i)/(z+1i)) elseif @Va=="25" z=flip((z-1i)/(z+1i)) elseif @Va=="26" z=recip((z-1i)/(z+1i)) elseif @Va=="27" z=flip((z^2-0.85)/(2*z-1.85))^2 elseif @Va=="28" z=((z^2)/(2*z-1))^2 elseif @Va=="29" z=z^2*recip((z-2)/(1-2*z)) elseif @Va=="30" z=abs((z^2-0.35)/(2*z-1.35))^2 elseif @Va=="31" z=sinh((z+2i)/(z-2i)) elseif @Va=="32" z=((z^2+1)/(2*z))^2 elseif @Va=="33" z=sqr((z+1i)/(z-1i)) elseif @Va=="34" z=((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="35" z=z^2*exp((z-0.5)/(1i-0.5*z)) elseif @Va=="36" z=sqr((z^2-2-1i)/(2*z-2-2i))^2 elseif @Va=="37" z=cos((z-1)/(z+1)) elseif @Va=="38" z=z^2*cos((z+0.5)/(1+0.5*z)) elseif @Va=="39" z=((z^2+1.6)/(2*z+0.6))^4 elseif @Va=="40" z=tanh((z+1i)/(z-1i)) elseif @Va=="41" z=sqr((z^2-1i)/(2*z-2i))^2 elseif @Va=="42" z=abs((z+1i)/(z-1i)) elseif @Va=="43" z=flip((z^2+1)/(2*z))^2 elseif @Va=="44" z=z^2*((z+0.5)/(1+0.5*z)) elseif @Va=="45" z=tanh((z-1i)/(z+1i)) elseif @Va=="46" z=z^2*((z+0.5)/(1i+0.5*z)) elseif @Va=="47" z=sqr((z^2-1)/(2*z-2))^2 endif if |z-c1|<|r| z=(r*conj(r/(z-c1))+c1) elseif |z-c2|<|r| z=(r*conj(r/(z-c2))+c2) elseif |z-c3|<|r| z=(r*conj(r/(z-c3))+c3) endif z=p1*conj(p2/(z-fn3(p3)))+fn3(p3) z=flip(z) z=@p10*fn4(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 2 J" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""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 p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX2M { init: z=fn1(pixel) if @S=="1" z=(z^2-(@sp+1))/(z^2+(@sp+1)) elseif @S=="2" z=(z^2-(@sp+1)*1i)/(z^2+(@sp+1)*1i) elseif @S=="3" z=(z-(@sp+1)*1i)/(z+(@sp+1)*1i) elseif @S=="4" z=(z-(@sp+1))/(z+(@sp+1)) elseif @S=="5" z=z+((z^2+@sp-1i)/(2*z+@sp+2i))^2 elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp+2))^2 elseif @S=="7" z=((z^2+@sp-1i)/(2*z+@sp+2i))^2 elseif @S=="8" z=((z^2+@sp-1)/(2*z+@sp+2))^2 elseif @S=="9" z=z+(@sp+1)*sqr(z) elseif @S=="10" z=z+(@sp+1)/z elseif @S=="11" z=z+z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S=="12" z=z+z^2*(z-(@sp+0.5))/(1i-(@sp+0.5)*z) elseif @S=="13" z=z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S=="14" z=z^2*(z-(@sp+0.5))/(1i-(@sp+0.5)*z) elseif @S=="15" z=z+(@sp+1)*z*(1-z) elseif @S=="16" z=z+(@sp+1)*z*(1i-z) elseif @S=="17" z=(@sp+1)*z*(1-z) elseif @S=="18" z=(@sp+1)*z*(1i-z) endif int i=0 a=2*pi/3 c1=exp((0,0)*a) c2=exp((0,1)*a) c3=exp((0,2)*a) r=sqrt(3)/2 loop: while i<@iter i=i+1 z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z^2*recip((z+0.5)/(1i+0.5*z)) elseif @Va=="2" z=z^2*(tan(z)-2)/(1i-2*tan(z)) elseif @Va=="3" z=z^2*exp((z-2)/(1-2*z)) elseif @Va=="4" z=((z^2-1i)/(2*z-2i))^2 elseif @Va=="5" z=z^2*sqr((z+2)/(1+2*z)) elseif @Va=="6" z=z^2*tanh((z+2)/(1i+2*z)) elseif @Va=="7" z=z-(exp(z)^3-1)/(3*exp(z)^2) elseif @Va=="8" z=z^2*tan((z-2)/(1i-2*z)) elseif @Va=="9" z=z^2*sinh((z-2)/(1-2*z)) elseif @Va=="10" z=((z^2)/(2*z-1))^2 elseif @Va=="11" z=tanh((z^2+2-1i)/(2*z+2-2i))^2 elseif @Va=="12" z=tanh((z^2+1)/(2*z))^2 elseif @Va=="13" z=z^2*(cotan(z)-0.5)/(1i-0.5*cotan(z)) elseif @Va=="14" z=sqr((z^2+1)/(2*z))^2 elseif @Va=="15" z=recip((z^2+1)/(2*z))^2 elseif @Va=="16" z=z^2*(sin(z)+3)/(1i+3*sin(z)) elseif @Va=="17" z=z^2*exp((z-0.5)/(1-0.5*z)) elseif @Va=="18" z=z^2*tanh((z-2)/(1-2*z)) elseif @Va=="19" z=sqr((z^2-1i)/(2*z-2i))^2 elseif @Va=="20" z=recip((z^2+2-1i)/(2*z+2-2i))^2 elseif @Va=="21" z=(z+1i)/(z-1i) elseif @Va=="22" z=z-0.75*sin(z) elseif @Va=="23" z=cotan((z^2)/(2*z-1))^2 elseif @Va=="24" z=z^2*(sin(z)-2)/(1-2*sin(z)) elseif @Va=="25" z=z-0.3i*sqr(z) elseif @Va=="26" z=z^2*(sqr(z)-0.5)/(1-0.5*sqr(z)) elseif @Va=="27" z=sqr((z+1i)/(z-1i)) elseif @Va=="28" z=sqr((z^2+2)/(2*z+1))^2 elseif @Va=="29" z=z+1/sqr(z) elseif @Va=="30" z=tanh((z-1i)/(z+1i)) elseif @Va=="31" z=z-cotanh(z) elseif @Va=="32" z=z^2*((z-2)/(1-2*z)) elseif @Va=="33" z=z^2*sqr((z-2)/(1i-2*z)) elseif @Va=="34" z=z^2*(cos(z)-0.5)/(1i-0.5*cos(z)) elseif @Va=="35" z=z^2*sqr((z-2)/(1-2*z)) elseif @Va=="36" z=z^2*tanh((z+2)/(1+2*z)) elseif @Va=="37" z=z-0.3i*sqr(z) elseif @Va=="38" z=z^2*cos((z-2)/(1-2*z)) elseif @Va=="39" z=z^2*recip((z-2)/(1-2*z)) elseif @Va=="40" z=cotanh((z^2+2-1i)/(2*z+2-2i))^2 elseif @Va=="41" z=sqr((z^2+2-1i)/(2*z+2-2i))^2 elseif @Va=="42" z=cosh((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="43" z=abs((z^2+1)/(2*z))^2 elseif @Va=="44" z=tan((z^2+2-1i)/(2*z+2-2i))^2 elseif @Va=="45" z=tan((z^2-1)/(2*z-2))^2 elseif @Va=="46" z=z^2*(cotanh(z)-0.5)/(1-0.5*cotanh(z)) elseif @Va=="47" z=z-0.3i*sqr(z) elseif @Va=="48" z=flip((z^2+1)/(2*z))^2 elseif @Va=="49" z=z^2*exp((z+2)/(1i+2*z)) elseif @Va=="50" z=z^2*exp((z+0.5)/(1+0.5*z)) elseif @Va=="51" z=z^2*tanh((z-2)/(1-2*z)) elseif @Va=="52" z=tan((z^2)/(2*z-1))^2 elseif @Va=="53" z=z^2*cosh((z-2)/(1-2*z)) elseif @Va=="54" z=z^2*tanh((z+2)/(1+2*z)) elseif @Va=="55" z=abs((z+1i)/(z-1i)) elseif @Va=="56" z=z-2*(z^3-1)/(3*z^2) elseif @Va=="57" z=z^2*recip((z-2)/(1i-2*z)) elseif @Va=="58" z=((z^2+3-1i)/(2*z+3-2i))^2 elseif @Va=="59" z=z^2*cotan((z-2)/(1i-2*z)) elseif @Va=="60" z=z^2*cotanh((z+2)/(1+2*z)) elseif @Va=="61" z=z-tanh(z) elseif @Va=="62" z=sqr((z-1i)/(z+1i)) elseif @Va=="63" z=flip((z^2)/(2*z-1))^2 elseif @Va=="64" z=flip((z^2+3-1i)/(2*z+3-2i))^2 elseif @Va=="65" z=z^2*((z-2)/(1i-2*z)) elseif @Va=="66" z=z-2*tanh(z^3-1)/(3*z^2) elseif @Va=="67" z=z-(z^3-1)/(3*z^2) elseif @Va=="68" z=tanh((z^2-1i)/(2*z-2i))^2 elseif @Va=="69" z=z^2*cotanh((z-2)/(1-2*z)) elseif @Va=="70" z=z^2*tan((z+2)/(1i+2*z)) elseif @Va=="71" z=sinh((z^2+3-1i)/(2*z+3-2i))^2 elseif @Va=="72" z=sqr((z^2+0.5)/(2*z-0.5))^2 elseif @Va=="73" z=cotanh((z^2-1i)/(2*z-2i))^2 elseif @Va=="74" z=abs((z-1i)/(z+1i)) elseif @Va=="75" z=flip((z^2-1i)/(2*z-2i))^2 elseif @Va=="76" z=cosh((z^2-1i)/(2*z-2i))^2 elseif @Va=="77" z=z^2*(tan(z)+2)/(1i+2*tan(z)) elseif @Va=="78" z=z-tanh(z^3-1)/(3*z^2) elseif @Va=="79" z=z^2*((z+0.5)/(1i+0.5*z)) elseif @Va=="80" z=sinh((z^2+1)/(2*z))^2 elseif @Va=="81" z=z^2*exp((z-0.5)/(1i-0.5*z)) elseif @Va=="82" z=((z^2-1i)/(2*z-2i))^2 elseif @Va=="83" z=recip((z^2)/(2*z-1))^2 elseif @Va=="84" z=recip((z^2-1i)/(2*z-2i))^2 elseif @Va=="85" z=(z-1i)/(z+1i) elseif @Va=="86" z=sqr((z^2+3-1i)/(2*z+3-2i))^2 elseif @Va=="87" z=z^2*(exp(z)-2)/(1-2*exp(z)) elseif @Va=="88" z=z^2*(exp(z)-0.5)/(1-0.5*exp(z)) elseif @Va=="89" z=cotan((z^2+1)/(2*z))^2 elseif @Va=="90" z=z^2*(exp(z)-2)/(1i-2*exp(z)) elseif @Va=="91" z=z^2*(exp(z)+0.5)/(1i+0.5*exp(z)) elseif @Va=="92" z=z+(recip(z)^3-1)/(3*recip(z)^2) elseif @Va=="93" z=z^2*(sqr(z)+0.5)/(1+0.5*sqr(z)) elseif @Va=="94" z=z^2*(sqr(z)-0.5)/(1i-0.5*sqr(z)) elseif @Va=="95" z=z^2*(sqr(z)+0.5)/(1i+0.5*sqr(z)) elseif @Va=="96" z=-sqr((z-1i)/(z+1i)) elseif @Va=="97" z=flip((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="98" z=tanh((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="99" z=z^2*(cotan(z)+0.5)/(1+0.5*cotan(z)) elseif @Va=="100" z=-2*sqr((z-1i)/(z+1i)) elseif @Va=="101" z=z^2*(cotan(z)+0.5)/(1i+0.5*cotan(z)) elseif @Va=="102" z=z^2*(cosh(z)-2)/(1-2*cosh(z)) elseif @Va=="103" z=z^2*(cosh(z)-3)/(1i-3*cosh(z)) elseif @Va=="104" z=z+1i*cotanh(z) elseif @Va=="105" z=z^2*(cos(z)-0.5)/(1-0.5*cos(z)) elseif @Va=="106" z=2*sqr((z-1i)/(z+1i)) elseif @Va=="107" z=z^2*(cos(z)+0.5)/(1i+0.5*cos(z)) endif if |z-c1|<|r| z=(r*conj(r/(z-c1))+c1) elseif |z-c2|<|r| z=(r*conj(r/(z-c2))+c2) elseif |z-c3|<|r| z=(r*conj(r/(z-c3))+c3) endif z=p1*conj(p2/(z-p3))+p3 z=flip(z) z=@p10*fn4(log(abs(z)))+@p11*fn3(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 2 M" center=(0.001,0.001) periodicity=0 angle=90 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""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""79""80"\ "81""82""83""84""85""86""87""88""89""90"\ "91""92""93""94""95""96""97""98""99""100"\ "101""102""103""104""105""106""107" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs 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 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } LabsX3J { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+@sp*cosh(z) elseif @S=="7" z=z-(@sp+1)*(z^3-1i)/(3*z^2) elseif @S=="8" z=z+(@sp+1)*(z^2-1i)/(2*z-2) elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="12" z=z+(@sp+1)*((z^2-1i)/(2*z+2i))^2 elseif @S=="13" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="14" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) endif int i=0 a=sqrt(3)/2 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" if |z|>1 z=z/|z| endif z=-1.5*z elseif @Va=="7" if |z|>1 z=z/|z| endif z=-0.67*flip(z) elseif @Va=="8" if |z|>1 z=z/|z| endif z=-1.25*conj(z) elseif @Va=="9" if |z|>1 z=z/|z| endif z=-exp(z) elseif @Va=="10" if |z|>1 z=z/|z| endif z=0.8*sqr(z) elseif @Va=="11" if |z|>1 z=z/|z| endif z=-cotanh(z) elseif @Va=="12" if |z|>1 z=z/|z| endif z=-1.5*cotan(z) elseif @Va=="13" if |z|>1 z=z/|z| endif z=-1.5*tanh(z) elseif @Va=="14" if |z|>1 z=z/|z| endif z=1.35*tan(z) elseif @Va=="15" if |z|>1 z=z/|z| endif z=-3*tan(z) elseif @Va=="16" if |z|>1 z=z/|z| endif z=-1.5*cosh(z) elseif @Va=="17" if |z|>1 z=z/|z| endif z=0.82*sin(z) elseif @Va=="18" if |z|>1 z=z/|z| endif z=-1.5*sin(z) elseif @Va=="19" if |z|>1 z=z/|z| endif z=-0.92*recip(z) elseif @Va=="20" if real(z)1 z=z/|z| endif z=1.64*sin(z) elseif @Va=="2" if real(z)>imag(z) z=flip(z) endif z=-0.95*recip(z) elseif @Va=="3" if real(z)1 z=z/|z| endif z=-2*sin(z) elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif elseif @Va=="6" if |z|>1 z=z/|z| endif z=-1.5*z elseif @Va=="7" if |z|>1 z=z/|z| endif elseif @Va=="8" if |z|>1 z=z/|z| endif z=1.5*z elseif @Va=="9" if |z|>1 z=z/|z| endif z=-1.25*conj(z) elseif @Va=="10" if |z|>1 z=z/|z| endif z=0.8*sqr(z) elseif @Va=="11" if |z|>1 z=z/|z| endif z=1.5*flip(z) elseif @Va=="12" if |z|>1 z=z/|z| endif z=1.2*conj(z) elseif @Va=="13" if |z|>1 z=z/|z| endif z=-0.525*cotan(z) elseif @Va=="14" if |z|>1 z=z/|z| endif z=1.35*tan(z) elseif @Va=="15" if |z|>1 z=z/|z| endif z=-3*tan(z) elseif @Va=="16" if |z|>1 z=z/|z| endif z=-0.69*cotan(z) elseif @Va=="17" if |z|>1 z=z/|z| endif z=-0.69*cotanh(z) elseif @Va=="18" if |z|>1 z=z/|z| endif z=-1.5*sin(z) elseif @Va=="19" if |z|>1 z=z/|z| endif z=-0.92*recip(z) elseif @Va=="20" if real(z)imag(z) z=flip(z) endif z=-1.8*z elseif @Va=="24" if real(z)>imag(z) z=flip(z) endif z=-1.5*z elseif @Va=="25" if real(z)>imag(z) z=flip(z) endif z=-1.2*z elseif @Va=="26" if real(z)>imag(z) z=flip(z) endif z=-0.65*flip(z) elseif @Va=="27" if real(z)>imag(z) z=flip(z) endif z=conj(z) elseif @Va=="28" if real(z)>imag(z) z=flip(z) endif z=-conj(z) elseif @Va=="29" if real(z)>imag(z) z=flip(z) endif z=abs(z) elseif @Va=="30" if real(z)>imag(z) z=flip(z) endif z=-abs(z) elseif @Va=="31" if real(z)>imag(z) z=flip(z) endif z=-sqr(z) elseif @Va=="32" if real(z)>imag(z) z=flip(z) endif z=0.3385*sqr(z) elseif @Va=="33" if real(z)>imag(z) z=flip(z) endif z=-0.7365*cotan(z) elseif @Va=="34" z=(z+1.5i)/(z-1.5i) elseif @Va=="35" z=(z-1i)/(z+1i) elseif @Va=="36" z=z^2*exp((z-0.75)/(1-0.75*z)) elseif @Va=="37" z=(z+1i)/(z-1i) elseif @Va=="38" z=flip((z+0.3i)/(z-0.3i)) elseif @Va=="39" z=conj((z+1.35i)/(z-1.35i)) elseif @Va=="40" z=cotanh((z-1.225i)/(z+1.225i)) elseif @Va=="41" z=abs((z+0.72i)/(z-0.72i)) elseif @Va=="42" z=cotan((z-0.81i)/(z+0.81i)) elseif @Va=="43" z=tanh((z-1.5i)/(z+1.5i)) elseif @Va=="44" z=cotan((z-1.225i)/(z+1.225i)) elseif @Va=="45" z=(z-1)/(z+1) elseif @Va=="46" z=abs((z-0.5)/(z+0.5)) elseif @Va=="47" z=conj((z+1.6)/(z-1.6)) elseif @Va=="48" z=((z-1.4)/(z+1.4)) elseif @Va=="49" z=conj((z+2.5)/(z-2.5)) elseif @Va=="50" z=conj((z+1.1)/(z-1.1)) elseif @Va=="51" z=conj((z-2)/(z+2)) elseif @Va=="52" z=sqr((z+0.627)/(z-0.627)) elseif @Va=="53" if real(z)>imag(z) z=flip(z) endif z=1.5*tan(z) elseif @Va=="54" if real(z)>imag(z) z=flip(z) endif z=-2.3*tan(z) elseif @Va=="55" if real(z)>imag(z) z=flip(z) endif z=-0.46*cosh(z) elseif @Va=="56" if real(z)>imag(z) z=flip(z) endif z=-0.4*cosh(z) elseif @Va=="57" if real(z)>imag(z) z=flip(z) endif z=1.315*sinh(z) elseif @Va=="58" if real(z)>imag(z) z=flip(z) endif z=-1.45*sin(z) elseif @Va=="59" if real(z)>imag(z) z=flip(z) endif z=1.15*sin(z) elseif @Va=="60" if real(z)>imag(z) z=flip(z) endif z=1.15*recip(z) endif z=(-0.5*(p1*conj(p1/(z-p2))+p2)-a)/(a*(p1*conj(p1/(z-p2))+p2*@fn5(pixel))-0.5) z=(1i*z+1i)/(-z+1) z=(-0.5*z+a)/(-a*z-0.5) z=fn3((z-1i)/(z+1i))+p3 z=@p10*fn4(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 3 M" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""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" endparam param iter caption="Iterations" default=7 endparam param p1 caption="X Parameter 1" default=(2,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX4 { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+@sp*cosh(z) elseif @S=="7" z=z-(@sp+1)*(z^3-1i)/(3*z^2) elseif @S=="8" z=z+(@sp+1)*(z^2-1i)/(2*z-2) elseif @S=="9" z=z+(@sp+1)*((z^2-1i)/(2*z-2i))^2 elseif @S=="10" z=z+(z-(@sp-1)*1i)/(z+(@sp-1)*1i) elseif @S=="11" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="12" z=z+(@sp+1)*((z^2-1i)/(2*z+2i))^2 elseif @S=="13" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="14" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="1" z=(z+1.5i)/(z-1.5i) elseif @Va=="2" z=sqr((z+2.6i)/(z-2.6i)) elseif @Va=="3" z=exp((z-1i)/(z+1i)) elseif @Va=="4" z=recip((z-1i)/(z+1i)) elseif @Va=="5" z=exp((z-1)/(z+1)) elseif @Va=="6" z=exp((z+1.25)/(z-1.25)) elseif @Va=="7" z=((z^2-1i)/(z^2+1i)) elseif @Va=="8" z=flip((z^2-1i)/(z^2+1i)) elseif @Va=="9" z=abs((z^2-1i)/(z^2+1i)) elseif @Va=="10" z=exp((z^2-1i)/(z^2+1i)) elseif @Va=="11" z=sqr((z^2-1i)/(z^2+1i)) elseif @Va=="12" z=cotan((z^2-1i)/(z^2+1i)) elseif @Va=="13" z=flip((z^2+1i)/(z^2-1i)) elseif @Va=="14" z=exp((z^2+1i)/(z^2-1i)) elseif @Va=="15" z=abs((z^2-1)/(z^2+1)) elseif @Va=="16" z=exp((z^2-1)/(z^2+1)) elseif @Va=="17" z=recip((z^2-1)/(z^2+1)) endif if @JM=="J" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-@p12 f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2 z=@p10*fn4(log(abs(z)))+@p11 elseif @JM=="M1" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-(@p12+1)*@fn5(pixel) f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2 z=@p10*fn4(log(abs(z)))+@p11 elseif @JM=="M2" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-@p12 f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2*@fn5(pixel) z=@p10*fn4(log(abs(z)))+@p11 elseif @JM=="M3" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-@p12 f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2 z=@p10*fn4(log(abs(z)))+(@p11+1)*@fn5(pixel) elseif @JM=="M4" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-(@p12+1)*@fn5(pixel) f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2*@fn5(pixel) z=@p10*fn4(log(abs(z)))+@p11 elseif @JM=="M5" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-(@p12+1)*@fn5(pixel) f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2 z=@p10*fn4(log(abs(z)))+(@p11+1)*@fn5(pixel) elseif @JM=="M6" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-@p12 f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2*@fn5(pixel) z=@p10*fn4(log(abs(z)))+(@p11+1)*@fn5(pixel) elseif @JM=="M7" f=(2/sqrt(4*p1*p3-p2^2))*(2*p1*z^3+p2)/(sqrt(4*p1*p3-p2^2))-(@p12+1)*@fn5(pixel) f1=1/(p1*fn3(z)^2+p2*@fn6(z)+p3) z=z-p1*f/f1+p2*@fn5(pixel) z=@p10*fn4(log(abs(z)))+(@p11+1)*@fn5(pixel) endif endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 4" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param JM caption="J/M Variant" enum="J""M1""M2""M3""M4""M5""M6""M7" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param Va caption="X Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17" endparam param iter caption="Iterations" default=3 endparam param p1 caption="X Parameter 1" default=(-1,0) endparam param p2 caption="X Parameter 2" default=(-1,0) endparam param p3 caption="X Parameter 3" default=(1.5,0) endparam param p12 caption="X Parameter 4" default=(0,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="X Function 1" default=ident() endfunc func fn6 caption="X Function 2" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc func fn5 caption="C Function" default=ident() visible=@JM!="J" endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX5 { init: z=fn1(pixel) if @S=="1" z=z+(@sp-1)*(z-1)/(z+1) elseif @S=="2" z=z^2+(@sp+1)*(2*z-1i)/(z+2i)/(z-1) elseif @S=="3" z=z^2*(z-@sp)/(1i-@sp*z) elseif @S=="4" z=z+(@sp+1)*(2*z-1i)/(z+2i)*(z-1) elseif @S=="5" z=z+z^2*(z-@sp)/(1i-@sp*z) elseif @S=="6" z=z+z^2*(z-@sp)/(1-@sp*z) elseif @S=="7" z=z+(@sp-1)*(z-1i)*(z+1i) elseif @S=="8" z=z+(@sp+1)*(z+1)*(z-1)/(z+2)*(z-2) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z z=z^2*@fn6((z-p3)/(1-p3*z)) if @V=="1" z=p1*@fn5((z-p2*fn3(pixel))/(z+p2*fn3(pixel)))^4 z=@p10*fn4(log(abs(z)))+@p11 elseif @V=="2" z=p1*@fn5((z-p2)/(z+p2*fn3(pixel)))^4 z=@p10*fn4(log(abs(z)))+@p11 elseif @V=="3" z=p1*@fn5((z-p2*fn3(pixel))/(z+p2))^4 z=@p10*fn4(log(abs(z)))+@p11 elseif @V=="4" z=p1*@fn5((z-p2*fn3(pixel))/(z+p2*fn3(pixel)))^4 z=@p10*fn4(log(abs(z)))+@p11*fn3(pixel) elseif @V=="5" z=p1*@fn5((z-p2)/(z+p2*fn3(pixel)))^4 z=@p10*fn4(log(abs(z)))+@p11*fn3(pixel) elseif @V=="6" z=p1*@fn5((z-p2*fn3(pixel))/(z+p2))^4 z=@p10*fn4(log(abs(z)))+@p11*fn3(pixel) elseif @V=="7" z=p1*@fn5((z-p2)/(z+p2))^4 z=@p10*fn4(log(abs(z)))+@p11*fn3(pixel) endif endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 5" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param V caption="X Variant" enum="1""2""3""4""5""6""7" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8" default=2 endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0.75,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc func fn5 caption="X Function 1" default=ident() endfunc func fn6 caption="X Function 2" default=exp() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX6J { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="3" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="4" z=z+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="5" z=@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="6" z=@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="7" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1i) elseif @S=="8" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=@sp*(z-2)/(1-2*z)/(z-1i) elseif @S=="12" z=@sp*(z-2)/(1i-2*z)/(z-1) elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" z=z+z^2*sqr((z-3)/(1-3*z)) elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=recip((z-5)/(1-5*z)) elseif @Va=="7" z=exp((z+0.5)/(1+0.5*z)) elseif @Va=="8" z=sqr((z+0.425)/(1+0.425*z)) elseif @Va=="9" z=cosh((z-0.5)/(1-0.5*z)) elseif @Va=="10" if |z|<1 z=z/|z| endif z=0.05*sqr(z) elseif @Va=="11" z=cotanh(1/(z-0.5))+0.5 elseif @Va=="12" z=flip(7.5/(z-1))+1 elseif @Va=="13" z=cotanh(1/(z+1))-1 elseif @Va=="14" z=sqr(8/(z-1))+1 elseif @Va=="15" z=cotanh(1/(z-1))+1 elseif @Va=="16" z=flip(10/(z-1))+1 elseif @Va=="17" z=cotan(1/(z+0.5))-0.5 elseif @Va=="18" z=7.5/(z-1)+1 elseif @Va=="19" z=cotanh(1/z) endif z=fn3((z-p1*1i)/(z+p1*1i)) z=(z-p2)/(z+p2) z=fn4(@p10*log(abs(z))+@p11) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 6 J" center=(0.001,0.001) periodicity=0 angle=90 magn=0.5 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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" endparam param iter caption="Iterations" default=8 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(2,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX6M { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="3" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="4" z=z+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="5" z=@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="6" z=@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="7" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1i) elseif @S=="8" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=@sp*(z-2)/(1-2*z)/(z-1i) elseif @S=="12" z=@sp*(z-2)/(1i-2*z)/(z-1) elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="1" z=z+z^2*sqr((z-3)/(1-3*z)) elseif @Va=="2" if real(z)imag(z) z=flip(z) endif z=0.5*z elseif @Va=="6" z=((z-0.587)/(1-0.587*z)) elseif @Va=="7" if |z|<1 z=z/|z| endif z=0.75*z elseif @Va=="8" if |z|<1 z=z/|z| endif z=22*sin(z) elseif @Va=="9" if |z|<1 z=z/|z| endif z=8.5*flip(z) elseif @Va=="10" if |z|<1 z=z/|z| endif z=3.7*flip(z) elseif @Va=="11" z=exp(1/(z-2.633))+2.633 elseif @Va=="12" z=flip(1/(z-3.48))+3.48 elseif @Va=="13" z=cotan(1/(z-1.67))+1.67 elseif @Va=="14" z=exp(1/(z-3.35))+3.35 elseif @Va=="15" z=flip(1/(z-4))+4 elseif @Va=="16" z=cotan(1/(z-3))+3 elseif @Va=="17" z=exp(1/(z-3.1))+3.1 elseif @Va=="18" z=7.5/(z-1)+1 elseif @Va=="19" z=cotanh(1/z) elseif @Va=="20" if real(z)imag(z) z=flip(z) endif z=-0.07881*sqr(z) elseif @Va=="26" if real(z)>imag(z) z=flip(z) endif z=-0.03*sqr(z) elseif @Va=="27" z=((z-0.6277)/(1-0.6277*z)) elseif @Va=="28" z=cosh((z-0.385)/(1-0.385*z)) elseif @Va=="29" z=abs((z+0.00557)/(1+0.00557*z)) elseif @Va=="30" z=tan((z+0.59727)/(1+0.59727*z)) elseif @Va=="31" z=flip((z-0.46537)/(1-0.46537*z)) elseif @Va=="32" z=cotanh((z-1.775)/(1-1.775*z)) elseif @Va=="33" z=flip((z+0.177)/(1+0.177*z)) elseif @Va=="34" z=cosh((z+0.215)/(1+0.215*z)) elseif @Va=="35" z=conj((z-0.155)/(1-0.155*z)) elseif @Va=="36" z=cotan((z-1.8265)/(1-1.8265*z)) elseif @Va=="37" z=flip((z-0.38268)/(1-0.38268*z)) elseif @Va=="38" z=exp((z+0.275)/(1+0.275*z)) elseif @Va=="39" z=conj((z-0.258)/(1-0.258*z)) elseif @Va=="40" if |z|<1 z=z/|z| endif z=10*z elseif @Va=="41" if |z|<1 z=z/|z| endif z=20*z elseif @Va=="42" if |z|<1 z=z/|z| endif z=5*flip(z) elseif @Va=="43" if |z|<1 z=z/|z| endif z=6.5*flip(z) elseif @Va=="44" if |z|<1 z=z/|z| endif z=0.75*abs(z) elseif @Va=="45" if |z|<1 z=z/|z| endif z=0.17*sqr(z) elseif @Va=="46" if |z|<1 z=z/|z| endif z=20*abs(z) elseif @Va=="47" if |z|<1 z=z/|z| endif z=-0.75*exp(z) elseif @Va=="48" z=exp(1/(z-3.45))+3.45 elseif @Va=="49" z=-20/(z-1)+1 elseif @Va=="50" z=abs(20/(z-1))+1 elseif @Va=="51" z=cotanh(0.67/(z-1))+1 elseif @Va=="52" z=flip(15/(z-1))+1 elseif @Va=="53" z=cotan(0.08/(z-1))+1 elseif @Va=="54" z=((z^2-3)/(2*z-4))^2 elseif @Va=="55" z=tan((z^2+90-1i)/(2*z+90-2i))^2 elseif @Va=="56" z=sinh((z^2+53)/(2*z+52))^2 elseif @Va=="57" z=conj((z^2+6)/(2*z+5))^2 elseif @Va=="58" z=conj((z^2-5.465-1i)/(2*z-5.465-2i))^2 elseif @Va=="59" z=flip((z^2-2.5)/(2*z-3.5))^2 elseif @Va=="60" z=abs((z^2-3)/(2*z-4))^2 elseif @Va=="61" z=flip((z^2-6.912-1i)/(2*z-6.912-2i))^2 elseif @Va=="62" z=conj((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="63" z=((z^2+1)/(2*z))^2 elseif @Va=="64" z=cosh((z^2+14.5)/(2*z+13.5))^2 elseif @Va=="65" z=flip((z^2+0.5)/(2*z-0.5))^2 elseif @Va=="66" z=conj((z^2-3)/(2*z-4))^2 elseif @Va=="67" z=flip((z+8.8i)/(z-8.8i)) elseif @Va=="68" z=tanh((z+4.65i)/(z-4.65i)) elseif @Va=="69" z=exp((z+3i)/(z-3i)) endif z=flip(7.5/(z-1))+1 z=p1*z^2+p2*z^3 z=@p10*fn4(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 7" center=(0.001,0.001) periodicity=0 angle=90 magn=0.5 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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""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" endparam param iter caption="Iterations" default=8 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam param p15 default=1.0 endparam func fn15 default=ident() endfunc } LabsX8 { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="3" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="4" z=z+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="5" z=@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="6" z=@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="7" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1i) elseif @S=="8" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=@sp*(z-2)/(1-2*z)/(z-1i) elseif @S=="12" z=@sp*(z-2)/(1i-2*z)/(z-1) elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="1" z=z+z^2*sqr((z-3)/(1-3*z)) elseif @Va=="2" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=recip((z-5)/(1-5*z)) elseif @Va=="7" if |z|<1 z=z/|z| endif z=conj(z) elseif @Va=="8" z=sqr((z+0.425)/(1+0.425*z)) elseif @Va=="9" if real(z)1 z=z/|z| endif elseif @Va=="15" z=cotanh(1/(z-1))+1 elseif @Va=="16" z=conj((z+1i)/(z-1i)) elseif @Va=="17" z=cotan(1/(z+0.5))-0.5 elseif @Va=="18" if |z|<1 z=z/|z| endif z=tanh(z) elseif @Va=="19" z=cotanh(1/z) elseif @Va=="20" if real(z)1 z=z/|z| endif z=flip(z) elseif @Va=="24" if real(z)1 z=z/|z| endif z=-sin(z) elseif @Va=="30" if |z|<1 z=z/|z| endif z=0.3*abs(z) elseif @Va=="31" if real(z)1 z=z/|z| endif z=abs(z) elseif @Va=="35" if |z|>1 z=z/|z| endif z=exp(z) elseif @Va=="36" if |z|>1 z=z/|z| endif z=-z elseif @Va=="37" if |z|>1 z=z/|z| endif z=sinh(z) elseif @Va=="38" if |z|>1 z=z/|z| endif z=-exp(z) elseif @Va=="39" if |z|>1 z=z/|z| endif z=2*abs(z) elseif @Va=="40" if |z|>1 z=z/|z| endif z=-conj(z) elseif @Va=="41" if |z|>1 z=z/|z| endif z=tanh(z) elseif @Va=="42" if |z|>1 z=z/|z| endif z=-2*abs(z) elseif @Va=="43" if |z|>1 z=z/|z| endif z=sin(z) elseif @Va=="44" if |z|>1 z=z/|z| endif z=-recip(z) elseif @Va=="45" if |z|>1 z=z/|z| endif z=tan(z) elseif @Va=="46" if |z|>1 z=z/|z| endif z=-flip(z) endif z=(p1*z^2+1i)/(-p1*z+1) z=(z^2+p2)/(1-conj(p2)*z^2) z=@p10*fn4(log(abs(fn3(z))))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 9 J" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn3 caption="Labs Function 2" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000.0 endparam } LabsX9M { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="3" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="4" z=z+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="5" z=@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="6" z=@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="7" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1i) elseif @S=="8" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=@sp*(z-2)/(1-2*z)/(z-1i) elseif @S=="12" z=@sp*(z-2)/(1i-2*z)/(z-1) elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=sqr((z^2-0.6)/(2*z-1.6))^2 elseif @Va=="2" z=flip((z^2+1.5)/(2*z+0.5)) elseif @Va=="3" if real(z)>imag(z) z=flip(z) endif z=-sin(z) elseif @Va=="4" z=conj((z-2)/(1-2*z)) elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif elseif @Va=="6" z=recip((z-5)/(1-5*z)) elseif @Va=="7" if real(z)>imag(z) z=flip(z) endif z=flip(z) elseif @Va=="8" if real(z)>imag(z) z=flip(z) endif z=abs(z) elseif @Va=="9" z=cotanh((z-2)/(1-2*z)) elseif @Va=="10" z=sqr((z+0.4)/(1+0.4*z)) elseif @Va=="11" z=cotanh(1/(z-0.5))+0.5 elseif @Va=="12" if real(z)>imag(z) z=flip(z) endif z=-flip(z) elseif @Va=="13" if real(z)>imag(z) z=flip(z) endif z=-conj(z) elseif @Va=="14" z=flip((z-11)/(1-11*z)) elseif @Va=="15" z=cotanh(1/(z-1))+1 elseif @Va=="16" z=flip((z+11)/(1+11*z)) elseif @Va=="17" z=cotan(1/(z+0.5))-0.5 elseif @Va=="18" if real(z)>imag(z) z=flip(z) endif z=-sqr(z) elseif @Va=="19" if real(z)>imag(z) z=flip(z) endif z=-tanh(z) elseif @Va=="20" z=flip(1/(z+0.2))-0.2 elseif @Va=="21" z=conj(1/(z+0.55))-0.55 elseif @Va=="22" z=abs(1/(z+0.66))-0.66 elseif @Va=="23" z=conj(2.85/(z-1))+1 elseif @Va=="24" z=cotanh(2.4/(z-1))+1 elseif @Va=="25" z=sqr((z^2-1.4)/(2*z-2.4))^2 endif z=(p1*z^2+1i)/(-p1*z+1) z=(z^2+p2)/(1-conj(p2)*z^2) z=@p10*@fn5(log(abs(fn4(z))))+@p11*fn3(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 9 M" center=(0.001,0.001) periodicity=0 angle=90 magn=2 maxiter=500 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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 iter caption="Iterations" default=3 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn5 caption="Labs Function 2" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000 endparam } LabsMöbiusCubedJ { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="3" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="4" z=z+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="5" z=@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="6" z=@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="7" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1i) elseif @S=="8" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=@sp*(z-2)/(1-2*z)/(z-1i) elseif @S=="12" z=@sp*(z-2)/(1i-2*z)/(z-1) elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="16" z=z+@sp*z^3 elseif @S=="17" z=(exp(z)-@sp*1i)/(z+exp(@sp)) elseif @S=="18" z=1i^z+@sp*z^3 elseif @S=="19" z=(cotanh(z)-@sp*1i)/(z+cotanh(@sp)) elseif @S=="20" z=(recip(z)-@sp*1i)/(z+recip(@sp)) elseif @S=="21" z=(cos(z)-@sp*1i)/(z+cos(@sp)) elseif @S=="22" z=(tanh(z)-@sp*1i)/(z+tanh(@sp)) elseif @S=="23" z=(sin(z)-@sp*1i)/(z+sin(@sp)) elseif @S=="24" z=(cosh(z)-@sp*1i)/(z+cosh(@sp)) elseif @S=="25" z=(sinh(z)-@sp*1i)/(z+sinh(@sp)) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif z=-0.45*abs(z) elseif @Va=="2" if real(z)imag(z) z=flip(z) endif z=0.5*z elseif @Va=="6" z=((z-0.587)/(1-0.587*z)) elseif @Va=="7" if |z|<1 z=z/|z| endif z=0.75*z elseif @Va=="8" z=z+exp(z) elseif @Va=="9" if real(z)imag(z) z=flip(z) endif z=0.54*conj(z) elseif @Va=="11" z=z-(z^2-1)/(2*z) elseif @Va=="12" z=z+30/sqr(z) elseif @Va=="13" z=cotan(1/(z-1.67))+1.67 elseif @Va=="14" z=z-30/z elseif @Va=="15" if real(z)imag(z) z=flip(z) endif z=5*recip(z) elseif @Va=="24" z=exp((1-z)/z) elseif @Va=="25" z=z-(z^2-1i)/(2*z) elseif @Va=="26" z=1.9*(1-z)/z elseif @Va=="27" z=((z-0.6277)/(1-0.6277*z)) elseif @Va=="28" z=3*cos((1-z)/z) elseif @Va=="29" if real(z)imag(z) z=flip(z) endif z=-0.45*abs(z) elseif @Va=="2" if real(z)imag(z) z=flip(z) endif z=0.5*z elseif @Va=="6" z=((z-0.587)/(1-0.587*z)) elseif @Va=="7" if |z|<1 z=z/|z| endif z=0.75*z elseif @Va=="8" z=z+exp(z) elseif @Va=="9" if real(z)imag(z) z=flip(z) endif z=0.54*conj(z) elseif @Va=="11" z=z-(z^2-1)/(2*z) elseif @Va=="12" z=z+30/sqr(z) elseif @Va=="13" z=1.5*z*recip(1-z) elseif @Va=="14" z=z-30/z elseif @Va=="15" if real(z)imag(z) z=flip(z) endif z=5*recip(z) elseif @Va=="24" z=flip((z^2-2.5)/(2*z-3.5))^2 elseif @Va=="25" z=-0.42*z*(1-exp(z)) elseif @Va=="26" z=1.9*(1-z)/z elseif @Va=="27" z=((z-0.6277)/(1-0.6277*z)) elseif @Va=="28" z=cotanh(0.67/(z-1))+1 elseif @Va=="29" if real(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" z=z+0.3i*sin(z) elseif @Va=="5" z=z+0.3i*cosh(z) elseif @Va=="6" z=z+0.3i*sqr(z) elseif @Va=="7" z=z+exp((z-4i)/(z+4i)) elseif @Va=="8" z=z+0.3i/exp(z) elseif @Va=="9" z=z+0.3i*exp(z) elseif @Va=="10" z=z-0.3i/exp(z) elseif @Va=="11" z=z+cos((z+4i)/(z-4i)) elseif @Va=="12" z=z-0.3i*cos(z) elseif @Va=="13" z=z+0.3i*z elseif @Va=="14" z=z-0.3i*sin(z) elseif @Va=="15" z=z+0.3i*sinh(z) elseif @Va=="16" z=z-0.3i*cosh(z) elseif @Va=="17" z=z+sqr((z-0.3)/(1-0.3*z)) elseif @Va=="18" z=z-0.3i*sinh(z) elseif @Va=="19" z=z-0.3i*exp(z) elseif @Va=="20" z=z+exp((z+4i)/(z-4i)) elseif @Va=="21" z=z-0.3i*sqr(z) elseif @Va=="22" z=z-0.3i*z elseif @Va=="23" z=z+cos((z-4i)/(z+4i)) elseif @Va=="24" z=z+0.3i*cos(z) elseif @Va=="25" z=z+((z-0.3i)/(z+0.3i)) endif z=p2*(z^2-p1)^2/(4*z*(z-1)*(z-p1)) z=@p10*fn3(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 11 J" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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 iter caption="Iterations" default=3 endparam param p1 caption="X Parameter 1" default=(-1.5,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Labs Function" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX11M { init: z=fn1(pixel) z=z+@sp*z^2 int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/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" z=z+0.3i*sin(z) elseif @Va=="5" z=z+0.3i*tanh(z) elseif @Va=="6" z=z+0.3i*sqr(z) elseif @Va=="7" z=z+exp((z-4i)/(z+4i)) elseif @Va=="8" z=z+0.3i/cos(z) elseif @Va=="9" z=z+exp((z-0.3)/(1-0.3*z)) elseif @Va=="10" z=z+0.3i*tan(z) elseif @Va=="11" z=z+cos((z+4i)/(z-4i)) elseif @Va=="12" z=z+sqr((z+0.3)/(1+0.3*z)) elseif @Va=="13" z=z+0.3i*z elseif @Va=="14" z=z+0.3i/cosh(z) elseif @Va=="15" z=z+0.3i*sinh(z) elseif @Va=="16" z=z-0.3i*cosh(z) elseif @Va=="17" z=z+sqr((z-0.3)/(1-0.3*z)) elseif @Va=="18" z=z-0.3i*tanh(z) elseif @Va=="19" z=z-0.3i*exp(z) elseif @Va=="20" z=z+exp((z+4i)/(z-4i)) elseif @Va=="21" z=z-0.3i*tan(z) elseif @Va=="22" z=z-0.3i*z elseif @Va=="23" z=z+cos((z-4i)/(z+4i)) elseif @Va=="24" z=z+0.3i*cos(z) elseif @Va=="25" z=z+((z-0.3i)/(z+0.3i)) elseif @Va=="26" z=z-0.3i*sqr(z) elseif @Va=="27" z=z-0.3i*sinh(z) elseif @Va=="28" z=z-0.3i*sin(z) elseif @Va=="29" z=z-0.3i/cosh(z) elseif @Va=="30" z=z+exp((z+0.3)/(1+0.3*z)) elseif @Va=="31" z=z-0.3i/cos(z) elseif @Va=="32" z=z-0.3i*cos(z) elseif @Va=="33" z=z-0.3i/exp(z) elseif @Va=="34" z=z+sqr((z-0.3i)/(z+0.3i)) elseif @Va=="35" z=z+0.3i*exp(z) elseif @Va=="36" z=z+0.3i*cosh(z) elseif @Va=="37" z=z+0.3i/exp(z) endif z=p2*(z^2-p1)^2/(4*z*(z-1)*(z-p1*fn4(pixel))) z=@p10*fn3(log(abs(z)))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 11 M" center=(0.001,0.001) periodicity=0 angle=90 maxiter=500 param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37" endparam param iter caption="Iterations" default=3 endparam param p1 caption="X Parameter 1" default=(-1.5,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Labs Function" default=ident() endfunc func fn4 caption="C Function" default=ident() endfunc 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 Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX12 { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+(z-@sp*1i)/(z+@sp*1i) elseif @S=="3" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="4" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=z^2*abs((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="7" z=z^2*((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="8" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=z+z^2*cosh((z-@sp)/(1-@sp*z)) elseif @S=="12" z=z+@sp*z^3 elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="16" z=z+z^2*cos((z-@sp)/(1-@sp*z)) elseif @S=="17" z=z^2*sqr((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="18" z=z^2*exp((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="19" z=(cotanh(z)-@sp*1i)/(z+cotanh(@sp)) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif z=-0.45*abs(z) elseif @Va=="2" z=((z+1i)/(z-1i)) elseif @Va=="3" if real(z)1 z=z/|z| endif z=2*z elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif z=0.5*z elseif @Va=="6" z=z+0.3*1i/cos(1i*z) elseif @Va=="7" if |z|<1 z=z/|z| endif z=0.75*z elseif @Va=="8" z=conj((z+1i)/(z-1i)) elseif @Va=="9" if |z|>1 z=z/|z| endif z=-2*abs(z) elseif @Va=="10" if real(z)>imag(z) z=flip(z) endif z=0.54*conj(z) elseif @Va=="11" z=z+0.3*1i/cotanh(1i*z) elseif @Va=="12" if real(z)1 z=z/|z| endif z=2*abs(z) elseif @Va=="15" z=z+0.3*1i/cotan(1i*z) elseif @Va=="16" if |z|>1 z=z/|z| endif z=-2*z elseif @Va=="17" if real(z)1 z=z/|z| endif z=abs(z) elseif @Va=="31" z=z+1i*tan(1i*z) elseif @Va=="32" if |z|>1 z=z/|z| endif z=2*conj(z) elseif @Va=="33" if real(z)1 z=z/|z| endif z=-2*conj(z) endif if real(z)>imag(z) z=flip(z) endif z=p1*abs(z) z=z*(1+p2*z^2+p3*fn3(z)^2) z=@p10*fn4(log(abs(z)))+@p11*@fn5(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 12" center=(-1.001,-0.501) periodicity=0 angle=90 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" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35" endparam param iter caption="Iterations" default=3 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" 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 p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="X Function" default=exp() endfunc func fn5 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param p8 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX13 { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+(z-@sp*1i)/(z+@sp*1i) elseif @S=="3" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="4" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=(cotanh(z)-@sp*1i)/(z+cotanh(@sp)) elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="7" z=z^2*((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="8" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=z+z^2*cosh((z-@sp)/(1-@sp*z)) elseif @S=="12" z=z+@sp*z^3 elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="16" z=z+z^2*cos((z-@sp)/(1-@sp*z)) elseif @S=="17" z=z^2*sqr((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="18" z=z^2*exp((z-(@sp-0.5))/(1-(@sp-0.5)*z)) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" if real(z)>imag(z) z=flip(z) endif z=-0.45*abs(z) elseif @Va=="2" z=((z+1i)/(z-1i)) elseif @Va=="3" if real(z)1 z=z/|z| endif z=abs(z) elseif @Va=="9" if |z|>1 z=z/|z| endif z=-2*abs(z) elseif @Va=="10" if real(z)>imag(z) z=flip(z) endif z=0.54*conj(z) elseif @Va=="11" z=z+0.3*1i/cotanh(1i*z) elseif @Va=="12" z=z+0.3*(cotanh(z)^2-1)/(2*cotanh(z)) elseif @Va=="13" z=cotanh(-1/(z-1))+1 elseif @Va=="14" z=z+1i*tan(1i*z) elseif @Va=="15" z=z+0.3*(exp(z)^2-1)/(2*exp(z)) elseif @Va=="16" z=z+0.3*(z^2-1)/(2*z) elseif @Va=="17" if real(z)1 z=z/|z| endif z=3*p3*z z=p2/(z^3+(p1-1)*z-p1) z=@p10*fn4(log(abs(z)))+@p11*@fn5(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 13" center=(0.001,0.001) periodicity=0 angle=90 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" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30" endparam param iter caption="Iterations" default=3 endparam param p1 caption="X Parameter 1" default=(0.5,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" 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 p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param p8 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX14 { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+(z-@sp*1i)/(z+@sp*1i) elseif @S=="3" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="4" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=(cotanh(z)-@sp*1i)/(z+cotanh(@sp)) elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="7" z=z^2*((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="8" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=z+z^2*cosh((z-@sp)/(1-@sp*z)) elseif @S=="12" z=z+@sp*z^3 elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="16" z=z+z^2*cos((z-@sp)/(1-@sp*z)) elseif @S=="17" z=z^2*sqr((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="18" z=z^2*exp((z-(@sp-0.5))/(1-(@sp-0.5)*z)) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z)+@p13 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z-1/sqr(z) elseif @Va=="2" z=z+(z+1i)/(z-1i) elseif @Va=="3" if real(z)imag(z) z=flip(z) endif z=0.5*z elseif @Va=="6" z=z+(sqr(z)+1)/(sqr(z)-1) elseif @Va=="7" if |z|<1 z=z/|z| endif z=0.75*z elseif @Va=="8" z=z+(z+1)/(z-1) elseif @Va=="9" z=z+cotan(z) elseif @Va=="10" if real(z)>imag(z) z=flip(z) endif z=0.54*conj(z) elseif @Va=="11" z=z+(z-1)/(z+1) elseif @Va=="12" if real(z)imag(z) z=flip(z) endif z=(p1-1.45)*abs(z)+p2 z=((z^2-0.8)/(2*z-1.8))^2 z=(z^2/(2*z-1))^2 f=z+1/z f1=1-1/z^2 z=z-p3*f/f1 if @JM=="J" z=@p10*fn4(log(abs(z)))+(@p11-1) else z=@p10*fn4(log(abs(z)))+@p11*@fn5(pixel) endif endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 14" center=(0.001,0.001) periodicity=0 angle=0 maxiter=500 param JM caption="J/M" enum="J""M" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(0,0) endparam param p3 caption="X Parameter 3" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="C Function" default=ident() visible=@JM=="M" endfunc func fn4 caption="Labs Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p13 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX15 { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+(z-@sp*1i)/(z+@sp*1i) elseif @S=="3" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="4" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=(cotanh(z)-@sp*1i)/(z+cotanh(@sp)) elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="7" z=z^2*((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="8" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=z+z^2*cosh((z-@sp)/(1-@sp*z)) elseif @S=="12" z=z+@sp*z^3 elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="16" z=z+z^2*cos((z-@sp)/(1-@sp*z)) elseif @S=="17" z=z^2*sqr((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="18" z=z^2*exp((z-(@sp-0.5))/(1-(@sp-0.5)*z)) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z)+@p13 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z-1/sqr(z) elseif @Va=="2" z=z+(z+1i)/(z-1i) elseif @Va=="3" if real(z)imag(z) z=flip(z) endif z=0.5*z elseif @Va=="6" z=z+(sqr(z)+1)/(sqr(z)-1) elseif @Va=="7" if |z|<1 z=z/|z| endif z=0.75*z elseif @Va=="8" z=z+(z+1)/(z-1) elseif @Va=="9" z=z+cotan(z) elseif @Va=="10" if real(z)>imag(z) z=flip(z) endif z=0.54*conj(z) elseif @Va=="11" z=z+(z-1)/(z+1) elseif @Va=="12" if real(z)@bailcon) default: title="Ibbler" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Z Parameter 1" default=(1,0) endparam param p2 caption="Z Parameter 2" default=(1,0) endparam param p3 caption="C Parameter 1" default=(1,0) endparam param p4 caption="C Parameter 2" default=(1,0) endparam param p5 caption="Loop Parameter 1" default=(1,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam param bailcon caption="Bailout" default=0.000000000000000000000000000001 visible=@bt==1 endparam } MunsterMagnet2 { init: z=fn1(pixel) if @S==0 z=z+@sp*z elseif @S==1 z=z+(@sp-0.2)/z elseif @S==2 z=z^2*(z-@sp)/(1-@sp*z) elseif @S==3 z=((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S==4 z=z-(@sp+0.1)*(z^3-1)/(3*z^2) elseif @S==5 z=(z-(@sp+1)*1i)/(z+(@sp+1)*1i) endif c=pixel loop: zold=z z=p5*fn2(z)+p6 if @Va=="None" z=z elseif @Va=="1" z=z+0.15*z*cotan(1-z) elseif @Va=="2" z=z*cosh(1-z) elseif @Va=="3" z=z+0.4*(z^3-1)/(3*z^2) elseif @Va=="4" z=z+0.15*(sinh(z)^3-1i)/(3*sinh(z)^2) elseif @Va=="5" z=z+exp((z-1i)/(z+1i)) elseif @Va=="6" z=z-0.3*z*sqr(1-z) elseif @Va=="7" z=z+0.4*(cotanh(z)^3-1)/(3*cotanh(z)^2) elseif @Va=="8" z=z+0.5*sqr(z) elseif @Va=="9" z=z-(cotanh(z)^3-1i)/(3*cotanh(z)^2) elseif @Va=="10" z=cotan(1/(z-5))+5 elseif @Va=="11" z=z*cos(1-z) elseif @Va=="12" z=z-0.125*(tanh(z)^3-1i)/(3*tanh(z)^2) elseif @Va=="13" z=z-(recip(z)^3-1i)/(3*recip(z)^2) elseif @Va=="14" z=z+cos(1/(z+0.5))-0.5 elseif @Va=="15" z=z+0.15*(cosh(z)^3-1i)/(3*cosh(z)^2) elseif @Va=="16" z=z+z*sqr(1-z) elseif @Va=="17" z=z-(cotan(z)^3-1i)/(3*cotan(z)^2) elseif @Va=="18" z=z-0.1*(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="19" z=z+cotan(1/(z+0.5))-0.5 elseif @Va=="20" z=z+0.1*(cos(z)^3-1i)/(3*cos(z)^2) elseif @Va=="21" z=z+0.15*z*cos(1-z) endif z=p1*z^2*(z-p2*fn3(c))/(1-p2*fn3(c)*z) z=p3*((z^2+p4-1)/(2*z+p4-2))^2 bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |zold-z|>@bailcon) || @bt==2 && |z|<@bail3 && |z-1|>@bail4 default: title="Munster Magnet 2" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p3 caption="Magnet Parameter 1" default=(1,0) endparam param p4 caption="Magnet Parameter 2" default=(-1,0) endparam param p5 caption="Loop Parameter 1" default=(1,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent""Divergent and Convergent" default=2 endparam param baildiv caption="Bailout Value" default=100.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=1e-30 visible=@bt==1 endparam param bail3 caption="Divergent Bailout Value" default=100.0 visible=@bt==2 endparam param bail4 caption="Convergent Bailout Value" default=1e-30 visible=@bt==2 endparam } LabsMunsterMagnet { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+(z-@sp*1i)/(z+@sp*1i) elseif @S=="3" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="4" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=(cotanh(z)-@sp*1i)/(z+cotanh(@sp)) elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="7" z=z^2*((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="8" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=z+z^2*cosh((z-@sp)/(1-@sp*z)) elseif @S=="12" z=z+@sp*z^3 elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="16" z=z+z^2*cos((z-@sp)/(1-@sp*z)) elseif @S=="17" z=z^2*sqr((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="18" z=z^2*exp((z-(@sp-0.5))/(1-(@sp-0.5)*z)) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z)+@p13 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/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" z=(recip(z)+1i)/(recip(z)-1i) elseif @Va=="4" z=(conj(z)-1i)/(conj(z)+1i) elseif @Va=="5" z=(sqr(z)+1i)/(sqr(z)-1i) elseif @Va=="6" z=(flip(z)+1i)/(flip(z)-1i) elseif @Va=="7" if |z|>1 z=z/|z| endif z=-exp(z) elseif @Va=="8" z=(flip(z)-1i)/(flip(z)+1i) elseif @Va=="9" if |z|<1 z=z/|z| endif z=-z elseif @Va=="10" z=(z-2*1i)/(z+2*1i) elseif @Va=="11" if real(z)imag(z) z=flip(z) endif z=exp(z) elseif @Va=="18" z=(abs(z)+1i)/(abs(z)-1i) elseif @Va=="19" if |z|>1 z=z/|z| endif z=-2*tan(z) elseif @Va=="20" z=(sinh(z)+1i)/(sinh(z)-1i) elseif @Va=="21" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-4*z elseif @Va=="22" z=(z-1i)/(z+1i) elseif @Va=="23" if |z|>1 z=z/|z| endif z=-2.25*flip(z) elseif @Va=="24" z=(exp(z)-1i)/(exp(z)+1i) elseif @Va=="25" if |z|>1 z=z/|z| endif z=-2.25*conj(z) elseif @Va=="26" if |z|<1 z=z/|z| endif z=-flip(z) elseif @Va=="27" z=(sinh(z)-1i)/(sinh(z)+1i) elseif @Va=="28" z=(exp(z)+1i)/(exp(z)-1i) elseif @Va=="29" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=4*z elseif @Va=="30" z=(abs(z)+2*1i)/(abs(z)-2*1i) elseif @Va=="31" if |z|>1 z=z/|z| endif z=exp(z) elseif @Va=="32" z=(exp(z)-2*1i)/(exp(z)+2*1i) elseif @Va=="33" if real(z)imag(z) z=flip(z) endif z=-exp(z) elseif @Va=="38" z=(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="39" if real(z)1 z=z/|z| endif z=2.25*conj(z) elseif @Va=="43" if |z|>1 z=z/|z| endif z=3.5*z elseif @Va=="44" z=(cosh(z)+1i)/(cosh(z)-1i) elseif @Va=="45" if |z|>1 z=z/|z| endif z=2.25*flip(z) elseif @Va=="46" if |z|<1 z=z/|z| endif z=flip(z) elseif @Va=="47" z=(flip(z)-2*1i)/(flip(z)+2*1i) elseif @Va=="48" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=-1.5*flip(z) elseif @Va=="49" z=(sqr(z)+2*1i)/(sqr(z)-2*1i) elseif @Va=="50" if real(z)imag(z) z=flip(z) endif endif z=p1*z^2*(z-p2)/(1-p2*z) z=p3*((z^2+p4-1)/(2*z+p4-2))^2 z=@p10*fn4(log(abs(z)))+@p11*@fn5(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs Munster Magnet" center=(0.001,0.001) periodicity=0 angle=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" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() 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""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" endparam param iter caption="Iterations" default=2 endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(0.5,0) endparam param p3 caption="Magnet Parameter 1" default=(1,0) endparam param p4 caption="Magnet Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p13 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX16 { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+(z-@sp*1i)/(z+@sp*1i) elseif @S=="3" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="4" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=z^2*abs((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="7" z=z^2*((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="8" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=z+z^2*cosh((z-@sp)/(1-@sp*z)) elseif @S=="12" z=z+@sp*z^3 elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="16" z=z+z^2*cos((z-@sp)/(1-@sp*z)) elseif @S=="17" z=z^2*sqr((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="18" z=z^2*exp((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="19" z=(cotanh(z)-@sp*1i)/(z+cotanh(@sp)) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z)+@p13 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z-1/sqr(z) elseif @Va=="2" z=abs((z-0.5)/(1-0.5*z)) elseif @Va=="3" if real(z)imag(z) z=flip(z) endif elseif @Va=="8" z=(exp(z)-1i)/(exp(z)+1i) elseif @Va=="9" z=(sinh(z)+1i)/(sinh(z)-1i) elseif @Va=="10" z=(z-2*1i)/(z+2*1i) elseif @Va=="11" if |z|>1 z=z/|z| endif z=-2*tan(z) elseif @Va=="12" if real(z)>imag(z) z=flip(z) endif z=exp(z) elseif @Va=="13" z=(flip(z)+2*1i)/(flip(z)-2*1i) elseif @Va=="14" if |z|<1 z=z/|z| endif z=-0.25*sqr(z) elseif @Va=="15" z=(sqr(z)-2*1i)/(sqr(z)+2*1i) endif z=((z^2-p1)/(2*z)+(2*z)/(z^2-p2))^2 z=@p10*fn4(log(abs(z)))+@p11*@fn5(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 17" center=(0.001,0.001) 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" endparam param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc param Va caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p13 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX18J { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p5*fn2(z)+p6 z=(z-p3)/(1-p3*z) z=z/(p4*z+1) if @Va=="None" z=z elseif @Va=="1" z=z^2*((z-2)/(1-2*z)) elseif @Va=="2" z=z+2*(cos(z)^3-1i)/(3*cos(z)^2) elseif @Va=="3" z=z+(z-1i)/(z+1i) elseif @Va=="4" z=z-cotanh(z) elseif @Va=="5" z=z^2*sqr((z-2)/(1-2*z)) elseif @Va=="6" z=flip((z-0.4i)/(z+0.4i)) elseif @Va=="7" z=z+exp((z-1i)/(z+1i)) elseif @Va=="8" z=z*tanh(1-z) elseif @Va=="9" z=z+((z-2.5)/(z+2.5))^2 elseif @Va=="10" z=z*cosh(1-z) elseif @Va=="11" z=z-2*(cotanh(z)^3-1i)/(3*cotanh(z)^2) elseif @Va=="12" z=-0.6*z*cotanh(1-z) elseif @Va=="13" z=z+exp((z+1i)/(z-1i)) elseif @Va=="14" z=z-(recip(z)^3-1i)/(3*recip(z)^2) elseif @Va=="15" z=sqr((z-3.5i)/(z+3.5i)) elseif @Va=="16" z=z-2*(z^3-1i)/(3*z^2) elseif @Va=="17" z=z+cotanh((z+1i)/(z-1i)) elseif @Va=="18" z=cotanh(z^2/(2*z-1))^2 elseif @Va=="19" z=recip((z^2-1)/(2*z))^2 elseif @Va=="20" z=z+sqr((z-1i)/(z+1i)) elseif @Va=="21" z=z-(sin(z)^3-1i)/(3*sin(z)^2) elseif @Va=="22" z=-1.5*z*tanh(1-z) elseif @Va=="23" z=abs((z-1i)/(z+1i)) elseif @Va=="24" z=recip(z^2/(2*z-1))^2 elseif @Va=="25" z=z+2*(cosh(z)^3-1i)/(3*cosh(z)^2) elseif @Va=="26" z=z+sqr((z+1i)/(z-1i)) elseif @Va=="27" z=z-cotan(z) elseif @Va=="28" z=z+(z-1)/(z+1) elseif @Va=="29" z=z-0.5*(cotan(z)^3-1i)/(3*cotan(z)^2) elseif @Va=="30" z=z+sqr((z-1)/(z+1))^2 elseif @Va=="31" z=z+(sinh(z)^3-1i)/(3*sinh(z)^2) elseif @Va=="32" z=z+(z^3-1i)/(3*z^2) elseif @Va=="33" z=z+cotan(z) elseif @Va=="34" z=z+(cos(z)^3-1i)/(3*cos(z)^2) elseif @Va=="35" z=z-recip(z) elseif @Va=="36" z=z+(exp(z)^3-1i)/(3*exp(z)^2) elseif @Va=="37" z=z+cos(z) elseif @Va=="38" z=z+tanh((z-1i)/(z+1i)) elseif @Va=="39" z=z+z*sqr(1-z) elseif @Va=="40" z=z+0.5*(cos(z)^3-1i)/(3*cos(z)^2) elseif @Va=="41" z=z-(exp(z)^3-1i)/(3*exp(z)^2) elseif @Va=="42" z=z-sqr(z) elseif @Va=="43" z=-z*recip(1-z) elseif @Va=="44" z=z+2*(cotanh(z)^3-1i)/(3*cotanh(z)^2) elseif @Va=="45" z=z-(cos(z)^3-1i)/(3*cos(z)^2) elseif @Va=="46" z=z+(recip(z)^3-1i)/(3*recip(z)^2) elseif @Va=="47" z=z*tan(1-z) elseif @Va=="48" z=z+(cosh(z)^3-1i)/(3*cosh(z)^2) endif z=z^2*((z-2)/(1-2*z)) z=fn3(p2*conj(p2/(z-p1))+p1)^4 z=@p10*fn4(log(log(abs(z))))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 18 J" center=(0.001,0.001) periodicity=0 maxiter=500 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" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="Möbius Parameter 1" default=(0,0) endparam param p4 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Loop Parameter 1" default=(1,0) endparam param p6 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="X Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param p10 caption="labs Parameter 1" default=(1,0) endparam param p11 caption="labs Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } LabsX18M { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 z=p5*fn2(z)+p6 z=(z-p3)/(1-p3*z) z=z/(p4*z+1) if @Va=="None" z=z elseif @Va=="1" z=z^2*((z-2)/(1-2*z)) elseif @Va=="2" z=((z^2-0.8)/(2*z-1.8))^2 elseif @Va=="3" z=z+(z-1i)/(z+1i) elseif @Va=="4" z=z-cotanh(z) elseif @Va=="5" z=z^2*sqr((z-2)/(1-2*z)) elseif @Va=="6" z=z-sinh(z) elseif @Va=="7" z=z+exp((z-1i)/(z+1i)) elseif @Va=="8" z=cotanh((z^2-1)/(2*z))^2 elseif @Va=="9" z=z-sin(z) elseif @Va=="10" z=z+tanh(z) elseif @Va=="11" z=exp(z^2/(2*z-1))^2 elseif @Va=="12" z=z+cotan((z-1)/(z+1)) elseif @Va=="13" z=z+exp((z+1i)/(z-1i)) elseif @Va=="14" z=z+cosh(z) elseif @Va=="15" z=z+exp((z-1)/(z+1)) elseif @Va=="16" z=z+cotanh((z-1i)/(z+1i)) elseif @Va=="17" z=z+cotanh((z+1i)/(z-1i)) elseif @Va=="18" z=cotanh(z^2/(2*z-1))^2 elseif @Va=="19" z=recip((z^2-1)/(2*z))^2 elseif @Va=="20" z=z+sqr((z-1i)/(z+1i)) elseif @Va=="21" z=z-cosh(z) elseif @Va=="22" z=z+sin(z) elseif @Va=="23" z=z+recip(z) elseif @Va=="24" z=recip(z^2/(2*z-1))^2 elseif @Va=="25" z=z+cotanh((z-1)/(z+1)) elseif @Va=="26" z=z+sqr((z+1i)/(z-1i)) elseif @Va=="27" z=z-cotan(z) elseif @Va=="28" z=z+(z-1)/(z+1) elseif @Va=="29" z=sqr(z^2/(2*z-1))^2 elseif @Va=="30" z=z-cos(z) elseif @Va=="31" z=sqr((z^2-1)/(2*z))^2 elseif @Va=="32" z=z-tan(z) elseif @Va=="33" z=z+cotan(z) elseif @Va=="34" z=z+tanh((z+1i)/(z-1i)) elseif @Va=="35" z=z-recip(z) elseif @Va=="36" z=z+tanh((z-1)/(z+1)) elseif @Va=="37" z=z+cos(z) elseif @Va=="38" z=z+tanh((z-1i)/(z+1i)) elseif @Va=="39" z=cotan(z^2/(2*z-1))^2 elseif @Va=="40" z=z-tanh(z) elseif @Va=="41" z=z+sqr((z-1)/(z+1)) elseif @Va=="42" z=z-sqr(z) elseif @Va=="43" z=z+tan((z-1)/(z+1)) elseif @Va=="44" z=z+sinh(z) elseif @Va=="45" z=((z^2-1)/(2*z))^2 elseif @Va=="46" z=z+sqr(z) elseif @Va=="47" z=tanh((z^2-1)/(2*z))^2 elseif @Va=="48" z=z+tan(z) elseif @Va=="49" z=(z^2/(2*z-1))^2 endif z=z^2*((z-2)/(1-2*z)) z=fn3(p2*conj(p2*@fn5(pixel)/(z-p1))+p1)^4 z=@p10*fn4(log(log(abs(z))))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 18 M" center=(0.001,0.001) periodicity=0 maxiter=500 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" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="Möbius Parameter 1" default=(0,0) endparam param p4 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Loop Parameter 1" default=(1,0) endparam param p6 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="X Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } Rivore { init: z=fn1(pixel) if @S==0 z=z+@sp*z elseif @S==1 z=z+(@sp-0.2)/z elseif @S==2 z=z^2*(z-@sp)/(1-@sp*z) elseif @S==3 z=((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S==4 z=z-(@sp+0.1)*(z^3-1)/(3*z^2) elseif @S==5 z=(z-(@sp+1)*1i)/(z+(@sp+1)*1i) endif loop: zold=z z=p5*fn2(z)+p6 z=(z-p3)/(1-p3*z) z=z/(p4*z+1) if @Va=="None" z=z elseif @Va=="1" z=z+0.15*z*cotan(1-z) elseif @Va=="2" z=z*cosh(1-z) elseif @Va=="3" if |z|<1 z=z/|z| endif z=-0.67*recip(z) elseif @Va=="4" if |z|>1 z=z/|z| endif z=1/cotanh(z) elseif @Va=="5" if real(z)imag(z) z=flip(z) endif z=-0.67*conj(z) elseif @Va=="8" z=z+0.5*sqr(z) elseif @Va=="9" z=flip(z/(z+1)) elseif @Va=="10" if |z|<1 z=z/|z| endif z=recip(z) elseif @Va=="11" z=z*cos(1-z) elseif @Va=="12" z=recip(z^2/(z+0.325)) elseif @Va=="13" z=z+sin(z) elseif @Va=="14" if |z|>1 z=z/|z| endif z=tan(z) elseif @Va=="15" if |z|>1 z=z/|z| endif z=-tan(z) elseif @Va=="16" z=z+z*sqr(1-z) elseif @Va=="17" z=recip(z^2/(0.3+z)+z) elseif @Va=="18" z=z+recip(z) elseif @Va=="19" if |z|>1 z=z/|z| endif z=sin(z) elseif @Va=="20" z=flip(z/(z-0.9)) elseif @Va=="21" z=z+0.15*z*cos(1-z) elseif @Va=="22" z=recip(z/(2.75+z)+z) elseif @Va=="23" if |z|>1 z=z/|z| endif z=-sinh(z) elseif @Va=="24" z=z/(z-0.75) elseif @Va=="25" z=z^2/(z-0.42) elseif @Va=="26" z=flip(z^2/(2.6+z)+z) elseif @Va=="27" z=(z^2/(2+z)+z) elseif @Va=="28" if |z|>1 z=z/|z| endif z=-1/cotanh(z) elseif @Va=="29" z=z/(z-1) elseif @Va=="30" z=abs(z/(z-1)) elseif @Va=="31" if |z|>1 z=z/|z| endif z=flip(z) elseif @Va=="32" z=recip(z/(0.7+z)+z) elseif @Va=="33" if |z|>1 z=z/|z| endif z=2*sqr(z) elseif @Va=="34" z=abs(z^2/(2.8+z)+z) endif z=(z^3-p1-3*z^2)^2/(z^3-p2+3*z^2) bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |zold-z|>@bailcon) || (@bt==2 && |z|<@bail3 && |z-1|>@bail4) default: title="Rivore" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34" endparam param p1 caption="Rivore Parameter 1" default=(0,0) endparam param p2 caption="Rivore 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=(0,0) endparam param p5 caption="Loop Parameter 1" default=(1,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent""Divergent and Convergent" default=1 endparam param baildiv caption="Bailout Value" default=100.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=1e-30 visible=@bt==1 endparam param bail3 caption="Divergent Bailout Value" default=100.0 visible=@bt==2 endparam param bail4 caption="Convergent Bailout Value" default=1e-30 visible=@bt==2 endparam } LabsX19 { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="3" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="4" z=z+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="5" z=@sp*(2*z-1i)/(z+2i)*(z-1) elseif @S=="6" z=@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="7" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1i) elseif @S=="8" z=z^2+@sp*(2*z-1i)/(z+2i)*(z-1i) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=@sp*(z-2)/(1-2*z)/(z-1i) elseif @S=="12" z=@sp*(z-2)/(1i-2*z)/(z-1) elseif @S=="13" z=@sp*(z-0.5)/(1-0.5*z)/(z-1i) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) endif int i=0 loop: while i<@iter i=i+1 z=p4*fn2(z)+p5 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p9/z if @Va=="None" z=z elseif @Va=="1" z=z+z^2*sqr((z+7.7)/(1+7.7*z)) elseif @Va=="2" z=z+z^2*flip((z-1)/(1-1*z)) elseif @Va=="3" z=(z+z/(z+1)) elseif @Va=="4" z=z+2*(z^3-1i)/(3*z^2) elseif @Va=="5" z=z^2*(z-2)/(1-2*z) elseif @Va=="6" z=z+2*(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="7" if |z|<1 z=z/|z| endif z=0.75*z elseif @Va=="8" z=(z+z^2/(z+3)) elseif @Va=="9" z=recip(z^2/(2*z-1))^2 elseif @Va=="10" z=z+2.75*(recip(z)^3-1i)/(3*recip(z)^2) elseif @Va=="11" z=z-(cotanh(z)^3-1i)/(3*cotanh(z)^2) elseif @Va=="12" z=cosh(z+z/(z+1)) elseif @Va=="13" z=z^2*tan((z-2)/(1-2*z)) elseif @Va=="14" z=conj(z+z^2/(z+1)) elseif @Va=="15" z=z-(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="16" z=z-(z^3-1i)/(3*z^2) elseif @Va=="17" z=abs(z+z/(z+1)) elseif @Va=="18" z=7.5/(z-1)+1 elseif @Va=="19" z=((z+0.1525)/(1+0.1525*z)) elseif @Va=="20" if real(z)imag(z) z=flip(z) endif z=-0.07881*sqr(z) if real(z)1 z=z/|z| endif z=0.75*recip(z) elseif @Va=="3" z=recip(z) z=0.96*cotan(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=z+0.15*z*cos(1-z) elseif @Va=="7" z=recip(z) z=0.895*cotanh(z) elseif @Va=="8" if |z|<1 z=z/|z| endif z=-abs(z) elseif @Va=="9" z=0.5*z*(1-z) elseif @Va=="10" z=flip((z^2+1.42779)/(2*z+0.42779))^2 elseif @Va=="11" if |z|>1 z=z/|z| endif z=0.85*cotanh(z) elseif @Va=="12" z=z^2*exp((z-2)/(8.1156+2*z)) elseif @Va=="13" z=z+0.25*z*recip(1-z) elseif @Va=="14" z=z-0.3*(recip(z)^3-1i)/(3*recip(z)) elseif @Va=="15" if |z|<1 z=z/|z| endif z=-0.5*sqr(z) elseif @Va=="16" z=z^2*sqr((z-4)/(-3.71612+4*z)) elseif @Va=="17" z=z+0.315*z*sin(1-z) elseif @Va=="18" z=z^2*tanh((z-2)/(6.44+2*z)) elseif @Va=="19" if |z|>1 z=z/|z| endif z=0.9*cotan(z) elseif @Va=="20" z=-1.421*z*cos(1-z) elseif @Va=="21" z=z*cotanh(1-z) elseif @Va=="22" z=z^2*tanh((z-2)/(6.44+2*z)) elseif @Va=="23" if real(z)imag(z) z=flip(z) endif z=-abs(z) elseif @Va=="27" z=1.33*z*tanh(1-z) elseif @Va=="28" z=z^2*tan((z-1)/(3.567*1i+z)) elseif @Va=="29" z=z+0.85*(tanh(z)^3-1i)/(3*tanh(z)) elseif @Va=="30" z=-0.885*z*tan(1-z) elseif @Va=="31" z=0.87386*z*tan(1-z) elseif @Va=="32" z=z+0.75*(sin(z)^3-1i)/(3*sin(z)) elseif @Va=="33" z=z^2*sinh((z-1)/(-5.53713*1i+z)) elseif @Va=="34" z=0.7725*z*cos(1-z) endif zn=z+p3 zn1=z+2*p3 zn2=z+3*p3 z=(zn^3-p1)*(z-zn2)*(z-zn1)/((zn-zn2)*(zn-zn1))\ +(zn1^3-p1)*(z-zn2)*(z-zn)/((zn1-zn2)*(zn1-zn))\ +(zn2^3-p1)*(z-zn1)*(z-zn)/((zn2-zn1)*(zn2-zn))+p2 bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |zold-z|>@bailcon) default: title="Mul" center=(0.001,0.001) magn=0.25 periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34" endparam param p1 caption="Mul Parameter 1" default=(1,0) endparam param p2 caption="Mul Parameter 2" default=(0,0) endparam param p3 caption="Mul Parameter 3" default=(1,0) endparam param p5 caption="Loop Parameter 1" default=(-0.3333,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=100.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=1e-30 visible=@bt==1 endparam } Mul2 { init: z=fn1(pixel) zn=0 zn1=0 zn2=0 if @S==0 z=z+@sp*z^2 elseif @S==1 z=z+(@sp+2.5)/z elseif @S==2 z=z^2*(z-(@sp+3))/(1-(@sp+3)*z) elseif @S==3 z=((z^2+@sp+2)/(2*z+@sp+1))^2 elseif @S==4 z=z-(@sp+7)*(z^3-1i)/(3*z^2) elseif @S==5 z=(@sp-2.5)*(z-1i)/(z+1i) endif loop: zold=z z=p5*fn2(z)+p6 if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=0.872*z elseif @Va=="2" if |z|>1 z=z/|z| endif z=-cotanh(z) elseif @Va=="3" z=recip(z) z=-0.44884*cotanh(z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif elseif @Va=="6" z=conj((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="7" z=cotan(3.31814/(z-1))+1 elseif @Va=="8" if |z|<1 z=z/|z| endif z=-0.82*flip(z) elseif @Va=="9" z=cotanh(1/(z+0.85))-0.85 elseif @Va=="10" z=conj((z^2-0.565-1i)/(2*z-0.565-2i))^2 elseif @Va=="11" if real(z)imag(z) z=flip(z) endif z=conj(z) elseif @Va=="20" z=conj((z^2-4-1i)/(2*z-4-2i))^2 elseif @Va=="21" if |z|>1 z=z/|z| endif z=0.75*cotan(z) elseif @Va=="22" if real(z)imag(z) z=flip(z) endif z=-z elseif @Va=="27" z=flip((z^2-6.57-1i)/(2*z-6.57-2i))^2 elseif @Va=="28" z=cotan(1/(z-1))+1 elseif @Va=="29" if real(z)@bailcon) default: title="Mul 2" center=(0.001,0.001) magn=0.25 periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34" endparam param p1 caption="Mul Parameter 1" default=(1,0) endparam param p2 caption="Mul Parameter 2" default=(0,0) endparam param p3 caption="Mul Parameter 3" default=(1,0) endparam param p5 caption="Loop Parameter 1" default=(-0.3333,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=100.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=1e-30 visible=@bt==1 endparam } Mul3 { init: z=fn1(pixel) zn=0 zn1=0 zn2=0 if @S==0 z=z+@sp*z^2 elseif @S==1 z=z+(@sp+2.5)/z elseif @S==2 z=z^2*(z-(@sp+3))/(1-(@sp+3)*z) elseif @S==3 z=((z^2+@sp+2)/(2*z+@sp+1))^2 elseif @S==4 z=z-(@sp+7)*(z^3-1i)/(3*z^2) elseif @S==5 z=(@sp-2.5)*(z-1i)/(z+1i) endif loop: zold=z z=p5*fn2(z)+p6 if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=-0.8214*z elseif @Va=="2" if |z|>1 z=z/|z| endif z=0.75*recip(z) elseif @Va=="3" z=-0.3*z*(1-z) elseif @Va=="4" if real(z)1 z=z/|z| endif z=0.85*cotanh(z) elseif @Va=="12" z=z^2*tanh((z-4)/(16.227+4*z)) elseif @Va=="13" z=z+0.25*z*recip(1-z) elseif @Va=="14" z=((flip(z)^2-2.5)/(2*flip(z)-3.5))^2 elseif @Va=="15" z=0.093*z*sqr(1-z) elseif @Va=="16" if real(z)imag(z) z=flip(z) endif z=-abs(z) elseif @Va=="27" z=z-0.4225*(tan(z)^3-1i)/(3*tan(z)^2) elseif @Va=="28" z=1.7*z*sin(1-z) elseif @Va=="29" z=z^2*sin((z-4)/(-3+4*z)) elseif @Va=="30" z=0.3*z*(1-z) elseif @Va=="31" if real(z)@bailcon) default: title="Mul 3" center=(0.001,0.001) magn=0.25 periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34" endparam param p1 caption="Mul Parameter 1" default=(1,0) endparam param p2 caption="Mul Parameter 2" default=(0,0) endparam param p3 caption="Mul Parameter 3" default=(1,0) endparam param p5 caption="Loop Parameter 1" default=(-0.3333,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=100.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=1e-30 visible=@bt==1 endparam } Munster10J { init: z=fn1(pixel) if @S==0 z=z+@sp*z^2 elseif @S==1 z=z+(@sp+1)/z elseif @S==2 z=z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S==3 z=((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S==4 z=z-(@sp+1)*(z^3-1)/(3*z^2) elseif @S==5 z=(z-(@sp+1)*1i)/(z+(@sp+1)*1i) endif loop: zold=z z=p5*fn2(z)+p6 z=z/(@p7*z+1) if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=1.15*z elseif @Va=="2" z=z^2*(z-2.9)/(1i-2.9*z) elseif @Va=="3" z=z^2*(1i*z-3)/(-1-3*1i*z) elseif @Va=="4" if real(z)imag(z) z=flip(z) endif z=0.6*z elseif @Va=="6" z=z^2*(z+6.2)/(1i+6.2*z) elseif @Va=="7" if |z|<1 z=z/|z| endif z=flip(z) elseif @Va=="8" z=flip((z^2-1i)/(2*z-2i))^2 elseif @Va=="9" if real(z)@bail default: title="Munster 10 J" center=(0.001,0.001) magn=0.5 periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38""39""40" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p3 caption="Munster Parameter 3" default=(0,0) endparam param p5 caption="Loop Parameter 1" default=(1,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter" default=(0,0) endparam param bail caption="Bailout" default=1e-30 endparam } Munster10M { init: z=fn1(pixel) if @S==0 z=z+@sp*z^2 elseif @S==1 z=z+(@sp+1)/z elseif @S==2 z=z^2*(z-(@sp+0.5))/(1-(@sp+0.5)*z) elseif @S==3 z=((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S==4 z=z-(@sp+1)*(z^3-1)/(3*z^2) elseif @S==5 z=(z-(@sp+1)*1i)/(z+(@sp+1)*1i) endif loop: zold=z z=p5*fn2(z)+p6 if @Va=="None" z=z elseif @Va=="1" z=z^2*(sin(z)-2)/(0.5i+2*sin(z)) elseif @Va=="2" z=z^2*(tanh(z)-2)/(2*tanh(z)) elseif @Va=="3" z=z^2*((z-3)/(1i+3*z)) elseif @Va=="4" z=z-(tan(z)^3-1i)/(3*tan(z)^2) elseif @Va=="5" z=z^2*sin((z-2.75)/(1-2.75*z)) elseif @Va=="6" z=z^2*cotanh((z-0.1)/(1-0.1*z)) elseif @Va=="7" z=z^2*(z-2)/(1-2*z) elseif @Va=="8" z=z+(z^2/(z+3)) elseif @Va=="9" z=z^2*(sinh(z)-2)/(2*sinh(z)) elseif @Va=="10" z=z*(z-2)/2 elseif @Va=="11" z=z^2*sinh((z-3)/(0.3i-3*z)) elseif @Va=="12" z=z-(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="13" z=z^2*cotan((z-0.1)/(1-0.1*z)) elseif @Va=="14" z=z^2*exp((z-0.5)/(1-0.5*z)) elseif @Va=="15" z=z^2*(z-5)/(1-5*z) elseif @Va=="16" z=z-(sin(z)^3-1i)/(3*sin(z)^2) elseif @Va=="17" z=z^2*(z-2)/(1i+2*z) elseif @Va=="18" z=z+sqr(z^2/(z-0.5)) elseif @Va=="19" z=z^2*sqr((z-2)/(1-2*z)) elseif @Va=="20" z=z+sin(z^2/(z-0.67)) elseif @Va=="21" z=(z^2-2)/2 elseif @Va=="22" z=z^2*(sinh(z)-2)/(0.5i+2*sinh(z)) elseif @Va=="23" z=z^2*sin((z-3)/(0.3i-3*z)) elseif @Va=="24" z=z+recip(z^2/(z+1.5)) elseif @Va=="25" z=z^2*(z+5)/(1+5*z) elseif @Va=="26" z=z+sin(z^2/(z+0.67)) elseif @Va=="27" z=z^2*(tanh(z)-2)/(0.5i+2*tanh(z)) elseif @Va=="28" z=z+sqr(z^2/(z+2)) elseif @Va=="29" z=z+1.5*(recip(z)^3-1i)/(3*recip(z)^2) elseif @Va=="30" z=z^2*(sqr(z)-2)/(1i+2*sqr(z)) elseif @Va=="31" z=z^2*(tan(z)-2)/(2*tan(z)) elseif @Va=="32" z=z+(z/(z-2i)) elseif @Va=="33" z=z+2*(z^3-1i)/(3*z^2) elseif @Va=="34" z=z+(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="35" z=z^2*tanh((z-2.5)/(1-2.5*z)) elseif @Va=="36" z=z^2*sqr((z-2.5)/(1-2.5*z)) elseif @Va=="37" z=z+0.2*(exp(z)^3-1i)/(3*exp(z)^2) elseif @Va=="38" z=z+(z^2/(z-3)) elseif @Va=="38" z=z^2*sinh((z-2.75)/(1-2.75*z)) elseif @Va=="39" z=z+sqr(z^2/(z-2)) elseif @Va=="40" z=z-0.5*(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="41" z=z^2*cotan((z+0.1)/(1+0.1*z)) elseif @Va=="42" z=z^2*cotanh((z+0.1)/(1+0.1*z)) elseif @Va=="43" z=z-(sinh(z)^3-1i)/(3*sinh(z)^2) elseif @Va=="44" z=z^2*(z+2)/(1+2*z) elseif @Va=="45" z=z-(tanh(z)^3-1i)/(3*tanh(z)^2) elseif @Va=="46" z=z^2*(tan(z)-2)/(0.5i+2*tan(z)) elseif @Va=="47" z=z+1.5*(sqr(z)^3-1i)/(3*sqr(z)^2) elseif @Va=="48" z=z^2*(sqr(z)-2)/(1.5i+2*sqr(z)) elseif @Va=="49" z=z^2*(sin(z)-2)/(2*sin(z)) elseif @Va=="50" z=z-6*(z^3-1i)/(3*z^2) elseif @Va=="51" z=z^2*sqr((z-3)/(1i-3*z)) elseif @Va=="52" z=z+sqr(z/(z-0.85i)) elseif @Va=="53" z=z^2*tanh((z-5)/(1-5*z)) elseif @Va=="54" z=z+sqr(z^2/(z+0.5)) elseif @Va=="55" z=z+recip(z^2/(z-1.5)) endif z=p1*fn3(pixel)*Z^2*(Z-4)/(p2+4*Z)+p3 bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |zold-z|>@bailcon) default: title="Munster 10 M" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="Add Sqr""Add Recip""Munster""Magnet""Newton""Cayley" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""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" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p3 caption="Munster Parameter 3" default=(0,0) endparam param p5 caption="Loop Parameter 1" default=(1,0) endparam param p6 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=100.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=1e-30 visible=@bt==1 endparam } LabsX22 { init: z=fn1(pixel) z=z+@sp*z^2 int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif elseif @sv=="4" if real(z)imag(z) z=flip(z) endif z=-0.5*z elseif @sv=="12" if real(z)>imag(z) z=flip(z) endif z=0.5*z elseif @sv=="13" if real(z)>imag(z) z=flip(z) endif z=-0.5*abs(z) elseif @sv=="14" if real(z)>imag(z) z=flip(z) endif z=0.5*abs(z) endif int i=0 loop: while i<@iter i=i+1 z=p1*fn2(recip(fn3(z)))+p4 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="1" z=z elseif @Va=="2" if real(z)imag(z) z=flip(z) endif z=2*abs(z) elseif @Va=="16" if real(z)>imag(z) z=flip(z) endif z=-2*abs(z) elseif @Va=="17" if real(z)>imag(z) z=flip(z) endif z=1.75*tanh(z) elseif @Va=="18" if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @Va=="19" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=flip(z) elseif @Va=="20" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=2.3*z endif z=recip(z) z=p2*fn4(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)))^2+p3*@fn5(pixel) endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Awunon Ixatrisep 4" center=(4,0.001) magn=0.125 maxiter=500 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param Va caption="Loop Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20" endparam param p1 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" 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 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="Labs Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc 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 Sqr Parameter" default=(0,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 } Magmod3 { init: z=fn1(pixel) z=z+@sp*1i*z^2 int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(sqr(z))+@p13 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif z=0.2*sqr(z) elseif @Va=="7" z=z^2*(z-8)/(1-8*z) elseif @Va=="8" z=z^2*(z-8)/(1+8*z) elseif @Va=="9" z=z+0.3i*exp(z) elseif @Va=="10" if real(z)>imag(z) z=flip(z) endif z=-abs(z) elseif @Va=="11" z=z+0.3*sqr(z) elseif @Va=="12" z=z-0.3*sqr(z) elseif @Va=="13" z=z-0.3i*exp(z) elseif @Va=="14" if real(z)>imag(z) z=flip(z) endif z=-0.2*sqr(z) elseif @Va=="15" z=z-0.3i*sqr(z) elseif @Va=="16" if real(z)>imag(z) z=flip(z) endif z=abs(z) elseif @Va=="17" z=z+0.3i*sqr(z) endif if @V=="1" z=sqr((z^3+3*(1.65*@fn5(pixel)-1)*z-0.2275)/(3*z^2-1.05*z+0.7725)) elseif @V=="2" z=sqr((z^3+1.95*z-0.35*(1.65*@fn5(pixel)-1))/(3*z^2-1.05*z+0.7725)) elseif @V=="3" z=sqr((z^3+1.95*z+0.65*(1.65*@fn5(pixel)-2))/(3*z^2-1.05*z+0.7725)) elseif @V=="4" z=sqr((z^3+1.95*z-0.2275)/(3*z^2+3*(1.65*@fn5(pixel)-2)*z+0.7725)) elseif @V=="5" z=sqr((z^3+1.95*z-0.2275)/(3*z^2-1.05*z-0.35*(1.65*@fn5(pixel)-1)+1)) elseif @V=="6" z=sqr((z^3+1.95*z-0.2275)/(3*z^2-1.05*z+0.65*(1.65*@fn5(pixel)-2)+1)) endif z=@p10*fn4((log(abs(z))))+@p11*@fn6(pixel) endwhile z=z*51/50 bailout: |z|<@bail default: title="Magmod 3" center=(0.001,0.001) periodicity=0 maxiter=500 param sp caption="Start Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc param V caption="Variant" enum="1""2""3""4""5""6" endparam 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 iter caption="Iterations" default=2 endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc func fn5 caption="C Function 1" default=ident() endfunc func fn6 caption="C Function 2" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p13 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } Magmod4 { init: z=fn1(pixel) z=z+@sp*z^2 int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(sqr(z))+p2 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=recip((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="2" z=z-2.987*(z^3-1i)/(3*z^2) elseif @Va=="3" z=recip((z^2)/(2*z-1))^2 elseif @Va=="4" z=z^2*exp((z-0.3)/(1i-0.3*z)) elseif @Va=="5" z=((z^2)/(2*z-1))^2 elseif @Va=="6" z=sqr((z-2i)/(z+2i)) elseif @Va=="7" z=z^2*sinh(z/1i) elseif @Va=="8" z=z^2*(z-8)/(1+8*z) elseif @Va=="9" z=z+0.3i*exp(z) elseif @Va=="10" z=z+z^2/(z+1i) elseif @Va=="11" z=z^2*recip(z/1i) elseif @Va=="12" z=((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="13" z=z^2*cosh(z/1i) elseif @Va=="14" z=z^2*cos(z/1i) elseif @Va=="15" z=((z^2-15-1i)/(2*z-15-2i))^2 elseif @Va=="16" z=z+sqr(z^2/(z+2i)) elseif @Va=="17" z=z+0.3i*sqr(z) elseif @Va=="18" z=z^2*sqr(z/1i) elseif @Va=="19" z=z-0.3*sqr(z) elseif @Va=="20" z=sqr((z+2i)/(z-2i)) elseif @Va=="21" z=z^2*sin(z/1i) elseif @Va=="22" z=sqr((z^2+15-1i)/(2*z+15-2i))^2 elseif @Va=="23" z=sqr((z^2-7-1i)/(2*z-7-2i))^2 elseif @Va=="24" z=z^2*exp((z-0.05)/(1i-0.05*z)) elseif @Va=="25" z=exp((z^2)/(2*z-1))^2 elseif @Va=="26" z=z-0.3i*sqr(z) elseif @Va=="27" z=z^2*exp(z/1i) elseif @Va=="28" z=z-0.3i*exp(z) elseif @Va=="29" z=z+0.3*sqr(z) elseif @Va=="30" z=z^2*(z/1i) endif if @V=="1" z=sqr((z^3+3*(p1*@fn5(pixel)-1)*z+(p1-1)*(p1-2))/(3*z^2+3*(p1-2)*z+(p1-1)*(p1-2)+1)) elseif @V=="2" z=sqr((z^3+3*(p1-1)*z+(p1*@fn5(pixel)-1)*(p1-2))/(3*z^2+3*(p1-2)*z+(p1-1)*(p1-2)+1)) elseif @V=="3" z=sqr((z^3+3*(p1-1)*z+(p1-1)*(p1*@fn5(pixel)-2))/(3*z^2+3*(p1-2)*z+(p1-1)*(p1-2)+1)) elseif @V=="4" z=sqr((z^3+3*(p1-1)*z+(p1-1)*(p1-2))/(3*z^2+3*(p1*@fn5(pixel)-2)*z+(p1-1)*(p1-2)+1)) elseif @V=="5" z=sqr((z^3+3*(p1-1)*z+(p1-1)*(p1-2))/(3*z^2+3*(p1-2)*z+(p1*@fn5(pixel)-1)*(p1-2)+1)) elseif @V=="6" z=sqr((z^3+3*(p1-1)*z+(p1-1)*(p1-2))/(3*z^2+3*(p1-2)*z+(p1-1)*(p1*@fn5(pixel)-2)+1)) endif z=@p10*fn4((log(abs(z))))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Magmod 4" center=(0.001,0.001) periodicity=0 maxiter=500 param V caption="Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30" endparam param iter caption="Iterations" default=2 endparam param p1 caption="Magmod Parameter" default=(1.65,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } Magmod5 { init: z=fn1(pixel) z=z+@sp*z^2 int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(sqr(z))+p2 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=recip((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="2" z=z-2.987*(z^3-1i)/(3*z^2) elseif @Va=="3" z=recip((z^2)/(2*z-1))^2 elseif @Va=="4" z=z^2*exp((z-0.3)/(1i-0.3*z)) elseif @Va=="5" z=((z^2)/(2*z-1))^2 elseif @Va=="6" z=sqr((z-2i)/(z+2i)) elseif @Va=="7" z=z^2*sinh(z/1i) elseif @Va=="8" z=z^2*(z-8)/(1+8*z) elseif @Va=="9" z=z+0.3i*exp(z) elseif @Va=="10" z=z+z^2/(z+1i) elseif @Va=="11" z=z^2*recip(z/1i) elseif @Va=="12" z=((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="13" z=z^2*cosh(z/1i) elseif @Va=="14" z=z^2*cos(z/1i) elseif @Va=="15" z=((z^2-15-1i)/(2*z-15-2i))^2 elseif @Va=="16" z=z+sqr(z^2/(z+2i)) elseif @Va=="17" z=z+0.3i*sqr(z) elseif @Va=="18" z=z^2*sqr(z/1i) elseif @Va=="19" z=z-0.3*sqr(z) elseif @Va=="20" z=sqr((z+2i)/(z-2i)) elseif @Va=="21" z=z^2*sin(z/1i) elseif @Va=="22" z=sqr((z^2+15-1i)/(2*z+15-2i))^2 elseif @Va=="23" z=sqr((z^2-7-1i)/(2*z-7-2i))^2 elseif @Va=="24" z=z^2*exp((z-0.05)/(1i-0.05*z)) elseif @Va=="25" z=exp((z^2)/(2*z-1))^2 elseif @Va=="26" z=z-0.3i*sqr(z) elseif @Va=="27" z=z^2*exp(z/1i) elseif @Va=="28" z=z-0.3i*exp(z) elseif @Va=="29" z=z+0.3*sqr(z) elseif @Va=="30" z=z^2*(z/1i) endif if @V=="1" z=sqr((z^3+3*(p1*@fn5(pixel)-1i)*z+(p1-1i)*(p1-2i))/(3*z^2+3*(p1-2i)*z+(p1-1i)*(p1-2i)+1)) elseif @V=="2" z=sqr((z^3+3*(p1-1i)*z+(p1*@fn5(pixel)-1i)*(p1-2i))/(3*z^2+3*(p1-2i)*z+(p1-1i)*(p1-2i)+1)) elseif @V=="3" z=sqr((z^3+3*(p1-1i)*z+(p1-1i)*(p1*@fn5(pixel)-2i))/(3*z^2+3*(p1-2i)*z+(p1-1i)*(p1-2i)+1)) elseif @V=="4" z=sqr((z^3+3*(p1-1i)*z+(p1-1i)*(p1-2i))/(3*z^2+3*(p1*@fn5(pixel)-2i)*z+(p1-1i)*(p1-2i)+1)) elseif @V=="5" z=sqr((z^3+3*(p1-1i)*z+(p1-1i)*(p1-2i))/(3*z^2+3*(p1-2i)*z+(p1*@fn5(pixel)-1i)*(p1-2i)+1)) elseif @V=="6" z=sqr((z^3+3*(p1-1i)*z+(p1-1i)*(p1-2i))/(3*z^2+3*(p1-2i)*z+(p1-1i)*(p1*@fn5(pixel)-2i)+1)) endif z=@p10*fn4(log(log(abs(z))))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Magmod 5" center=(0.001,0.001) periodicity=0 maxiter=500 param V caption="Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30" endparam param iter caption="Iterations" default=2 endparam param p1 caption="Magmod Parameter" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc func fn4 caption="Labs Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(0,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } Byllaslif { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2((z))+p2 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z^2*cotan(z/1i) elseif @Va=="2" z=z+exp(z^2/(z-0.4)) elseif @Va=="3" z=z^2*(z-4)/(1i+4*z) elseif @Va=="4" z=((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="5" z=z-(z^3-1i)/(3*z^2) elseif @Va=="6" z=-0.2*z^3/1i elseif @Va=="7" z=z+(3*z^2)/(z^6-1i) elseif @Va=="8" z=z^2*(z-8)/(1+8*z) elseif @Va=="9" z=z+0.3i*exp(z) elseif @Va=="10" z=z+sqr(z^2/(z+3)) elseif @Va=="11" z=z^2*recip(z/1i) elseif @Va=="12" z=z^2*(cos(z)-4)/(-2.15i+4*z) elseif @Va=="13" z=z-(3*z^2)/(cos(z)^3-1i) elseif @Va=="14" z=z+cotanh(z^2/(z-0.2)) elseif @Va=="15" z=z+(exp(z)^3-1i)/(3*z^2) elseif @Va=="16" z=z^2*(tanh(z)-4)/(1i+4*z) elseif @Va=="17" z=z^2*(cos(z)-4)/(1i+4*z) elseif @Va=="18" z=z+1.5*(z^3-1i)/(3*z^2) elseif @Va=="19" z=z-0.3*sqr(z) elseif @Va=="20" z=z+(3*z^2)/(z^3-1i) elseif @Va=="21" z=z+cotan(z^2/(z-0.2)) elseif @Va=="22" z=sqr((z^2-5-1i)/(2*z-5-2i))^2 elseif @Va=="23" z=z^2*(recip(z)-4)/(1i+4*z) elseif @Va=="24" z=cotan((z^2+1.5-1i)/(2*z+1.5-2i))^2 elseif @Va=="25" z=exp((z^2)/(2*z-1))^2 elseif @Va=="26" z=z-0.3i*sqr(z) elseif @Va=="27" z=z+(3*z^2)/(cos(z)^3-1i) elseif @Va=="28" z=z-0.3i*exp(z) elseif @Va=="29" z=z^2*(exp(z)-4)/(1i+4*z) elseif @Va=="30" z=z+recip(z^2/(z-0.5)) elseif @Va=="31" z=z-(3*z^2)/(z^3-1i) elseif @Va=="32" z=z-(3*z^2)/(sinh(z)^3-1i) elseif @Va=="33" z=z-(exp(z)^3-1i)/(3*z^2) elseif @Va=="34" z=z-(3*z^2)/(sinh(z)^3-1i) elseif @Va=="35" z=z-(3*z^2)/(z^6-1i) endif z=(z-p4)*(Z^3+p1)*z^2+p3*@fn5(pixel) z=@p10*fn4(log(log(log(abs(z)))))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Byllaslif" center=(0.001,0.001) 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35" endparam param iter caption="Iterations" default=2 endparam param p1 caption="Byllaslif Parameter 1" default=(1,0) endparam param p3 caption="Byllaslif Parameter 2" default=(1,0) endparam param p4 caption="Byllaslif Parameter 3" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc func fn4 caption="LLlabs Function" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p2 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="LLlabs Parameter 1" default=(1,0) endparam param p11 caption="LLlabs Parameter 2" default=(0,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } Barnsley9 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: z=p3*fn2(z)+p4 z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif elseif @Va=="2" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=0.917*conj(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=5.85*atanh(z) elseif @Va=="4" z=z+exp(z^2/(z+6)) elseif @Va=="5" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=5.85*atan(z) elseif @Va=="6" z=z+0.3*abs(z) elseif @Va=="7" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=1.124*flip(z) elseif @Va=="8" z=z+1/log(z) elseif @Va=="9" z=z+3.2/exp(z) elseif @Va=="10" z=z+sqr(z^2/(z-20)) elseif @Va=="11" z=z+cos(z^2/(z+50)) elseif @Va=="12" z=z+0.42/sqr(z) elseif @Va=="13" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=1.33*abs(z) elseif @Va=="14" z=z+1/cosh(z) elseif @Va=="15" z=z+1/exp(z) elseif @Va=="16" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=2.9*asinh(z) elseif @Va=="17" z=z+exp(z^2/(z-6)) elseif @Va=="18" z=z+tanh(z^2/(z+15)) elseif @Va=="19" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=0.8*exp(z) elseif @Va=="20" z=z+sqrt(z^2/(z+45)) elseif @Va=="21" z=z-0.3/flip(z) elseif @Va=="22" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=-0.28*sqr(z) elseif @Va=="23" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=3.8*asin(z) elseif @Va=="24" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=18.3*abs(z) endif if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(z-p2)*p1 else z=(z+p2)*p1 endif if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(z+p2)*p1 else z=(z-p2)*p1 endif bailout: |z|<@bail default: title="Barnsley 9" center=(0.001,0.001) magn=0.5 periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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" endparam param p1 caption="Barnsley Parameter 1" default=(0.97,0.4) endparam param p2 caption="Barnsley Parameter 2" default=(0.47,-1.6) endparam func fn3 caption="Barnsley Function" default=ident() endfunc param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } Barnsley10 { init: z=fn1(pixel) if @S=="1" z=z+@sp*z^2 elseif @S=="2" z=z+(@sp-0.2)*z^3 elseif @S=="3" z=z+(@sp-0.2)*(z^3-z^2) elseif @S=="4" z=z+(@sp-0.2)*(z^2-z) elseif @S=="5" z=z+(@sp-0.2)*(z^3+z^2+z) elseif @S=="6" z=z+(@sp-0.2)*cosh(z) elseif @S=="7" z=z+(@sp-0.2)*cos(z) elseif @S=="8" z=z+(@sp-0.2)*sinh(z) elseif @S=="9" z=z+(@sp-0.2)*exp(z) elseif @S=="10" z=abs(z+(@sp-0.2)*z^2) elseif @S=="11" z=cosh(z+(@sp-0.2)*z^2) elseif @S=="12" z=sin(z+(@sp-0.2)*z^2) elseif @S=="13" z=flip(z+(@sp-0.2)*(z^3-z^2)) elseif @S=="14" z=abs(z+(@sp-0.2)*(z^3-z^2)) elseif @S=="15" z=asin(z+(@sp-0.2)*(z^3+z^2+z)) elseif @S=="16" z=asinh(z+(@sp-0.2)*(z^3+z^2+z)) elseif @S=="17" z=acos(z+(@sp-0.2)*(z^3+z^2+z)) elseif @S=="18" z=acosh(z+(@sp-0.2)*(z^3+z^2+z)) elseif @S=="19" z=acosh(z+(@sp-0.2)*z^3) elseif @S=="20" z=acos(z+(@sp-0.2)*z^3) elseif @S=="21" z=asinh(z+(@sp-0.2)*z^3) elseif @S=="22" z=asin(z+(@sp-0.2)*z^3) elseif @S=="23" z=acosh(z+(@sp-0.2)*(z^2-z)) elseif @S=="24" z=acos(z+(@sp-0.2)*(z^2-z)) elseif @S=="25" z=asinh(z+(@sp-0.2)*(z^2-z)) endif loop: z=p3*conj(z)+p4 z=z+p5/z z=z+p6*sqr(z) z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=1.125*conj(z) elseif @Va=="2" if |z|>1 z=z/|z| endif z=1.125 *cotanh(z) elseif @Va=="3" x=real(z) y=imag(z) x=x/|z| y=y/|z| z=x+flip(y) z=2.5*z elseif @Va=="4" if real(z)1 z=z/|z| endif z=4*atanh(z) elseif @Va=="7" z=conj((z^2+1.885)/(2*z+0.885))^2 elseif @Va=="8" if real(z)1 z=z/|z| endif z=4*atan(z) elseif @Va=="37" z=acos((z^2-8.23)/(2*z-9.23))^2 elseif @Va=="38" z=z+0.5*cotanh(z) elseif @Va=="39" z=abs((z^2+1.8225)/(2*z+0.8225))^2 elseif @Va=="40" if real(z)=0 z=(flip(z)-p2)*p1 else z=(flip(z)+p2)*p1 endif bailout: |z|<@bail default: title="Barnsley 10" center=(0.001,0.001) magn=0.5 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Barnsley Parameter 1" default=(1,0.75) endparam param p2 caption="Barnsley Parameter 2" default=(0.65,1) endparam func fn2 caption="Barnsley Function 1" default=ident() endfunc func fn3 caption="Barnsley Function 2" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42" endparam param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } JuliaBlaschke { ;Based on a formula from Roger Bagula ;https://plus.google.com/110803890168343196795/posts/96Qg1T9Tvtf init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z^2*(tanh(z)-4)/(-0.35+4*z) elseif @Va=="2" z=((z^2+10-1i)/(2*tan(z)+10-2i))^2 elseif @Va=="3" if real(z)@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Julia Blaschke" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46""47""48" endparam param p1 caption="JB Parameter 1" default=(1,0) endparam param p9 caption="JB Parameter 2" default=-3.0 endparam param p2 caption="JB Parameter 3" 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 fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=10.0 visible=@bt==0 endparam } LabsX23 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z) z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)1 z=z/|z| endif z=flip(z) elseif @Va=="10" z=((z^2+1)/(2*z))^2 elseif @Va=="11" z=z-0.5*(exp(z)^2-1i)/(2*z) elseif @Va=="12" z=z-(sinh(z)^2-1i)/(2*z) elseif @Va=="13" if |z|>1 z=z/|z| endif z=tan(z) elseif @Va=="14" z=z-0.3*abs(z) elseif @Va=="15" if |z|<1 z=z/|z| endif z=0.3*exp(z) elseif @Va=="16" z=z+0.3i*abs(z) elseif @Va=="17" z=recip((z^2+1)/(2*z))^2 elseif @Va=="18" z=z-(cosh(z)^2-1i)/(2*z) elseif @Va=="19" z=z-0.3*sqr(z) elseif @Va=="20" if |z|>1 z=z/|z| endif z=abs(z) elseif @Va=="21" z=((cotanh(z)^2-1i)/(2*z-2i))^2 elseif @Va=="22" z=z-(z^4-1i)/(2*z) elseif @Va=="23" z=z-0.3i*cos(z) elseif @Va=="24" z=sqr((z^2)/(2*z-1))^2 elseif @Va=="25" z=z-(tanh(z)^2-1i)/(2*z) elseif @Va=="26" z=z-0.3i*sqr(z) elseif @Va=="27" if |z|>1 z=z/|z| endif z=sinh(z) elseif @Va=="28" if |z|>1 z=z/|z| endif z=sqr(z) elseif @Va=="29" if real(z)1 z=z/|z| endif elseif @Va=="32" z=((z^2+1-1i)/(2*z+1-2i))^2 elseif @Va=="33" if real(z)1 z=z/|z| endif z=-sqr(z) elseif @Va=="39" z=sqr((z^2-1i)/(2*z-2i))^2 elseif @Va=="40" z=z-(sin(z)^2-1i)/(2*z) elseif @Va=="41" z=recip((z^2-3-1i)/(2*z-3-2i))^2 elseif @Va=="42" z=z+0.3*(cosh(z)^2-1i)/(2*z) elseif @Va=="43" if |z|>1 z=z/|z| endif z=sin(z) elseif @Va=="44" z=z-0.3i*abs(z) endif z=p1^2*z*(1-z^2)*(1-p1*z*(1-z))+p2 z=@p10*fn4((log(abs(fn3(z)))))+@p11 endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 23" center=(0.001,0.001) 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn3 caption="Labs Function 2" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter" default=(1,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } Munster11 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) elseif @S=="17" z=z+(@sp+1)/z elseif @S=="18" z=z+(@sp+1)*1i/cotanh(z) elseif @S=="19" z=z+(@sp+1)*1i/cos(z) elseif @S=="20" z=z+(@sp+1)/cos(z) elseif @S=="21" z=z+(@sp+1)*1i/cotan(z) elseif @S=="22" z=z+(@sp+1)/sin(z) elseif @S=="23" z=z+(@sp+1)/tan(z) elseif @S=="24" z=z+(@sp+1)*1i/cosh(z) elseif @S=="25" z=z+(@sp+1)*1i/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z^2*(z+1.5)/(1+1.5*z) elseif @Va=="2" z=z^2*cotanh((z-4)/(1+4*z)) elseif @Va=="3" z=z^2*sqr((z+2.75)/(1+2.75*z)) elseif @Va=="4" z=z^2*recip((z+0.9)/(1+0.9*z)) elseif @Va=="5" z=z^2*tan((z-4)/(-3+4*z)) elseif @Va=="6" z=z^2*tan((z-4)/(4*z)) elseif @Va=="7" z=z^2*(z-4)/(-1+4*z) elseif @Va=="8" z=z^2*sqr((z-1.625)/(1-1.625*z)) elseif @Va=="9" z=z^2*sinh((z-4)/(-3+4*z)) elseif @Va=="10" z=z^2*tan((z-4)/(-1+4*z)) elseif @Va=="11" z=z^2*sqr((z+1.725)/(1+1.725*z)) elseif @Va=="12" z=z^2*cotanh((z-0.2)/(1-0.2*z)) elseif @Va=="13" z=z^2*sqr((z-4)/(1+4*z)) elseif @Va=="14" z=z^2*(z-4)/(-0.35+4*z) elseif @Va=="15" z=z^2*(z+2.5)/(1+2.5*z) elseif @Va=="16" z=z^2*tan((z-4)/(1+4*z)) elseif @Va=="17" z=z^2*(z+1.13)/(1+1.13*z) elseif @Va=="18" z=z^2*(z-4)/(-2+4*z) elseif @Va=="19" z=z^2*sinh((z-4)/(-2+4*z)) elseif @Va=="20" z=z^2*sqr((z+3.5)/(1+3.5*z)) elseif @Va=="21" z=z^2*(z-4)/(1.15+4*z) elseif @Va=="22" z=z^2*sqr((z-2)/(1-2*z)) elseif @Va=="23" z=z^2*sin((z-4)/(-1+4*z)) elseif @Va=="24" z=z^2*tanh((z-4)/(1+4*z)) elseif @Va=="25" z=z^2*tan((z-4)/(-2+4*z)) endif z=exp(p2)*z^2*cabs(p1)*(p1-z)/(p1*(1-conj(p1)*z)) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 11" center=(0.001,0.001) 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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 p1 caption="Munster Parameter 1" default=(2,0) endparam param p2 caption="Munster Parameter 2" 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 fn2 caption="Loop Function" default=ident() endfunc param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Gromoi { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*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 z=0.5*flip(z) elseif @Va=="3" if |z|<1 z=z/|z| endif z=-0.74*conj(z) elseif @Va=="4" if |z|<1 z=z/|z| endif z=abs(z) elseif @Va=="5" if |z|<1 z=z/|z| endif z=-0.5*sqr(z) elseif @Va=="6" z=z+sqr(z^2/(z+7)) elseif @Va=="7" z=z+tanh(z^2/(z+15)) elseif @Va=="8" if |z|>1 z=z/|z| endif z=1.23*sinh(z) elseif @Va=="9" if |z|>1 z=z/|z| endif z=0.9*recip(z) elseif @Va=="10" if real(z)<0 z=-real(z)+flip(imag(z)) endif elseif @Va=="11" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=0.5*flip(z) elseif @Va=="12" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=-0.85*conj(z) elseif @Va=="13" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=-0.7*conj(z) elseif @Va=="14" z=((z^2-1)/(2*z-2))^2 elseif @Va=="15" z=flip((z^2-1)/(2*z-2))^2 elseif @Va=="16" z=flip((z^2-2)/(2*z-3))^2 elseif @Va=="17" z=flip((z^2+1)/(2*z))^2 elseif @Va=="18" z=abs((z^2-1)/(2*z-2))^2 elseif @Va=="19" z=((z^2-6.5-1i)/(2*z-6.5-2i))^2 elseif @Va=="20" z=flip((z^2-1.9-1i)/(2*z-1.9-2i))^2 elseif @Va=="21" z=z-0.42*(cosh(z)^3-1i)/(3*z^2) endif a=(1-1/(p1)^@pow)*exp(1i*sqrt(p1)) z=a^2*z*(p2-z^2)*(1-a*z*(p2-z))+1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Gromoi" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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" endparam param p1 caption="Gromoi Parameter 1" default=(1.15,1.1) endparam param p2 caption="Gromoi Parameter 2" default=(1,0) endparam param pow caption="Gromoi Exponent" default=(3,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Gisti { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=-0.575*z elseif @Va=="2" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=1.086*z elseif @Va=="3" if |z|<1 z=z/|z| endif z=-0.55*flip(z) elseif @Va=="4" if |z|<1 z=z/|z| endif z=-0.55*abs(z) elseif @Va=="5" if |z|<1 z=z/|z| endif z=-1.129839*recip(z) elseif @Va=="6" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=-0.4675*exp(z) elseif @Va=="7" if real(z)<0 z=-real(z)+flip(imag(z)) endif z=0.75*sqr(z) elseif @Va=="8" if |z-2.14|<1 z=(1/(z-2.14))+2.14 endif elseif @Va=="9" if |z+0.45|<1 z=(1/(z+0.45))-0.45 endif elseif @Va=="10" z=recip(z)^3 elseif @Va=="11" z=-recip(z)^3 elseif @Va=="12" z=0.65*z^3 elseif @Va=="13" z=z-0.2*recip(z)^2 elseif @Va=="14" z=z+1i*z*cos(z) elseif @Va=="15" z=z+1/exp(z) elseif @Va=="16" z=z-0.7*z*exp(z) elseif @Va=="17" z=z+0.5*z*cotan(z) elseif @Va=="18" z=z+tanh(z^2/(z+15)) elseif @Va=="19" z=z+0.3i*z*cos(z) elseif @Va=="20" z=-1.675*z*sin(1-z) elseif @Va=="21" z=0.2*(0.2/(z^2-1))+1 elseif @Va=="22" z=0.5*flip(0.5/(z^2-1))+1 elseif @Va=="23" z=0.375*abs(0.375/(z^2-1))+1 elseif @Va=="24" z=-0.575*abs(-0.575/(z^2-1))+1 elseif @Va=="25" z=0.5i*(0.5/(z^2-1))+1 elseif @Va=="26" z=0.6i*flip(0.6/(z^2-1))+1 elseif @Va=="27" z=0.35i*flip(0.35/(z^2-1))+1 elseif @Va=="28" z=0.35i*conj(0.35/(z^2-1))+1 elseif @Va=="29" z=4.15*exp(4.15/(flip(z)^2-0.9))+0.9 elseif @Va=="30" if |z|<1 z=z/|z| endif z=z^2*exp((z-0.84)/(1-0.84*z)) elseif @Va=="31" z=z^2*(z-0.42)/(1i-0.42*z) elseif @Va=="32" z=z^2*exp((z-0.08873)/(1i-0.08873*z)) endif z=fn4(p1^2*z*(1-z^2)*(1-p1*z*(1-z)))+p2^fn3(pixel) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Gisti" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32" endparam param p1 caption="Gisti Parameter 1" default=(0.8,0) endparam param p2 caption="Gisti Parameter 2" default=(1,0) endparam func fn4 caption="Gisti Function" default=ident() endfunc func fn3 caption="C Function" default=ident() visible=p2!=1 endfunc param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Munster12 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=flip(z) elseif @Va=="2" if |z|<1 z=z/|z| endif z=-conj(z) elseif @Va=="3" if |z|<1 z=z/|z| endif z=0.75*abs(z) elseif @Va=="4" if |z|>1 z=z/|z| endif z=cotanh(z) elseif @Va=="5" if |z|>1 z=z/|z| endif z=2*cosh(z) elseif @Va=="6" z=z+sqr(z^2/(z+7)) elseif @Va=="7" if |z|>1 z=z/|z| endif z=2*cos(z) elseif @Va=="8" if |z|>1 z=z/|z| endif z=0.75*recip(z) elseif @Va=="9" z=z^2*(z-4)/(-2.3+4*z) elseif @Va=="10" z=z^2*tan((z-4)/(-1+4*z)) elseif @Va=="11" z=z^2*sinh((z-4)/(-1+4*z)) elseif @Va=="12" z=z^2*sin((z-4)/(-1+4*z)) elseif @Va=="13" z=z+0.855*cotan(z) elseif @Va=="14" z=flip((z^2+1)/(2*z))^2 elseif @Va=="15" z=z+0.3i/cosh(z) elseif @Va=="16" z=z-0.337i/exp(z) elseif @Va=="17" z=z+0.69i/cotanh(z) elseif @Va=="18" z=z+0.35i/cotan(z) elseif @Va=="19" z=z+0.25i/tan(z) endif z=exp(p2)*(cabs(p1)/p1)*z^3*(fn3(z)-p1)/(1-conj(p1)*z) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 12" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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" endparam param p1 caption="Munster Parameter 1" default=(2,0) endparam param p2 caption="Munster Parameter 2" 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 fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="Munster Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Apulbaena { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p6*sqr(z) z=p1*fn3(pixel)*(1-z^2)/(1-p1^2*z^2*fn3(pixel)^2) bailout: |z|<@bail default: title="Apulbaena" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Apulbaena Parameter" default=(1,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } LabsX24 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z)+@p8 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) if @Va=="None" z=z elseif @Va=="1" z=z-1i*tanh(z) elseif @Va=="2" if |z|>1 z=z/|z| endif z=tan(z) elseif @Va=="3" z=z+tan(tanh(z)) elseif @Va=="4" z=z+2*sin(z) elseif @Va=="5" if |z|>1 z=z/|z| endif z=z-2*sqr(z) elseif @Va=="6" z=z+1i*tanh(z) elseif @Va=="7" if |z|>1 z=z/|z| endif z=z+2*sqr(z) elseif @Va=="8" z=z-2*cos(z) elseif @Va=="9" if |z|>1 z=z/|z| endif z=flip(z) elseif @Va=="10" if |z|>1 z=z/|z| endif z=z+0.3*cosh(z) elseif @Va=="11" if |z|>1 z=z/|z| endif z=z-0.5*sqr(exp(z)) elseif @Va=="12" if |z|>1 z=z/|z| endif z=-sqr(z) elseif @Va=="13" if |z|>1 z=z/|z| endif z=z-cos(cosh(z)) elseif @Va=="14" if |z|>1 z=z/|z| endif z=z-0.3*cosh(z) elseif @Va=="15" z=z+sin(z) elseif @Va=="16" z=z+0.3i*abs(z) elseif @Va=="17" z=z+1i*sin(z) elseif @Va=="18" if |z|>1 z=z/|z| endif z=z-0.5*cos(z) elseif @Va=="19" z=z-sin(z) elseif @Va=="20" if |z|>1 z=z/|z| endif z=z+0.5*sqr(exp(z)) elseif @Va=="21" if |z|>1 z=z/|z| endif z=z+z^4 elseif @Va=="22" z=z-cos(z) elseif @Va=="23" if |z|>1 z=z/|z| endif z=z+2.75*cosh(cosh(z)) elseif @Va=="24" z=z+0.3i*sqr(z) elseif @Va=="25" z=z-2*sin(z) elseif @Va=="26" z=z-1i*sin(z) elseif @Va=="27" if |z|>1 z=z/|z| endif z=sinh(z) elseif @Va=="28" if |z|>1 z=z/|z| endif z=sqr(z) elseif @Va=="29" if |z|>1 z=z/|z| endif z=z-0.5*exp(sqr(z)) elseif @Va=="30" if |z|>1 z=z/|z| endif z=z-0.3*cosh(cosh(z)) elseif @Va=="31" z=z+2i*sin(z) endif if real(z)@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Scadec" center=(0.001,0.001) periodicity=0 param S caption="Start" 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Scadec Parameter 1" default=(-1,0) endparam param p2 caption="Scadec Parameter 2" default=(0.5,1) endparam param p5 caption="Add Logistic Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } LabsX25M { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(flip(cotanh(z)))+p3 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)1 z=z/|z| endif z=abs(z) elseif @Va=="21" if real(z)1 z=z/|z| endif z=sin(z) elseif @Va=="25" z=z+0.85*recip(z) elseif @Va=="26" if |z|>1 z=z/|z| endif z=-sqr(z) elseif @Va=="27" z=flip((z^2+1)/(2*z))^2 elseif @Va=="28" if real(z)1 z=z/|z| endif z=flip(z) elseif @Va=="10" z=((z^2+1)/(2*z))^2 elseif @Va=="11" if |z|<1 z=z/|z| endif z=z-0.5i*z elseif @Va=="12" z=z-(sinh(z)^2-1i)/(2*z) elseif @Va=="13" if |z|>1 z=z/|z| endif z=tan(z) elseif @Va=="14" z=z-0.3*abs(z) elseif @Va=="15" if |z|<1 z=z/|z| endif z=z-0.3i*recip(z) elseif @Va=="16" z=z+0.3i*abs(z) elseif @Va=="17" z=(z-1.5i)/(sqr(z)+1i) elseif @Va=="18" z=z+1i*cotan(z)^2 elseif @Va=="19" z=z-0.3*sqr(z) elseif @Va=="20" if |z|>1 z=z/|z| endif z=abs(z) elseif @Va=="21" z=z+1i*recip(z)^2 elseif @Va=="22" if |z|<1 z=z/|z| endif z=z+0.3i*sin(z) elseif @Va=="23" if real(z)1 z=z/|z| endif z=sinh(z) elseif @Va=="28" z=(z+0.5i)/(sqr(z)+1i) elseif @Va=="29" if real(z)1 z=z/|z| endif z=-sqr(z) elseif @Va=="39" if real(z)1 z=z/|z| endif z=sin(z) elseif @Va=="44" z=z-0.3i*abs(z) elseif @Va=="45" if real(z)imag(z) z=flip(z) endif z=0.95*p3*1i*abs(z) z=z-p2*sqrt(z) z=(1-p1/4)*z+p1*(z^3-1)/4 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bloob" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() 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" endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Bloob Parameter 1" default=(1,0) endparam param p2 caption="Bloob Parameter 2" default=(1,0) endparam param p3 caption="Bloob Parameter 3" default=(1,0) endparam param p5 caption="Add Logistic Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Ganthrale { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(tan(pixel)^4-1i)/(4*tan(pixel)^3) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel-2.2*(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @s=="29" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @s=="30" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @s=="31" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @s=="32" z=sqr(pixel)*(sinh(pixel)+1)/(1i+sinh(pixel)) elseif @s=="33" z=pixel+pixel^2+pixel^3 elseif @s=="34" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @s=="35" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @s=="36" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @s=="37" z=pixel-(cotan(pixel)^4-1i)/(4*cotan(pixel)^3) elseif @s=="38" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @s=="39" z=pixel-(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @s=="40" z=pixel-4.6*(pixel^4-1i)/(4*pixel^3) elseif @s=="41" z=pixel-4.6*(tan(pixel)^4-1i)/(4*tan(pixel)^3) endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=z+p3/z z=(sqrt(1i*z+p2)*z)+p1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Ganthrale" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Ganthrale Parameter 1" default=(0.2,0.15) endparam param p2 caption="Ganthrale Parameter 2" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p3 caption="Add Recip Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } LabsX26 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(abs(z))+p3 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=conj((z^2-11.5-1i)/(2*z-11.5-2i))^2 elseif @Va=="2" z=sinh((z^2+17.5-1i)/(2*z+17.5-2i))^2 elseif @Va=="3" z=1/(z-2)+2 elseif @Va=="4" if real(z)1 z=z/|z| endif z=flip(z) elseif @Va=="10" z=1/(z-1)+1 elseif @Va=="11" if real(z)1 z=z/|z| endif z=sin(z) elseif @Va=="24" if real(z)imag(z) z=flip(z) endif z=1i*abs(z) elseif @Va=="46" if real(z)>imag(z) z=flip(z) endif z=-2i*sinh(z) elseif @Va=="47" if real(z)>imag(z) z=flip(z) endif z=1i*exp(z) elseif @Va=="48" if real(z)>imag(z) z=flip(z) endif z=-1.5i*cosh(z) elseif @Va=="49" if real(z)>imag(z) z=flip(z) endif z=-2i*exp(z) elseif @Va=="50" if real(z)>imag(z) z=flip(z) endif z=2i*sinh(z) elseif @Va=="51" if real(z)>imag(z) z=flip(z) endif z=-1i*exp(z) elseif @Va=="52" if real(z)>imag(z) z=flip(z) endif z=-1i*cos(z) elseif @Va=="53" if real(z)>imag(z) z=flip(z) endif z=1.5i*exp(z) elseif @Va=="54" if real(z)>imag(z) z=flip(z) endif z=1i*cos(z) elseif @Va=="55" if real(z)>imag(z) z=flip(z) endif z=-1.5i*sqrt(z) elseif @Va=="56" if real(z)>imag(z) z=flip(z) endif z=-1i*cosh(z) elseif @Va=="57" if real(z)>imag(z) z=flip(z) endif z=-1.5i*exp(z) elseif @Va=="58" if real(z)>imag(z) z=flip(z) endif z=1i*sqr(z) elseif @Va=="59" if real(z)>imag(z) z=flip(z) endif z=2i*exp(z) elseif @Va=="60" if real(z)>imag(z) z=flip(z) endif z=1i*log(z) elseif @Va=="61" if real(z)>imag(z) z=flip(z) endif z=1.5i*cosh(z) elseif @Va=="62" if real(z)>imag(z) z=flip(z) endif z=1i*cosh(z) endif z=((sqr(z)^2-p1-1i)/(2*z-p1-2i))^2 z=p2*(sqrt(1i*z)*z) z=@p10*fn4((log(abs(fn3(z)))))+@p11*pixel endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 26" center=(0.001,0.001) 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""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" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(2,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn3 caption="Labs Function 2" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter 1" default=(1,0) endparam param p3 caption="Loop Parameter 2" default=(0,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } LabsX27 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(abs(z)) z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)1 z=z/|z| endif z=1i*z elseif @Va=="4" z=z-0.3i*abs(z) elseif @Va=="5" if real(z)>imag(z) z=flip(z) endif z=conj(z) elseif @Va=="6" z=z-(sin(z)^2-1i)/(2*z) elseif @Va=="7" if |z|<1 z=z/|z| endif z=-recip(z) elseif @Va=="8" if |z|>1 z=z/|z| endif z=-sqr(z) elseif @Va=="9" if |z|>1 z=z/|z| endif z=flip(z) elseif @Va=="10" z=z+0.3i*sqr(z) elseif @Va=="11" if real(z)>imag(z) z=flip(z) endif z=exp(z) elseif @Va=="12" if real(z)1 z=z/|z| endif z=tan(z) elseif @Va=="14" if real(z)>imag(z) z=flip(z) endif z=tan(z) elseif @Va=="15" if |z|>1 z=z/|z| endif z=sinh(z) elseif @Va=="16" z=z+0.3i*abs(z) elseif @Va=="17" if |z|>1 z=z/|z| endif z=1i*tanh(z) elseif @Va=="18" z=z-0.3i*sqr(z) elseif @Va=="19" z=z-0.3*sqr(z) elseif @Va=="20" if |z|>1 z=z/|z| endif z=-1i*exp(z) elseif @Va=="21" if real(z)>imag(z) z=flip(z) endif z=cosh(z) elseif @Va=="22" z=z-0.3i*cos(z) elseif @Va=="23" z=z+1/exp(z) elseif @Va=="24" z=z-1/exp(z) elseif @Va=="25" z=z+1i/exp(z) elseif @Va=="26" z=z-1i/exp(z) elseif @Va=="27" z=flip((z-0.3i)/(z+0.3i)) elseif @Va=="28" z=abs((z-1i)/(z+1i)) elseif @Va=="29" z=-1.3*(flip(z)-1i)/(flip(z)+1i) elseif @Va=="30" z=-(abs(z)-1i)/(abs(z)+1i) elseif @Va=="31" z=-4*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="32" z=4*(exp(z)-1i)/(exp(z)+1i) elseif @Va=="33" z=(sqr(z)-1i)/(sqr(z)+1i) elseif @Va=="34" z=1.65*(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="35" z=-1.65*(cosh(z)-1i)/(cosh(z)+1i) elseif @Va=="36" z=-(sinh(z)-1i)/(sinh(z)+1i) elseif @Va=="37" z=2*(sinh(z)-1i)/(sinh(z)+1i) elseif @Va=="38" z=-0.75*(sin(z)-1i)/(sin(z)+1i) endif z=((cos(z)^2+p1-1i)/(2*z+p1-2i))^2 z=p2*(sqrt(1i*z)*z) z=@p10*fn4((log(abs(fn3(z)))))+@p11*pixel endwhile z=z*51/50 bailout: |z|<@bail default: title="Labs X 27" center=(0.001,0.001) 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" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38" endparam param iter caption="Iterations" default=2 endparam param p1 caption="X Parameter 1" default=(0,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam func fn2 caption="Loop Function" default=ident() endfunc func fn4 caption="Labs Function 1" default=ident() endfunc func fn3 caption="Labs Function 2" default=ident() endfunc param p6 caption="Möbius Parameter 1" default=(0,0) endparam param p7 caption="Möbius Parameter 2" default=(0,0) endparam param p12 caption="Loop Parameter" default=(1,0) endparam param p10 caption="Labs Parameter 1" default=(1,0) endparam param p11 caption="Labs Parameter 2" default=(1,0) endparam param p8 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } Kalantari { ;https://link.springer.com/article/10.1007/s11071-017-3813-6 init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif loop: zold=z z=@p8*fn2(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) if @V=="1" f=z^4-1 f1=4*z^3 f2=12*z^2 f3=24*z elseif @V=="2" f=z^4+z^3-z^2+z-1 f1=4*z^3+3*z^2-2*z+1 f2=12*z^2+6*z-2 f3=24*z+6 elseif @V=="3" f=z^5+2*z^3+3*z-1 f1=5*z^4+6*z^2+3 f2=20*z^3+12*z f3=60*z^2+12 elseif @V=="4" f=z^5+z^3-1 f1=5*z^4+3*z^2 f2=20*z^3+6*z f3=60*z^2+6 elseif @V=="5" f=z^6-2*z^4-3*z^2-1 f1=6*z^5-8*z^3-6*z f2=30*z^4-24*z^2-6 f3=120*z^3-48*z elseif @V=="6" f=z^4-2*z^3+3*z^2-4*z-1 f1=4*z^3-6*z^2+6*z-4 f2=12*z^2-12*z+6 f3=24*z-12 elseif @V=="7" f=z^7+3*z^6+5*z^2+7*z-1 f1=7*z^6+18*z^5+10*z+7 f2=42*z^5+90*z^4+10 f3=210*z^4+360*z^3 elseif @V=="8" f=z^5-z^4+z^3-z^2+z-1 f1=5*z^4-4*z^3+3*z^2-2*z+1 f2=20*z^3-12*z^2+6*z-2 f3=60*z^2-24*z+6 elseif @V=="9" f=z^3+4*z^2-10 f1=3*z^2+8*z f2=6*z+8 f3=6 elseif @V=="10" f=sin(z)-1 f1=cos(z) f2=-sin(z) f3=-cos(z) elseif @V=="11" f=sin(z)^2-1 f1=2*sin(z)*cos(z) f2=2*(cos(z)^2-sin(z)^2) f3=-8*sin(z)*cos(z) elseif @V=="12" f=sin(z)+sin(z)^2-1 f1=cos(z)+2*sin(z)*cos(z) f2=-sin(z)+2*(cos(z)^2-sin(z)^2) f3=-cos(z)-8*sin(z)*cos(z) elseif @V=="13" f=z^2-exp(z)-3*z+2 f1=2*z-exp(z)-3 f2=2-exp(z) f3=-exp(z) elseif @V=="14" f=cos(z)-z f1=-sin(z)-1 f2=-cos(z) f3=sin(z) elseif @V=="15" f=(z-1)^3-1 f1=3*(z-1)^2 f2=6*(z-1) f3=6 elseif @V=="16" f=z*exp(z)^2-sin(z)^2+3*cos(z)+5 f1=exp(2*z)*(2*z+1)-sin(z)*(2*cos(z)+3) f2=2*exp(2*z)*(2*z+2)+2*sin(z)^2-cos(z)*(2*cos(z)+3) f3=4*exp(2*z)*(2*z+3)+sin(z)*(8*cos(z)+3) elseif @V=="17" f=(z^3+4*z^2-10)^2+sin(z)-z/2 f1=2*z*(3*z+8)*(z^3+4*z^2-10)+cos(z)-0.5 f2=2*(15*z^4+80*z^3+96*z^2-60*z-80)-sin(z) f3=24*(5*z^3+20*z^2+16*z-5)-cos(z) elseif @V=="18" f=z^7+16*z-1 f1=7*z^6+16 f2=42*z^5 f3=210*z^4 elseif @V=="19" f=tan(z)-1 f1=1/cos(z)^2 f2=2*tan(z)/cos(z)^2 f3=2*(2*tan(z)^2+1/cos(z)^2)/cos(z)^2 elseif @V=="20" f=tan(z)+z^3-1 f1=1/cos(z)^2+3*z^2 f2=2*tan(z)/cos(z)^2+6*z f3=2*(2*tan(z)^2+1/cos(z)^2)/cos(z)^2+6 elseif @V=="21" f=tan(z)-z^3-2*z^2-3*z-1 f1=1/cos(z)^2-3*z^2-4*z-3 f2=2*tan(z)/cos(z)^2-6*z-4 f3=2*(2*tan(z)^2+1/cos(z)^2)/cos(z)^2-6 elseif @V=="22" f=z^3+z^2-exp(z)-3*z+2 f1=3*z^2+2*z-exp(z)-3 f2=6*z+2-exp(z) f3=6-exp(z) elseif @V=="23" f=tan(z)+z^3-1+exp(z) f1=1/cos(z)^2+3*z^2+exp(z) f2=2*tan(z)/cos(z)^2+6*z+exp(z) f3=2*(2*tan(z)^2+1/cos(z)^2)/cos(z)^2+6+exp(z) elseif @V=="24" f=tan(z)-z^3-2*z^2-3*z-1-exp(z) f1=1/cos(z)^2-3*z^2-4*z-3-exp(z) f2=2*tan(z)/cos(z)^2-6*z-4-exp(z) f3=2*(2*tan(z)^2+1/cos(z)^2)/cos(z)^2-6-exp(z) elseif @V=="25" f=z/(z-1)-1+z^3 f1=-1/(z-1)^2+3*z^2 f2=2/(z-1)^3+6*z f3=-6/(z-1)^4+6 else f=z/(z-1)-1+z^2+sin(z) f1=-1/(z-1)^2+2*z+cos(z) f2=2/(z-1)^3+2-sin(z) f3=-6/(z-1)^4+6-cos(z) endif z=z-p1*(6*f1^2*f-3*f2*f^2)/(f3*f^2+6*f1^3-6*f2*f1*f)+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Kalantari" center=(0.001,0.001) 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" endparam param p3 caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param V caption="F(Z) 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" endparam param p1 caption="Kalantari Parameter 1" default=(-0.3,0) endparam param p2 caption="Kalantari Parameter 2" default=(0,0) endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } ModifiedIshikawa { ;modification of (15) from: ;https://link.springer.com/article/10.1007/s11071-017-3813-6 init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif loop: zold=z z=@p8*fn3(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=(1-p1)*z+p1*(a^@pow-@p10) a=(1-p2)*z+p2*(z^@pow-@p10) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Modified Ishikawa" center=(0.001,0.001) periodicity=0 param S caption="Start 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 S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="Ishikawa Parameter 1" default=(0.3,0) endparam param p2 caption="Ishikawa Parameter 2" default=(0.5,0) endparam param p10 caption="Ishikawa Parameter 3" default=(1,0) endparam param pow caption="Ishikawa Exponent" default=3 endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn3 caption="Loop Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } ModifiedNoor { ;modification of (16) from: ;https://link.springer.com/article/10.1007/s11071-017-3813-6 init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif if @S3=="1" b=pixel+@p11*(pixel-1i)/(pixel+1i) elseif @S3=="2" b=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S3=="3" b=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S3=="4" b=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S3=="5" b=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S3=="6" b=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S3=="7" b=(pixel-1i)/(pixel+1i) elseif @S3=="8" b=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S3=="9" b=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S3=="10" b=pixel+pixel^2+pixel^3 elseif @S3=="11" b=pixel^2+1i elseif @S3=="12" b=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S3=="13" b=(pixel-1i)/(pixel+1) elseif @S3=="14" b=(pixel+1i)/(1i*pixel) elseif @S3=="15" b=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S3=="16" b=(pixel^3-1i)/(pixel^3+1i) elseif @S3=="17" b=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S3=="18" b=pixel-(pixel^2-1)/(2*pixel) elseif @S3=="19" b=pixel-sqr(pixel) elseif @S3=="20" b=pixel+sqr(pixel) elseif @S3=="21" b=pixel-1i/pixel elseif @S3=="22" b=pixel-(pixel^2-1i)/(2*pixel) elseif @S3=="23" b=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S3=="24" b=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S3=="25" b=1i*sqr(pixel)+pixel elseif @S3=="26" b=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S3=="27" b=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S3=="28" b=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S3!=0 b=fn3(b)+@p11 else b=fn3(b) endif loop: zold=z z=@p8*fn4(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=(1-p1)*z+p1*(a^@pow-@p10) a=(1-p2)*z+p2*(b^@pow-@p10) b=(1-@p12)*z+@p12*(z^@pow-@p10) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Modified Noor" center=(0.001,0.001) periodicity=0 param S caption="Start 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 S2 caption="Start 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" endparam param S3 caption="Start Variant 3" 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 p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p11 caption="Start Parameter 3" default=(0,0) endparam func fn1 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 param p1 caption="Noor Parameter 1" default=(0.3,0) endparam param p2 caption="Noor Parameter 2" default=(0.4,0) endparam param p12 caption="Noor Parameter 3" default=(0.2,0) endparam param p10 caption="Noor Parameter 4" default=(1,0) endparam param pow caption="Noor Exponent" default=3 endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn4 caption="Loop Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Noor { ;(16) from: ;https://link.springer.com/article/10.1007/s11071-017-3813-6 init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif if @S3=="1" b=pixel+@p11*(pixel-1i)/(pixel+1i) elseif @S3=="2" b=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S3=="3" b=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S3=="4" b=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S3=="5" b=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S3=="6" b=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S3=="7" b=(pixel-1i)/(pixel+1i) elseif @S3=="8" b=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S3=="9" b=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S3=="10" b=pixel+pixel^2+pixel^3 elseif @S3=="11" b=pixel^2+1i elseif @S3=="12" b=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S3=="13" b=(pixel-1i)/(pixel+1) elseif @S3=="14" b=(pixel+1i)/(1i*pixel) elseif @S3=="15" b=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S3=="16" b=(pixel^3-1i)/(pixel^3+1i) elseif @S3=="17" b=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S3=="18" b=pixel-(pixel^2-1)/(2*pixel) elseif @S3=="19" b=pixel-sqr(pixel) elseif @S3=="20" b=pixel+sqr(pixel) elseif @S3=="21" b=pixel-1i/pixel elseif @S3=="22" b=pixel-(pixel^2-1i)/(2*pixel) elseif @S3=="23" b=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S3=="24" b=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S3=="25" b=1i*sqr(pixel)+pixel elseif @S3=="26" b=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S3=="27" b=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S3=="28" b=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S3!=0 b=fn3(b)+@p11 else b=fn3(b) endif loop: zold=z z=@p8*fn4(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=(1-p1)*z+p1*(a-(a^@pow-@p10)/(@pow*a^(@pow-1))) a=(1-p2)*z+p2*(b-(b^@pow-@p10)/(@pow*b^(@pow-1))) b=(1-@p12)*z+@p12*(z-(z^@pow-@p10)/(@pow*z^(@pow-1))) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Noor" center=(0.001,0.001) periodicity=0 param S caption="Start 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 S2 caption="Start 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" endparam param S3 caption="Start Variant 3" 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 p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p11 caption="Start Parameter 3" default=(0,0) endparam func fn1 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 param p1 caption="Noor Parameter 1" default=(0.3,0) endparam param p2 caption="Noor Parameter 2" default=(0.4,0) endparam param p12 caption="Noor Parameter 3" default=(0.2,0) endparam param p10 caption="Noor Parameter 4" default=(1,0) endparam param pow caption="Noor Exponent" default=3 endparam param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam func fn4 caption="Loop Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Rootun5 { init: z=fn1(pixel) if @S=="Pixel" z=(@sp+1)*z+@sp elseif @S=="Kali" x=real(z) y=imag(z) x=x/|z|+real(@sp) y=y/|z|+imag(@sp) z=x+flip(y) elseif @S=="Magnet" z=((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="Modified Magnet" z=((z^2+@sp-1i)/(2*z+@sp-2i))^2 elseif @S=="Newton 1" z=z+(@sp+1)*(z^3-1)/(3*z^2) elseif @S=="Newton 2" z=z+(@sp+1)*(z^4-1i)/(4*z^3) elseif @S=="Munster" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="Modified Munster" z=z^2*(z-@sp)/(1i-@sp*z) endif loop: zold=z z=p4*fn2((z))+p5 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p8*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z^2*((z-9.5)/(1-9.5*z)) elseif @Va=="2" z=z-2.2*(recip(z)^4-1)/(4*recip(z)^3) elseif @Va=="3" z=z^2*cotan((z-0.675)/(1-0.675*z)) elseif @Va=="4" z=flip((z^2-6)/(2*z-7))^2 elseif @Va=="5" z=z^2*sinh((z+3.8)/(1+3.8*z)) elseif @Va=="6" z=z^2*sqr((z-6)/(1-6*z)) elseif @Va=="7" z=((z^2-1.25)/(2*z-2.25))^2 elseif @Va=="8" z=z^2*tanh((z+0.5)/(1+0.5*z)) elseif @Va=="9" z=((z^2+2.3)/(2*z+1.3))^2 elseif @Va=="10" z=((flip(z)^2+8.8)/(2*flip(z)+7.8))^2 elseif @Va=="11" z=z^2*cos((z+1.2)/(1+1.2*z)) elseif @Va=="12" z=((z^2-1)/(2*z-2))^2 elseif @Va=="13" z=z^2*((z-1.7)/(1-1.7*z)) elseif @Va=="14" z=recip((z^2-1)/(2*z-2))^2 elseif @Va=="15" z=z^2*sqr((z+2.3)/(1+2.3*z)) elseif @Va=="16" z=z^2*sinh((z-27.5)/(1-27.5*z)) elseif @Va=="17" z=((abs(z)^2-1.5)/(2*abs(z)-2.5))^2 elseif @Va=="18" z=((flip(z)^2-10.5)/(2*flip(z)-11.5))^2 elseif @Va=="19" z=z^2*sqr((z-1.1)/(1-1.2*z)) elseif @Va=="20" z=flip((z^2-12)/(2*z-13))^2 elseif @Va=="21" z=z-0.15*(recip(z)^4-1)/(4*recip(z)^3) elseif @Va=="22" z=z^2*tanh((z-15)/(1-15*z)) elseif @Va=="23" z=flip((z^2+0.66)/(2*z-0.34))^2 elseif @Va=="24" z=z+2.65*(recip(z)^4-1)/(4*recip(z)^3) elseif @Va=="25" z=z^2*((z-3.9)/(1-3.9*z)) elseif @Va=="26" z=z^2*tan((z-3.35)/(1-3.35*z)) elseif @Va=="27" z=z^2*sqr((z+3.8)/(1+3.8*z)) elseif @Va=="28" z=z^2*((z+9.5)/(1+9.5*z)) endif f=z^3-1 f1=3*z^2 a=z-f/f1 z=a-p1*(a^3-1)*(1/f1-4/(f1+3*a^2))+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Rootun 5" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="Pixel""Kali""Magnet""Modified Magnet""Newton 1""Newton 2""Munster""Modified Munster" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Rootun Parameter 1" default=(1,0) endparam param p2 caption="Rootun Parameter 2" default=(0,0) 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" 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="Add Sqr Parameter" default=(0,0) endparam 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 bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==0 endparam } Pongbrot { init: z=fn1(pixel)+p1 a=fn2(pixel)+p2 loop: zold=z if @JM=="J" z=p3*fn3(z)+p4 else z=(p3-0.5)*fn3(z)+p4 endif a=p5*fn4(a)+p6 b=z z=a^4-1 if @JM=="J" a=(1-(@p7-0.5))*(b^3-1)+(@p7-0.5)*(b^4-1) else a=(1-(@p7+0.5)*@fn5(pixel))*(b^3-1)+(@p7+0.5)*@fn5(pixel)*(b^4-1) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Pongbrot" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" 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=(0,0) endparam param p2 caption="Start Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter 1a" default=(1,0) endparam param p4 caption="Loop Parameter 1b" default=(0,0) endparam param p5 caption="Loop Parameter 2a" default=(1,0) endparam param p6 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param p7 caption="Pongbrot Parameter" default=(1,0) endparam func fn5 caption="C Function" default=ident() visible=@JM=="M" endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" default=1 endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Munster13 { init: z=fn1(pixel)+p1 a=fn2(pixel)+p2 loop: zold=z z=p3*fn3(z)+p4 a=p5*fn4(a)+p6 if @JM=="J" a=z*(@p7*a-a^3)/(@fn5(@p8)+@p7*a^2) z=a*(@p7*z-z^3)/(@fn5(@p8)+@p7*z^2) else a=z*(@p7*a-a^3)/(@p8*@fn5(pixel)+@p7*a^2) z=a*(@p7*z-z^3)/(@p8*@fn5(pixel)+@p7*z^2) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 13" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" 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=(0,0) endparam param p2 caption="Start Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter 1a" default=(1,0) endparam param p4 caption="Loop Parameter 1b" default=(0,0) endparam param p5 caption="Loop Parameter 2a" default=(1,0) endparam param p6 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param p7 caption="Munster Parameter 1" default=(1.5,0) endparam param p8 caption="Munster Parameter 2" default=(-0.75,0) endparam func fn5 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Biyavio { init: z=fn1(pixel)+p1*exp(pixel) a=fn2(pixel)+p2*exp(pixel) loop: zold=z z=p3*fn3(z)+p4 a=p5*fn4(a)+p6 b=z if @JM=="M" z=(1-@p7*@fn5(pixel))*(z^3-1)+@p7*@fn5(pixel)*(a^4-1) a=(1-@p8*@fn5(pixel))*b+@p8*@fn5(pixel)*(b^3-1) else z=(1-@fn5(@p7))*(z^3-1)+@fn5(@p7)*(a^4-1) a=(1-@fn5(@p8))*b+@fn5(@p8)*(b^3-1) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Biyavio" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" 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=(0,0) endparam param p2 caption="Start Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter 1a" default=(-1,0) endparam param p4 caption="Loop Parameter 1b" default=(0,0) endparam param p5 caption="Loop Parameter 2a" default=(-0.5,0) endparam param p6 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param p7 caption="Biyavio Parameter 1" default=(0.5,0) endparam param p8 caption="Biyavio Parameter 2" default=(1.5,0) endparam func fn5 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" default=1 endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Biyavio2 { init: z=fn1(pixel)+p1*exp(pixel) a=fn2(pixel)+p2*exp(pixel) loop: zold=z z=p3*fn3(z)+p4 a=p5*fn4(a)+p6 b=z if @JM=="M" z=(1-@p7*@fn5(pixel))*(z^7+z^2-1)+@p7*@fn5(pixel)*(a^8+a^3-1) a=(1-@p8*@fn5(pixel))*b+@p8*@fn5(pixel)*(b^7+b^2-1) else z=(1-@fn5(@p7))*(z^7+z^2-1)+@fn5(@p7)*(a^8+a^3-1) a=(1-@fn5(@p8))*b+@fn5(@p8)*(b^7+b^2-1) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Biyavio 2" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" 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=(0,0) endparam param p2 caption="Start Parameter 2" default=(0,0) endparam param p3 caption="Loop Parameter 1a" default=(-1,0) endparam param p4 caption="Loop Parameter 1b" default=(0,0) endparam param p5 caption="Loop Parameter 2a" default=(-0.5,0) endparam param p6 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param p7 caption="Biyavio Parameter 1" default=(0.5,0) endparam param p8 caption="Biyavio Parameter 2" default=(0.7,0) endparam func fn5 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" default=1 endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarJulia { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif loop: zold=z z=@p8*fn3(z)+@p9 a=@p10*fn4(a)+@p11 a=p1*a/z+p2 z=z^2+p1*a^2+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Julia" center=(0.001,0.001) periodicity=0 param S caption="Start 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 S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="Julia Parameter 1" default=(0.3,0) endparam param p2 caption="Julia Parameter 2" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarMandelbrot { ; Modification of a formula from Gerrit ; https://fractalforums.org/image-threads/25/gerrit-images/565/msg7701#msg7701 init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif loop: zold=z z=@p8*fn3(z)+@p9 a=@p10*fn4(a)+@p11 if @V=="1" a=p1*z/a+@fn5(pixel) elseif @V=="2" a=p1*a/z+@fn5(pixel) elseif @V=="3" a=p1*z^2/a^2+@fn5(pixel) elseif @V=="4" a=p1*a^2/z^2+@fn5(pixel) endif z=z^2+p1*a^2+@fn5(pixel) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Mandelbrot" center=(0.001,0.001) periodicity=0 param V caption="Variant" enum="1""2""3""4" endparam param S caption="Start 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 S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="M Parameter" default=(0.3,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Munster14J { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif loop: zold=z z=@p8*fn3(z)+@p9 a=@p10*fn4(a)+@p11 a=p1*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 14 J" center=(0.001,0.001) periodicity=0 param S caption="Start 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 S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="Munster Parameter 1" default=(0.3,0) endparam param p2 caption="Munster Parameter 2" default=(1.5,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Munster14M { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif loop: zold=z z=@p8*fn3(z)+@p9 a=@p10*fn4(a)+@p11 if @V=="1" a=p1*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a) elseif @V=="2" a=p1*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) elseif @V=="3" a=p1*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) elseif @V=="4" a=p1*@fn5(pixel)*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a) elseif @V=="5" a=p1*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a) elseif @V=="6" a=p1*@fn5(pixel)*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a) elseif @V=="7" a=p1*@fn5(pixel)*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a) elseif @V=="8" a=p1*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a) elseif @V=="9" a=p1*@fn5(pixel)*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a) elseif @V=="10" a=p1*@fn5(pixel)*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) elseif @V=="11" a=p1*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) elseif @V=="12" a=p1*@fn5(pixel)*a/z+p2 z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) elseif @V=="13" a=p1*@fn5(pixel)*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) elseif @V=="14" a=p1*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) elseif @V=="15" a=p1*@fn5(pixel)*a/z+p2*@fn5(pixel) z=z^2*(z-p2)/(1-p2*z)+p1*@fn5(pixel)*a^2*(a-p2)/(1-p2*a)+p2*@fn5(pixel) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 14 M" center=(0.001,0.001) periodicity=0 param V caption="M Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15" endparam param S caption="Start 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 S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="Munster Parameter 1" default=(0.3,0) endparam param p2 caption="Munster Parameter 2" default=(0.5,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc func fn5 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarNewton { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @S2=="28" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) endif if @S2!=0 a=fn2(a)+p4 else a=fn2(a) endif loop: zold=z z=@p8*fn3(z)+@p9 a=@p10*fn4(a)+@p11 a=p1*a/z z=a+z-p1*(z^3-1)/(3*z^2)-p1*(a^3-1)/(3*a^2) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Newton" center=(0.001,0.001) periodicity=0 param S caption="Start 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 S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="Newton Parameter" default=(1,0) endparam param p8 caption="Loop Parameter 1a" default=(-0.5,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" default=(0,0) endparam func fn3 caption="Loop Function 1" default=ident() endfunc func fn4 caption="Loop Function 2" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarCayley { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z z=@p8*fn2(z)+@p9 a=@p10*fn2(a)+@p11 a=p1*a/z+p2 z=(z-1i)/(z+1i)+p1*(a-1i)/(a+1i)+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Cayley" center=(0.001,0.001) periodicity=0 magn=0.5 param S caption="Start 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" endparam param S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Cayley Parameter 1" default=(-2,0) endparam param p2 caption="Cayley Parameter 2" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Munster15J { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)imag(z) z=flip(z) endif z=conj(z) elseif @Va=="22" z=-1.65*abs((z^3-1)/(3*z^2)) elseif @Va=="23" z=0.96*cotanh((z-1i)/(z+1)) elseif @Va=="24" z=0.75*exp((z-1i)/(z+1)) endif z=p1*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 15 J" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p9 caption="Munster Parameter 3" 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 fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Munster15M { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=z+p5/z z=z+p6*sqr(z) if @V=="1" z=p1*fn3(pixel)*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="2" z=z*fn3(pixel) z=p1*fn3(pixel)*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="3" z=p1*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 elseif @V=="4" z=z/fn3(pixel) z=p1*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 elseif @V=="5" z=z/fn3(pixel) z=p1*fn3(pixel)*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 elseif @V=="6" z=z/fn3(pixel) z=(p1+fn3(pixel))*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="7" z=z/fn3(pixel) z=(p1-fn3(pixel))*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="8" z=((p1-0.001)/fn3(pixel))*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="9" z=z*fn3(pixel) z=(p1/fn3(pixel))*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="10" z=z/fn3(pixel) z=(p1/fn3(pixel))*z^2*(-p2-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="11" z=(p1/fn3(pixel))*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 elseif @V=="12" z=z/fn3(pixel) z=(p1/fn3(pixel))*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 elseif @V=="13" z=p1*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="14" z=z/fn3(pixel) z=p1*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="15" z=p1*z^2*(-p2-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 elseif @V=="16" z=z/fn3(pixel) z=p1*fn3(pixel)*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="17" z=z/fn3(pixel) z=p1*fn3(pixel)*z^2*(-p2-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 elseif @V=="18" z=(p1/fn3(pixel))*z^2*(-p2*fn3(pixel)-1i*z-1i*z^3)/(p2+z^2+1i*z^3)+@p9 elseif @V=="19" z=(p1/fn3(pixel))*z^2*(-p2-1i*z-1i*z^3)/(p2*fn3(pixel)+z^2+1i*z^3)+@p9 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 15 M" center=(0.001,0.001) periodicity=0 param V caption="M Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p9 caption="Munster Parameter 3" 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 fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Munster16 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=z-0.5*tan(z) elseif @Va=="2" z=z+0.3/sqr(z) elseif @Va=="3" z=z+0.3*sinh(z) elseif @Va=="4" z=z+7i/cos(z) elseif @Va=="5" z=z+15i*sinh(z) elseif @Va=="6" z=z+0.3i/exp(z) elseif @Va=="7" z=z+1/sqr(z) elseif @Va=="8" z=z+0.3/cosh(z) elseif @Va=="9" z=z+8i/sqr(z) elseif @Va=="10" z=z+0.3i*tan(z) elseif @Va=="11" z=z+0.3*cotanh(z) elseif @Va=="12" z=z+exp(z) elseif @Va=="13" z=z-0.3/z elseif @Va=="14" z=z-0.3*tanh(z) elseif @Va=="15" if |z|>1 z=z/|z| endif z=9*flip(z) elseif @Va=="16" if |z|<1 z=z/|z| endif z=flip(z) elseif @Va=="17" z=z+0.3/sinh(z) elseif @Va=="18" z=z+1i/z elseif @Va=="19" z=z-0.3/sqr(z) elseif @Va=="20" z=z+0.3i/sin(z) elseif @Va=="21" if |z|>1 z=z/|z| endif z=-1.75/sinh(z) elseif @Va=="22" z=z+0.3i*cotanh(z) elseif @Va=="23" z=z+24i*sin(z) elseif @Va=="24" z=z-0.3/cos(z) elseif @Va=="25" if |z|>1 z=z/|z| endif z=11*sqr(z) elseif @Va=="26" z=z-1/z elseif @Va=="27" z=z+7.7i/z elseif @Va=="28" z=z+2i/sqr(z) elseif @Va=="29" if |z|>1 z=z/|z| endif z=-8i*abs(z) elseif @Va=="30" z=z-0.3/sinh(z) elseif @Va=="31" z=z+0.3*sin(z) elseif @Va=="32" z=z+0.3i*cotan(z) elseif @Va=="33" if |z|>1 z=z/|z| endif z=1/flip(z) elseif @Va=="34" z=z+0.33*tanh(z) elseif @Va=="35" z=z+3*sinh(z) elseif @Va=="36" z=z+0.3/z elseif @Va=="37" z=z-0.3/cosh(z) elseif @Va=="38" if |z|<1 z=z/|z| endif z=-1.385*abs(z) elseif @Va=="39" if |z|>1 z=z/|z| endif z=-12*sqr(z) elseif @Va=="40" z=z+0.3*exp(z) elseif @Va=="41" if |z|>1 z=z/|z| endif z=-1.5/tan(z) elseif @Va=="42" if |z|>1 z=z/|z| endif z=-1.42/sin(z) elseif @Va=="43" z=z-0.3*cotanh(z) elseif @Va=="44" if |z|>1 z=z/|z| endif z=1.166i*cotanh(z) elseif @Va=="45" z=z-1/sqr(z) elseif @Va=="46" if |z|>1 z=z/|z| endif z=1.25i*cotan(z) endif z=(p2+17.5)*sqr((z-p1)/(1-conj(p1)*z))/z bailout: |z|<@bail default: title="Munster 16" center=(0.001,0.001) periodicity=0 magn=0.25 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45""46" endparam param p1 caption="Munster Parameter 1" default=(1.3,0) endparam param p2 caption="Munster Parameter 2" 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 fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } Munster17 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" if real(z)1 z=z/|z| endif z=0.75*cotan(z) elseif @Va=="3" z=z+0.2i/z elseif @Va=="4" if real(z)1 z=z/|z| endif z=1.15*sinh(z) elseif @Va=="15" z=z+0.3i/cosh(z) elseif @Va=="16" if real(z)imag(z) z=flip(z) endif z=conj(z) elseif @Va=="22" z=-1.65*abs((z^3-1)/(3*z^2)) elseif @Va=="23" if real(z)imag(z) z=flip(z) endif z=-0.67/abs(z) elseif @Va=="31" if real(z)>imag(z) z=flip(z) endif z=-1.25/cotanh(z) elseif @Va=="32" if real(z)>imag(z) z=flip(z) endif z=-1.35/cosh(z) elseif @Va=="33" z=z-cosh(z) z=z-1/cosh(z) elseif @Va=="34" z=z-0.25*exp(z) z=z-0.25/exp(z) endif z=p1*z^2*(z^3-z+p2)/(z^3-z^2+p2)+@p9 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 17 J" center=(0.001,0.001) periodicity=0 param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p9 caption="Munster Parameter 3" 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 fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Munster17M { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" z=1.25*(z^3-1)/(3*z^2) elseif @Va=="2" z=sinh((z-0.5)/(-1+0.5*z)) elseif @Va=="3" z=cotanh((z-4)/(0.75+4*z)) elseif @Va=="4" z=recip((z-4)/(-2.25+4*z)) elseif @Va=="5" z=cotanh((z-4)/(-1.4+4*z)) elseif @Va=="6" z=recip((z+7.5)/(1+7.5*z)) elseif @Va=="7" z=cotan((z-4.5)/(1-4.5*z)) elseif @Va=="8" z=cotanh((z-4)/(2.35+4*z)) elseif @Va=="9" z=cotan((z-4)/(2.5+4*z)) elseif @Va=="10" z=z^2*tan((z-4)/(-1+4*z)) elseif @Va=="11" z=(sqr(z)-0.67)/(1-0.67*z) elseif @Va=="12" z=-1.25*(z^3-1)/(3*z^2) elseif @Va=="13" z=cotan((z-4)/(-2.5+4*z)) elseif @Va=="14" z=(cosh(z)+3)/(1+3*z) elseif @Va=="15" z=z+0.3i/cosh(z) elseif @Va=="16" z=-1.25*(3*z^2)/(z^3-1) elseif @Va=="17" z=z+0.69i/cotanh(z) elseif @Va=="18" z=z+0.35i/cotan(z) elseif @Va=="19" z=tan((z-0.5)/(1+0.5*z)) elseif @Va=="20" z=z^2*exp((z-4)/(-1+4*z)) elseif @Va=="21" z=z^2*sqr((z-4)/(0.33+4*z)) elseif @Va=="22" z=z^2*sqr((z-4)/(-1+4*z)) elseif @Va=="23" z=cotanh((z-2)/(1+2*z)) elseif @Va=="24" z=cotanh((z-2)/(-1+2*z)) elseif @Va=="25" z=cotan((z-2)/(-2.4+2*z)) elseif @Va=="26" z=cotan((z-2)/(1.33+2*z)) elseif @Va=="27" z=recip((z-2)/(-2.01+2*z)) elseif @Va=="28" z=recip((z-2)/(-1+2*z)) elseif @Va=="29" z=recip((z-2)/(-0.3+2*z)) elseif @Va=="30" z=recip((z-2)/(0.3+2*z)) elseif @Va=="31" z=exp((z-0.5)/(-2+0.5*z)) elseif @Va=="32" z=exp((z-0.5)/(2+0.5*z)) elseif @Va=="33" z=sqr((z-0.5)/(-1+0.5*z)) elseif @Va=="34" z=sqr((z-0.5)/(1.5+0.5*z)) elseif @Va=="35" z=sqr((z-0.5)/(1+0.5*z)) elseif @Va=="36" z=sqr((z-0.5)/(0.75+0.5*z)) elseif @Va=="37" z=sqr((z-0.5)/(0.5+0.5*z)) elseif @Va=="38" z=sqr((z-0.5)/(-0.8+0.5*z)) elseif @Va=="39" z=z+0.25i/tan(z) elseif @Va=="40" z=cosh((z-0.5)/(-1.5+0.5*z)) elseif @Va=="41" z=1.25*(3*z^2)/(z^3-1) elseif @Va=="42" z=z^2*sinh((z-4)/(-1+4*z)) endif if @MV=="1" z=p1*z^2*(z^3-z+p2*fn3(pixel))/(z^3-z^2+p2*fn3(pixel))+@p9 elseif @MV=="2" z=p1*fn3(pixel)*z^2*(z^3-z+p2)/(z^3-z^2+p2)+@p9 elseif @MV=="3" z=p1*fn3(pixel)*z^2*(z^3-z+p2*fn3(pixel))/(z^3-z^2+p2*fn3(pixel))+@p9 elseif @MV=="4" z=p1*fn3(pixel)*z^2*(z^3-z+p2*fn3(pixel))/(z^3-z^2+p2)+@p9 elseif @MV=="5" z=p1*fn3(pixel)*z^2*(z^3-z+p2)/(z^3-z^2+p2*fn3(pixel))+@p9 elseif @MV=="6" z=p1*z^2*(z^3-z+p2*fn3(pixel))/(z^3-z^2+p2)+@p9 elseif @MV=="7" z=p1*z^2*(z^3-z+p2)/(z^3-z^2+p2*fn3(pixel))+@p9 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 17 M" center=(0.001,0.001) periodicity=0 param MV caption="M Variant" enum="1""2""3""4""5""6""7" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() 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""29""30"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p9 caption="Munster Parameter 3" 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 fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } BivarX1 { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z z=@p8*fn2(z)+@p9 a=@p10*fn2(a)+@p11 z=(z-p5)/(1-p5*z) a=(a-p5)/(1-p5*a) z=z/(p6*z+1) a=a/(p6*a+1) if @V=="None" z=z a=a elseif @V=="1" z=z+1/exp(z) a=a+1/exp(a) elseif @V=="2" z=z+3.885*(recip(z)^3-1i)/(3*recip(z)^2) a=a+3.885*(recip(a)^3-1i)/(3*recip(a)^2) elseif @V=="3" if |z|>1 z=z/|z| endif if |a|>1 a=a/|a| endif z=1.33*z a=1.33*a elseif @V=="4" z=z+0.4*(cosh(z)^3-1i)/(3*cosh(z)^2) a=a+0.4*(cosh(a)^3-1i)/(3*cosh(a)^2) elseif @V=="5" z=z+0.5*sinh(z) a=a+0.5*sinh(a) elseif @V=="6" z=z+0.5*(sqr(z)^3-1i)/(3*sqr(z)^2) a=a+0.5*(sqr(a)^3-1i)/(3*sqr(a)^2) elseif @V=="7" z=z-1/exp(z) a=a-1/exp(a) elseif @V=="8" z=z+(exp(z)^3-1i)/(3*exp(z)^2) a=a+(exp(a)^3-1i)/(3*exp(a)^2) elseif @V=="9" z=z+0.7/cosh(z) a=a+0.7/cosh(a) elseif @V=="10" z=z+0.3*((z)^3-1i)/(3*(z)^2) a=a+0.3*((a)^3-1i)/(3*(a)^2) elseif @V=="11" z=z^2*((z+0.5)/(1+0.5*z)) a=a^2*((a+0.5)/(1+0.5*a)) elseif @V=="12" z=z+sqr((z^2+0.3-1i)/(2*z+0.3-2i)) a=a+sqr((a^2+0.3-1i)/(2*a+0.3-2i)) elseif @V=="13" z=z^2*cos((z-3)/(1-3*z)) a=a^2*cos((a-3)/(1-3*a)) elseif @V=="14" z=z+((z^2-0.2-1i)/(2*z-0.2-2i)) a=a+((a^2-0.2-1i)/(2*a-0.2-2i)) elseif @V=="15" z=z^2*sinh((z+0.5)/(1+0.5*z)) a=a^2*sinh((a+0.5)/(1+0.5*a)) elseif @V=="16" z=z^2*tan((z+1.5)/(1+1.5*z)) a=a^2*tan((a+1.5)/(1+1.5*a)) elseif @V=="17" z=z+tan((z^2+0.6-1i)/(2*z+0.6-2i)) a=a+tan((a^2+0.6-1i)/(2*a+0.6-2i)) elseif @V=="18" z=z+0.38/cosh(z) a=a+0.38/cosh(a) elseif @V=="19" z=z-5.75*((z)^3-1i)/(3*(z)^2) a=a-5.75*((a)^3-1i)/(3*(a)^2) elseif @V=="20" z=z-0.3/sqr(z) a=a-0.3/sqr(a) elseif @V=="21" z=z+0.5*(exp(z)^3-1i)/(3*exp(z)^2) a=a+0.5*(exp(a)^3-1i)/(3*exp(a)^2) elseif @V=="22" z=z+0.5*tanh(z) a=a+0.5*tanh(a) elseif @V=="23" z=z+1.41*(tan(z)^3-1i)/(3*tan(z)^2) a=a+1.41*(tan(a)^3-1i)/(3*tan(a)^2) elseif @V=="24" z=z-0.5*cos(z) a=a-0.5*cos(a) elseif @V=="25" z=z+(sinh(z)^3-1i)/(3*sinh(z)^2) a=a+(sinh(a)^3-1i)/(3*sinh(a)^2) elseif @V=="26" if |z|<1 z=z/|z| endif if |a|<1 a=a/|a| endif z=1.5*z a=1.5*a endif z=(z^3-z-p1)/(z^3+z^2-p1)+@p12 a=(a^3-a+p1)/(a^3-a^2+p1)+@p12 z=p2*z^2*a/z+@p12 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar X 1" center=(0.001,0.001) periodicity=0 magn=0.5 param V 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" endparam param S caption="Start 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" endparam param S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="X Parameter 1" default=(2,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p12 caption="X Parameter 3" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } BivarX2 { init: z=fn1(pixel) if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z z=fn2(z) a=@p10*fn2(a)+@p11 z=(z-@p7)/(1-@p7*z) a=(a-@p7)/(1-@p7*a) z=z/(@p8*z+1) a=a/(@p8*a+1) if @V=="1" if |z|<1 z=z/|z| endif if |a|>1 a=a/|a| endif z=-1.5*z a=-1.5*a elseif @V=="2" z=z-0.75*1i/cosh(z) a=a-0.75*1i/cosh(a) elseif @V=="3" if |z|>1 z=z/|z| endif if |a|<1 a=a/|a| endif z=-1.25*z a=-1.25*a elseif @V=="4" z=z+1.825*1i/sin(z) a=a+1.825*1i/sin(a) elseif @V=="5" z=z-1.5*tan(z) a=a-1.5*tan(a) elseif @V=="6" z=z-2.2*(tanh(z)^3-1i)/(3*tanh(z)^2) a=a-2.2*(tanh(a)^3-1i)/(3*tanh(a)^2) elseif @V=="7" z=z-0.8*cotan(z) a=a-0.8*cotan(a) elseif @V=="8" z=z-3.525*1i/exp(z) a=a-3.525*1i/exp(a) elseif @V=="9" if real(z)1 a=a/|a| endif z=-1.875*sqr(z) a=-1.875*sqr(a) elseif @V=="16" z=z-0.765*1i*cos(z) a=a-0.765*1i*cos(a) elseif @V=="17" if real(z)1 z=z/|z| endif if |a|<1 a=a/|a| endif z=-0.9*sqr(z) a=-0.9*sqr(a) elseif @V=="22" z=z+1.565*1i/sinh(z) a=a+1.565*1i/sinh(a) elseif @V=="23" z=z-cotan(z) a=a-cotan(a) elseif @V=="24" z=z+0.3*1i/tan(z) a=a+0.3*1i/tan(a) endif z=(z^3-z-p1)/(z^3+z^2-p1)+@p12 a=(a^3-a+p1)/(a^3-a^2+p1)+@p12 z=z^2*a/z+@p12 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar X 2" center=(0.001,0.001) periodicity=0 magn=0.5 param S2 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" endparam param V caption="Loop 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" endparam param p4 caption="Start Parameter" default=(0,0) endparam param p10 caption="Loop Parameter 1" default=(1,0) endparam param p11 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="X Parameter 1" default=(2,0) endparam param p12 caption="X 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } BivarX3 { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z z=@p8*fn2(z)+@p9 a=@p10*fn2(a)+@p11 z=(z-p5)/(1-p5*z) a=(a-p5)/(1-p5*a) z=z/(p6*z+1) a=a/(p6*a+1) if @V=="None" z=z a=a elseif @V=="1" z=z+0.615*(cotanh(z)^3-1i)/(3*cotanh(z)^2) a=a+0.615*(cotanh(a)^3-1i)/(3*cotanh(a)^2) elseif @V=="2" z=z+3.885*(recip(z)^3-1i)/(3*recip(z)^2) a=a+3.885*(recip(a)^3-1i)/(3*recip(a)^2) elseif @V=="3" z=z+sqr((z^2)/(2*z-1)) a=a+sqr((a^2)/(2*a-1)) elseif @V=="4" z=z+1i*tanh(z) a=a+1i*tanh(a) elseif @V=="5" z=sqr((z+8)/(z-8)) a=sqr((a+8)/(a-8)) elseif @V=="6" z=z+recip((z^2+0.825)/(2*z-0.175)) a=a+recip((a^2+0.825)/(2*a-0.175)) elseif @V=="7" z=z-0.25i*sqr(z) a=a-0.25i*sqr(a) elseif @V=="8" z=z+0.3/(z) a=a+0.3/(a) elseif @V=="9" z=cotanh((z+1.5)/(z-1.5)) a=cotanh((a+1.5)/(a-1.5)) elseif @V=="10" z=z+0.3*((z)^3-1i)/(3*(z)^2) a=a+0.3*((a)^3-1i)/(3*(a)^2) elseif @V=="11" z=z+0.83i*sin(z) a=a+0.83i*sin(a) elseif @V=="12" z=z+sqr((z^2+4)/(2*z+3)) a=a+sqr((a^2+4)/(2*a+3)) elseif @V=="13" z=z-0.6i*sinh(z) a=a-0.6i*sinh(a) elseif @V=="14" z=z+((z^2-0.2-1i)/(2*z-0.2-2i)) a=a+((a^2-0.2-1i)/(2*a-0.2-2i)) elseif @V=="15" z=z-0.6i*sin(z) a=a-0.6i*sin(a) elseif @V=="16" z=z+cotanh((z^2-1)/(2*z-2)) a=a+cotanh((a^2-1)/(2*a-2)) elseif @V=="17" z=z+0.75i*sqr(z) a=a+0.75i*sqr(a) elseif @V=="18" z=tanh((z-1.65)/(z+1.65)) a=tanh((a-1.65)/(a+1.65)) elseif @V=="19" z=z-0.575i*(z) a=a-0.575i*(a) elseif @V=="20" z=z+recip((z^2-1)/(2*z-2)) a=a+recip((a^2-1)/(2*a-2)) elseif @V=="21" z=z+sin((z^2+0.7)/(2*z-0.3)) a=a+sin((a^2+0.7)/(2*a-0.3)) elseif @V=="22" z=tanh((z-3.225)/(z+3.225)) a=tanh((a-3.225)/(a+3.225)) elseif @V=="23" z=z+cosh((z^2+2)/(2*z+1)) a=a+cosh((a^2+2)/(2*a+1)) elseif @V=="24" z=z+1i*tan(z) a=a+1i*tan(a) elseif @V=="25" z=z+sqr((z^2-2.5-1i)/(2*z-2.5-2i)) a=a+sqr((a^2-2.5-1i)/(2*a-2.5-2i)) elseif @V=="26" z=sin((z-2.4)/(z+2.4)) a=sin((a-2.4)/(a+2.4)) elseif @V=="27" z=z+cotanh((z^2+1.05-1i)/(2*z+1.05-2i)) a=a+cotanh((a^2+1.05-1i)/(2*a+1.05-2i)) endif a=p1*z/a+@p12 z=fn3((z^2+p2-1)/(2*z+p2-2))+p1*fn3((a^2+p2-1)/(2*a+p2-2))+@p12 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar X 3" center=(0.001,0.001) periodicity=0 magn=0.5 param V 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" endparam param S caption="Start 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" endparam param S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="X Parameter 1" default=(0.35,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p12 caption="X Parameter 3" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } BivarX4 { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z z=@p8*fn2(z)+@p9 a=@p10*fn2(a)+@p11 z=(z-p5)/(1-p5*z) a=(a-p5)/(1-p5*a) z=z/(p6*z+1) a=a/(p6*a+1) if @V=="None" z=z a=a elseif @V=="1" z=z+1/exp(z) a=a+1/exp(a) elseif @V=="2" z=z+sqr(z) a=a+sqr(a) elseif @V=="3" z=z+cos(z) a=a+cos(a) elseif @V=="4" z=z+0.3*sinh(z) a=a+0.3*sinh(a) elseif @V=="5" z=z+0.3*cos(z) a=a+0.3*cos(a) elseif @V=="6" z=z-0.3*tanh(z) a=a-0.3*tanh(a) elseif @V=="7" z=z+cosh(z) a=a+cosh(a) elseif @V=="8" z=z-0.3*sqr(z) a=a-0.3*sqr(a) elseif @V=="9" z=z-0.3*tan(z) a=a-0.3*tan(a) elseif @V=="10" z=z-sinh(z) a=a-sinh(a) elseif @V=="11" z=z+0.3*cosh(z) a=a+0.3*cosh(a) elseif @V=="12" z=z-0.3*sin(z) a=a-0.3*sin(a) elseif @V=="13" z=z-sqr(z) a=a-sqr(a) elseif @V=="14" z=z+0.3*tanh(z) a=a+0.3*tanh(a) elseif @V=="15" z=z+0.3*sin(z) a=a+0.3*sin(a) elseif @V=="16" z=z-0.3*exp(z) a=a-0.3*exp(a) elseif @V=="17" z=z+0.3*tan(z) a=a+0.3*tan(a) elseif @V=="18" z=z-0.3*sinh(z) a=a-0.3*sinh(a) elseif @V=="19" z=z-0.3*cosh(z) a=a-0.3*cosh(a) elseif @V=="20" z=z-tanh(z) a=a-tanh(a) elseif @V=="21" z=z-0.3*cos(z) a=a-0.3*cos(a) elseif @V=="22" z=z-sin(z) a=a-sin(a) elseif @V=="23" z=z-tan(z) a=a-tan(a) elseif @V=="24" z=z-cosh(z) a=a-cosh(a) elseif @V=="25" z=z-cos(z) a=a-cos(a) elseif @V=="26" z=z+0.3/exp(z) a=a+0.3/exp(a) elseif @V=="27" z=z+0.3/sinh(z) a=a+0.3/sinh(a) elseif @V=="28" z=z+0.3/cos(z) a=a+0.3/cos(a) elseif @V=="29" z=z+0.3/cosh(z) a=a+0.3/cosh(a) elseif @V=="30" z=z-0.3/exp(z) a=a-0.3/exp(a) elseif @V=="31" z=z-0.3/cosh(z) a=a-0.3/cosh(a) elseif @V=="32" z=z-0.3/cos(z) a=a-0.3/cos(a) endif if @MV=="1" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2)+p1*fn3(a^3-a+p2)+(@p12+1)*fn4(pixel) elseif @MV=="2" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2)+p1*fn3(a^3-a+p2)+@p12 elseif @MV=="3" a=p1*a/z+@p12 z=fn3(z^3-z+p2)+p1*fn3(a^3-a+p2)+(@p12+1)*fn4(pixel) elseif @MV=="4" a=p1*a/z+@p12 z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2)+@p12 elseif @MV=="5" a=p1*a/z+@p12 z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2*fn4(pixel))+@p12 elseif @MV=="6" a=p1*a/z+@p12 z=fn3(z^3-z+p2)+p1*fn3(a^3-a+p2*fn4(pixel))+@p12 elseif @MV=="7" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2)+@p12 elseif @MV=="8" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2*fn4(pixel))+@p12 elseif @MV=="9" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2)+p1*fn3(a^3-a+p2*fn4(pixel))+@p12 elseif @MV=="10" a=p1*a/z+@p12 z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2)+(@p12+1)*fn4(pixel) elseif @MV=="11" a=p1*a/z+@p12 z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2*fn4(pixel))+(@p12+1)*fn4(pixel) elseif @MV=="12" a=p1*a/z+@p12 z=fn3(z^3-z+p2)+p1*fn3(a^3-a+p2*fn4(pixel))+(@p12+1)*fn4(pixel) elseif @MV=="13" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2)+(@p12+1)*fn4(pixel) elseif @MV=="14" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2*fn4(pixel))+p1*fn3(a^3-a+p2*fn4(pixel))+(@p12+1)*fn4(pixel) elseif @MV=="15" a=p1*a/z+(@p12+1)*fn4(pixel) z=fn3(z^3-z+p2)+p1*fn3(a^3-a+p2*fn4(pixel))+(@p12+1)*fn4(pixel) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar X 4" center=(0.001,0.001) periodicity=0 param MV caption="Mandelbrot Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15" endparam param V 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" endparam param S caption="Start 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" endparam param S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="X Parameter 1" default=(-0.3,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p12 caption="X Parameter 3" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc func fn4 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } Barnsley11 { init: z=fn1(pixel) if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=(@sp+1)*(z+1)/z*(z+1i) elseif @S=="13" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="14" z=z+(@sp+1)*(z^2-1) elseif @S=="15" z=z+(@sp+1)*(z^3-1i) elseif @S=="16" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*fn2(z)+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @Va=="None" z=z elseif @Va=="1" if |z|<1 z=z/|z| endif z=0.79245*flip(z) elseif @Va=="2" if |z|>1 z=z/|z| endif z=-0.6807*cotanh(z) elseif @Va=="3" if |z|>1 z=z/|z| endif z=1.12449*cotan(z) elseif @Va=="4" z=0.834*z*sqrt(z) elseif @Va=="5" z=-1.075*z*cotanh(z) elseif @Va=="6" z=-0.97925*z*cotan(z) elseif @Va=="7" z=-0.9*z*cos(z) elseif @Va=="8" z=sqr(z)*cotan(z) elseif @Va=="9" z=1.0725*atanh(z)*tan(z) elseif @Va=="10" z=-0.945*cosh(z)*cos(z) elseif @Va=="11" z=0.689*(exp(z)+sqr(z)) elseif @Va=="12" if |z|<1 z=z/|z| endif z=z*cotanh(z)*cotan(z) elseif @Va=="13" z=0.8558*cabs(z)^2/z elseif @Va=="14" z=0.5*(z+sin(z)) elseif @Va=="15" z=z+cotan(z) elseif @Va=="16" z=cos(z)*cosh(z)*asin(z) elseif @Va=="17" z=z+0.5*(tanh(z)^3)/(3*z^2) elseif @Va=="18" z=z+0.5*(tanh(z)^3)/(3*cosh(z)^2) elseif @Va=="19" if real(z)imag(z) z=flip(z)+1 else z=flip(z)-1 endif z=flip(z) elseif @Va=="22" if real(z)>imag(z) z=flip(z)+1 else z=flip(z)-1 endif z=conj(z) elseif @Va=="23" if real(z)imag(z) z=z-0.4 else z=z+0.4 endif elseif @Va=="26" if real(z)>imag(z) z=z-0.93 else z=z+0.93 endif z=flip(z) elseif @Va=="27" if real(z)>imag(z) z=z-0.225 else z=z+0.225 endif z=conj(z) elseif @Va=="28" if real(z)>imag(z) z=z+0.225 else z=z-0.225 endif z=conj(z) elseif @Va=="29" if real(z)>imag(z) z=z-0.35 else z=z+0.35 endif z=sqr(z) elseif @Va=="30" if real(z)>imag(z) z=z+0.35 else z=z-0.35 endif z=sqr(z) elseif @Va=="31" if real(z)>imag(z) z=z-0.267 else z=z+0.267 endif z=cotanh(z) elseif @Va=="32" if real(z)>imag(z) z=z-0.22679 else z=z+0.22679 endif z=atanh(z) elseif @Va=="33" if real(z)>imag(z) z=z+0.31226 else z=z-0.31226 endif z=recip(z) endif if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(z-p2)*p1 else z=(z+p2)*p1 endif z=z^2+@p9 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Barnsley 11" center=(0.001,0.001) periodicity=0 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" endparam param p1 caption="Barnsley Parameter 1" default=(0.28,-0.51) endparam param p2 caption="Barnsley Parameter 2" default=(1,0) endparam param p9 caption="Barnsley Parameter 3" default=(0,0) endparam func fn3 caption="Barnsley Function" default=ident() endfunc param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param sp caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Möbius Parameter 1" default=(0,0) endparam param p8 caption="Möbius Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } TrivarJulia { init: z=fn1(pixel) a=fn1(pixel) b=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 a=p4*fn2(a)+p5 b=p4*fn2(b)+p5 if @M=="1" z=z-0.5*exp(z) a=a-0.5*exp(a) b=b-0.5*exp(b) elseif @M=="2" z=z+sqr(z) a=a+sqr(a) b=b+sqr(b) elseif @M=="3" z=z-0.45*tanh(z) a=a-0.45*tanh(a) b=b-0.45*tanh(b) elseif @M=="4" z=z+1.45*cos(z) a=a+1.45*cos(a) b=b+1.45*cos(b) elseif @M=="5" z=z+0.375*cos(z) a=a+0.375*cos(a) b=b+0.375*cos(b) elseif @M=="6" z=z+0.7/exp(z) a=a+0.7/exp(a) b=b+0.7/exp(b) elseif @M=="7" z=z+0.5/cosh(z) a=a+0.5/cosh(a) b=b+0.5/cosh(b) elseif @M=="8" z=z^2*(z-10)/(1-10*z) a=a^2*(a-10)/(1-10*a) b=b^2*(b-10)/(1-10*b) elseif @M=="9" z=z^2*(sqr(z)+5.8)/(1+5.8*sqr(z)) a=a^2*(sqr(a)+5.8)/(1+5.8*sqr(a)) b=b^2*(sqr(b)+5.8)/(1+5.8*sqr(b)) elseif @M=="10" z=sqr((z^2-0.87147)/(2*z-1.87147)) a=sqr((a^2-0.87147)/(2*a-1.87147)) b=sqr((b^2-0.87147)/(2*b-1.87147)) elseif @M=="11" z=sqr((z^2+4)/(2*z+3)) a=sqr((a^2+4)/(2*a+3)) b=sqr((b^2+4)/(2*b+3)) elseif @M=="12" z=sqr((z^2-1)/(2*z-2)) a=sqr((a^2-1)/(2*a-2)) b=sqr((b^2-1)/(2*b-2)) elseif @M=="13" z=flip(sqr((z^2-4)/(2*z-5))) a=flip(sqr((a^2-4)/(2*a-5))) b=flip(sqr((b^2-4)/(2*b-5))) elseif @M=="14" z=z-3.5*(z^3-1)/(3*z^2) a=a-3.5*(a^3-1)/(3*a^2) b=b-3.5*(b^3-1)/(3*b^2) elseif @M=="15" z=z-(z^3-1)/(3*z^2) a=a-(a^3-1)/(3*a^2) b=b-(b^3-1)/(3*b^2) elseif @M=="16" z=z-0.55*(exp(z)^3-1)/(3*exp(z)^2) a=a-0.55*(exp(a)^3-1)/(3*exp(a)^2) b=b-0.55*(exp(b)^3-1)/(3*exp(b)^2) elseif @M=="17" z=z+3*(cosh(z)^3-1)/(3*cosh(z)^2) a=a+3*(cosh(a)^3-1)/(3*cosh(a)^2) b=b+3*(cosh(b)^3-1)/(3*cosh(b)^2) elseif @M=="18" z=z-2.25*(cos(z)^3-1)/(3*cos(z)^2) a=a-2.25*(cos(a)^3-1)/(3*cos(a)^2) b=b-2.25*(cos(b)^3-1)/(3*cos(b)^2) elseif @M=="19" z=z+0.3*(recip(z)^3-1)/(3*recip(z)^2) a=a+0.3*(recip(a)^3-1)/(3*recip(a)^2) b=b+0.3*(recip(b)^3-1)/(3*recip(b)^2) endif a=p1*b/z+p3 b=p2*a/z+p3 z=z^2+p1*a^2+p2*b^2+p3 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Trivar Julia" center=(0.001,0.001) periodicity=0 param p1 caption="TJ Parameter 1" default=(0.5,0) endparam param p2 caption="TJ Parameter 2" default=(0.5,0) endparam param p3 caption="TJ Parameter 3" default=(-0.5,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 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" endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Munster18 { init: z=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 if @JM=="J1" z=p1*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2)+p3 elseif @JM=="J2" z=p1*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3-p2)+p3 elseif @JM=="J3" z=p1*z^2*(z^6-1i*z^3-p2)/(z^6+1i*z^3-p2)+p3 elseif @JM=="J4" z=p1*z^2*(z^6-1i*z^3-p2)/(z^6+1i*z^3+p2)+p3 elseif @JM=="M1" z=p1*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2*fn3(pixel))+p3 elseif @JM=="M2" z=p1*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2)+p3 elseif @JM=="M3" z=p1*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2*fn3(pixel))+p3 elseif @JM=="M4" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2)+p3 elseif @JM=="M5" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2)+p3 elseif @JM=="M6" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2*fn3(pixel))+p3 elseif @JM=="M7" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2*fn3(pixel))+p3 elseif @JM=="M8" z=p1*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2)+(p3+1)*fn3(pixel) elseif @JM=="M9" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2)+(p3+1)*fn3(pixel) elseif @JM=="M10" z=p1*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2)+(p3+1)*fn3(pixel) elseif @JM=="M11" z=p1*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2*fn3(pixel))+(p3+1)*fn3(pixel) elseif @JM=="M12" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2)+(p3+1)*fn3(pixel) elseif @JM=="M13" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2*fn3(pixel))+(p3+1)*fn3(pixel) elseif @JM=="M14" z=p1*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2*fn3(pixel))+(p3+1)*fn3(pixel) elseif @JM=="M15" z=p1*fn3(pixel)*z^2*(z^6-1i*z^3+p2*fn3(pixel))/(z^6+1i*z^3+p2*fn3(pixel))+(p3+1)*fn3(pixel) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Munster 18" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J1""J2""J3""J4""M1""M2""M3""M4""M5"\ "M6""M7""M8""M9""M10""M11""M12""M13""M14""M15" endparam param p1 caption="Munster Parameter 1" default=(1,0) endparam param p2 caption="Munster Parameter 2" default=(1,0) endparam param p3 caption="Munster Parameter 3" 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="C Function" default=ident() visible=@JM!="J1" && @JM!="J2" && @JM!="J3" && @JM!="J4" endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } EnaridulaJulia { ; Modification/extension of ariadne3 by Konstantin Schwarze (ks.ufm) init: a=fn1(pixel) b=fn1(pixel) z=fn1(pixel) loop: a=p3*fn2(a)+p4 b=p3*fn2(b)+p4 a1=a a=a^2-b^2+p1 b=1/(2*a1*b+p2) c=a+b z=c bailout: |c|<@bail default: title="Enaridula Julia" center=(0.001,0.001) periodicity=0 param p1 caption="Enaridula Parameter 1" default=(-1,0) endparam param p2 caption="Enaridula Parameter 2" default=(1,-1) 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 fn2 caption="Loop Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } EnaridulaMandelbrot { ; Modification/extension of ariadne1 and ariadne2 by Konstantin Schwarze (ks.ufm) init: a=fn1(pixel) b=fn1(pixel) z=fn1(pixel) loop: if @V=="1" || @V=="5" || @V=="6" || @V=="7" a=p3*fn2(a)/2+p4*fn3(pixel) b=p3*fn2(b)/2+p4*fn3(pixel) elseif @V=="2" || @V=="3" || @V=="4" a=p3*fn2(a)/2+p4-1 b=p3*fn2(b)/2+p4-1 endif a1=a if @V=="1" a=a^2-b^2+p1 b=1/(2*a1*b+p2) elseif @V=="2" || @V=="5" a=a^2-b^2+p1*fn3(pixel) b=1/(2*a1*b+p2) elseif @V=="3" || @V=="6" a=a^2-b^2+p1 b=1/(2*a1*b+p2*fn3(pixel)) elseif @V=="4" || @V=="7" a=a^2-b^2+p1*fn3(pixel) b=1/(2*a1*b+p2*fn3(pixel)) endif c=a+b z=c bailout: |c|<@bail default: title="Enaridula Mandelbrot" center=(-0.501,0.001) periodicity=0 Param V caption="Mandelbrot Variant" enum="1""2""3""4""5""6""7" endparam param p1 caption="Enaridula Parameter 1" default=(1,0) endparam param p2 caption="Enaridula Parameter 2" default=(1,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } BivarX5 { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z if @JM=="J" || @JM=="M1" || @JM=="M2" || @JM=="M3" || @JM=="M4" || @JM=="M5" || @JM=="M6" || @JM=="M7" z=@p8*fn2(z)+@p9 a=@p10*fn2(a)+@p11 else z=(@p8-0.5)*fn2(z)+(@p9+1)*fn3(pixel) a=(@p10-0.5)*fn2(a)+(@p11+1)*fn3(pixel) endif z=(z-p5)/(1-p5*z) a=(a-p5)/(1-p5*a) z=z/(p6*z+1) a=a/(p6*a+1) z=z+@p12*sqr(z) a=a+@p12*sqr(a) if @JM=="J" || @JM=="M11" a=p1*((a-1i)/(z+1i))+p2 z=z^2+p1*a^2+p2 elseif @JM=="M1" a=p1*((a-1i*fn3(pixel))/(z+1i*fn3(pixel)))+p2 z=z^2+p1*a^2+p2 elseif @JM=="M2" a=p1*((a-1i*fn3(pixel))/(z+1i*fn3(pixel)))+(p2+1)*fn3(pixel) z=z^2+p1*a^2+p2 elseif @JM=="M3" a=p1*((a-1i*fn3(pixel))/(z+1i*fn3(pixel)))+p2 z=z^2+p1*a^2+(p2+1)*fn3(pixel) elseif @JM=="M4" a=p1*((a-1i*fn3(pixel))/(z+1i*fn3(pixel)))+(p2+1)*fn3(pixel) z=z^2+p1*a^2+(p2+1)*fn3(pixel) elseif @JM=="M5" a=p1*((a-1i)/(z+1i))+(p2+1)*fn3(pixel) z=z^2+p1*a^2+p2 elseif @JM=="M6" a=p1*((a-1i)/(z+1i))+(p2+1)*fn3(pixel) z=z^2+p1*a^2+(p2+1)*fn3(pixel) elseif @JM=="M7" a=p1*((a-1i)/(z+1i))+p2 z=z^2+p1*a^2+(p2+1)*fn3(pixel) elseif @JM=="M8" a=p1*((a-1i)/(z+1i))+(p2+1)*fn3(pixel) z=z^2+p1*a^2+p2 elseif @JM=="M9" a=p1*((a-1i)/(z+1i))+(p2+1)*fn3(pixel) z=z^2+p1*a^2+(p2+1)*fn3(pixel) elseif @JM=="M10" a=p1*((a-1i)/(z+1i))+p2 z=z^2+p1*a^2+(p2+1)*fn3(pixel) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar X 5" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M1""M2""M3""M4""M5""M6""M7""M8""M9""M10"\ "M11" endparam param S caption="Start 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" endparam param S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="X Parameter 1" default=(0.57,0) endparam param p2 caption="X Parameter 2" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" 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 p12 caption="Add Sqr Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarDioteld { init: z=fn1(pixel) a=fn1(pixel) loop: zold=z z=-0.05*p3*fn2(z)+p4 a=-0.05*p3*fn2(a)+p4 a=p5*z/a+p6 if @JM=="M" z=(1-p2/z)*sqr(z)-sqr(p1*fn3(pixel)*(z-1))/(2*z)+p5*((1-p2/a)*sqr(a)-sqr(p1*fn3(pixel)*(a-1))/(a*z))+p6 else z=(1-p2/z)*sqr(z)-sqr(p1*(z-1))/(2*z)+p5*((1-p2/a)*sqr(a)-sqr(p1*(a-1))/(2*a))+p6 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Dioteld" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="Dioteld Parameter 1" default=(1,0) endparam param p2 caption="Dioteld Parameter 2" default=(1,0) endparam param p5 caption="Dioteld Parameter 3" default=(1,0) endparam param p6 caption="Dioteld Parameter 4" 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 fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() visible=@JM=="M" endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=1000000.0 visible=@bt==0 endparam } BivarJulia2 { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z z=@p8*fn2(z)+@p9 a=@p10*fn2(a)+@p11 z=(z-p5)/(1-p5*z) a=(a-p5)/(1-p5*a) z=z/(p6*z+1) a=a/(p6*a+1) a=p1*(a/z+z/a)+p2 z=z^2+p1*a^2+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Julia 2" center=(0.001,0.001) periodicity=0 param S caption="Start 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" endparam param S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="Julia Parameter 1" default=(-0.5,0) endparam param p2 caption="Julia Parameter 2" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } BivarMandelbrot2 { init: if @S=="1" z=pixel+p3*(pixel-1i)/(pixel+1i) elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S=="4" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S=="10" z=pixel+pixel^2+pixel^3 elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S!=0 z=fn1(z)+p3 else z=fn1(z) endif if @S2=="1" a=pixel+p4*(pixel-1i)/(pixel+1i) elseif @S2=="2" a=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S2=="3" a=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @S2=="4" a=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @S2=="5" a=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S2=="6" a=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S2=="7" a=(pixel-1i)/(pixel+1i) elseif @S2=="8" a=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S2=="9" a=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @S2=="10" a=pixel+pixel^2+pixel^3 elseif @S2=="11" a=pixel^2+1i elseif @S2=="12" a=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S2=="13" a=(pixel-1i)/(pixel+1) elseif @S2=="14" a=(pixel+1i)/(1i*pixel) elseif @S2=="15" a=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @S2=="16" a=(pixel^3-1i)/(pixel^3+1i) elseif @S2=="17" a=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @S2=="18" a=pixel-(pixel^2-1)/(2*pixel) elseif @S2=="19" a=pixel-sqr(pixel) elseif @S2=="20" a=pixel+sqr(pixel) elseif @S2=="21" a=pixel-1i/pixel elseif @S2=="22" a=pixel-(pixel^2-1i)/(2*pixel) elseif @S2=="23" a=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @S2=="24" a=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S2=="25" a=1i*sqr(pixel)+pixel elseif @S2=="26" a=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @S2=="27" a=sqr(pixel)*(pixel+1)/(1i+pixel) endif if @S2!=0 a=fn1(a)+p4 else a=fn1(a) endif loop: zold=z if @V=="4" || @V=="5" || @V=="6" || @V=="7" z=@p8*fn2(z)+(@p9+1)*fn3(pixel) a=@p10*fn2(a)+(@p11+1)*fn3(pixel) else z=@p8*fn2(z)+@p9 a=@p10*fn2(a)+@p11 endif z=(z-p5)/(1-p5*z) a=(a-p5)/(1-p5*a) z=z/(p6*z+1) a=a/(p6*a+1) if @V=="1" || @V=="5" a=p1*(a/z+z/a)+(p2+1)*fn3(pixel) z=z^2+p1*a^2+p2 elseif @V=="2" || @V=="6" a=p1*(a/z+z/a)+p2 z=z^2+p1*a^2+(p2+1)*fn3(pixel) elseif @V=="3" || @V=="7" a=p1*(a/z+z/a)+(p2+1)*fn3(pixel) z=z^2+p1*a^2+(p2+1)*fn3(pixel) elseif @V=="4" a=p1*(a/z+z/a)+p2 z=z^2+p1*a^2+p2 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Mandelbrot 2" center=(0.001,0.001) periodicity=0 param V caption="Mandelbrot Variant" enum="1""2""3""4""5""6""7" endparam param S caption="Start 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" endparam param S2 caption="Start 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" endparam param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="Mandelbrot Parameter 1" default=(0.3,0) endparam param p2 caption="Mandelbrot Parameter 2" default=(0,0) endparam param p8 caption="Loop Parameter 1a" default=(1,0) endparam param p9 caption="Loop Parameter 1b" default=(0,0) endparam param p10 caption="Loop Parameter 2a" default=(1,0) endparam param p11 caption="Loop Parameter 2b" 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 func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } TefJifentu { init: z=pixel if @S=="1" z=(@sp+1)*z+@sp*(z-1i)/(z+1i) elseif @S=="2" z=z+(@sp+1)*(z-1i)/(z+1i) elseif @S=="3" z=z+(@sp+1)*(z^2-1i)/(z+1) elseif @S=="4" z=z^2*(z-(@sp+2))/(1-(@sp+2)*z) elseif @S=="5" z=z+(@sp+1)*z^3/(z^2-1i) elseif @S=="6" z=z+(@sp+1)*(z-1)*(z+1i) elseif @S=="7" z=z+(@sp+1)*(z+1)*(z-1i) elseif @S=="8" z=z-(@sp+1)*(3*z^2)/(z^3-1i) elseif @S=="9" z=z+(@sp+1)*(z+1)*(z-1i)/(z-1) elseif @S=="10" z=z+(@sp+1)*(z+1)/(z-1i)*(z-1) elseif @S=="11" z=(@sp+1)*(z+1)/(z-1i)*(z+1i) elseif @S=="12" z=z+(@sp+1)*(z^2-z-1)/(z+1) elseif @S=="13" z=z+(@sp+1)*(z^3-1i) elseif @S=="14" z=z+(@sp+1)/exp(z) endif loop: zold=z z=p3*z+p4 z=(z-@p7)/(1-@p7*z) z=z/(@p8*z+1) z=z+p5/z z=z+p6*sqr(z) if @V=="1" z=z^2-p1*pixel*recip(z) z=z^2+p2*pixel*z elseif @V=="2" z=z^2+p1*pixel*recip(z) z=z^2-p2*pixel*z elseif @V=="3" z=z^2-p1*pixel*recip(z) z=z^2-p2*pixel*z elseif @V=="4" z=z^2+p1*pixel*recip(z) z=z^2+p2*pixel*z elseif @V=="5" z=z^2-p1*pixel*recip(z) z=z^2+p2*pixel*recip(z) elseif @V=="6" z=z^2+p1*pixel*recip(z) z=z^2-p2*pixel*recip(z) elseif @V=="7" z=z^2-p1*pixel*recip(z) z=z^2-p2*pixel*recip(z) elseif @V=="8" z=z^2+p1*pixel*recip(z) z=z^2+p2*pixel*recip(z) elseif @V=="9" z=z^2-p1*pixel*recip(z) z=z^2+p2*pixel*exp(z) elseif @V=="10" z=z^2+p1*pixel*recip(z) z=z^2-p2*pixel*exp(z) elseif @V=="11" z=z^2-p1*pixel*recip(z) z=z^2-p2*pixel*exp(z) elseif @V=="12" z=z^2+p1*pixel*recip(z) z=z^2+p2*pixel*exp(z) elseif @V=="13" z=z^2-p1*pixel*recip(z) z=z^2+p2*pixel*sqr(z) elseif @V=="14" z=z^2+p1*pixel*recip(z) z=z^2-p2*pixel*sqr(z) elseif @V=="15" z=z^2-p1*pixel*recip(z) z=z^2-p2*pixel*sqr(z) elseif @V=="16" z=z^2+p1*pixel*recip(z) z=z^2+p2*pixel*sqr(z) elseif @V=="17" z=z^2-p1*pixel*recip(z) z=z^2+p2*pixel*cosh(z) elseif @V=="18" z=z^2+p1*pixel*recip(z) z=z^2-p2*pixel*cosh(z) elseif @V=="19" z=z^2-p1*pixel*recip(z) z=z^2-p2*pixel*cosh(z) elseif @V=="20" z=z^2+p1*pixel*recip(z) z=z^2+p2*pixel*cosh(z) elseif @V=="21" z=z^2-p1*pixel*recip(z) z=z^2+p2*pixel*cos(z) elseif @V=="22" z=z^2+p1*pixel*recip(z) z=z^2-p2*pixel*cos(z) elseif @V=="23" z=z^2-p1*pixel*recip(z) z=z^2-p2*pixel*cos(z) elseif @V=="24" z=z^2+p1*pixel*recip(z) z=z^2+p2*pixel*cos(z) endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Tef Jifentu" center=(0.001,0.001) periodicity=0 magn=4 param V caption="TJ 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" endparam param S caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param sp caption="Start Parameter" default=(0,0) endparam param p1 caption="TJ Parameter 1" default=(1,0) endparam param p2 caption="TJ Parameter 2" default=(1,0) endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop 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 p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.000000000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } Barnsley12 { init: z=fn1(pixel) loop: z=p3*fn2(z)+p4 z=z+p5/z z=z+p6*sqr(z) z=z+@p7*z^2*(z-@p8)/(1-@p8*z) if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(z-p1)*p1 else z=(z+p1)*p1 endif if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(z+p1)*p1 else z=(z-p1)*p1 endif z=p2*fn4(1/z) bailout: |z|<@bail default: title="Barnsley 12" center=(0.001,0.001) magn=0.5 periodicity=0 param p1 caption="Barnsley Parameter 1" default=(0.32,0.98) endparam param p2 caption="Barnsley Parameter 2" default=(1,0) endparam func fn3 caption="Barnsley Function 1" default=ident() endfunc func fn4 caption="Barnsley Function 2" default=recip() endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Munster Parameter 1" default=(0,0) endparam param p8 caption="Add Munster Parameter 2" default=(2,0) visible=@p7!=0 endparam param bail caption="Bailout" default=100.0 endparam } Barnsley13 { init: z=fn1(pixel) loop: z=p3*fn2(z)+p4 z=z+p5/z z=z+p6*sqr(z) z=z+@p7*z^2*(z-@p8)/(1-@p8*z) if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(conj(z)-p1)*p1 else z=(conj(z)+p1)*p1 endif if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(conj(z)+p1)*p1 else z=(conj(z)-p1)*p1 endif z=p2*fn4(1/z) bailout: |z|<@bail default: title="Barnsley 13" center=(0.001,0.001) magn=0.5 periodicity=0 param p1 caption="Barnsley Parameter 1" default=(-0.135,1) endparam param p2 caption="Barnsley Parameter 2" default=(1,0) endparam func fn3 caption="Barnsley Function 1" default=ident() endfunc func fn4 caption="Barnsley Function 2" default=recip() endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Munster Parameter 1" default=(0,0) endparam param p8 caption="Add Munster Parameter 2" default=(2,0) visible=@p7!=0 endparam param bail caption="Bailout" default=100.0 endparam } Barnsley14 { init: z=fn1(pixel) loop: z=p3*fn2(z)+p4 z=z+p5/z z=z+p6*sqr(z) if real(fn3(z))*imag(p1)>=0 z=(z-p2)*p1 else z=(z+p2)*p1 endif if real(p1)*imag(fn3(z))>=0 z=(z+p2)*p1 else z=(z-p2)*p1 endif bailout: |z|<@bail default: title="Barnsley 14" center=(0.001,0.001) magn=0.5 periodicity=0 param p1 caption="Barnsley Parameter 1" default=(1.0165,-0.155) endparam param p2 caption="Barnsley Parameter 2" default=(1,-1.45) endparam func fn3 caption="Barnsley Function" default=ident() endfunc 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 fn2 caption="Loop Function" default=ident() endfunc param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } Barnsley15 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @JM=="M" z=p3*fn2(z)+fn4(pixel) else z=p3*fn2(z)+p4 endif if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(z-p1)*p1+p2 else z=(z+p1)*p1-p2 endif if real(fn3(z))*imag(p2)+real(p2)*imag(fn3(z))>=0 z=(z+p1)*p1-p2 else z=(z-p1)*p1+p2 endif if real(fn3(z))*imag(p1)+real(p1)*imag(fn3(z))>=0 z=(z-p1)*p1+p2 else z=(z+p1)*p1-p2 endif endwhile z=@p9*z bailout: |z|<@bail default: title="Barnsley 15" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" default=1 endparam param p1 caption="Barnsley Parameter 1" default=(-0.2,-1.05) endparam param p2 caption="Barnsley Parameter 2" default=(-1.7,-0.9) endparam func fn3 caption="Barnsley Function" default=ident() endfunc param iter caption="Iterations" default=10 endparam param p3 caption="Loop Parameter" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) visible=@JM=="J" endparam func fn4 caption="C Function" default=ident() visible=@JM=="M" endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p9 caption="Adjustment" default=1.026 endparam param bail caption="Bailout" default=100.0 endparam } Barnsley16 { init: z=fn1(pixel) int i=0 loop: while i<@iter i=i+1 if @JM=="J" z=p3*fn2(z)+p4 else z=p3*fn2(z)+p4+fn4(pixel) endif if real(fn3(z))>=0 z=(z-p1)*p1+p2 else z=(z+p1)*p1-p2 endif if imag(fn3(z))>=0 z=(z+p1)*p1-p2 else z=(z-p1)*p1+p2 endif endwhile z=@p9*z bailout: |z|<@bail default: title="Barnsley 16" center=(0.001,0.001) magn=0.5 maxiter=250 periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="Barnsley Parameter 1" default=(0.96,0.44) endparam param p2 caption="Barnsley Parameter 2" default=(-0.84,0.79) endparam func fn3 caption="Barnsley Function" default=ident() endfunc param iter caption="Iterations" default=22 endparam param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam func fn4 caption="C Function" default=ident() visible=@JM=="M" endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p9 caption="Adjustment" default=1.0104 endparam param bail caption="Bailout" default=100.0 endparam } AtomGustoMod { init: z=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 z=@sp*z+(@sp-1)*z^2 x=real(z) y=imag(z) loop: z=p4*z+p5 x=p4*x+p5 y=p4*y+p5 y=p1*(x-y^@pow) x=@p15*(x-y+p2*z) z=-p3*y+@p17 bailout: |z|<@bail default: title="Atom Gusto Mod" center=(0.001,0.001) angle=270 magn=4 periodicity=0 maxiter=1000 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 param sp caption="Start Parameter" default=(1,0) endparam param p1 caption="AG Parameter 1" default=(1,0) endparam param p15 caption="AG Parameter 2" default=(1,0) endparam param p2 caption="AG Parameter 3" default=(1,0) endparam param p3 caption="AG Parameter 4" default=(0.984,0.219) endparam param p17 caption="AG Parameter 5" default=(0,0) endparam param p4 caption="Loop Parameter 1" default=(1,0) endparam param p5 caption="Loop Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=2 endparam param bail caption="Bailout" default=0.7 endparam } ModifiedLogistic { init: z=fn1(pixel) a=fn1(pixel) loop: z=p3*fn2(z)+p4 a=p3*fn2(a)+p4 if @M=="None" z=z a=a elseif @M=="1" z=z+0.3*exp(z) a=a+0.3*exp(a) elseif @M=="2" z=z-0.3*exp(z) a=a-0.3*exp(a) elseif @M=="3" z=z+sqr(z) a=a+sqr(a) elseif @M=="4" z=z+cosh(z) a=a+cosh(a) elseif @M=="5" z=z-tanh(z) a=a-tanh(a) elseif @M=="6" z=z-tan(z) a=a-tan(a) elseif @M=="7" z=z+cos(z) a=a+cos(a) elseif @M=="8" z=z+cosh(z) a=a+cosh(a) elseif @M=="9" z=z-sinh(z) a=a-sinh(a) elseif @M=="10" z=z-sin(z) a=a-sin(a) elseif @M=="11" z=z+1/exp(z) a=a+1/exp(a) elseif @M=="12" z=z+0.3/cotanh(z) a=a+0.3/cotanh(a) elseif @M=="13" z=z-0.3/cotanh(z) a=a-0.3/cotanh(a) elseif @M=="14" z=z+0.3/cotan(z) a=a+0.3/cotan(a) elseif @M=="15" z=z-0.3/cotan(z) a=a-0.3/cotan(a) elseif @M=="16" z=z+1/cosh(z) a=a+1/cosh(a) elseif @M=="17" z=z+0.3/cos(z) a=a+0.3/cos(a) elseif @M=="18" z=z-0.3/cos(z) a=a-0.3/cos(a) endif b=z if @JM=="J" z=p1*z*(1-a)+@p15 a=p2*b+@p15 elseif @JM=="M1" z=p1*fn3(pixel)*z*(1-a)+@p15 a=p2*b+@p15 elseif @JM=="M2" z=p1*z*(fn3(pixel)-a)+@p15+1 a=p2*b+@p15+1 elseif @JM=="M3" z=p1*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*b+@p15 elseif @JM=="M4" z=p1*z*(1-a)+@p15 a=p2*fn3(pixel)*b+@p15 elseif @JM=="M5" z=p1*z*(1-a)+@p15 a=p2*b+(@p15+1)*fn3(pixel) elseif @JM=="M6" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+@p15+1 a=p2*b+@p15 elseif @JM=="M7" z=p1*fn3(pixel)*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*b+@p15 elseif @JM=="M8" z=p1*fn3(pixel)*z*(1-a)+@p15 a=p2*fn3(pixel)*b+@p15 elseif @JM=="M9" z=p1*fn3(pixel)*z*(1-a)+@p15 a=p2*b+(@p15+1)*fn3(pixel) elseif @JM=="M10" z=p1*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*b+@p15+1 elseif @JM=="M11" z=p1*z*(fn3(pixel)-a)+@p15+1 a=p2*fn3(pixel)*b+@p15+1 elseif @JM=="M12" z=p1*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*fn3(pixel)*b+@p15 elseif @JM=="M13" z=p1*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*b+(@p15+1)*fn3(pixel) elseif @JM=="M14" z=p1*z*(1-a)+@p15 a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel) elseif @JM=="M15" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*b+@p15+1 elseif @JM=="M16" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+@p15+1 a=p2*fn3(pixel)*b+@p15+1 elseif @JM=="M17" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+@p15+1 a=p2*b+(@p15+1)*fn3(pixel)+1 elseif @JM=="M18" z=p1*fn3(pixel)*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*fn3(pixel)*b+@p15 elseif @JM=="M19" z=p1*fn3(pixel)*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*b+(@p15+1)*fn3(pixel) elseif @JM=="M20" z=p1*fn3(pixel)*z*(1-a)+@p15 a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel) elseif @JM=="M21" z=p1*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*fn3(pixel)*b+@p15+1 elseif @JM=="M22" z=p1*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*b+(@p15+1)*fn3(pixel)+1 elseif @JM=="M23" z=p1*z*(fn3(pixel)-a)+@p15+1 a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel)+1 elseif @JM=="M24" z=p1*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel) elseif @JM=="M25" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*fn3(pixel)*b+@p15+1 elseif @JM=="M26" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*b+(@p15+1)*fn3(pixel)+1 elseif @JM=="M27" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+@p15+1 a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel)+1 elseif @JM=="M28" z=p1*fn3(pixel)*z*(1-a)+(@p15+1)*fn3(pixel) a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel) elseif @JM=="M29" z=p1*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel)+1 elseif @JM=="M30" z=p1*fn3(pixel)*z*(fn3(pixel)-a)+(@p15+1)*fn3(pixel)+1 a=p2*fn3(pixel)*b+(@p15+1)*fn3(pixel)+1 endif bailout: |z|<@bail default: title="Modified Logistic" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M1""M2""M3""M4""M5""M6""M7""M8""M9""M10"\ "M11""M12""M13""M14""M15""M16""M17""M18""M19""M20"\ "M21""M22""M23""M24""M25""M26""M27""M28""M29""M30" endparam param p1 caption="ML Parameter 1" default=(1,0) endparam param p2 caption="ML Parameter 2" default=(1,0) endparam param p15 caption="ML Parameter 3" default=(0,0) endparam func fn3 caption="C Function" default=ident() visible=@JM !="J" endfunc func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p3 caption="Loop Parameter 1" default=(1,0) endparam param p4 caption="Loop Parameter 2" default=(0,0) endparam param M caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18" endparam param bail caption="Bailout" default=100.0 endparam } Strempul { init: z=fn1(pixel) loop: zold=z z=@p7*fn2(z)+@p8 z=z+p4*sqr(z) z=z+p5*z*(1-z) z=z+p6/z if @M=="None" z=z elseif @M=="1" if |z|<1 z=z/|z| endif elseif @M=="2" if |z|<1 z=z/|z| endif z=flip(z) elseif @M=="3" if |z|<1 z=z/|z| endif z=conj(z) elseif @M=="4" if |z|<1 z=z/|z| endif z=abs(z) elseif @M=="5" if |z|<1 z=z/|z| endif z=0.3*sqr(z) elseif @M=="6" if |z|<1 z=z/|z| endif z=-z elseif @M=="7" if |z|<1 z=z/|z| endif z=-flip(z) elseif @M=="8" if |z|<1 z=z/|z| endif z=-conj(z) elseif @M=="9" if |z|<1 z=z/|z| endif z=-abs(z) elseif @M=="10" if |z|<1 z=z/|z| endif z=-0.3*sqr(z) elseif @M=="11" if |z|>1 z=z/|z| endif z=cotanh(z) elseif @M=="12" if |z|>1 z=z/|z| endif z=-1.25*flip(z) elseif @M=="13" if |z|>1 z=z/|z| endif z=-0.95*cotanh(z) elseif @M=="14" if |z|>1 z=z/|z| endif z=0.9*cotanh(z) elseif @M=="15" if |z|>1 z=z/|z| endif z=-0.95*cotan(z) endif z=p1*(z^2*(z^2+exp(1i)*z)-p2)/(p3-p2*(z^2+exp(1i)*z)) bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Strempul" center=(0.001,0.001) periodicity=0 param M caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15" endparam param p1 caption="Strempul Parameter 1" default=(1,0) endparam param p2 caption="Strempul Parameter 2" default=(2,0) endparam param p3 caption="Strempul Parameter 3" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p7 caption="Loop Parameter 1" default=(1,0) endparam param p8 caption="Loop Parameter 2" default=(0,0) endparam param p4 caption="Add Sqr Parameter" default=(0,0) endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=4.0 visible=@bt==1 endparam } Barnsley17 { init: z=fn1(pixel) int i=0 loop: if @V=="1" z=p3*z+p4 if real(fn3(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2)*p1 else z=(z+p2)*p1 endif else while i<@iter i=i+1 z=p3*z+p4 if real(fn3(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2)*p1 else z=(z+p2)*p1 endif endwhile z=p5*z endif bailout: |z|<@bail default: title="Barnsley 17" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" endparam param p1 caption="Barnsley Parameter 1" default=(1.17,-0.73) endparam param p2 caption="Barnsley Parameter 2" default=(-0.77,-0.7) endparam func fn3 caption="Barnsley Function 1" default=ident() endfunc func fn4 caption="Barnsley Function 2" default=cotanh() endfunc param iter caption="Iterations" default=8 visible=@V=="2" 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 param p5 caption="Adjustment" default=-1.0182 visible=@V=="2" endparam param bail caption="Bailout" default=100.0 endparam } BivarX6 { init: z=fn1(pixel) a=(p1*fn1(pixel)+fn1(pixel)^3)/p2+fn1(pixel) loop: z=p4*z+p5 a=p4*a+p5 z=z+p6*sqr(z) a=a+p6*sqr(a) if @JM=="J" a=a/z+p3 z=(p2*(a-z)+z^3)/p1+p3 elseif @JM=="M1" a=a/z+(p3+1)*fn2(pixel) z=(p2*(a-z)+z^3)/p1+(p3+1)*fn2(pixel) elseif @JM=="M2" a=a/z+p3 z=(p2*fn2(pixel)*(a-z)+z^3)/p1+p3 elseif @JM=="M3" a=a/z+p3 z=(p2*(a-z)+z^3)/((p1+0.6)*fn2(pixel))+p3 endif bailout: |z|<@bail default: title="Bivar X 6" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M1""M2""M3" endparam param p1 caption="X Parameter 1" default=(-2.8,0) endparam param p2 caption="X Parameter 2" default=(0.4,0) endparam param p3 caption="X Parameter 3" 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="C Function" default=ident() visible=@JM!="J" endfunc param p6 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } BivarX7 { init: z=fn1(pixel) a=fn1(pixel) loop: z=p2*fn2(z)+p3 a=p2*fn2(a)+p3 if @JM=="J" z=p4*z/a+p5 z=-p1^3*z^6/720+p1^2*z^4/12+p1^3*z^4/12-p1*z^2/2-p1^2*z^2-p1^3*z^2/2+p4*\ (-p1^3*a^6/720+p1^2*a^4/12+p1^3*a^4/12-p1*a^2/2-p1^2*a^2-p1^3*a^2/2)+p5 else z=p4*z/a+(p5+1)*fn3(pixel) z=-p1^3*z^6/720+p1^2*z^4/12+p1^3*z^4/12-p1*z^2/2-p1^2*z^2-p1^3*z^2/2+p4*\ (-p1^3*a^6/720+p1^2*a^4/12+p1^3*a^4/12-p1*a^2/2-p1^2*a^2-p1^3*a^2/2)+(p5+1)*fn3(pixel) endif bailout: |z|<@bail default: title="Bivar X 7" center=(0.001,0.001) magn=0.5 periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="X Parameter 1" default=(0.65,0) endparam param p4 caption="X Parameter 2" default=(1,0) endparam param p5 caption="X Parameter 3" 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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=10000.0 endparam } IteratedFunctionSyndrome1 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(z) a=sqr((p1*x+p2)/p3+flip((p4*y+p5)/p6)) b=|a-@p13| c=sqr((@p7*x+@p8)/@p9+ flip((@p10*y+@p11)/@p12)) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 1" center=(0.001,0.001) param p14 caption="Loop Parameter 1" default=(1,0) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p2 caption="Parameter a2" default=(-0.1,0) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(1,0) endparam param p8 caption="Parameter a8" default=(1,0) endparam param p9 caption="Parameter a9" default=(1,0) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.65,0) endparam param p13 caption="Parameter b" 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=1000.0 endparam } IteratedFunctionSyndrome2 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(z) a=conj((p1*x+p2)/p3+flip((p4*y+p5)/p6)) b=|a-@p13| c=conj((@p7*x+@p8)/@p9+ flip((@p10*y+@p11)/@p12)) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 2" center=(0.001,0.001) param p14 caption="Loop Parameter 1" default=(0.98,0.18) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p2 caption="Parameter a2" default=(-0.1,0) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(1,0) endparam param p8 caption="Parameter a8" default=(1,0) endparam param p9 caption="Parameter a9" default=(1,0) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.95,0) endparam param p13 caption="Parameter b" default=(-0.6,-0.6) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome3 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(z) a=flip((p1*x+p2)/p3+flip((p4*y+p5)/p6)) b=|a-@p13| c=flip((@p7*x+@p8)/@p9+ flip((@p10*y+@p11)/@p12)) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 3" center=(0.001,0.001) param p14 caption="Loop Parameter 1" default=(0.98,0.18) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(1,0) endparam param p2 caption="Parameter a2" default=(-0.44,-0.34) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(-0.2,0.31) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(0.92,-0.18328) endparam param p8 caption="Parameter a8" default=(1,0) endparam param p9 caption="Parameter a9" default=(1,0) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.95,0) endparam param p13 caption="Parameter b" default=(-0.6,-0.6) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } BivarX8 { init: z=fn1(pixel) a=fn1(pixel) loop: z=p4*fn2(z)+p5 a=p4*fn2(a)+p5 if @V=="1" if @JM=="J" a=p3*a/z+p2 z=1i*(z-p1)^2-(z-p1)^3+p3*1i*(a-p1)^2-(a-p1)^3+p2 else a=p3*a/z+p2*fn3(pixel) z=1i*(z-p1)^2-(z-p1)^3+p3*1i*(a-p1)^2-(a-p1)^3+p2*fn3(pixel) endif else if @JM=="J" a=p3*z/a+p2 z=1i*(z-p1)^2-(z-p1)^3+p3*1i*(a-p1)^2-(a-p1)^3+p2 else a=p3*z/a+p2*fn3(pixel) z=1i*(z-p1)^2-(z-p1)^3+p3*1i*(a-p1)^2-(a-p1)^3+p2*fn3(pixel) endif endif bailout: |z|<@bail default: title="Bivar X 8" center=(2.001,0.501) periodicity=0 param JM caption="J/M" enum="J""M" endparam param V caption="Variant" enum="1""2" endparam param p1 caption="X Parameter 1" default=(2,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0.5,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="C Function" default=ident() visible=@JM=="M" endfunc param bail caption="Bailout" default=10000.0 endparam } IteratedFunctionSyndrome4 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(z) a=(p1*x+p2)/p3+flip((p4*y+p5)/p6) b=|a-@p13| c=(@p7*x+@p8)/@p9+flip((@p10*y+@p11)/@p12) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 4" center=(0.671,6.001) angle=90 magn=0.125 maxiter=250 param p14 caption="Loop Parameter 1" default=(0.955,0.2) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p2 caption="Parameter a2" default=(-0.1,0) endparam param p3 caption="Parameter a3" default=(1.66,0.79) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(1.1,0.84) endparam param p8 caption="Parameter a8" default=(2.52,-0.05) endparam param p9 caption="Parameter a9" default=(1,0.81) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.95,0) endparam param p13 caption="Parameter b" default=(-0.6,-0.6) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome5 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(z) a=flip((p1*x+p2)/p3+flip((p4*y+p5)/p6)) b=|a-@p13| c=conj((@p7*x+@p8)/@p9+flip((@p10*y+@p11)/@p12)) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 5" center=(-0.801,0.001) angle=90 param p14 caption="Loop Parameter 1" default=(0.98,0.18) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.58,1.125) endparam param p2 caption="Parameter a2" default=(-0.15,1.23) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.6,-0.1) endparam param p7 caption="Parameter a7" default=(1,0) endparam param p8 caption="Parameter a8" default=(1,0) endparam param p9 caption="Parameter a9" default=(1,0) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.95,0) endparam param p13 caption="Parameter b" default=(-0.6,-0.6) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome6 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(z) a=abs((p1*x+p2)/p3+flip((p4*y+p5)/p6)) b=|a-@p13| c=(@p7*x+@p8)/@p9+flip((@p10*y+@p11)/@p12) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 6" center=(0.42,0.48) param p14 caption="Loop Parameter 1" default=(-1.04,0.02) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p2 caption="Parameter a2" default=(-0.1,0) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(1,0) endparam param p8 caption="Parameter a8" default=(1,0) endparam param p9 caption="Parameter a9" default=(1,0) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.95,0) endparam param p13 caption="Parameter b" default=(-0.6,-0.6) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome7 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(z) a=flip((p1*x+p2)/p3+flip((p4*y+p5)/p6)) b=|a-@p13| c=sqr((@p7*x+@p8)/@p9+flip((@p10*y+@p11)/@p12)) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 7" center=(0.001,0.001) param p14 caption="Loop Parameter 1" default=(-0.645,0.265) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p2 caption="Parameter a2" default=(-0.1,0) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(1,0) endparam param p8 caption="Parameter a8" default=(1.34,-0.18) endparam param p9 caption="Parameter a9" default=(1,0) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.95,0) endparam param p13 caption="Parameter b" default=(-0.6,-0.6) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome8 { init: z=fn1(pixel) loop: z=@p14*fn2(z)+@p15 x=real(z) y=imag(conj(z)) a=(p1*x+p2)/p3+flip((p4*y+p5)/p6) b=|a-@p13| c=(@p7*x+@p8)/@p9+flip((@p10*y+@p11)/@p12) d=|c-@p13| if real(b)<=real(d) z=a else z=c endif bailout: |z|<@bail default: title="Iterated Function Syndrome 8" center=(0.001,0.001) param p14 caption="Loop Parameter 1" default=(0.98,0.075) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p2 caption="Parameter a2" default=(-0.1,0) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(1,0) endparam param p8 caption="Parameter a8" default=(1,0) endparam param p9 caption="Parameter a9" default=(1,0) endparam param p10 caption="Parameter a10" default=(1,0) endparam param p11 caption="Parameter a11" default=(1,0) endparam param p12 caption="Parameter a12" default=(0.95,0) endparam param p13 caption="Parameter b" default=(-0.6,-0.6) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome10 { init: z=fn1(pixel) loop: z=@p18*z+@p19 x=real(z) y=imag(z) a=flip((p1*x+@p13*y+p2)/p3+flip((p4*y+@p14*x+p5)/p6)) b=|a-@p17| c=(@p7*x+@p15*y+@p8)/@p9+flip((@p10*y+@p16*x+@p11)/@p12) d=|c-@p17| if real(b)<=real(d) z=@p20*a+@p21 else z=@p20*c+@p21 endif bailout: |z|<@bail default: title="Iterated Function Syndrome 10" center=(0.001,0.001) param p18 caption="Loop Parameter 1" default=(0.59,0.02) endparam param p19 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p2 caption="Parameter a2" default=(-0.1,0) endparam param p3 caption="Parameter a3" default=(1,0) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(0.25,0) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter a7" default=(1,0) endparam param p8 caption="Parameter a8" default=(1,0) endparam param p9 caption="Parameter b1" default=(1,0) endparam param p10 caption="Parameter b2" default=(1,0) endparam param p11 caption="Parameter b3" default=(1,0) endparam param p12 caption="Parameter b4" default=(0.95,0) endparam param p13 caption="Parameter b5" default=(1,0) endparam param p14 caption="Parameter b6" default=(1,0) endparam param p15 caption="Parameter b7" default=(1,0) endparam param p16 caption="Parameter b8" default=(1.58,-1.36) endparam param p17 caption="Parameter c" default=(-0.6,-0.6) endparam param p20 caption="Parameter d1" default=(1,0) endparam param p21 caption="Parameter d2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome9 { init: z=fn1(pixel) loop: z=@p14*z+@p15 x=real(z) y=imag(z) a=(p1*x+p2)/p3+flip((p4*y+p5)/p6) b=|a-@p13| c=(@p7*x+@p8)/@p9+flip((@p10*y+@p11)/@p12) d=|c-@p13| if real(cos(b))<=real(log(d)) z=@p16*a+@p17 else z=@p16*c+@p17 endif bailout: |z|<@bail default: title="Iterated Function Syndrome 9" center=(-0.751,0.881) angle=315 param p14 caption="Loop Parameter 1" default=(0.4,0.76) endparam param p15 caption="Loop Parameter 2" default=(0,0) endparam param p1 caption="Parameter a1" default=(1.09,0.05) endparam param p2 caption="Parameter a2" default=(1.16,-0.66) endparam param p3 caption="Parameter a3" default=(0.95,-0.05) endparam param p4 caption="Parameter a4" default=(1,0) endparam param p5 caption="Parameter a5" default=(1.14,-0.68) endparam param p6 caption="Parameter a6" default=(0.65,0) endparam param p7 caption="Parameter b1" default=(1,0) endparam param p8 caption="Parameter b2" default=(1,0) endparam param p9 caption="Parameter b3" default=(1,0) endparam param p10 caption="Parameter b4" default=(1,0) endparam param p11 caption="Parameter b5" default=(1,0) endparam param p12 caption="Parameter b6" default=(0.95,0) endparam param p13 caption="Parameter c" default=(-0.6,-0.6) endparam param p16 caption="Parameter d11" default=(1,0) endparam param p17 caption="Parameter d22" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param @bail caption="Bailout" default=1000.0 endparam } IteratedFunctionSyndrome11 { init: z=fn1(pixel) loop: z=@p18*z+@p19 x=real(z) y=imag(z) a=conj(flip(conj((p1*x+@p13*y-0.1)/p3+flip((p4*y+@p14*x+0.25)/p6)))) b=|a-@p17| c=(@p7*x+1)/@p9+flip((@p10*y+1)/@p12) d=|c-@p17| if real(b)<=real(d) z=@p20*a+@p21 else z=@p20*c+@p21 endif bailout: |z|<@bail default: title="Iterated Function Syndrome 11" center=(0.221,-0.741) maxiter=250 periodicity=0 param p18 caption="Loop Parameter 1" default=(0.79,-0.66) endparam param p19 caption="Loop Parameter 2" default=(1.21,-0.34) endparam param p1 caption="Parameter a1" default=(-1.5,0) endparam param p3 caption="Parameter a2" default=(0.21,-0.22) endparam param p4 caption="Parameter a3" default=(1.96,0.12) endparam param p6 caption="Parameter a4" default=(1.17,0) endparam param p7 caption="Parameter a5" default=(1.05,-0.03) endparam param p9 caption="Parameter a6" default=(1.17,0.45) endparam param p10 caption="Parameter b1" default=(0.95,1.12) endparam param p12 caption="Parameter b2" default=(1.07,0.09) endparam param p13 caption="Parameter b3" default=(-1.52,-1.86) endparam param p14 caption="Parameter b4" default=(1.05,-1.18) endparam param p17 caption="Parameter c" default=(-1.53,-1.73) endparam param p20 caption="Parameter d1" default=(0.96,-0.12) endparam param p21 caption="Parameter d2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param @bail caption="Bailout" default=100.0 endparam } IteratedFunctionSyndrome12 { init: z=fn1(pixel) loop: z=@p26*z+@p27 x=real(z) y=imag(z) a=conj((p1*x+p2)/p3+flip((p4*y+p5)/p6)) b=|a-@p25| c=flip((@p7*x+@p8)/@p9+flip((@p10*y+@p11)/@p12)) d=|c-@p25| f=conj((@p13*x+@p14)/@p15+flip((@p16*y+@p17)/@p18)) g=|f-@p25| h=(@p19*x+@p20)/@p21+flip((@p22*y+@p23)/@p24) j=|h-@p25| if real(b)=0 z=(z-p2)*p1 else z=(z+p2)*p1 endif bailout: |z|<@bail default: title="Barnsley 18" center=(0.001,0.001) magn=0.333 periodicity=0 param p1 caption="Barnsley Parameter 1" default=(0.356,-0.972) endparam param p2 caption="Barnsley Parameter 2" default=(1,0) endparam param p7 caption="Barnsley Parameter 3" default=(1,0) endparam param p8 caption="Barnsley Parameter 4" default=(1,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 fn4 caption="Barnsley Function 1" default=ident() endfunc func fn3 caption="Barnsley Function 2" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } IFB32 { init: z=fn1(pixel) loop: z=p6*z+@p7 x=cos(@p26)*real(z)-sin(@p26)*imag(z) y=sin(@p26)*real(z)+cos(@p26)*imag(z) z=x+flip(y) float a=1/real(fn3(round(z))) if a0 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if imag(fn3(z))>0 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(z))+imag(fn3(z))>0 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(z))-imag(fn3(z))>0 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(z))>1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if imag(fn3(z))>1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(z))+imag(fn3(z))>1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(z))-imag(fn3(z))>1 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 58" center=(0.001,0.001) periodicity=0 param V caption="Variant" default=0 enum="1""2""3""4""5""6""7""8" endparam param p5 caption="IFB Parameter 1" default=(0,-1) endparam param p1 caption="IFB Parameter 2" default=(1.5,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p3 caption="Z Parameter 1" default=(0.85,0) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=conj() endfunc func fn2 caption="IFB Function 2" default=log() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB59 { init: z=fn4(pixel) a=fn1(sqr(p5)) b=fn2(log(p5)) loop: z=p3*@fn5(z)+p4 if real(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif bailout: |z|<@bail default: title="IFB 59" center=(0.001,0.001) periodicity=0 param p5 caption="IFB Parameter 1" default=(1,1) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(0.85,0.79) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc func fn5 caption="Z Function" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB60 { init: z=fn4(pixel) a=fn1(tan(p5)) b=fn2(atanh(p5)) loop: z=p3*z+p4 if @V=="1" if real(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(sinh(z)))>p6-0.67 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(exp(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(cotan(z)))>p6-0.08304 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(z))+imag(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(log(z)))+imag(fn3(log(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(sqrt(z)))+imag(fn3(sqrt(z)))>p6+0.45 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(cotan(z)))+imag(fn3(cotan(z)))>p6+0.45 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="9" if real(fn3(atan(z)))+imag(fn3(atan(z)))>p6+0.45 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="10" if real(fn3(asinh(z)))+imag(fn3(asinh(z)))>p6+0.45 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 60" center=(0.001,0.001) method=multipass periodicity=0 param V caption="Variant" default=0 enum="1""2""3""4""5""6""7""8""9""10" endparam param p5 caption="IFB Parameter 1" default=(2.26,0.19) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(0.83,0.29) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB61 { init: z=fn4(pixel) a=fn1(cotanh(p5)) b=fn2(cabs(p5)) loop: z=p3*conj(z)+p4 if @V=="1" if real(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(log(z)))>p6+0.74737 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(sinh(z)))>p6-0.33 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(z))+imag(fn3(z))>p6-0.763 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(conj(z)))+imag(fn3(conj(z)))>p6-2.09 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(cabs(z)))+imag(fn3(cabs(z)))>p6+5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(abs(z)))+imag(fn3(abs(z)))>p6+5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(sqrt(z)))+imag(fn3(sqrt(z)))>p6+0.24 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="9" if real(fn3(cotanh(z)))+imag(fn3(cotanh(z)))>p6+0.24 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="10" if real(fn3(atan(z)))+imag(fn3(atan(z)))>p6-0.95 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="11" if real(fn3(tanh(z)))+imag(fn3(tanh(z)))>p6-0.91 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="12" if real(fn3(acosh(z)))+imag(fn3(acosh(z)))>p6+3.446 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="13" if real(fn3(asinh(z)))+imag(fn3(asinh(z)))>p6-1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="14" if real(fn3(sin(z)))+imag(fn3(sin(z)))>p6-0.27 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="15" if real(fn3(trunc(z)))+imag(fn3(trunc(z)))>p6-0.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="16" if real(fn3(z))+imag(fn3(recip(z)))>p6+2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="17" if real(fn3(z))+imag(fn3(abs(z)))>p6+2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="18" if real(fn3(z))+imag(fn3(log(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="19" if real(fn3(log(z)))+imag(fn3(flip(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="20" if real(fn3(log(z)))+imag(fn3(atanh(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="21" if real(fn3(log(z)))+imag(fn3(atan(z)))>p6+2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="22" if real(fn3(log(z)))+imag(fn3(tan(z)))>p6+1.23 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 61" center=(0.001,0.001) method=multipass periodicity=0 magn=0.5 param V caption="Variant" default=0 enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19""20"\ "21""22" endparam param p5 caption="IFB Parameter 1" default=(0.982098,0.798412) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(0.87501,-0.559167) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB62 { init: z=fn4(pixel) a=fn1(cotanh(p5)) b=fn2(cotan(p5)) loop: z=p3*flip(z)+p4 if @V=="1" if real(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(z))+imag(fn3(z))>p6-2.7 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(atan(z)))-imag(fn3(atan(z)))>p6-1.05 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(asinh(z)))-imag(fn3(asinh(z)))>p6+0.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(tanh(z)))-imag(fn3(tanh(z)))>p6-0.44 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(cotanh(z)))-imag(fn3(cotanh(z)))>p6+0.97 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 62" center=(-0.655,0.001) method=multipass angle=315 periodicity=0 magn=0.5 param V caption="Variant" default=0 enum="1""2""3""4""5""6" endparam param p5 caption="IFB Parameter 1" default=(1,1) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(1.113158,0.646275) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB63 { init: z=fn4(pixel) a=fn1(cotanh(p5)) b=fn2(atan(p5)) loop: z=p3*flip(z)+p4 if @V=="1" if real(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(round(z)))>p6-0.83 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(sqrt(z)))>p6+0.6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(z))+imag(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(z))+imag(fn3(conj(z)))>p6+4.86 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(z))+imag(fn3(abs(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(z))+imag(fn3(exp(z)))>p6-0.45 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(z))+imag(fn3(log(z)))>p6-1.79 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="9" if real(fn3(z))+imag(fn3(sqrt(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="10" if real(fn3(z))+imag(fn3(cotanh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="11" if real(fn3(z))+imag(fn3(cotan(z)))>p6+4.35 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="12" if real(fn3(z))+imag(fn3(tanh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="13" if real(fn3(z))+imag(fn3(tan(z)))>p6+0.17 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="14" if real(fn3(z))+imag(fn3(acos(z)))>p6+0.33 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="15" if real(fn3(z))+imag(fn3(round(z)))>p6-3.94 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="16" if real(fn3(z))+imag(fn3(trunc(z)))>p6-4.48 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="17" if real(fn3(z))+imag(fn3(floor(z)))>p6-4.44 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="18" if real(fn3(exp(z)))+imag(fn3(conj(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="19" if real(fn3(log(z)))+imag(fn3(flip(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="20" if real(fn3(log(z)))+imag(fn3(recip(z)))>p6+1.29 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="21" if real(fn3(sqrt(z)))+imag(fn3(z))>p6+0.75 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="22" if real(fn3(sqrt(z)))+imag(fn3(conj(z)))>p6+1.33 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="23" if real(fn3(sqrt(z)))+imag(fn3(cotan(z)))>p6+1.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="24" if real(fn3(sqr(z)))+imag(fn3(sin(z)))>p6+8.8 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="25" if real(fn3(cotanh(z)))+imag(fn3(recip(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="26" if real(fn3(cotanh(z)))+imag(fn3(cotanh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="27" if real(fn3(cotanh(z)))+imag(fn3(asinh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="28" if real(fn3(atanh(z)))+imag(fn3(floor(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="29" if real(fn3(atan(z)))+imag(fn3(floor(z)))>p6-0.25 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="30" if real(fn3(atan(z)))+imag(fn3(atan(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="31" if real(fn3(tanh(z)))+imag(fn3(cotan(z)))>p6-0.02 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="32" if real(fn3(acosh(z)))+imag(fn3(floor(z)))>p6-2.14 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="33" if real(fn3(acosh(z)))+imag(fn3(sqrt(z)))>p6+0.125 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="34" if real(fn3(acosh(z)))+imag(fn3(cotanh(z)))>p6+0.62 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="35" if real(fn3(acosh(z)))+imag(fn3(cotan(z)))>p6+0.71 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="36" if real(fn3(acosh(z)))+imag(fn3(atan(z)))>p6-0.125 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="37" if real(fn3(cos(z)))+imag(fn3(exp(z)))>p6+0.85 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="38" if real(fn3(cos(z)))+imag(fn3(asinh(z)))>p6-0.06 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="39" if real(fn3(asinh(z)))+imag(fn3(sqrt(z)))>p6-0.04 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="40" if real(fn3(asinh(z)))+imag(fn3(tan(z)))>p6-0.04 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 63" center=(0.001,0.001) method=multipass periodicity=0 param V caption="Variant" default=0 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" endparam param p5 caption="IFB Parameter 1" default=(1.21,-0.79) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(0,-1.12) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB64 { init: z=fn4(pixel) a=fn1(sqrt(p5)) b=fn2(conj(p5)) loop: z=p3*flip(z)+p4 if @V=="1" if real(fn3(z))>p6+0.56055 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(sqrt(z)))>p6+1.183 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(cotanh(z)))>p6+0.488 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(sin(z)))>p6+0.86 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(floor(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(z))+imag(fn3(recip(z)))>p6+1.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(z))+imag(fn3(conj(z)))>p6+0.898 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(z))+imag(fn3(abs(z)))>p6+2.2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="9" if real(fn3(z))+imag(fn3(log(z)))>p6-1.45 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="10" if real(fn3(z))+imag(fn3(sqrt(z)))>p6+0.042 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="11" if real(fn3(z))+imag(fn3(cotanh(z)))>p6+0.79 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="12" if real(fn3(z))+imag(fn3(cotan(z)))>p6+1.454 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="13" if real(fn3(z))+imag(fn3(atanh(z)))>p6+0.323 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="14" if real(fn3(z))+imag(fn3(atan(z)))>p6+0.323 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="15" if real(fn3(z))+imag(fn3(cos(z)))>p6+0.83 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="16" if real(fn3(cabs(z)))+imag(fn3(log(z)))>p6+1.08 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="17" if real(fn3(cabs(z)))+imag(fn3(cos(z)))>p6+1.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="18" if real(fn3(abs(z)))+imag(fn3(cos(z)))>p6+1.45 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="19" if real(fn3(exp(z)))+imag(fn3(conj(z)))>p6+1.367 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="20" if real(fn3(exp(z)))+imag(fn3(abs(z)))>p6+1.45 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="21" if real(fn3(log(z)))+imag(fn3(flip(z)))>p6+0.83 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="22" if real(fn3(log(z)))+imag(fn3(log(z)))>p6-0.665 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="23" if real(fn3(log(z)))+imag(fn3(cos(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="24" if real(fn3(sqrt(z)))+imag(fn3(sqrt(z)))>p6+0.25 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="25" if real(fn3(sqrt(z)))+imag(fn3(cotanh(z)))>p6+1.33 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="26" if real(fn3(sqrt(z)))+imag(fn3(atanh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="27" if real(fn3(sqrt(z)))+imag(fn3(atan(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="28" if real(fn3(sqrt(z)))+imag(fn3(tanh(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="29" if real(fn3(sqrt(z)))+imag(fn3(cos(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="30" if real(fn3(sqr(z)))+imag(fn3(cos(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="31" if real(fn3(sqr(z)))+imag(fn3(flip(z)))>p6+6.6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="32" if real(fn3(cotanh(z)))+imag(fn3(round(z)))>p6-1.33 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="33" if real(fn3(cotanh(z)))+imag(fn3(trunc(z)))>p6-0.83 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="34" if real(fn3(cotanh(z)))+imag(fn3(recip(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="35" if real(fn3(cotanh(z)))+imag(fn3(flip(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="36" if real(fn3(cotanh(z)))+imag(fn3(conj(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="37" if real(fn3(cotanh(z)))+imag(fn3(abs(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="38" if real(fn3(cotanh(z)))+imag(fn3(cotanh(z)))>p6+0.564 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="39" if real(fn3(atanh(z)))+imag(fn3(recip(z)))>p6-0.2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="40" if real(fn3(atanh(z)))+imag(fn3(cabs(z)))>p6+0.039 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="41" if real(fn3(atan(z)))+imag(fn3(asinh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="42" if real(fn3(tanh(z)))+imag(fn3(recip (z)))>p6+0.89 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="43" if real(fn3(tanh(z)))+imag(fn3(flip(z)))>p6+0.89 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="44" if real(fn3(tanh(z)))+imag(fn3(sqrt(z)))>p6+0.143 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="45" if real(fn3(tanh(z)))+imag(fn3(atan(z)))>p6+0.61 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="46" if real(fn3(tanh(z)))+imag(fn3(cos(z)))>p6+0.61 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="47" if real(fn3(cos(z)))+imag(fn3(flip(z)))>p6+1.29 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="48" if real(fn3(asinh(z)))+imag(fn3(asinh(z)))>p6+0.21 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="49" if real(fn3(asin(z)))+imag(fn3(abs(z)))>p6+1.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="50" if real(fn3(asin(z)))+imag(fn3(cos(z)))>p6+1.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="51" if real(fn3(sinh(z)))+imag(fn3(cotan(z)))>p6-0.37 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="52" if real(fn3(sin(z)))+imag(fn3(tanh(z)))>p6+0.875 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="53" if real(fn3(sin(z)))+imag(fn3(cotanh(z)))>p6+0.875 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="54" if real(fn3(sin(z)))+imag(fn3(cabs(z)))>p6+0.585 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="55" if real(fn3(sin(z)))+imag(fn3(conj(z)))>p6+1.33 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="56" if real(fn3(round(z)))+imag(fn3(conj(z)))>p6+1.126 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="57" if real(fn3(round(z)))+imag(fn3(abs(z)))>p6+1.624 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="58" if real(fn3(round(z)))+imag(fn3(cotan(z)))>p6 +1.4164 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="59" if real(fn3(round(z)))+imag(fn3(atan(z)))>p6+0.378 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="60" if real(fn3(trunc(z)))+imag(fn3(conj(z)))>p6+1.29 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="61" if real(fn3(trunc(z)))+imag(fn3(abs(z)))>p6+1.62 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="62" if real(fn3(floor(z)))+imag(fn3(conj(z)))>p6+0.62351 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="63" if real(fn3(floor(z)))+imag(fn3(cotan(z)))>p6+0.9972 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 64" center=(0.106,-0.609) method=multipass magn=0.39 angle=367 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" endparam param p5 caption="IFB Parameter 1" default=(1.01974,0.7162978) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(-0.4319367,0.8584233) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB65 { init: z=fn4(pixel) a=fn1(conj(sqr(p5))) b=fn2(sqrt(acos(p5))) loop: z=p3*flip(z)+p4 if @V=="1" if real(fn3(z))>p6-1.516 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(sqrt(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(sqr(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(cotanh(z)))>p6-0.872 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(cotan(z)))>p6-0.021 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(atanh(z)))>p6-0.296 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(atan(z)))>p6-1.178 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(acosh(z)))>p6+1.708 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="9" if real(fn3(acos(z)))>p6-1.573 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="10" if real(fn3(cos(z)))>p6+0.129 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="11" if real(fn3(asinh(z)))>p6-1.158 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="12" if real(fn3(sinh(z)))>p6-0.66 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="13" if real(fn3(sin(z)))>p6-0.951 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="14" if real(fn3(recip(z)))>p6-0.3 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="15" if real(fn3(round(z)))>p6-2.542 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="16" if real(fn3(z))+imag(fn3(abs(z)))>p6+2.325 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="17" if real(fn3(z))+imag(fn3(log(z)))>p6+2.657 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="18" if real(fn3(z))+imag(fn3(sqrt(z)))>p6+5.107 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="19" if real(fn3(z))+imag(fn3(sqr(z)))>p6-0.913 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="20" if real(fn3(z))+imag(fn3(cotanh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="21" if real(fn3(z))+imag(fn3(cotan(z)))>p6-2.077 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="22" if real(fn3(z))+imag(fn3(atan(z)))>p6+0.497 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="23" if real(fn3(z))+imag(fn3(tanh(z)))>p6+0.497 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="24" if real(fn3(z))+imag(fn3(acosh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="25" if real(fn3(z))+imag(fn3(acos(z)))>p6-0.6124 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="26" if real(fn3(cabs(z)))+imag(fn3(conj(z)))>p6+0.441 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="27" if real(fn3(cabs(z)))+imag(fn3(cotan(z)))>p6+1.578 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="28" if real(fn3(cabs(z)))+imag(fn3(acosh(z)))>p6-0.415 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="29" if real(fn3(cabs(z)))+imag(fn3(recip(z)))>p6+2.99 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="30" if real(fn3(abs(z)))+imag(fn3(sqrt(z)))>p6+4.153 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="31" if real(fn3(abs(z)))+imag(fn3(cotanh(z)))>p6+1.495 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="32" if real(fn3(abs(z)))+imag(fn3(atanh(z)))>p6+6.394 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="33" if real(fn3(abs(z)))+imag(fn3(atan(z)))>p6+1.135 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="34" if real(fn3(abs(z)))+imag(fn3(tanh(z)))>p6+1.135 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="35" if real(fn3(abs(z)))+imag(fn3(tan(z)))>p6+1.628 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="36" if real(fn3(abs(z)))+imag(fn3(asinh(z)))>p6+2.251 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="37" if real(fn3(abs(z)))+imag(fn3(asin(z)))>p6+13.71 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="38" if real(fn3(log(z)))+imag(fn3(cotanh(z)))>p6+1.171 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="39" if real(fn3(log(z)))+imag(fn3(cotan(z)))>p6+0.756 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="40" if real(fn3(log(z)))+imag(fn3(tanh(z)))>p6+1.752 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="41" if real(fn3(log(z)))+imag(fn3(acosh(z)))>p6-0.49 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="42" if real(fn3(log(z)))+imag(fn3(acos(z)))>p6-0.699 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="43" if real(fn3(atan(z)))+imag(fn3(flip(z)))>p6-2.7 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="44" if real(fn3(sqrt(z)))+imag(fn3(cotanh(z)))>p6+1.294 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="45" if real(fn3(sqrt(z)))+imag(fn3(cotan(z)))>p6+1.294 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="46" if real(fn3(sqrt(z)))+imag(fn3(tanh(z)))>p6+1.169 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="47" if real(fn3(sqrt(z)))+imag(fn3(acosh(z)))>p6+0.131 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="48" if real(sqr((z)))+imag(fn3(cabs(z)))>p6+0.006 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="49" if real(sqr((z)))+imag(fn3(abs(z)))>p6+0.25 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="50" if real(sqr((z)))+imag(fn3(cotanh(z)))>p6+0.25 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="51" if real(sqr((z)))+imag(fn3(acosh(z)))>p6-0.705 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="52" if real(sqr((z)))+imag(fn3(cos(z)))>p6+10.734 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="53" if real(sqr((z)))+imag(fn3(sin(z)))>p6+0.437 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="54" if real(fn3(cotanh(z)))+imag(fn3(flip(z)))>p6-2.885 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="55" if real(fn3(cotanh(z)))+imag(fn3(conj(z)))>p6-0.892 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="56" if real(fn3(cotanh(z)))+imag(fn3(cabs(z)))>p6-0.949 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="57" if real(fn3(cotanh(z)))+imag(fn3(abs(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="58" if real(fn3(cotanh(z)))+imag(fn3(sqrt(z)))>p6-2.948 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="59" if real(fn3(cotanh(z)))+imag(fn3(cotan(z)))>p6-0.035 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="60" if real(fn3(cotanh(z)))+imag(fn3(atan(z)))>p6-0.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="61" if real(fn3(cotanh(z)))+imag(fn3(tanh(z)))>p6-0.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="62" if real(fn3(cotanh(z)))+imag(fn3(acosh(z)))>p6-0.822 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="63" if real(fn3(cotanh(z)))+imag(fn3(cosh(z)))>p6-0.967 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="64" if real(fn3(cotan(z)))+imag(fn3(flip(z)))>p6 -2.254 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="65" if real(fn3(cotan(z)))+imag(fn3(cotanh(z)))>p6-0.136 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="66" if real(fn3(cotan(z)))+imag(fn3(atan(z)))>p6-0.281 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="67" if real(fn3(cotan(z)))+imag(fn3(tanh(z)))>p6-0.073 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="68" if real(fn3(cotan(z)))+imag(fn3(acosh(z)))>p6-1.713 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="69" if real(fn3(cotan(z)))+imag(fn3(recip(z)))>p6-0.218 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="70" if real(fn3(round(z)))+imag(fn3(acos(z)))>p6-0.236 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="71" if real(fn3(atanh(z)))+imag(fn3(abs(z)))>p6-0.296 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="72" if real(fn3(atanh(z)))+imag(fn3(cotanh(z)))>p6-0.213 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="73" if real(fn3(atanh(z)))+imag(fn3(cotan(z)))>p6-1.147 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="74" if real(fn3(atanh(z)))+imag(fn3(tanh(z)))>p6-0.254 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="75" if real(fn3(atan(z)))+imag(fn3(cabs(z)))>p6-1.168 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="76" if real(fn3(atan(z)))+imag(fn3(abs(z)))>p6+0.14 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="77" if real(fn3(atan(z)))+imag(fn3(sqrt(z)))>p6+0.244 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="78" if real(fn3(atan(z)))+imag(fn3(cotanh(z)))>p6+1.2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="79" if real(fn3(atan(z)))+imag(fn3(cotan(z)))>p6+0.38 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="80" if real(fn3(atan(z)))+imag(fn3(atanh(z)))>p6-0.038 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="81" if real(fn3(atan(z)))+imag(fn3(atan(z)))>p6-0.9 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="82" if real(fn3(atan(z)))+imag(fn3(tanh(z)))>p6+0.356 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="83" if real(fn3(atan(z)))+imag(fn3(tan(z)))>p6-0.391 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="84" if real(fn3(atan(z)))+imag(fn3(acosh(z)))>p6+0.242 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="85" if real(fn3(atan(z)))+imag(fn3(asinh(z)))>p6+0.242 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="86" if real(fn3(tanh(z)))+imag(fn3(abs(z)))>p6+0.242 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="87" if real(fn3(tanh(z)))+imag(fn3(cotanh(z)))>p6-0.9 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="88" if real(fn3(tanh(z)))+imag(fn3(atan(z)))>p6-0.713 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="89" if real(fn3(tanh(z)))+imag(fn3(tanh(z)))>p6-0.952 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="90" if real(fn3(tan(z)))+imag(fn3(recip(z)))>p6-0.36 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="91" if real(fn3(tan(z)))+imag(fn3(cotan(z)))>p6-1.139 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="92" if real(fn3(acosh(z)))+imag(fn3(trunc(z)))>p6+0.159 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="93" if real(fn3(asinh(z)))+imag(fn3(abs(z)))>p6+0.823 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="94" if real(fn3(asin(z)))+imag(fn3(atan(z)))>p6+0.823 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="95" if real(fn3(ceil(z)))+imag(fn3(asinh(z)))>p6+3.19 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="96" if real(fn3(ceil(z)))+imag(fn3(tan(z)))>p6+3.065 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="97" if real(fn3(ceil(z)))+imag(fn3(atan(z)))>p6-0.693 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="98" if real(fn3(ceil(z)))+imag(fn3(abs(z)))>p6-2.935 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="99" if real(fn3(floor(z)))+imag(fn3(log(z)))>p6+2.276 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="100" if real(fn3(floor(z)))+imag(fn3(sqrt(z)))>p6+3.252 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="101" if real(fn3(trunc(z)))+imag(fn3(tanh(z)))>p6-0.236 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="102" if real(fn3(trunc(z)))+imag(fn3(cotanh(z)))>p6-0.236 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="103" if real(fn3(round(z)))+imag(fn3(cotanh(z)))>p6-0.236 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="104" if real(fn3(round(z)))+imag(fn3(acosh(z)))>p6-0.236 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 65" center=(0.001,1.001) method=multipass angle=270 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""79""80"\ "81""82""83""84""85""86""87""88""89""90"\ "91""92""93""94""95""96""97""98""99""100"\ "101""102""103""104" endparam param p5 caption="IFB Parameter 1" default=(-0.689,0.628) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(2.606,-0.224) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(1.01,0.55) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB66 { init: z=fn4(pixel) a=fn1(conj(abs(p5))) b=fn2(sqrt(flip(p5))) loop: z=p3*flip(z)+p4 if @V=="1" if real(fn3(z))>p6+2.824 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(abs(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(exp(z)))>p6+4.197 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(sqrt(z)))>p6 +1.55 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(cotanh(z)))>p6-0.02 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(atan(z)))>p6+0.955 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(tanh(z)))>p6+0.925 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(asinh(z)))>p6+1.672 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="9" if real(fn3(asin(z)))>p6+1.153 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="10" if real(fn3(sinh(z)))>p6+1.85 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="11" if real(fn3(sin(z)))>p6+0.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="12" if real(fn3(recip(z)))>p6+0.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="13" if real(fn3(z))+imag(fn3(trunc(z)))>p6+0.126 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="14" if real(fn3(z))+imag(fn3(recip(z)))>p6+0.367 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="15" if real(fn3(z))+imag(fn3(conj(z)))>p6+2.402 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="16" if real(fn3(z))+imag(fn3(abs(z)))>p6+3.405 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="17" if real(fn3(z))+imag(fn3(log(z)))>p6+2.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="18" if real(fn3(z))+imag(fn3(sqrt(z)))>p6+1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="19" if real(fn3(z))+imag(fn3(cotanh(z)))>p6-0.827 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="20" if real(fn3(z))+imag(fn3(cotan(z)))>p6+2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="21" if real(fn3(z))+imag(fn3(atanh(z)))>p6+2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="22" if real(fn3(z))+imag(fn3(tan(z)))>p6+2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="23" if real(fn3(z))+imag(fn3(acosh(z)))>p6+2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="24" if real(fn3(z))+imag(fn3(acos(z)))>p6+1.19 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="25" if real(fn3(z))+imag(fn3(cos(z)))>p6+0.3 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="26" if real(fn3(z))+imag(fn3(asinh(z)))>p6+2.729 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="27" if real(fn3(exp(z)))+imag(fn3(exp(z)))>p6+5.595 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="28" if real(fn3(exp(z)))+imag(fn3(log(z)))>p6+3 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="29" if real(fn3(exp(z)))+imag(fn3(cotan(z)))>p6+0.9 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="30" if real(fn3(exp(z)))+imag(fn3(atan(z)))>p6+3.537 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="31" if real(fn3(exp(z)))+imag(fn3(cos(z)))>p6+4 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="32" if real(fn3(exp(z)))+imag(fn3(trunc(z)))>p6+0.595 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="33" if real(fn3(log(z)))+imag(fn3(flip(z)))>p6 -0.118 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="34" if real(fn3(sqrt(z)))+imag(fn3(flip(z)))>p6+1.283 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="35" if real(fn3(sqrt(z)))+imag(fn3(cotanh(z)))>p6+1.325 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="36" if real(fn3(sqrt(z)))+imag(fn3(tanh(z)))>p6+1.283 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="37" if real(fn3(sqrt(z)))+imag(fn3(recip(z)))>p6+1.657 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="38" if real(fn3(sqr(z)))+imag(fn3(flip(z)))>p6+0.121 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="39" if real(fn3(cotanh(z)))+imag(fn3(cotanh(z)))>p6+0.453 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="40" if real(fn3(cotanh(z)))+imag(fn3(atan(z)))>p6+0.453 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="41" if real(fn3(cotanh(z)))+imag(fn3(cos(z)))>p6+0.733 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="42" if real(fn3(cotanh(z)))+imag(fn3(recip(z)))>p6+0.546 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="43" if real(fn3(cotan(z)))+imag(fn3(flip(z)))>p6+1.376 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="44" if real(fn3(atanh(z)))+imag(fn3(cotanh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="45" if real(fn3(atanh(z)))+imag(fn3(tanh(z)))>p6-0.244 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="46" if real(fn3(atanh(z)))+imag(fn3(trunc(z)))>p6+0.182 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="47" if real(fn3(atanh(z)))+imag(fn3(recip(z)))>p6-0.13 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="48" if real(fn3(atan(z)))+imag(fn3(flip(z)))>p6+1.645 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="49" if real(fn3(atan(z)))+imag(fn3(conj(z)))>p6+0.16 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="50" if real(fn3(atan(z)))+imag(fn3(cabs(z)))>p6+0.764 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="51" if real(fn3(atan(z)))+imag(fn3(abs(z)))>p6+1.167 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="52" if real(fn3(atan(z)))+imag(fn3(sqrt(z)))>p6+0.565 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="53" if real(fn3(atan(z)))+imag(fn3(cotanh(z)))>p6+0.565 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="54" if real(fn3(atan(z)))+imag(fn3(cotan(z)))>p6+0.171 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="55" if real(fn3(atan(z)))+imag(fn3(atan(z)))>p6+0.171 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="56" if real(fn3(atan(z)))+imag(fn3(tanh(z)))>p6+0.358 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="57" if real(fn3(atan(z)))+imag(fn3(cos(z)))>p6+0.176 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="58" if real(fn3(atan(z)))+imag(fn3(asinh(z)))>p6+0.176 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="59" if real(fn3(atan(z)))+imag(fn3(sin(z)))>p6+0.726 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="60" if real(fn3(atan(z)))+imag(fn3(trunc(z)))>p6-0.021 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="61" if real(fn3(atan(z)))+imag(fn3(recip(z)))>p6+0.747 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="62" if real(fn3(tanh(z)))+imag(fn3(conj(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="63" if real(fn3(tanh(z)))+imag(fn3(abs(z)))>p6+0.872 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="64" if real(fn3(tanh(z)))+imag(fn3(cotanh(z)))>p6-0.675 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="65" if real(fn3(tanh(z)))+imag(fn3(atan(z)))>p6+0.29 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="66" if real(fn3(tanh(z)))+imag(fn3(tanh(z)))>p6+0.992 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="67" if real(fn3(tanh(z)))+imag(fn3(cos(z)))>p6+0.348 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="68" if real(fn3(tanh(z)))+imag(fn3(trunc(z)))>p6-0.233 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="69" if real(fn3(tanh(z)))+imag(fn3(recip(z)))>p6-0.565 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="70" if real(fn3(tan(z)))+imag(fn3(flip(z)))>p6+1.179 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="71" if real(fn3(tan(z)))+imag(fn3(floor(z)))>p6+0.141 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="72" if real(fn3(acosh(z)))+imag(fn3(conj(z)))>p6+0.245 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="73" if real(fn3(acosh(z)))+imag(fn3(abs(z)))>p6+1.2 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="74" if real(fn3(acosh(z)))+imag(fn3(sqrt(z)))>p6+0.764 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="75" if real(fn3(acosh(z)))+imag(fn3(cotanh(z)))>p6+0.764 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="76" if real(fn3(acosh(z)))+imag(fn3(cotan(z)))>p6+0.764 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="77" if real(fn3(acosh(z)))+imag(fn3(atanh(z)))>p6+0.224 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="78" if real(fn3(acosh(z)))+imag(fn3(atan(z)))>p6+0.681 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="79" if real(fn3(acosh(z)))+imag(fn3(tanh(z)))>p6+0.224 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="80" if real(fn3(acosh(z)))+imag(fn3(tan(z)))>p6+0.868 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="81" if real(fn3(acosh(z)))+imag(fn3(acosh(z)))>p6+0.868 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="82" if real(fn3(acosh(z)))+imag(fn3(cos(z)))>p6+0.432 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="83" if real(fn3(acosh(z)))+imag(fn3(asinh(z)))>p6+0.432 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="84" if real(fn3(acos(z)))+imag(fn3(flip(z)))>p6+2.01 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="85" if real(fn3(cosh(z)))+imag(fn3(flip(z)))>p6+2.01 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="86" if real(fn3(asinh(z)))+imag(fn3(conj(z)))>p6+0.121 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="87" if real(fn3(asinh(z)))+imag(fn3(cabs(z)))>p6+1.491 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="88" if real(fn3(asinh(z)))+imag(fn3(sqrt(z)))>p6+0.972 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="89" if real(fn3(asinh(z)))+imag(fn3(atanh(z)))>p6+0.038 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="90" if real(fn3(asinh(z)))+imag(fn3(acos(z)))>p6-0.004 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="91" if real(fn3(asinh(z)))+imag(fn3(cos(z)))>p6+0.453 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="92" if real(fn3(asin(z)))+imag(fn3(cabs(z)))>p6+1.18 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="93" if real(fn3(asin(z)))+imag(fn3(tanh(z)))>p6-0.689 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="94" if real(fn3(asin(z)))+imag(fn3(cos(z)))>p6+0.494 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="95" if real(fn3(asin(z)))+imag(fn3(recip(z)))>p6+0.494 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="96" if real(fn3(sinh(z)))+imag(fn3(ident(z)))>p6+1.407 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="97" if real(fn3(sinh(z)))+imag(fn3(flip(z)))>p6+4.106 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="98" if real(fn3(sinh(z)))+imag(fn3(abs(z)))>p6+2.445 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="99" if real(fn3(sinh(z)))+imag(fn3(sqrt(z)))>p6+0.618 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="100" if real(fn3(sinh(z)))+imag(fn3(atanh(z)))>p6+0.66 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="101" if real(fn3(sinh(z)))+imag(fn3(tanh(z)))>p6+0.369 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="102" if real(fn3(sinh(z)))+imag(fn3(tan(z)))>p6+1.656 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="103" if real(fn3(sinh(z)))+imag(fn3(acosh(z)))>p6+1.366 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="104" if real(fn3(sinh(z)))+imag(fn3(asin(z)))>p6+0.556 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="105" if real(fn3(sinh(z)))+imag(fn3(sinh(z)))>p6+0.556 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="106" if real(fn3(sinh(z)))+imag(fn3(trunc(z)))>p6+2.113 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="107" if real(fn3(sin(z)))+imag(fn3(flip(z)))>p6+3.151 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="108" if real(fn3(sin(z)))+imag(fn3(sqrt(z)))>p6+0.743 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="109" if real(fn3(sin(z)))+imag(fn3(cotanh(z)))>p6+0.971 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="110" if real(fn3(sin(z)))+imag(fn3(cotan(z)))>p6+0.327 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="111" if real(fn3(sin(z)))+imag(fn3(atan(z)))>p6+0.327 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="112" if real(fn3(sin(z)))+imag(fn3(tanh(z)))>p6+0.659 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="113" if real(fn3(sin(z)))+imag(fn3(acos(z)))>p6+0.119 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="114" if real(fn3(sin(z)))+imag(fn3(cos(z)))>p6+0.306 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="115" if real(fn3(sin(z)))+imag(fn3(trunc(z)))>p6-0.525 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="116" if real(fn3(sin(z)))+imag(fn3(recip(z)))>p6+1.116 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="117" if real(fn3(round(z)))+imag(fn3(flip(z)))>p6-0.421 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="118" if real(fn3(round(z)))+imag(fn3(conj(z)))>p6+0.285 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="119" if real(fn3(round(z)))+imag(fn3(abs(z)))>p6+2.361 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="120" if real(fn3(round(z)))+imag(fn3(log(z)))>p6+3.462 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="121" if real(fn3(round(z)))+imag(fn3(sqrt(z)))>p6+3.109 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="122" if real(fn3(round(z)))+imag(fn3(cotan(z)))>p6+2.444 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="123" if real(fn3(round(z)))+imag(fn3(atanh(z)))>p6+2.444 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="124" if real(fn3(round(z)))+imag(fn3(atan(z)))>p6+2.03 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="125" if real(fn3(round(z)))+imag(fn3(tanh(z)))>p6+2.03 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="126" if real(fn3(round(z)))+imag(fn3(tan(z)))>p6+2.03 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="127" if real(fn3(round(z)))+imag(fn3(acosh(z)))>p6+2.03 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="128" if real(fn3(round(z)))+imag(fn3(acos(z)))>p6+1.572 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="129" if real(fn3(round(z)))+imag(fn3(cos(z)))>p6+1.033 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="130" if real(fn3(round(z)))+imag(fn3(asinh(z)))>p6+3.047 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="131" if real(fn3(trunc(z)))+imag(fn3(recip(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="132" if real(fn3(trunc(z)))+imag(fn3(cotanh(z)))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="133" if real(fn3(trunc(z)))+imag(fn3(atan(z)))>p6+0.332 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="134" if real(fn3(trunc(z)))+imag(fn3(acos(z)))>p6+0.789 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="135" if real(fn3(trunc(z)))+imag(fn3(cos(z)))>p6+0.789 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="136" if real(fn3(floor(z)))+imag(fn3(log(z)))>p6+1.495 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="137" if real(fn3(floor(z)))+imag(fn3(sqrt(z)))>p6+1.495 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="138" if real(fn3(floor(z)))+imag(fn3(cotan(z)))>p6+1.495 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="139" if real(fn3(floor(z)))+imag(fn3(atanh(z)))>p6+1.495 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="140" if real(fn3(floor(z)))+imag(fn3(cos(z)))>p6+1.495 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="141" if real(fn3(ceil(z)))+imag(fn3(recip(z)))>p6+2.865 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="142" if real(fn3(ceil(z)))+imag(fn3(conj(z)))>p6+2.159 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="143" if real(fn3(ceil(z)))+imag(fn3(sqrt(z)))>p6+3.364 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="144" if real(fn3(ceil(z)))+imag(fn3(cotan(z)))>p6+1.267 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="145" if real(fn3(ceil(z)))+imag(fn3(atanh(z)))>p6+1.267 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="146" if real(fn3(ceil(z)))+imag(fn3(cos(z)))>p6+1.142 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="147" if real(fn3(recip(z)))+imag(fn3(cotan(z)))>p6+1.121 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 66" center=(0.001,0.001) method=multipass periodicity=0 magn=0.5 param V caption="Variant" default=0 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""79""80"\ "81""82""83""84""85""86""87""88""89""90"\ "91""92""93""94""95""96""97""98""99""100"\ "101""102""103""104""105""106""107""108""109""110"\ "111""112""113""114""115""116""117""118""119""120"\ "121""122""123""124""125""126""127""128""129""130"\ "131""132""133""134""135""136""137""138""139""140"\ "141""142""143""144""145""146""147" endparam param p5 caption="IFB Parameter 1" default=(0.45642,-0.84655) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(1.01,0.55) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB67 { init: z=fn4(pixel) a=fn1(cotan(exp(p5))) b=fn2(atan(sqrt(p5))) loop: z=p3*flip(z)+p4 if @V=="1" if real(fn3(z))>p6 -0.706 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="2" if real(fn3(exp(z)))>p6+1.36 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="3" if real(fn3(sqrt(z)))>p6+2.523 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="4" if real(fn3(cotanh(z)))>p6-0.54 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="5" if real(fn3(atanh(z)))>p6+0.222 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="6" if real(fn3(tanh(z)))>p6+0.222 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="7" if real(fn3(acosh(z)))>p6+2.547 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="8" if real(fn3(asinh(z)))>p6-1.771 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="9" if real(fn3(asin(z)))>p6-0.068 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="10" if real(fn3(sin(z)))>p6+0.057 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="11" if real(fn3(round(z)))>p6-0.275 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="12" if real(fn3(trunc(z)))>p6-0.275 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="13" if real(fn3(recip(z)))>p6+0.307 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="14" if real(fn3(z))+imag(fn3(sqr(z)))>p6-0.113 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="15" if real(fn3(z))+imag(fn3(cotanh(z)))>p6-1.11 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="16" if real(fn3(z))+imag(fn3(cotan(z)))>p6-1.11 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="17" if real(fn3(z))+imag(fn3(atanh(z)))>p6+0.427 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="18" if real(fn3(z))+imag(fn3(atan(z)))>p6-0.622 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="19" if real(fn3(z))+imag(fn3(acos(z)))>p6+0.417 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="20" if real(fn3(z))+imag(fn3(cosh(z)))>p6+2.744 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="21" if real(fn3(z))+imag(fn3(cos(z)))>p6-1.91 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="22" if real(fn3(z))+imag(fn3(asinh(z)))>p6-0.772 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="23" if real(fn3(z))+imag(fn3(asin(z)))>p6+0.828 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="24" if real(fn3(z))+imag(fn3(sinh(z)))>p6+0.828 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="25" if real(fn3(z))+imag(fn3(sin(z)))>p6+0.1 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="26" if real(fn3(z))+imag(fn3(round(z)))>p6+9.656 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="27" if real(fn3(z))+imag(fn3(floor(z)))>p6+4.006 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="28" if real(fn3(z))+imag(fn3(z))>p6+3.88 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="29" if real(fn3(z))+imag(fn3(conj(z)))>p6-1.687 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="30" if real(fn3(z))+imag(fn3(abs(z)))>p6+3.299 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="31" if real(fn3(z))+imag(fn3(exp(z)))>p6-3.224 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="32" if real(fn3(z))+imag(fn3(log(z)))>p6-3.224 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="33" if real(fn3(z))+imag(fn3(sqrt(z)))>p6+0.848 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="34" if real(fn3(flip(z)))+imag(fn3(exp(z)))>p6+7.073 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="35" if real(fn3(flip(z)))+imag(fn3(sqr(z)))>p6+2.583 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="36" if real(fn3(cabs(z)))+imag(fn3(exp(z)))>p6+3.16 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="37" if real(fn3(cabs(z)))+imag(fn3(sqr(z)))>p6+3.16 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="38" if real(fn3(cabs(z)))+imag(fn3(acosh(z)))>p6+1.913 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="39" if real(fn3(cabs(z)))+imag(fn3(cosh(z)))>p6+2.911 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="40" if real(fn3(abs(z)))+imag(fn3(exp(z)))>p6+2.329 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="41" if real(fn3(abs(z)))+imag(fn3(sqr(z)))>p6+2.329 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="42" if real(fn3(abs(z)))+imag(fn3(acosh(z)))>p6+0.916 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="43" if real(fn3(abs(z)))+imag(fn3(cosh(z)))>p6+1.248 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="44" if real(fn3(exp(z)))+imag(fn3(flip(z)))>p6+1.563 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="45" if real(fn3(exp(z)))+imag(fn3(sqr(z)))>p6-0.182 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="46" if real(fn3(exp(z)))+imag(fn3(cotanh(z)))>p6+0.483 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="47" if real(fn3(exp(z)))+imag(fn3(atan(z)))>p6+1.397 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="48" if real(fn3(exp(z)))+imag(fn3(cosh(z)))>p6+1.106 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="49" if real(fn3(exp(z)))+imag(fn3(sinh(z)))>p6+1.688 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="50" if real(fn3(exp(z)))+imag(fn3(sin(z)))>p6+1.688 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="51" if real(fn3(exp(z)))+imag(fn3(recip(z)))>p6+1.688 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="52" if real(fn3(log(z)))+imag(fn3(flip(z)))>p6-0.805 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="53" if real(fn3(log(z)))+imag(fn3(exp(z)))>p6+1.355 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="54" if real(fn3(log(z)))+imag(fn3(sqr(z)))>p6+3.017 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="55" if real(fn3(log(z)))+imag(fn3(cosh(z)))>p6+1.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="56" if real(fn3(sqrt(z)))+imag(fn3(flip(z)))>p6+0.835 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="57" if real(fn3(sqrt(z)))+imag(fn3(conj(z)))>p6-0.412 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="58" if real(fn3(sqrt(z)))+imag(fn3(exp(z)))>p6+1.158 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="59" if real(fn3(sqrt(z)))+imag(fn3(sqr(z)))>p6-0.339 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="60" if real(fn3(sqrt(z)))+imag(fn3(cotanh(z)))>p6+1.794 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="61" if real(fn3(sqrt(z)))+imag(fn3(cotan(z)))>p6+0.173 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="62" if real(fn3(sqrt(z)))+imag(fn3(atanh(z)))>p6+2.896 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="63" if real(fn3(sqrt(z)))+imag(fn3(atan(z)))>p6+1.482 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="64" if real(fn3(sqrt(z)))+imag(fn3(tan(z)))>p6+2.521 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="65" if real(fn3(sqrt(z)))+imag(fn3(recip(z)))>p6+1.441 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="66" if real(fn3(sqr(z)))+imag(fn3(flip(z)))>p6-0.555 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="67" if real(fn3(sqr(z)))+imag(fn3(exp(z)))>p6+3.852 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="68" if real(fn3(sqr(z)))+imag(fn3(sqr(z)))>p6-0.264 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="69" if real(fn3(sqr(z)))+imag(fn3(cosh(z)))>p6-0.513 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="70" if real(fn3(sqr(z)))+imag(fn3(cos(z)))>p6-1.137 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="71" if real(fn3(cotanh(z)))+imag(fn3(flip(z)))>p6-0.499 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="72" if real(fn3(cotanh(z)))+imag(fn3(conj(z)))>p6-1.497 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="73" if real(fn3(cotanh(z)))+imag(fn3(exp(z)))>p6-0.998 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="74" if real(fn3(cotanh(z)))+imag(fn3(sqrt(z)))>p6+1.205 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="75" if real(fn3(cotanh(z)))+imag(fn3(sqr(z)))>p6+2.951 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="76" if real(fn3(cotanh(z)))+imag(fn3(cotanh(z)))>p6-0.832 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="77" if real(fn3(cotanh(z)))+imag(fn3(cotan(z)))>p6+0.041 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="78" if real(fn3(cotanh(z)))+imag(fn3(atanh(z)))>p6+0.54 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="79" if real(fn3(cotanh(z)))+imag(fn3(atan(z)))>p6+1.112 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="80" if real(fn3(cotanh(z)))+imag(fn3(tanh(z)))>p6-0.998 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="81" if real(fn3(cotanh(z)))+imag(fn3(tan(z)))>p6+1.892 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="82" if real(fn3(cotanh(z)))+imag(fn3(cosh(z)))>p6+2.537 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="83" if real(fn3(cotanh(z)))+imag(fn3(asinh(z)))>p6+1.204 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="84" if real(fn3(cotanh(z)))+imag(fn3(asin(z)))>p6+3.076 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="85" if real(fn3(cotanh(z)))+imag(fn3(sin(z)))>p6-0.044 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="86" if real(fn3(cotanh(z)))+imag(fn3(recip(z)))>p6-0.626 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="87" if real(fn3(cotan(z)))+imag(fn3(exp(z)))>p6+0.042 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="88" if real(fn3(cotan(z)))+imag(fn3(sqr(z)))>p6+1.04 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="89" if real(fn3(cotan(z)))+imag(fn3(cotanh(z)))>p6+0.002 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="90" if real(fn3(cotan(z)))+imag(fn3(cotan(z)))>p6-0.955 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="91" if real(fn3(cotan(z)))+imag(fn3(tanh(z)))>p6+0.002 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="92" if real(fn3(cotan(z)))+imag(fn3(tan(z)))>p6+1.042 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="93" if real(fn3(atanh(z)))+imag(fn3(exp(z)))>p6+0.044 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="94" if real(fn3(atanh(z)))+imag(fn3(cotan(z)))>p6-0.79 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="95" if real(fn3(atanh(z)))+imag(fn3(atanh(z)))>p6+1.521 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="96" if real(fn3(atanh(z)))+imag(fn3(atan(z)))>p6+0.065 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="97" if real(fn3(atanh(z)))+imag(fn3(tanh(z)))>p6+0.19 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="98" if real(fn3(atanh(z)))+imag(fn3(tan(z)))>p6+1.115 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="99" if real(fn3(atan(z)))+imag(fn3(ident(z)))>p6+1.49 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="100" if real(fn3(atan(z)))+imag(fn3(cabs(z)))>p6+1.115 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="101" if real(fn3(atan(z)))+imag(fn3(exp(z)))>p6-1.422 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="102" if real(fn3(atan(z)))+imag(fn3(log(z)))>p6+1.672 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="103" if real(fn3(atan(z)))+imag(fn3(sqrt(z)))>p6+1.464 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="104" if real(fn3(atan(z)))+imag(fn3(sqr(z)))>p6+2.38 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="105" if real(fn3(atan(z)))+imag(fn3(cotanh(z)))>p6+1.38 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="106" if real(fn3(atan(z)))+imag(fn3(cotan(z)))>p6-1.49 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="107" if real(fn3(atan(z)))+imag(fn3(atanh(z)))>p6+0.133 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="108" if real(fn3(atan(z)))+imag(fn3(atan(z)))>p6+1.479 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="109" if real(fn3(atan(z)))+imag(fn3(tanh(z)))>p6+1.256 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="110" if real(fn3(atan(z)))+imag(fn3(tan(z)))>p6+2.265 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="111" if real(fn3(atan(z)))+imag(fn3(acosh(z)))>p6+1.37 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="112" if real(fn3(atan(z)))+imag(fn3(asinh(z)))>p6+1.573 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="113" if real(fn3(atan(z)))+imag(fn3(round(z)))>p6+1.781 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="114" if real(fn3(atan(z)))+imag(fn3(ceil(z)))>p6+2.114 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="115" if real(fn3(atan(z)))+imag(fn3(recip(z)))>p6+1.282 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="116" if real(fn3(tanh(z)))+imag(fn3(exp(z)))>p6-0.923 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="117" if real(fn3(tanh(z)))+imag(fn3(sqrt(z)))>p6+1.115 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="118" if real(fn3(tanh(z)))+imag(fn3(atan(z)))>p6+1.032 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="119" if real(fn3(tanh(z)))+imag(fn3(tanh(z)))>p6-0.965 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="120" if real(fn3(tanh(z)))+imag(fn3(recip(z)))>p6+0.802 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="121" if real(fn3(tan(z)))+imag(fn3(exp(z)))>p6+0.262 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="122" if real(fn3(tan(z)))+imag(fn3(sqrt(z)))>p6-1.401 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="123" if real(fn3(tan(z)))+imag(fn3(sqr(z)))>p6-1.401 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="124" if real(fn3(tan(z)))+imag(fn3(cotanh(z)))>p6+0.013 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="125" if real(fn3(tan(z)))+imag(fn3(atan(z)))>p6+0.096 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="126" if real(fn3(tan(z)))+imag(fn3(cosh(z)))>p6+0.678 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="127" if real(fn3(tan(z)))+imag(fn3(recip(z)))>p6+0.179 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="128" if real(fn3(acosh(z)))+imag(fn3(ident(z)))>p6+2.342 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="129" if real(fn3(acosh(z)))+imag(fn3(cabs(z)))>p6+1.635 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="130" if real(fn3(acosh(z)))+imag(fn3(exp(z)))>p6-2.733 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="131" if real(fn3(acosh(z)))+imag(fn3(log(z)))>p6+0.928 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="132" if real(fn3(acosh(z)))+imag(fn3(sqrt(z)))>p6+0.013 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="133" if real(fn3(acosh(z)))+imag(fn3(sqr(z)))>p6+3.174 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="134" if real(fn3(acosh(z)))+imag(fn3(cotanh(z)))>p6-0.985 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="135" if real(fn3(acosh(z)))+imag(fn3(cotan(z)))>p6+0.762 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="136" if real(fn3(acosh(z)))+imag(fn3(atanh(z)))>p6-0.07 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="137" if real(fn3(acosh(z)))+imag(fn3(atan(z)))>p6-1.235 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="138" if real(fn3(acosh(z)))+imag(fn3(tanh(z)))>p6-1.817 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="139" if real(fn3(acosh(z)))+imag(fn3(tan(z)))>p6-0.663 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="140" if real(fn3(acosh(z)))+imag(fn3(asinh(z)))>p6-1.277 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="141" if real(fn3(acosh(z)))+imag(fn3(trunc(z)))>p6+1.843 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="142" if real(fn3(acosh(z)))+imag(fn3(floor(z)))>p6+1.843 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="143" if real(fn3(acosh(z)))+imag(fn3(ceil(z)))>p6+1.874 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="144" if real(fn3(acosh(z)))+imag(fn3(recip(z)))>p6+1.354 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="145" if real(fn3(acos(z)))+imag(fn3(log(z)))>p6+0.439 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="146" if real(fn3(acos(z)))+imag(fn3(sqr(z)))>p6-2.972 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="147" if real(fn3(acos(z)))+imag(fn3(cotanh(z)))>p6+0.19 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="148" if real(fn3(cos(z)))+imag(fn3(flip(z)))>p6+0.19 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="149" if real(fn3(cos(z)))+imag(fn3(log(z)))>p6-2.31 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="150" if real(fn3(cos(z)))+imag(fn3(tan(z)))>p6-2.31 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="151" if real(fn3(asinh(z)))+imag(fn3(log(z)))>p6+0.897 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="152" if real(fn3(asinh(z)))+imag(fn3(cotanh(z)))>p6-2.015 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="153" if real(fn3(asinh(z)))+imag(fn3(cotan(z)))>p6+0.855 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="154" if real(fn3(asinh(z)))+imag(fn3(atanh(z)))>p6-0.185 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="155" if real(fn3(asinh(z)))+imag(fn3(atan(z)))>p6-1.391 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="156" if real(fn3(asinh(z)))+imag(fn3(tanh(z)))>p6-1.391 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="157" if real(fn3(asinh(z)))+imag(fn3(tan(z)))>p6-0.06 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="158" if real(fn3(asinh(z)))+imag(fn3(cos(z)))>p6-0.06 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="159" if real(fn3(asinh(z)))+imag(fn3(asinh(z)))>p6-1.37 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="160" if real(fn3(asinh(z)))+imag(fn3(asin(z)))>p6+0.013 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="161" if real(fn3(asinh(z)))+imag(fn3(round(z)))>p6+1.864 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="162" if real(fn3(asin(z)))+imag(fn3(exp(z)))>p6-0.424 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="163" if real(fn3(asin(z)))+imag(fn3(sqr(z)))>p6-2.046 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="164" if real(fn3(asin(z)))+imag(fn3(cotanh(z)))>p6+0.699 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="165" if real(fn3(asin(z)))+imag(fn3(atan(z)))>p6+0.949 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="166" if real(fn3(asin(z)))+imag(fn3(tanh(z)))>p6+0.741 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="167" if real(fn3(asin(z)))+imag(fn3(tan(z)))>p6+0.808 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="168" if real(fn3(asin(z)))+imag(fn3(asinh(z)))>p6+1.016 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="169" if real(fn3(sinh(z)))+imag(fn3(ident(z)))>p6-2.02 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="170" if real(fn3(sinh(z)))+imag(fn3(flip(z)))>p6+0.808 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="171" if real(fn3(sinh(z)))+imag(fn3(exp(z)))>p6+4.511 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="172" if real(fn3(sinh(z)))+imag(fn3(sqr(z)))>p6-0.814 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="173" if real(fn3(sinh(z)))+imag(fn3(cotan(z)))>p6-1.022 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="174" if real(fn3(sinh(z)))+imag(fn3(cos(z)))>p6-1.979 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="175" if real(fn3(sin(z)))+imag(fn3(ident(z)))>p6-0.564 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="176" if real(fn3(sin(z)))+imag(fn3(flip(z)))>p6-0.564 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="177" if real(fn3(sin(z)))+imag(fn3(conj(z)))>p6+0.434 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="178" if real(fn3(sin(z)))+imag(fn3(abs(z)))>p6+0.6 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="179" if real(fn3(sin(z)))+imag(fn3(exp(z)))>p6+8.421 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="180" if real(fn3(sin(z)))+imag(fn3(sqr(z)))>p6+0.832 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="181" if real(fn3(sin(z)))+imag(fn3(cotanh(z)))>p6+1.123 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="182" if real(fn3(sin(z)))+imag(fn3(atanh(z)))>p6+2.122 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="183" if real(fn3(sin(z)))+imag(fn3(atan(z)))>p6+0.998 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="184" if real(fn3(sin(z)))+imag(fn3(tan(z)))>p6+1.456 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="185" if real(fn3(sin(z)))+imag(fn3(asin(z)))>p6+2.205 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="186" if real(fn3(sin(z)))+imag(fn3(sinh(z)))>p6+2.205 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="187" if real(fn3(sin(z)))+imag(fn3(floor(z)))>p6+0.374 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="188" if real(fn3(round(z)))+imag(fn3(ident(z)))>p6+3.993 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="189" if real(fn3(round(z)))+imag(fn3(log(z)))>p6-0.291 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="190" if real(fn3(round(z)))+imag(fn3(sqrt(z)))>p6+0.458 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="191" if real(fn3(round(z)))+imag(fn3(cotan(z)))>p6-2.288 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="192" if real(fn3(round(z)))+imag(fn3(acos(z)))>p6+1.082 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="193" if real(fn3(trunc(z)))+imag(fn3(abs(z)))>p6+4.95 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="194" if real(fn3(trunc(z)))+imag(fn3(sqrt(z)))>p6-0.666 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="195" if real(fn3(trunc(z)))+imag(fn3(cotanh(z)))>p6-0.999 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="196" if real(fn3(trunc(z)))+imag(fn3(cotan(z)))>p6+0.79 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="197" if real(fn3(trunc(z)))+imag(fn3(atanh(z)))>p6+0.249 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="198" if real(fn3(trunc(z)))+imag(fn3(tan(z)))>p6-1.04 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="199" if real(fn3(trunc(z)))+imag(fn3(acos(z)))>p6+0.624 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="200" if real(fn3(trunc(z)))+imag(fn3(asinh(z)))>p6+0.624 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="201" if real(fn3(trunc(z)))+imag(fn3(round(z)))>p6-2.621 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="202" if real(fn3(trunc(z)))+imag(fn3(trunc(z)))>p6+4.367 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="203" if real(fn3(trunc(z)))+imag(fn3(floor(z)))>p6+5.49 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="204" if real(fn3(floor(z)))+imag(fn3(abs(z)))>p6+7.113 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="205" if real(fn3(floor(z)))+imag(fn3(cotan(z)))>p6+0.374 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="206" if real(fn3(floor(z)))+imag(fn3(tan(z)))>p6-1.124 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="207" if real(fn3(floor(z)))+imag(fn3(asinh(z)))>p6-2.288 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="208" if real(fn3(floor(z)))+imag(fn3(asin(z)))>p6-0.5 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="209" if real(fn3(ceil(z)))+imag(fn3(log(z)))>p6-2.954 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="210" if real(fn3(ceil(z)))+imag(fn3(atanh(z)))>p6-0.416 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="211" if real(fn3(ceil(z)))+imag(fn3(asinh(z)))>p6-0.708 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="212" if real(fn3(ceil(z)))+imag(fn3(asin(z)))>p6+1.289 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="213" if real(fn3(recip(z)))+imag(fn3(flip(z)))>p6-1.498 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="214" if real(fn3(recip(z)))+imag(fn3(exp(z)))>p6+0.02 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="215" if real(fn3(recip(z)))+imag(fn3(atan(z)))>p6+0.197 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="216" if real(fn3(recip(z)))+imag(fn3(cosh(z)))>p6+1.403 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="217" if real(fn3(recip(z)))+imag(fn3(sinh(z)))>p6+1.403 z=(z-@p1)*a else z=(z+@p2)*b endif elseif @V=="218" if real(fn3(recip(z)))+imag(fn3(recip(z)))>p6-0.177 z=(z-@p1)*a else z=(z+@p2)*b endif endif bailout: |z|<@bail default: title="IFB 67" center=(0.001,0.001) method=multipass periodicity=0 param V caption="Variant" default=0 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""79""80"\ "81""82""83""84""85""86""87""88""89""90"\ "91""92""93""94""95""96""97""98""99""100"\ "101""102""103""104""105""106""107""108""109""110"\ "111""112""113""114""115""116""117""118""119""120"\ "121""122""123""124""125""126""127""128""129""130"\ "131""132""133""134""135""136""137""138""139""140"\ "141""142""143""144""145""146""147""148""149""150"\ "151""152""153""154""155""156""157""158""159""160"\ "161""162""163""164""165""166""167""168""169""170"\ "171""172""173""174""175""176""177""178""179""180"\ "181""182""183""184""185""186""187""188""189""190"\ "191""192""193""194""195""196""197""198""199""200"\ "201""202""203""204""205""206""207""208""209""210"\ "211""212""213""214""215""216""217""218" endparam param p5 caption="IFB Parameter 1" default=(0.495,1.168) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(1.01,0.55) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } IFB68 { init: z=fn4(pixel) if @V=="1" a=fn1(cotanh(p5)) b=fn2(conj(sqrt(p5))) elseif @V=="2" a=fn1(cotanh(p5)) b=fn2(flip(abs(p5))) elseif @V=="3" a=fn1(cotanh(p5)) b=fn2(flip(cotanh(p5))) elseif @V=="4" a=fn1(cotanh(p5)) b=fn2(log(exp(p5))) elseif @V=="5" a=fn1(cotanh(p5)) b=fn2(cos(ceil(p5))) elseif @V=="6" a=fn1(cotanh(p5)) b=fn2(log(log(p5))) elseif @V=="7" a=fn1(cotanh(p5)) b=fn2(exp(log(p5))) elseif @V=="8" a=fn1(cotanh(p5)) b=fn2(round(floor(p5))) elseif @V=="9" a=fn1(cotanh(p5)) b=fn2(round(cotan(p5))) elseif @V=="10" a=fn1(cotanh(p5)) b=fn2(recip(cotanh(p5))) elseif @V=="11" a=fn1(cotanh(p5)) b=fn2(recip(atan(p5))) elseif @V=="12" a=fn1(cotanh(p5)) b=fn2(recip(acosh(p5))) elseif @V=="13" a=fn1(cotanh(p5)) b=fn2(recip(cos(p5))) elseif @V=="14" a=fn1(cotanh(p5)) b=fn2(flip(acos(p5))) elseif @V=="15" a=fn1(cotanh(p5)) b=fn2(flip(cotan(p5))) elseif @V=="16" a=fn1(cotanh(p5)) b=fn2(flip(sqrt(p5))) elseif @V=="17" a=fn1(cotanh(p5)) b=fn2(conj(atan(p5))) elseif @V=="18" a=fn1(cotanh(p5)) b=fn2(tan(abs(p5))) elseif @V=="19" a=fn1(cotanh(p5)) b=fn2(conj(acosh(p5))) elseif @V=="20" a=fn1(cotanh(p5)) b=fn2(cabs(round(p5))) elseif @V=="21" a=fn1(cotanh(p5)) b=fn2(cosh(acos(p5))) elseif @V=="22" a=fn1(cotanh(p5)) b=fn2(cabs(atanh(p5))) elseif @V=="23" a=fn1(cotanh(p5)) b=fn2(acos(conj(p5))) elseif @V=="24" a=fn1(cotanh(p5)) b=fn2(acos(acos(p5))) elseif @V=="25" a=fn1(cotanh(p5)) b=fn2(log(cos(p5))) elseif @V=="26" a=fn1(cotanh(p5)) b=fn2(log(acos(p5))) elseif @V=="27" a=fn1(cotanh(p5)) b=fn2(log(cotan(p5))) elseif @V=="28" a=fn1(cotanh(p5)) b=fn2(cotan(tan(p5))) elseif @V=="29" a=fn1(cotanh(p5)) b=fn2(acos(cos(p5))) elseif @V=="30" a=fn1(cotanh(p5)) b=fn2(cotan(sqr(p5))) elseif @V=="31" a=fn1(cotanh(p5)) b=fn2(acos(asinh(p5))) elseif @V=="32" a=fn1(cotanh(p5)) b=fn2(atanh(atan(p5))) elseif @V=="33" a=fn1(cotanh(p5)) b=fn2(atan(sin(p5))) elseif @V=="34" a=fn1(conj(p5)) b=fn2(sqrt(cotanh(p5))) elseif @V=="35" a=fn1(conj(p5)) b=fn2(sqrt(tanh(p5))) elseif @V=="36" a=fn1(conj(p5)) b=fn2(log(acos(p5))) elseif @V=="37" a=fn1(conj(p5)) b=fn2(log(cos(p5))) elseif @V=="38" a=fn1(conj(p5)) b=fn2(cabs(recip(p5))) elseif @V=="39" a=fn1(conj(p5)) b=fn2(cotan(sinh(p5))) elseif @V=="40" a=fn1(conj(p5)) b=fn2(atanh(tan(p5))) elseif @V=="41" a=fn1(conj(p5)) b=fn2(tan(exp(p5))) elseif @V=="42" a=fn1(conj(p5)) b=fn2(acos(recip(p5))) elseif @V=="43" a=fn1(conj(p5)) b=fn2(sin(cos(p5))) elseif @V=="44" a=fn1(conj(p5)) b=fn2(atan(sqrt(p5))) elseif @V=="45" a=fn1(conj(p5)) b=fn2(atan(cotanh(p5))) elseif @V=="46" a=fn1(cotanh(p5)) b=fn2(flip(cos(p5))) elseif @V=="47" a=fn1(cabs(p5)) b=fn2(flip(cos(p5))) elseif @V=="48" a=fn1(cabs(p5)) b=fn2(flip(asinh(p5))) elseif @V=="49" a=fn1(cabs(p5)) b=fn2(flip(cotanh(p5))) elseif @V=="50" a=fn1(cabs(p5)) b=fn2(asinh(floor(p5))) elseif @V=="51" a=fn1(cabs(p5)) b=fn2(acos(recip(p5))) elseif @V=="52" a=fn1(cabs(p5)) b=fn2(conj(sqrt(p5))) elseif @V=="53" a=fn1(cabs(p5)) b=fn2(log(acos(p5))) elseif @V=="54" a=fn1(cabs(p5)) b=fn2(sqrt(asin(p5))) elseif @V=="55" a=fn1(cabs(p5)) b=fn2(sqrt(acos(p5))) elseif @V=="56" a=fn1(cabs(p5)) b=fn2(sqrt(atanh(p5))) elseif @V=="57" a=fn1(cabs(p5)) b=fn2(cotan(flip(p5))) elseif @V=="58" a=fn1(cabs(p5)) b=fn2(flip(recip(p5))) elseif @V=="59" a=fn1(cabs(p5)) b=fn2(flip(cotan(p5))) elseif @V=="60" a=fn1(cabs(p5)) b=fn2(conj(floor(p5))) elseif @V=="61" a=fn1(cabs(p5)) b=fn2(cosh(atanh(p5))) elseif @V=="62" a=fn1(cabs(p5)) b=fn2(acos(conj(p5))) elseif @V=="63" a=fn1(cabs(p5)) b=fn2(acosh(sqrt(p5))) elseif @V=="64" a=fn1(cabs(p5)) b=fn2(cabs(recip(p5))) elseif @V=="65" a=fn1(cabs(p5)) b=fn2(abs(recip(p5))) elseif @V=="66" a=fn1(cabs(p5)) b=fn2(atan(log(p5))) elseif @V=="67" a=fn1(cabs(p5)) b=fn2(abs(cotan(p5))) elseif @V=="68" a=fn1(cabs(p5)) b=fn2(log(cosh(p5))) elseif @V=="69" a=fn1(cabs(p5)) b=fn2(log(cos(p5))) elseif @V=="70" a=fn1(cabs(p5)) b=fn2(sqr(tanh(p5))) elseif @V=="71" a=fn1(cabs(p5)) b=fn2(cotan(round(p5))) elseif @V=="72" a=fn1(cabs(p5)) b=fn2(cotan(ceil(p5))) elseif @V=="73" a=fn1(cabs(p5)) b=fn2(cotan(exp(p5))) elseif @V=="74" a=fn1(cabs(p5)) b=fn2(atan(conj(p5))) elseif @V=="75" a=fn1(cabs(p5)) b=fn2(atanh(recip(p5))) elseif @V=="76" a=fn1(abs(p5)) b=fn2(round(trunc(p5))) elseif @V=="77" a=fn1(abs(p5)) b=fn2(round(cotan(p5))) elseif @V=="78" a=fn1(abs(p5)) b=fn2(recip(atanh(p5))) elseif @V=="79" a=fn1(abs(p5)) b=fn2(log(tan(p5))) elseif @V=="80" a=fn1(abs(p5)) b=fn2(sqrt(sinh(p5))) elseif @V=="81" a=fn1(abs(p5)) b=fn2(sqrt(acos(p5))) elseif @V=="82" a=fn1(abs(p5)) b=fn2(recip(cabs(p5))) elseif @V=="83" a=fn1(abs(p5)) b=fn2(recip(sqrt(p5))) elseif @V=="84" a=fn1(abs(p5)) b=fn2(flip(atanh(p5))) elseif @V=="85" a=fn1(abs(p5)) b=fn2(flip(cos(p5))) elseif @V=="86" a=fn1(abs(p5)) b=fn2(conj(cos(p5))) elseif @V=="87" a=fn1(abs(p5)) b=fn2(conj(cotan(p5))) elseif @V=="88" a=fn1(abs(p5)) b=fn2(acos(recip(p5))) elseif @V=="89" a=fn1(abs(p5)) b=fn2(log(round(p5))) elseif @V=="90" a=fn1(abs(p5)) b=fn2(log(cosh(p5))) elseif @V=="91" a=fn1(abs(p5)) b=fn2(log(cos(p5))) elseif @V=="92" a=fn1(abs(p5)) b=fn2(log(asin(p5))) elseif @V=="93" a=fn1(abs(p5)) b=fn2(cotan(acosh(p5))) elseif @V=="94" a=fn1(exp(p5)) b=fn2(log(round(p5))) elseif @V=="95" a=fn1(exp(p5)) b=fn2(flip(recip(p5))) elseif @V=="96" a=fn1(exp(p5)) b=fn2(conj(cotan(p5))) elseif @V=="97" a=fn1(log(p5)) b=fn2(sin(exp(p5))) elseif @V=="98" a=fn1(log(p5)) b=fn2(ceil(cotanh(p5))) elseif @V=="99" a=fn1(log(p5)) b=fn2(cabs(ceil(p5))) elseif @V=="100" a=fn1(log(p5)) b=fn2(cabs(exp(p5))) elseif @V=="101" a=fn1(log(p5)) b=fn2(exp(ceil(p5))) elseif @V=="102" a=fn1(log(p5)) b=fn2(exp(recip(p5))) elseif @V=="103" a=fn1(log(p5)) b=fn2(exp(exp(p5))) elseif @V=="104" a=fn1(log(p5)) b=fn2(sqr(cosh(p5))) elseif @V=="105" a=fn1(sqrt(p5)) b=fn2(asinh(acos(p5))) elseif @V=="106" a=fn1(sqrt(p5)) b=fn2(cos(ceil(p5))) elseif @V=="107" a=fn1(sqrt(p5)) b=fn2(recip(conj(p5))) elseif @V=="108" a=fn1(sqrt(p5)) b=fn2(recip(acos(p5))) elseif @V=="109" a=fn1(sqrt(p5)) b=fn2(recip(asinh(p5))) elseif @V=="110" a=fn1(sqrt(p5)) b=fn2(abs(sqrt(p5))) elseif @V=="111" a=fn1(sqrt(p5)) b=fn2(abs(tanh(p5))) elseif @V=="112" a=fn1(sqrt(p5)) b=fn2(log(ceil(p5))) elseif @V=="113" a=fn1(sqrt(p5)) b=fn2(log(acos(p5))) elseif @V=="114" a=fn1(sqrt(p5)) b=fn2(log(cosh(p5))) elseif @V=="115" a=fn1(sqrt(p5)) b=fn2(sqr(tanh(p5))) elseif @V=="116" a=fn1(sqrt(p5)) b=fn2(cosh(acos(p5))) elseif @V=="117" a=fn1(sqrt(p5)) b=fn2(cotan(round(p5))) elseif @V=="118" a=fn1(sqrt(p5)) b=fn2(cotan(flip(p5))) elseif @V=="119" a=fn1(sqrt(p5)) b=fn2(cotan(exp(p5))) elseif @V=="120" a=fn1(sqrt(p5)) b=fn2(cotan(sqr(p5))) elseif @V=="121" a=fn1(sqrt(p5)) b=fn2(atanh(acos(p5))) elseif @V=="122" a=fn1(sqrt(p5)) b=fn2(cosh(cos(p5))) elseif @V=="123" a=fn1(sqrt(p5)) b=fn2(atan(asinh(p5))) elseif @V=="124" a=fn1(sqrt(p5)) b=fn2(acosh(sin(p5))) elseif @V=="125" a=fn1(sqrt(p5)) b=fn2(acosh(asinh(p5))) elseif @V=="126" a=fn1(sqrt(p5)) b=fn2(acos(cos(p5))) elseif @V=="127" a=fn1(sqrt(p5)) b=fn2(acos(asinh(p5))) elseif @V=="128" a=fn1(sqr(p5)) b=fn2(cotan(ceil(p5))) elseif @V=="129" a=fn1(sqr(p5)) b=fn2(recip(conj(p5))) elseif @V=="130" a=fn1(sqr(p5)) b=fn2(flip(recip(p5))) elseif @V=="131" a=fn1(sqr(p5)) b=fn2(conj(cos(p5))) elseif @V=="132" a=fn1(sqr(p5)) b=fn2(conj(cotan(p5))) elseif @V=="133" a=fn1(sqr(p5)) b=fn2(sqr(cos(p5))) elseif @V=="134" a=fn1(sqr(p5)) b=fn2(log(sinh(p5))) elseif @V=="135" a=fn1(atanh(p5)) b=fn2(round(floor(p5))) elseif @V=="136" a=fn1(atanh(p5)) b=fn2(round(log(p5))) elseif @V=="137" a=fn1(atanh(p5)) b=fn2(round(cotan(p5))) elseif @V=="138" a=fn1(atanh(p5)) b=fn2(flip(atan(p5))) elseif @V=="139" a=fn1(atanh(p5)) b=fn2(flip(acos(p5))) elseif @V=="140" a=fn1(atanh(p5)) b=fn2(flip(sin(p5))) elseif @V=="141" a=fn1(atanh(p5)) b=fn2(conj(cotan(p5))) elseif @V=="142" a=fn1(atanh(p5)) b=fn2(acos(conj(p5))) elseif @V=="143" a=fn1(atanh(p5)) b=fn2(log(atanh(p5))) elseif @V=="144" a=fn1(atanh(p5)) b=fn2(cabs(cos(p5))) elseif @V=="145" a=fn1(atanh(p5)) b=fn2(abs(acosh(p5))) elseif @V=="146" a=fn1(atanh(p5)) b=fn2(log(sinh(p5))) elseif @V=="147" a=fn1(atanh(p5)) b=fn2(log(asin(p5))) elseif @V=="148" a=fn1(atanh(p5)) b=fn2(log(cos(p5))) elseif @V=="149" a=fn1(atanh(p5)) b=fn2(log(acos(p5))) elseif @V=="150" a=fn1(atanh(p5)) b=fn2(sqrt(cotan(p5))) elseif @V=="151" a=fn1(atanh(p5)) b=fn2(cotan(asin(p5))) elseif @V=="152" a=fn1(atanh(p5)) b=fn2(cotan(acosh(p5))) elseif @V=="153" a=fn1(atanh(p5)) b=fn2(cotan(tanh(p5))) elseif @V=="154" a=fn1(atanh(p5)) b=fn2(cosh(acos(p5))) elseif @V=="155" a=fn1(atanh(p5)) b=fn2(acos(acosh(p5))) elseif @V=="156" a=fn1(atanh(p5)) b=fn2(atanh(recip(p5))) elseif @V=="157" a=fn1(atanh(p5)) b=fn2(atan(acos(p5))) elseif @V=="158" a=fn1(atanh(p5)) b=fn2(acosh(recip(p5))) elseif @V=="159" a=fn1(atanh(p5)) b=fn2(acosh(conj(p5))) elseif @V=="160" a=fn1(atan(p5)) b=fn2(round(floor(p5))) elseif @V=="161" a=fn1(atan(p5)) b=fn2(round(log(p5))) elseif @V=="162" a=fn1(atan(p5)) b=fn2(round(cotan(p5))) elseif @V=="163" a=fn1(atan(p5)) b=fn2(ceil(cotanh(p5))) elseif @V=="164" a=fn1(atan(p5)) b=fn2(recip(conj(p5))) elseif @V=="165" a=fn1(atan(p5)) b=fn2(flip(recip(p5))) elseif @V=="166" a=fn1(atan(p5)) b=fn2(conj(cotan(p5))) elseif @V=="167" a=fn1(atan(p5)) b=fn2(conj(atanh(p5))) elseif @V=="168" a=fn1(atan(p5)) b=fn2(round(cos(p5))) elseif @V=="169" a=fn1(atan(p5)) b=fn2(log(ceil(p5))) elseif @V=="170" a=fn1(atan(p5)) b=fn2(log(atanh(p5))) elseif @V=="171" a=fn1(atan(p5)) b=fn2(log(acos(p5))) elseif @V=="172" a=fn1(atan(p5)) b=fn2(sqr(tanh(p5))) elseif @V=="173" a=fn1(atan(p5)) b=fn2(sqr(acosh(p5))) elseif @V=="174" a=fn1(atan(p5)) b=fn2(sqr(acos(p5))) elseif @V=="175" a=fn1(atan(p5)) b=fn2(cotanh(acos(p5))) elseif @V=="176" a=fn1(atan(p5)) b=fn2(cotan(flip(p5))) elseif @V=="177" a=fn1(atan(p5)) b=fn2(atan(acos(p5))) elseif @V=="178" a=fn1(atan(p5)) b=fn2(acosh(asinh(p5))) elseif @V=="179" a=fn1(atan(p5)) b=fn2(round(asin(p5))) elseif @V=="180" a=fn1(atan(p5)) b=fn2(acos(recip(p5))) elseif @V=="181" a=fn1(atan(p5)) b=fn2(acos(conj(p5))) elseif @V=="182" a=fn1(atan(p5)) b=fn2(acos(asinh(p5))) elseif @V=="183" a=fn1(atan(p5)) b=fn2(asinh(acos(p5))) elseif @V=="184" a=fn1(atan(p5)) b=fn2(sinh(acos(p5))) elseif @V=="185" a=fn1(tan(p5)) b=fn2(recip(sin(p5))) elseif @V=="186" a=fn1(tanh(p5)) b=fn2(flip(tanh(p5))) elseif @V=="187" a=fn1(tanh(p5)) b=fn2(log(round(p5))) elseif @V=="188" a=fn1(tanh(p5)) b=fn2(log(cos(p5))) elseif @V=="189" a=fn1(tanh(p5)) b=fn2(sqr(acosh(p5))) elseif @V=="190" a=fn1(tanh(p5)) b=fn2(acos(log(p5))) elseif @V=="191" a=fn1(tan(p5)) b=fn2(flip(cotan(p5))) elseif @V=="192" a=fn1(tan(p5)) b=fn2(cabs(cos(p5))) elseif @V=="193" a=fn1(tan(p5)) b=fn2(log(round(p5))) elseif @V=="194" a=fn1(tan(p5)) b=fn2(sqr(cotanh(p5))) elseif @V=="195" a=fn1(tan(p5)) b=fn2(acos(recip(p5))) elseif @V=="196" a=fn1(tan(p5)) b=fn2(cosh(atanh(p5))) elseif @V=="197" a=fn1(acosh(p5)) b=fn2(round(cotan(p5))) elseif @V=="198" a=fn1(acosh(p5)) b=fn2(ceil(floor(p5))) elseif @V=="199" a=fn1(acosh(p5)) b=fn2(recip(cos(p5))) elseif @V=="200" a=fn1(acosh(p5)) b=fn2(flip(cos(p5))) elseif @V=="201" a=fn1(acosh(p5)) b=fn2(flip(acos(p5))) elseif @V=="202" a=fn1(acosh(p5)) b=fn2(abs(cos(p5))) elseif @V=="203" a=fn1(acosh(p5)) b=fn2(log(round(p5))) elseif @V=="204" a=fn1(acosh(p5)) b=fn2(log(log(p5))) elseif @V=="205" a=fn1(acosh(p5)) b=fn2(log(cotan(p5))) elseif @V=="206" a=fn1(acosh(p5)) b=fn2(log(acos(p5))) elseif @V=="207" a=fn1(acosh(p5)) b=fn2(sqrt(acos(p5))) elseif @V=="208" a=fn1(acosh(p5)) b=fn2(sqr(acos(p5))) elseif @V=="209" a=fn1(acosh(p5)) b=fn2(sinh(cotanh(p5))) elseif @V=="210" a=fn1(acosh(p5)) b=fn2(cos(ceil(p5))) elseif @V=="211" a=fn1(acosh(p5)) b=fn2(cotan(flip(p5))) elseif @V=="212" a=fn1(acosh(p5)) b=fn2(acosh(recip(p5))) elseif @V=="213" a=fn1(acosh(p5)) b=fn2(acosh(asinh(p5))) elseif @V=="214" a=fn1(acosh(p5)) b=fn2(acos(asinh(p5))) elseif @V=="215" a=fn1(acos(p5)) b=fn2(round(log(p5))) elseif @V=="216" a=fn1(acos(p5)) b=fn2(recip(conj(p5))) elseif @V=="217" a=fn1(acos(p5)) b=fn2(recip(cabs(p5))) elseif @V=="218" a=fn1(acos(p5)) b=fn2(recip(acos(p5))) elseif @V=="219" a=fn1(acos(p5)) b=fn2(flip(cos(p5))) elseif @V=="220" a=fn1(acos(p5)) b=fn2(flip(tanh(p5))) elseif @V=="221" a=fn1(acos(p5)) b=fn2(flip(log(p5))) elseif @V=="222" a=fn1(acos(p5)) b=fn2(conj(cotan(p5))) elseif @V=="223" a=fn1(acos(p5)) b=fn2(round(trunc(p5))) elseif @V=="224" a=fn1(acos(p5)) b=fn2(log(cos(p5))) elseif @V=="225" a=fn1(acos(p5)) b=fn2(acosh(asinh(p5))) elseif @V=="226" a=fn1(acos(p5)) b=fn2(tan(round(p5))) elseif @V=="227" a=fn1(cosh(p5)) b=fn2(log(cos(p5))) elseif @V=="228" a=fn1(cosh(p5)) b=fn2(flip(recip(p5))) elseif @V=="229" a=fn1(cosh(p5)) b=fn2(flip(cos(p5))) elseif @V=="230" a=fn1(cosh(p5)) b=fn2(acos(recip(p5))) elseif @V=="231" a=fn1(cos(p5)) b=fn2(flip(sin(p5))) elseif @V=="232" a=fn1(asinh(p5)) b=fn2(acos(recip(p5))) elseif @V=="233" a=fn1(asinh(p5)) b=fn2(sqrt(acos(p5))) elseif @V=="234" a=fn1(asinh(p5)) b=fn2(log(cotan(p5))) elseif @V=="235" a=fn1(asinh(p5)) b=fn2(log(acos(p5))) elseif @V=="236" a=fn1(asinh(p5)) b=fn2(sqr(acos(p5))) elseif @V=="237" a=fn1(round(p5)) b=fn2(flip(acos(p5))) elseif @V=="238" a=fn1(floor(p5)) b=fn2(ceil(cotanh(p5))) elseif @V=="239" a=fn1(floor(p5)) b=fn2(sqr(acos(p5))) elseif @V=="240" a=fn1(ceil(p5)) b=fn2(trunc(tan(p5))) else a=fn1(recip(p5)) b=fn2(sqrt(ceil(p5))) endif int i=0 loop: while i<@iter i=i+1 z=p3*flip(z)+p4 if real(fn3(z))>p6 z=(z-@p1)*a else z=(z+@p2)*b endif endwhile z=z*@adj bailout: |z|<@bail default: title="IFB 68" center=(0.001,0.001) method=multipass magn=0.5 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""79""80"\ "81""82""83""84""85""86""87""88""89""90"\ "91""92""93""94""95""96""97""98""99""100"\ "101""102""103""104""105""106""107""108""109""110"\ "111""112""113""114""115""116""117""118""119""120"\ "121""122""123""124""125""126""127""128""129""130"\ "131""132""133""134""135""136""137""138""139""140"\ "141""142""143""144""145""146""147""148""149""150"\ "151""152""153""154""155""156""157""158""159""160"\ "161""162""163""164""165""166""167""168""169""170"\ "171""172""173""174""175""176""177""178""179""180"\ "181""182""183""184""185""186""187""188""189""190"\ "191""192""193""194""195""196""197""198""199""200"\ "201""202""203""204""205""206""207""208""209""210"\ "211""212""213""214""215""216""217""218""219""220"\ "221""222""223""224""225""226""227""228""229""230"\ "231""232""233""234""235""236""237""238""239""240"\ "241" endparam param p5 caption="IFB Parameter 1" default=(1.129,0.653) endparam param p1 caption="IFB Parameter 2" default=(1,0) endparam param p2 caption="IFB Parameter 3" default=(1,0) endparam param p6 caption="IFB Parameter 4" default=0.0 endparam param p3 caption="Z Parameter 1" default=(1.01,0.55) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn4 caption="Start Function" default=ident() endfunc func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=ident() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc param iter caption="Iterations" default=21 endparam param adj caption="Adjustment" default=1.046 endparam param bail caption="Bailout" default=1000.0 endparam } Ganthrale2 { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(tan(pixel)^4-1i)/(4*tan(pixel)^3) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel-2.2*(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @s=="29" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @s=="30" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @s=="31" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @s=="32" z=sqr(pixel)*(sinh(pixel)+1)/(1i+sinh(pixel)) elseif @s=="33" z=pixel+pixel^2+pixel^3 elseif @s=="34" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @s=="35" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @s=="36" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @s=="37" z=pixel-(cotan(pixel)^4-1i)/(4*cotan(pixel)^3) elseif @s=="38" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @s=="39" z=pixel-(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @s=="40" z=pixel-4.6*(pixel^4-1i)/(4*pixel^3) elseif @s=="41" z=pixel-4.6*(tan(pixel)^4-1i)/(4*tan(pixel)^3) endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=z+p3/z z=(tan(fn3(1i)*z+p2)^fn4(1/3)*z)+p1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Ganthrale 2" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Ganthrale Parameter 1" default=(-0.10351,-0.28547) endparam param p2 caption="Ganthrale Parameter 2" default=(0,0) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam func fn3 caption="Ganthrale Function 1" default=ident() endfunc func fn4 caption="Ganthrale Function 2" default=ident() endfunc func fn2 caption="Z Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p3 caption="Add Recip Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } Ganthrale3 { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(tan(pixel)^4-1i)/(4*tan(pixel)^3) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel-2.2*(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @s=="29" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @s=="30" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @s=="31" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @s=="32" z=sqr(pixel)*(sinh(pixel)+1)/(1i+sinh(pixel)) elseif @s=="33" z=pixel+pixel^2+pixel^3 elseif @s=="34" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @s=="35" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @s=="36" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @s=="37" z=pixel-(cotan(pixel)^4-1i)/(4*cotan(pixel)^3) elseif @s=="38" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @s=="39" z=pixel-(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @s=="40" z=pixel-4.6*(pixel^4-1i)/(4*pixel^3) elseif @s=="41" z=pixel-4.6*(tan(pixel)^4-1i)/(4*tan(pixel)^3) endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=z+p3/z z=(cos(fn3(1i)*z+p2)^fn4(1/3)*z)+p1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Ganthrale 3" center=(0.001,0.001) 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Ganthrale Parameter 1" default=(0.2,0.15) endparam param p2 caption="Ganthrale Parameter 2" default=(-1.31961,-0.14516) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam func fn3 caption="Ganthrale Function 1" default=ident() endfunc func fn4 caption="Ganthrale Function 2" default=ident() endfunc func fn2 caption="Z Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p3 caption="Add Recip Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Ganthrale4 { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(tan(pixel)^4-1i)/(4*tan(pixel)^3) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel-2.2*(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @s=="29" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @s=="30" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @s=="31" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @s=="32" z=sqr(pixel)*(sinh(pixel)+1)/(1i+sinh(pixel)) elseif @s=="33" z=pixel+pixel^2+pixel^3 elseif @s=="34" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @s=="35" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @s=="36" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @s=="37" z=pixel-(cotan(pixel)^4-1i)/(4*cotan(pixel)^3) elseif @s=="38" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @s=="39" z=pixel-(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @s=="40" z=pixel-4.6*(pixel^4-1i)/(4*pixel^3) elseif @s=="41" z=pixel-4.6*(tan(pixel)^4-1i)/(4*tan(pixel)^3) endif z=fn1(z) loop: zold=z z=@p8*z+@p9 if @M=="1" z=z elseif @M=="2" z=z-0.9*log(z) elseif @M=="3" z=z-0.5573*sqrt(z) elseif @M=="4" z=z-0.309*atan(z) elseif @M=="5" z=z-0.331*tan(z) elseif @M=="6" z=z+0.867*cos(z) elseif @M=="7" z=z+0.4343/log(z) elseif @M=="8" z=sin(z) endif z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=z+p3/z z=((@fn15(1i)*z+p2)^(1/4)*z*log(z))+p1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Ganthrale 4" center=(0.751,0.001) magn=1.5 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Ganthrale Parameter 1" default=(0.2,0.15) endparam param p2 caption="Ganthrale Parameter 2" default=(0,0) endparam func fn15 caption="Ganthrale Function" default=ident() endfunc param p8 caption="Loop Parameter 1" default=(1,0) endparam param p9 caption="Loop Parameter 2" default=(0,0) endparam param M caption="Modification" enum="1""2""3""4""5""6""7""8" endparam param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p3 caption="Add Recip Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } Ganthrale5 { init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(tan(pixel)^4-1i)/(4*tan(pixel)^3) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel-2.2*(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @s=="29" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @s=="30" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @s=="31" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @s=="32" z=sqr(pixel)*(sinh(pixel)+1)/(1i+sinh(pixel)) elseif @s=="33" z=pixel+pixel^2+pixel^3 elseif @s=="34" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @s=="35" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @s=="36" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @s=="37" z=pixel-(cotan(pixel)^4-1i)/(4*cotan(pixel)^3) elseif @s=="38" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @s=="39" z=pixel-(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @s=="40" z=pixel-4.6*(pixel^4-1i)/(4*pixel^3) elseif @s=="41" z=pixel-4.6*(tan(pixel)^4-1i)/(4*tan(pixel)^3) endif z=fn1(z) loop: zold=z z=@p8*fn2(z)+@p9 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+p5*z*(1-z) z=z+p3/z if @V=="1" z=sqrt(sqrt(1i*z+p2))*sqrt(1i*z+p2)*z+p1 elseif @V=="2" z=sqrt(sqrt(1i*z+p2+(0.2,-0.09)))*log(sqrt(1i*z+p2+(0.2,-0.09)))*z+p1 elseif @V=="3" z=sqrt(sqrt(1i*z+p2+(0.52,-0.14)))*sqrt(sqrt(1i*z+p2+(0.52,-0.14)))*z+p1 elseif @V=="4" z=sqrt(sqrt(1i*z+p2+(-4,0.2)))*cotanh(sqrt(1i*z+p2+(-4,0.2)))*z+p1 elseif @V=="5" z=sqrt(sqrt(1i*z+p2+(-0.106,-1.215)))*cotan(sqrt(1i*z+p2+(-0.106,-1.215)))*z+p1 elseif @V=="6" z=sqrt(sqrt(1i*z+p2))*atanh(sqrt(1i*z+p2))*z+p1 elseif @V=="7" z=sqrt(sqrt(1i*z+p2+(-0.092,0.182)))*atan(sqrt(1i*z+p2+(-0.092,0.182)))*z+p1 elseif @V=="8" z=sqrt(sqrt(1i*z+p2))*tanh(sqrt(1i*z+p2))*z+p1 elseif @V=="9" z=sqrt(sqrt(1i*z+p2+(-0.495,-0.017)))*tan(sqrt(1i*z+p2+(-0.495,-0.017)))*z+p1 elseif @V=="10" z=sqrt(sqrt(1i*z+p2+(1.479,-0.317)))*acosh(sqrt(1i*z+p2+(1.479,-0.317)))*z+p1 elseif @V=="11" z=sqrt(sqrt(1i*z+p2+(0.29,-0.581)))*acos(sqrt(1i*z+p2+(0.29,-0.581)))*z+p1 elseif @V=="12" z=sqrt(sqrt(1i*z+p2+(1.901,0.29)))*cosh(sqrt(1i*z+p2+(1.901,0.29)))*z+p1 elseif @V=="13" z=sqrt(sqrt(1i*z+p2+(0.079,-0.185)))*asinh(sqrt(1i*z+p2+(0.079,-0.185)))*z+p1 elseif @V=="14" z=sqrt(sqrt(1i*z+p2+(0.3697,0.687)))*round(sqrt(1i*z+p2+(0.3697,0.687)))*z+p1 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Ganthrale 5" 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" endparam 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" endparam func fn1 caption="Start Function" default=ident() endfunc param p1 caption="Ganthrale Parameter 1" default=(0.25,0.35) endparam param p2 caption="Ganthrale Parameter 2" default=(0,0) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam func fn2 caption="Z Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(0,0) endparam param p3 caption="Add Recip Parameter" 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 bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==1 endparam } GharmobTelnBoam { init: z=fn1(pixel) int i=0 loop: if @V=="1" while i<@iter i=i+1 z=p5*fn2(z)+p6 z=fn4(sqrt(1i*z+@p7))*z z=(fn3(((1i+p1)*z+1i*p1+1)/((-1i+p1)*z-1i*p1+1)))^@pow*p2+p3 endwhile z=p4*z/100 else z=p5*fn2(z)+p6 z=fn4(sqrt(1i*z+@p7))*z z=(fn3(((1i+p1)*z+1i*p1+1)/((-1i+p1)*z-1i*p1+1)))^@pow*p2+p3 endif bailout: |z|<@bail default: title="Gharmob Teln Boam" center=(0.001,0.001) maxiter=250 periodicity=0 param V caption="Version" enum="1""2" endparam param p5 caption="Z Parameter 1" default=(1,0) endparam param p6 caption="Z Parameter 2" default=(0,0) endparam param p2 caption="GTB Parameter 1" default=(1,1) endparam param p3 caption="GTB Parameter 2" default=(1,0) endparam param p1 caption="GTB Parameter 3" default=(0.5,1) endparam param p7 caption="GTB Parameter 4" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function" default=ident() endfunc func fn3 caption="GTB Function 1" default=ident() endfunc func fn4 caption="GTB Function 2" default=ident() endfunc param iter caption="Iterations" default=11 visible=@V=="1" endparam param pow caption="Exponent" default=(1,0) endparam param p4 caption="Adjustment" default=102.0 visible=@V=="1" endparam param bail caption="Bailout" default=4.0 endparam } IFB69 { init: z=fn1(pixel) int i=0 loop: if @V=="1" z=p6*z+@p7 x=cos(@p26)*real(z)-sqrt(@p26)*imag(z) y=sqrt(@p26)*real(z)+cos(@p26)*imag(z) z=x+flip(y) float a=real(cotan(acosh(z))) if ap4 || ap5 z=z*fn2(sqrt(p1))+p3 endif else while i<@iter i=i+1 z=p6*z+@p7 if @Va=="1" float a=real(z) elseif @Va=="2" float a=real(exp(z))-0.671 elseif @Va=="3" float a=real(cotanh(z))+0.322 elseif @Va=="4" float a=real(atan(z))+0.588 elseif @Va=="5" float a=real(tanh(z))+0.444 elseif @Va=="6" float a=real(acos(z)) elseif @Va=="7" float a=real(sin(z))-0.888 elseif @Va=="8" float a=real(recip(z))-0.533 elseif @Va=="9" float a=real(ceil(z)) elseif @Va=="10" float a=real(floor(z)) elseif @Va=="11" float a=imag(exp(z))-2.309 elseif @Va=="12" float a=imag(sqr(z))-1.598 elseif @Va=="13" float a=real(z)+imag(z) elseif @Va=="14" float a=real(sqr(z))+imag(sqr(z)) elseif @Va=="15" float a=real(cotanh(z))+imag(cotanh(z))-1.243 elseif @Va=="16" float a=real(atan(z))+imag(atan(z))+0.533 elseif @Va=="17" float a=real(acosh(z))+imag(acosh(z))-1.443 elseif @Va=="18" float a=real(asinh(z))+imag(asinh(z)) elseif @Va=="19" float a=real(ceil(z))+imag(ceil(z))-3.663 elseif @Va=="20" float a=real(floor(z))+imag(floor(z)) elseif @Va=="21" float a=real(z)-imag(z) elseif @Va=="22" float a=real(cotanh(z))-imag(cotanh(z))-0.355 elseif @Va=="23" float a=real(atanh(z))-imag(atanh(z)) elseif @Va=="24" float a=real(atan(z))-imag(atan(z))-0.444 elseif @Va=="25" float a=real(tanh(z))-imag(tanh(z))-0.488 elseif @Va=="26" float a=real(asinh(z))-imag(asinh(z))-0.782 elseif @Va=="27" float a=real(ceil(z))-imag(ceil(z)) elseif @Va=="28" float a=real(trunc(z))-imag(trunc(z)) else float a=real(round(z))-imag(round(z)) endif if ap4 || ap5 z=z*fn2(sqrt(p1))+p3 endif endwhile z=z*@adj endif bailout: |z|<=@bail default: title="IFB 72" center=(-0.051,-0.198) magn=1.488 angle=-41.027 periodicity=0 param V caption="Version" enum="1""2" endparam param Va 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" endparam param p1 caption="IFB Parameter a" default=(0.378,-0.542) endparam param p2 caption="IFB Parameter b1" default=(0.352,-0.443) endparam param p3 caption="IFB Parameter b2" default=(-0.04,-0.5) endparam param p4 caption="IFB Parameter c1" default=-0.5 endparam param p5 caption="IFB Parameter c2" default=0.5 endparam param p6 caption="Loop Parameter 1" default=(-1.985,-1.62) endparam param p7 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param iter caption="Iterations" visible=@V=="2" default=32 endparam param adj caption="Adjustment" default=1.139 visible=@V=="2" endparam param bail caption="Bailout" default=10000000.0 endparam } BivarIFB2 { init: z=fn1(pixel) k=fn1(pixel) loop: z=p6*z+@p7 k=@p8*k+@p9 float a=real(z) if ap4 || a*imag(p1)+real(p1)*bp4 && a*imag(p1)+real(p1)*bp4 && a*imag(p1)+real(p1)*bp4 && ap4 && ap5 z=z*fn2(p1)+@p8 endif else while i<@iter i=i+1 z=p6*z+@p7 if @Va=="1" float a=real(z) elseif @Va=="2" float a=real(exp(z))-0.671 elseif @Va=="3" float a=real(cotanh(z))+0.322 elseif @Va=="4" float a=real(atan(z))+0.588 elseif @Va=="5" float a=real(tanh(z))+0.444 elseif @Va=="6" float a=real(acos(z)) elseif @Va=="7" float a=real(sin(z))-0.888 elseif @Va=="8" float a=real(recip(z))-0.533 elseif @Va=="9" float a=real(ceil(z)) elseif @Va=="10" float a=real(floor(z)) elseif @Va=="11" float a=imag(exp(z))-2.309 elseif @Va=="12" float a=imag(sqr(z))-1.598 elseif @Va=="13" float a=real(z)+imag(z) elseif @Va=="14" float a=real(sqr(z))+imag(sqr(z)) elseif @Va=="15" float a=real(cotanh(z))+imag(cotanh(z))-1.243 elseif @Va=="16" float a=real(atan(z))+imag(atan(z))+0.533 elseif @Va=="17" float a=real(acosh(z))+imag(acosh(z))-1.443 elseif @Va=="18" float a=real(asinh(z))+imag(asinh(z)) elseif @Va=="19" float a=real(ceil(z))+imag(ceil(z))-3.663 elseif @Va=="20" float a=real(floor(z))+imag(floor(z)) elseif @Va=="21" float a=real(z)-imag(z) elseif @Va=="22" float a=real(cotanh(z))-imag(cotanh(z))-0.355 elseif @Va=="23" float a=real(atanh(z))-imag(atanh(z)) elseif @Va=="24" float a=real(atan(z))-imag(atan(z))-0.444 elseif @Va=="25" float a=real(tanh(z))-imag(tanh(z))-0.488 elseif @Va=="26" float a=real(asinh(z))-imag(asinh(z))-0.782 elseif @Va=="27" float a=real(ceil(z))-imag(ceil(z)) elseif @Va=="28" float a=real(trunc(z))-imag(trunc(z)) else float a=real(round(z))-imag(round(z)) endif if ap4 && ap5 z=z*fn2(p1)+@p8 endif endwhile z=z*@adj endif bailout: |z|<=@bail default: title="IFB 74" center=(0.001,0.001) periodicity=0 param V caption="Version" enum="1""2" endparam param Va 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" endparam param p1 caption="IFB Parameter a" default=(1.236,0.751) endparam param p2 caption="IFB Parameter b1" default=(0.196,0.694) endparam param p3 caption="IFB Parameter b2" default=(0.785,-0.432) endparam param p8 caption="IFB Parameter b3" default=(-1.099,-0.772) endparam param p4 caption="IFB Parameter c1" default=-0.5 endparam param p5 caption="IFB Parameter c2" default=0.5 endparam param p6 caption="Loop Parameter 1" default=(0.627,0.7) endparam param p7 caption="Loop Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param iter caption="Iterations" visible=@V=="2" default=32 endparam param adj caption="Adjustment" default=1.139 visible=@V=="2" endparam param bail caption="Bailout" default=10000000.0 endparam } IFB75 { init: z=fn1(pixel) loop: z=p6*z+@p7 float a=real(z) if ap4 && a+b@bailcon && @bt==0) || (|z|<@baildiv && @bt==1) default: title="Bivar Magnet" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam 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" endparam param p3 caption="Start Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p1 caption="Bivar Parameter 1" default=(0.3,0) endparam param p2 caption="Bivar Parameter 2" default=(0,0) endparam param p12 caption="Magnet Parameter" default=(-0.5,0) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="A Parameter 1" default=(1,0) endparam param p11 caption="A Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarBarnsley { init: z=fn1(pixel) k=fn1(pixel) loop: z=p5*fn2(z)+p6 k=p1*fn2(K)+p2 k=@p7*k/z+@p8 if real(fn3(z))<0 z=p3*(z+k-p4) else z=p3*(z+k+p4) endif bailout: |z|<=@bail default: title="Bivar Barnsley" center=(0.001,0.001) magn=0.5 periodicity=0 param p3 caption="Barnsley Parameter 1" default=(1,0) endparam param p4 caption="Barnsley Parameter 2" default=(-0.5,0) endparam param p5 caption="Z Parameter 1" default=(1,0) endparam param p6 caption="Z Parameter 2" default=(0,0) endparam param p1 caption="K Parameter 1" default=(1,0) endparam param p2 caption="K Parameter 2" default=(0,0) endparam param p7 caption="Bivar Parameter 1" default=(1,0) endparam param p8 caption="Bivar 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="Barnsley Function" default=ident() endfunc param bail caption="Bailout" default=4.0 endparam } BivarMunster { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+@p5 k=@p6*fn2(k)+@p7 if @bf=="ident" k=ident(k/z) elseif @bf=="sin" k=sin(k/z) elseif @bf=="sinh" k=sinh(k/z) elseif @bf=="asin" k=asin(k/z) elseif @bf=="asinh" k=asinh(k/z) elseif @bf=="versin" k=1-cos(k/z) elseif @bf=="aversin" k=acos(1-(k/z)) elseif @bf=="haversin" k=(1-cos(k/z))/2 elseif @bf=="ahaversin" k=2*asin(sqrt(k/z)) elseif @bf=="coversin" k=1-sin(k/z) elseif @bf=="acoversin" k=asin(1-(k/z)) elseif @bf=="hacoversin" k=(1-sin(k/z))/2 elseif @bf=="cos" k=cos(k/z) elseif @bf=="cosh" k=cosh(k/z) elseif @bf=="acos" k=acos(k/z) elseif @bf=="acosh" k=acosh(k/z) elseif @bf=="vercos" k=1+cos(k/z) elseif @bf=="avercos" k=acos(1+(k/z)) elseif @bf=="havercos" k=(1+cos(k/z))/2 elseif @bf=="ahavercos" k=2*acos(sqrt(k/z)) elseif @bf=="covercos" k=1+sin(k/z) elseif @bf=="acovercos" k=asin(1+(k/z)) elseif @bf=="hacovercos" k=(1+sin(k/z))/2 elseif @bf=="tan" k=tan(k/z) elseif @bf=="tanh" k=tanh(k/z) elseif @bf=="atan" k=atan(k/z) elseif @bf=="cotan" k=cotan(k/z) elseif @bf=="cotanh" k=cotanh(k/z) elseif @bf=="acotan" k=atan(1/(k/z)) elseif @bf=="sec" k=1/cos(k/z) elseif @bf=="sech" k=1/cosh(k/z) elseif @bf=="asec" k=acos(1/(k/z)) elseif @bf=="asech" k=acosh(1/(k/z)) elseif @bf=="cosec" k=1/sin(k/z) elseif @bf=="cosech" k=1/sinh(k/z) elseif @bf=="acosec" k=asin(1/(k/z)) elseif @bf=="acosech" k=asinh(1/(k/z)) elseif @bf=="exsec" k=1/cos(k/z)-1 elseif @bf=="aexsec" k= acos(1/((k/z)+1)) elseif @bf=="excosec" k=1/sin(k/z)-1 elseif @bf=="aexcosec" k=asin(1/((k/z)+1)) elseif @bf=="crd" k=2*sin((k/z)/2) elseif @bf=="acrd" k=2*asin((k/z)/2) elseif @bf=="gd" k=asin(tanh(k/z)) elseif @bf=="agd" k=asinh(tan(k/z)) elseif @bf=="sinc" k=sin(k/z)/(k/z) elseif @bf=="sinhc" k=sinh(k/z)/(k/z) elseif @bf=="cosc" k=cos(k/z)/(k/z) elseif @bf=="coshc" k=cosh(k/z)/(k/z) elseif @bf=="tanc" k=tan(k/z)/(k/z) elseif @bf=="tanhc" k=tanh(k/z)/(k/z) elseif @bf=="cotanc" k=cotan(k/z)/(k/z) elseif @bf=="cotanhc" k=cotanh(k/z)/(k/z) elseif @bf=="secc" k=1/((k/z)*cos(k/z)) elseif @bf=="sechc" k=1/((k/z)*cosh(k/z)) elseif @bf=="cosecc" k= 1/((k/z)*sin(k/z)) elseif @bf=="cosechc" k=1/((k/z)*sinh(k/z)) elseif @bf=="sqr" k=sqr(k/z) elseif @bf=="sqrt" k=sqrt(k/z) elseif @bf=="cube" k=(k/z)^3 elseif @bf=="cuberoot" k=(k/z)^(1/3) elseif @bf=="log" k=log(k/z) elseif @bf=="colog" k=-log(k/z) elseif @bf=="exp" k=exp(k/z) elseif @bf=="recip" k=recip(k/z) elseif @bf=="expit" k=1/(1+exp(-(k/z))) elseif @bf=="gauss" k=exp(-sqr(k/z)) elseif @bf=="softplus" k=log(1+exp(k/z)) elseif @bf=="primecount" k=(k/z)/log(k/z) elseif @bf=="ceil" k=ceil(k/z) elseif @bf=="floor" k=floor(k/z) elseif @bf=="trunc" k=trunc(k/z) elseif @bf=="round" k=round(k/z) endif k=@p8*k+@p9 z=z^2*(-p2+p3*z)/(p3-p2*z)+@p8*k^2*(-p2+p3*k)/(p3-p2*k)+@p9 bailout: (|z-zold|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Munster" center=(0.001,0.001) periodicity=0 magn=0.8 param bf caption="Bivar 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""cotan""cotanh""acotan"\ "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""recip"\ "expit""gauss""softplus""primecount""ceil""floor""trunc""round" default=0 endparam param p8 caption="Bivar Parameter 1" default=(1,0) endparam param p9 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="Munster Parameter 1" default=(2,0) endparam param p3 caption="Munster Parameter 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=8.0 visible=@bt==1 endparam } BivarMunster2 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+p5 k=p6*fn2(k)+@p7 if @bf=="ident" k=ident(z/k) elseif @bf=="sin" k=sin(z/k) elseif @bf=="sinh" k=sinh(z/k) elseif @bf=="versin" k=1-cos(z/k) elseif @bf=="haversin" k=(1-cos(z/k))/2 elseif @bf=="coversin" k=1-sin(z/k) elseif @bf=="hacoversin" k=(1-sin(z/k))/2 elseif @bf=="cos" k=cos(z/k) elseif @bf=="cosh" k=cosh(z/k) elseif @bf=="vercos" k=1+cos(z/k)-2.6 elseif @bf=="havercos" k=(1+cos(z/k))/2 elseif @bf=="covercos" k=1+sin(z/k)-1 elseif @bf=="hacovercos" k=(1+sin(z/k))/2 elseif @bf=="tan" k=tan(z/k) elseif @bf=="tanh" k=tanh(z/k) elseif @bf=="atan" k=atan(z/k) elseif @bf=="cotan" k=cotan(z/k) elseif @bf=="cotanh" k=cotanh(z/k) elseif @bf=="acotan" k=atan(1/(z/k)) elseif @bf=="sec" k=1/cos(z/k)-1.5 elseif @bf=="sech" k=1/cosh(z/k) elseif @bf=="cosec" k=1/sin(z/k) elseif @bf=="cosech" k=1/sinh(z/k) elseif @bf=="acosec" k=asin(1/(z/k))-0.6 elseif @bf=="acosech" k=asinh(1/(z/k)) elseif @bf=="exsec" k=1/cos(z/k)-1 elseif @bf=="aexsec" k= acos(1/((z/k)+1)) elseif @bf=="excosec" k=1/sin(z/k)-1 elseif @bf=="aexcosec" k=asin(1/((z/k)+1)) elseif @bf=="crd" k=2*sin((z/k)/2) elseif @bf=="gd" k=asin(tanh(z/k)) elseif @bf=="agd" k=asinh(tan(z/k)) elseif @bf=="sinc" k=sin(z/k)/(z/k) elseif @bf=="sinhc" k=sinh(z/k)/(z/k) elseif @bf=="cosc" k=cos(z/k)/(z/k) elseif @bf=="coshc" k=cosh(z/k)/(z/k)-0.25 elseif @bf=="tanc" k=tan(z/k)/(z/k) elseif @bf=="tanhc" k=tanh(z/k)/(z/k) elseif @bf=="cotanc" k=cotan(z/k)/(z/k) elseif @bf=="cotanhc" k=cotanh(z/k)/(z/k)-0.5 elseif @bf=="secc" k=1/((z/k)*cos(z/k))-0.67 elseif @bf=="sechc" k=1/((z/k)*cosh(z/k)) elseif @bf=="cosecc" k= 1/((z/k)*sin(z/k)) elseif @bf=="cosechc" k=1/((z/k)*sinh(z/k)) elseif @bf=="sqr" k=sqr(z/k) elseif @bf=="sqrt" k=sqrt(z/k) elseif @bf=="cube" k=(z/k)^3 elseif @bf=="cuberoot" k=(z/k)^(1/3) elseif @bf=="recip" k=recip(z/k) endif k=@p8*k+@p9 if @JM=="J1" z=z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2)+@p8*k^2*(k^6-1i*k^3+p2)/(k^6+1i*k^3+p2)+@p9 elseif@JM=="J2" z=z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3+p2)+@p8*k^2*(k^6-1i*k^3-p2)/(k^6+1i*k^3-p2)+@p9 elseif@JM=="J3" z=z^2*(z^6-1i*z^3+p2)/(z^6+1i*z^3-p2)+@p8*k^2*(k^6-1i*k^3+p2)/(k^6+1i*k^3-p2)+@p9 elseif@JM=="M1" z=z^2*(z^6-1i*z^3+p2*pixel)/(z^6+1i*z^3+p2*pixel)+@p8*k^2*(k^6-1i*k^3+p2*pixel)/(k^6+1i*k^3+p2*pixel)+@p9 elseif@JM=="M2" z=z^2*(z^6-1i*z^3+p2*pixel)/(z^6+1i*z^3+p2*pixel)+@p8*k^2*(k^6-1i*k^3-p2*pixel)/(k^6+1i*k^3-p2*pixel)+@p9 elseif@JM=="M3" z=z^2*(z^6-1i*z^3+p2*pixel)/(z^6+1i*z^3-p2*pixel)+@p8*k^2*(k^6-1i*k^3+p2*pixel)/(k^6+1i*k^3-p2*pixel)+@p9 endif bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Munster 2" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J1""J2""J3""M1""M2""M3" endparam param bf caption="Bivar Function" enum="ident""sin""sinh""versin""haversin""coversin""hacoversin"\ "cos""cosh""vercos""havercos""covercos""hacovercos"\ "tan""tanh""atan""cotan""cotanh""acotan"\ "sec""sech""cosec""cosech""acosec""acosech"\ "exsec""aexsec""excosec""aexcosec"\ "crd""gd""agd"\ "sinc""sinhc""cosc""coshc""tanc""tanhc""cotanc""cotanhc""secc""sechc""cosecc""cosechc"\ "sqr""sqrt""cube""cuberoot"\ "recip" endparam param p8 caption="Bivar Parameter 1" default=(-0.9,0) endparam param p9 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="Munster Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarMunsterMagnet { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+@p5 k=@p6*fn2(k)+@p7 if @bf=="ident" k=ident(k/z) elseif @bf=="sin" k=sin(k/z) elseif @bf=="sinh" k=sinh(k/z) elseif @bf=="asin" k=asin(k/z)-0.33 elseif @bf=="asinh" k=asinh(k/z) elseif @bf=="versin" k=1-cos(k/z) elseif @bf=="aversin" k=acos(1-(k/z)) elseif @bf=="haversin" k=(1-cos(k/z))/2 elseif @bf=="ahaversin" k=2*asin(sqrt(k/z))-2 elseif @bf=="coversin" k=1-sin(k/z) elseif @bf=="acoversin" k=asin(1-(k/z))-1.6 elseif @bf=="hacoversin" k=(1-sin(k/z))/2 elseif @bf=="cos" k=cos(k/z) elseif @bf=="cosh" k=cosh(k/z)-0.3 elseif @bf=="acos" k=acos(k/z)-1.5 elseif @bf=="acosh" k=acosh(k/z) elseif @bf=="vercos" k=1+cos(k/z)-1 elseif @bf=="avercos" k=acos(1+(k/z)) elseif @bf=="havercos" k=(1+cos(k/z))/2 elseif @bf=="covercos" k=1+sin(k/z)-1 elseif @bf=="acovercos" k=asin(1+(k/z))-1 elseif @bf=="hacovercos" k=(1+sin(k/z))/2 elseif @bf=="tan" k=tan(k/z)-0.3 elseif @bf=="tanh" k=tanh(k/z) elseif @bf=="atan" k=atan(k/z) elseif @bf=="cotan" k=cotan(k/z) elseif @bf=="cotanh" k=cotanh(k/z) elseif @bf=="acotan" k=atan(1/(k/z)) elseif @bf=="sec" k=1/cos(k/z)-0.7 elseif @bf=="sech" k=1/cosh(k/z) elseif @bf=="cosec" k=1/sin(k/z) elseif @bf=="cosech" k=1/sinh(k/z) elseif @bf=="exsec" k=1/cos(k/z)-1 elseif @bf=="aexsec" k= acos(1/((k/z)+1)) elseif @bf=="excosec" k=1/sin(k/z)-1 elseif @bf=="aexcosec" k=asin(1/((k/z)+1)) elseif @bf=="crd" k=2*sin((k/z)/2) elseif @bf=="acrd" k=2*asin((k/z)/2) elseif @bf=="gd" k=asin(tanh(k/z)) elseif @bf=="agd" k=asinh(tan(k/z)) elseif @bf=="sinc" k=sin(k/z)/(k/z) elseif @bf=="sinhc" k=sinh(k/z)/(k/z) elseif @bf=="cosc" k=cos(k/z)/(k/z) elseif @bf=="coshc" k=cosh(k/z)/(k/z)-3 elseif @bf=="tanc" k=tan(k/z)/(k/z)-0.3 elseif @bf=="tanhc" k=tanh(k/z)/(k/z) elseif @bf=="cotanc" k=cotan(k/z)/(k/z) elseif @bf=="cotanhc" k=cotanh(k/z)/(k/z) elseif @bf=="secc" k=1/((k/z)*cos(k/z))-1.3 elseif @bf=="sechc" k=1/((k/z)*cosh(k/z)) elseif @bf=="cosecc" k= 1/((k/z)*sin(k/z)) elseif @bf=="cosechc" k=1/((k/z)*sinh(k/z)) elseif @bf=="sqr" k=sqr(k/z) elseif @bf=="sqrt" k=sqrt(k/z) elseif @bf=="cube" k=(k/z)^3 elseif @bf=="cuberoot" k=(k/z)^(1/3) elseif @bf=="log" k=log(k/z)-1.54 elseif @bf=="colog" k=-log(k/z)-1.3 elseif @bf=="exp" k=exp(k/z)-1.5 elseif @bf=="recip" k=recip(k/z) elseif @bf=="expit" k=1/(1+exp(-(k/z))) elseif @bf=="gauss" k=exp(-sqr(k/z)) elseif @bf=="softplus" k=log(1+exp(k/z)) elseif @bf=="ceil" k=ceil(k/z) elseif @bf=="round" k=round(k/z) endif k=@p8*k+@p9 z=sqr((z^2+p3-1)/(2*z+p3-2))+@p8*k^2*(k-p2)/(1-p2*k)+@p9 bailout: (|z-zold|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Munster Magnet" center=(0.001,0.001) periodicity=0 magn=0.4 angle=90 param bf caption="Bivar Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""cotan""cotanh""acotan"\ "sec""sech""cosec""cosech""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""recip"\ "expit""gauss""softplus""ceil""round" endparam param p8 caption="Bivar Parameter 1" default=(1,0) endparam param p9 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="Munster Parameter" default=(0.5,0) endparam param p3 caption="Magnet Parameter" default=(2,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarMunsterMagnet2 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+@p5 k=@p6*fn2(k)+@p7 if @bf=="ident" k=ident(k/z) elseif @bf=="sin" k=sin(k/z) elseif @bf=="sinh" k=sinh(k/z) elseif @bf=="asin" k=asin(k/z)-0.33 elseif @bf=="asinh" k=asinh(k/z) elseif @bf=="versin" k=1-cos(k/z) elseif @bf=="aversin" k=acos(1-(k/z)) elseif @bf=="haversin" k=(1-cos(k/z))/2 elseif @bf=="ahaversin" k=2*asin(sqrt(k/z))-2 elseif @bf=="coversin" k=1-sin(k/z) elseif @bf=="acoversin" k=asin(1-(k/z))-1.6 elseif @bf=="hacoversin" k=(1-sin(k/z))/2 elseif @bf=="cos" k=cos(k/z) elseif @bf=="cosh" k=cosh(k/z)-0.3 elseif @bf=="acos" k=acos(k/z)-1.5 elseif @bf=="acosh" k=acosh(k/z) elseif @bf=="vercos" k=1+cos(k/z)-1 elseif @bf=="avercos" k=acos(1+(k/z)) elseif @bf=="havercos" k=(1+cos(k/z))/2-0.5 elseif @bf=="covercos" k=1+sin(k/z)-1 elseif @bf=="acovercos" k=asin(1+(k/z))-1 elseif @bf=="hacovercos" k=(1+sin(k/z))/2 elseif @bf=="tan" k=tan(k/z)-0.3 elseif @bf=="tanh" k=tanh(k/z)+0.2 elseif @bf=="atan" k=atan(k/z) elseif @bf=="cotan" k=cotan(k/z) elseif @bf=="cotanh" k=cotanh(k/z) elseif @bf=="acotan" k=atan(1/(k/z)) elseif @bf=="sec" k=1/cos(k/z)-0.7 elseif @bf=="sech" k=1/cosh(k/z) elseif @bf=="cosec" k=1/sin(k/z) elseif @bf=="cosech" k=1/sinh(k/z) elseif @bf=="exsec" k=1/cos(k/z)-1 elseif @bf=="aexsec" k= acos(1/((k/z)+1)) elseif @bf=="excosec" k=1/sin(k/z)-1 elseif @bf=="aexcosec" k=asin(1/((k/z)+1)) elseif @bf=="crd" k=2*sin((k/z)/2) elseif @bf=="acrd" k=2*asin((k/z)/2) elseif @bf=="gd" k=asin(tanh(k/z)) elseif @bf=="agd" k=asinh(tan(k/z)) elseif @bf=="sinc" k=sin(k/z)/(k/z) elseif @bf=="sinhc" k=sinh(k/z)/(k/z) elseif @bf=="cosc" k=cos(k/z)/(k/z) elseif @bf=="coshc" k=cosh(k/z)/(k/z)-3 elseif @bf=="tanc" k=tan(k/z)/(k/z)-0.3 elseif @bf=="tanhc" k=tanh(k/z)/(k/z)-0.1 elseif @bf=="cotanc" k=cotan(k/z)/(k/z) elseif @bf=="cotanhc" k=cotanh(k/z)/(k/z) elseif @bf=="secc" k=1/((k/z)*cos(k/z))-1.3 elseif @bf=="sechc" k=1/((k/z)*cosh(k/z)) elseif @bf=="cosecc" k= 1/((k/z)*sin(k/z)) elseif @bf=="cosechc" k=1/((k/z)*sinh(k/z)) elseif @bf=="sqr" k=sqr(k/z) elseif @bf=="sqrt" k=sqrt(k/z) elseif @bf=="cube" k=(k/z)^3 elseif @bf=="cuberoot" k=(k/z)^(1/3) elseif @bf=="log" k=log(k/z)-1.54 elseif @bf=="colog" k=-log(k/z)-1.3 elseif @bf=="exp" k=exp(k/z)-1.5 elseif @bf=="recip" k=recip(k/z) elseif @bf=="expit" k=1/(1+exp(-(k/z))) elseif @bf=="gauss" k=exp(-sqr(k/z)) elseif @bf=="softplus" k=log(1+exp(k/z)) elseif @bf=="round" k=round(k/z)-0.5 endif k=@p8*k+@p9 z=z^2*(z-p2)/(1-p2*z)+@p8*sqr((k^2+p3-1)/(2*k+p3-2))+@p9 bailout: (|z-zold|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Munster Magnet 2" center=(0.001,0.001) periodicity=0 magn=0.8 param bf caption="Bivar Function" enum="ident""sin""sinh""asin""asinh""versin""aversin""haversin""ahaversin""coversin""acoversin"\ "hacoversin""cos""cosh""acos""acosh""vercos""avercos""havercos""covercos"\ "acovercos""hacovercos""tan""tanh""atan""cotan""cotanh""acotan"\ "sec""sech""cosec""cosech""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""recip"\ "expit""gauss""softplus""round" endparam param p8 caption="Bivar Parameter 1" default=(1,0) endparam param p9 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="Munster Parameter" default=(1.5,0) endparam param p3 caption="Magnet Parameter" default=(0.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarMunster3 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+@p5 k=@p6*fn2(k)+@p7 if @bf=="ident" k=ident(k/z) elseif @bf=="sin" k=sin(k/z) elseif @bf=="sinh" k=sinh(k/z) elseif @bf=="asin" k=asin(k/z) elseif @bf=="asinh" k=asinh(k/z) elseif @bf=="versin" k=1-cos(k/z)-0.5 elseif @bf=="aversin" k=acos(1-(k/z))+0.6 elseif @bf=="haversin" k=(1-cos(k/z))/2-0.5 elseif @bf=="ahaversin" k=2*asin(sqrt(k/z))-0.2 elseif @bf=="coversin" k=1-sin(k/z)-0.4 elseif @bf=="acoversin" k=asin(1-(k/z)) elseif @bf=="hacoversin" k=(1-sin(k/z))/2+0.6 elseif @bf=="cos" k=cos(k/z) elseif @bf=="cosh" k=cosh(k/z)-0.5 elseif @bf=="acos" k=acos(k/z)-0.55 elseif @bf=="acosh" k=acosh(k/z)-1.3 elseif @bf=="vercos" k=1+cos(k/z) elseif @bf=="avercos" k=acos(1+(k/z))-1 elseif @bf=="havercos" k=(1+cos(k/z))/2 elseif @bf=="ahavercos" k=2*acos(sqrt(k/z))+2.4 elseif @bf=="covercos" k=1+sin(k/z) elseif @bf=="acovercos" k=asin(1+(k/z))-2 elseif @bf=="hacovercos" k=(1+sin(k/z))/2 elseif @bf=="tan" k=tan(k/z) elseif @bf=="tanh" k=tanh(k/z) elseif @bf=="atan" k=atan(k/z) elseif @bf=="cotan" k=cotan(k/z) elseif @bf=="cotanh" k=cotanh(k/z) elseif @bf=="acotan" k=atan(1/(k/z)) elseif @bf=="sec" k=1/cos(k/z)+1.5 elseif @bf=="sech" k=1/cosh(k/z)-0.9 elseif @bf=="asec" k=acos(1/(k/z))+0.8 elseif @bf=="asech" k=acosh(1/(k/z))+0.95 elseif @bf=="cosec" k=1/sin(k/z)+2.25 elseif @bf=="cosech" k=1/sinh(k/z) elseif @bf=="acosec" k=asin(1/(k/z)) elseif @bf=="acosech" k=asinh(1/(k/z)) elseif @bf=="exsec" k=1/cos(k/z)-1+1.9 elseif @bf=="aexsec" k= acos(1/((k/z)+1))+0.47 elseif @bf=="excosec" k=1/sin(k/z)-1+2.15 elseif @bf=="aexcosec" k=asin(1/((k/z)+1)) elseif @bf=="crd" k=2*sin((k/z)/2) elseif @bf=="acrd" k=2*asin((k/z)/2) elseif @bf=="gd" k=asin(tanh(k/z)) elseif @bf=="agd" k=asinh(tan(k/z)) elseif @bf=="sinc" k=sin(k/z)/(k/z) elseif @bf=="sinhc" k=sinh(k/z)/(k/z) elseif @bf=="cosc" k=cos(k/z)/(k/z)+0.6 elseif @bf=="coshc" k=cosh(k/z)/(k/z) elseif @bf=="tanc" k=tan(k/z)/(k/z)-1.1 elseif @bf=="tanhc" k=tanh(k/z)/(k/z) elseif @bf=="cotanc" k=cotan(k/z)/(k/z) elseif @bf=="cotanhc" k=cotanh(k/z)/(k/z) elseif @bf=="secc" k=1/((k/z)*cos(k/z)) elseif @bf=="sechc" k=1/((k/z)*cosh(k/z)) elseif @bf=="cosecc" k= 1/((k/z)*sin(k/z)) elseif @bf=="cosechc" k=1/((k/z)*sinh(k/z)) elseif @bf=="sqr" k=sqr(k/z) elseif @bf=="sqrt" k=sqrt(k/z) elseif @bf=="cube" k=(k/z)^3 elseif @bf=="cuberoot" k=(k/z)^(1/3) elseif @bf=="log" k=log(k/z)+0.57 elseif @bf=="colog" k=-log(k/z)-1.85 elseif @bf=="exp" k=exp(k/z) elseif @bf=="recip" k=recip(k/z) elseif @bf=="expit" k=1/(1+exp(-(k/z))) elseif @bf=="gauss" k=exp(-sqr(k/z)) elseif @bf=="softplus" k=log(1+exp(k/z)) elseif @bf=="ceil" k=ceil(k/z) elseif @bf=="floor" k=floor(k/z) elseif @bf=="trunc" k=trunc(k/z) elseif @bf=="round" k=round(k/z) endif k=@p8*k+@p9 z=z^3*((1-conj(p2)*z)/(z-p2))*((1-conj(p3)*z)/(z-p3))+p3*@p8*k^3*((1-conj(p2)*k)/(k-p2))*((1-conj(p3)*k)/(k-p3))+@p9 bailout: (|z-zold|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Munster 3" center=(0.001,0.001) periodicity=0 magn=0.8 param bf caption="Bivar 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""cotan""cotanh""acotan"\ "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""recip"\ "expit""gauss""softplus""ceil""floor""trunc""round" default=0 endparam param p8 caption="Bivar Parameter 1" default=(0.9,0) endparam param p9 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="Munster Parameter 1" default=(-0.5,0) endparam param p3 caption="Munster Parameter 2" default=(0.2,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=8.0 visible=@bt==1 endparam } BivarMunster4 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p3*fn2(z)+p4 k=p5*fn2(k)+p6 if @bf=="ident" k=ident(k/z) elseif @bf=="sin" k=sin(k/z) elseif @bf=="sinh" k=sinh(k/z) elseif @bf=="asin" k=asin(k/z) elseif @bf=="asinh" k=asinh(k/z) elseif @bf=="versin" k=1-cos(k/z)+0.9 elseif @bf=="haversin" k=(1-cos(k/z))/2+0.9 elseif @bf=="coversin" k=1-sin(k/z) elseif @bf=="acoversin" k=asin(1-(k/z)) elseif @bf=="hacoversin" k=(1-sin(k/z))/2 elseif @bf=="cos" k=cos(k/z) elseif @bf=="cosh" k=cosh(k/z) elseif @bf=="vercos" k=1+cos(k/z) elseif @bf=="havercos" k=(1+cos(k/z))/2 elseif @bf=="covercos" k=1+sin(k/z) elseif @bf=="hacovercos" k=(1+sin(k/z))/2 elseif @bf=="tan" k=tan(k/z) elseif @bf=="tanh" k=tanh(k/z) elseif @bf=="atan" k=atan(k/z) elseif @bf=="cotan" k=cotan(k/z) elseif @bf=="cotanh" k=cotanh(k/z) elseif @bf=="acotan" k=atan(1/(k/z)) elseif @bf=="sec" k=1/cos(k/z)-1.975 elseif @bf=="sech" k=1/cosh(k/z) elseif @bf=="cosec" k=1/sin(k/z) elseif @bf=="cosech" k=1/sinh(k/z) elseif @bf=="acosech" k=asinh(1/(k/z)) elseif @bf=="exsec" k=1/cos(k/z)-1 elseif @bf=="aexcosec" k=asin(1/((k/z)+1))+1 elseif @bf=="crd" k=2*sin((k/z)/2) elseif @bf=="acrd" k=2*asin((k/z)/2) elseif @bf=="gd" k=asin(tanh(k/z)) elseif @bf=="agd" k=asinh(tan(k/z)) elseif @bf=="sinc" k=sin(k/z)/(k/z) elseif @bf=="sinhc" k=sinh(k/z)/(k/z) elseif @bf=="coshc" k=cosh(k/z)/(k/z) elseif @bf=="tanc" k=tan(k/z)/(k/z) elseif @bf=="tanhc" k=tanh(k/z)/(k/z) elseif @bf=="cotanc" k=cotan(k/z)/(k/z)-0.3 elseif @bf=="cotanhc" k=cotanh(k/z)/(k/z)-0.9 elseif @bf=="secc" k=1/((k/z)*cos(k/z)) elseif @bf=="sechc" k=1/((k/z)*cosh(k/z))+0.3 elseif @bf=="cosechc" k=1/((k/z)*sinh(k/z))-0.57 elseif @bf=="sqr" k=sqr(k/z)-0.95 elseif @bf=="sqrt" k=sqrt(k/z) elseif @bf=="cube" k=(k/z)^3-0.65 elseif @bf=="cuberoot" k=(k/z)^(1/3) elseif @bf=="log" k=log(k/z)+1.5 elseif @bf=="exp" k=exp(k/z)-0.6 elseif @bf=="recip" k=recip(k/z) elseif @bf=="expit" k=1/(1+exp(-(k/z))) elseif @bf=="gauss" k=exp(-sqr(k/z)) elseif @bf=="softplus" k=log(1+exp(k/z)) elseif @bf=="round" k=round(k/z)-0.325 endif k=p1*k+p2 z=(cabs(@p7)/@p7)*z^3*(z-@p7)/(1-conj(@p7)*z)+p1*(cabs(@p7)/@p7)*k^3*(k-@p7)/(1-conj(@p7)*k)+p2 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Munster 4" center=(0.001,0.001) periodicity=0 param bf caption="Bivar Function" enum="ident""sin""sinh""asin""asinh""versin""haversin""coversin""acoversin"\ "hacoversin""cos""cosh""vercos""havercos""covercos"\ "hacovercos""tan""tanh""atan""cotan""cotanh""acotan"\ "sec""sech""cosec""cosech""acosech""exsec"\ "aexcosec""crd""acrd""gd""agd""sinc""sinhc""coshc"\ "tanc""tanhc""cotanc""cotanhc""secc""sechc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""exp""recip"\ "expit""gauss""softplus""round" default=0 endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(0,0) endparam param p7 caption="Munster Parameter" default=(2,0) endparam param p3 caption="Z Parameter 1" default=(1,0) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam param p5 caption="K Parameter 1" default=(1,0) endparam param p6 caption="K Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000001 visible=@bt==1 endparam param baildiv caption="Bailout" default=4.0 visible=@bt==0 endparam } BivarLogistic { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+@p5 k=@p6*fn2(k)+@p7 if @bf=="ident" k=ident(k/z) elseif @bf=="sin" k=sin(k/z) elseif @bf=="sinh" k=sinh(k/z) elseif @bf=="asin" k=asin(k/z) elseif @bf=="asinh" k=asinh(k/z) elseif @bf=="versin" k=1-cos(k/z) elseif @bf=="aversin" k=-0.5*acos(1-(k/z)) elseif @bf=="haversin" k=(1-cos(k/z))/2 elseif @bf=="ahaversin" k=-0.15*2*asin(sqrt(k/z)) elseif @bf=="coversin" k=1-sin(k/z) elseif @bf=="acoversin" k=asin(1-(k/z)) elseif @bf=="hacoversin" k=(1-sin(k/z))/2 elseif @bf=="cos" k=cos(k/z) elseif @bf=="cosh" k=cosh(k/z) elseif @bf=="acos" k=0.5*acos(k/z) elseif @bf=="acosh" k=0.5*acosh(k/z) elseif @bf=="vercos" k=1+cos(k/z) elseif @bf=="avercos" k=0.5*acos(1+(k/z)) elseif @bf=="havercos" k=(1+cos(k/z))/2 elseif @bf=="ahavercos" k=0.44*2*acos(sqrt(k/z)) elseif @bf=="covercos" k=1+sin(k/z) elseif @bf=="acovercos" k=0.75*asin(1+(k/z)) elseif @bf=="hacovercos" k=(1+sin(k/z))/2 elseif @bf=="tan" k=tan(k/z) elseif @bf=="tanh" k=tanh(k/z) elseif @bf=="atan" k=atan(k/z) elseif @bf=="cotan" k=cotan(k/z)-0.58 elseif @bf=="cotanh" k=cotanh(k/z)+1 elseif @bf=="acotan" k=atan(1/(k/z))+0.21 elseif @bf=="sec" k=1/cos(k/z) elseif @bf=="sech" k=1/cosh(k/z) elseif @bf=="asec" k=0.45*acos(1/(k/z)) elseif @bf=="asech" k=0.45*acosh(1/(k/z)) elseif @bf=="cosech" k=1/sinh(k/z)-0.75 elseif @bf=="acosech" k=asinh(1/(k/z))+0.85 elseif @bf=="exsec" k=1/cos(k/z)-1 elseif @bf=="aexsec" k= acos(1/((k/z)+1)) elseif @bf=="excosec" k=1/sin(k/z)-1 elseif @bf=="aexcosec" k=asin(1/((k/z)+1)) elseif @bf=="crd" k=2*sin((k/z)/2) elseif @bf=="acrd" k=2*asin((k/z)/2) elseif @bf=="gd" k=asin(tanh(k/z)) elseif @bf=="agd" k=asinh(tan(k/z)) elseif @bf=="sinc" k=sin(k/z)/(k/z) elseif @bf=="sinhc" k=sinh(k/z)/(k/z) elseif @bf=="cosc" k=cos(k/z)/(k/z)-0.5 elseif @bf=="coshc" k=cosh(k/z)/(k/z)+0.8 elseif @bf=="tanc" k=tan(k/z)/(k/z) elseif @bf=="tanhc" k=tanh(k/z)/(k/z) elseif @bf=="cotanc" k=cotan(k/z)/(k/z)-0.6 elseif @bf=="cotanhc" k=cotanh(k/z)/(k/z)-1.2 elseif @bf=="secc" k=1/((k/z)*cos(k/z))-1.9 elseif @bf=="sechc" k=1/((k/z)*cosh(k/z))-0.5 elseif @bf=="cosecc" k= 1/((k/z)*sin(k/z))-1.15 elseif @bf=="cosechc" k=1/((k/z)*sinh(k/z))-0.8 elseif @bf=="sqr" k=sqr(k/z) elseif @bf=="sqrt" k=sqrt(k/z) elseif @bf=="cube" k=(k/z)^3 elseif @bf=="cuberoot" k=(k/z)^(1/3) elseif @bf=="log" k=log(k/z) elseif @bf=="colog" k=-log(k/z) elseif @bf=="exp" k=exp(k/z)-1 elseif @bf=="recip" k=recip(k/z)-1 elseif @bf=="expit" k=1/(1+exp(-(k/z))) elseif @bf=="gauss" k=exp(-sqr(k/z)) elseif @bf=="softplus" k=log(1+exp(k/z)) elseif @bf=="round" k=round(k/z)-1.3 endif k=@p8*k+@p9 z=p2*z*(1-z)+@p8*p3*k*(1-k)+@p9 bailout: (|z-zold|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Logistic" center=(0.001,0.001) periodicity=0 magn=0.8 param bf caption="Bivar 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""cotan""cotanh""acotan"\ "sec""sech""asec""asech""cosech""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""recip"\ "expit""gauss""softplus""round" default=0 endparam param p8 caption="Bivar Parameter 1" default=(-1,0) endparam param p9 caption="Bivar Parameter 2" default=(1,0) endparam param p2 caption="Logistic Parameter 1" default=(0.5,0) endparam param p3 caption="Logistic Parameter 2" default=(1,0) endparam param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=8.0 visible=@bt==1 endparam } BivarNewton2 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+@p5 k=@p6*fn2(k)+@p7 if @bf=="ident" k=ident(k/z) elseif @bf=="sin" k=sin(k/z) elseif @bf=="sinh" k=sinh(k/z) elseif @bf=="asin" k=asin(k/z) elseif @bf=="asinh" k=asinh(k/z) elseif @bf=="versin" k=1-cos(k/z) elseif @bf=="aversin" k=0.3*acos(1-(k/z)) elseif @bf=="haversin" k=(1-cos(k/z))/2 elseif @bf=="ahaversin" k=2*asin(sqrt(k/z)) elseif @bf=="coversin" k=1-sin(k/z) elseif @bf=="acoversin" k=asin(1-(k/z)) elseif @bf=="hacoversin" k=(1-sin(k/z))/2 elseif @bf=="cos" k=cos(k/z) elseif @bf=="cosh" k=cosh(k/z) elseif @bf=="acos" k=acos(k/z) elseif @bf=="acosh" k=acosh(k/z)-0.75 elseif @bf=="vercos" k=1+cos(k/z) elseif @bf=="avercos" k=acos(1+(k/z)) elseif @bf=="havercos" k=(1+cos(k/z))/2 elseif @bf=="ahavercos" k=2*acos(sqrt(k/z)) elseif @bf=="covercos" k=1+sin(k/z) elseif @bf=="acovercos" k=asin(1+(k/z)) elseif @bf=="hacovercos" k=(1+sin(k/z))/2 elseif @bf=="tan" k=tan(k/z) elseif @bf=="tanh" k=tanh(k/z) elseif @bf=="atan" k=atan(k/z) elseif @bf=="acotan" k=atan(1/(k/z)) elseif @bf=="sec" k=1/cos(k/z) elseif @bf=="sech" k=1/cosh(k/z) elseif @bf=="acosech" k=asinh(1/(k/z)) elseif @bf=="exsec" k=1/cos(k/z)-1 elseif @bf=="aexcosec" k=asin(1/((k/z)+1)) elseif @bf=="crd" k=2*sin((k/z)/2) elseif @bf=="acrd" k=2*asin((k/z)/2) elseif @bf=="gd" k=asin(tanh(k/z)) elseif @bf=="agd" k=asinh(tan(k/z)) elseif @bf=="sinc" k=sin(k/z)/(k/z) elseif @bf=="sinhc" k=sinh(k/z)/(k/z) elseif @bf=="tanc" k=tan(k/z)/(k/z) elseif @bf=="tanhc" k=tanh(k/z)/(k/z) elseif @bf=="cotanc" k=cotan(k/z)/(k/z) elseif @bf=="cotanhc" k=cotanh(k/z)/(k/z) elseif @bf=="cosecc" k= 1/((k/z)*sin(k/z)) elseif @bf=="cosechc" k=1/((k/z)*sinh(k/z)) elseif @bf=="sqr" k=sqr(k/z) elseif @bf=="sqrt" k=sqrt(k/z) elseif @bf=="cube" k=(k/z)^3 elseif @bf=="cuberoot" k=(k/z)^(1/3) elseif @bf=="log" k=log(k/z)+2.5 elseif @bf=="exp" k=exp(k/z) elseif @bf=="expit" k=1/(1+exp(-(k/z))) elseif @bf=="gauss" k=exp(-sqr(k/z)) elseif @bf=="softplus" k=log(1+exp(k/z)) elseif @bf=="ceil" k=ceil(k/z) elseif @bf=="round" k=round(k/z) elseif @bf=="+exp" k=(k/z)+exp(k/z) elseif @bf=="+sqrt" k=(k/z)+sqrt(k/z) elseif @bf=="+sqr" k=(k/z)+sqr(k/z) elseif @bf=="+round" k=(k/z)+round(k/z) elseif @bf=="-exp" k=(k/z)-exp(k/z) elseif @bf=="-log" k=(k/z)-log(k/z) elseif @bf=="-tan" k=(k/z)-tan(k/z) elseif @bf=="-acosh" k=(k/z)-acosh(k/z) elseif @bf=="-asinh" k=(k/z)-asinh(k/z) elseif @bf=="-asin" k=(k/z)-asin(k/z) elseif @bf=="-sinh" k=(k/z)-sinh(k/z) elseif @bf=="-sin" k=(k/z)-sin(k/z) endif k=@p8*k+@p9 z=z-p2*(z^3-1)/(3*z^2)+@p8*(k-p3*(k^4-1)/(4*z^3))+@p9 bailout: (|z-zold|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Newton 2" center=(-2.001,0.001) periodicity=0 magn=0.5 param bf caption="Bivar 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""acotan"\ "sec""sech""acosech""exsec"\ "aexcosec""crd""acrd""gd""agd""sinc""sinhc"\ "tanc""tanhc""cotanc""cotanhc""cosecc""cosechc""sqr""sqrt"\ "cube""cuberoot""log""exp"\ "expit""gauss""softplus""ceil""round"\ "+exp""+sqrt""+sqr""+round"\ "-exp""-log""-tan""-acosh""-asinh""-asin""-sinh""-sin" default=0 endparam param p8 caption="Bivar Parameter 1" default=(1,0) endparam param p9 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="Newton Parameter 1" default=(1,0) endparam param p3 caption="Newton Parameter 2" default=(1,0) endparam param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=8.0 visible=@bt==1 endparam } BivarModifiedCollatz { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p4*fn2(z)+@p5 k=@p6*fn2(k)+@p7 if @bf=="ident" k=ident(z/k) elseif @bf=="sin" k=sin(z/k) elseif @bf=="sinh" k=sinh(z/k) elseif @bf=="asin" k=asin(z/k) elseif @bf=="asinh" k=asinh(z/k) elseif @bf=="versin" k=1-cos(z/k) elseif @bf=="aversin" k=acos(1-(z/k)) elseif @bf=="haversin" k=(1-cos(z/k))/2 elseif @bf=="ahaversin" k=2*asin(sqrt(z/k)) elseif @bf=="coversin" k=1-sin(z/k) elseif @bf=="acoversin" k=asin(1-(z/k))+0.6 elseif @bf=="hacoversin" k=(1-sin(z/k))/2 elseif @bf=="cos" k=cos(z/k)-1 elseif @bf=="cosh" k=cosh(z/k) elseif @bf=="acos" k=acos(z/k)+0.6 elseif @bf=="acosh" k=acosh(z/k)+0.6 elseif @bf=="vercos" k=1+cos(z/k)+1 elseif @bf=="avercos" k=acos(1+(z/k)) elseif @bf=="havercos" k=(1+cos(z/k))/2 elseif @bf=="ahavercos" k=2*acos(sqrt(z/k))-3 elseif @bf=="covercos" k=1+sin(z/k) elseif @bf=="acovercos" k=asin(1+(z/k)) elseif @bf=="hacovercos" k=(1+sin(z/k))/2 elseif @bf=="tan" k=tan(z/k) elseif @bf=="tanh" k=tanh(z/k) elseif @bf=="atan" k=atan(z/k) elseif @bf=="cotan" k=cotan(z/k)+0.5 elseif @bf=="cotanh" k=cotanh(z/k) elseif @bf=="acotan" k=atan(1/(z/k)) elseif @bf=="sec" k=1/cos(z/k) elseif @bf=="sech" k=1/cosh(z/k) elseif @bf=="asec" k=acos(1/(z/k))+0.7 elseif @bf=="asech" k=acosh(1/(z/k))+0.7 elseif @bf=="cosec" k=1/sin(z/k) elseif @bf=="cosech" k=1/sinh(z/k) elseif @bf=="acosec" k=asin(1/(z/k)) elseif @bf=="acosech" k=asinh(1/(z/k)) elseif @bf=="exsec" k=1.3*(1/cos(z/k)-1) elseif @bf=="aexsec" k=acos(1/((z/k)+1)) elseif @bf=="excosec" k=0.45*(1/sin(z/k)-1) elseif @bf=="aexcosec" k=asin(1/((z/k)+1)) elseif @bf=="crd" k=2*sin((z/k)/2) elseif @bf=="acrd" k=2*asin((z/k)/2) elseif @bf=="gd" k=asin(tanh(z/k)) elseif @bf=="agd" k=asinh(tan(z/k)) elseif @bf=="sinc" k=sin(z/k)/(z/k) elseif @bf=="sinhc" k=sinh(z/k)/(z/k) elseif @bf=="cosc" k=cos(z/k)/(z/k)+0.5 elseif @bf=="coshc" k=cosh(z/k)/(z/k) elseif @bf=="tanc" k=tan(z/k)/(z/k) elseif @bf=="tanhc" k=tanh(z/k)/(z/k) elseif @bf=="cotanc" k=cotan(z/k)/(z/k)+1 elseif @bf=="cotanhc" k=cotanh(z/k)/(z/k) elseif @bf=="secc" k=1/((z/k)*cos(z/k)) elseif @bf=="sechc" k=1/((z/k)*cosh(z/k)) elseif @bf=="cosecc" k= 1/((z/k)*sin(z/k)) elseif @bf=="cosechc" k=1/((z/k)*sinh(z/k)) elseif @bf=="sqr" k=sqr(z/k) elseif @bf=="sqrt" k=sqrt(z/k) elseif @bf=="cube" k=(z/k)^3 elseif @bf=="cuberoot" k=(z/k)^(1/3) elseif @bf=="log" k=log(z/k)+1 elseif @bf=="colog" k=-log(z/k)+1 elseif @bf=="exp" k=exp(z/k)+1.5 elseif @bf=="recip" k=recip(z/k) elseif @bf=="expit" k=1/(1+exp(-(z/k))) elseif @bf=="gauss" k=exp(-sqr(z/k)) elseif @bf=="softplus" k=log(1+exp(z/k)) elseif @bf=="ceil" k=ceil(z/k) elseif @bf=="floor" k=floor(z/k) elseif @bf=="trunc" k=trunc(z/k) elseif @bf=="round" k=round(z/k) elseif @bf=="+sqrt" k=(z/k)+sqrt(z/k) elseif @bf=="+sqr" k=(z/k)+sqr(z/k) elseif @bf=="+cotanh" k=(z/k)+cotanh(z/k) elseif @bf=="+cotan" k=(z/k)+cotan(z/k) elseif @bf=="+cos" k=(z/k)+cos(z/k) elseif @bf=="+sin" k=(z/k)+sin(z/k) elseif @bf=="+round" k=(z/k)+round(z/k) elseif @bf=="+recip" k=(z/k)+recip(z/k) elseif @bf=="-exp" k=(z/k)-exp(z/k) elseif @bf=="-log" k=(z/k)-log(z/k) elseif @bf=="-acosh" k=(z/k)-acosh(z/k) elseif @bf=="-cosh" k=(z/k)-cosh(z/k) elseif @bf=="-cos" k=(z/k)-cos(z/k) elseif @bf=="*sqrt" k=(z/k)*sqrt(z/k) elseif @bf=="*cotanh" k=(z/k)*cotanh(z/k) elseif @bf=="*atan" k=(z/k)*atan(z/k) elseif @bf=="*tanh" k=(z/k)*tanh(z/k) elseif @bf=="*tan" k=(z/k)*tan(z/k) elseif @bf=="*cos" k=(z/k)*cos(z/k) elseif @bf=="*sin" k=(z/k)*sin(z/k) elseif @bf=="third" k=(z/k)/3 elseif @bf=="half" k=0.5*(z/k) elseif @bf=="double" k=2*(z/k) endif k=@p8*k+@p9 z=z*(p2+cos(pi*z))/4+((3*z+p3)/16)*(p2-cos(pi*z))*(3-sqrt(2)*cos((2*z-1)*pi/4))+@p8*(k*(p2+cos(pi*k))/4+((3*k+p3)/16)*(p2-cos(pi*k))*(3-sqrt(2)*cos((2*k-1)*pi/4)))+@p9 bailout: (|z-zold|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Modified Collatz" center=(0.001,0.001) periodicity=0 param bf caption="Bivar 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""cotan""cotanh""acotan"\ "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""recip"\ "expit""gauss""softplus""ceil""floor""trunc""round"\ "+sqrt""+sqr""+cotanh""+cotan""+cos""+sin""+round""+recip"\ "-exp""-log""-acosh""-cosh""-cos"\ "*sqrt""*cotanh""*atan""*tanh""*tan""*cos""*sin"\ "third""half""double" default=0 endparam param p8 caption="Bivar Parameter 1" default=(0.5,0) endparam param p9 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="Collatz Parameter 1" default=(1,0) endparam param p3 caption="Collatz Parameter 2" default=(1,0) endparam param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=8.0 visible=@bt==1 endparam } BivarCozykJ { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 k=p3*fn2(k)+p4 if @bf=="ident" k=ident(z/k) elseif @bf=="sin-1" k=sin(z/k)-1 elseif @bf=="sinh-2" k=sinh(z/k)-2 elseif @bf=="asin/2" k=asin(z/k)/2 elseif @bf=="asinh/2" k=asinh(z/k)/2 elseif @bf=="versin-1" k=1-cos(z/k)-1 elseif @bf=="aversin-1" k=acos(1-(z/k))-1 elseif @bf=="haversin-3" k=(1-cos(z/k))/2-3 elseif @bf=="ahaversin/2" k=asin(sqrt(z/k)) elseif @bf=="coversin-2" k=1-sin(z/k)-2 elseif @bf=="acoversin-2" k=asin(1-(z/k))-2 elseif @bf=="hacoversin" k=(1-sin(z/k))/2 elseif @bf=="cos-1" k=cos(z/k)-1 elseif @bf=="cosh/2" k=cosh(z/k)/2 elseif @bf=="acos/2-2" k=acos(z/k)/2-2 elseif @bf=="acosh/3-1" k=acosh(z/k)/3-1 elseif @bf=="vercos/4" k=(1+cos(z/k))/4 elseif @bf=="avercos" k=acos(1+(z/k)) elseif @bf=="havercos/3" k=(1+cos(z/k))/2/3 elseif @bf=="ahavercos/3-2" k=2*acos(sqrt(z/k))/3-2 elseif @bf=="covercos" k=1+sin(z/k) elseif @bf=="acovercos-2" k=asin(1+(z/k))-2 elseif @bf=="hacovercos" k=(1+sin(z/k))/2 elseif @bf=="tan" k=tan(z/k) elseif @bf=="tanh" k=tanh(z/k) elseif @bf=="2*atan-2" k=2*atan(z/k)-2 elseif @bf=="cotan/5-1" k=cotan(z/k)/5-1 elseif @bf=="cotanh/2" k=cotanh(z/k)/2 elseif @bf=="acotan/3-2" k=atan(1/(z/k))/3-2 elseif @bf=="sec/2-1" k=(1/cos(z/k))/2-1 elseif @bf=="sech-1" k=1/cosh(z/k)-1 elseif @bf=="asec/3" k=acos(1/(z/k))/3 elseif @bf=="asech/3" k=acosh(1/(z/k))/3 elseif @bf=="cosec/3" k=(1/sin(z/k))/3 elseif @bf=="cosech/3" k=(1/sinh(z/k))/3 elseif @bf=="acosec/3-1" k=asin(1/(z/k))/3-1 elseif @bf=="acosech/2" k=asinh(1/(z/k))/2 elseif @bf=="-exsec-1" k=-(1/cos(z/k)-1)-1 elseif @bf=="aexsec-1" k=acos(1/((z/k)+1))-1 elseif @bf=="excosec/4" k=(1/sin(z/k)-1)/4 elseif @bf=="aexcosec-2" k=asin(1/((z/k)+1))-2 elseif @bf=="crd/3" k=2*sin((z/k)/2)/3 elseif @bf=="acrd/4" k=2*asin((z/k)/2)/4 elseif @bf=="gd/2-1" k=asin(tanh(z/k))/2-1 elseif @bf=="-agd/2-1" k=-asinh(tan(z/k))/2-1 elseif @bf=="sinc/2" k=sin(z/k)/(z/k)/2 elseif @bf=="sinhc/4" k=sinh(z/k)/(z/k)/4 elseif @bf=="cosc/5" k=cos(z/k)/(z/k)/5 elseif @bf=="-coshc/5" k=-cosh(z/k)/(z/k)/5 elseif @bf=="-tanc/4" k=-tan(z/k)/(z/k)/4 elseif @bf=="tanhc/3-1" k=tanh(z/k)/(z/k)/3-1 elseif @bf=="cotanc/20" k=cotan(z/k)/(z/k)/20 elseif @bf=="cotanhc/5" k=cotanh(z/k)/(z/k)/5 elseif @bf=="secc/10-1" k=1/((z/k)*cos(z/k))/10-1 elseif @bf=="sechc/5" k=1/((z/k)*cosh(z/k))/5 elseif @bf=="cosecc/5" k=1/((z/k)*sin(z/k))/5 elseif @bf=="cosechc/10" k=1/((z/k)*sinh(z/k))/10 elseif @bf=="sqr-1" k=sqr(z/k)-1 elseif @bf=="sqrt" k=sqrt(z/k) elseif @bf=="cube-1" k=(z/k)^3-1 elseif @bf=="cuberoot/3-1" k=(z/k)^(1/3)/3-1 elseif @bf=="log/4" k=log(z/k)/4 elseif @bf=="colog/4" k=(-log(z/k))/4 elseif @bf=="exp/2" k=exp(z/k)/2 elseif @bf=="recip/20-1" k=recip(z/k)/20-1 elseif @bf=="expit" k=1/(1+exp(-(z/k))) elseif @bf=="gauss-1" k=exp(-sqr(z/k))-1 elseif @bf=="softplus" k=log(1+exp(z/k)) elseif @bf=="ceil/2-1" k=ceil(z/k)/2-1 elseif @bf=="floor/4-1" k=floor(z/k)/4-1 elseif @bf=="trunc-1" k=trunc(z/k)-1 elseif @bf=="round-1" k=round(z/k)-1 endif k=@p8*k+@p9 z=(z^2+fn3(p1))*(fn3(p1)*z^2+1)/z*(z+1)+p5*((k^2+fn3(p1))*(fn3(p1)*k^2+1)/k*(k+1))+p6 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Cozyk J" center=(0.001,0.001) periodicity=0 param bf caption="Bivar Function" enum="ident""sin-1""sinh-2""asin/2""asinh/2""versin-1""aversin-1""haversin-3""ahaversin/2""coversin-2""acoversin-2""hacoversin"\ "cos-1""cosh/2""acos/2-2""acosh/3-1""vercos/4""avercos""havercos/3""ahavercos/3-2""covercos""acovercos-2""hacovercos"\ "tan""tanh""2*atan-2""cotan/5-1""cotanh/2""acotan/3-2"\ "sec/2-1""sech-1""asec/3""asech/3""cosec/3""cosech/3""acosec/3-1""acosech/2""-exsec-1""aexsec-1""excosec/4""aexcosec-2"\ "crd/3""acrd/4""gd/2-1""-agd/2-1"\ "sinc/2""sinhc/4""cosc/5""-coshc/5""-tanc/4""tanhc/3-1""cotanc/20""cotanhc/5""secc/10-1""sechc/5""cosecc/5""cosechc/10"\ "sqr-1""sqrt""cube-1""cuberoot/3-1""log/4""colog/4""exp/2""recip/20-1"\ "expit""gauss-1""softplus""ceil/2-1""floor/4-1""trunc-1""round-1" default=0 endparam param p1 caption="Cozyk Parameter" default=(-0.15,0) endparam param p5 caption="Bivar Parameter 1" default=(1,0) endparam param p6 caption="Bivar Parameter 2" default=(0,0) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="z Parameter 2" default=(0,0) endparam param p3 caption="k Parameter 1" default=(1,0) endparam param p4 caption="k Parameter 2" default=(-1.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarCozykM { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=@p8*fn2(z)+@p9 k=p3*fn2(k)+p4 if @bf=="ident" k=ident(z/k) elseif @bf=="sin" k=sin(z/k) elseif @bf=="sinh" k=sinh(z/k) elseif @bf=="-0.65*asin-0.5" k=-0.65*asin(z/k)-0.5 elseif @bf=="asinh" k=asinh(z/k) elseif @bf=="versin+0.5" k=1-cos(z/k)+0.5 elseif @bf=="-0.3*aversin+0.75" k=-0.3*acos(1-(z/k))+0.75 elseif @bf=="haversin+0.5" k=(1-cos(z/k))/2+0.5 elseif @bf=="0.45*ahaversin-2.5" k=0.45*2*asin(sqrt(z/k))-2.5 elseif @bf=="-2*coversin-0.55" k=-2*(1-sin(z/k))-0.55 elseif @bf=="1.4*acoversin-1" k=1.4*asin(1-(z/k))-1 elseif @bf=="0.2*hacoversin+1.05" k=0.2*(1-sin(z/k))/2+1.05 elseif @bf=="cos+0.7" k=cos(z/k)+0.7 elseif @bf=="cosh-0.55" k=cosh(z/k)-0.55 elseif @bf=="-0.25*acos-0.35" k=-0.25*acos(z/k)-0.35 elseif @bf=="0.6*acosh-1.05" k=0.6*acosh(z/k)-1.05 elseif @bf=="0.4*vercos+0.05" k=0.4*(1+cos(z/k))+0.05 elseif @bf=="0.2*avercos-0.55" k=0.2*acos(1+(z/k))-0.55 elseif @bf=="1.6*havercos-0.3" k=1.6*(1+cos(z/k))/2-0.3 elseif @bf=="-0.1*ahavercos+1.15" k=-0.1*2*acos(sqrt(z/k))+1.15 elseif @bf=="0.99*covercos-1.1" k=0.99*(1+sin(z/k))-1.1 elseif @bf=="-0.4*acovercos" k=-0.4*asin(1+(z/k)) elseif @bf=="hacovercos-1.55" k=(1+sin(z/k))/2-1.55 elseif @bf=="0.26*tan-1.38" k=0.26*tan(z/k)-1.38 elseif @bf=="tanh" k=tanh(z/k) elseif @bf=="atan" k=atan(z/k) elseif @bf=="1.05*cotan-1.63" k=1.05*cotan(z/k)-1.63 elseif @bf=="0.98*cotanh-0.3" k=0.98*cotanh(z/k)-0.3 elseif @bf=="acotan-0.08" k=atan(1/(z/k))-0.08 elseif @bf=="0.2*sec-1.28" k=0.2/cos(z/k)-1.28 elseif @bf=="-sech-0.03" k=-1/cosh(z/k)-0.03 elseif @bf=="-0.45*asec-0.8" k=-0.45*acos(1/(z/k))-0.8 elseif @bf=="0.22*asech-0.43" k=0.22*acosh(1/(z/k))-0.43 elseif @bf=="cosec" k=1/sin(z/k) elseif @bf=="cosech-1.8" k=1/sinh(z/k)-1.8 elseif @bf=="-0.63*acosec" k=-0.63*asin(1/(z/k)) elseif @bf=="acosech" k=asinh(1/(z/k)) elseif @bf=="0.5*exsec+0.58" k=0.5*(1/cos(z/k)-1)+0.58 elseif @bf=="0.56*aexsec" k=0.56*acos(1/((z/k)+1)) elseif @bf=="0.73*excosec+0.69" k=0.73*(1/sin(z/k)-1)+0.69 elseif @bf=="-2.6*aexcosec" k=-2.6*asin(1/((z/k)+1)) elseif @bf=="crd" k=2*sin((z/k)/2) elseif @bf=="acrd" k=2*asin((z/k)/2) elseif @bf=="gd" k=asin(tanh(z/k)) elseif @bf=="agd" k=asinh(tan(z/k)) elseif @bf=="-0.64*sinc" k=-0.64*sin(z/k)/(z/k) elseif @bf=="sinhc" k=sinh(z/k)/(z/k) elseif @bf=="cosc-1.42" k=cos(z/k)/(z/k)-1.42 elseif @bf=="0.98*coshc-2" k=0.98*cosh(z/k)/(z/k)-2 elseif @bf=="tanc-0.51" k=tan(z/k)/(z/k)-0.51 elseif @bf=="tanhc-0.04" k=tanh(z/k)/(z/k)-0.04 elseif @bf=="-0.34*cotanc+0.6" k=-0.34*cotan(z/k)/(z/k)+0.6 elseif @bf=="cotanhc-0.18" k=cotanh(z/k)/(z/k)-0.18 elseif @bf=="1.25*secc-3.29" k=1.25/((z/k)*cos(z/k))-3.29 elseif @bf=="-1.68*sechc" k=-1.68/((z/k)*cosh(z/k)) elseif @bf=="cosecc-2.21" k=1/((z/k)*sin(z/k))-2.21 elseif @bf=="cosechc-2.35" k=1/((z/k)*sinh(z/k))-2.35 elseif @bf=="sqr" k=sqr(z/k) elseif @bf=="sqrt-1.68" k=sqrt(z/k)-1.68 elseif @bf=="0.55*cube-1.45" k=0.55*(z/k)^3-1.45 elseif @bf=="cuberoot-1.57" k=(z/k)^(1/3)-1.57 elseif @bf=="log-0.87" k=log(z/k)-0.87 elseif @bf=="1.11*colog-0.47" k=1.11*(-log(z/k))-0.47 elseif @bf=="exp-1.52" k=exp(z/k)-1.52 elseif @bf=="recip" k=recip(z/k) elseif @bf=="-0.48*expit-1.12" k=-0.48/(1+exp(-(z/k)))-1.12 elseif @bf=="gauss+0.62" k=exp(-sqr(z/k))+0.62 elseif @bf=="1.03*softplus-0.79" k=1.03*log(1+exp(z/k))-0.79 elseif @bf=="-0.57*ceil-0.07" k=-0.57*ceil(z/k)-0.07 elseif @bf=="1.25*round-0.29" k=1.25*round(z/k)-0.29 endif k=@p8*k+@p9 z=(z^2+p1*fn3(pixel))*(p1*fn3(pixel)*z^2+1)/z*(z+1)+p5*((k^2+p2*fn3(pixel))*(p2*fn3(pixel)*k^2+1)/k*(k+1))+p6 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Bivar Cozyk M" center=(-1.001,0.001) magn=2 periodicity=0 param bf caption="Bivar Function" enum="ident""sin""sinh""-0.65*asin-0.5""asinh"\ "versin+0.5""-0.3*aversin+0.75""haversin+0.5""0.45*ahaversin-2.5"\ "-2*coversin-0.55""1.4*acoversin-1""0.2*hacoversin+1.05"\ "cos+0.7""cosh-0.55""-0.25*acos-0.35""0.6*acosh-1.05"\ "0.4*vercos+0.05""0.2*avercos-0.55""1.6*havercos-0.3""-0.1*ahavercos+1.15"\ "0.99*covercos-1.1""-0.4*acovercos""hacovercos-1.55"\ "0.26*tan-1.38""tanh""atan""1.05*cotan-1.63""0.98*cotanh-0.3""acotan-0.08"\ "0.2*sec-1.28""-sech-0.03""-0.45*asec-0.8""0.22*asech-0.43""cosec""cosech-1.8""-0.63*acosec"\ "acosech""0.5*exsec+0.58""0.56*aexsec""0.73*excosec+0.69""-2.6*aexcosec"\ "crd""acrd""gd""agd""-0.64*sinc""sinhc""cosc-1.42""0.98*coshc-2"\ "tanc-0.51""tanhc-0.04""-0.34*cotanc+0.6""cotanhc-0.18""1.25*secc-3.29"\ "-1.68*sechc""cosecc-2.21""cosechc-2.35""sqr""sqrt-1.68"\ "0.55*cube-1.45""cuberoot-1.57""log-0.87""1.11*colog-0.47""exp-1.52""recip"\ "-0.48*expit-1.12""gauss+0.62""1.03*softplus-0.79""-0.57*ceil-0.07""1.25*round-0.29" default=0 endparam param p1 caption="Cozyk Parameter 1" default=(1,0) endparam param p2 caption="Cozyk Parameter 2" default=(1,0) endparam param p5 caption="Bivar Parameter 1" default=(0.5,0) endparam param p6 caption="Bivar Parameter 2" default=(-1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Loop Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="z Parameter 2" default=(0,0) endparam param p3 caption="k Parameter 1" default=(1,0) endparam param p4 caption="k Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" default=1 endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } BivarX9 { ;Modified from the formula by gerrit given here:\ ;https://fractalforums.org/fractal-mathematics-and-new-theories/28/holomorphic-mandelbrot-extensions/1475/msg15091#new init: z=pixel k=pixel loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @jm=="M" z=z^2+p1*k+(p3+1)*pixel k=k^2+p2*z+(p3+1)*pixel else z=z^2+p1*k+p3-0.4 k=k^2+p2*z+p3-0.4 endif bailout: |z|<=@bail default: title="Bivar X 9" center=(-0.301,0.001) magn=3 periodicity=0 param jm caption="J/M" enum="M""J" endparam param p1 caption="X Parameter !" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX10 { ;Modified from the formula by gerrit given here:\ ;https://fractalforums.org/fractal-mathematics-and-new-theories/28/holomorphic-mandelbrot-extensions/1475/msg15091#new init: z=sqrt(-p1*p2/4)*pixel k=-sqrt(-p1*p2/4)*pixel loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z z=z^2+p1*k+p3 k=k^2+p2*a+p3 bailout: |z|<=@bail default: title="Bivar X 10" center=(0.001,0.001) periodicity=0 param p1 caption="X Parameter !" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX11 { init: z=pixel k=pixel loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) k=@p10*fn1(z/k)+@p11 if @jm=="M" z=z^2+p1*k+(p3+1)*pixel k=k^2+p2*z+(p3+1)*pixel else z=z^2+p1*k+p3-0.45 k=k^2+p2*z+p3-0.45 endif bailout: |z|<=@bail default: title="Bivar X 11" center=(-0.301,0.001) periodicity=0 param jm caption="J/M" enum="J""M" default=1 endparam func fn1 caption="Bivar Function" default=ident() endfunc param p10 caption="Bivar Parameter !" default=(-0.5,0) endparam param p11 caption="Bivar Parameter 2" default=(0,0) endparam param p1 caption="X Parameter !" default=(1,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarMagnet2 { init: z=fn1(pixel) k=fn1(pixel) loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z if @JM=="J" z=sqr((z^2+fn2(@p10)-1)/(2*z+fn2(@p10)-2))+p1*k+p3 k=sqr((k^2+fn2(@p10)-1)/(2*k+fn2(@p10)-2))+p2*a+p3 else z=sqr((z^2+(@p10-2)*fn2(pixel)-1)/(2*z+(@p10-2)*fn2(pixel)-2))+p1*k+p3 k=sqr((k^2+(@p10-2)*fn2(pixel)-1)/(2*k+(@p10-2)*fn2(pixel)-2))+p2*a+p3 endif bailout: |z|<@bail default: title="Bivar Magnet 2" center=(-2.251,0.001) periodicity=0 magn=0.4 angle=270 param JM caption="J/M" enum="J""M" endparam param p10 caption="Magnet Parameter 1" default=(1.5,0) endparam param p3 caption="Magnet Parameter 2" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p1 caption="Bivar Parameter !" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarMagnet3 { init: z=fn2(pixel) k=fn2(pixel) loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @V=="1" k=@p11*fn1(k/z)+@p12 elseif @V=="2" k=@p11*fn1(z/k)+@p12 elseif @V=="3" k=@p11*fn1(z^2/k^2)+@p12 elseif @V=="4" k=@p11*fn1(z/k^2)+@p12 elseif @V=="5" k=@p11*fn1(k^2/z^2)+@p12 elseif @V=="6" k=@p11*fn1(k/z^2)+@p12 endif a=z if @JM=="J" z=sqr((z^2+fn3(@p10)-1)/(2*z+fn3(@p10)-2))+p1*k+p3 k=sqr((k^2+fn3(@p10)-1)/(2*k+fn3(@p10)-2))+p2*a+p3 else z=sqr((z^2+(@p10-2)*fn3(pixel)-1)/(2*z+(@p10-2)*fn3(pixel)-2))+p1*k+p3 k=sqr((k^2+(@p10-2)*fn3(pixel)-1)/(2*k+(@p10-2)*fn3(pixel)-2))+p2*a+p3 endif bailout: |z|<@bail default: title="Bivar Magnet 3" center=(-1.001,0.001) periodicity=0 magn=0.5 angle=270 param JM caption="J/M" enum="J""M" endparam param V caption="Bivar Variant" enum="1""2""3""4""5""6" endparam param p11 caption="Bivar Parameter 1" default=(1,0) endparam param p12 caption="Bivar Parameter 2" default=(0,0) endparam param p1 caption="Bivar Parameter 3" default=(1,0) endparam param p2 caption="Bivar Parameter 4" default=(1,0) endparam func fn1 caption="Bivar Function" default=ident() endfunc func fn2 caption="Start Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p10 caption="Magnet Parameter 1" default=(1,0) endparam param p3 caption="Magnet Parameter 2" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX12 { init: z=fn1(pixel) k=fn1(pixel) loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k if @JM=="M1" k=p1*fn2(k/z)+p3 z=z^2+a^2+(p2+1)*fn3(pixel) elseif @JM=="M2" k=p1*fn2(k/z)+(p3+1)*fn3(pixel) z=z^2+a^2+p2 else k=p1*fn2(k/z)+p3 z=z^2+a^2+fn3(p2) endif bailout: |z|<=@bail default: title="Bivar X 12" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M1""M2" default=1 endparam param p1 caption="Bivar Parameter 1" default=(0.5,0) endparam param p3 caption="Bivar Parameter 2" default=(0,0) endparam param p2 caption="C Parameter" default=(-0.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX13 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z k=@p11*k/z+@p12 z=sqr((z-@p10)/(1-conj(@p10)*z))/z+p1*k+p3 k=sqr((k-@p10)/(1-conj(@p10)*k))/k+p2*a+p3 bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 13" center=(2.201,0.001) periodicity=0 magn=0.3 param p10 caption="X Parameter 1" default=(0.5,0) endparam param p3 caption="X Parameter 2" default=(-0.65,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Bivar Parameter 1" default=(1,0) endparam param p12 caption="Bivar Parameter 2" default=(0,0) endparam param p1 caption="Bivar Parameter 3" default=(1,0) endparam param p2 caption="Bivar Parameter 4" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarMagnet4 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k k=p1*fn2(k/z)+@p10 if @JM=="M2" z=sqr((z^2+p3-1)/(2*z+p3-2))+sqr((a^2+p3-1)/(2*a+p3-2))+(p2+1)*fn3(pixel) elseif @JM=="M1" z=sqr((z^2+p3*fn3(pixel)-1)/(2*z+p3*fn3(pixel)-2))+sqr((a^2+p3*fn3(pixel)-1)/(2*a+p3*fn3(pixel)-2))+p2 else z=sqr((z^2+p3-1)/(2*z+p3-2))+sqr((a^2+p3-1)/(2*a+p3-2))+p2 endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Magnet 4" center=(-1.001,0.001) periodicity=0 magn=0.25 param JM caption="J/M" enum="J""M1""M2" default=1 endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p10 caption="Bivar Parameter 2" default=(0,0) endparam param p3 caption="Magnet Parameter 1" default=(1,0) endparam param p2 caption="Magnet Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc func fn3 caption="C Function" default=ident() visible=@JM!="J" endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarMagnet5 { init: z=sqrt(-p1*p2/4) k=-z loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @V=="1" k=@p11*fn1(k/z)+@p12 elseif @V=="2" k=@p11*fn1(z/k)+@p12 elseif @V=="3" k=@p11*fn1(z^2/k^2)+@p12 elseif @V=="4" k=@p11*fn1(z/k^2)+@p12 elseif @V=="5" k=@p11*fn1(k^2/z^2)+@p12 elseif @V=="6" k=@p11*fn1(k/z^2)+@p12 endif a=z z=sqr((z^2+pixel-1)/(2*z+pixel-2))+p1*k+p3 k=sqr((k^2+pixel-1)/(2*k+pixel-2))+p2*a+p3 bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Magnet 5" center=(0.001,0.001) periodicity=0 param V caption="Bivar Variant" enum="1""2""3""4""5""6" endparam param p11 caption="Bivar Parameter 1" default=(1,0) endparam param p12 caption="Bivar Parameter 2" default=(0,0) endparam param p1 caption="Bivar Parameter 3" default=(1,0) endparam param p2 caption="Bivar Parameter 4" default=(1,0) endparam func fn1 caption="Bivar Function" default=ident() endfunc param p3 caption="Magnet Parameter" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX14 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @JM=="J1" z=z^2+p1*k+p3 k=k^2/(p2*z)+p3 elseif @JM=="J2" a=z z=z^2+p1*k+p3 k=k^2/(p2*a)+p3 elseif @JM=="M1" z=z^2+p1*k+(p3+1)*pixel k=k^2/(p2*z)+(p3+1)*pixel else a=z z=z^2+p1*k+(p3+1)*pixel k=k^2/(p2*a)+(p3+1)*pixel endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 14" center=(0.001,0.001) periodicity=0 angle=270 magn=2 param JM caption="J/M" enum="J1""J2""M1""M2" endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam param p3 caption="C Parameter" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" 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 Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX15 { init: z=fn1(pixel) k=fn1(pixel) loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @JM=="J1" z=z^2*(p1*k)+p3 k=k^2/(p2*z)+p3 elseif @JM=="J2" a=z z=z^2*(p1*k)+p3 k=k^2/(p2*a)+p3 elseif @JM=="M1" z=z^2*(p1*k)+(p3+0.5)*pixel k=k^2/(p2*z)+(p3+0.5)*pixel elseif @JM=="M2" a=z z=z^2*(p1*k)+(p3+0.5)*pixel k=k^2/((p2+0.25)*a)+(p3+0.5)*pixel endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 15" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J1""J2""M1""M2" endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(-1,0) endparam param p3 caption="C Parameter" default=(0.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX16 { init: z=fn1(pixel) k=-1i*z loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) k=p1*fn2(k/z)+p2 if @JM=="J" z=((z^3-@p10)/(3*z^2))^2+((k^3-@p10)/(3*k^2))^2+p3 elseif @JM=="M" z=((z^3-@p10)/(3*z^2))^2+((k^3-@p10)/(3*k^2))^2+(p3+1)*pixel endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 16" center=(0.001,0.001) periodicity=0 magn=0.5 param JM caption="J/M" enum="J""M" endparam param p1 caption="Bivar Parameter 1" default=(2,0) endparam param p2 caption="Bivar Parameter 2" default=(0,0) endparam param p3 caption="Bivar Parameter 3" default=(0,0) endparam param p10 caption="X Parameter" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } TrivarMandelbrot { init: z=fn1(pixel) k=fn1(pixel) w=fn1(pixel) loop: zold=z z=p6*z+@p7 k=@p9*k+@p10 w=@p11*w+@p12 z=z+p4/z k=k+p4/k w=w+p4/w z=z+p5*sqr(z) k=k+p5*sqr(k) w=w+p5*sqr(w) z=z^2+p1*k+p2*w+pixel k=k^2+p2*w+p3*z+pixel w=w^2+p3*z+p1*k+pixel bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Trivar Mandelbrot" center=(0.001,0.001) magn=2 periodicity=0 param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam param p3 caption="Bivar Parameter 3" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(0.5,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(1,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="W Parameter 1" default=(-0.5,0) endparam param p12 caption="W Parameter 2" 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 Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } TrivarMandelbrot2 { init: z=fn1(pixel) k=fn1(pixel) w=fn1(pixel) loop: zold=z z=p6*z+@p7 k=@p9*k+@p10 w=@p11*w+@p12 z=z+p4/z k=k+p4/k w=w+p4/w z=z+p5*sqr(z) k=k+p5*sqr(k) w=w+p5*sqr(w) k=@p13*fn2(k/z)+@p14 w=@p13*fn2(w/z)+@p14 z=z^2+p1*k+p2*w+pixel k=k^2+p2*w+p3*z+pixel w=w^2+p3*z+p1*k+pixel bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Trivar Mandelbrot 2" center=(0.001,0.001) periodicity=0 param p1 caption="Trivar Parameter 1" default=(0.5,0) endparam param p2 caption="Trivar Parameter 2" default=(1,0) endparam param p3 caption="Trivar Parameter 3" default=(-0.5,0) endparam param p13 caption="Trivar Parameter 4" default=(1,0) endparam param p14 caption="Trivar Parameter 5" default=(0.6,0) endparam param p6 caption="Z Parameter 1" default=(0.5,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(-0.5,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="W Parameter 1" default=(-0.5,0) endparam param p12 caption="W Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Trivar Function" default=ident() endfunc param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarCayley2 { init: z=fn1(pixel) k=-z int i=0 loop: zold=z if @vers=="1" z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k k=p1*fn2(k/z)+p2 z=((z-1i)/(z+1i))^@pow+((a-1i)/(a+1i))^@pow+p3 else while i<@iter i=i+1 z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k k=p1*fn2(k/z)+p2 z=((z-1i)/(z+1i))^@pow+((a-1i)/(a+1i))^@pow+p3 endwhile z=z*@adj k=k*@adj endif bailout: (@vers==0 && @bt==0 && |z|<@baildiv) || (@vers==0 && @bt==1 && |z-zold|>@bailcon) || (@vers==1 && |z|<@bail) default: title="Bivar Cayley 2" center=(0.001,0.001) periodicity=0 param vers caption="Version" enum="1""2" endparam param iter caption="Iterations" default=10 visible=@vers==1 endparam param adj caption="Adjustment" default=1.09 visible=@vers==1 endparam param p1 caption="Bivar Parameter 1" default=(2,0) endparam param p2 caption="Bivar Parameter 2" default=(-0.25,0) endparam param p3 caption="Bivar Parameter 3" default=(0,0) endparam param pow caption="Exponent" default=2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 visible=@vers==0 endparam param baildiv caption="Bailout Value" default=100.0 visible=@bt==0 && @vers==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 && @vers==0 endparam param bail caption="Bailout" default=100.0 visible=@vers==1 endparam } BivarIFB27 { init: z=fn1(pixel) k=fn1(pixel) loop: z=p6*z+@p7 k=@p10*k+@p11 z=z+@p12/z k=k+@p12/k z=z+@p13*sqr(z) k=k+@p13*sqr(k) if @V=="1" b=k k=@p8*fn3(k/z)+@p9 float a=real(fn2(z)) if a@bailcon) default: title="Bivar X 17" center=(0.001,0.001) periodicity=0 param p1 caption="Bivar Parameter 1" default=(2,0) endparam param p2 caption="Bivar Parameter 2" default=(0,0) endparam param p3 caption="Bivar Parameter 3" default=(0,0) endparam param p10 caption="X Parameter" default=(2,0) endparam param pow caption="Exponent" default=2 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarKaleidotet { init: z=fn1(abs(pixel)) k=-1i*z loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k k=p1*fn2(k/z)+p2 z=log(z)^log(z)+log(a)^log(a)+p3 bailout: |z-zold|>@bail default: title="Bivar Kaleidotet" center=(0.001,0.001) periodicity=0 magn=0.25 param p3 caption="C Parameter" default=(0,0) endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.00000001 endparam } BivarMandyPixtet { init:if @st==0 z=fn1(pixel) else z=fn1(@p14) endif if @sv=="1" k=z elseif @sv=="2" k=-z endif loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z z=z^2+p3*k+@p13*pixel^pixel k=k^2+@p12*a+@p13*pixel^pixel bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Mandy Pixtet" center=(0.001,0.001) periodicity=0 param st caption="Start Type" enum="pixel""parameter" endparam param sv caption="Start Variant" enum="1""2" endparam param p14 caption="Start Parameter" default=0.5 visible=@st==1 endparam func fn1 caption="Start Function" default=ident() endfunc param p13 caption="Pixtet Parameter" default=0.5 endparam param p4 caption="Add Recip Parameter" default=-0.1 endparam param p5 caption="Add Sqr Parameter" default=-0.1 endparam param p3 caption="Bivar Parameter 1" default=1.0 endparam param p12 caption="Bivar Parameter 2" default=1.0 endparam param p6 caption="Z Parameter 1" default=1.0 endparam param p7 caption="Z Parameter 2" default=0.0 endparam param p8 caption="K Parameter 1" default=1.0 endparam param p9 caption="K Parameter 2" default=0.0 endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarMandyPixtet2 { init:if @st==0 z=fn1(pixel) else z=fn1(@p14) endif if @sv=="1" k=z elseif @sv=="2" k=-z endif loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k k=@p15*fn2(k/z)+@p16 z=z^2+a^2+@p13*pixel^pixel bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Mandy Pixtet 2" center=(0.001,0.001) periodicity=0 param st caption="Start Type" enum="pixel""parameter" endparam param sv caption="Start Variant" enum="1""2" endparam param p14 caption="Start Parameter" default=0.5 visible=@st==1 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param p13 caption="Pixtet Parameter" default=0.5 endparam param p4 caption="Add Recip Parameter" default=0.25 endparam param p5 caption="Add Sqr Parameter" default=-0.1 endparam param p15 caption="Bivar Parameter 1" default=-0.95 endparam param p16 caption="Bivar Parameter 2" default=0.0 endparam param p6 caption="Z Parameter 1" default=1.0 endparam param p7 caption="Z Parameter 2" default=0.0 endparam param p8 caption="K Parameter 1" default=1.0 endparam param p9 caption="K Parameter 2" default=0.0 endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarTetration1 { init: z=fn1(pixel) if @s=="1" k=-z elseif @s=="2" k=z elseif @s=="3" k=1/z else k=-1/z endif int i=0 loop: if @vers=="1" zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @V=="1" a=z z=z^z+@p12*k^@pow+p3 k=k^k+@p13*a^@pow+p3 elseif @V=="2" z=z^z+@p12*k^@pow+p3 k=k^k+@p13*z^@pow+p3 elseif @V=="3" a=z z=z^z+@p12*sqr(k)^@pow+p3 k=k^k+@p13*sqr(a)^@pow+p3 else z=z^z+@p12*sqr(k)^@pow+p3 k=k^k+@p13*sqr(z)^@pow+p3 endif else zold=z while i<@iter i=i+1 z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @V=="1" a=z z=z^z+@p12*k^@pow+p3 k=k^k+@p13*a^@pow+p3 elseif @V=="2" z=z^z+@p12*k^@pow+p3 k=k^k+@p13*z^@pow+p3 elseif @V=="3" a=z z=z^z+@p12*sqr(k)^@pow+p3 k=k^k+@p13*sqr(a)^@pow+p3 else z=z^z+@p12*sqr(k)^@pow+p3 k=k^k+@p13*sqr(z)^@pow+p3 endif endwhile z=z*@adj k=k*@adj endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Tetration 1" center=(0.001,0.001) periodicity=0 param vers caption="Version" enum="1""2" endparam param iter caption="Iterations" default=7 visible=@vers=="2" endparam param adj caption="Adjustment" default=1.09 visible=@vers=="2" endparam param s caption="Start Variant" enum="1""2""3""4" endparam param V caption="Loop Variant" enum="1""2""3""4" endparam param p3 caption="C Parameter" default=(0,0) endparam param p12 caption="Bivar Parameter 1" default=(1,0) endparam param p13 caption="Bivar Parameter 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarTetration2 { init: z=fn1(pixel) if @s=="1" k=-z elseif @s=="2" k=z elseif @s=="3" k=1/z else k=-1/z endif int i=0 loop: if @vers=="1" zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @V=="1" a=k k=@p12*fn2(k/z)+@p13 z=z^z+a^a+p3 else k=@p12*fn2(k/z)+@p13 z=z^z+k^k+p3 endif else zold=z while i<@iter i=i+1 z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if @V=="1" a=k k=@p12*fn2(k/z)+@p13 z=z^z+a^a+p3 else k=@p12*fn2(k/z)+@p13 z=z^z+k^k+p3 endif endwhile z=@adj*z k=@adj*k endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Tetration 2" center=(0.001,0.001) periodicity=0 param vers caption="Version" enum="1""2" endparam param iter caption="Iterations" default=13 visible=@vers=="2" endparam param adj caption="Adjustment" default=1.09 visible=@vers=="2" endparam param s caption="Start Variant" enum="1""2""3""4" endparam param V caption=" Loop Variant" enum="1""2" endparam param p3 caption="C Parameter" default=(0,0) endparam param p12 caption="Bivar Parameter 1" default=(1,0) endparam param p13 caption="Bivar Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarMandyExpPixtet { init: z=fn1(@p14) k=z loop: z=z+p4/z k=k+p4/k a=z z=(z+p2/exp(z))^2+p1*k+exp(pixel)^exp(pixel) k=(k+p2/exp(k))^2+p1*a+exp(pixel)^exp(pixel) bailout: |z|<@bail default: title="Bivar Mandy Exp Pixtet" center=(-3.001,0.001) magn=0.5 periodicity=0 param p14 caption="Start Parameter" default=(-2,0) endparam param p1 caption="Bivar Parameter 1" default=(1.5,0) endparam param p2 caption="Bivar Parameter 2" default=(0.3,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p4 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX18 { init: if @JM=="J" z=fn1(pixel) k=-z else z=fn1(@p14) k=-z endif loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z k=p1*k/z+p2 if @JM=="J" z=((z^2+@p10)/(z^2/@p11+1))^@pow+@p12*k+p3 k=((k^2+@p10)/(k^2/@p11+1))^@pow+@p13*a+p3 else z=((z^2+pixel)/(z^2/@p11+1))^@pow+@p12*k+p3 k=((k^2+pixel)/(k^2/@p11+1))^@pow+@p13*a+p3 endif bailout: |z-zold|>@bail default: title="Bivar X 18" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(0,0) endparam param p3 caption="Bivar Parameter 3" default=(0,0) endparam param p12 caption="Bivar Parameter 4" default=(1,0) endparam param p13 caption="Bivar Parameter 5" default=(1,0) endparam param p11 caption="X Parameter" default=(1.1,0) endparam param p10 caption="C Parameter" default=(0.5,0) visible=@JM=="J" endparam param p14 caption="Start Parameter" default=(-1,0) visible=@JM=="M" endparam func fn1 caption="Start Function" default=ident() endfunc param pow caption="Exponent" default=2 endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.00000001 endparam } BivarX19 { init: if @st=="pixel" z=fn1(pixel) else z=fn1(@p11) endif if @sv=="1" k=z elseif @sv=="2" k=-z endif loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) if@lv2=="1" if @lv=="1" a=z if real(z+k)<0 z=z^@pow+p3*k+pixel k=k^@pow-p3*a+pixel else z=z^@pow-p3*k+pixel k=k^@pow+p3*a+pixel endif else if real(z+k)<0 z=z^@pow+p3*k+pixel k=k^@pow-p3*z+pixel else z=z^@pow-p3*k+pixel k=k^@pow+p3*z+pixel endif endif else if @lv=="1" a=z if real(z-k)<0 z=z^@pow+p3*k+pixel k=k^@pow-p3*a+pixel else z=z^@pow-p3*k+pixel k=k^@pow+p3*a+pixel endif else if real(z-k)<0 z=z^@pow+p3*k+pixel k=k^@pow-p3*z+pixel else z=z^@pow-p3*k+pixel k=k^@pow+p3*z+pixel endif endif endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 19" center=(-2.001,0.001) magn=0.5 periodicity=0 param sv caption="Start Variant" enum="1""2" endparam param st caption="Start Type" enum="pixel""parameter" endparam param p11 caption="Start Parameter" default=0.25 visible=@st==1 endparam func fn1 caption="Start Function" default=ident() endfunc param lv caption="Loop Variant 1" enum="1""2" endparam param lv2 caption="Loop Variant 2" enum="1""2" endparam param p4 caption="Add Recip Parameter" default=0.0 endparam param p5 caption="Add Sqr Parameter" default=0.229 endparam param p3 caption="Bivar Parameter" default=1.0 endparam param pow caption="Exponent" default=2 endparam param p6 caption="Z Parameter 1" default=1.0 endparam param p7 caption="Z Parameter 2" default=0.0 endparam param p8 caption="K Parameter 1" default=1.0 endparam param p9 caption="K Parameter 2" default=0.0 endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX20 { init: if @JM=="J" z=fn1(pixel) else z=fn1(@p14) endif k=-z loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k k=p1*fn2(k/z)+p2 if @JM=="J" z=z^2+a+p3 else z=z^2+a+pixel endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 20" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p14 caption="Start Parameter" default=(1,0) visible=@JM=="M" endparam param p3 caption="C Parameter" default=(0,0) visible=@JM=="J" endparam param p1 caption="Bivar Parameter 1" default=(0.45,0) endparam param p2 caption="Bivar Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarLogTetrationJ { init: z=fn1(pixel) if @s=="1" k=-z elseif @s=="2" k=z elseif @s=="3" k=1/z else k=-1/z endif loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z if @lv=="1" z=log(z)^z+@p12*k+p3 k=log(k)^k+@p13*a+p3 elseif @lv=="2" z=log(z)^log(z)+@p12*k+p3 k=log(k)^log(k)+@p13*a+p3 else z=z^log(z)+@p12*k+p3 k=k^log(k)+@p13*a+p3 endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Log Tetration J" center=(0.001,0.001) periodicity=0 param s caption="Start Variant" enum="1""2""3""4" endparam func fn1 caption="Start Function" default=ident() endfunc param lv caption="Log Variant" enum="1""2""3" endparam param p3 caption="C Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p12 caption="Bivar Parameter 1" default=(1,0) endparam param p13 caption="Bivar Parameter 2" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=1000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarLogTetrationM { init: z=fn1(@p14) k=-z loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z z=z^log(z)+@p12*k+Fn2(pixel) k=k^log(k)+@p13*a+Fn2(pixel) bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar Log Tetration M" center=(0.001,0.001) periodicity=0 param p14 caption="Start Parameter" default=(1,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p12 caption="Bivar Parameter 1" default=(1,0) endparam param p13 caption="Bivar Parameter 2" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX21 { ;https://fractalforums.org/fractal-mathematics-and-new-theories/28/holomorphic-mandelbrot-extensions/1475/msg15529#new init: z=fn1(@p14) k=-z loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) z=z^2+p1*k+fn2(pixel) k=p2/fn3(k^2+fn2(pixel)) bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 21" center=(0.001,0.001) periodicity=0 param p14 caption="Start Parameter" default=(0,0) endparam param p1 caption="Bivar Parameter" default=(0.3,0) endparam param p2 caption="X Parameter" default=(0.65,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX22 { init: z=fn1(@p14) if @sv==0 k=-z elseif @sv==1 k=-2*z elseif @sv==2 k=(0,0) elseif @sv==3 k=-flip(z) elseif @sv==4 k=-2*flip(z) elseif @sv==5 k=-2.5*flip(z) elseif @sv==6 k=-log(z) endif loop: zold=z z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z z=p1*z^2+k^2+fn2(pixel) k=p2*fn2(pixel)/fn3(k^2+a) bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Bivar X 22" center=(0.001,0.001) magn=2 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7" endparam param p14 caption="Start Parameter" default=(0.5,0) endparam param p1 caption="X Parameter 1" default=(0.5,0) endparam param p2 caption="X Parameter 2" default=(1.5,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX23 { init: z=fn1(@p14) k=z loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z z=z^2+0.3/fn3(z)+p1*k+fn2(pixel) k=k^2+0.3/fn3(k)+p1*a+fn2(pixel) bailout: |z|<@bail default: title="Bivar X 23" center=(0.001,0.001) periodicity=0 param p14 caption="Start Parameter" default=(-1,0) endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX24 { init: if @jm=="M" z=fn1(@p14) else z=fn1(pixel) endif k=z loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z if @JM=="M" z=(z^2+p1)/(z^3+1)+p2*k+fn2(pixel) z=(z^2+p1)/(z^3+1)+p3*a+fn2(pixel) else z=(z^2+p1)/(z^3+1)+p2*k+fn2(@p15) z=(z^2+p1)/(z^3+1)+p3*a+fn2(@p15) endif bailout: |z|<@bail default: title="Bivar X 24" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p15 caption="C Parameter" default=(0.35,0) visible=@JM==0 endparam param p14 caption="Start Parameter" default=(-1,0) visible=@JM==1 endparam param p1 caption="X Parameter" default=(-3,0) endparam param p2 caption="Bivar Parameter 1" default=(1,0) endparam param p3 caption="Bivar Parameter 2" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1.15,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX25 { init: if @JM==1 z=fn1(@p14) else z=fn1(pixel) endif k=z loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=z if @JM==1 z=z^3*(p1-fn2(z))+k+fn3(pixel) k=k^3*(p1-fn2(k))+a+fn3(pixel) else z=z^3*(p1-fn2(z))+k+fn3(@p15) k=k^3*(p1-fn2(k))+a+fn3(@p15) endif bailout: |z|<@bail default: title="Bivar X 25" center=(0.001,0.001) periodicity=0 magn=2 param JM caption="J/M" enum="J""M" endparam param p15 caption="C Parameter" default=(0.08,0) visible=@JM==0 endparam param p14 caption="Start Parameter" default=(1,0) visible=@JM==1 endparam func fn1 caption="Start Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc func fn2 caption="X Function" default=ident() endfunc param p1 caption="X Parameter" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX26 { init: z=p6 k=z c=Fn1(pixel) loop: z=p4*z+p5 k=@p7*k+@p8 z=z+@p9/z k=k+@p9/k z=z+@p10*sqr(z) k=k+@p10*sqr(k) a=z b=k z=z^2+c+p1*k k=k^2+c+p2*a c=c^2/fn2(2*c+p3)+a+b bailout: (|z|<@baildiv && @B==0) || (|z|>@bailcon && @B==1) default: title="Bivar X 26" center=(0.001,0.001) maxiter=500 magn=3 periodicity=0 param p6 caption="Start Parameter" default=(0,0) endparam param p1 caption="Bivar Parameter 1" default=(-1.7,0) endparam param p2 caption="Bivar Parameter 2" default=(0.82,0) endparam param p3 caption="X Parameter" default=(1.6,0) endparam param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p7 caption="K Parameter 1" default=(1,0) endparam param p8 caption="K Parameter 2" default=(0,0) endparam param p10 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="C Function" default=ident() endfunc func fn2 caption="X Function" default=ident() endfunc param B caption="Bailout Type" enum="Divergent""Convergent" default=0 endparam param baildiv caption="Bailout Value" default=100000.0 visible=@B==0 endparam param bailcon caption="Bailout Value" default=0.0000001 visible=@B==1 endparam } BivarX27 { init: if@JM==1 z=fn2(p6) else z=fn2(pixel) endif if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=sqrt(z) elseif @sv==3 k=-2*z elseif @sv==4 k=z+sqrt(z) elseif @sv==5 k=z+1/log(z) endif if@JM==1 c=fn1(pixel) else c=fn1(@p13) endif loop: z=p4*z+p5 k=@p7*k+@p8 z=z+@p9/z k=k+@p9/k z=z+@p10*sqr(z) k=k+@p10*sqr(k) a=z b=k z=z^2/fn3(z+@p11)+c+p1*k k=k^2/fn3(k+p3)+c+p2*a c=c^2/fn3(2*c+@p12)+a+b bailout: |z|<@bail default: title="Bivar X 27" center=(0.001,0.001) magn=3 periodicity=0 param JM caption="J/M" enum="J""M" endparam param sv caption="Start Variant" enum="1""2""3""4""5""6" endparam param p6 caption="Start Parameter" default=(-0.2,0) visible=@JM==1 endparam func fn2 caption="Start Function" default=ident() endfunc param p13 caption="C parameter" default=(0,0) visible=@JM==0 endparam param p1 caption="Bivar Parameter 1" default=(-1.5,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam param p11 caption="X Parameter 1" default=(-3,0) endparam param p3 caption="X Parameter 2" default=(0.65,0) endparam param p12 caption="X Parameter 3" default=(3,0) endparam func fn3 caption="X Function" default=ident() endfunc func fn1 caption="C Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p7 caption="K Parameter 1" default=(1,0) endparam param p8 caption="K Parameter 2" default=(0,0) endparam param p10 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } BivarX28 { init: if@JM==1 z=fn3(p6) else z=fn3(pixel) endif if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=sqr(z) elseif @sv==3 k=-sqr(z) endif if@JM==1 c=fn1(pixel) else c=fn1(@p13) endif loop: z=p4*z+p5 k=@p7*k+@p8 z=z+@p9/z k=k+@p9/k z=z+@p10*sqr(z) k=k+@p10*sqr(k) a=z b=k z=z^4/fn2(z^2+@p11)+c+p1*k k=k^4/fn2(k^2+p3)+c+p2*a c=c+a+b bailout: |z|<@bail default: title="Bivar X 28" center=(0.001,0.001) magn=3 periodicity=0 param JM caption="J/M" enum="J""M" endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param p6 caption="Start Parameter" default=(-0.2,0) visible=@JM==1 endparam func fn3 caption="Start Function" default=ident() endfunc param p13 caption="C parameter" default=(0.25,0) visible=@JM==0 endparam param p1 caption="Bivar Parameter 1" default=(-3,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam param p11 caption="X Parameter 1" default=(4.75,0) endparam param p3 caption="X Parameter 2" default=(1,0) endparam func fn2 caption="X Function" default=ident() endfunc func fn1 caption="C Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p7 caption="K Parameter 1" default=(1,0) endparam param p8 caption="K Parameter 2" default=(0,0) endparam param p10 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } QatmodJ { init: z=fn1(pixel) if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=sqr(z) else k=-sqr(z) endif h=real(p1) d=imag(p1) f=(0,0) g=(0,0) c=@seed loop: z=@p8*z+@p9 k=@p10*k+@p11 z=z+p6*sqr(z) k=k+p6*sqr(k) z=z+@p7/z k=k+@p7/k w=z if @V==0 f=sqr(z)-sqr(h)-sqr(k)-sqr(d)+c+p3*k+p1*k elseif @V==1 f=z^4-sqr(h)-sqr(k)-sqr(d)+c+p3*k+p1*k elseif @V==2 f=sqr(cos(z))-sqr(h)-k^4-sqr(d)+c+p3*k+p1*k elseif @V==3 f=sqr(z)-sqr(h)-sqr(sinh(k))-sqr(d)+c+p3*k+p1*k elseif @V==4 f=sqr(tan(z))-sqr(h)-sqr(sin(k))-sqr(d)+c+p3*k+p1*k elseif @V==5 f=sqr(sin(z))-sqr(h)-sqr(tan(k))-sqr(d)+c+p3*k+p1*k elseif @V==6 f=sqr(sqr(z))-sqr(h)-sqr(sin(k))-sqr(d)+c+p3*k+p1*k else f=sqr(sin(z))-sqr(h)-sqr(sinh(k))-sqr(d)+c+p3*k+p1*k endif if @V2==0 g=2*z*k+c+p4*w+p1*w elseif @V2==1 g=2*sqr(z*k)+c+p4*w+p1*w elseif @V2==2 g=2*tanh(z)*sinh(k)+c+p4*w+p1*w elseif @V2==3 g=2*sin(z)*tan(k)+c+p4*w+p1*w elseif @V2==4 g=-2*z*sqr(k)+c+p4*w+p1*w elseif @V2==5 g=-2*sqr(z)*k+c+p4*w+p1*w elseif @V2==6 g=-2*sqr(z)*tan(k)+c+p4*w+p1*w elseif @V2==7 g=-2*tan(z)*sqr(k)+c+p4*w+p1*w elseif @V2==8 g=-2*sin(z)*sqr(k)+c+p4*w+p1*w elseif @V2==9 g=-2*sin(z)*cos(k)+c+p4*w+p1*w else g=-2*tanh(z)*sqr(k)+c+p4*w+p1*w endif if @V3==0 z=f k=g elseif @V3==1 z=tanh(f) k=g elseif @V3==2 z=tanh(f) k=cos(g) elseif @V3==3 z=tan(f) k=g elseif @V3==4 z=tan(f) k=sin(g) elseif @V3==5 z=cos(f) k=cos(g) elseif @V3==6 z=cos(f) k=sin(g) elseif @V3==7 z=sinh(f) k=g elseif @V3==8 z=sinh(f) k=exp(g) elseif @V3==9 z=sinh(f) k=sin(g) elseif @V3==10 z=sin(f) k=cos(g) elseif @V3==11 z=f k=exp(g) else z=exp(f) k=sqr(g) endif bailout: |sqr(z)+sqr(c)+sqr(k)+sqr(d)|<@bail default: title="Quatmod J" center=(0.001,0.001) magn=2 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4" endparam func fn1 caption="Start Function" default=ident() endfunc param V caption="Quatmod Variant" enum="1""2""3""4""5""6""7""8" endparam param V2 caption="Quatmod Variant 2" enum="1""2""3""4""5""6""7""8""9""10""11" endparam param V3 caption="Quatmod Variant 3" enum="1""2""3""4""5""6""7""8""9""10""11""12""13" endparam param seed caption="C Parameter" default=(-0.55,0) endparam param p1 caption="Qatmod Parameter 1" default=(-0.2,0) endparam param p3 caption="Qatmod Parameter 2" default=(0,0) endparam param p4 caption="Qatmod Parameter 3" default=(0.65,0) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } QuatmodM { init: z=p2 k=z h=real(p1) d=imag(p1) f=(0,0) g=(0,0) c=fn2(pixel) loop: z=@p8*z+@p9 k=@p10*k+@p11 z=z+p6*sqr(z) k=k+p6*sqr(k) z=z+@p7/z k=k+@p7/k w=z if @V==0 f=sqr(z)-sqr(h)-sqr(k)-sqr(d)+c+p3*k+p1*k elseif @V==1 f=sqr(cos(z))-sqr(h)-sqr(k)-sqr(d)+c+p3*k+p1*k elseif @V==2 f=sqr(z)-sqr(h)-sqr(cos(k))-sqr(d)+c+p3*k+p1*k elseif @V==3 f=z^4-sqr(h)-sqr(k)-sqr(d)+c+p3*k+p1*k elseif @V==4 f=sqr(z)-sqr(h)-k^4-sqr(d)+c+p3*k+p1*k elseif @V==5 f=sqr(cos(z))-sqr(h)-sqr(cos(k))-sqr(d)+c+p3*k+p1*k elseif @V==6 f=sqr(cos(z))-sqr(h)-k^4-sqr(d)+c+p3*k+p1*k elseif @V==7 f=z^4-sqr(h)-k^4-sqr(d)+c+p3*k+p1*k elseif @V==8 f=z^4-sqr(h)-k-sqr(d)+c+p3*k+p1*k endif if @V2==0 g=2*z*k+c+p4*w+p1*w elseif @V2==1 g=2*sqr(z*k)+c+p4*w+p1*w elseif @V2==2 g=-2*z*k+c+p4*w+p1*w elseif @V2==3 g=-2*sqr(z*k)+c+p4*w+p1*w elseif @V2==4 g=2*sqr(z)*k+c+p4*w+p1*w elseif @V2==5 g=-2*sqr(z)*k+c+p4*w+p1*w elseif @V2==6 g=2*sqr(z)*exp(k)+c+p4*w+p1*w elseif @V2==7 g=-2*sqr(z)*exp(k)+c+p4*w+p1*w elseif @V2==8 g=2*sqr(z)*cos(k)+c+p4*w+p1*w elseif @V2==9 g=-2*sqr(z)*cos(k)+c+p4*w+p1*w elseif @V2==10 g=2*z*sqr(k)+c+p4*w+p1*w else g=-2*z*sqr(k)+c+p4*w+p1*w endif if @V3==0 z=f k=g elseif @V3==1 z=sqr(f) k=sqr(g) elseif @V3==2 z=cos(f) k=cos(g) elseif @V3==3 z=sin(f) k=sin(g) elseif @V3==4 z=sqr(f) k=g elseif @V3==5 z=sqr(f) k=tanh(g) elseif @V3==6 z=sqr(f) k=cos(g) elseif @V3==7 z=sqr(f) k=sin(g) elseif @V3==8 z=tanh(f) k=g elseif @V3==9 z=f k=sqr(g) else z=f k=tanh(g) endif bailout: |sqr(z)+sqr(c)+sqr(k)+sqr(d)|<@bail default: title="Quatmod M" center=(0.001,0.001) magn=2 periodicity=0 param V caption="Variant 1" enum="1""2""3""4""5""6""7""8""9" endparam param V2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9""10""11""12" endparam param V3 caption="Variant 3" enum="1""2""3""4""5""6""7""8""9""10""11" endparam param p2 caption="Start Parameter" default=(0.4,0) endparam param p1 caption="Quatmod Parameter 1" default=(-0.2,0) endparam param p3 caption="Quatmod Parameter 2" default=(0,0) endparam param p4 caption="Quatmod Parameter 3" default=(0.65,0) endparam func fn2 caption="C Function" default=ident() endfunc param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } BivarBabbaLoon { init: z=fn1(pixel) if @sv==0 k=z elseif @sv==1 k=1-z elseif @sv==2 k=-1-z elseif @sv==3 k=exp(z) elseif @sv==4 k=-exp(z) elseif @sv==5 k=sqr(z) elseif @sv==6 k=1-sqr(z) elseif @sv==7 k=recip(z)-1 else k=1-recip(z) endif loop: zold=z z=@p8*z+@p9 k=@p10*k+@p11 z=z+p6*sqr(z) k=k+p6*sqr(k) z=z+@p7/z k=k+@p7/k if @lv==0 a=k k=p4*k/z+p5 z=p2*(z+p1/z)/2+p2*(a+p1/a)/2+p3 elseif @lv==1 a=k k=p4*k/z+p5 z=p2*(z-p1/z)/2+p2*(a+p1/a)/2+p3 elseif @lv==2 a=k k=p4*k/z+p5 z=p2*(z-p1/z)/2+p2*(a-p1/a)/2+p3 elseif @lv==3 a=k k=p4*k/z+p5 z=p2*(z+p1/z)/2+p2*(a-p1/a)/2+p3 elseif @lv==4 k=p4*k/z+p5 z=p2*(z+p1/z)/2+p2*(k+p1/k)/2+p3 elseif @lv==5 k=p4*k/z+p5 z=p2*(z-p1/z)/2+p2*(k+p1/k)/2+p3 elseif @lv==6 k=p4*k/z+p5 z=p2*(z-p1/z)/2+p2*(k-p1/k)/2+p3 elseif @lv==7 k=p4*k/z+p5 z=p2*(z+p1/z)/2+p2*(k-p1/k)/2+p3 endif bailout: |zold-z|>@bail default: title="Bivar Babba Loon" center=(0.001,0.001) periodicity=0 magn=0.5 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9" endparam func fn1 caption="Start Function" default=ident() endfunc param lv caption="Babba Loon Variant" enum="1""2""3""4""5""6""7""8" endparam param p1 caption="Babba Loon Parameter 1" default=(1,0) endparam param p2 caption="Babba Loon Parameter 2" default=(1,0) endparam param p3 caption="Babba Loon Parameter 3" default=(-0.5,0) endparam param p4 caption="Bivar Parameter 1" default=(1.45,0) endparam param p5 caption="Bivar Parameter 2" default=(0,0) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } BivarX29 { init: z=fn1(pixel) z2=0 z1=fn2(z) if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=z+1 elseif @sv==3 k=z-1 elseif @sv==4 k=-z-1 elseif @sv==5 k=1-z elseif @sv==6 k=0 elseif @sv==7 k=-1 elseif @sv==8 k=1 elseif @sv==9 k=exp(z) elseif @sv==10 k=exp(z)+1 elseif @sv==11 k=exp(z)-1 elseif @sv==12 k=-exp(z) elseif @sv==13 k=-exp(z)+1 elseif @sv==14 k=-exp(z)-1 elseif @sv==15 k=sqr(z) elseif @sv==16 k=-sqr(z) elseif @sv==17 k=-recip(z)-1 elseif @sv==18 k=sqr(z)+1 elseif @sv==19 k=sqr(z)-1 elseif @sv==20 k=1-sqr(z) elseif @sv==21 k=-sqr(z)-1 elseif @sv==22 k=cotanh(z) elseif @sv==23 k=-cotanh(z) elseif @sv==24 k=cotanh(z)+1 elseif @sv==25 k=cotanh(z)-1 elseif @sv==26 k=1-cotanh(z) elseif @sv==27 k=-cotanh(z)-1 elseif @sv==28 k=cos(z) elseif @sv==29 k=-cos(z) elseif @sv==30 k=cos(z)+1 elseif @sv==31 k=cos(z)-1 elseif @sv==32 k=1-cos(z) elseif @sv==33 k=-cos(z)-1 elseif @sv==34 k=sin(z) elseif @sv==35 k=-sin(z) elseif @sv==36 k=sin(z)+1 elseif @sv==37 k=sin(z)-1 elseif @sv==38 k=1-sin(z) elseif @sv==39 k=-sin(z)-1 elseif @sv==40 k=recip(z) elseif @sv==41 k=-recip(z) elseif @sv==42 k=recip(z)+1 elseif @sv==43 k=recip(z)-1 else k=1-recip(z) endif k2=0 k1=fn2(k) c=p5 loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+@p10/z k=k+@p10/k z=z+@p11*sqr(z) k=k+@p11*sqr(k) k=p3*fn3(k/z)+p4 z=z^@pow+p1*z*z2+k^@pow+p2*k*k2+c z2=z1 k2=k1 bailout: |z|<@bailout default: title="Bivar X 29" 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"\ "31""32""33""34""35""36""37""38""39""40"\ "41""42""43""44""45" endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p5 caption="C Parameter" default=(0,0) endparam param p1 caption="X Parameter 1" default=(1,0) endparam param p2 caption="X Parameter 2" default=(0.4,0) endparam param p3 caption="Bivar Parameter 1" default=(-0.15,0) endparam param p4 caption="Bivar Parameter 2" default=(-0.5,0) endparam func fn3 caption="Bivar Function" default=ident() endfunc param pow caption="Exponent" default=2 endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Add Sqr Parameter" default=(0,0) endparam param p10 caption="Add Recip Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } BivarX30 { init: z=fn1(pixel) z2=0 z1=fn2(z) if @sv==0 k=z elseif @sv==1 k=sqr(z)-1 elseif @sv==2 k=z-1 elseif @sv==3 k=1-cos(z) elseif @sv==4 k=1-z elseif @sv==5 k=-z-1 elseif @sv==6 k=0 elseif @sv==7 k=recip(z) elseif @sv==8 k=1-cotan(z) elseif @sv==9 k=1-recip(z) elseif @sv==10 k=1-cotanh(z) elseif @sv==11 k=exp(z)-1 elseif @sv==12 k=-exp(z) elseif @sv==13 k=cotanh(z) elseif @sv==14 k=sqr(z) elseif @sv==15 k=z+1 elseif @sv==16 k=-sqr(z) else k=1-sqr(z) endif k2=0 k1=fn2(k) c=p5 loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+@p10/z k=k+@p10/k z=z+@p11*sqr(z) k=k+@p11*sqr(k) k=p3*fn3(k/z)+p4 z=(z-1)^2+p1*z*z2+(k+1)^2+p2*k*k2+c z2=z1 k2=k1 bailout: |z|<@bailout default: title="Bivar X 30" 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" endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p5 caption="C Parameter" default=(0,0) endparam param p1 caption="X Parameter 1" default=(0.75,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="Bivar Parameter 1" default=(0.2,0) endparam param p4 caption="Bivar Parameter 2" default=(-0.5,0) endparam func fn3 caption="Bivar Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Add Sqr Parameter" default=(0,0) endparam param p10 caption="Add Recip Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } BivarX31 { init: z=fn1(pixel) z2=0 z1=fn2(z) if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=-z-1 elseif @sv==3 k=0 elseif @sv==4 k=-exp(z) elseif @sv==5 k=exp(z)-1 elseif @sv==6 k=sqr(z) elseif @sv==7 k=-sqr(z) elseif @sv==8 k=tanh(z) elseif @sv==9 k=-tanh(z)-1 elseif @sv==10 k=cosh(z)-1 elseif @sv==11 k=-cosh(z)+1 elseif @sv==12 k=sin(z) elseif @sv==13 k=z+sqr(z) elseif @sv==14 k=z-sqr(z) elseif @sv==15 k=z+exp(z)-1 elseif @sv==16 k=z-exp(z)+1 elseif @sv==17 k=z-tanh(z) elseif @sv==18 k=z+cosh(z)-1 elseif @sv==19 k=z-cosh(z)+1 elseif @sv==20 k=z-sinh(z) elseif @sv==21 k=z+1/exp(z)-1 elseif @sv==22 k=z+1/cos(z)-1 else k=z-1/cos(z)+1 endif k2=0 k1=fn2(k) c=p5 loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+@p10/z k=k+@p10/k z=z+@p11*sqr(z) k=k+@p11*sqr(k) a=z z=(z-1)^2+p1*z*z2+(k+1)^2+p2*k*k2+p3*k+c k=(k-1)^2+p1*a*z2+(a+1)^2+p2*k*k2+p4*a+c z2=z1 k2=k1 bailout: |z|<@bailout default: title="Bivar X 31" center=(0.001,0.001) periodicity=0 magn=2 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" endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p5 caption="C Parameter" default=(0,0) endparam param p1 caption="X Parameter 1" default=(-0.9,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="Bivar Parameter 1" default=(-0.5,0) endparam param p4 caption="Bivar Parameter 2" default=(-1.5,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Add Sqr Parameter" default=(-0.2,0) endparam param p10 caption="Add Recip Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } BivarX32 { init: z=fn1(pixel) z2=0 z1=fn2(z) if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=-z-1 elseif @sv==3 k=-1 elseif @sv==4 k=-exp(z) elseif @sv==5 k=-exp(z)-1 elseif @sv==6 k=sqr(z)-1 elseif @sv==7 k=cotanh(z)-1 elseif @sv==8 k=-cotanh(z) elseif @sv==9 k=-cotanh(z)-1 elseif @sv==10 k=-cotan(z)-1 elseif @sv==11 k=tan(z) elseif @sv==12 k=tan(z)-1 elseif @sv==13 k=-cos(z) elseif @sv==14 k=-cos(z)-1 elseif @sv==15 k=sin(z) elseif @sv==16 k=-sin(z) elseif @sv==17 k=-recip(z) else k=-recip(z)-1 endif k2=0 k1=fn2(k) c=p5 loop: z=p6*z+@p7 k=@p8*k+@p9 z=z+@p10/z k=k+@p10/k z=z+@p11*sqr(z) k=k+@p11*sqr(k) a=z k=@p12*fn3(z/k)^2+@p13 z=(z-1)^2+p1*z*z2+(k+1)^2+p2*k*k2+p3*k+c k=(k-1)^2+p1*a*z2+(a+1)^2+p2*k*k2+p4*a+c z2=z1 k2=k1 bailout: |z|<@bailout default: title="Bivar X 32" 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" endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p5 caption="C Parameter" default=(0.4,0) endparam param p1 caption="X Parameter 1" default=(-0.5,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p12 caption="Bivar Parameter 1" default=(1,0) endparam param p13 caption="Bivar Parameter 2" default=(0,0) endparam param p3 caption="Bivar Parameter 3" default=(-1,0) endparam param p4 caption="Bivar Parameter 4" default=(-1.5,0) endparam func fn3 caption="Bivar Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Add Sqr Parameter" default=(-0.2,0) endparam param p10 caption="Add Recip Parameter" default=(0,0) endparam param bailout caption="Bailout" default=100.0 endparam } TrivarJ/M { init: if @JM=="J1" || @JM=="J2" z=fn1(pixel) k=fn1(pixel) w=fn1(pixel) else z=p3 k=p3 w=p3 endif loop: zold=z z=p6*z+@p7 k=@p9*k+@p10 w=@p11*w+@p12 z=z+p4/z k=k+p4/k w=w+p4/w z=z+p5*sqr(z) k=k+p5*sqr(k) w=w+p5*sqr(w) if @JM=="J1" z=z^2+p1/k+p2 k=k^2+p1/w+p2 w=w^2+p1/z+p2 elseif @JM=="J2" a=z z=z^2+p1/k+p2 k=k^2+p1/w+p2 w=w^2+p1/a+p2 elseif @JM=="M1" z=z^2+p1/k+fn2(pixel) k=k^2+p1/w+fn2(pixel) w=w^2+p1/z+fn2(pixel) else a=z z=z^2+p1/k+fn2(pixel) k=k^2+p1/w+fn2(pixel) w=w^2+p1/a+fn2(pixel) endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Trivar J/M" center=(0.001,0.001) periodicity=0 magn=0.5 param JM caption="J/M" enum="J1""J2""M1""M2" endparam param p2 caption="C Parameter" default=(-1.5,0) visible=@JM=="J1" || @JM=="J2" endparam param p3 caption="Start Parameter" default=(-1,0) visible=@JM=="M1" || @JM=="M2" endparam func fn1 caption="Start Function" default=ident() visible=@JM=="J1" || @JM=="J2" endfunc func fn2 caption="C Function" default=ident() visible=@JM=="M1" || @JM=="M2" endfunc param p1 caption="Trivar Parameter" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(0.5,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(0.5,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="W Parameter 1" default=(0.5,0) endparam param p12 caption="W Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } TrivarX1 { init: z=@p14 if @sv==0 k=z w=z elseif @sv==1 k=z w=0 elseif @sv==2 k=flip(z) w=0 elseif @sv==3 k=exp(z) w=0 elseif @sv==4 k=0 w=exp(z) elseif @sv==5 k=0 w=cosh(z) elseif @sv==6 k=0 w=cos(z) elseif @sv==7 k=flip(z) w=flip(z) elseif @sv==8 k=flip(z) w=z elseif @sv==9 k=flip(z) w=exp(z) elseif @sv==10 k=exp(z) w=flip(z) elseif @sv==11 k=flip(z) w=sqr(z) elseif @sv==12 k=exp(z) w=sqr(z) elseif @sv==13 k=flip(z) w=tanh(z) elseif @sv==14 k=sqr(z) w=cos(z) else k=tanh(z) w=cos(z) endif loop: z=p6*z+@p7 k=@p8*k+@p9 w=@p15*fn2(w)+@p16 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k k=k*z*w+p1+fn3(pixel) b=z z=z^2+a^2+p2*z*a+fn3(pixel) w=w^2+p3*b+fn3(pixel) bailout: |z|<@bail default: title="Trivar X 1" center=(-0.671,0.001) periodicity=0 magn=1.5 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param p14 caption="Start Parameter" default=(-0.5,0) endparam param p1 caption="X Parameter 1" default=(0,0) endparam param p3 caption="X Parameter 2" default=(1,0) endparam param p2 caption="Trivar Parameter" default=(1,0) endparam func fn2 caption="W Function" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p15 caption="W Parameter 1" default=(1,0) endparam param p16 caption="W Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(1,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX33 { init: z=p1 k=z cz=fn1(pixel) ck=fn2(pixel) loop: z=@p8*z+@p9 k=@p10*k+@p11 z=z+@p7/z k=k+@p7/k z=z+p2*sqr(z) k=k+p2*sqr(k) if @v==0 a=z b=k d=cz z=z^2+p3*k+cz k=k^2+p4*a+ck cz=cz^2/(ck+p5)+a ck=ck^2/(d+p6)+b elseif @v==1 a=z b=k z=z^2+p3*k+cz k=k^2+p4*a+ck cz=cz^3/(ck+p5)+a ck=ck^2/(cz^2+p6)+b elseif @v==2 a=z d=cz z=z^2+p3*k+cz k=k^2+p4*a+ck cz=cz^2/(ck+p5)+a ck=ck^2/(d+p6)+k elseif @v==3 b=k d=cz z=z^2+p3*k+cz k=k^2+p4*z^2+ck cz=cz^2/(ck+p5)+z^2 ck=ck^2/(d+p6)+b elseif @v==4 a=z z=z^2+p3*k^2+cz k=k^3+p4*a+ck cz=cz^3/(ck+p5)+a ck=ck^2/(cz^2+p6)+k^2 elseif @v==5 b=k z=z^2+p3*k+cz k=k^2+p4*z+ck cz=cz^2/(ck+p5)+z ck=ck^2/(cz+p6)+b elseif @v==6 d=cz z=z^2+p3*k+cz k=k^2+p4*z+ck cz=cz^2/(ck+p5)+z ck=ck^2/(d+p6)+k endif bailout: |z|<@bail default: title="Bivar X 33" center=(0.001,0.001) periodicity=0 Param v caption="Variant" enum="1""2""3""4""5""6""7" endparam param p1 caption="Start Parameter" default=(-0.1,0) endparam param p3 caption="Bivar Parameter 1" default=(0.2,0) endparam param p4 caption="Bivar Parameter 2" default=(-0.15,0) endparam param p5 caption="C Parameter 1" default=(-3.4,0) endparam param p6 caption="C Parameter 2" default=(1,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn2 caption="C Function 2" default=ident() endfunc param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param p2 caption="Add Sqr Parameter" default=(-0.65,0) endparam param bail caption="Bailout" default=1000.0 endparam } TrivarX2J { init: z=fn1(pixel) if @sv==0 k=z w=z elseif @sv==1 k=-z w=z elseif @sv==2 k=z w=-z elseif @sv==3 k=z w=recip(z) elseif @sv==4 k=z w=-recip(z) elseif @sv==5 k=z w=exp(z) elseif @sv==6 k=z w=-exp(z) elseif @sv==7 k=-z w=exp(z) elseif @sv==8 k=-z w=-exp(z) elseif @sv==9 k=z w=sqr(z) elseif @sv==10 k=z w=-sqr(z) elseif @sv==11 k=z w=cotanh(z) elseif @sv==12 k=z w=cotan(z) elseif @sv==13 k=z w=tanh(z) elseif @sv==14 k=z w=tan(z) elseif @sv==15 k=z w=-cotanh(z) elseif @sv==16 k=z w=-cotan(z) elseif @sv==17 k=z w=-tanh(z) elseif @sv==18 k=z w=-tan(z) elseif @sv==19 k=z w=cosh(z) elseif @sv==20 k=z w=cos(z) elseif @sv==21 k=z w=-cosh(z) elseif @sv==22 k=z w=-cos(z) elseif @sv==23 k=z w=sinh(z) elseif @sv==24 k=z w=sin(z) elseif @sv==25 k=z w=-sinh(z) elseif @sv==26 k=z w=-sin(z) elseif @sv==27 k=sqr(z) w=z elseif @sv==28 k=-sqr(z) w=z elseif @sv==29 k=sqr(z) w=recip(z) elseif @sv==30 k=-sqr(z) w=recip(z) elseif @sv==31 k=cotanh(z) w=cotanh(z) elseif @sv==32 k=cotanh(z) w=cotan(z) elseif @sv==33 k=cotanh(z) w=tanh(z) elseif @sv==34 k=cotanh(z) w=tan(z) elseif @sv==35 k=cotan(z) w=cotanh(z) elseif @sv==36 k=cotan(z) w=cotan(z) elseif @sv==37 k=cotan(z) w=tanh(z) elseif @sv==38 k=cotan(z) w=tan(z) elseif @sv==39 k=tan(z) w=tanh(z) elseif @sv==40 k=tan(z) w=tan(z) endif loop: zold=z z=p6*z+@p7 k=@p9*k+@p10 w=@p11*w+@p12 z=z+p4/z k=k+p4/k w=w+p4/w z=z+p5*sqr(z) k=k+p5*sqr(k) w=w+p5*sqr(w) if @V=="J1" z=z^2+p1/k+p2 k=k^3+p1/w+p2 w=w^4+p1/z+p2 else a=z z=z^2+p1/k+p2 k=k^3+p1/w+p2 w=w^4+p1/a+p2 endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Trivar X 2 J" center=(0.001,0.001) periodicity=0 magn=0.5 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"\ "31""32""33""34""35""36""37""38""39""40"\ "41" endparam func fn1 caption="Start Function" default=ident() endfunc param V caption="Loop Variant" enum="J1""J2" endparam param p2 caption="C Parameter" default=(-1.5,0) endparam param p1 caption="Trivar Parameter" default=(-0.65,0) endparam param p6 caption="Z Parameter 1" default=(0.5,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(0.5,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="W Parameter 1" default=(0.5,0) endparam param p12 caption="W Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } TrivarX2M { init: z=p3 if @sv==0 k=z w=z elseif @sv==1 k=flip(z) w=z elseif @sv==2 k=exp(z) w=z elseif @sv==3 k=sqr(z) w=z elseif @sv==4 k=tan(z) w=z elseif @sv==5 k=cos(z) w=z elseif @sv==6 k=z w=flip(z) elseif @sv==7 k=flip(z) w=flip(z) elseif @sv==8 k=exp(z) w=flip(z) elseif @sv==9 k=sqr(z) w=flip(z) elseif @sv==10 k=tan(z) w=flip(z) elseif @sv==11 k=cos(z) w=flip(z) elseif @sv==12 k=z w=sqr(z) elseif @sv==13 k=exp(z) w=sqr(z) elseif @sv==14 k=sqr(z) w=sqr(z) elseif @sv==15 k=tan(z) w=sqr(z) elseif @sv==16 k=cos(z) w=sqr(z) elseif @sv==17 k=z w=tan(z) elseif @sv==18 k=flip(z) w=tan(z) elseif @sv==19 k=exp(z) w=tan(z) elseif @sv==20 k=sqr(z) w=tan(z) elseif @sv==21 k=tan(z) w=tan(z) elseif @sv==22 k=cos(z) w=tan(z) elseif @sv==23 k=flip(z) w=cos(z) elseif @sv==24 k=sqr(z) w=cos(z) else k=cos(z) w=cos(z) endif loop: zold=z z=p6*z+@p7 k=@p9*k+@p10 w=@p11*w+@p12 z=z+p4/z k=k+p4/k w=w+p4/w z=z+p5*sqr(z) k=k+p5*sqr(k) w=w+p5*sqr(w) if @V=="M1" z=z^2+p1/k+fn2(pixel) k=k^3+p1/w+fn2(pixel) w=w^4+p1/z+fn2(pixel) else a=z z=z^2+p1/k+fn2(pixel) k=k^3+p1/w+fn2(pixel) w=w^4+p1/a+fn2(pixel) endif bailout: (@bt==0 && |z|<@baildiv) || (@bt==1 && |z-zold|>@bailcon) default: title="Trivar X 2 M" center=(0.001,0.001) periodicity=0 magn=0.5 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" endparam param p3 caption="Start Parameter" default=(-1,0) endparam param V caption="Loop Variant" enum="M1""M2" endparam func fn2 caption="C Function" default=ident() endfunc param p1 caption="Trivar Parameter" default=(-0.65,0) endparam param p6 caption="Z Parameter 1" default=(0.5,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(0.5,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="W Parameter 1" default=(0.5,0) endparam param p12 caption="W Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Divergent""Convergent" default=1 endparam param baildiv caption="Bailout Value" default=10000000.0 visible=@bt==0 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==1 endparam } BivarX34 { init: z=p1 if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=0 elseif @sv==3 k=flip(z) elseif @sv==4 k=sqrt(z) elseif @sv==5 k=sqr(z) elseif @sv==6 k=-sqr(z) endif cz=pixel ck=pixel loop: z=@p8*z+@p9 k=@p10*k+@p11 z=z+@p7/z k=k+@p7/k z=z+p2*sqr(z) k=k+p2*sqr(k) k=@p12*k/z+@p13 z=z^4+p3*k+cz k=tan(k)^2+p4*z+ck cz=tan(cz)^2+p5*ck+z ck=tanh(ck)^2+p6*cz+k bailout: |z|<@bail default: title="Bivar X 34" center=(0.001,0.001) magn=2 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7" endparam param p1 caption="Start Parameter" default=(-0.1,0) endparam param p12 caption="Bivar Parameter 1" default=(-0.25,0) endparam param p13 caption="Bivar Parameter 2" default=(0,0) endparam param p3 caption="Bivar Parameter 3" default=(0.7,0) endparam param p4 caption="Bivar Parameter 4" default=(-0.75,0) endparam param p5 caption="C Parameter 1" default=(-0.8,0) endparam param p6 caption="C Parameter 2" default=(1.15,0) endparam param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param p2 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } BivarX35 { init: z=p1 k=z cz=fn1(pixel) ck=fn2(pixel) loop: zold=z z=@p8*z+@p9 k=@p10*k+@p11 z=z+@p7/z k=k+@p7/k z=z+p2*sqr(z) k=k+p2*sqr(k) z=(k/z)^2+p3*k+cz k=(k/z)^2+p4*z+ck bailout: |z-zold|>@bail default: title="Bivar X 35" center=(0.001,0.001) magn=0.5 periodicity=0 param p1 caption="Start Parameter" default=(0.2,0) endparam param p3 caption="Bivar Parameter 1" default=(-0.8,0) endparam param p4 caption="Bivar Parameter 2" default=(1,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn2 caption="C Function 2" default=ident() endfunc param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param p2 caption="Add Sqr Parameter" default=(-0.15,0) endparam param bail caption="Bailout" default=0.000000001 endparam } TrivarX3 { init: z=@p14 if @sv==0 k=z w=z elseif @sv==1 k=exp(z) w=sqr(z) elseif @sv==2 k=-z w=-z elseif @sv==3 k=z w=2*z elseif @sv==4 k=z w=-2*z elseif @sv==5 k=flip (z) w=z elseif @sv==6 k=z w=flip(z) elseif @sv==7 k=flip(z) w=flip(z) elseif @sv==8 k=-sqr(z) w=-sqr(z) elseif @sv==9 k=sqr(z) w=-sqr(z) elseif @sv==10 k=-sqr(z) w=sqr(z) elseif @sv==11 k=sqr(z) w=sqr(z) elseif @sv==12 k=sqr(z) w=exp(z) elseif @sv==13 k=-sqr(z) w=-z elseif @sv==14 k=z w=sqrt(z) elseif @sv==15 k=sqrt(z) w=z elseif @sv==16 k=-sqrt(z) w=-z elseif @sv==17 k=sqrt(z) w=sqrt(z) elseif @sv==18 k=sqr(z) w=sqrt(z) elseif @sv==19 k=sqrt(z) w=sqr(z) elseif @sv==20 k=sqrt(z) w=-sqr(z) elseif @sv==21 k=z w=-cos(z) elseif @sv==22 k=z w=cos(z) elseif @sv==23 k=flip(z) w=cos(z) elseif @sv==24 k=flip(z) w=-cos(z) elseif @sv==25 k=sqr(z) w=cos(z) elseif @sv==26 k=-sqr(z) w=-cos(z) elseif @sv==27 k=z+flip(z) w=z elseif @sv==28 k=z+flip(z) w=z+flip(z) elseif @sv==29 k=z+flip(z) w=z+exp(z) elseif @sv==30 k=z+flip(z) w=z+sqr(z) elseif @sv==31 k=z+sqr(z) w=z+exp(z) elseif @sv==32 k=z+sqrt (z) w=z-flip(z) else k=z w=z-sqr(z) endif c=fn1(pixel) loop: z=p6*z+@p7 k=@p8*k+@p9 w=@p15*w+@p16 z=z+p4/z k=k+p4/k z=z+p5*sqr(z) k=k+p5*sqr(k) a=k b=w k=p1*fn2(z/k)+p2 w=p3*fn3(z/w)+@p17 z=c*z*(z-1)^2+c*a^2*(a-1)+c*b*(b+1)*(b-1)+c bailout: |z|<@bail default: title="Trivar X 3" 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"\ "31""32""33""34" endparam param p14 caption="Start Parameter" default=(-0.5,0) endparam param p1 caption="Trivar Parameter 1" default=(0.25,0) endparam param p3 caption="Trivar Parameter 2" default=(-0.15,0) endparam param p2 caption="Trivar Parameter 3" default=(-0.9,0) endparam param p17 caption="Trivar Parameter 4" default=(0,0) endparam func fn1 caption="C Function" default=ident() endfunc func fn2 caption="Bivar Function 1" default=ident() endfunc func fn3 caption="Bivar Function 2" default=ident() endfunc param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p8 caption="K Parameter 1" default=(1,0) endparam param p9 caption="K Parameter 2" default=(0,0) endparam param p15 caption="W Parameter 1" default=(1,0) endparam param p16 caption="W Parameter 2" default=(0,0) endparam param p4 caption="Add Recip Parameter" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(1,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarX36 { init: z=p1 if @sv==0 k=-z elseif @sv==1 k=z elseif @sv==2 k=0 elseif @sv==3 k=flip(z) elseif @sv==4 k=sqrt (z) elseif @sv==5 k=sqr(z) elseif @sv==6 k=z+flip(z) elseif @sv==7 k=z-sqrt(z) elseif @sv==8 k=z+sqr(z) else k=z-sqr(z) endif c=fn2(pixel) loop: z=@p8*z+@p9 k=@p10*k+@p11 z=z+@p7/z k=k+@p7/k z=z+p2*sqr(z) k=k+p2*sqr(k) a=k k=@p12*fn1(k/z)+@p13 z=(c^2-1)*z^3/c^2-(c^3-1)*z^2/c^2+(c^2-1)*a^3/c^2-(c^3-1)*a^2/c^2+c bailout: |z|<@bail default: title="Bivar X 36" center=(1.251,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10" endparam param p1 caption="Start Parameter" default=(0.15,0) endparam param p12 caption="Bivar Parameter 1" default=(0.5,0) endparam param p13 caption="Bivar Parameter 2" default=(0.1,0) endparam func fn1 caption="Bivar Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param p2 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } WurgulationRings2 { ;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 z=z+@p8*(z-1i)/(z+1i)+@p9*(2*z-1i)/(z+2i)*(z-1i) int i=0 loop: while i<@iter i=i+1 z=(z-p6)/(1-p6*z) z=z/(@p10*z+1) z=z+@p7*(2*z-1i)/(z+2i)/(z-1) z=z+@p14*(z+1i)*(z-1)/(z-1i) z=z+@p15*(z-1i)/(z+1i) z=p1*fn2(sqr(flip(fn3(z))))+p2+@p16*pixel if |z|>1 z=z/|z| endif z=z+@p12*tan(z) z=z+@p13*sqr(z) 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*@p11+1)+1/(z^2*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="2" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z^2*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="3" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z^2*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="4" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z^2*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="5" z=p4*fn4(log(abs(@fn5((z^3*@p11+1)+1/(z^2*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="6" z=p4*fn4(log(abs(@fn5((z^3*@p11+1)+1/(z^2*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="7" z=p4*fn4(log(abs(@fn5((z^3*@p11)+1/(z^2*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="8" z=p4*fn4(log(abs(@fn5((z^3*@p11)+1/(z^2*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="9" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z^3*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="10" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z^3*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="11" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z^3*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="12" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z^3*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="13" z=p4*fn4(log(abs(@fn5((z^3*@p11+1)+1/(z^3*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="14" z=p4*fn4(log(abs(@fn5((z^3*@p11+1)+1/(z^3*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="15" z=p4*fn4(log(abs(@fn5((z^3*@p11)+1/(z^3*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="16" z=p4*fn4(log(abs(@fn5((z^3*@p11)+1/(z^3*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="17" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="18" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="19" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="20" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="21" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z^2*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="22" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z^2*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="23" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z^2*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="24" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z^2*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="25" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z^2*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="26" z=p4*fn4(log(abs(@fn5((z^3*@p11+1i)+1/(z^2*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="27" z=p4*fn4(log(abs(@fn5((z^3*@p11+1i)+1/(z^2*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="28" z=p4*fn4(log(abs(@fn5((z^3*@p11)+1/(z^2*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="29" z=p4*fn4(log(abs(@fn5((z^3*@p11+1)+1/(z^2*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="30" z=p4*fn4(log(abs(@fn5((z^3*@p11+1i)+1/(z^2*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="31" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z^3*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="32" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z^3*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="33" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z^3*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="34" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z^3*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="35" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z^3*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="36" z=p4*fn4(log(abs(@fn5((z^3*@p11+1i)+1/(z^3*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="37" z=p4*fn4(log(abs(@fn5((z^3*@p11+1i)+1/(z^3*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="38" z=p4*fn4(log(abs(@fn5((z^3*@p11)+1/(z^3*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="39" z=p4*fn4(log(abs(@fn5((z^3*@p11+1)+1/(z^3*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="40" z=p4*fn4(log(abs(@fn5((z^3*@p11+1i)+1/(z^3*@p11+1)))))+p5+@p17*@fn6(pixel) elseif @V=="41" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z*@p11-1i)))))+p5+@p17*@fn6(pixel) elseif @V=="42" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z*@p11)))))+p5+@p17*@fn6(pixel) elseif @V=="43" z=p4*fn4(log(abs(@fn5((z^2*@p11)+1/(z*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="44" z=p4*fn4(log(abs(@fn5((z^2*@p11+1)+1/(z*@p11+1i)))))+p5+@p17*@fn6(pixel) elseif @V=="45" z=p4*fn4(log(abs(@fn5((z^2*@p11+1i)+1/(z*@p11+1)))))+p5+@p17*@fn6(pixel) endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Wurgulation Rings 2" 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 iter caption="Iterations" default=3 endparam param p8 caption="Start Parameter 1" default=(0,0) endparam param p9 caption="Start 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 p7 caption="Add W Parameter 1" default=(0,0) endparam param p14 caption="Add W Parameter 2" default=(0,0) endparam param p15 caption="Add Cayley Parameter" default=(0,0) endparam param p11 caption="C Parameter" default=(1,0) endparam param p1 caption="Z Parameter 1" default=(1,0) endparam param p2 caption="Z Parameter 2" default=(0,0) endparam param p3 caption="K 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 p12 caption="Add Tan Parameter" default=(0,0) endparam param p13 caption="Add Sqr Parameter" 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="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 p17 caption="Add Pixel Parameter 1" default=(0,0) endparam func fn6 caption="Add Pixel Function" default=ident() visible=@p17!=0 endfunc param p16 caption="Add Pixel Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100000000.0 endparam } BivarMunsterMagnet3 { init: if@JM==1 z=p6 else z=fn3(pixel) endif k=z if@JM==1 c=fn1(pixel) else c=@p13 endif loop: z=p4*z+p5 k=@p7*k+@p8 z=z+@p9/z k=k+@p9/k z=z+@p17*(2*z+1i)/(z+2i)/(z+1)*(1i-z) k=k+@p17*(2*k+1i)/(k+2i)/(k+1)*(1i-k) z=z+@p18*(z+1i)*(z-1)/(z-1i) k=k+@p18*(k+1i)*(k-1)/(k-1i) z=z+@p10*sqr(z) k=k+@p10*sqr(k) a=z z=sqr((z^2+p3*c-1)/(2*z+p3*c-2))+p1*k k=k^2*(k-@p14*c)/(1-@p14*c*k)+p2*a bailout: |z|<@bail default: title="Bivar Munster Magnet 3" center=(0.001,0.001) periodicity=0 param JM caption="J/M" enum="J""M" endparam param p6 caption="Start Parameter" default=(0.325,0) visible=@JM==1 endparam func fn3 caption="Start Function" default=ident() visible=@JM==0 endfunc param p13 caption="C parameter" default=(1,0) visible=@JM==0 endparam func fn1 caption="C Function" default=ident() visible=@JM==1 endfunc param p1 caption="Bivar Parameter 1" default=(-1,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam param p3 caption="Magnet Parameter" default=(1,0) endparam param p14 caption="Munster Parameter" default=(1,0) endparam param p17 caption="Add W Parameter 1" default=(0,0) endparam param p18 caption="Add W Parameter 2" default=(0,0) endparam param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p7 caption="K Parameter 1" default=(1,0) endparam param p8 caption="K Parameter 2" default=(0,0) endparam param p10 caption="Add Sqr Parameter" default=(0,0) endparam param p9 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100000.0 endparam } Ringun2 { 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=(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+@p12*tan(z) z=z+@p11/cos(z) z=p3*fn4(sqr(z))+p4 if |z|<1 z=z/|z| endif if @V=="none" z=z elseif @V=="1" z=z+cotan(z) elseif @V=="2" z=z+cotan(z)-1 elseif @V=="3" z=z-exp(z)+1 elseif @V=="4" z=z-exp(z) elseif @V=="5" z=z-log(z) elseif @V=="6" z=z-log(z)+1 elseif @V=="7" z=z-log(z)-1 elseif @V=="8" z=z-sqrt(z) elseif @V=="9" z=z-sqrt(z)+1 elseif @V=="10" z=z-sqrt(z)-1 elseif @V=="11" z=z-cotanh(z) elseif @V=="12" z=z-cotanh(z)-1 elseif @V=="13" z=z-sinh(z) elseif @V=="14" z=z-sinh(z)+1 elseif @V=="15" z=z-sinh(z)-1 elseif @V=="16" z=z+1/z elseif @V=="17" z=z+1/z+1 elseif @V=="18" z=z+1/z-1 elseif @V=="19" z=z+1/log(z) elseif @V=="20" z=z+1/log(z)-1 elseif @V=="21" z=z+1/sqrt(z) elseif @V=="22" z=z+1/sqrt(z)-1 elseif @V=="23" z=z+1/sqr(z) elseif @V=="24" z=z+1/sqr(z)+1 elseif @V=="25" z=z+1/sqr(z)-1 elseif @V=="26" z=z+1/tan(z) elseif @V=="27" z=z+1/tan(z)-1 elseif @V=="28" z=z+1/sinh(z) elseif @V=="29" z=z+1/sinh(z)-1 elseif @V=="30" z=z+1/sin(z) elseif @V=="31" z=z+1/sin(z)-1 elseif @V=="32" z=z-1/z elseif @V=="33" z=z-1/z-1 elseif @V=="34" z=z-1/sqr(z) elseif @V=="35" z=z-1/sqr(z)-1 elseif @V=="36" z=z-1/cotanh(z) elseif @V=="37" z=z-1/cotanh(z)-1 elseif @V=="38" z=z-1/cotan(z) elseif @V=="39" z=z-1/cotan(z)-1 elseif @V=="40" z=z-1/cotan(z)+1 elseif @V=="41" z=z-1/sin(z) elseif @V=="42" z=z-1/sin(z)-1 endif k=cos(i)+sqrt(-1)*i z=p1*@fn5(log(abs(z^@pow+fn2(k)*p5)))+p2+@p15*fn3(pixel)+@p15*fn3(pixel) endwhile z=@adj*z/100 bailout: |z|<@bail default: title="Ringun 2" center=(0.001,0.001) maxiter=500 periodicity=0 param p13 caption="Start Parameter 1" default=(0,0) endparam param p14 caption="Start Parameter 2" default=(0,0) endparam param V 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=5 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Ringun Function" default=ident() endfunc func fn4 caption="Z Function" default=ident() endfunc func fn5 caption="Labs Function" default=ident() endfunc param p1 caption="Labs Parameter 1" default=(1,0) endparam param p2 caption="Labs Parameter 2" default=(0,0) endparam param p3 caption="Z Parameter 1" default=(1,0) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam param p5 caption="Ringun Parameter" default=(1,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 p12 caption="Add Tan Parameter" default=(0,0) endparam param pow caption="Exponent" default=2 endparam param p15 caption="Add Pixel Parameter" default=(0,0) endparam func fn3 caption="Add Pixel Function" default=ident() visible=@p15!=0 endfunc param adj caption="Adjustment" default=102.0 endparam param bail caption="Bailout" default=10000.0 endparam } BivarX37 { init: z=p1 if @sv==0 k=z elseif @sv==1 k=2*flip(z) elseif @sv==2 k=2*z elseif @sv==3 k=z+flip(z) elseif @sv==4 k=z-flip(z) elseif @sv==5 k=z-sqrt(z) elseif @sv==6 k=z+2*flip(z) else k=z-2*flip(z) endif c=fn2(abs(pixel)) loop: z=@p8*z+@p9 k=@p10*k+@p11 z=z+@p17*(2*z+1i)/(z+2i)/(z+1)*(1i-z) k=k+@p17*(2*k+1i)/(k+2i)/(k+1)*(1i-k) z=z+@p18*(z+1i)*(z-1)/(z-1i) k=k+@p18*(k+1i)*(k-1)/(k-1i) z=z+@p20*tan(z) k=k+@p20*tan(k) z=z+@p7/z k=k+@p7/k z=z+p2*sqr(z) k=k+p2*sqr(k) a=k if @v==0 k=@p12*fn1(k/z)+@p13 elseif@v==1 k=@p12*fn1(z/k)+@p13 elseif@v==2 k=@p12*fn1(z^2/k)+@p13 elseif@v==3 k=@p12*fn1((k+z)/z)+@p13 elseif@v==4 k=@p12*fn1(k+k/z)+@p13 elseif@v==5 k=@p12*fn1((k+z)/k)+@p13 elseif@v==6 k=@p12*fn1(k/(k+z))+@p13 elseif@v==7 k=@p12*fn1(z/(k+z))+@p13 elseif@v==8 k=@p12*fn1(k^2+z/k)+@p13 endif z=z^2+a^2+c^c bailout: |z|<@bail default: title="Bivar X 37" center=(0.001,0.001) magn=0.5 angle=270 periodicity=0 param sv caption= "Start Variant" enum="1""2""3""4""5""6""7""8" endparam param v caption= "Loop Variant" enum="1""2""3""4""5""6""7""8""9" endparam param p1 caption="Start Parameter" default=(0.15,0) endparam param p12 caption="Bivar Parameter 1" default=(0.4,0) endparam param p13 caption="Bivar Parameter 2" default=(0,0) endparam func fn1 caption="Bivar Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(-0.2,-0.15) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p17 caption="Add W Parameter 1" default=(0,0) endparam param p18 caption="Add W Parameter 2" default=(0,0) endparam param p20 caption="Add Tan Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param p2 caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } BivarX38 { init: z=@start1 k=@start2 int i=0 c=fn2(pixel) loop: i=i+1 z=p5*z+p6 k=@p7*k+@p8 if @v==0 k=p3*fn1(z/k)+p4 a=z z=z^i+p1*k+c k=k^i+p2*a+c elseif @v==1 k=p3*fn1(z/k)+p4 z=z^i+p1*k+c k=k^i+p2*z+c elseif @v==2 k=p3*fn1(z/k)+p4 a=z z=z^i+p1*k+c k=k^i+p2*a+c c=@p9*z/k else k=p3*fn1(z/k)+p4 z=z^i+p1*k+c k=k^i+p2*z+c c=@p9*z/k endif bailout: |z|<@bail default: title="Bivar X 38" center=(0.001,0.001) periodicity=0 param v caption="Variant" enum="1""2""3""4" endparam param start1 caption="Start Parameter Z" default=(-0.5,0) endparam param start2 caption="Start Parameter K" default=(-0.5,0) endparam param p1 caption="Bivar Parameter 1" default=(1,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam param p3 caption="Bivar Parameter 3" default=(1,0) endparam param p4 caption="Bivar Parameter 4" default=(0,0) endparam param p9 caption="Bivar Parameter 5" default=(-0.25,0) visible=@v==2 || @v==3 endparam func fn1 caption="Bivar Function" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc param p5 caption="Z Parameter 1" default=(1,0) endparam param p6 caption="Z Parameter 2" default=(0,0) endparam param p7 caption="K Parameter 1" default=(1,0) endparam param p8 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=50.0 endparam } BivarX39 { init: z=(-0.33,0) if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=flip(z) elseif @sv==3 k=flip(sqr(z)) else k=recip(log(z)) endif int i=0 c=fn3(pixel) loop: i=i+1 z=p4*z+p5 k=p6*k+@p7 if @v==0 a=k k=p1*fn1(k/z)+p2 z=z^i+a^i+c c=p3*fn2(k/z) elseif @v==1 a=k k=p1*fn1(k/z)+p2 z=z^i+a^i+c c=p3*fn2(a/z) elseif @v==2 b=z a=k k=p1*fn1(k/z)+p2 z=z^i+a^i+c c=p3*fn2(a/b) else a=k b=z k=p1*fn1(k/z)+p2 z=z^i+a^i+c c=p3*fn2(k/b) endif bailout: |z|<@bail default: title="Bivar X 39" center=(0.001,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5" endparam param v caption="Loop Variant" enum="1""2""3""4" endparam param p1 caption="Bivar Parameter 1" default=(0.4,0) endparam param p2 caption="Bivar Parameter 2" default=(-0.25,0) endparam param p3 caption="Bivar Parameter 3" default=(0.75,0) endparam func fn1 caption="Bivar Function 1" default=ident() endfunc func fn2 caption="Bivar Function 2" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } BivarX40 { init: z=@start1 k=@start2 int i=0 c=fn3(recip(pixel)) loop: i=i+1 z=p4*z+p5 k=p6*k+@p7 if @v==0 a=k k=p1*fn1(sinh(k/z))+p2 z=(z+a)^i+c c=p3*fn2(cos(k/z)) elseif @v==1 a=k k=p1*fn1(sinh(k/z))+p2 z=(z+a)^i+c c=p3*fn2(cos(a/z)) elseif @v==2 b=z a=k k=p1*fn1(sinh(k/z))+p2 z=(z+a)^i+c c=p3*fn2(cos(a/b)) elseif @v==3 a=k b=z k=p1*fn1(tan(k/z))+p2 z=(z+a)^i+c c=p3*fn2(cos(k/b)) elseif @v==4 b=z a=k k=p1*fn1(exp(k/z))+p2 z=(z+a)^i+c c=p3*fn2(tan(a/b)) elseif @v==5 a=k k=p1*fn1(cos(k/z))+p2 z=(z+a)^i+c c=p3*fn2(tan(a/z)) else a=k k=p1*fn1(sqr(k/z))+p2 z=(z+a)^i+c c=p3*fn2(sinh(k/z)) endif bailout: |z|<@bail default: title="Bivar X 40" center=(0.001,0.001) magn=0.25 periodicity=0 param start1 caption="Start Parameter Z" default=(-0.33,0) endparam param start2 caption="Start Parameter K" default=(-0.33,0) endparam param v caption="X Variant" enum="1""2""3""4""5""6""7" endparam param p1 caption="Bivar Parameter 1" default=(0.4,0) endparam param p2 caption="Bivar Parameter 2" default=(-0.25,0) endparam param p3 caption="Bivar Parameter 3" default=(0.75,0) endparam func fn1 caption="Bivar Function 1" default=ident() endfunc func fn2 caption="Bivar Function 2" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p4 caption="Z Parameter 1" default=(1,0) endparam param p5 caption="Z Parameter 2" default=(0,0) endparam param p6 caption="K Parameter 1" default=(1,0) endparam param p7 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } BivarX41 { init: z=@start1 k=@start2 int i=0 c=fn2(pixel) loop: i=i+1 z=p5*z+p6 k=@p7*k+@p8 if @v==0 k=p3*fn1(sqrt(i*k/z))+p4 a=z z=(z+p1*k)^2+c k=(k+p2*a)^2+c c=@p9*fn4(cotan(z/k)) elseif @v==1 k=p3*fn1(cos(sqrt(i*k/z)))+p4 a=z z=(z+p1*k)^2-c k=(k+p2*a)^2-c c=@p9*fn4(cotan(z/k)) elseif @v==2 b=k k=p3*fn1(sqrt(i*k/z))+p4 a=z z=(z+p1*k)^2+c k=(k+p2*a)^2+c c=@p9*fn4(cotan(a/b)) else b=k k=p3*fn1(sin(sqrt(i*k/z)))+p4 a=z z=(z+p1*k)^2-c k=(k+p2*a)^2-c c=@p9*fn4(cos(cotan(a/b))) endif bailout: |z|<@bail default: title="Bivar X 41" center=(0.001,0.001) periodicity=0 param v caption="Variant" enum="1""2""3""4" endparam param start1 caption="Start Parameter Z" default=(-0.5,0) endparam param start2 caption="Start Parameter K" default=(-0.5,0) endparam param p1 caption="Bivar Parameter 1" default=(0.75,0) endparam param p2 caption="Bivar Parameter 2" default=(1,0) endparam param p3 caption="Bivar Parameter 3" default=(-0.3,0) endparam param p4 caption="Bivar Parameter 4" default=(0,0) endparam param p9 caption="Bivar Parameter 5" default=(1,0) endparam func fn1 caption="Bivar Function 1" default=ident() endfunc func fn4 caption="Bivar Function 2" default=ident() endfunc func fn2 caption="C Function" default=ident() endfunc param p5 caption="Z Parameter 1" default=(1,0) endparam param p6 caption="Z Parameter 2" default=(0,0) endparam param p7 caption="K Parameter 1" default=(1,0) endparam param p8 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=50.0 endparam } BivarX42 { init: z=@s if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=z-1 elseif @sv==3 k=flip(z) elseif @sv==4 k=exp(z)+1 elseif @sv==5 k=1-exp(z) elseif @sv==6 k=1-log(z) elseif @sv==7 k=-sqrt(z) elseif @sv==8 k=1+sqrt(z) elseif @sv==9 k=sqr(z) elseif @sv==10 k=recip(z)-1 endif c=@cf(pixel) int i=0 loop: i=i+1 z=@zp1*z+@zp2 k=@kp1*k+@kp2 z=z+@asp*sqr(z) k=k+@asp*sqr(k) z=z+@arp/z k=k+@arp/k a=k k=@bp1*@bf1(z/k)+@bp2 z=sqr(z-a)^i+c c=c+@bp3*@bf2(tan(k/z)) bailout: |z|<@bail default: title="Bivar X 42" center=(0.501,0.001) angle=270 periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10""11" endparam param s caption="Start Parameter" default=(0.33,0) endparam param bp1 caption="Bivar Parameter 1" default=(0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(0.5,0) endparam param bp3 caption="Bivar Parameter 3" default=(0.5,0) endparam func cf caption="C Function" default=ident() endfunc func bf1 caption="Bivar Function 1" default=ident() endfunc func bf2 caption="Bivar Function 2" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(-0.6,0) endparam param arp caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } BivarX43 { init: z=(1,0) k=z c=@cf(pixel) int i=0 loop: i=i+1 z=@zp1*z+@zp2 k=@kp1*k+@kp2 z=z+@asp*sqr(z) k=k+@asp*sqr(k) z=z+@arp/z k=k+@arp/k a=k k=@bp1*@bf1(k/z)+@bp2 b=z-a z=((p1*c*(1-b^i)-2*b*p2*(1-p1*p2*b))/(1+b^i-2*p1*p2*b))^2+p3 c=c+@bp3*@bf2(log(k/z)) bailout: |z|<@bail default: title="Bivar X 43" center=(0.501,0.001) angle=270 periodicity=0 param p1 caption="X Parameter 1" default=(0.6,0) endparam param p2 caption="X Parameter 2" default=(1,0) endparam param p3 caption="X Parameter 3" default=(1,0) endparam param bp1 caption="Bivar Parameter 1" default=(1.2,0) endparam param bp2 caption="Bivar Parameter 2" default=(0,0) endparam param bp3 caption="Bivar Parameter 3" default=(2,0) endparam func cf caption="C Function" default=ident() endfunc func bf1 caption="Bivar Function 1" default=ident() endfunc func bf2 caption="Bivar Function 2" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(-0.6,0) endparam param arp caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } BivarX44 { init: z=p1 if @sv==0 k=z elseif @sv==1 k=flip(z) elseif @sv==2 k=sqrt(z) elseif @sv==3 k=sqr(z) elseif @sv==4 k=cos(z) elseif @sv==5 k=-z elseif @sv==6 k=-cotanh(z) elseif @sv==7 k=-cotan(z) elseif @sv==8 k=-cos(z) elseif @sv==9 k=-recip(z) elseif @sv==10 k=flip(z)+1 elseif @sv==11 k=sqr(z)+1 elseif @sv==12 k=cotanh(z)+1 elseif @sv==13 k=acosh(z)-1 elseif @sv==14 k=cotan(z)+1 elseif @sv==15 k=recip(z)+1 elseif @sv==16 k=recip(z)-1 elseif @sv==17 k=flip(z)-1 elseif @sv==18 k=sqrt(z)-1 elseif @sv==19 k=cosh(z)-1 elseif @sv==20 k=1-z elseif @sv==21 k=1-recip(z) elseif @sv==22 k=log(z)+1 elseif @sv==23 k=1-acosh(z) elseif @sv==24 k=log(z) elseif @sv==25 k=acosh(z) elseif @sv==26 k=-acosh(z)-1 elseif @sv==27 k=1+acos(z) endif c=fn1(pixel) int i=0 loop: i=i+1 z=@p7*z+@p8 k=@p9*k+@p10 z=z+@p11*sqr(z) k=k+@p11*sqr(k) z=z+@p12/z k=k+@p12/k if @v==0 a=z k=p2*fn2(k/z)+p3 z=sqr((z^i+c-1)/(2*z+c-2))+p4*k k=sqr((k^i+c-1)/(2*k+c-2))+p5*a elseif @v==1 k=p2*fn2(k/z)+p3 z=sqr((z^i+c-1)/(2*z+c-2))+p4*k k=sqr((k^i+c-1)/(2*k+c-2))+p5*z elseif @v==2 a=z k=p2*fn2(k/z)+p3 z=sqr((z^i+c-1)/(2*z+c-2))+p4*k k=sqr((k^i+c-1)/(2*k+c-2))+p5*a c=p6*fn3(k/z) elseif @v==3 k=p2*fn2(k/z)+p3 z=sqr((z^i+c-1)/(2*z+c-2))+p4*k k=sqr((k^i+c-1)/(2*k+c-2))+p5*z c=p6*fn3(k/z) endif bailout: |z|<@bail default: title="Bivar X 44" center=(0.001,0.001) angle=270 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" endparam param p1 caption="Start Parameter" default=(-0.5,0) endparam param v caption="X Variant" enum="1""2""3""4" endparam param p2 caption="Bivar Parameter 1" default=(-0.3,0) endparam param p3 caption="Bivar Parameter 2" default=(0,0) endparam param p4 caption="Bivar Parameter 3" default=(1,0) endparam param p5 caption="Bivar Parameter 4" default=(1,0) endparam param p6 caption="Bivar Parameter 5" default=(0.25,0) visible=@v==2 || @v==3 endparam param p7 caption="Z Parameter 1" default=(1,0) endparam param p8 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(1,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Add Sqr Parameter" default=(0,0) endparam param p12 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="C Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc func fn3 caption="Bivar Function 2" default=ident() visible=@v==2 || @v==3 endfunc param bail caption="Bailout" default=100.0 endparam } BivarX45 { init: z=p1 k=z c=fn1(pixel) int i=0 loop: i=i+1 z=@p7*z+@p8 k=@p9*k+@p10 z=z+@p11*sqr(z) k=k+@p11*sqr(k) z=z+@p12/z k=k+@p12/k a=z k=p2*fn2(z/k)+p3 if @v==0 z=z^i*(z-c)/(1-c*z)+p4*k k=k^i*(k-c)/(1-c*k)+p5*a elseif @v==1 z=z^i*(z-c)/(1-c*z)+p4*k k=k^i*(k-c)/(1-c*k)+p5*a c=p6*fn3(k/z) elseif @v==2 z=z^i*(z-c)/(1-c*z)+p4*k k=k^i*(k-c)/(1-c*k)+p5*a c=p6*fn3(k+z) elseif @v==3 z=z^i*(z-c)/(1-c*z)+p4*k k=k^i*(k-c)/(1-c*k)+p5*a c=p6*fn3(k-z) elseif @v==4 z=z^i*(z-c)/(1-c*z)+p4*k k=k^i*(k-c)/(1-c*k)+p5*a c=p6*fn3(k*z) elseif @v==5 z=z^i*(z-c)/(1-c*z)+p4*k k=k^i*(k-c)/(1-c*k)+p5*a c=p6*fn3(z/k) endif bailout: |z|<@bail default: title="Bivar X 45" center=(0.001,0.001) angle=270 magn=0.25 periodicity=0 param p1 caption="Start Parameter" default=(-0.5,0) endparam param v caption="X Variant" enum="1""2""3""4""5""6" endparam param p2 caption="Bivar Parameter 1" default=(-0.5,0) endparam param p3 caption="Bivar Parameter 2" default=(0,0) endparam param p4 caption="Bivar Parameter 3" default=(0.75,0) endparam param p5 caption="Bivar Parameter 4" default=(1,0) endparam param p6 caption="Bivar Parameter 5" default=(-1,0) endparam param p7 caption="Z Parameter 1" default=(1,0) endparam param p8 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(1,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Add Sqr Parameter" default=(0,0) endparam param p12 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="C Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc func fn3 caption="Bivar Function 2" default=ident() endfunc param bail caption="Bailout" default=100000.0 endparam } Smafer { init: z=(0,0) c=fn1(pixel) int i=0 loop: if @v==0 i=i+1 z=p3*fn2(z)+p4 z=p1*z^i+c c=p2*i^fn3(z)-c elseif @v==1 i=i+1 z=p3*fn2(z)+p4 z=p1*z^i+c^2 c=p2*i^fn3(z)-c elseif @v==2 i=i+1 z=p3*fn2(z)+p4 z=p1*z+c c=p2*i^fn3(z)-c elseif @v==3 i=i+1 z=p3*fn2(z)+p4 z=p1*z+c c=p2*i^fn3(z)-c^2 elseif @v==4 i=i+1 z=p3*fn2(z)+p4 z=p1*z^2+c c=p2*i^fn3(z)-c elseif @v==5 i=i-1 z=p3*fn2(z)+p4 z=p1*z+c c=p2*i^fn3(z)-c^2 elseif @v==6 i=i-1 z=p3*fn2(z)+p4 z=p1*z^2+c c=p2*i^fn3(z)-c elseif @v==7 i=i+1 z=p3*fn2(z)+p4 z=p1*z^2-c c=p2*i^fn3(z)+c elseif @v==8 i=i-1 z=p3*fn2(z)+p4 z=p1*z^2-c c=p2*i^fn3(z)+c elseif @v==9 i=i-1 z=p3*fn2(z)+p4 z=p1*z+c c=p2*i^fn3(z) elseif @v==10 i=i-1 z=p3*fn2(z)+p4 a=z z=p1*z^2+c c=p2*i^fn3(a)-c elseif @v==11 i=i+1 z=p3*fn2(z)+p4 a=z z=p1*z^2-c^(-1) c=p2*i^fn3(a)+c^(-1) elseif @v==12 i=i-1 z=p3*fn2(z)+p4 a=z z=p1*z^2+c^(-1) c=p2*i^fn3(a)-c^(-1) elseif @V==13 i=i+1 z=p3*fn2(z)+p4 a=z z=p1*z^2+c^(-1) c=p2*i^fn3(a)-c^(-1) elseif @V==14 i=i+1 z=p3*fn2(z)+p4 a=z z=p1*z^2+c c=p2*i^fn3(a)-c^(-1) elseif @V==15 i=i+1 z=p3*fn2(z)+p4 a=z z=p1*z^2+c^(-1) c=p2*i^fn3(a)+c^(-1) else i=i+1 z=p3*fn2(z)+p4 a=z z=p1*z^2+c c=p2*i^fn3(a) endif bailout: |z|<@bail default: title="Smafer" 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" endparam param p2 caption="C Parameter" default=(0.17,0.13) endparam param p3 caption="Z Parameter 1" default=(1,0) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam param p1 caption="Z Parameter 3" default=(-0.23,0.19) endparam func fn1 caption="C Function" default=ident() endfunc func fn2 caption="Z Function 1" default=ident() endfunc func fn3 caption="Z Function 2" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } LabsX21J { init: z=fn1(pixel) if @S=="1" z=z^2+@sp*(2*z-1i)/(z+2i)/(z-1) elseif @S=="2" z=z+(z-@sp*1i)/(z+@sp*1i) elseif @S=="3" z=(z+@sp*1i)/(z-@sp*1i) elseif @S=="4" z=z^2*(z-@sp)/(1-@sp*z) elseif @S=="5" z=z+z^2*cos((z-@sp)/(1-@sp*z)) elseif @S=="6" z=z+((z^2+@sp-1)/(2*z+@sp-2))^2 elseif @S=="7" z=z^2*((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="8" z=(sqr(z)-@sp*1i)/(z+sqr(@sp)) elseif @S=="9" z=@sp*(z+1i)*(z-1)/(z+1) elseif @S=="10" z=@sp*(z+1i)*(z-1)/(z-1i) elseif @S=="11" z=z+z^2*cosh((z-@sp)/(1-@sp*z)) elseif @S=="12" z=z+@sp*z^3 elseif @S=="13" z=z^2*sqr((z-(@sp-0.5))/(1-(@sp-0.5)*z)) elseif @S=="14" z=@sp*(z-0.5)/(1i-0.5*z)/(z-1) elseif @S=="15" z=@sp*z/1i/(1-1i*z)*(2i*z+1)/(1-z) elseif @S=="16" z=@sp*z/1i/cotanh(1-1i*z)*(2i*z+1)/(1-z) elseif @S=="17" z=@sp*z/1i/(1-1i*z)*cos(2i*z+1)/(1-z) elseif @S=="18" z=@sp*z/1i/(1-1i*z)*(2i*z+1)/exp(1-z) elseif @S=="19" z=@sp*z/1i/sin(1-1i*z)*(2i*z+1)/(1-z) elseif @S=="20" z=@sp*z/1i/(1-1i*z)*recip(2i*z+1)/(1-z) elseif @S=="21" z=@sp*z/1i/(1-1i*z)*(2i*z+1)/cosh(1-z) elseif @S=="22" z=z+@sp/(z^2+z-1i)/(1i-z)/(2i*z-1)*(1i*z+1) elseif @S=="23" z=z+@sp/cotanh(z^2+z-1i)/(1i-z)/(2i*z-1)*(1i*z+1) elseif @S=="24" z=z+@sp/(z^2+z-1i)/exp(1i-z)/(2i*z-1)*(1i*z+1) elseif @S=="25" z=z+@sp/(z^2+z-1i)/(1i-z)/exp(2i*z-1)*(1i*z+1) elseif @S=="26" z=z+@sp/(z^2+z-1i)/(1i-z)/(2i*z-1)*exp(1i*z+1) elseif @S=="27" z=z+@sp/tan(z^2+z-1i)/(1i-z)/(2i*z-1)*(1i*z+1) elseif @S=="28" z=z+@sp/(z^2+z-1i)/cosh(1i-z)/(2i*z-1)*(1i*z+1) elseif @S=="29" z=z+@sp/(z^2+z-1i)/(1i-z)/recip(2i*z-1)*(1i*z+1) else z=z+@sp/(z^2+z-1i)/(1i-z)/(2i*z-1)*cotan(1i*z+1) endif int i=0 loop: while i<@iter i=i+1 z=@p12*fn2(z)+@p13 z=(z-p6)/(1-p6*z) z=z/(@p7*z+1) z=z+@p8*sqr(z) z=z+@p14*(2*z+1i)/(z+2i)/(z+1)*(1i-z) z=z+@p15*(z+1i)*(z-1)/(z-1i) z=z+@p9/z z=z+@p16*tan(z) z=z+@p17/cos(z) if @Va=="None" z=z elseif @Va=="1" z=sqr((z+0.5)/(p2+0.5*z)) elseif @Va=="2" if |z|<1 z=z/|z| endif z=-0.45*abs(z) elseif @Va=="3" if real(z)1 z=z/|z| endif z=exp(z) elseif @Va=="9" z=z^2*cotan((z-0.5)/(-0.15+0.5*z)) elseif @Va=="10" z=z+z^2*sqr((z-4)/(-2+4*z)) elseif @Va=="11" if real(z)1 z=z/|z| endif z=sqr(z) elseif @Va=="16" z=z-2*((z+1i)*(z-1)/(z+1)) elseif @Va=="17" if |z|>1 z=z/|z| endif z=1.228*cosh(z) elseif @Va=="18" z=z*sinh(1-z) elseif @Va=="19" z=z*(1-z) elseif @Va=="20" if |z|>1 z=z/|z| endif z=1.228*cos(z) elseif @Va=="21" z=z^2*sqr((z-4)/(2.65+4*z)) elseif @Va=="22" z=z*cosh(1-z) elseif @Va=="23" z=z^2*sqr((z-4)/(0.5+4*z)) elseif @Va=="24" if real(z)=0 z=(z-i)*p1 else z=(z+i)*p1 endif bailout: |z|<@bail default: title="Barnsley 23" center=(0.001,0.001) magn=0.25 periodicity=0 param p1 caption="Barnsley Parameter" default=(1,1) endparam func fn1 caption="Start Function" default=ident() endfunc func fn4 caption="Barnsley Function" default=ident() endfunc param p3 caption="Z Parameter" default=(1,0) endparam param c caption="Conj(Z)" default=false endparam param p5 caption="Add Asinh Parameter 1" default=(0,0) endparam param p6 caption="Add Asinh Parameter 2" default=(0,0) endparam param p7 caption="Add Sqrt Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } BivarMunstersmafer { init: z=p1 if @sv==0 k=z elseif @sv==1 k=z+1 elseif @sv==2 k=flip(z) elseif @sv==3 k=flip(z)+1 elseif @sv==4 k=flip(z)-1 elseif @sv==5 k=-exp(z) elseif @sv==6 k=1-exp(z) elseif @sv==7 k=exp(z)-1 elseif @sv==8 k=log(z)/4 elseif @sv==9 k=-log(z)/4 elseif @sv==10 k=sqrt(z) elseif @sv==11 k=sqr(z) elseif @sv==12 k=-sqr(z) elseif @sv==13 k=sqr(z)-1 elseif @sv==14 k=sqr(z)+1 elseif @sv==15 k=1-sqr(z) elseif @sv==16 k=0.37*cotanh(z)+1 elseif @sv==17 k=-0.37*cotanh(z)-0.6 elseif @sv==18 k=acosh(z)/3 elseif @sv==19 k=acosh(z)/3+2/3 elseif @sv==20 k=0.55*recip(z) elseif @sv==21 k=0.55*recip(z)+0.27 else k=0 endif c=fn1(pixel) int i=0 loop: i=i+1 z=@p7*z+@p8 k=@p9*k+@p10 if @v==3 z=z+(@p11-0.15)*sqr(z) k=k+(@p11-0.15)*sqr(k) else z=z+@p11*sqr(z) k=k+@p11*sqr(k) endif z=z+@p12/z k=k+@p12/k if @v==0 a=k k=p2*fn2(k/z)+p3 z=z^2*(z-i)/(1-i*z)+a^i*(a-i)/(1-i*a)+c c=p5*i^fn3(k/z) elseif @v==1 a=k k=p2*fn2(k/z)+p3-0.35 z=z^2*(z-c)/(1-i*z)+a^i*(a-i)/(1-i*a)+c c=p5*i^fn3(k/z) elseif @v==2 a=k k=p2*fn2(k/z)+p3 z=z^2*(z-i)/(1-c*z)+a^i*(a-i)/(1-i*a)+c c=(p5+9)*i^fn3(k/z) elseif @v==3 a=k k=p2*fn2(k/z)+p3 z=z^2*(z-i)/(1-i*z)+a^i*(a-c)/(1-i*a)+c c=p5*i^fn3(k/z) else a=k k=p2*fn2(k/z)+p3-1.9 z=z^2*(z-i)/(1-i*z)+a^i*(a-i)/(1-c*a)+c c=p5*i^fn3(k/z) endif bailout: |z|<@bail default: title="Bivar Munstersmafer" center=(0.401,0.001) 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" endparam param v caption="Munstersmafer Variant" enum="1""2""3""4""5" endparam param p1 caption="Start Parameter" default=(-0.5,0) endparam param p2 caption="Bivar Parameter 1" default=(1,0) endparam param p3 caption="Bivar Parameter 2" default=(1.05,0) endparam param p5 caption="Bivar Parameter 3" default=(1,0) endparam param p7 caption="Z Parameter 1" default=(1,0) endparam param p8 caption="Z Parameter 2" default=(0,0) endparam param p9 caption="K Parameter 1" default=(1,0) endparam param p10 caption="K Parameter 2" default=(0,0) endparam param p11 caption="Add Sqr Parameter" default=(0,0) endparam param p12 caption="Add Recip Parameter" default=(0,0) endparam func fn1 caption="C Function" default=ident() endfunc func fn2 caption="Bivar Function 1" default=ident() endfunc func fn3 caption="Bivar Function 2" default=ident() endfunc param bail caption="Bailout" default=100000.0 endparam } BivarX47 { init: z=(-0.5,0) if @sv==0 k=z elseif @sv==1 k=-z elseif @sv==2 k=z-1 elseif @sv==3 k=1-z elseif @sv==4 k=flip(z) elseif @sv==5 k=flip(z)-1 elseif @sv==6 k=flip(z)+1 elseif @sv==7 k=sqrt(z) elseif @sv==8 k=sqrt(z)+1 elseif @sv==9 k=sqrt(z)-1 elseif @sv==10 k=recip(z) elseif @sv==11 k=-recip(z) elseif @sv==12 k=-recip(z)-1 elseif @sv==13 k=-recip(z)+1 elseif @sv==14 k=cotanh(z) elseif @sv==15 k=-cotanh(z) elseif @sv==16 k=cotan(z) else k=-cos(z) endif c=fn3(pixel) int i=0 loop: i=i+1 z=@p8*z+@p9 k=@p10*k+@p11 z=z+p6*sqr(z) k=k+p6*sqr(k) z=z+@p7/z k=k+@p7/k if @v==0 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+k^i)+c c=p3*fn2(sin(a+z)) elseif @v==1 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+a^i)+c c=p3*fn2(sin(a+z)) elseif @v==2 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+k^i)+c c=(p3+0.175)*fn2(sin(a+z))+sqr(c) elseif @v==3 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+a^i)+c c=(p3+0.175)*fn2(sin(a+z))+sqr(c) elseif @v==4 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+a^i)+c c=p3*fn2(sin(a+z))+sin(c)^i elseif @v==5 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+a^i)+c c=p3*fn2(sin(a+z))+sqr(c)^i elseif @v==6 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+a^i)+c c=p3*fn2(sin(a+z))+tanh(c)^i elseif @v==7 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+k^i)+c c=(p3+0.5)*fn2(tan(a+z+c)) elseif @v==8 a=k k=p1*fn1(exp(k*z*c))^i+p2 z=p5*(z^i+k^i)+c c=(p3+0.5)*fn2(sin(a+z+c)) elseif @v==9 a=k k=p1*fn1(sqr(exp(k*z*c)))^i+p2 z=p5*(z^i+k^i)+c c=(p3+0.5)*fn2(sin(a+z+c)) else a=k k=p1*fn1(sqr(exp(k*z*c)))^i+p2 z=p5*(z^i+k^i)+c c=(p3+0.5)*fn2(tan(sin(a+z+c))) endif bailout: |z|<@bail default: title="Bivar X 47" 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" endparam param v caption="X Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11" endparam param p1 caption="Bivar Parameter 1" default=(0.5,0) endparam param p2 caption="Bivar Parameter 2" default=(-0.2,0) endparam param p5 caption="Bivar Parameter 3" default=(0.7,0) endparam param p3 caption="Bivar Parameter 4" default=(-1,0) endparam func fn1 caption="Bivar Function 1" default=ident() endfunc func fn2 caption="Bivar Function 2" default=ident() endfunc func fn3 caption="C Function" default=ident() endfunc param p8 caption="Z Parameter 1" default=(1,0) endparam param p9 caption="Z Parameter 2" default=(0,0) endparam param p10 caption="K Parameter 1" default=(1,0) endparam param p11 caption="K Parameter 2" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } IFB83 { init: z=fn1(pixel) int i=0 loop: i=i+1 z=p6*z+@p7 z=z+@p8*sqrt(z) z=z+@p9*atanh(z) z=z+@p10*atan(z) z=z+@p11*asinh(z) z=z+@p12*asin(z) z=z+@p13*ceil(z) float a=real(z) if a@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn" center=(0.001,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8" endparam param v caption="Loop Variant" enum="1""2""3""4""5""6""7""8" endparam param p1 caption="Tengawn Parameter 1" default=(1,0) endparam param p2 caption="Tengawn Parameter 2" default=(0,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p4 caption="Tengawn Parameter 4" default=(0,0) endparam param p5 caption="z3 Parameter 1" default=(1,0) endparam param p6 caption="Z3 Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Tengawn Function 1" default=ident() endfunc func fn3 caption="Tengawn Function 2" default=ident() endfunc func fn4 caption="Z3 Function" default=ident() endfunc param p9 caption="Add Sqr Parameter" default=(0,0) endparam param p10 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Tengawn2 { init: z1=fn1(pixel) if @sv==0 z2=z1 z3=z1 elseif @sv==1 z2=-z1 z3=z1 elseif @sv==2 z2=-z1 z3=-z1 elseif @sv==3 z2=z1 z3=-z1 elseif @sv==4 z2=cos(z1) z3=z1 elseif @sv==5 z2=-cos(z1) z3=z1 elseif @sv==6 z2=-cos(z1) z3=-z1 else z2=-z1 z3=-cos(z1) endif z=pixel int i=0 loop: zold=z i=i+1 z3=@p7*fn4(z3)+@p8 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 if @v==0 a=(z1*z2-1)^i b=z2^i d=(a-b)*(z1*z2-1)/(3*a) elseif @v==1 a=(z1*z2-1)^i b=z2^i d=(b-a)*(z1*z2-1)/(3*a) elseif @v==2 a=(z1*z2-1)^i b=z2^i d=(a-b)*(z1*z2*z3-1)/(3*a) elseif @v==3 a=(z1*z2-1)^i b=z2^i d=(b-a)*(z1*z2*z3-1)/(3*a) elseif @v==4 a=(z1*z2*z3-1)^i b=z2^i d=(a-b)*(z1*z2-1)/(3*a) elseif @v==5 a=(z1*z2*z3-1)^i b=z2^i d=(b-a)*(z1*z2-1)/(3*a) elseif @v==6 a=(z1*z2*z3-1)^i b=z2^i d=(a-b)*(z1*z2*z3-1)/(3*a) else a=(z1*z2*z3-1)^i b=z2^i d=(b-a)*(z1*z2*z3-1)/(3*a) endif z1=p1*fn2(z1+d/z2)+p2 z2=p3*fn3(z2+z3*d*z2)+p4 z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 2" center=(0.001,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8" endparam param v caption="Loop Variant" enum="1""2""3""4""5""6""7""8" endparam param p1 caption="Tengawn Parameter 1" default=(1,0) endparam param p2 caption="Tengawn Parameter 2" default=(0,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p4 caption="Tengawn Parameter 4" default=(0,0) endparam param p7 caption="Z3 Parameter 1" default=(1,0) endparam param p8 caption="Z3 Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Tengawn Function 1" default=ident() endfunc func fn3 caption="Tengawn Function 2" default=ident() endfunc func fn4 caption="Z3 Function" default=ident() endfunc param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Yedib { init: z=p5 k=@p15 int i=0 c=fn1(pixel) loop: i=i+1 z=p6*z+@p7 k=@p12*k+@p13 c=@p8*fn3(c) z=z+@p11*sqr(z) k=k+@p11*sqr(k) z=z+@p14/z k=k+@p14/k a=z b=k if @v==0 k=p1*fn2(k*z)-p2*z^i/k+c z=p3*z*b^i+p4*fn4(b/z)+c elseif @v==1 k=(p1-3.2)*fn2(k*z)-p2*z^i/k+c z=p3*z*k^i+p4*fn4(k/z)+c elseif @v==2 k=p1*fn2(k*z)-p2*z^i/k+c z=(p3+5.5)*z*b^i+p4*fn4(z/b)+c elseif @v==3 k=p1*fn2(k*z)-p2*z^i/k+c z=(p3+6.15)*z*k^i+(p4-1.1)*fn4(z/k)+c elseif @v==4 k=p1*fn2(k*z)-(p2-0.35)*z^i/k+c z=p3*z*b^i+p4*fn4(b/z)+c c=c+b*a elseif @v==5 k=(p1-3.2)*fn2(k*z)-p2*z^i/k+c z=p3*z*k^i+p4*fn4(k/z)+c c=c-0.175*k*z elseif @v==6 k=p1*fn2(k*z)-p2*z^i/k+c z=(p3+5.5)*z*b^i+(p4-1.25)*fn4(z/b)+c c=c+sqr(b*a) else k=p1*fn2(k*z)-p2*z^i/k+c z=(p3+6.15)*z*k^i+(p4-1.1)*fn4(z/k)+c c=c+k*z endif bailout: |z|<@bail default: title="Yedib" center=(1.001,0.001) periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8" endparam param p5 caption="Start Parameter (Z)" default=(-0.3,0) endparam param p15 caption="Start Parameter (K)" default=(-0.3,0) endparam param p1 caption="Yedib Parameter 1" default=(1.75,0) endparam param p2 caption="Yedib Parameter 2" default=(0.25,0) endparam param p3 caption="Yedib Parameter 3" default=(-6,0) endparam param p4 caption="Yedib Parameter 4" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p12 caption="k Parameter 1" default=(1,0) endparam param p13 caption="k Parameter 2" default=(0,0) endparam param p8 caption="C Parameter" default=(1,0) endparam func fn2 caption="Bivar Function 1" default=ident() endfunc func fn4 caption="Bivar Function 2" default=ident() endfunc func fn1 caption="C Function 1" default=ident() endfunc func fn3 caption="C Function 2" default=ident() endfunc param p11 caption="Add Sqr Parameter" default=(-0.4,0) endparam param p14 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } Jalundox { init: if @jm==1 z1=p3 z2=@p8 c=fn2(pixel) else z1=@fn6(pixel) z2=@fn6(pixel) c=@p9 endif z=pixel int i=0 loop: zold=z i=i+1 z1=@p10*z1+@p11 z2=@p12*z2+@p13 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 if @v==0 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3+(z1*(c*z1-2*c*z2)+i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 elseif @v==1 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3-(z1*(c*z1-2*c*z2)+i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 elseif @v==2 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3+(z1*(c*z1-2*c*z2)-i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 elseif @v==3 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3-(z1*(c*z1-2*c*z2)-i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 elseif @v==4 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3+(z1*(c*z1+2*c*z2)+i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 elseif @v==5 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3-(z1*(c*z1+2*c*z2)+i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 elseif @v==6 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3+(z1*(c*z1+2*c*z2)-i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 elseif @v==7 a=3*sqr(fn1(z1^2+z2^2)) b=z1-p1*fn3(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*fn4(z2/3-(z1*(c*z1+2*c*z2)-i*c*z2*z2)/a) z1=@p7*@fn5(b)+p4 z=z1^2+z2^2 endif bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Jalundox" center=(0.001,0.001) periodicity=0 param jm caption="J/M" enum="J""M" default=1 endparam param v caption="Variant" enum="1""2""3""4""5""6""7""8" endparam param p3 caption="Start Parameter (Z1)" default=(1,0) visible=@jm==1 endparam param p8 caption="Start Parameter (Z2)" default=(1,0) visible=@jm==1 endparam param p9 caption="C Parameter" default=(1,0) visible=@jm==0 endparam param p1 caption="Jalundox Parameter 1" default=(1,0) endparam param p2 caption="Jalundox Parameter 2" default=(1,0) endparam param p7 caption="Jalundox Parameter 3" default=(1,0) endparam param p4 caption="Jalundox Parameter 4" default=(0,0) endparam func fn2 caption="C Function" default=ident() visible=@jm==1 endfunc func fn6 caption="Start Function" default=ident() visible=@jm==0 endfunc func fn3 caption="Jalundox Function 1" default=ident() endfunc func fn4 caption="Jalundox Function 2" default=ident() endfunc func fn1 caption="Jalundox Function 3" default=ident() endfunc func fn5 caption="Jalundox Function 4" default=ident() endfunc param p10 caption="Z1 Parameter 1" default=(1,0) endparam param p11 caption="Z1 Parameter 2" default=(0,0) endparam param p12 caption="Z2 Parameter 1" default=(1,0) endparam param p13 caption="Z2 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0.35,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" default=1 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Jalundox2 { init: if @jm==1 z1=p3 if @v==0 || @v==1 || @v==2 || @v==3 || @v==4 || @v==5 || @v==6 || @v==7 z2=@p8 else z2=-@p8 endif c=fn2(pixel) else z1=@fn6(pixel) z2=@fn6(pixel) c=@p9 endif z=pixel int i=0 loop: zold=z i=i+1 z1=@p10*z1+@p11 z2=@p12*z2+@p13 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 if @v==0 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3+(z1*(c*z1-2*c*z2)+i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==1 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1-2*c*z2)+i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==2 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3+(z1*(c*z1-2*c*z2)-i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==3 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1-2*c*z2)-i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==4 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3+(z1*(c*z1+2*c*z2)+i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==5 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1+2*c*z2)+i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==6 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3+(z1*(c*z1+2*c*z2)-i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==7 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1+2*c*z2)-i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==8 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+i*z2*(c*z2+2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1-2*c*z2)-i*c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==9 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1-2*c*z2)+c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==10 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3-(c*z1^2+z2*(c*z2+2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1+2*c*z2)+c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==11 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3-(c*z1^2-z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1-2*c*z2)-c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==12 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2-z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1-2*c*z2)+c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==13 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+z2*(c*z2-2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1+2*c*z2)+c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==14 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+z2*(c*z2+2*c*z1))/a) z2=z2-p2*(z2/3-(z1*(c*z1+2*c*z2)-c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 elseif @v==15 a=3*sqr(z1^i+z2^i) b=z1-p1*(z1/3+(c*z1^2+z2*(c*z2+2*c*z1))/a) z2=z2-p2*(z2/3+(z1*(c*z1-2*c*z2)+c*z2*z2)/a) z1=@p7*b+p4 z=z1^2+z2^2 endif bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Jalundox 2" center=(0.001,0.001) periodicity=0 param jm caption="J/M" enum="J""M" default=1 endparam param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16" endparam param p3 caption="Start Parameter (Z1)" default=(1,0) visible=@jm==1 endparam param p8 caption="Start Parameter (Z2)" default=(1,0) visible=@jm==1 endparam param p9 caption="C Parameter" default=(1,0) visible=@jm==0 endparam param p1 caption="Jalundox Parameter 1" default=(1,0) endparam param p2 caption="Jalundox Parameter 2" default=(1,0) endparam param p7 caption="Jalundox Parameter 3" default=(1,0) endparam param p4 caption="Jalundox Parameter 4" default=(0,0) endparam func fn2 caption="C Function" default=ident() visible=@jm==1 endfunc func fn6 caption="Start Function" default=ident() visible=@jm==0 endfunc param p10 caption="Z1 Parameter 1" default=(1,0) endparam param p11 caption="Z1 Parameter 2" default=(0,0) endparam param p12 caption="Z2 Parameter 1" default=(1,0) endparam param p13 caption="Z2 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0.35,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" default=1 endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Koatrone { init: z1=p3 z2=@p8 c=fn2(pixel) z=pixel int i=0 loop: zold=z i=i+1 z1=@p10*z1+@p11 z2=@p12*z2+@p13 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 if @v==0 a=3*sqr(z1^i+z2^i) b=z1^2+p1*(z2*z1-c)/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==1 a=3*sqr(z1^i+z2^i) b=z1^2+p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c^2)^2/a elseif @v==2 a=3*sqr(z1^i+z2^i) b=z1^2-p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==3 a=3*sqr(z1^i+z2^i) b=z1^2-p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c^2)^2/a elseif @v==4 a=3*sqr(z1^i+z2^i) b=z1^2-p1*(z2*z1+c)^2/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==5 a=3*sqr(log(z1^i+z2^i)) b=z1^2+p1*(z2*z1-c)/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==6 a=3*sqr(log(z1^i+z2^i)) b=z1^2+p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c^2)^2/a elseif @v==7 a=3*sqr(log(z1^i+z2^i)) b=z1^2-p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==8 a=3*sqr(log(z1^i+z2^i)) b=z1^2-p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c^2)^2/a elseif @v==9 a=3*sqr(log(z1^i+z2^i)) b=z1^2-p1*(z2*z1+c)^2/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==10 a=3*log(z1^i+z2^1)^3 b=z1^2+p1*(z2*z1-c)/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==11 a=3*log(z1^i+z2^i)^3 b=z1^2+p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c^2)^2/a elseif @v==12 a=3*log(z1^i+z2^i)^3 b=z1^2-p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c)/a elseif @v==13 a=3*log(z1^i+z2^i)^3 b=z1^2-p1*(z2*z1-c)^2/a z2=z2^2+p2*fn3(z2*z1+c^2)^2/a else a=3*log(z1^i+z2^i)^3 b=z1^2-p1*(z2*z1+c)^2/a z2=z2^2+p2*fn3(z2*z1+c)/a endif z1=@p7*fn4(b)+p4 z=z1^2+z2^2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Koatrone" center=(0.001,0.001) magn=0.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15" endparam param p3 caption="Start Parameter (Z1)" default=(-1,0) endparam param p8 caption="Start Parameter (Z2)" default=(-1,0) endparam param p1 caption="Koatrone Parameter 1" default=(1,0) endparam param p2 caption="Koatrone Parameter 2" default=(1,0) endparam param p7 caption="Koatrone Parameter 3" default=(1,0) endparam param p4 caption="Koatrone Parameter 4" default=(0,0) endparam func fn2 caption="C Function" default=ident() endfunc func fn3 caption="Koatrone Function 1" default=ident() endfunc func fn4 caption="Koatrone Function 2" default=ident() endfunc param p10 caption="Z1 Parameter 1" default=(1.1,0) endparam param p11 caption="Z1 Parameter 2" default=(0,0) endparam param p12 caption="Z2 Parameter 1" default=(1.1,0) endparam param p13 caption="Z2 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(-0.1,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Bevootle { init: z=p5 k=@p15 int i=0 c=fn1(pixel) loop: i=i+1 z=p6*z+@p7 k=@p12*k+@p13 c=@p8*fn3(c) z=z+@p11*sqr(z) k=k+@p11*sqr(k) z=z+@p14/z k=k+@p14/k a=z b=k if @v==0 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*k*z elseif @v==1 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(b-p3)^2+c c=c+p2*k*z elseif @v==2 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*b*a elseif @v==3 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(b-p3)^2+c c=c+p2*b*a elseif @v==4 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*k^2*z elseif @v==5 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*b^2*a elseif @v==6 k=p4*fn2(z-p1)^2+@p16*sqr(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*sqr(b-p3)^2+c c=c+p2*b*a elseif @v==7 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*tan(k*z) elseif @v==8 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*sqr(k*z) elseif @v==9 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(b-p3)^2+c c=c+p2*sqr(k*z) elseif @v==10 k=p4*fn2(z-p1)^2+@p16*(k-p3)^2+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*sqr(b*a) elseif @v==11 k=cotan(p4*fn2(z-p1)^2+@p16*(k-p3)^2+c) z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*b*a elseif @v==12 k=tanh(p4*fn2(z-p1)^2+@p16*(k-p3)^2+c) z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*b*a elseif @v==13 k=p4*fn2(z-p1)^2+@p16*sqr(k-p3)^2+c z=cos(p4*fn2(z-p1)^2-@p16*sqr(b-p3)^2+c) c=c+p2*b*a elseif @v==14 k=tanh(p4*fn2(z-p1)^2+@p16*(k-p3)^2)+c z=p4*fn2(z-p1)^2-@p16*(k-p3)^2+c c=c+p2*sqr(b*a) endif bailout: |z|<@bail default: title="Bevootle" 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" endparam param p5 caption="Start Parameter (Z)" default=(-0.3,0) endparam param p15 caption="Start Parameter (K)" default=(-0.3,0) endparam param p1 caption="Bevootle Parameter 1" default=(0.25,0) endparam param p3 caption="Bevootle Parameter 2" default=(0.25,0) endparam param p4 caption="Bevootle Parameter 3" default=(1,0) endparam param p16 caption="Bevootle Parameter 4" default=(1,0) endparam param p2 caption="Bevootle Parameter 5" default=(1,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam param p12 caption="k Parameter 1" default=(1,0) endparam param p13 caption="k Parameter 2" default=(0,0) endparam param p8 caption="C Parameter" default=(1,0) endparam func fn2 caption="Bevootle Function" default=ident() endfunc func fn1 caption="C Function 1" default=ident() endfunc func fn3 caption="C Function 2" default=ident() endfunc param p11 caption="Add Sqr Parameter" default=(-0.3,0) endparam param p14 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } Tengawn3 { init: z1=fn1(pixel) if @sv==0 z2=z1 z3=z1 elseif @sv==1 z2=-z1 z3=z1 elseif @sv==2 z2=-z1 z3=-z1 elseif @sv==3 z2=z1 z3=-z1 elseif @sv==4 z2=cos(z1) z3=z1 elseif @sv==5 z2=-cos(z1) z3=z1 elseif @sv==6 z2=-cos(z1) z3=-z1 else z2=-z1 z3=-cos(z1) endif z=pixel loop: zold=z z3=@p7*fn4(z3)+@p8 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 if @v==0 a=(z1*z2*z3-1)/z2 b=a^3 d=z2^2 elseif @v==1 a=(z1*z2*z3-z1)/z2 b=a^3 d=z2^2+1 elseif @v==2 a=(z1*z2*z3-z3)/z2 b=a^3 d=z2^2 elseif @v==3 a=(z1*z3-z1)/z2 b=a^3 d=z2^2+1 elseif @v==4 a=(z1*z2*z3^2-z3)/z2 b=a^3 d=z2^2 elseif @v==5 a=(z1*z3^2-z1)/z2 b=a^3 d=z2^2+1 elseif @v==6 a=(z1^2*z3-1)/z2 b=a^3 d=z2^2 else a=(z1^2*z3-z1)/z2 b=a^3 d=z2^2+1 endif z1=p1*fn2(z1-a/3+a/(3*b))+p2 z2=p3*fn3(z2+z3*a*d/3+z3*a*d/(3*b))+p4 z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 3" center=(0.001,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8" endparam param v caption="Loop Variant" enum="1""2""3""4""5""6""7""8" endparam param p1 caption="Tengawn Parameter 1" default=(1,0) endparam param p2 caption="Tengawn Parameter 2" default=(0,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p4 caption="Tengawn Parameter 4" default=(0,0) endparam param p7 caption="Z3 Parameter 1" default=(1,0) endparam param p8 caption="Z3 Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Tengawn Function 1" default=ident() endfunc func fn3 caption="Tengawn Function 2" default=ident() endfunc func fn4 caption="Z3 Function" default=ident() endfunc param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Newemnod { init: z=fn1(pixel) z=z+p5/z+p6*(z-1i)/(Z+1i) c=p3 loop: zold=z if @v==0 z=z elseif @v==1 z=z-0.55*sqr(z)-0.02 elseif @v==2 z=z-2*tanh(z)+0.8 elseif @v==3 z=z-0.75*z^3 elseif @v==4 z=z+0.4*cos(z)^3-0.5 elseif @v==5 z=z-0.2i*z-0.18 elseif@v==6 z=z^2+z^4+0.27 elseif @v==7 z=z-z/(z+1) elseif @v==8 z=recip(z-0.3*z^2) elseif @v==9 z=recip(z+0.25*z^2) elseif @v==10 z=z^2*((z-1.75)/(1-1.75*z))-0.135 elseif @v==11 z=z^2*sqr((z-1.84)/(1-1.84*z))-0.225 elseif @v==12 z=z^2*(sqr(z)+3.6)/(1+3.6*sqr(z))-0.5 elseif @v==13 z=z-0.345*(z+z^2)+0.09 elseif @v==14 z=z-0.345*(z^2+sinh(z)^2)+0.09 elseif @v==15 z=z-0.5*(tan(z)+z^2)-0.08785 elseif @v==16 z=z-0.75*z+1/z-0.85 elseif @v==17 z=z-0.885*z+2/exp(z)+0.675 else z=z-0.885*cosh(z)+0.25198/exp(z)+0.675 endif z=z-p1*(fn2(z)*z*(z^3-p2))/(fn2(z)*p2*3-z^3-p2)+c z=z-p4*(z^3-1)/(3*z^2) bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Newemnod" center=(0.001,0.001) periodicity=0 param v caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18" endparam param p1 caption="Newemnod Parameter 1" default=(1,0) endparam param p2 caption="Newemnod Parameter 2" default=(1,0) endparam param p3 caption="Newemnod Parameter 3" default=(0,0) endparam param p4 caption="Newemnod Parameter 4" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p5 caption="Start Parameter 1" default=(0,0) endparam param p6 caption="Start Parameter 2" default=(0,0) endparam func fn2 caption="Newemnod Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.0000000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Tengawn4 { init: z1=fn1(pixel) z1=z1+@p20/z1+@p21*(z1-1i)/(z1+1i) if @sv==0 z2=z1 z3=z1 elseif @sv==1 z2=-z1 z3=z1 elseif @sv==2 z2=-z1 z3=-z1 else z2=z1 z3=-z1 endif z=pixel int i=0 loop: zold=z z3=@p7*fn4(z3)+@p8 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 i=i+1 if @v==0 a=(z1*z2-z1)/z2 b=a^3 d=z2^2+1 elseif @v==1 a=(z1*z2*z3-z1)/z2 b=a^3 d=z2^2+1 elseif @v==2 a=(z2*z3-z1)/z2 b=a^3 d=z2^2+1 elseif @v==3 a=(z1*z3-z1)/z2 b=a^3 d=z2^2+1 elseif @v==4 a=(z3^2-z1)/z2 b=a^3 d=z2^2+1 elseif @v==5 a=(z1*z3^2-z1)/z2 b=a^3 d=z2^2+1 elseif @v==6 a=(z1^2*z3-1)/z2 b=a^3 d=z2^2 else a=(z1^2*z3-z1)/z2 b=a^3 d=z2^2+1 endif z1=p1*fn2(z1-a/i+a/(i*b))+p2 z2=p3*fn3(z2+z3*a*d/i+z3*a*d/(i*b))+p4 z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 4" center=(0.001,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4" endparam param p20 caption="Start Parameter 1" default=(0,0) endparam param p21 caption="Start Parameter 1" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param v caption="Loop Variant" enum="1""2""3""4""5""6""7""8" endparam param p1 caption="Tengawn Parameter 1" default=(1,0) endparam param p2 caption="Tengawn Parameter 2" default=(0,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p4 caption="Tengawn Parameter 4" default=(0,0) endparam param p7 caption="Z3 Parameter 1" default=(1,0) endparam param p8 caption="Z3 Parameter 2" default=(0,0) endparam func fn2 caption="Tengawn Function 1" default=ident() endfunc func fn3 caption="Tengawn Function 2" default=ident() endfunc func fn4 caption="Z3 Function" default=ident() endfunc param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Newemnod2 { init: z=fn1(pixel) z=z+p5/z+p6*(z-1i)/(Z+1i) c=p2 loop: zold=z z=@p22*fn3(z)+@p23 if @v==0 z=z elseif @v==1 z=z-sqr(z) elseif @v==2 z=z+0.5*cotan(z)-1 elseif @v==3 z=z-0.2*tanh(z)+0.14 elseif @v==4 z=z-0.3*recip(z)+0.65 elseif @v==5 z=z-0.4*sqr(z)+1/z elseif@v==6 z=z-0.4*cotanh(z)+1/tan(z) elseif @v==7 z=z-0.4*cosh(z)+1/tan(z) elseif @v==8 z=z-0.4*sin(z)+1/tan(z) elseif @v==9 z=z-0.4*sin(z)+0.15/cotanh(z) elseif @v==10 z=z-0.35*sinh(z)-0.2/sqr(z) elseif @v==11 z=z-0.35*sinh(z) elseif @v==12 z=z-0.5*sinh(z)+0.25/cotanh(z) elseif @v==13 z=z-0.55*((z+1)/(z-1))^2 else z=z-0.7*sqr(exp(tanh(z))) endif z=z+z*(1+(p1+3-z^3)*fn2(z)-(p1+3)/z^3)/(p4*3*fn2(z)-z^3+p1+9*fn2(z))+c z=z-@p20*(z^3-1)/(3*z^2) bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Newemnod 2" center=(-0.501,0.001) periodicity=0 param v caption="Modification" enum="None""1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param p1 caption="Newemnod Parameter 1" default=(-2.9,0) endparam param p4 caption="Newemnod Parameter 2" default=(-4,0) endparam param p2 caption="Newemnod Parameter 3" default=(0,0) endparam param p20 caption="Newemnod Parameter 4" default=(0,0) endparam func fn2 caption="Newemnod Function" default=ident() endfunc func fn1 caption="Start Function" default=ident() endfunc param p5 caption="Start Parameter 1" default=(0,0) endparam param p6 caption="Start Parameter 2" default=(0,0) endparam param p22 caption="Z Parameter 1" default=(1,0) endparam param p23 caption="Z Parameter 2" default=(0,0) endparam func fn3 caption="Z Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.0000000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Tengawn5 { init: z1=@p20*fn1(pixel) z2=@p21*fn1(pixel) z=pixel loop: zold=z z1=p4*z1+@p7 z2=@p8*z2+@p9 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 if @v==0 a=(z1-z2)^3 z1=(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*(z1*z2)+p1 elseif @v==1 a=(z1+z2)^3 z1=(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*(z1*z2)+p1 elseif @v==2 a=(z1*z2)^3 z1=(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*(z1*z2)+p1 elseif @v==3 a=(z1/z2)^3 z1=(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*(z1*z2)+p1 elseif @v==4 a=(z1-z2)^3 z1=cos(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*(z1*z2)+p1 elseif @v==5 a=recip(z1+z2)^3 z1=(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*tanh(z1*z2)+p1 elseif @v==6 a=cotanh(z1*z2)^3 z1=(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*tan(z1*z2)+p1 else a=(z1/z2)^3 z1=(z1)+p2*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=p3*exp(z1*z2)+p1 endif z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 5" center=(0.001,0.001) periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8" endparam param p1 caption="Tengawn Parameter 1" default=(0.3,0) endparam param p2 caption="Tengawn Parameter 2" default=(1,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p20 caption="Start Parameter 1" default=(1,0) endparam param p21 caption="Start Parameter 2" default=(1,0) endparam param p4 caption="Z1 Parameter 1" default=(1,0) endparam param p7 caption="Z1 Parameter 2" default=(0,0) endparam param p8 caption="Z2 Parameter 1" default=(1,0) endparam param p9 caption="Z2 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Groneen { init: int i=0 z=fn1(pixel) z=z+@p3/z+@p4*(z-1i)/(z+1i) c=p2 loop: zold=z i=i+1 z=p6*z+@p7 z=z+@p11*sqr(z) z=z+@p14/z if @v==0 fz=fn2(z^3-p5)^i-1 fz1=i*(z^3-@p8)^2 z=z-(p1-3)*fz/fz1+c elseif @v==1 fz=fn2(z^3-p5)^i-1 fz1=i*(z^3-@p8)^2 fz2=2*i*(z^3-1) z=z-p1*fz/fz1/fz2+c-3.9 elseif @v==2 fz=fn2(z^3-p5)^i-1 fz1=i*(z^3-@p8)^2 z=z-(p1-2.2)*fz1/fz+c-1 elseif @v==3 fz=fn2(z^3-p5)^i-1 fz1=i*(z^3-@p8)^2 fz2=2*i*(z^3-1) z=z-(p1+1.25)*fz2/fz1/fz+c+0.1 elseif @v==4 fz=fn2(z^i-p5)^i-1 fz1=i*(z^i-@p8)^(i-1) z=z-(p1-0.75)*fz/fz1+c elseif @v==5 fz=fn2(z^3-p5)^i-@p8 fz1=i*(3*z^2)^(i-1) z=z-(p1-0.8)*fz/fz1+c else fz=fn2(z^3-p5)^i-@p8 fz1=i*(i*z^(i-1))^(i-1) z=z-(p1-0.8)*fz/fz1+c-0.15 endif bailout: |z-zold|>@bail default: title="Groneen" center=(-2.001,0.001) magn=0.5 angle=90 periodicity=0 param p3 caption="Start Parameter 1" default=(0,0) endparam param p4 caption="Start Parameter 2" default=(0,0) endparam param v caption="Variant" enum="1""2""3""4""5""6""7" endparam param p1 caption="Groneen Parameter 1" default=(1,0) endparam param p5 caption="Groneen Parameter 2" default=(1,0) endparam param p8 caption="Groneen Parameter 3" default=(1,0) endparam param p2 caption="C Parameter" default=(0,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption=" Groneen Function" default=ident() endfunc param p11 caption="Add Sqr Parameter" default=(0.25,0) endparam param p14 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000000001 endparam } Tengawn6J { init: z1=fn1(pixel) z1=z1+@p11/z1+@p12*(z1-1i)/(z1+1i) if @sv==0 z2=z1 elseif @sv==1 z2=-z1 elseif @sv==2 z2=-sqr(z1) elseif @sv==3 z2=sqr(z1) elseif @sv==4 z2=1/z1 elseif @sv==5 z2=-1/z1 elseif @sv==6 z2=exp(z1) elseif @sv==7 z2=-exp(z1) elseif @sv==8 z2=tan(z1) elseif @sv==9 z2=-tan(z1) elseif @sv==10 z2=cos(z1) elseif @sv==11 z2=-cos(z1) elseif @sv==12 z2=sin(z1) else z2=-sin(z1) endif z=pixel loop: zold=z z1=p4*z1+@p7 z2=@p8*z2+@p9 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 b=z1 if @v==0 a=(z1-z2)^3 z1=z1+p3*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+p2)+z1*z2*(5*z1+p2)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2) elseif @v==1 a=(z1-z2)^3 z1=z1+p3*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=z2-@p10*(z2^2-b*z2^3-z2^2*(3*b+p2)+b*z2*(5*b+p2)-2*b^2)/(z2^3-z2*(b+z2)+3*b*z2*(b-z2)-b^2) elseif @v==2 a=(z2-z1)^3 z1=z1+p3*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+p2)+z1*z2*(5*z1+p2)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2) elseif @v==3 a=(z2-z1)^3 z1=z1+p3*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) z2=z2-@p10*(z2^2-b*z2^3-z2^2*(3*b+p2)+b*z2*(5*b+p2)-2*b^2)/(z2^3-z2*(b+z2)+3*b*z2*(b-z2)-b^2) elseif @v==4 a=(z1-z2)^3 z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+p2)+z1*z2*(5*z1+p2)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2) z1=z1+p3*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) else a=(z2-z1)^3 z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+p2)+z1*z2*(5*z1+p2)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2) z1=z1+p3*(p1*z1^2-a*z1-p1*z1*z2-2*a*z2)/(p1*z1+a+p1*z2) endif z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 6 J" center=(-0.751,0.001) periodicity=0 param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam func fn1 caption="Start Function" default=ident() endfunc param p11 caption="Start Parameter 1" default=(0,0) endparam param p12 caption="Start Parameter 2" default=(0,0) endparam param v caption="Tengawn Variant" enum="1""2""3""4""5""6" endparam param p1 caption="Tengawn Parameter 1" default=(1,0) endparam param p2 caption="Tengawn Parameter 2" default=(1,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p10 caption="Tengawn Parameter 4" default=(1,0) endparam param p4 caption="Z1 Parameter 1" default=(1,0) endparam param p7 caption="Z1 Parameter 2" default=(0,0) endparam param p8 caption="Z2 Parameter 1" default=(1,0) endparam param p9 caption="Z2 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0.67,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Tengawn6M { init: z1=@p11 z2=@p12 c=fn1(pixel) z=pixel loop: zold=z z1=p4*z1+@p7 z2=@p8*z2+@p9 c=@p13*fn2(c)+@p14 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 b=z1 if @v==0 a=(z1-z2)^3 z1=z1+p3*(c*z1^2-a*z1-c*z1*z2-2*a*z2)/(c*z1+a+c*z2)+p1 z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+c)+z1*z2*(5*z1+c)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2)+p2 elseif @v==1 a=(z1-z2)^3 z1=z1+p3*(c*z1^2-a*z1-c*z1*z2-2*a*z2)/(c*z1+a+c*z2)+p1 z2=z2-@p10*(z2^2-b*z2^3-z2^2*(3*b+c)+b*z2*(5*b+c)-2*b^2)/(z2^3-z2*(b+z2)+3*b*z2*(b-z2)-b^2)+p2 elseif @v==2 a=(z2-z1)^3 z1=z1+p3*(c*z1^2-a*z1-c*z1*z2-2*a*z2)/(c*z1+a+c*z2)+p1 z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+c)+z1*z2*(5*z1+c)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2) elseif @v==3 a=(z2-z1)^3 z1=z1+p3*(c*z1^2-a*z1-c*z1*z2-2*a*z2)/(c*z1+a+c*z2)+p1 z2=z2-@p10*(z2^2-b*z2^3-z2^2*(3*b+c)+b*z2*(5*b+c)-2*b^2)/(z2^3-z2*(b+z2)+3*b*z2*(b-z2)-b^2)+p2 elseif @v==4 a=(z1-z2)^3 z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+c)+z1*z2*(5*z1+c)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2)+p2 z1=z1+p3*(c*z1^2-a*z1-c*z1*z2-2*a*z2)/(c*z1+a+c*z2)+p1 else a=(z2-z1)^3 z2=z2-@p10*(z2^2-z1*z2^3-z2^2*(3*z1+c)+z1*z2*(5*z1+c)-2*z1^2)/(z2^3-z2*(z1+z2)+3*z1*z2*(z1-z2)-z1^2)+p2 z1=z1+p3*(c*z1^2-a*z1-c*z1*z2-2*a*z2)/(c*z1+a+c*z2)+p1 endif z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 6 M" center=(0.001,0.001) magn=0.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6" endparam param p11 caption="Start Parameter 1" default=(-0.75,0) endparam param p12 caption="Start Parameter 2" default=(-0.75,0) endparam param p1 caption="Tengawn Parameter 1" default=(0,0) endparam param p2 caption="Tengawn Parameter 2" default=(0,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p10 caption="Tengawn Parameter 4" default=(1,0) endparam param p4 caption="Z1 Parameter 1" default=(1,0) endparam param p7 caption="Z1 Parameter 2" default=(0,0) endparam param p8 caption="Z2 Parameter 1" default=(1,0) endparam param p9 caption="Z2 Parameter 2" default=(0,0) endparam param p13 caption="C Parameter 1" default=(1,0) endparam param p14 caption="C Parameter 2" default=(0,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn2 caption="C Function 2" default=ident() endfunc param p5 caption="Add Sqr Parameter" default=(0.75,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Rootun6J { init: z1=fn1(pixel) z1=z1+@p11/z1+@p12*(z1-1i)/(z1+1i) z2=z1 z=pixel loop: zold=z z1=p4*z1+@p7 z2=@p8*z2+@p9 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 z1=z1-p3*((((z1^3-1)/(3*z2^2))/2)+((z1^3-1)/(3*z2^2-9*(z1-2*((z1^3-1)/(3*z2^2))/3)^2)))+p1 z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Rootun 6 J" center=(0.001,0.001) magn=0.5 periodicity=0 param p11 caption="Start Parameter 1" default=(0,0) endparam param p12 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p3 caption="Rootun Parameter 1" default=(1,0) endparam param p1 caption="Rootun Parameter 2" default=(0,0) endparam param p4 caption="Z1 Parameter 1" default=(1,0) endparam param p7 caption="Z1 Parameter 2" default=(0,0) endparam param p8 caption="Z2 Parameter 1" default=(1,0) endparam param p9 caption="Z2 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Rootun6M { init: z1=@p11 z2=@p12 c=fn1(pixel) z=pixel loop: zold=z z1=p4*z1+@p7 z2=@p8*z2+@p9 c=@p13*fn2(c)+@p14 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z1=z1+p6/z1 z2=z2+p6/z2 if @v==0 z1=z1-p3*((((z1^3-c)/(3*z2^2))/2)-((z1^3-c)/(3*z2^2-9*(z1-2*((z1^3-c)/(3*z2^2))/3)^2)))+p1 elseif @v==1 z1=z1-p3*((((z1^3-c)/(3*z2^2))/2)+((z1^3-c)/(3*z2^2-9*(z1-2*((z1^3-c)/(3*z2^2))/3)^2)))+p1 elseif @v==2 z1=z1-p3*((((z1^3-c)/(3*z2^2))/2)-((z1^3-c)/(3*z2^2-9*(z1+2*((z1^3-c)/(3*z2^2))/3)^2)))+p1 elseif @v==3 z1=z1-p3*((((z1^3-c)/(3*z2^2))/2)+((z1^3-c)/(3*z2^2-9*(z1+2*((z1^3-c)/(3*z2^2))/3)^2)))+p1 endif z=z1+z2 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Rootun 6 M" center=(0.001,0.001) magn=0.5 periodicity=0 param v caption="Variant" enum="1""2""3""4" endparam param p11 caption="Start Parameter 1" default=(-0.75,0) endparam param p12 caption="Start Parameter 2" default=(-0.75,0) endparam param p3 caption="Rootun Parameter 1" default=(1,0) endparam param p1 caption="Rootun Parameter 2" default=(0,0) endparam param p4 caption="Z1 Parameter 1" default=(1,0) endparam param p7 caption="Z1 Parameter 2" default=(0,0) endparam param p8 caption="Z2 Parameter 1" default=(1,0) endparam param p9 caption="Z2 Parameter 2" default=(0,0) endparam param p13 caption="C Parameter 1" default=(1,0) endparam param p14 caption="C Parameter 2" default=(0,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn2 caption="C Function 2" default=ident() endfunc param p5 caption="Add Sqr Parameter" default=(0,0) endparam param p6 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Tengawn9 { init: z1=fn1(pixel) z1=z1+@p19/z1+@p20*((z1-1i)/(z1+1i)) z2=z1 z3=z1 z4=z1 if @jm==0 c=@p9 else c=fn2(pixel) endif z=pixel int i=0 loop: zold=z i=i+1 z1=@p11*z1+@p12 z2=@p13*z2+@p14 z3=@p15*z3+@p16 z4=@p17*z4+@p18 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z3=z3+p5*sqr(z3) z4=z4+p5*sqr(z4) a=z1+z4 b=z2*z3+z4^2 d=z1^2+z2*z3 z1=z1-p1*fn3(z1/3+(@p6*b-z2*@p7*a)/c^2) f=z2-p2*fn4(z2/3+(@p7*d-z3*@p6*a)/c^2) g=z3-p3*@fn5(z3/3+(@p8*b-z2*@p10*a)/c^2) h=z4-p4*@fn6(z4/3+(@p10*d-z3*@p8*a)/c^2) z2=f z3=g z4=h c=z1*z4-z2*z3 z=z1+z2+z3+z4 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 9" center=(-1.751,0.001) magn=0.5 periodicity=0 param jm caption="J/M" enum="J""M" endparam param p19 caption="Start Parameter 1" default=(0,0) endparam param p20 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="Tengawn Parameter 1" default=(0.75,0) endparam param p2 caption="Tengawn Parameter 2" default=(1,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p4 caption="Tengawn Parameter 4" default=(1,0) endparam param p6 caption="Tengawn Parameter 5" default=(0.75,0) endparam param p7 caption="Tengawn Parameter 6" default=(1,0) endparam param p8 caption="Tengawn Parameter 7" default=(1,0) endparam param p10 caption="Tengawn Parameter 8" default=(1,0) endparam param p9 caption="C Parameter" default=(1,0) visible=@jm==0 endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="C Function" default=ident() visible=@jm==1 endfunc func fn3 caption="Tengawn Function 1" default=ident() endfunc func fn4 caption="Tengawn Function 2" default=ident() endfunc func fn5 caption="Tengawn Function 3" default=ident() endfunc func fn6 caption="Tengawn Function 4" default=ident() endfunc param p11 caption="Z1 Parameter 1" default=(1,0) endparam param p12 caption="Z1 Parameter 2" default=(0,0) endparam param p13 caption="Z2 Parameter 1" default=(1,0) endparam param p14 caption="Z2 Parameter 2" default=(0,0) endparam param p15 caption="Z3 Parameter 1" default=(1,0) endparam param p16 caption="Z3 Parameter 2" default=(0,0) endparam param p17 caption="Z4 Parameter 1" default=(1,0) endparam param p18 caption="Z4 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(0.3,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Tengawn10 { init: if @jm==0 z1=fn1(pixel) else z1=@sp endif z1=z1+@p19/z1+@p20*((z1-1i)/(z1+1i)) if @sv==0 z2=z1 z3=z1 z4=z1 elseif @sv==1 z2=z1 z3=-z1 z4=z1 elseif @sv==2 z2=z1 z3=z1 z4=-z1 elseif @sv==3 z2=z1 z3=-z1 z4=-z1 elseif @sv==4 z2=-z1 z3=z1 z4=z1 elseif @sv==5 z2=-z1 z3=-z1 z4=z1 elseif @sv==6 z2=-z1 z3=z1 z4=-z1 elseif @sv==7 z2=-z1 z3=-z1 z4=-z1 endif if @jm==0 c=@p9 else c=fn2(pixel) endif z=pixel int i=0 loop: zold=z i=i+1 z1=@p11*z1+@p12 z2=@p13*z2+@p14 z3=@p15*z3+@p16 z4=@p17*z4+@p18 z1=z1+p5*sqr(z1) z2=z2+p5*sqr(z2) z3=z3+p5*sqr(z3) z4=z4+p5*sqr(z4) z1=z1+@p21/z1 z2=z2+@p21/z2 z3=z3+@p21/z3 z4=z4+@p21/z4 a=z1+z4 b=z2*z3+z4^2 d=z1^2+z2*z3 if @v==0 z1=z1-p1*fn3(z1/3+(@p6*b-z2*@p7*a)/c^2) f=z2-p2*fn4((z2*a-@p6*c)/(3*d))+@p7 g=z3-p3*@fn5(z3/3+(@p8*b-z2*@p10*a)/c^2) h=z4-p4*@fn6((z4*a-@p8*c)/(3*d))+@p10 elseif @v==1 z1=z1-p1*fn3((z1*a-@p7*c)/(3*b))+@p6+3.65 f=z2-p2*fn4((z2*a-(@p6+3.65)*c)/(3*d))+@p7 g=z3-p3*@fn5(z3/3+(@p8*b-z2*@p10*a)/c^2) h=z4-p4*@fn6(z4/3+(@p10*d-z3*@p8*a)/c^2) elseif @v==2 z1=z1-p1*fn3((z1*a-@p7*c)/(3*b))+@p6-0.5 f=z2-p2*fn4(z2/3+(@p7*d-z3*(@p6-0.5)*a)/c^2) g=z3-p3*@fn5((z3*a-@p10*c)/(3*b))+@p8 h=z4-p4*@fn6(z4/3+(@p10*d-z3*@p8*a)/c^2) elseif @v==3 z1=z1-p1*fn3(z1/3+(@p6*b-z2*@p7*a)/c^2) f=z2-p2*fn4(z2/3+(@p7*d-z3*@p6*a)/c^2) g=z3-(p3-2)*@fn5((z3*a-@p10*c)/(3*b))+@p8 h=z4-p4*@fn6((z4*a-@p8*c)/(3*d))+@p10 elseif @v==4 z1=z1-p1*fn3((z1*a-@p7*c)/(3*b))+@p6 f=z2-(p2-0.8)*fn4(z2/3+(@p7*d-z3*@p6*a)/c^2) g=z3-p3*@fn5(z3/3+(@p8*b-z2*@p10*a)/c^2) h=z4-p4*@fn6(z4/3+(@p10*d-z3*@p8*a)/c^2) elseif @v==5 z1=z1-p1*fn3(z1/3+(@p6*b-z2*@p7*a)/c^2) f=z2-(p2-0.4)*fn4((z2*a-@p6*c)/(3*d))+@p7 g=z3-p3*@fn5(z3/3+(@p8*b-z2*@p10*a)/c^2) h=z4-p4*@fn6(z4/3+(@p10*d-z3*@p8*a)/c^2) elseif @v==6 z1=z1-(p1+0.85)*fn3(z1/3+(@p6*b-z2*@p7*a)/c^2) f=z2-p2*fn4(z2/3+(@p7*d-z3*@p6*a)/c^2) g=z3-p3*@fn5((z3*a-@p10*c)/(3*b))+@p8 h=z4-p4*@fn6(z4/3+(@p10*d-z3*@p8*a)/c^2) else z1=z1-p1*fn3(z1/3+(@p6*b-z2*@p7*a)/c^2) f=z2-p2*fn4(z2/3+(@p7*d-z3*@p6*a)/c^2) g=z3-(p3-1.715)*@fn5(z3/3+(@p8*b-z2*@p10*a)/c^2) h=z4-p4*@fn6((z4*a-@p8*c)/(3*d))+@p10 endif z2=f z3=g z4=h c=z1*z4-z2*z3 z=z1+z2+z3+z4 bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Tengawn 10" center=(0.001,0.001) magn=0.5 periodicity=0 param jm caption="J/M" enum="J""M" endparam param v caption="Tengawn Variant" enum="1""2""3""4""5""6""7""8" endparam param sv caption="Start Variant" enum="1""2""3""4""5""6""7""8" endparam param sp caption="Start Parameter (M)" default=(-0.6,0) visible=@jm==1 endparam param p19 caption="Start Parameter 1" default=(0,0) endparam param p20 caption="Start Parameter 2" default=(0,0) endparam param p1 caption="Tengawn Parameter 1" default=(0.75,0) endparam param p2 caption="Tengawn Parameter 2" default=(1,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p4 caption="Tengawn Parameter 4" default=(1,0) endparam param p6 caption="Tengawn Parameter 5" default=(0.75,0) endparam param p7 caption="Tengawn Parameter 6" default=(1,0) endparam param p8 caption="Tengawn Parameter 7" default=(1,0) endparam param p10 caption="Tengawn Parameter 8" default=(1,0) endparam param p9 caption="C Parameter" default=(1,0) visible=@jm==0 endparam func fn1 caption="Start Function" default=ident() visible=@jm==0 endfunc func fn2 caption="C Function" default=ident() visible=@jm==1 endfunc func fn3 caption="Tengawn Function 1" default=ident() endfunc func fn4 caption="Tengawn Function 2" default=ident() endfunc func fn5 caption="Tengawn Function 3" default=ident() endfunc func fn6 caption="Tengawn Function 4" default=ident() endfunc param p11 caption="Z1 Parameter 1" default=(1,0) endparam param p12 caption="Z1 Parameter 2" default=(0,0) endparam param p13 caption="Z2 Parameter 1" default=(1,0) endparam param p14 caption="Z2 Parameter 2" default=(0,0) endparam param p15 caption="Z3 Parameter 1" default=(1,0) endparam param p16 caption="Z3 Parameter 2" default=(0,0) endparam param p17 caption="Z4 Parameter 1" default=(1,0) endparam param p18 caption="Z4 Parameter 2" default=(0,0) endparam param p5 caption="Add Sqr Parameter" default=(-0.05,0) endparam param p21 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Tengawn7 { init: z1=p5 z2=@p15 int i=0 c=fn1(pixel) z=pixel loop: zold=z i=i+1 z1=p6*z1+@p7 z2=@p12*z2+@p13 c=@p8*fn3(c) z1=z1+@p11*sqr(z1) z2=z2+@p11*sqr(z2) z1=z1+@p14/z1 z2=z2+@p14/z2 b=z2 if @v==0 z2=z2-p1*(z2^3-1)/(3*z2^2)+p2*z1*z2+c k=3*sqr(z1^2-b^2) z1=z1-p3*(z1/3+(c*z1^2+i*b*(c*b-2*c*z1))/k)+p4 elseif @v==1 z2=z2-p1*(z2^3-1)/(3*z2^2)+p2*z1*z2+c k=3*sqr(z1^i-b^i) z1=z1-p3*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/k)+p4 elseif @v==2 z2=z2-p1*(z2^3-1)/(3*z2^2)+p2*z1*z2+c k=3*sqr(z1^2-b^i) z1=z1-p3*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/k)+p4 elseif @v==3 z2=z2-p1*(z2^3-1)/(3*z2^2)+p2*i*z1*z2+c k=3*sqr(z1^i-b^i) z1=z1-p3*(z1/3+(c*z1^2+i*b*(c*b-2*c*z1))/k)+p4 elseif @v==4 z2=z2-p1*(z2^3-1)/(3*z2^2)+p2*i*z1*z2+c k=3*sqr(z1^2-b^i) z1=z1-p3*(z1/3+(c*z1^2+i*b*(c*b-2*c*z1))/k)+p4 elseif @v==5 z2=z2-p1*(z2^3-1)/(3*z2^i)+(p2-1.42)*z1*z2+c k=3*sqr(z1^2-b^2) z1=z1-p3*(z1/3+(c*z1^2+i*b*(c*b-2*c*z1))/k)+p4 elseif @v==6 z2=z2-p1*(z2^3-1)/(3*z2^i)+p2*z1*z2+c k=3*sqr(z1^i-b^i) z1=z1-p3*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/k)+p4 elseif @v==7 z2=z2-(p1-2.5)*(z2^3-1)/(3*z2^i)+p2*z1*z2+c k=3*sqr(z1^2-b^i) z1=z1-p3*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/k)+p4 elseif @v==8 z2=z2-p1*(z2^3-1)/(3*z2^i)+p2*i*z1*z2+c k=3*sqr(z1^i-b^i) z1=z1-(p3-0.815)*(z1/3+(c*z1^2+i*b*(c*b-2*c*z1))/k)+p4 else z2=z2-p1*(z2^3-1)/(3*z2^i)+p2*i*z1*z2+c k=3*sqr(z1^2-b^i) z1=z1-(p3-0.6)*(z1/3+(c*z1^2+i*b*(c*b-2*c*z1))/k)+p4 endif z=z1^2+z2^2 bailout: |z-zold|>@bail default: title="Tengawn 7" center=(0.001,0.001) magn=0.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10" endparam param p5 caption="Start Parameter (Z1)" default=(-0.33,0) endparam param p15 caption="Start Parameter (Z2)" default=(-0.3,0) endparam param p1 caption="Tengawn Parameter 1" default=(1,0) endparam param p2 caption="Tengawn Parameter 2" default=(1,0) endparam param p3 caption="Tengawn Parameter 3" default=(1,0) endparam param p4 caption="Tengawn Parameter 4" default=(0,0) endparam param p6 caption="Z1 Parameter 1" default=(1,0) endparam param p7 caption="Z1 Parameter 2" default=(0,0) endparam param p12 caption="Z2 Parameter 1" default=(1,0) endparam param p13 caption="Z2 Parameter 2" default=(0,0) endparam param p8 caption="C Parameter" default=(1,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn3 caption="C Function 2" default=ident() endfunc param p11 caption="Add Sqr Parameter" default=(0.25,0) endparam param p14 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000000001 endparam } Tengawn8 { init: z1=p5 z2=@p15 z3=@p18 c=fn1(pixel) z=pixel loop: zold=z z1=p6*z1+@p7 z2=@p12*z2+@p13 z3=@p19*z3+@p20 c=@p8*fn3(c) z1=z1+@p11*sqr(z1) z2=z2+@p11*sqr(z2) z3=z2+@p11*sqr(z3) z1=z1+@p14/z1 z2=z2+@p14/z2 z3=z3+@p14/z3 a=z1 b=z2 if @v==0 z1=z1-p1*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/(3*sqr(z1^2-z2^2-z3^2)))+p2*z2*z3+c z2=z2^2*(z2-p3)/(1-p3*z2)+p4*a*z3+c z3=z3-@p16*(z3^4-z3^3-4*z3^2+7*c*z3-2)/(z3^3-3*z3^2+z3+3)+@p17*a*b+c elseif @v==1 z1=z1-p1*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/(3*sqr(z1^2-z2^2-z3^2)))+p2*z2*z3+c z2=sqr((z2^2+p3-2)/(2*z2+p3-3))+p4*a*z3+c z3=z3-@p16*(z3^4-z3^3-4*z3^2+7*c*z3-2)/(z3^3-3*z3^2+z3+3)+@p17*a*b+c elseif @v==2 z1=z1-p1*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/(3*sqr(z1^2-z2^2-z3^2)))+p2*z2*z3+c z2=z2^2*(1-p3*z2)/(z2-p3)+p4*a*z3+c z3=z3-@p16*(z3^4-z3^3-4*z3^2+7*c*z3-2)/(z3^3-3*z3^2+z3+3)+@p17*a*b+c elseif @v==3 z1=z1-p1*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/(3*sqr(z1^2-z2^2-z3^2)))+p2*z2*z3+c z2=sqr((2*z2+p3-2)/(z2^2+p3-1))+(p4-1.75)*a*z3+c z3=z3-@p16*(z3^4-z3^3-4*z3^2+7*c*z3-2)/(z3^3-3*z3^2+z3+3)+@p17*a*b+c elseif @v==4 z1=z1-p1*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/(3*sqr(z1^2-z2^2-z3^2)))+p2*z2*z3+c z2=z2-(p3-1.8)*((z2^3-1)/(3*z2^2*(z2-(z2^3-1)/(6*z2^2))))+p4*a*z3+c z3=z3-@p16*(z3^4-z3^3-4*z3^2+7*c*z3-2)/(z3^3-3*z3^2+z3+3)+@p17*a*b+c elseif @v==5 z1=z1-p1*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/(3*sqr(z1^2-z2^2-z3^2)))+p2*z2*z3+c z2=z2-(p3-1.6)*((3*z2^2*(z2-(z2^3-1)/(6*z2^2)))/(z2^3-1))+p4*a*z3+c z3=z3-@p16*(z3^4-z3^3-4*z3^2+7*c*z3-2)/(z3^3-3*z3^2+z3+3)+@p17*a*b+c else z1=z1-p1*(z1/3+(c*z1^2+b*(c*b-2*c*z1))/(3*sqr(z1^2-z2^2-z3^2)))+p2*z2*z3+c z2=z2-(p3-2.9)*(z2^3-1)*(3*z2^2)/((3*z2^2)^2-(z2^3-1)*(6*z2))+p4*a*z3+c z3=z3-@p16*(z3^4-z3^3-4*z3^2+7*c*z3-2)/(z3^3-3*z3^2+z3+3)+@p17*a*b+c endif z=z1+z2+z3 bailout: |z-zold|>@bail default: title="Tengawn 8" center=(-0.751,0.001) magn=1.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7" endparam param p5 caption="Start Parameter (Z1)" default=(-0.3,0) endparam param p15 caption="Start Parameter (Z2)" default=(-0.3,0) endparam param p18 caption="Start Parameter (Z3)" default=(-0.3,0) endparam param p1 caption="Tengawn Parameter 1" default=(1,0) endparam param p2 caption="Tengawn Parameter 2" default=(1,0) endparam param p3 caption="Tengawn Parameter 3" default=(2,0) endparam param p4 caption="Tengawn Parameter 4" default=(1,0) endparam param p16 caption="Tengawn Parameter 5" default=(1,0) endparam param p17 caption="Tengawn Parameter 6" default=(1,0) endparam param p6 caption="Z1 Parameter 1" default=(1,0) endparam param p7 caption="Z1 Parameter 2" default=(0,0) endparam param p12 caption="Z2 Parameter 1" default=(1,0) endparam param p13 caption="Z2 Parameter 2" default=(0,0) endparam param p19 caption="Z3 Parameter 1" default=(1,0) endparam param p20 caption="Z3 Parameter 2" default=(0,0) endparam param p8 caption="C Parameter" default=(1,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn3 caption="C Function 2" default=ident() endfunc param p11 caption="Add Sqr Parameter" default=(0.25,0) endparam param p14 caption="Add Recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.000000000001 endparam } Gumshir { ;This is a modification of Simurgh (Mandelbrot) by Damien M. Jones (dmj.ufm) init: z1=@sp z2=@sp z3=@sp z=pixel c=fn1(pixel) loop: c=@p16*@fn5(c)+@p17 if @v==0 z3=z3^3+z3^2*c+p1*z2+p2*z1 elseif @v==1 z3=z3^3+z3^2*c+p1*(z2+z)+p2*(z1+z) elseif @v==2 z3=z3^3+z3^2*c+p1*(z2-z)+p2*(z1-z) elseif @v==3 z3=c*z^3+z3^2+p1*(z2+z)+p2*(z1+z) elseif @v==4 z3=z3^3*c+z3^2*c+p1*z1+p2*z3 elseif @v==5 z3=z3^3+z3^2*c+p1*(z2-z^2+z3-z1)+p2*(z2^2+z3-z1) elseif @v==6 z3=c*z^3+z3^2+p1*(z2-z)+p2*(z1-z) elseif @v==7 z3=z3^3+z3^2*c+p1*(z2-z-z3)+p2*(z-z3) elseif @v==8 z3=z3^3+z3^2*c+p1*(z2-z^2+z3-z1^2)+p2*(z2^2+z3-z1) elseif @v==9 z3=z3^3+z3^2*c+p1*(z2-z^2+z3-z1)+p2*(z2^2+z3^2-z1) elseif @v==10 z3=z3^3+z3^2*c+p1*(z2^3-z^2+z3-z1)+p2*c*(z2^2+z3-z1) endif z1=p3*fn2(z2)+p4 z2=p5*fn3(z)+p6 z=@p7*fn4(z3)+@p8 bailout: |z|<@bail default: title="Gumshir" center=(0.001,0.001) angle=90 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11" endparam param sp caption="Start Parameter" default=(0,0) endparam param p1 caption="Gumshir Parameter 1" default=(0.5,0) endparam param p2 caption="Gumshir Parameter 2" default=(0.5,0) endparam param p3 caption="Gumshir Parameter 3" default=(1,0) endparam param p4 caption="Gumshir Parameter 4" default=(0,0) endparam param p5 caption="Gumshir Parameter 5" default=(1,0) endparam param p6 caption="Gumshir Parameter 6" default=(0,0) endparam param p7 caption="Gumshir Parameter 7" default=(1,0) endparam param p8 caption="Gumshir Parameter 8" default=(0,0) endparam param p16 caption="C Parameter 1" default=(1,0) endparam param p17 caption="C Parameter 2" default=(0,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn5 caption="C Function 2" default=ident() endfunc func fn2 caption="Gumshir Function 1" default=ident() endfunc func fn3 caption="Gumshir Function 2" default=ident() endfunc func fn4 caption="Gumshir Function 3" default=ident() endfunc param bail caption="Bailout" default=10000.0 endparam } Wirmun { init: z=pixel z2=p5 z3=p6 z4=@p7 c=fn2(pixel) loop: zold=z z2=@p10*z2+@p11 z3=@p12*z3+@p13 z4=@p14*z4+@p15 c=@p8*c+@p9 z2=z2+@p16*sqr(z2) z3=z3+@p16*sqr(z3) z4=z4+@p16*sqr(z4) z2=z2+@p17/z2 z3=z3+@p17/z3 z4=z4+@p17/z4 z=p1*z2+(1-p1)*z4 z=z*(p2*z3+(1-p2)*z4) if @v==0 z=z*z4*(z-c)/(1-c*z)+p3 elseif @v==1 z=z*z4*(z-c)/(1-c*z4)+p3 elseif @v==2 z=z*z4*(z4-c)/(1-c*z4)+p3 elseif @v==3 z=z*z4*(z4-c)/(1-c*z)+p3 elseif @v==4 z=z^2*(z-c)/(1-c*z4)+p3 elseif @v==5 z=z^2*(z4-c)/(1-c*z)+p3 elseif @v==6 z=z^2*(z4-c)/(1-c*z4)+p3 elseif @v==7 z=z4^2*(z-c)/(1-c*z)+p3-1.3 elseif @v==8 z=z4^2*(z-c)/(1-c*z4)+p3 elseif @v==9 z=z*z4*(z-c)/(1-c*z2)+p3 elseif @v==10 z=z*z4*(z2-c)/(1-c*z4)+p3 elseif @v==11 z=z*z3*(z4-c)/(1-c*z4)+p3 elseif @v==12 z=z*z2*(z4-c)/(1-c*z)+p3 elseif @v==13 z=z2*z3*(z-c)/(1-c*z4)+p3 elseif @v==14 z=z^2*(z4-c)/(1-c*z3)+p3 elseif @v==15 z=z*z3*(z2-c)/(1-c*z4)+p3 elseif @v==16 z=z^2*(z3-c)/(1-c*z4)+p3 elseif @v==17 z=z*z2*(z3-c)/(1-c*z2)+p3 elseif @v==18 z=z4^2*(z-c)/(1-c*z3)+p3 elseif @v==19 z=z4^2*(z-c)/(1-c*z)+p3-1.5 elseif @v==20 z=z4^2*(z2-c)/(1-c*z)+p3-0.5 elseif @v==21 z=z*z3*(z-c)/(1-c*z4)+p3 elseif @v==22 z=z*z3*(z4-c)/(1-c*z)+p3 elseif @v==23 z=z*z3*(z4-c)/(1-c*z3)+p3 elseif @v==24 z=z*z3*(z4-c)/(1-c*z2)+p3-0.06 elseif @v==25 z=z*z3*(z3-c)/(1-c*z4)+p3 elseif @v==26 z=z*z2*(z-c)/(1-c*z4)+p3 elseif @v==27 z=z*z2*(z2-c)/(1-c*z4)+p3-1.75 elseif @v==28 z=z*z2*(z4-c)/(1-c*z2)+p3 elseif @v==29 z=z*z2*(z3-c)/(1-c*z4)+p3-0.2 elseif @v==30 z=z*z2*(z4-c)/(1-c*z3)+p3-1.35 elseif @v==31 z=z2*z3*(z4-c)/(1-c*z4)+p3 elseif @v==32 z=z2*z3*(z-c)/(1-c*z2)+p3 else z=z2*z3*(z4-c)/(1-c*z2)+p3-0.1 endif z2=z3 z3=z4 z4=z bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Wirmun" center=(0.001,0.001) magn=0.5 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" endparam param p5 caption="Start Parameter 1" default=(-1,0) endparam param p6 caption="Start Parameter 2" default=(-1,0) endparam param p7 caption="Start Parameter 3" default=(-1,0) endparam param p1 caption="Wirmun Parameter 1" default=(0.5,0) endparam param p2 caption="Wirmun Parameter 2" default=(0.5,0) endparam param p3 caption="Wirmun Parameter 3" default=(0.5,0) endparam param p10 caption="Z2 Parameter 1" default=(1,0) endparam param p11 caption="Z2 Parameter 2" default=(0,0) endparam param p12 caption="Z3 Parameter 1" default=(1,0) endparam param p13 caption="Z3 Parameter 2" default=(0,0) endparam param p14 caption="Z4 Parameter 1" default=(1,0) endparam param p15 caption="Z4 Parameter 2" default=(0,0) endparam param p8 caption="C Parameter 1" default=(1,0) endparam param p9 caption="C Parameter 2" default=(0,0) endparam param p16 caption="Add Sqr Parameter" default=(0,0) endparam param p17 caption="Add Recip Parameter" default=(0,0) endparam func fn2 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Wirmag { init: z=pixel z2=p5 z3=p6 z4=@p7 c=fn2(pixel) loop: zold=z z2=@p10*z2+@p11 z3=@p12*z3+@p13 z4=@p14*z4+@p15 c=@p8*c+@p9 z2=z2+@p16*sqr(z2) z3=z3+@p16*sqr(z3) z4=z4+@p16*sqr(z4) z2=z2+@p17/z2 z3=z3+@p17/z3 z4=z4+@p17/z4 z=p1*z2+(1-p1)*z4 z=z*(p2*z3+(1-p2)*z4) if @v==0 z=sqr((z*z4+c-1)/(2*z+c-2))+p3 elseif @v==1 z=sqr((z*z4+c-1)/(2*z4+c-2))+p3 elseif @v==2 z=sqr((z^2+c-1)/(2*z4+c-2))+p3 elseif @v==3 z=sqr((z^2+(p3+1.6)-1)/(2*z4+(p3+1.6)-2))+c elseif @v==4 z=sqr((z*z4+(p3+0.3)-1)/(2*z+(p3+0.3)-2))+c elseif @v==5 z=sqr((z*z4+(p3+1.6)-1)/(2*z4+(p3+1.6)-2))+c elseif @v==6 z=sqr((z*z3+c-1)/(2*z4+c-2))+p3 elseif @v==7 z=((z*z2+c-1)/(2*z3+c-2))*((z4*z+c-1)/(2*z2+c-2))+p3 elseif @v==8 z=((z2*z3+c-1)/(2*z4+c-2))*((z*z2+c-1)/(2*z3+c-2))+p3-0.1 elseif @v==9 z=((z4*z+c-1)/(2*z2+c-2))*((z3*z4+c-1)/(2*z+c-2))+p3 elseif @v==10 z=((z^2+c-1)/(2*z+c-2))*((z4^2+c-1)/(2*z4+c-2))+p3 elseif @v==11 z=((z2*z+c-1)/(2*z4+c-2))*((z3*z2+c-1)/(2*z+c-2))+p3 elseif @v==12 z=((z*z4+c-1)/(2*z3+c-2))*((z2*z+c-1)/(2*z4+c-2))+p3 elseif @v==13 z=sqr((z*z3+p3-1)/(2*z4+p3-2))+c elseif @v==14 z=((z*z2+p3-1)/(2*z3+p3-2))*((z4*z+p3-1)/(2*z2+p3-2))+c elseif @v==15 z=((z2*z3+p3-1)/(2*z4+p3-2))*((z*z2+p3-1)/(2*z3+p3-2))+c elseif @v==16 z=((z^2+p3-1)/(2*z+p3-2))*((z4^2+p3-1)/(2*z4+p3-2))+c elseif @v==17 z=((z2*z+p3-1)/(2*z4+p3-2))*((z3*z2+p3-1)/(2*z+p3-2))+c else z=((z*z4+c-1)/(2*z3+c-2))*((z2^2+c-1)/(2*z2+c-2))+p3 endif z2=z3 z3=z4 z4=z bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Wirmag" center=(0.001,0.001) magn=0.5 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" endparam param p5 caption="Start Parameter 1" default=(-1,0) endparam param p6 caption="Start Parameter 2" default=(-1,0) endparam param p7 caption="Start Parameter 3" default=(-1,0) endparam param p1 caption="Wirmag Parameter 1" default=(0.5,0) endparam param p2 caption="Wirmag Parameter 2" default=(0.5,0) endparam param p3 caption="Wirmag Parameter 3" default=(0.5,0) endparam param p10 caption="Z2 Parameter 1" default=(1,0) endparam param p11 caption="Z2 Parameter 2" default=(0,0) endparam param p12 caption="Z3 Parameter 1" default=(1,0) endparam param p13 caption="Z3 Parameter 2" default=(0,0) endparam param p14 caption="Z4 Parameter 1" default=(1,0) endparam param p15 caption="Z4 Parameter 2" default=(0,0) endparam param p8 caption="C Parameter 1" default=(1,0) endparam param p9 caption="C Parameter 2" default=(0,0) endparam param p16 caption="Add Sqr Parameter" default=(0,0) endparam param p17 caption="Add Recip Parameter" default=(0,0) endparam func fn2 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Gumshir2 { init: z1=@sp z2=@sp z3=@sp z=(0,0) c=fn1(pixel) loop: c=@p16*@fn5(c)+@p17 if @v==0 z3=z^2*(z-c)/(1-c*z)+p1*z2+p2*z1 elseif @v==1 z3=z^2*(z-c)/(1+c*z)+p1*z2+p2*z1 elseif @v==2 z3=z^2*(z-c)/(1-c*z)+p1*z2+p2*z3 elseif @v==3 z3=z^2*(z-c)/(1+c*z)+p1*z2+p2*z3 elseif @v==4 z3=z^2*(z-c)/(1-c*z)+p1*z3+p2*z1 elseif @v==5 z3=z^2*(z-c)/(1+c*z)+p1*z3+p2*z1 elseif @v==6 z3=z^2*(1-c*z)/(z-c)+p1*z2+p2*z1 elseif @v==7 z3=z^2*(1+c*z)/(z-c)+p1*z2+p2*z1 elseif @v==8 z3=z^2*(1-c*z)/(z-c)+p1*z2+p2*z3 elseif @v==9 z3=z^2*(1+c*z)/(z-c)+p1*z2+p2*z3 elseif @v==10 z3=z^2*(1-c*z)/(z-c)+p1*z3+p2*z1 elseif @v==11 z3=z^2*(1+c*z)/(z-c)+p1*z3+p2*z1 endif z1=p3*fn2(z2)+p4 z2=p5*fn3(z)+p6 z=@p7*fn4(z3)+@p8 bailout: |z|<@bail default: title="Gumshir 2" center=(0.001,0.001) periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12" endparam param sp caption="Start Parameter" default=(0.55,0) endparam param p1 caption="Gumshir Parameter 1" default=(-1,0) endparam param p2 caption="Gumshir Parameter 2" default=(0.5,0) endparam param p3 caption="Gumshir Parameter 3" default=(1,0) endparam param p4 caption="Gumshir Parameter 4" default=(0,0) endparam param p5 caption="Gumshir Parameter 5" default=(1,0) endparam param p6 caption="Gumshir Parameter 6" default=(0,0) endparam param p7 caption="Gumshir Parameter 7" default=(1,0) endparam param p8 caption="Gumshir Parameter 8" default=(0,0) endparam param p16 caption="C Parameter 1" default=(1,0) endparam param p17 caption="C Parameter 2" default=(0,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn5 caption="C Function 2" default=ident() endfunc func fn2 caption="Gumshir Function 1" default=ident() endfunc func fn3 caption="Gumshir Function 2" default=ident() endfunc func fn4 caption="Gumshir Function 3" default=ident() endfunc param bail caption="Bailout" default=10000.0 endparam } Wirnewt { init: z=pixel z2=p5 z3=p6 z4=@p7 c=fn2(pixel) loop: zold=z z2=@p10*z2+@p11 z3=@p12*z3+@p13 z4=@p14*z4+@p15 c=@p8*c+@p9 z2=z2+@p16*sqr(z2) z3=z3+@p16*sqr(z3) z4=z4+@p16*sqr(z4) z2=z2+@p17/z2 z3=z3+@p17/z3 z4=z4+@p17/z4 z=p1*z2+(1-p1)*z4 z=z*(p2*z3+(1-p2)*z4) if @v==0 z=z-p3*(z^2*z4-c)/(3*z^2) elseif @v==1 z=z-p3*(z*z4^2-c)/(3*z^2) elseif @v==2 z=z-p3*(z^2*z4-c)/(3*z*z4) elseif @v==3 z=z-p3*(z*z4^2-c)/(3*z*z4) elseif @v==4 z=z-p3*(z4^3-c)/(3*z^2) elseif @v==5 z=z-p3*(z^3-c)/(3*z4^2) elseif @v==6 z=z4-p3*(z^2*z4-c)/(3*z*z4) elseif @v==7 z=z4-p3*(z*z4^2-c)/(3*z*z4) elseif @v==8 z=z4-p3*(z^3-c)/(3*z^2) elseif @v==9 z=z-p3*(z4^3-c)/(3*z4^2) elseif @v==10 z=z-p3*(z*z4*z2-c)/(3*z^2) elseif @v==11 z=z2-p3*(z^3-c)/(3*z4^2) elseif @v==12 z=z-p3*(z*z4*z2-c)/(3*z4^2) elseif @v==13 z=z-p3*(z*z4*z3-c)/(3*z^2) elseif @v==14 z=z3-p3*(z^3-c)/(3*z4^2) elseif @v==15 z=z-p3*(z*z4*z2-1)/(3*z4^2)+c elseif @v==16 z=z-(p3-1.5)*(z*z4*z3-1)/(3*z^2)+c elseif @v==17 z=z3-p3*(z^3-1)/(3*z4^2)+c elseif @v==18 z=z4-p3*(z^3-c)/(3*z*z2) elseif @v==19 z=z4-p3*(z^3-c)/(3*z*z3) elseif @v==20 z=z-p3*(z*z2*z3-c)/(3*z4^2) elseif @v==21 z=z-p3*(z*z2*z3-1)/(3*z4^2)+c elseif @v==22 z=z-p3*(z*z2*z3-c)/(3*z*Z4) elseif @v==23 z=z-p3*(z*z2*z3-1)/(3*z*z4)+c elseif @v==24 z=z4-p3*(z*z4*z3-c)/(3*z*z4) elseif @v==25 z=z4-p3*(z*z4^2-1)/(3*z3*z4)+c elseif @v==26 z=z4-p3*(z*z4^2-c)/(3*z2*z4) elseif @v==27 z=z4-p3*(z*z4^2-c)/(3*z3*z4) elseif @v==28 z=z4-p3*(z*z4^2-c)/(3*z*z2) elseif @v==29 z=z4-p3*(z*z4^2-c)/(3*z*z3) elseif @v==30 z=z4-p3*(z*z4^2-1)/(3*z2*z4)+c elseif @v==31 z=z2-p3*(z3*z4*z-c)/(3*z2*z3) elseif @v==32 z=z4-p3*(z3*z2*z-c)/(3*z4*z3) elseif @v==33 z=z3-p3*(z2*z*z4-c)/(3*z3*z2) elseif @v==34 z=z4-p3*(z3*z2*z-1)/(3*z4*z3)+c elseif @v==35 z=z3-p3*(z2*z*z4-1)/(3*z3*z2)+c endif z2=z3 z3=z4 z4=z bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Wirnewt" 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" endparam param p5 caption="Start Parameter 1" default=(-0.5,0) endparam param p6 caption="Start Parameter 2" default=(-0.5,0) endparam param p7 caption="Start Parameter 3" default=(-0.5,0) endparam param p1 caption="Wirnewt Parameter 1" default=(0.5,0) endparam param p2 caption="Wirnewt Parameter 2" default=(0.5,0) endparam param p3 caption="Wirnewt Parameter 3" default=(1,0) endparam param p10 caption="Z2 Parameter 1" default=(1,0) endparam param p11 caption="Z2 Parameter 2" default=(0,0) endparam param p12 caption="Z3 Parameter 1" default=(1,0) endparam param p13 caption="Z3 Parameter 2" default=(0,0) endparam param p14 caption="Z4 Parameter 1" default=(1,0) endparam param p15 caption="Z4 Parameter 2" default=(0,0) endparam param p8 caption="C Parameter 1" default=(1,0) endparam param p9 caption="C Parameter 2" default=(0,0) endparam param p16 caption="Add Sqr Parameter" default=(0,0) endparam param p17 caption="Add Recip Parameter" default=(0,0) endparam func fn2 caption="C Function" default=ident() endfunc param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } Gumshir3 { init: z1=@sp1*fn1(pixel) z2=@sp2*fn1(pixel) z3=@sp3*fn1(pixel) z=pixel c=@c int i=0 loop: i=i+1 c=@p16*@fn5(c)+@p17 if @v==0 z3=((z3^2+c-1)/(2*z+c-2))^2+p1*z2+p2*z1 elseif @v==1 z3=((z1^2+c-1)/(2*z+c-2))^2+p1*z2+p2*z3 elseif @v==2 z3=((z^2+c-1)/(2*z+c-2))^2+p1*z1+p2*z3 elseif @v==3 z3=((z^2+c-1)/(2*z1+c-2))^2+p1*z2+p2*z3 elseif @v==4 z3=((z3^2+c-1)/(2*z2+c-2))^2+p1*z2+p2*z1 elseif @v==5 z3=((z1^2+c-1)/(2*z2+c-2))^2+p1*z2+p2*z3 elseif @v==6 z3=((z3^2+c-1)/(2*z+c-2))^i+p1*z2+p2*z1 elseif @v==7 z3=((z1^2+c-1)/(2*z+c-2))^i+p1*z2+p2*z3 elseif @v==8 z3=((z^2+c-1)/(2*z1+c-2))^i+p1*z2+p2*z3 elseif @v==9 z3=((z^i+c-1)/(2*z1+c-2))^2+p1*z2+p2*z3 elseif @v==10 z3=((z^2+c-1)/(2*z+c-2))^2+p1*z2+p2*z3 elseif @v==11 z3=((z^2+c-1)/(2*z2+c-2))^2+p1*z2+p2*z3 elseif @v==12 z3=((z^2+c-1)/(2*z+c-2))^i+p1*z2+p2*z3 endif z1=p3*fn2(z2)+p4 z2=p5*fn3(z)+p6 z=@p7*fn4(z3)+@p8 bailout: |z|<@bail default: title="Gumshir 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" endparam param sp1 caption="Start Parameter 1" default=(1,0) endparam param sp2 caption="Start Parameter 2" default=(1,0) endparam param sp3 caption="Start Parameter 3" default=(1,0) endparam param p1 caption="Gumshir Parameter 1" default=(-1,0) endparam param p2 caption="Gumshir Parameter 2" default=(0.5,0) endparam param p3 caption="Gumshir Parameter 3" default=(1,0) endparam param p4 caption="Gumshir Parameter 4" default=(0,0) endparam param p5 caption="Gumshir Parameter 5" default=(1,0) endparam param p6 caption="Gumshir Parameter 6" default=(0,0) endparam param p7 caption="Gumshir Parameter 7" default=(1,0) endparam param p8 caption="Gumshir Parameter 8" default=(0,0) endparam param c caption="C Parameter 1" default=(1,0) endparam param p16 caption="C Parameter 2" default=(1,0) endparam param p17 caption="C Parameter 3" default=(0,0) endparam func fn1 caption="C Function 1" default=ident() endfunc func fn5 caption="C Function 2" default=ident() endfunc func fn2 caption="Gumshir Function 1" default=ident() endfunc func fn3 caption="Gumshir Function 2" default=ident() endfunc func fn4 caption="Gumshir Function 3" default=ident() endfunc param bail caption="Bailout" default=10000.0 endparam } Wirnewt2 { init: z=pixel z2=fn1(pixel) z2=z2+p4/z2+p6*(z2-1i)/(z2+1i) z3=fn1(pixel) z3=z3+p4/z3+p6*(z3-1i)/(z3+1i) z4=fn1(fn2(pixel)) z4=z4+p4/z4+p6*(z4-1i)/(z4+1i) c=p5 int i=0 loop: zold=z i=i+1 z2=@p10*z2+@p11 z3=@p12*z3+@p13 z4=@p14*z4+@p15 z2=z2+@p16*sqr(z2) z3=z3+@p16*sqr(z3) z4=z4+@p16*sqr(z4) z2=z2+@p17/z2 z3=z3+@p17/z3 z4=z4+@p17/z4 z=p1*z2+(1-p1)*z4 z=z*(p2*z3+(1-p2)*z4) if @v==0 z=z+p3*(c*z*z4-(z-1)^3*z4-c*z-3*(z-1)^3+(z-1)^3)/(3*z-2*z4+(z-1)^3+c) elseif @v==1 z=z4+(p3-0.6)*(c*z*z4-(z-1)^3*z4-c*z-3*(z-1)^3+(z-1)^3)/(3*z-2*z4+(z-1)^3+c) elseif @v==2 z=z+(p3+0.7)*(c*z*z4-(z-1)^3*z-c*z4-3*(z-1)^3+(z-1)^3)/(3*z4-2*z+(z-1)^3+c) elseif @v==3 z=z4+(p3-0.25)*(c*z*z4-(z4-1)^3*z4-c*z-3*(z4-1)^3+(z4-1)^3)/(3*z-2*z4+(z4-1)^3+c) elseif @v==4 z=z4+(p3-0.9)*(c*z*z4-(z-1)^3*z4-c*z-3*(z4-1)^3+(z-1)^3)/(3*z4-2*z+(z4-1)^3+c) elseif @v==5 z=z4+(p3-0.75)*(c*z*z4-(z-1)^3*z4-c*z4-3*(z-1)^3+(z-1)^3)/(3*z4-2*z4+(z-1)^3+c) elseif @v==6 z=z4+(p3-0.65)*(c*z*z-(z-1)^3*z-c*z-3*(z-1)^3+(z-1)^3)/(3*z4-2*z4+(z4-1)^3+c) elseif @v==7 z=z+(p3-0.2)*(3*z4-2*z+(z-1)^3+c)/(c*z*z4-(z-1)^3*z-c*z4-3*(z-1)^3+(z-1)^3) elseif @v==8 z=z4+(p3-0.8)*(c*z*z4-(z4-1)^i*z4-c*z-3*(z4-1)^3+(z4-1)^i)/(3*z-2*z4+(z4-1)^3+c) elseif @v==9 z=z4+(p3-1.1)*(c*z*z-(z-1)^3*z-c*z-3*(z-1)^i+(z-1)^3)/(3*z4-2*z4+(z4-1)^i+c) elseif @v==10 z=z4+(p3-0.7)*(c*z*z4-(z-1)^3*z4-c*z-i*(z-1)^3+(z-1)^i)/(i*z-2*z4+(z-1)^3+c) endif z2=z3 z3=z4 z4=z bailout: (@bt==0 &&|z-zold|>@bailcon) || (@bt==1 && |z|<@baildiv) default: title="Wirnewt 2" center=(0.001,0.001) periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11" endparam param p4 caption="Start Parameter 1" default=(0,0) endparam param p6 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param p1 caption="Wirnewt Parameter 1" default=(0.5,0) endparam param p2 caption="Wirnewt Parameter 2" default=(0.5,0) endparam param p3 caption="Wirnewt Parameter 3" default=(1,0) endparam param p5 caption="C Parameter" default=(1,0) endparam param p10 caption="Z2 Parameter 1" default=(1,0) endparam param p11 caption="Z2 Parameter 2" default=(0,0) endparam param p12 caption="Z3 Parameter 1" default=(1,0) endparam param p13 caption="Z3 Parameter 2" default=(0,0) endparam param p14 caption="Z4 Parameter 1" default=(1,0) endparam param p15 caption="Z4 Parameter 2" default=(0,0) endparam param p16 caption="Add Sqr Parameter" default=(0,0) endparam param p17 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout Value" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout Value" default=10000.0 visible=@bt==1 endparam } BivarX49 { init: c=@cf1(pixel) z=@sp1 k=@sp2 loop: z=@zp1*z^2+@zp2 k=@kp1*k^3+@kp2 c=@cp1*@cf2(c)+@cp2 z=z+@arp/z k=k+@arp/k z=z+@asp*sqr(z) k=k+@asp*sqr(k) a=k if @v==0 k=@bp1*@bf(k/z)+@bp2 z=z-z^2+fn3(z)+a-a^2+fn3(a)-c elseif @v==1 k=@bp1*@bf(k/z)+@bp2+0.25 z=z-z^2+fn3(z)+k-k^2+fn3(k)-c elseif @v==2 k=@bp1*@bf(k+z)+@bp2-0.465 z=z-z^2+fn3(z)+a-a^2+fn3(a)-c elseif @v==3 k=(@bp1-0.55)*@bf(k+z)+@bp2+0.6 z=z-z^2+fn3(z)+k-k^2+fn3(k)-c elseif @v==4 k=@bp1*@bf(k-z)+@bp2+0.75 z=z-z^2+fn3(z)+a-a^2+fn3(a)-c elseif @v==5 k=@bp1*@bf(k-z)+@bp2+0.575 z=z-z^2+fn3(z)+k-k^2+fn3(k)-c elseif @v==6 k=(@bp1-1.35)*@bf(k^2/z)+@bp2+0.6 z=z-z^2+fn3(z)+a-a^2+fn3(a)-c elseif @v==7 k=(@bp1-1.35)*@bf(k^2/z)+@bp2+0.6 z=z-z^2+fn3(z)+k-k^2+fn3(k)-c endif bailout: |z|<=@bail default: title="Bivar X 49" center=(0.851,0.001) magn=1.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8" endparam param sp1 caption="Start Parameter 1" default=(0.65,0) endparam param sp2 caption="Start Parameter 2" default=(0.65,0) endparam param bp1 caption="Bivar Parameter 1" default=(0.35,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.25,0) endparam param cp1 caption="C Parameter 1" default=(1,0) endparam param cp2 caption="C Parameter 2" default=(0,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam func cf1 caption="C Function 1" default=ident() endfunc func cf2 caption="C Function 2" default=ident() endfunc func bf caption="Bivar Function" default=ident() endfunc func fn3 caption="X Function" default=ident() endfunc param arp caption="Add Recip Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } AleatorM { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=p1 k=p2 int i2=0 c=fn1(pixel) loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 c=@cp1*c+@cp2 z=z+@arp/z k=k+@arp/k z=z+@asp*sqr(z) k=k+@asp*sqr(z) a=k k=p3*fn2(k/z)+p4 if @v==0 z=z^2+a^2+values[i2]+c elseif @v==1 z=z^2+k^2+values[i2]+c elseif @v==2 z=z^2-a^2+values[i2]+c elseif @v==3 z=z^2-k^2+values[i2]+c elseif @v==4 z=(z+a)^2+values[i2]+c elseif @v==5 z=(z+k)^2+values[i2]+c elseif @v==6 z=(z-a)^2+values[i2]+c elseif @v==7 z=(z-k)^2+values[i2]+c elseif @v==8 z=z^2+c*a^2+values[i2] elseif @v==9 z=z^2+c*k^2+values[i2] elseif @v==10 z=c*z^2+a^2+values[i2] elseif @v==11 z=c*z^2+k^2+values[i2] elseif @v==12 z=z^2+a^2+c*values[i2] elseif @v==13 z=z^2+k^2+c*values[i2] elseif @v==14 z=c*z^2-a^2+values[i2] elseif @v==15 z=c*z^2-k^2+values[i2] elseif @v==16 z=z^2-a^2+c*values[i2] elseif @v==17 z=z^2-k^2+c*values[i2] elseif @v==18 z=c*(z+a)^2+values[i2] elseif @v==19 z=c*(z+k)^2+values[i2] elseif @v==20 z=(z+a)^2+c*values[i2] elseif @v==21 z=(z+k)^2+c*values[i2] elseif @v==22 z=c*(z-a)^2+values[i2] elseif @v==23 z=c*(z-k)^2+values[i2] elseif @v==24 z=(z-a)^2+c*values[i2] elseif @v==25 z=(z-k)^2+c*values[i2] endif i2=i2+1 bailout: |z|<@bail default: title="Aleator M Bivar" periodicity=0 center=(0.001,0.001) 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" endparam param p1 caption="Start Parameter (Z)" default=(0.5,0) endparam param p2 caption="Start Parameter (K)" default=(0.5,0) endparam param p3 caption="Bivar Parameter 1" default=(0.5,0) endparam param p4 caption="Bivar Parameter 2" default=(0.1,0) endparam param seed caption="Random Seed" default=12345678 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param cp1 caption="C Parameter 1" default=(1,0) endparam param cp2 caption="C Parameter 2" default=(0,0) endparam func fn1 caption="C Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param arp caption="Add Recip Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } AleatorJBivar { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=fn1(pixel) z=z+@sp1*(z-1i)/(z+1i) k=fn1(pixel) k=k+@sp2*(k-1i)/(k+1i) int i2=0 c=p1 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 z=z+@arp/z k=k+@arp/k z=z+@asp*sqr(z) k=k+@asp*sqr(z) a=k k=p3*fn2(k/z)+p4 if @v==0 z=z^2+a^2+values[i2]+c elseif @v==1 z=z^2+k^2+values[i2]+c elseif @v==2 z=(z-k)^2+c*values[i2] elseif @v==3 z=z^2-k^2+values[i2]+c elseif @v==4 z=(z+a)^2+values[i2]+c elseif @v==5 z=(z+k)^2+values[i2]+c elseif @v==6 z=c*(z-k)^2+values[i2] elseif @v==7 z=(z-k)^2+values[i2]+c elseif @v==8 z=z^2+c*a^2+values[i2] elseif @v==9 z=z^2+c*k^2+values[i2] elseif @v==10 z=c*z^2+a^2+values[i2] elseif @v==11 z=c*z^2+k^2+values[i2] elseif @v==12 z=z^2+a^2+c*values[i2] elseif @v==13 z=z^2+k^2+c*values[i2] elseif @v==14 z=c*z^2-a^2+values[i2] elseif @v==15 z=c*z^2-k^2+values[i2] elseif @v==16 z=(z+k)^2+c*values[i2] elseif @v==17 z=z^2-k^2+c*values[i2] elseif @v==18 z=c*(z+a)^2+values[i2] elseif @v==19 z=c*(z+k)^2+values[i2] elseif @v==20 z=(z+a)^2+c*values[i2] endif i2=i2+1 bailout: |z|<@bail default: title="Aleator J Bivar" periodicity=0 center=(0.001,0.001) 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" endparam param sp1 caption="Start Parameter (Z)" default=(0,0) endparam param sp2 caption="Start Parameter (K)" default=(0,0) endparam param p1 caption="C Parameter" default=(-0.5,0) endparam param p3 caption="Bivar Parameter 1" default=(0.5,0) endparam param p4 caption="Bivar Parameter 2" default=(0.1,0) endparam param seed caption="Random Seed" default=12345678 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Bivar Function" default=ident() endfunc param arp caption="Add Recip Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } AleatorMagnetJBivar { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=@cf1(pixel) k=z c=p1 int i2=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 c=@cp1*@cf2(c)+@cp2 z=z+@asp*sqr(z) k=k+@asp*sqr(k) a=k if @v==0 k=@bp1*k/z+@bp2 z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-1)/(2*a+c-2))+p2+values[i2] elseif @v==1 k=@bp1*k/z+@bp2 z=sqr(((z+values[i2])^2+c-1)/(2*(z+values[i2])+c-2))+sqr(((a+values[i2])^2+c-1)/(2*(a+values[i2])+c-2))+p2 elseif @v==2 k=@bp1*k/z+@bp2+values[i2] z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-1)/(2*a+c-2))+p2 elseif @v==3 k=@bp1*k/z+@bp2+values[i2] z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-1)/(2*a+c-2))+p2+values[i2] elseif @v==4 k=@bp1*k/z+@bp2 z=sqr(((z+values[i2])^2+c-1)/(2*(z+values[i2])+c-2))+sqr(((a+values[i2])^2+c-1)/(2*(a+values[i2])+c-2))+p2-values[i2] elseif @v==5 k=@bp1*k/z+@bp2+values[i2] z=sqr(((z+values[i2])^2+c-1)/(2*(z+values[i2])+c-2))-sqr(((a-values[i2])^2+c-1)/(2*(a-values[i2])+c-2))+p2 elseif @v==6 k=@bp1*k/z+@bp2 z=sqr(((z-values[i2])^2+c-1)/(2*(z-values[i2])+c-2))+sqr(((a-values[i2])^2+c-1)/(2*(a-values[i2])+c-2))+p2+values[i2] elseif @v==7 k=@bp1*k/z+@bp2+values[i2] z=sqr(((z-values[i2])^2+c-1)/(2*(z-values[i2])+c-2))+sqr(((a-values[i2])^2+c-1)/(2*(a-values[i2])+c-2))+p2 elseif @v==8 k=@bp1*k/z+@bp2-values[i2] z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-1)/(2*a+c-2))+p2+values[i2] elseif @v==9 k=@bp1*k/z+@bp2-values[i2] z=sqr(((z+values[i2])^2+c-1)/(2*(z+values[i2])+c-2))-sqr(((a-values[i2])^2+c-1)/(2*(a-values[i2])+c-2))+p2+0.2 elseif @v==10 k=@bp1*k/z+@bp2-values[i2] z=sqr(((z+values[i2])^2+c-1)/(2*(z+values[i2])+c-2))-sqr(((a-values[i2])^2+c-1)/(2*(a-values[i2])+c-2))+p2-values[i2] elseif @v==11 k=@bp1*k/z+@bp2+values[i2] z=sqr((z^2+c-values[i2])/(2*z+c-2*values[i2]))+sqr((a^2+c-1)/(2*a+c-2))+p2 elseif @v==12 k=@bp1*k/z+@bp2-values[i2] z=sqr((z^2+c-values[i2])/(2*z+c-2*values[i2]))+sqr((a^2+c-1)/(2*a+c-2))+p2-0.1 elseif @v==13 k=@bp1*k/z+@bp2-values[i2] z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-1)/(2*a+c-2))+p2+0.3 endif i2=i2+1 bailout: |z|<@baildiv && |z-1|>@bailconj default: title="Aleator Magnet J Bivar" center=(0.001,0.001) magn=0.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14" endparam param p1 caption="Start Parameter" default=(1,0) endparam param bp1 caption="Bivar Parameter 1" default=(-0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.5,0) endparam param p2 caption="Magnet Parameter" default=(0,0) endparam param seed caption="Random Seed" default=12345678 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param cp1 caption="C Parameter 1" default=(1,0) endparam param cp2 caption="C Parameter 2" default=(0,0) endparam func cf1 caption="C Function 1" default=ident() endfunc func cf2 caption="C Function 2" default=ident() endfunc param asp caption="Add Square Parameter" default=(0,0) endparam param baildiv caption="Divergent Bailout value" default=100.0 endparam param bailconj caption="Convergent bailout value" default=0.00000001 endparam } AleatorMagnetMBivar { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=@sp1 k=@sp2 c=@cf1(pixel) int i2=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 c=@cp1*@cf2(c)+@cp2 z=z+@asp*sqr(z) k=k+@asp*sqr(k) a=k k=@bp1*k/z+@bp2 if @v==0 z=sqr((z^2+c-values[i2])/(2*z+c-2*values[i2]))+sqr((a^2+c-values[i2])/(2*a+c-2*values[i2]))+p2 elseif @v==1 z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-values[i2])/(2*a+c-2*values[i2]))+p2 elseif @v==2 z=sqr((z^2+c-values[i2])/(2*z+c-2*values[i2]))+sqr((a^2+c-1)/(2*a+c-2))+p2 elseif @v==3 z=sqr((z^2+c-values[i2])/(2*z+c-2*values[i2]))+sqr((a^2+c-values[i2])/(2*a+c-2*values[i2]))+p2+values[i2] elseif @v==4 z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-values[i2])/(2*a+c-2*values[i2]))+p2+values[i2] elseif @v==5 z=sqr((z^2+c-values[i2])/(2*z+c-2*values[i2]))+sqr((a^2+c-1)/(2*a+c-2))+p2+values[i2] elseif @v==6 z=sqr((z^2+c-1)/(2*z+c-2))+sqr((a^2+c-1)/(2*a+c-2))+p2+values[i2] elseif @v==7 z=sqr((z^2+c-values[i2])/(2*z+c-2))+sqr((a^2+c-values[i2])/(2*a+c-2)) elseif @v==8 z=sqr((z^2+c-1)/(2*z+c-2*values[i2]))+sqr((a^2+c-1)/(2*a+c-2*values[i2])) elseif @v==9 z=sqr((z^2+c-values[i2])/(2*z+c-2))+sqr((a^2+c-values[i2])/(2*a+c-2))+values[i2] elseif @v==10 z=sqr((z^2+c-1)/(2*z+c-2*values[i2]))+sqr((a^2+c-1)/(2*a+c-2*values[i2]))+values[i2] endif i2=i2+1 bailout: |z|<@baildiv && |z-1|>@bailconj default: title="Aleator Magnet M Bivar" center=(0.001,0.001) magn=0.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11" endparam param sp1 caption="Start Parameter (Z)" default=(1,0) endparam param sp2 caption="Start Parameter (K)" default=(1,0) endparam param bp1 caption="Bivar Parameter 1" default=(-0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.5,0) endparam param p2 caption="Magnet Parameter" default=(0,0) endparam param seed caption="Random Seed" default=12345678 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param cp1 caption="C Parameter 1" default=(1,0) endparam param cp2 caption="C Parameter 2" default=(0,0) endparam func cf1 caption="C Function 1" default=ident() endfunc func cf2 caption="C Function 2" default=ident() endfunc param asp caption="Add Sqr Parameter" default=(0,0) endparam param baildiv caption="Divergent Bailout Value" default=100.0 endparam param bailconj caption="Convergent Bailout Value" default=0.00000001 endparam } AleatorBarnsley { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=fn1(pixel) z=z+@sp1/z+@sp2*(z-1i)/(z+1i) int i2=0 loop: z=p3*fn2(z)+p4 z=z+p5/z z=z+p6*sqr(z) z=z+@p7*z^2*(z-@p8)/(1-@p8*z) if @v==0 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2)*p1+values[i2] else z=(z+p2)*p1-values[i2] endif elseif @v==1 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2)*p1-values[i2] else z=(z+p2)*p1+values[i2] endif elseif @v==2 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2+values[i2])*p1+values[i2] else z=(z+p2-values[i2])*p1-values[i2] endif elseif @v==3 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2-values[i2])*p1-values[i2] else z=(z+p2+values[i2])*p1+values[i2] endif elseif @v==4 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2-values[i2])*p1+values[i2] else z=(z+p2+values[i2])*p1-values[i2] endif elseif @v==5 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2+values[i2])*p1-values[i2] else z=(z+p2-values[i2])*p1+values[i2] endif elseif @v==6 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2+values[i2])*p1 else z=(z+p2-values[i2])*p1 endif elseif @v==7 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2-values[i2])*p1 else z=(z+p2+values[i2])*p1 endif endif i2=i2+1 bailout: |z|<@bail default: title="Aleator Barnsley" center=(0.001,0.001) magn=0.5 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8" endparam param sp1 caption="Start Parameter 1" default=(0,0) endparam param sp2 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn2 caption="Z Function" default=ident() endfunc func fn4 caption="Barnsley Function" default=ident() endfunc param p1 caption="Barnsley Parameter 1" default=(1,1) endparam param p2 caption="Barnsley Parameter 2" default=(0.65,1) endparam param seed caption="Random Seed" default=12345678 endparam param p3 caption="Z Parameter 1" default=(1,0) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam param p5 caption="Add Recip Parameter" default=(0,0) endparam param p6 caption="Add Sqr Parameter" default=(0,0) endparam param p7 caption="Add Munster Parameter 1" default=(0,0) endparam param p8 caption="Add Munster Parameter 2" default=(2,0) endparam param bail caption="Bailout" default=100.0 endparam } AleatorBarnsley2 { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=fn1(pixel) int i2=0 loop: z=p3*z+p4 z=z+@arp/z z=z+@asp*sqr(z) z=fn3(z-@p8*real(z)/cabs(real(z)))*@p7 if @v==0 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2)*p1+values[i2] else z=(z+p2)*p1-values[i2] endif elseif @v==1 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-(p2-0.22)+values[i2])*p1 else z=(z+(p2-0.22)-values[i2])*p1 endif elseif @v==2 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-p2)*p1-values[i2] else z=(z+p2)*p1+values[i2] endif elseif @v==3 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-(p2+0.23)-values[i2])*p1 else z=(z+(p2+0.23)+values[i2])*p1 endif elseif @v==4 if real(fn4(z))*imag(p1)+real(p1)*imag(fn4(z))>=0 z=(z-(p2+0.12)-values[i2])*p1-values[i2] else z=(z+(p2+0.12)+values[i2])*p1+values[i2] endif endif i2=12+1 bailout: |z|<@bail default: title="Aleator Barnsley 2" center=(0.001,0.001) magn=0.333 periodicity=0 param v caption="Variant" enum="1""2""3""4""5" endparam param seed caption="Random Seed" default=12345678 endparam param p1 caption="Barnsley Parameter 1" default=(0.356,-0.972) endparam param p2 caption="Barnsley Parameter 2" default=(1,0) endparam param p7 caption="Barnsley Parameter 3" default=(1,0) endparam param p8 caption="Barnsley Parameter 4" default=(1,0) endparam param p3 caption="Z Parameter 1" default=(1,0) endparam param p4 caption="Z Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc func fn4 caption="Barnsley Function 1" default=ident() endfunc func fn3 caption="Barnsley Function 2" default=ident() endfunc param arp caption="Add Recip Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } AleatorFloorMandelbrot { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=@sp int i2=0 c=@cf1(pixel) loop: z=@zp1*@zf(z)+@zp2 c=@cp1*@cf2(c)+@cp2 z=z+@asp*sqr(z) z=z^2+floor(values[i2])+c i2=i2+1 bailout: |z|<=@bail default: title="Aleator Floor Mandelbrot" center=(0.001,0.001) magn=2 periodicity=0 param sp caption="Start Parameter" default=(0,0) endparam param seed caption="Random Seed" default=12345678 endparam param Zp1 caption="Z Parameter 1" default=(1,0) endparam param Zp2 caption="Z Parameter 2" default=(0,0) endparam func zf caption="Z Function" default=ident() endfunc param asp caption="Add Sqr Parameter" default=(0,0) endparam param cp1 caption="C Parameter 1" default=(1,0) endparam param cp2 caption="C Parameter 2" default=(0,0) endparam func cf1 caption="C Function 1" default=ident() endfunc func cf2 caption="C Function 2" default=tan() endfunc param bail caption="Bailout" default=4.0 endparam } AleatorGanthrale { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: if @S=="1" z=pixel elseif @S=="2" z=sqr(pixel)*(pixel+1.5)/(1i+1.5*pixel) elseif @S=="3" z=pixel-(pixel^4-1i)/(4*pixel^3) elseif @S=="4" z=pixel-(tan(pixel)^4-1i)/(4*tan(pixel)^3) elseif @S=="5" z=sqr(pixel)*(pixel-2)/(1-2*pixel) elseif @S=="6" z=sqr(pixel)*(exp(pixel)+1)/(1i+exp(pixel)) elseif @S=="7" z=(pixel-1i)/(pixel+1i) elseif @S=="8" z=sqr(pixel)*(cotan(pixel)+11.5)/(1i+11.5*cotan(pixel)) elseif @S=="9" z=sqr((sqr(pixel)+2)/(2*pixel+1)) elseif @S=="10" z=sqr((pixel-1i)/(pixel+1i)) elseif @S=="11" z=pixel^2+1i elseif @S=="12" z=(sqr(pixel)-1i)/(sqr(pixel)+1i) elseif @S=="13" z=(pixel-1i)/(pixel+1) elseif @S=="14" z=(pixel+1i)/(1i*pixel) elseif @S=="15" z=pixel-2.2*(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @S=="16" z=(pixel^3-1i)/(pixel^3+1i) elseif @S=="17" z=pixel-(pixel^4-1)/(4*pixel^3) elseif @S=="18" z=pixel-(pixel^2-1)/(2*pixel) elseif @S=="19" z=pixel-sqr(pixel) elseif @S=="20" z=pixel+sqr(pixel) elseif @S=="21" z=pixel-1i/pixel elseif @S=="22" z=pixel-(pixel^2-1i)/(2*pixel) elseif @S=="23" z=pixel-(pixel^3-1i)/(3*pixel^2) elseif @S=="24" z=sqr(pixel)*(pixel-2)/(1i-2*pixel) elseif @S=="25" z=1i*sqr(pixel)+pixel elseif @s=="26" z=sqr(pixel)*(sin(pixel)+1)/(1i+sin(pixel)) elseif @s=="27" z=sqr(pixel)*(pixel+1)/(1i+pixel) elseif @s=="28" z=sqr(pixel)*(pixel+2)/(1i+2*pixel) elseif @s=="29" z=sqr(pixel)*(pixel-0.5)/(1-0.5*pixel) elseif @s=="30" z=sqr(pixel)*(cotanh(pixel)+1)/(1i+cotanh(pixel)) elseif @s=="31" z=sqr(pixel)*(cotan(pixel)+1)/(1i+cotan(pixel)) elseif @s=="32" z=sqr(pixel)*(sinh(pixel)+1)/(1i+sinh(pixel)) elseif @s=="33" z=pixel+pixel^2+pixel^3 elseif @s=="34" z=sqr(pixel)*(flip(pixel)+11.5)/(1i+11.5*flip(pixel)) elseif @s=="35" z=sqr((sqr(pixel)-2)/(2*pixel-3)) elseif @s=="36" z=sqr(pixel)*(tan(pixel)+11.5)/(1i+11.5*tan(pixel)) elseif @s=="37" z=pixel-(cotan(pixel)^4-1i)/(4*cotan(pixel)^3) elseif @s=="38" z=pixel-(pixel^3-1)/(3*pixel^2) elseif @s=="39" z=pixel-(cos(pixel)^4-1i)/(4*cos(pixel)^3) elseif @s=="40" z=pixel-4.6*(pixel^4-1i)/(4*pixel^3) elseif @s=="41" z=pixel-4.6*(tan(pixel)^4-1i)/(4*tan(pixel)^3) endif z=fn1(z) z=z+@sp1/z+@sp2*(z-1i)/(z+1i) int i2=0 loop: zold=z z=@p8*fn2(z)+@p9 z=z+p5*z*(1-z) z=z+p3/z if @v==0 z=(sqrt(1i*z+p2+@ap*@af(values[i2]))*z)+p1 elseif @v==1 z=(sqrt(1i*z+p2)*z)+p1+@ap*@af(values[i2]) elseif @v==2 z=(sqrt(1i*z+p2+@ap*@af(values[i2]))*z)+p1-@ap*@af(values[i2]) endif i2=i2+1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Aleator Ganthrale" center=(0.001,0.001) periodicity=0 magn=0.5 param v caption="Ganthrale Variant" enum="1""2""3" endparam param p1 caption="Ganthrale Parameter 1" default=(0.2,0.15) endparam param p2 caption="Ganthrale Parameter 2" default=(0,0) endparam param ap caption="Aleator Parameter" default=(1,0) endparam func af caption="Aleator Function" default=ident() endfunc param seed caption="Random Seed" default=12345676 endparam 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" endparam param sp1 caption="Start Parameter 1" default=(0,0) endparam param sp2 caption="Start Parameter 2" default=(0,0) endparam func fn1 caption="Start Function" default=ident() endfunc param p8 caption="Z Parameter 1" default=(0.88,0) endparam param p9 caption="z Parameter 2" default=(0,0) endparam func fn2 caption="Z Function" default=ident() endfunc param p5 caption="Add Logistic Parameter" default=(-0.075,0) endparam param p3 caption="Add Recip Parameter" default=(0,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } AleatorZeppoMod { ; Modification of Zeppo from Fract196.frm by Bradley Beacham. ; Original formula by Chuck Ebbert global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=fn1(pixel) int i2=0 int i3=0 loop: while i3<@iter i3=i3+1 z=z+@afp*@aff(z) if @V==0 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(fn4(1-abs(1-real(z)-imag(z))))-p2)*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) elseif @V==1 z=abs(fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(fn4(1-abs(1-real(z)-imag(z))))-p2))*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) elseif @V==2 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))-flip(fn4(1-abs(1-real(z)-imag(z))))-p2)*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) elseif @V==3 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(abs(fn4(1-abs(1-real(z)-imag(z)))))-p2)*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) elseif @V==4 z=fn2(fn3(1-abs(imag(z)*p1-real(z)))-flip(abs(fn4(1-abs(1-real(z)-imag(z)))))-p2)*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) 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))*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) elseif @V==6 z=1-fn2(fn3(1-abs(imag(z)*p1-real(z)))+flip(fn4(1-abs(1-real(z)-imag(z))))-p2)*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) else z=1-fn2(fn3(1-abs(imag(z)*p1-real(z)))-flip(fn4(1-abs(1-real(z)-imag(z))))-p2)*p3+p4+@p7*@fn5(pixel)+@ap*@af(values[i2]) endif i2=i2+1 endwhile z=z*p5/100 bailout: |z|<@bail default: title="Aleator Zeppo Mod" center=(0.481,0.477) periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8" default=0 endparam param ap caption="Aleator Parameter" default=(1,0) endparam func af caption="Aleator Function" default=ident() endfunc param seed caption="Random Seed" default=12345678 endparam param iter caption="Iterations" default=7 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 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 afp caption="Add Func Parameter" default=(0,0) endparam func aff caption="Add Func Function" default=sqr() visible=@afp!=0 endfunc 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 } AleatorFloorPhoenix { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=fn1(pixel) z2=0 z1=fn2(Z) if@jm==0 c=@c else c=@cf(pixel) endif int i2=0 loop: if @jm==1 c=@cp1*c endif z=@zp1*@zf(z)+@zp2 z=z+@asp*sqr(z) z1=z1+@asp*sqr(z1) z2=z2+@asp*sqr(z2) z=z^2+@pp1*z+@pp2*z2+floor(values[i2])+c z2=z1 i2=i2+1 bailout: |z|<@bail default: title="Aleator Floor Phoenix" center=(0.001,0.001) periodicity=0 param jm caption="J/M" enum="J""M" endparam param seed caption="Random Seed" default=12345678 endparam param pp1 caption="Phoenix Parameter 1" default=(0.5,0) endparam param pp2 caption="Phoenix Parameter 2" default=(0.5,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param c caption="C Parameter" default=(0,0) visible=@jm==0 endparam param cp1 caption="C Parameter" default=(1,0) visible=@jm==1 endparam func fn1 Caption="Start Function" default=ident() endfunc func zf Caption="Z Function" default=ident() endfunc func fn2 caption= "Phoenix Function" default=ident() endfunc func cf caption="C Function" default=ident() visible=@jm==1 endfunc param asp caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } AleatorAltMunster/Mandelbrot { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=@sf(pixel) int i2=0 int i3=@v p=@pf(pixel) loop: z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) if i3%2==0 z=z^2*(z-@mp)/(1-@mp*z)+@ap*@af(values[i2]) else z=z^2+p+@ap*@af(values[i2]) endif i3=i3+1 i2=i2+1 bailout: |z|<@bail default: title="Aleator Alt Munster/Mandelbrot" center=(0.001,0.001) param v caption="Variant" enum="Munster first""Mandelbrot first" default=1 endparam param mp caption="Munster Parameter" default=(2,0) endparam param ap caption="Aleator Parameter" default=(1,0) endparam param seed caption="Random Seed" default=12345678 endparam func af caption="Aleator Function" default=ident() endfunc func sf caption="Start Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func pf caption="Pixel Function" default=ident() endfunc param arp caption="Add Recip Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } AleatorJuliaBox { ;This is a modification of "Mister Lowe's Marvelous Box" by Erik Wahl (eew.ufm), ;from a formula originally by Tom Lowe global: float values[#maxiter] int i=0 int seed=@seed while i<@ac seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: float x=0.0 float y=0.0 float a1=0.0 float a2=0.0 z=fn1(fn2(pixel)) c=fn2(@c) int i2=0 loop: z=@zp1*@zf(z)+@zp2 z=z+@afp*@aff(z) x=real(z) y=imag(z) if x>p1 x=2*p1-x elseif x<-p1 x=-2*p1-x endif if y>p2 y=2*p2-y elseif y<-p2 y=-2*p2-y endif x=x*p3 y=y*p3 a1=sqrt(sqr(x)+sqr(y)) a2=a1 if a1@bail default: title="Alt Newton/Julia" center=(0.001,0.001) magn=0.5 param v caption="Alt Variant" enum="Julia first""Newton first" endparam param np1 caption="Newton Parameter" default=(2.5,0) endparam param np2 caption="Newton Parameter 2" default=(0,0) endparam param c caption="Julia Seed" default=(0.85,0.45) endparam param je caption="Julia Exponent" enum="2""3""4" endparam func sf caption="Start Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param cosp caption="Add Cos Parameter" default=(0,0) endparam param coshp caption="Add Cosh Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.00000001 endparam } AltSin/CosNewton { init: z=@sf(pixel) int i=@v loop: zold=z z=@zp1*z+@zp2 z=z+p1*(z-1i)/(z+1i) z=z+p2*z/(z+1) if i%2==0 z=z-@np1*(sin(z)-@np3)/cos(z)+@app*@apf(pixel) else z=z-@np2*(cos(z)-@np4)/(-sin(z))+@app*@apf(pixel) endif i=i+1 bailout: |z-zold|>@bail default: title="Alt Sin/Cos Newton" center=(0.001,0.001) param v caption="Alt Variant" enum="sin(z)=c first""cos(z)=c first" endparam param np1 caption="Newton Parameter 1" default=(0.5,0) endparam param np2 caption="Newton Parameter 2" default=(1.2,0) endparam param np3 caption="Newton Parameter 3" default=(1,0) endparam param np4 caption="Newton Parameter 4" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(2,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param p1 caption="Add Cayley Parameter" default=(0,0) endparam param p2 caption="Add z/(z+1) Parameter" default=(0,0) endparam param app caption="Add Pixel Parameter" default=(0,0) endparam func apf caption="Add Pixel Function" default=ident() visible=@app!=0 endfunc param bail caption="Bailout" default=0.00000001 endparam } AltMetabrot/Julia { init: z=@sf(@sf2(pixel)) c=@sf2(@c) int i=@v loop: z=@zp1*z+@zp2 z=z+@aep*exp(z) z=z+@asp*sqr(z) if i%2==0 if @me==0 z=((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ *(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ +(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z)))) elseif @me==1 z=((((z^3+c)*(z^3+c)+(c^3+z))*((z^3+c)*(z^3+c)+(c^3+z))+((c^3+z)*(c^3+z)+(z^3+c)))\ *(((z^3+c)*(z^3+c)+(c^3+z))*((z^3+c)*(z^3+c)+(c^3+z))+((c^3+z)*(c^3+z)+(z^3+c)))\ +(((c^3+z)*(c^3+z)+(z^3+c))*((c^3+z)*(c^3+z)+(z^3+c))+((z^3+c)*(z^3+c)+(c^3+z)))) else z=((((z^4+c)*(z^4+c)+(c^4+z))*((z^4+c)*(z^4+c)+(c^4+z))+((c^4+z)*(c^4+z)+(z^4+c)))\ *(((z^4+c)*(z^4+c)+(c^4+z))*((z^4+c)*(z^4+c)+(c^4+z))+((c^4+z)*(c^4+z)+(z^4+c)))\ +(((c^4+z)*(c^4+z)+(z^4+c))*((c^4+z)*(c^4+z)+(z^4+c))+((z^4+c)*(z^4+c)+(c^4+z)))) endif else if @je==0 z=z^2+c elseif @je==1 z=z^3+c elseif @je==2 z=z^4+c endif endif i=i+1 bailout: |z|<@bail default: title="Alt Metabrot/Julia" center=(0.001,0.001) magn=1.5 periodicity=0 param v caption="Variant" enum="Metabrot first""Julia first" default=1 endparam param C caption="C Parameter" default=(-0.55,0) endparam param je caption="Julia Exponent" enum="2""3""4" endparam param me caption="Metabrot Exponent" enum="2""3""4" endparam func sf caption="Start Function 1" default=ident() endfunc func sf2 caption="Start Function 2" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param aep caption="Add Exp Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } AltMetabrot/Mandelbrot { init: z=@sf(pixel) c=@mbp cm=@cmf(pixel) int i=@v loop: z=@zp1*z+@zp2 if i%2==0 if @mee==0 z=((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ *(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ +(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z)))) elseif @mee==1 z=((((z^3+c)*(z^3+c)+(c^3+z))*((z^3+c)*(z^3+c)+(c^3+z))+((c^3+z)*(c^3+z)+(z^3+c)))\ *(((z^3+c)*(z^3+c)+(c^3+z))*((z^3+c)*(z^3+c)+(c^3+z))+((c^3+z)*(c^3+z)+(z^3+c)))\ +(((c^3+z)*(c^3+z)+(z^3+c))*((c^3+z)*(c^3+z)+(z^3+c))+((z^3+c)*(z^3+c)+(c^3+z)))) else z=((((z^4+c)*(z^4+c)+(c^4+z))*((z^4+c)*(z^4+c)+(c^4+z))+((c^4+z)*(c^4+z)+(z^4+c)))\ *(((z^4+c)*(z^4+c)+(c^4+z))*((z^4+c)*(z^4+c)+(c^4+z))+((c^4+z)*(c^4+z)+(z^4+c)))\ +(((c^4+z)*(c^4+z)+(z^4+c))*((c^4+z)*(c^4+z)+(z^4+c))+((z^4+c)*(z^4+c)+(c^4+z)))) endif else if @me==0 z=z+cm elseif @me==1 z=z^2+cm elseif @me==2 z=z^3+cm else z=z^4+cm endif endif i=i+1 bailout: |z|<@bail default: title="Alt Metabrot/Mandelbrot" center=(0.001,0.001) param v caption="Variant" enum="Metabrot first""Mandelbrot first" default=1 endparam param me caption="Mandelbrot Exponent" enum="1""2""3""4" default=1 endparam param mee caption="Metabrot Exponent" enum="2""3""4" endparam param mbp caption="Metabrot Parameter" default=(-0.25,0) endparam func sf caption="Start Function" default=ident() endfunc func cmf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } AleatorNewton { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=@sf(pixel) z=z+@sp*@sf2(z) int i2=0 loop: zold=z if @v==0 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1 f1=3*z^2 z=z-@np1*f/f1+@np2-0.5 elseif @v==1 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2 elseif @v==2 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1 f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2 elseif @v==3 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1 f1=3*z^2 z=z-@np1*f/f1+@np2+@ap*@af(values[i2])-1.045 elseif @v==4 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2-0.6 elseif @v==5 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2 elseif @v==6 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1 f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==7 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1 f1=3*z^2 z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==8 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2-0.75 elseif @v==9 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2+@ap*@af(values[i2])-1.75 elseif @v==10 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1 f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==11 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2+@ap*@af(values[i2])-0.5 elseif @v==12 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z)+@ap*@af(values[i2]) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2+@ap*@af(values[i2])-0.9 elseif @v==13 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1 f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2-0.3 elseif @v==14 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-1+@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==15 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2 elseif @v==16 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^3-@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2 elseif @v==17 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-@ap*@af(values[i2]) f1=3*z^2+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2 elseif @v==18 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^3-@ap*@af(values[i2]) f1=3*z^2 z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) endif z=z+@app*@apf(pixel) i2=i2+1 bailout: |zold-z|>@bail default: title="Aleator Newton" periodicity=0 center=(0.001,0.001) magn=0.5 param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10"\ "11""12""13""14""15""16""17""18""19" endparam param np1 caption="Newton Parameter 1" default=(1,0) endparam param np2 caption="Newton Parameter 2" default=(0,0) endparam param ap caption="Aleator Parameter" default=(1,0) endparam func af caption="Aleator Function" default=ident() endfunc param seed caption="Random Seed" default=12345678 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param sp caption="Start Parameter" default=(0,0) endparam func sf2 caption="Start Function 2" default=sin() visible=@sp!=0 endfunc param app caption="Add Pixel Parameter" default=(0,0) endparam func apf caption="Add Pixel Function" default=ident() visible=@app!=0 endfunc param arp caption="Add Recip Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(0.5,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } AleatorNewtoniMod { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=@sf(pixel) z=z+@sp*@sf2(z) int i2=0 loop: zold=z if @v==0 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1 f1=3*z^(i2-1) z=z-@np1*f/f1+@np2 elseif @v==1 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2 elseif @v==2 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1 f1=3*z^(i2-1)+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2-0.4 elseif @v==3 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1 f1=3*z^(i2-1) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==4 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2 elseif @v==5 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1)+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2-0.3 elseif @v==6 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1 f1=3*z^(i2-1)+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==7 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1 f1=3*z^(i2-1) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==8 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1)+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2 elseif @v==9 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1)+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2+@ap*@af(values[i2])-0.35 elseif @v==10 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1 f1=3*z^(i2-1)+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==11 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==12 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z)+@ap*@af(values[i2]) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==13 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1 f1=3*z^(i2-1)+@ap*@af(values[i2]) z=z-@np1*f/f1+@np2 elseif @v==14 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-1+@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) elseif @v==15 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2 elseif @v==16 z=@zp1*z+@zp2+@ap*@af(values[i2]) z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2 elseif @v==17 z=@zp1*z+@zp2 z=z+@arp/z z=z+@asp*sqr(z) f=z^i2-@ap*@af(values[i2]) f1=3*z^(i2-1) z=z-@np1*f/f1+@np2+@ap*@af(values[i2]) endif z=z+@app*@apf(pixel) i2=i2+1 bailout: |zold-z|>@bail default: title="Aleator Newton iMod" periodicity=0 center=(0.001,0.001) magn=0.5 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 np1 caption="Newton Parameter 1" default=(1,0) endparam param np2 caption="Newton Parameter 2" default=(-0.2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param ap caption="Aleator Parameter" default=(1,0) endparam func af caption="Aleator Function" default=ident() endfunc param seed caption="Random Seed" default=12345678 endparam func sf caption="Start Function" default=ident() endfunc param sp caption="Start Parameter" default=(0,0) endparam func sf2 caption="Start Function 2" default=sin() visible=@sp!=0 endfunc param app caption="Add Pixel Parameter" default=(0,0) endparam func apf caption="Add Pixel Function" default=ident() visible=@app!=0 endfunc param arp caption="Add Recip Parameter" default=(0,0) endparam param asp caption="Add Sqr Parameter" default=(-0.1,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } AleatorGanthraleBivar { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=fn1(pixel) z=z+@sp*@sf2(z) k=fn1(pixel) k=k+@sp*@sf2(k) int i2=0 loop: zold=z z=@zp1*fn2(z)+@zp2 k=@kp1*fn2(k)+@kp2 z=z+@asp*sqr(z) k=k+@asp*sqr(k) a=k if @v==0 k=@bp1*@bf(k/z)+@bp2 z=(sqrt(1i*z+p2)*z)+(sqrt(1i*a+p2)*a)+p1+@ap*@af(values[i2]) elseif @v==1 k=@bp1*@bf(k/z)+@bp2+@ap*@af(values[i2]) z=(sqrt(1i*z+p2+(-0.68,-1.33))*z)+(sqrt(1i*a+p2+(-0.68,-1.33))*a)+p1 elseif @v==2 k=@bp1*@bf(k/z)+@bp2 z=(sqrt(1i*z+p2)*z)+(sqrt(1i*k+p2)*k)+p1+@ap*@af(values[i2]) elseif @v==3 k=@bp1*@bf(k/z)+@bp2+@ap*@af(values[i2]) z=(sqrt(1i*z+p2+(-0.21,0.78))*z)+(sqrt(1i*k+p2+(-0.21,0.78))*k)+p1 elseif @v==4 k=@bp1*@bf(k/z)+@bp2+@ap*@af(values[i2]) z=(sqrt(1i*z+p2)*z)+(sqrt(1i*a+p2)*a)+p1+@ap*@af(values[i2]) elseif @v==5 k=@bp1*@bf(k/z)+@bp2+@ap*@af(values[i2]) z=(sqrt(1i*z+p2+(-0.47,1.66))*z)+(sqrt(1i*k+p2+(-0.47,1.66))*k)+p1+@ap*@af(values[i2]) endif i2=12+1 bailout: (|zold-z|>@bailcon && @bt=="Convergent") || (|z|<@baildiv && @bt=="Divergent") default: title="Aleator Ganthrale Bivar" center=(0.001,1.267) periodicity=0 magn=0.5 func fn1 caption="Start Function" default=ident() endfunc param sp caption="Start Parameter" default=(0,0) endparam func sf2 caption="Start Function 2" default=sin() visible=@sp!=0 endfunc param v caption="Variant" enum="1""2""3""4""5""6" endparam param ap caption="Aleator Parameter" default=(1,0) endparam func af caption="Aleator Function" default=ident() endfunc param seed caption="Random Seed" default=12345678 endparam param bp1 caption="Bivar Parameter 1" default=(1,0) endparam param bp2 caption="Bivar Parameter 2" default=(0,0) endparam func bf caption="Bivar Function" default=ident() endfunc param p1 caption="Ganthrale Parameter 1" default=(0.2,0.15) endparam param p2 caption="Ganthrale Parameter 2" default=(1.85,0) endparam param zp1 caption="Z Parameter 1" default=(0.67,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.6,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam func fn2 caption="Loop Function" default=ident() endfunc param asp caption="Add Sqr Parameter" default=(0.04356,0) endparam param bt caption="Bailout Type" enum="Convergent""Divergent" endparam param bailcon caption="Bailout" default=0.00000000000001 visible=@bt==0 endparam param baildiv caption="Bailout" default=100.0 visible=@bt==1 endparam } AleatorMandelBox { ;This is a modification of "Mister Lowe's Marvelous Box" by Erik Wahl (eew.ufm), ;from a formula originally by Tom Lowe global: float values[#maxiter] int i=0 int seed=@seed while i<@ac seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: float x=0.0 float y=0.0 float a1=0.0 float a2=0.0 if @st==0 z=fn2(@sp) else z=fn2(pixel) endif c=fn1(fn2(pixel)) int i2=0 loop: z=@zp1*@zf(z)+@zp2 c=@cp1*@cf(c)+@cp2 z=z+@arp/(z*1000000) z=z+@asp*sqr(z) x=real(z) y=imag(z) if x>p1 x=2*p1-x elseif x<-p1 x=-2*p1-x endif if y>p2 y=2*p2-y elseif y<-p2 y=-2*p2-y endif x=x*p3 y=y*p3 a1=sqrt(sqr(x)+sqr(y)) a2=a1 if a11 z=2-z+p2 elseif real(z)<-1 z=-2-z-p2 endif if cabs(z)<0.5 z=4*z elseif cabs(z)<1 z=z/|z| endif z=p1*z^@pow+c bailout: |z|<=@bail default: title="Siviki" param p2 caption="Siviki Parameter 1" default=(0,0) endparam param p1 caption="Siviki Parameter 2" default=(1.0363,-0.0218) endparam param c caption="Julia Seed" default=(-1.8638,-0.4665) endparam func fn1 caption="Start Function 1" default=ident() endfunc func fn2 caption="Start Function 2" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=(1.0435,-0.0726) endparam param @afp caption="Add Func Parameter" default=(0,0) endparam func aff caption="Add Func Function" default=sqr() visible=@afp!=0 endfunc param bail caption="Bailout" default =100.0 endparam } AleatorJuliabox2 { global: float values[#maxiter] int i=0 int seed=@seed while i<@ac seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=fn1(fn2(pixel)) c=fn2(@c) int i3=0 int i2=0 loop: while i3<@iter i3=i3+1 z=@zp1*z+@zp2 z=z+@afp*@aff(z) float x=real(z) float y=imag(z) if x>p1 x=2*p1-x elseif x<-p1 x=-2*p1-x endif if y>p2 y=2*p2-y elseif y<-p2 y=-2*p2-y endif x=x*p3 y=y*p3 float a=sqrt(sqr(x)+sqr(y)) float b=a if ap1 x=2*p1-x elseif x<-p1 x=-2*p1-x endif if y>p2 y=2*p2-y elseif y<-p2 y=-2*p2-y endif x=x*p3 y=y*p3 float a=sqrt(sqr(x)+sqr(y)) float b=a if ap2 x=2*p2-x elseif x<-p2 x=-2*p2-x endif if y>p3 y=2*p3-y elseif y<-p3 y=-2*p3-y endif if @a==true && @av==5 x=x*p4+values[i2] y=y*p4+values[i2] else x=x*p4 y=y*p4 endif if @a==true && @av==3 z=(x+flip(y))+@ap*@af(values[i2]) else z=x+flip(y) endif if @a==true && @av==0 z=(p1*z)^@pow+c+@ap*@af(values[i2]) elseif @a==true && @av==2 z=(p1*z)^@pow+c*@ap*@af(values[i2]) else z=(p1*z)^@pow+c endif i2=i2+1 endwhile z=@adj*z bailout: |z|<=@bail default: title="Aleator Box Lite" center=(0.001,0.001) periodicity=0 param jm caption="J/M" enum="J""M" endparam param a caption="Aleator" default=false endparam param av caption="Aleator Variant" enum="1""2""3""4""5""6" visible=@a==true endparam param ap caption="Aleator Parameter" default=(1,0) visible=@a==true && @av!=4 && @av!=5 endparam func af caption="Aleator Function" default=ident() visible=@a==true && @av!=4 && @av!=5 endfunc param seed caption="Random Seed" default=12345678 visible=@a==true endparam param iter caption="Iterations" default=5 endparam param c caption="Julia Seed" default=(1,1) visible=@jm==0 endparam param p1 caption="Box Parameter 1" default=(1,1) endparam param p2 caption="Box Parameter 2" default=1.0 endparam param p3 caption="Box Parameter 3" default=1.0 endparam param p4 caption="Box Parameter 4" default=2.0 endparam param st caption="Start Type" enum="Parameter""Pixel" visible=@jm==1 endparam param sp caption="Start Parameter" default=(0,0) visible=@jm==1 && @st==0 endparam func fn1 caption="Start Function 1" visible=@jm==0 default=ident() endfunc func fn2 caption="Start Function 2" default=ident() visible=@jm==0 endfunc func fn3 caption="Pixel Function 1" visible=@jm==1 default=ident() endfunc func fn4 caption="Pixel Function 2" default=ident() visible=@jm==1 endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=(1,0) endparam param @afp caption="Add Func Parameter" default=(0,0) endparam func aff caption="Add Func Function" default=recip() visible=@afp!=0 endfunc param adj caption="Adjustment" default=1.02 endparam param bail caption="Bailout" default =100.0 endparam } BivarSin/CosNova { init: if @st==0 z=@sp1 k=@sp2 else z=@sf(pixel) k=@sf(pixel) endif c=@pf(pixel) loop: zold=z a=k k=@bp1*@bf(k/z)+@bp2 if @v==0 z=z+k-@np1*(sin(z)-@np3)/cos(z)-@np2*(sin(a)-@np4)/cos(a)+c elseif @v==1 z=z+k-@np1*(sin(z)-@np3)/cos(z)-@np2*(cos(a)-@np4)/(-sin(a))+c elseif @v==2 z=z+k-@np1*(cos(z)-@np3)/(-sin(z))-@np2*(cos(a)-@np4)/(-sin(a))+c elseif @v==3 z=z+k-@np1*(cos(z)-@np3)/(-sin(z))-@np2*(sin(a)-@np4)/cos(a)+c elseif @v==4 z=z+k-@np1*(sin(z)-@np3)/cos(z)-@np2*(sin(k)-@np4)/cos(k)+c elseif @v==5 z=z+k-@np1*(sin(z)-@np3)/cos(z)-@np2*(cos(k)-@np4)/(-sin(k))+c elseif @v==6 z=z+k-@np1*(cos(z)-@np3)/(-sin(z))-@np2*(cos(k)-@np4)/(-sin(k))+c else z=z+k-@np1*(cos(z)-@np3)/(-sin(z))-@np2*(sin(k)-@np4)/cos(k)+c endif bailout: |z-zold|>@bail Default: title="Bivar Sin/Cos Nova" center=(-0.501,0.001) magn=0.8 periodicity=0 param v caption="Variant" enum="1""2""3""4""5""6""7""8" endparam param np1 caption="Nova Parameter (Z) 1" default=(1,0) endparam param np2 caption="Nova Parameter (K) 1" default=(1,0) endparam param np3 caption="Nova Parameter (Z) 2" default=(1,0) endparam param np4 caption="Nova Parameter (K) 2" default=(1,0) endparam param bp1 caption="Bivar Parameter 1" default=(1,0) endparam param bp2 caption="Bivar Parameter 2" default=(0,0) endparam func bf caption="Bivar Function" default=ident() endfunc func pf caption="Pixel Function" default=ident() endfunc param st caption="Start Type" enum="Parameter""Pixel" endparam param sp1 caption="Start Parameter (Z)" default=(1,0) visible=@st==0 endparam param sp2 caption="Start Parameter (K)" default=(1,0) visible=@st==0 endparam func sf caption="Start Function" default=ident() visible=@st==1 endfunc param bail caption="Bailout" default=0.00000001 endparam } AleatorMetabrot { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: z=@sf(pixel) c=@c int i2=0 loop: if @av==0 z=@zp1*z+@zp2 z=((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ *(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ +(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z))))+@ap*sqr(@af(values[i2])) elseif @av==1 z=@zp1*z+@zp2+(@ap-0.65)*sqr(@af(values[i2])) z=((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ *(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ +(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z)))) else z=@zp1*z+@zp2+(@ap-0.65)*sqr(@af(values[i2])) z=((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ *(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))\ +(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z))))+(@ap-0.65)*sqr(@af(values[i2])) endif i2=i2+1 bailout: |z|<@bail default: title="Aleator Metabrot" center=(1.001,0.001) periodicity=0 param C caption="Seed" default=(-0.486406,0) endparam param av caption="Aleator Variant" enum="1""2""3" endparam param ap caption="Aleator Parameter" default=(1,0) endparam param seed caption="Random Seed" default=12345678 endparam func af caption="Aleator Function" default=ident() endfunc func sf caption="Start Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(0.45,0) endparam param zp2 caption="Z Parameter 2" default=(-0.67,0) endparam param bail caption="Bailout" default=10.0 endparam } AltPlug { ;Alternates 2 plug-in formulas global: import "common.ulb" import "Standard.ulb" Formula f1=new @formulaClass1(0) Formula f2=new @formulaClass2(0) init: #z=f1.Init(#pixel)+f2.Init(#pixel) int i=@v loop: if i%2==0 #z=f1.Iterate(#z) else #z=f2.Iterate(#z) endif i=i+1 bailout: !f1.IsBailedOut(#z) && !f2.IsBailedOut(#z) default: title="Alt Plug" periodicity=0 center=(0.001,0.001) magn=1.5 int param v_SFormula caption="Version (SFormula)" default=100 visible=@v_SFormula<100 endparam param v caption="Variant" enum="Formula 1 first""Formula 2 first" default=0 endparam Formula param formulaClass1 caption="Fractal Formula 1" default=Standard_Mandelbrot endparam Formula param formulaClass2 caption="Fractal Formula 2" default=Standard_Julia endparam } AleatorPlug { ;This applies random values to plug-in formulas global: import "common.ulb" import "om.ulb" Formula f=new @formulaClass(0) float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: #z=f.Init(#pixel) int i2=0 loop: if @v==0 #z=f.Iterate(#z)+@ap*@af(values[i2]) elseif @v==1 #z=f.Iterate(#z+@ap*@af(values[i2])) elseif @v==2 #z=f.Iterate(#z+@ap*@af(values[i2]))+@ap*@af(values[i2]) elseif @v==3 #z=f.Iterate(#z+@ap*@af(values[i2]))-@ap*@af(values[i2]) endif i2=i2+1 bailout: !f.IsBailedOut(#z) default: title="Aleator Plug" center=(0.001,0.001) periodicity=0 param v caption="Variant" enum="1""2""3""4" endparam param ap caption="Aleator Parameter" default=(1,0) endparam func af caption="Aleator Function" default=ident() endfunc param seed caption="Random Seed" default=12345678 endparam Formula param formulaClass caption="Fractal Formula" default=OM_MunsterJ endparam } BivarDoublePlug { global: import "common.ulb" import "Standard.ulb" Formula f=new @formulaClass1(0) Formula f1=new @formulaClass2(0) init: if @v_SFormula<101 #z=f.Init(#pixel) k=f1.Init(#pixel) else z=f.Init(pixel) k=f1.Init(pixel) endif loop: if @v_SFormula<101 #z=f.Iterate(#z)+f1.Iterate(k) else z=f.Iterate(z) k=f1.Iterate(k) a=z z=k k=a endif bailout: (@v_SFormula<101 && !f.IsBailedOut(z)) || (@v_SFormula>=101 && !f.IsBailedOut(z) && !f1.IsBailedOut(k)) default: title="Bivar Double Plug" center=(0.001,0.001) periodicity=0 int param v_SFormula caption="Version" default=101 visible=@v_SFormula<101 endparam Formula param formulaClass1 caption="Fractal Formula 1" default=Standard_Mandelbrot endparam Formula param formulaClass2 caption="Fractal Formula 2" default=Standard_Julia endparam } AleatorMagnezium { global: float values[#maxiter] int i=0 int seed=@seed while i<100 seed=random(seed) values[i]=seed/#randomrange i=i+1 endwhile init: if @st==0 z=@sp else z=@sf(pixel) endif int i2=0 loop: z=z^2 z=(z+@pf(pixel)+@ap*@af(values[i2]))/(z-1) i2=i2+1 bailout: |z|<@bail default: title="Aleator Magnezium" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Parameter""Pixel" endparam param sp caption="Start Parameter" default=(0,0) endparam param ap caption="Aleator Parameter" default=(1,0) endparam param seed caption="Random Seed" default=12345678 endparam func af caption="Aleator Function" default=ident() endfunc func sf caption="Start Function" default=ident() endfunc func pf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=1000.0 endparam } Wufu { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 z=exp(@p2*1i)*(z^3-z)/(@p1*z^2+1)+@c+@p3*@pf(pixel) bailout: |z-zold|>@bail default: title="Wufu" center=(0.0001,0.0001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param p1 caption="Wufu Parameter 1" default=(1.35,0) endparam param p2 caption="Wufu Parameter 2" default=0.0 endparam param c caption="Julia Seed" default=(0,0) endparam param p3 caption="Pixel Parameter" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc func pf caption="Pixel Function" default=ident() visible=@p3!=0 endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } 3AltBarnsley { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 float a=real(@bf1(z))*imag(@c)+real(@c)*imag(@bf1(z)) if i==0 if a>=0 z=(z-p2)*p1 else z=(z+p2)*p1 endif i=i+1 elseif i==1 if a>=0 z=(z-p4)*p3 else z=(z+p4)*p3 endif i=i+1 else if a>=0 z=(z-p6)*p5 else z=(z+p6)*p5 endif i=0 endif bailout: |z|<@bail default: title="3Alt Barnsley" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param p1 caption="Barnsley parameter 1" default=(1.2,-0.6) endparam param p2 caption="Barnsley parameter 2" default=(0.25,0.05) endparam param p3 caption="Barnsley parameter 3" default=(0.95,0.15) endparam param p4 caption="Barnsley parameter 4" default=(1,0) endparam param p5 caption="Barnsley parameter 5" default=(1,0.3) endparam param p6 caption="Barnsley parameter 6" default=(1,0) endparam param c caption="Barnsley parameter 7" default=(0,1) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func bf1 caption="Barnsley Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } 3AltIFB { init: z=@sf(pixel) int i=0 loop: z=@zp1*@zf(z)+@zp2 float a=real(z)*imag(@c)+real(@c)*imag(z) if i==0 if a<0 z=z*fn1(@a1)+@b1 else z=z*fn2(@a1)+@b2 endif i=i+1 elseif i==1 if a<0 z=z*fn3(@a2)+@b3 else z=z*fn4(@a2)+@b4 endif i=i+1 else if a<0 z=z*@fn5(@a3)+@b5 else z=z*@fn6(@a3)+@b6 endif i=0 endif bailout: |z|<@bail default: title="3Alt IFB" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param a1 caption="IFB parameter a1" default=(-0.75,-0.9) endparam param a2 caption="IFB parameter a2" default=(-0.95,-0.4) endparam param a3 caption="IFB parameter a3" default=(0.85,-0.5) endparam param b1 caption="IFB parameter b1" default=(1.2,0) endparam param b2 caption="IFB parameter b2" default=(1,0) endparam param b3 caption="IFB parameter b3" default=(1,0) endparam param b4 caption="IFB parameter b4" default=(1.2,0) endparam param b5 caption="IFB parameter b5" default=(1,0) endparam param b6 caption="IFB parameter b6" default=(1,0) endparam param c caption="IFB parameter c" default=(0,1) endparam func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=conj() endfunc func fn3 caption="IFB Function 3" default=flip() endfunc func fn4 caption="IFB Function 4" default=conj() endfunc func fn5 caption="IFB Function 5" default=cotanh() endfunc func fn6 caption="IFB Function 6" default=flip() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func zf caption="Z Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } 3AltJulia { init: z=@sf(pixel) int i=0 loop: z=@zp1*@zf(z)+@zp2 if @v==0 if i==0 z=z^@pow+@c1 i=i+1 elseif i==1 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c2 i=i+1 else z=(z^(@pow+2)-1)/(z^@pow+1)+@c3 i=0 endif elseif @v==1 if i==0 z=z^@pow+@c1 i=i+1 elseif i==1 z=(z^(@pow+2)-1)/(z^@pow+1)+@c3 i=i+1 else z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c2 i=0 endif elseif @v==2 if i==0 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c2 i=i+1 elseif i==1 z=z^@pow+@c1 i=i+1 else z=(z^(@pow+2)-1)/(z^@pow+1)+@c3 i=0 endif elseif @v==3 if i==0 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c2 i=i+1 elseif i==1 z=(z^(@pow+2)-1)/(z^@pow+1)+@c3 i=i+1 else z=z^@pow+@c1 i=0 endif elseif @v==4 if i==0 z=(z^(@pow+2)-1)/(z^@pow+1)+@c3 i=i+1 elseif i==1 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c2 i=i+1 else z=z^@pow+@c1 i=0 endif elseif @v==5 if i==0 z=(z^(@pow+2)-1)/(z^@pow+1)+@c3 i=i+1 elseif i==1 z=z^@pow+@c1 i=i+1 else z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c2 i=0 endif endif bailout: |z|<@bail default: title="3Alt Julia" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param v caption="Alt Variant" enum="1""2""3""4""5""6" endparam param c1 caption="Julia Seed 1" default=(0.85,-0.4) endparam param c2 caption="Julia Seed 2" default=(1,0) endparam param c3 caption="Julia Seed 3" default=(1,0) endparam param pow caption="Exponent" default=(2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func zf caption="Z Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } 3AltMagnetJ { init: z=@sf(pixel) int i=0 loop: zold=z if @f z=flip(z) endif z=@zp1*z+@zp2 if i==0 z=((z^2+@mp1-1)/(2*z+@mp1-2))^2 i=i+1 elseif i==1 z=((z^2+@mp2-1)/(2*z+@mp2-2))^2 i=i+1 else z=((z^2+@mp3-1)/(2*z+@mp3-2))^2 i=0 endif bailout: |z|<@bail && |z-zold|>@bailcon default: title="3Alt Magnet J" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param mp1 caption="Magnet Parameter 1" default=(2.35,0) endparam param mp2 caption="Magnet Parameter 2" default=(-0.5,0) endparam param mp3 caption="Magnet Parameter 3" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param f caption="flip(z)" default=false endparam param bail caption="Upper Bailout" default=100.0 endparam param bailcon caption="Lower Bailout" default=0.00000000000000000000001 endparam } 3AltMagnetM { init: if @st==0 z=@sf(pixel) else z=@sp endif int i=0 loop: zold=z z=@zp1*z+@zp2 if @st==0 if i==0 z=((z^2+@mp1*@sf(pixel)-1)/(2*z+@mp1*@sf(pixel)-2))^2 i=i+1 elseif i==1 z=((z^2+@mp2*@sf(pixel)-1)/(2*z+@mp2*@sf(pixel)-2))^2 i=i+1 else z=((z^2+@mp3*@sf(pixel)-1)/(2*z+@mp3*@sf(pixel)-2))^2 i=0 endif else if i==0 z=((z^2+@mp1*@pf(pixel)-1)/(2*z+@mp1*@pf(pixel)-2))^2 i=i+1 elseif i==1 z=((z^2+@mp2*@pf(pixel)-1)/(2*z+@mp2*@pf(pixel)-2))^2 i=i+1 else z=((z^2+@mp3*@pf(pixel)-1)/(2*z+@mp3*@pf(pixel)-2))^2 i=0 endif endif bailout: |z|<@bail && |z-zold|>@bailcon default: title="3Alt Magnet M" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam func sf caption="Start Function" default=ident() visible=@st==0 endfunc param sp caption="Start Parameter 1" default=(0,0) visible=@st==1 endparam func pf caption="Pixel Function" default=ident() visible=@st==1 endfunc param mp1 caption="Magnet Parameter 1" default=(0.3,0) endparam param mp2 caption="Magnet Parameter 2" default=(-0.5,0) endparam param mp3 caption="Magnet Parameter 3" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Upper Bailout" default=100.0 endparam param bailcon caption="Lower Bailout" default=0.00000000000000000000001 endparam } 3AltMagnetMandelbrotJulia { init: z=@sf(pixel) int i=0 loop: zold=z z=@zp1*z+@zp2 if @v==0 if i==0 z=((z^2+p1-1)/(2*z+p1-2))^2 i=i+1 elseif i==1 z=z^2+@sf(pixel) i=i+1 else z=z^2+@c i=0 endif elseif @v==1 if i==0 z=((z^2+p1-1)/(2*z+p1-2))^2 i=i+1 elseif i==1 z=z^2+@c i=i+1 else z=z^2+@sf(pixel) i=0 endif elseif @v==2 if i==0 z=z^2+@c i=i+1 elseif i==1 z=((z^2+p1-1)/(2*z+p1-2))^2 i=i+1 else z=z^2+@sf(pixel) i=0 endif elseif @v==3 if i==0 z=z^2+@c i=i+1 elseif i==1 z=z^2+@sf(pixel) i=i+1 else z=((z^2+p1-1)/(2*z+p1-2))^2 i=0 endif elseif @v==4 if i==0 z=z^2+@sf(pixel) i=i+1 elseif i==1 z=z^2+@c i=i+1 else z=((z^2+p1-1)/(2*z+p1-2))^2 i=0 endif else if i==0 z=z^2+@sf(pixel) i=i+1 elseif i==1 z=((z^2+p1-1)/(2*z+p1-2))^2 i=i+1 else z=z^2+@c i=0 endif endif bailout: |z|<@bail && |z-zold|>@bailcon default: title="3Alt Magnet/Mandelbrot/Julia" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param v caption="Alt Variant" enum="1""2""3""4""5""6" endparam param p1 caption="Magnet Parameter" default=(1,0) endparam param c caption="Julia Seed" default=(-1.25,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Upper Bailout" default=100.0 endparam param bailcon caption="Lower Bailout" default=0.00000000000000000000001 endparam } 3AltMandelbrot { init: if @st==0 z=@sf(pixel) else z=@sp endif int i=0 loop: z=@zp1*z+@zp2 if @st==0 if @v==0 if i==0 z=z^@pow+@pp1*@sf(pixel) i=i+1 elseif i==1 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@sf(pixel) i=i+1 else z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@sf(pixel) i=0 endif elseif @v==1 if i==0 z=z^@pow+@pp1*@sf(pixel) i=i+1 elseif i==1 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@sf(pixel) i=i+1 else z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@sf(pixel) i=0 endif elseif @v==2 if i==0 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@sf(pixel) i=i+1 elseif i==1 z=z^@pow+@pp1*@sf(pixel) i=i+1 else z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@sf(pixel) i=0 endif elseif @v==3 if i==0 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@sf(pixel) i=i+1 elseif i==1 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@sf(pixel) i=i+1 else z=z^@pow+@pp1*@sf(pixel) i=0 endif elseif @v==4 if i==0 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@sf(pixel) i=i+1 elseif i==1 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@sf(pixel) i=i+1 else z=z^@pow+@pp1*@sf(pixel) i=0 endif elseif @v==5 if i==0 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@sf(pixel) i=i+1 elseif i==1 z=z^@pow+@pp1*@sf(pixel) i=i+1 else z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@sf(pixel) i=0 endif endif else if @v==0 if i==0 z=z^@pow+@pp1*@pf(pixel) i=i+1 elseif i==1 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@pf(pixel) i=i+1 else z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@pf(pixel) i=0 endif elseif @v==1 if i==0 z=z^@pow+@pp1*@pf(pixel) i=i+1 elseif i==1 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@pf(pixel) i=i+1 else z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@pf(pixel) i=0 endif elseif @v==2 if i==0 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@pf(pixel) i=i+1 elseif i==1 z=z^@pow+@pp1*@pf(pixel) i=i+1 else z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@pf(pixel) i=0 endif elseif @v==3 if i==0 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@pf(pixel) i=i+1 elseif i==1 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@pf(pixel) i=i+1 else z=z^@pow+@pp1*@pf(pixel) i=0 endif elseif @v==4 if i==0 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@pf(pixel) i=i+1 elseif i==1 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@pf(pixel) i=i+1 else z=z^@pow+@pp1*@pf(pixel) i=0 endif elseif @v==5 if i==0 z=(z^(@pow+2)-1)/(z^@pow+1)+@pp3*@pf(pixel) i=i+1 elseif i==1 z=z^@pow+@pp1*@pf(pixel) i=i+1 else z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@pp2*@pf(pixel) i=0 endif endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam func sf caption="Start Function" default=ident() visible=@st==0 endfunc param sp caption="Start Parameter" default=(0,0) visible=@st==1 endparam func pf caption="Pixel Function" default=ident() visible=@st==1 endfunc param v caption="Alt Variant" enum="1""2""3""4""5""6" endparam param pp1 caption="Pixel Parameter 1" default=(1,0) endparam param pp2 caption="Pixel Parameter 2" default=(1,0) endparam param pp3 caption="Pixel Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltMandelbrotJuliaIFB { init: if @st==0 z=@sf(pixel) else z=@sp endif int i=0 loop: z=@zp1*@zf(z)+@zp2 if @v==0 if i==0 z=z^@jpow+@c i=i+1 elseif i==1 if @st==0 z=z^@mpow+@sf(pixel) else z=z^@mpow+@pf(pixel) endif i=i+1 else float a=real(z) if a<0 z=z*fn1(@p1)+@p2 endif if 0<=a z=z*fn2(@p1)+@p3 endif i=0 endif elseif @v==1 if i==0 z=z^@jpow+@c i=i+1 elseif i==1 float a=real(z) if a<0 z=z*fn1(@p1)+@p2 endif if 0<=a z=z*fn2(@p1)+@p3 endif i=i+1 else if @st==0 z=z^@mpow+@sf(pixel) else z=z^@mpow+@pf(pixel) endif i=0 endif elseif @v==2 if i==0 if @st==0 z=z^@mpow+@sf(pixel) else z=z^@mpow+@pf(pixel) endif i=i+1 elseif i==1 z=z^@jpow+@c i=i+1 else float a=real(z) if a<0 z=z*fn1(@p1)+@p2 endif if 0<=a z=z*fn2(@p1)+@p3 endif i=0 endif elseif @v==3 if i==0 if @st==0 z=z^@mpow+@sf(pixel) else z=z^@mpow+@pf(pixel) endif i=i+1 elseif i==1 float a=real(z) if a<0 z=z*fn1(@p1)+@p2 endif if 0<=a z=z*fn2(@p1)+@p3 endif i=i+1 else z=z^@jpow+@c i=0 endif elseif @v==4 if i==0 float a=real(z) if a<0 z=z*fn1(@p1)+@p2 endif if 0<=a z=z*fn2(@p1)+@p3 endif i=i+1 elseif i==1 if @st==0 z=z^@mpow+@sf(pixel) else z=z^@mpow+@pf(pixel) endif i=i+1 else z=z^@jpow+@c i=0 endif elseif @v==5 if i==0 float a=real(z) if a<0 z=z*fn1(@p1)+@p2 endif if 0<=a z=z*fn2(@p1)+@p3 endif i=i+1 elseif i==1 z=z^@jpow+@c i=i+1 else if @st==0 z=z^@mpow+@sf(pixel) else z=z^@mpow+@pf(pixel) endif i=0 endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot/Julia/IFB" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam func sf caption="Start Function" default=ident() visible=@st==0 endfunc param sp caption="Start Parameter" default=(0,0) visible=@st==1 endparam func pf caption="Pixel Function" default=ident() visible=@st==1 endfunc param v caption="Alt Variant" enum="1""2""3""4""5""6" endparam param c caption="Julia Seed" default=(-0.3,0) endparam param p1 caption="IFB parameter a" default=(1.2,0) endparam param p2 caption="IFB parameter b1" default=(1,0) endparam param p3 caption="IFB parameter b2" default=(1,0) endparam func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=conj() endfunc param jpow caption="Julia Exponent" default=(2,0) endparam param mpow caption="Mandelbrot Exponent" default=(2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func zf caption="Z Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } 3AltNewton { init: z=@sf(pixel) int i=0 loop: zold=z if @v2==0 z=z elseif @v2==1 z=sqr(z) elseif @v2==2 z=recip(z) elseif @v2==3 z=z+sqr(z) elseif @v2==4 z=z-sqr(z) elseif @v2==5 z=z^3 elseif @v2==6 z=z+sqr(z)/2 elseif @v2==7 z=z-sqr(z)/2 elseif @v2==8 z=z+sqr(z)/3 elseif @v2==9 z=z-sqr(z)/3 elseif @v2==10 z=z+z^3/2 elseif @v2==11 z=z-z^3/2 elseif @v2==12 z=z+z^3/3 elseif @v2==13 z=z-z^3/3 endif if @v==0 if i==0 z=z-@np1*(z-1) i=i+1 elseif i==1 z=z-@np2*(z^2-1)/(2*z) i=i+1 else z=z-@np3*(z^3-1)/(3*z^2) i=0 endif elseif @v==1 if i==0 z=z-@np1*(z-1) i=i+1 elseif i==1 z=z-@np3*(z^3-1)/(3*z^2) i=i+1 else z=z-@np2*(z^2-1)/(2*z) i=0 endif elseif @v==2 if i==0 z=z-@np2*(z^2-1)/(2*z) i=i+1 elseif i==1 z=z-@np1*(z-1) i=i+1 else z=z-@np3*(z^3-1)/(3*z^2) i=0 endif elseif @v==3 if i==0 z=z-@np2*(z^2-1)/(2*z) i=i+1 elseif i==1 z=z-@np3*(z^3-1)/(3*z^2) i=i+1 else z=z-@np1*(z-1) i=0 endif elseif @v==4 if i==0 z=z-@np3*(z^3-1)/(3*z^2) i=i+1 elseif i==1 z=z-@np1*(z-1) i=i+1 else z=z-@np2*(z^2-1)/(2*z) i=0 endif elseif @v==5 if i==0 z=z-@np3*(z^3-1)/(3*z^2) i=i+1 elseif i==1 z=z-@np2*(z^2-1)/(2*z) i=i+1 else z=z-@np1*(z-1) i=0 endif endif bailout: |z-zold|>@bail default: title="3Alt Newton" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param v caption="Alt Variant" enum="123""132""213""231""312""321" endparam param v2 caption="Modifier" enum="ident(z)""sqr(z)""recip(z)""z+sqr(z)""z-sqr(z)""cube(z)"\ "z+sqr(z)/2""z-sqr(z)/2""z+sqr(z)/3""z-sqr(z)/3""z+cube(z)/2"\ "z-cube(z)/2""z+cube(z)/3""z-cube(z)/3" endparam param np1 caption="Newton Parameter 1" default=(-0.5,0) endparam param np2 caption="Newton Parameter 2" default=(1.55,0) endparam param np3 caption="Newton Parameter 3" default=(1,0) endparam param bail caption="Bailout" default=0.00000000000001 endparam } AltJuliaIFB { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @v==0 if i<1 z=z^@pow+@c i=i+1 else float a=real(z)*imag(@p6)+real(@p6)*imag(z) if a<@p4 z=z*sqr(@p1)+@p2 endif if @p5<=a z=z*log(@p1)+@p3 endif i=0 endif else if i<1 float a=real(z)*imag(@p6)+real(@p6)*imag(z) if a<@p4 z=z*sqr(@p1)+@p2 endif if @p5<=a z=z*log(@p1)+@p3 endif i=i+1 else z=z^@pow+@c i=0 endif endif bailout: |z|<=@bail default: title="Alt Julia/IFB" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param v caption="Alt Variant" enum="Julia First""IFB First" endparam param p1 caption="IFB parameter a" default=(0.55,0.52) endparam param p2 caption="IFB parameter b1" default=(1,0) endparam param p3 caption="IFB parameter b2" default=(1,0) endparam param p4 caption="IFB parameter c1" default=0.0 endparam param p5 caption="IFB parameter c2" default=0.0 endparam param p6 caption="IFB parameter d" default=(0,1) endparam param c caption="Julia Seed" default=(-1.2,0.7) endparam param pow caption="Julia Exponent" default=(2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0.11) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } AltJuliaIFB2 { ;The first Alt Julia/IFB uses a standard Julia set z=z^a+c ;This one has a modified Julia set (z^(a+1)-1)/(z^(a-1)+1)+c init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @v==0 if i<1 z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c i=i+1 else float a=real(z)*imag(@p6)+real(@p6)*imag(z) if a<@p4 z=z*fn1(@p1)+@p2 endif if @p5<=a z=z*fn2(@p1)+@p3 endif i=0 endif else if i<1 float a=real(z)*imag(@p6)+real(@p6)*imag(z) if a<@p4 z=z*fn1(@p1)+@p2 endif if @p5<=a z=z*fn2(@p1)+@p3 endif i=i+1 else z=(z^(@pow+1)-1)/(z^(@pow-1)+1)+@c i=0 endif endif bailout: |z|<@bail default: title="Alt Julia/IFB 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param v caption="Alt Variant" enum="Julia First""IFB First" endparam param p1 caption="IFB parameter a" default=(1.2,0) endparam param p2 caption="IFB parameter b1" default=(1,0) endparam param p3 caption="IFB parameter b2" default=(1,0) endparam param p4 caption="IFB parameter c1" default=0.0 endparam param p5 caption="IFB parameter c2" default=0.0 endparam param p6 caption="IFB parameter d" default=(0,1) endparam func fn1 caption="IFB Function 1" default=ident() endfunc func fn2 caption="IFB Function 2" default=conj() endfunc param c caption="Julia Seed" default=(0,0) endparam param pow caption="Julia Exponent" default=(2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } AltMandelbrotBurningShip { init: if @st==0 z=@sf(pixel) else z=@sp endif int i=0 loop: z=@zp1*@zf(z)+@zp2 if @st==0 if @v==0 if i<1 z=z^@pow+@pp*@pf(pixel) i=i+1 else z=abs(z)^@pow+@pp*@pf(pixel) i=0 endif else if i<1 z=abs(z)^@pow+@pp*@pf(pixel) i=i+1 else z=z^@pow+@pp*@pf(pixel) i=0 endif endif else if @v==0 if i<1 z=z^@pow+@pf(pixel) i=i+1 else z=abs(z)^@pow+@pf(pixel) i=0 endif else if i<1 z=abs(z)^@pow+@pf(pixel) i=i+1 else z=z^@pow+@pf(pixel) i=0 endif endif endif bailout: |z|<@bail default: title="Alt Mandelbrot/Burning Ship" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam func sf caption="Start Function" default=ident() visible=@st==0 endfunc param sp caption="Start Parameter" default=(1,0) visible=@st==1 endparam func pf caption="Pixel Function" default=ident() endfunc param v caption="Alt Variant" enum="Mandelbrot First""Burning Ship First" endparam param pp caption="Pixel Parameter" default=(1,0) visible=@st==0 endparam param pow caption="Exponent" default=(2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func zf caption="Z Function" default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } AltMandelbrotNewton { init: if @st==0 z=@sf(pixel) else z=@sp endif int i=0 loop: zold=z z=@zp1*z+@zp2 if i<1 if @st==0 z=z^2+@pp*@sf(pixel) else z=z^2+@pf(pixel) endif i=i+1 else if @nv==0 f=z^3-@np2 f1=3*z^2 elseif @nv==1 f=z^3+((z-1)/(z+1))^3-@np2 f1=3*z^2+2*3*((z-1)/(z+1))^3/(z^2-1) elseif @nv==2 f=((z^2-1)/(z+1))^3-@np2 f1=3*(z-1)^2 elseif @nv==3 f=((z^3-1)/(z^2+1))^3+@np2 f1=3*(3*z^2/(z^2+1)-2*z*(z^3-1)/(z^2+1)^2)*((z^3-1)/(z^2+1))^2 elseif @nv==4 f=((z^2+1)/z)^3-@np2 f1=3*(z^2-1)*(z+1/z)^3/(z^3+z) elseif @nv==5 f=z^3+((z-1i)/(z+1i))^3-@np2 f1=3*z^2+6i*((z-1i)/(z+1i))^3/(z^2+1) elseif @nv==6 f=((z^2-1i)/(z+1i))^3+@np2 f1=3*(2*z/(z+1i)-(z^2-1i)/(z+1i)^2)*((z^2-1i)/(z+1i))^2 elseif @nv==7 f=((z^2-1i)/z)^3-@np2 f1=3*(1+1i/z^2)*(z-1i/z)^2 elseif @nv==8 f=((z^2+1i)/(z+1))^3-@np2 f1=3*(z^2+2*z-1i)*((z^2+1i)/(z+1))^2/(z+1)^2 elseif @nv==9 f=(z+1i)^3-@np2 f1=3*(z+1i)^2 elseif @nv==10 f=(1/z^2+1/z)^3-@np2 f1=3*(z+2)*((z+1)/z^2)^2/z^2 elseif @nv==11 f=z^3*(z-2)/(1-2*z)-@np2 f1=z^2*(3*(-2*z^2+5*z-2)-3*z)/(1-2*z)^2 elseif @nv==12 f=((z^2-2)/(1-2*z))^3-@np2 f1=6*(z^2-z+2)*((z^2-2)/(1-2*z))^3/((2*z-1)*(z^2-2)) elseif @nv==13 f=recip(z)^4-@np2 f1=-4*recip(z)^3 elseif @nv==14 f=(z+sqr(z)+1/z)^4-@np2 f1=4*(-1/z^2+2*z+1)*(z^2+z+1/z)^3 elseif @nv==15 f=(sqr(z)-1/z)^4-@np2 f1=4*(1/z^2+2*z)*((z^3-1)/z)^3 elseif @nv==16 f=(z-1i-1i/z)^4-@np2 f1=4*(1+1i/z^2)*(z-1i/z-1i)^3 elseif @nv==17 f=(z+1i-1i/z^2)^4-@np2 f1=4*(1+2i/z^3)*(z-1i/z^2+1i)^3 elseif @nv==18 f=(z+z^2)^4+((z-1)/(z+1))^4-@np2 f1=4*(2*z+1)*(z^2+z)^3+4*(1/(z+1)-(z-1)/(z+1)^2)*((z-1)/(z+1))^3 elseif @nv==19 f=z^4+2*z^3-3*z^2+4*z+@np2 f1=4*z^3+6*z^2-6*z+4 elseif @nv==20 f=z^5+1/z+@np2 f1=(5*z^6-1)/z^2 elseif @nv==21 f=(z^2-1)^3/z^2-@np2 f1=4*z^3+2/z^3-6*z elseif @nv==22 f=z^4+recip(z)^4+z^7/(z-1)^3+@np2 f1=4*z^3-4*recip(z)^3+z^6*(4*z-7)/(z-1)^4 elseif @nv==23 f=((z^2-1)/(z+1))^3+z^4+recip(z)^4-@np2 f1=3*(z-1)^2-4*recip(z)^3 elseif @nv==24 f=(z^2*(z-2)/(1-2*z))^2+@np2 f1=2*(4*z^2-7*z+4)*((z-2)*z^2/(1-2*z))^2/((z-2)*z*(2*z-1)) elseif @nv==25 f=z^3*(z-1)+(z^3-1)/z-@np2 f1=4*z^3-3*z^2+1/z^2+2*z elseif @nv==26 f=z^2*(z+1)+(z^4-1)/z-@np2 f1=6*z^2+1/z^2+2*z elseif @nv==27 f=z^2*(z+1)-(z^4-1)/z+z^4-@np2 f1=4*z^3-1/z^2+2*z elseif @nv==28 f=z^3/3+z^4/4+z^5/5+recip(z)^4-@np2 f1=z^4+z^3+z^2-4*recip(z)^3 elseif @nv==29 f=1/z+1/z^2+1/z^3-@np2 f1=(z^2+2*z+3)/z^4 elseif @nv==30 f=1/z+1/z^2+1/z^3+z^5-@np2 f1=(z^2+2*z+3)/z^4+5*z^4 elseif @nv==31 f=1/z+1/z^2+1/z^3+1/z^4+1/z^5-@np2 f1=(z^4+2*z^3+3*z^2+4*z+5)/z^6 elseif @nv==32 f=z+1/z+z^2+1/z^3+z^4+1/z^5-@np2 f1=-5/z^6-3/z^4+4*z^3-1/z^2+2*z+1 elseif @nv==33 f=z+1/z^2+z^3+1/z^4+z^5+1/z^6-@np2 f1=-6/z^7-4/z^5+5*z^4-2/z^3+3*z^2+1 elseif @nv==34 f=z+1/z+z^2+1/z^2+z^3+1/z^3-@np2 f1=(3*z^6+2*z^5+z^4-z^2-2*z-3)/z^4 else f=(z+1/z^3)^2-@np2 f1=2*(z^4-3)*(z^4+1)/z^7 endif z=z-@np1*f/f1 i=0 endif bailout: |z-zold|>=@bail default: title="Alt Mandelbrot/Newton" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param sp caption="Start Parameter" default=(0,0) visible=@st==1 endparam func sf caption="Start Function" default=ident() visible=@st==0 endfunc param pp caption="Pixel Parameter" default=(1,0) visible=@st==0 endparam func pf caption="Pixel Function" default=ident() visible=@st==1 endfunc param np1 caption="Newton Parameter 1" default=(1,0) endparam param np2 caption="Newton Parameter 2" default=(1,0) endparam param nv caption="Newton 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" endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.000000001 endparam } AltModJM { init: if @st==0 z=@sf(pixel) else z=@sp endif int i=0 loop: z=@zp1*@zf(z)+@zp2 if @v==0 if i<1 z=(z^(@jpow+1)-1)/(z^(@jpow-1)+1)+@c i=i+1 else if @st==0 z=(z^(@mpow+1)-1)/(z^(@mpow-1)+1)+@pp*@sf(pixel) else z=(z^(@mpow+1)-1)/(z^(@mpow-1)+1)+@sf(pixel) endif i=0 endif else if i<1 if @st==0 z=(z^(@mpow+1)-1)/(z^(@mpow-1)+1)+@pp*@sf(pixel) else z=(z^(@mpow+1)-1)/(z^(@mpow-1)+1)+@sf(pixel) endif i=i+1 else z=(z^(@jpow+1)-1)/(z^(@jpow-1)+1)+@c i=0 endif endif bailout: |z|<@bail default: title="Alt Mod Julia/Mandelbrot" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam func sf caption="Start Function" default=ident() visible=@st==0 endfunc param sp caption="Start Parameter" default=(0,0) visible=@st==1 endparam param v caption="Alt Variant" enum="Julia First""Mandelbrot First" endparam param c caption="Julia Seed" default=(1,0) endparam param jpow caption="Julia Exponent" default=(2,0) endparam param pp caption="Pixel Parameter" default=(1,0) visible=@st==0 endparam param mpow caption="Mandelbrot Exponent" default=(2,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func zf caption="Z Function" default=ident() endfunc param bail caption="Bailout" default=100.0 endparam } HiskersBant { Init: if @mj==0 if @st==0 z=@sf(pixel) else z=@sp endif c=@cf(pixel) else z=@sf(pixel) c=@seed endif Loop: z=@zp1*@zf(z)+@zp2 c=@cp1*c+@cp2 if @v==0 z=c/z^@pow+p1 c=c*z^@pow-p1 elseif @v==1 a=z z=c/z^@pow+p1 c=c*a^@pow-p1 elseif @v==2 c=c*z^@pow-p1 z=c/z^@pow+p1 elseif @v==3 z=c/z^@pow+p1 c=c*sqr(z)^@pow-p1 elseif @v==4 a=z z=c/z^@pow+p1 c=c*sqr(a)^@pow-p1 elseif @v==5 z=sqr(c/z^@pow)+p1 c=c*z^@pow-p1 endif Bailout: |z|<=@bail Default: title="Hisker's Bant" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param mj caption="M/J" enum="Mandelbrot""Julia" endparam param st caption="Start Type" enum="Pixel""Parameter" visible=@mj==0 endparam param sp caption="Start Parameter" default=(1,0) visible=@mj==0 && @st==1 endparam param seed caption="Julia Seed" default=(-0.5,0) visible=@mj==1 endparam param v caption="HB Variant" enum="1""2""3""4""5""6" endparam param p1 caption="HB Parameter" default=(0.27,0) endparam param pow caption="Exponent" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param cp1 caption="C Parameter 1" default=(-1,0) endparam param cp2 caption="C Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() visible=@mj==1 || (@mj==0 && @st==0) endfunc func cf caption="C Function" default=ident() visible=@mj==0 endfunc func zf caption="Z Function" default=ident() endfunc param bail caption="Bailout" default=1000000.0 endparam } Memzon { init: if @mj==0 if @st==0 z=@sf(pixel) else z=@sp endif else z=@sf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @v==0 if @mj==0 if i<@mtp z=z^2+@mtf2(z)+@pp1*@pf(pixel) i=i+1 else z=@mtf1(z)^2+@mtf2(z)+@pp2*@pf(pixel) i=0 endif else if i<@mtp z=z^2+@mtf2(z)+@c1 i=i+1 else z=@mtf1(z)^2+@mtf2(z)+@c2 i=0 endif endif elseif @v==1 if @mj==0 if i<@mtp z=z^2+@mtf2(z)+@pp1*@pf(pixel) i=i+1 else z=@mtf1(z)^2-@mtf2(z)+@pp2*@pf(pixel) i=0 endif else if i<@mtp z=z^2+@mtf2(z)+@c1+0.3 i=i+1 else z=@mtf1(z)^2-@mtf2(z)+@c2+0.75 i=0 endif endif else if @mj==0 if i<@mtp z=z^2-@mtf2(z)+@pp1*@pf(pixel) i=i+1 else z=@mtf1(z)^2+@mtf2(z)+@pp2*@pf(pixel) i=0 endif else if i<@mtp z=z^2-@mtf2(z)+@c1+2 i=i+1 else z=@mtf1(z)^2+@mtf2(z)+@c2 i=0 endif endif endif bailout: |z|<=@bail default: title="Memzon" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param mj caption="M/J" enum="Mandelbrot""Julia" endparam param st caption="Start Type" enum="Pixel""Parameter" visible=@mj==0 endparam param sp caption="Start Parameter" default=(-0.5,0) visible=@mj==0 && @st==1 endparam func sf caption="Start Function" default=ident() visible=@mj==1 || (@mj==0 && @st==0) endfunc param v caption="Memzon Variant" enum="1""2""3" endparam param mtp caption="Memzon Parameter" default=5 endparam func mtf1 caption="Memzon Function 1" default=sqr() endfunc func mtf2 caption="Memzon Function 2" default=ident() endfunc func pf caption="Pixel Function" default=ident() visible=@mj==0 endfunc param c1 caption="Julia Seed 1" default=(-1,0) visible=@mj==1 endparam param c2 caption="Julia Seed 2" default=(-1.5,0) visible=@mj==1 endparam param pp1 caption="Pixel Parameter 1" default=(1,0) visible=@mj==0 endparam param pp2 caption="Pixel Parameter 2" default=(1,0) visible=@mj==0 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } MemzonIFB { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 float a=real(z)*imag(@d1)+real(@d1)*imag(z) if i<@mp if a<@c1 z=z*fn1(@a1)+@b1 endif if @c2<=a z=z*fn2(@a1)+@b2 endif i=i+1 else if a<@c3 z=z*fn3(@a2)+@b3 endif if @c4<=a z=z*fn4(@a2)+@b4 endif i=0 endif bailout: |z|<=@bail default: title="Memzon IFB" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam func sf caption="Start Function" default=ident() endfunc param a1 caption="IFB Parameter a1" default=(0.95,-0.65) endparam param a2 caption="IFB Parameter a2" default=(1,-0.4) endparam param b1 caption="IFB Parameter b1" default=(1,0) endparam param b2 caption="IFB Parameter b2" default=(1,0) endparam param b3 caption="IFB Parameter b3" default=(1,0) endparam param b4 caption="IFB Parameter b4" default=(1,0) endparam param c1 caption="IFB Parameter c1" default=0.0 endparam param c2 caption="IFB Parameter c2" default=0.0 endparam param c3 caption="IFB Parameter c3" default=0.0 endparam param c4 caption="IFB Parameter c4" default=0.0 endparam param d1 caption="IFB Parameter d1" default=(0,1) endparam func fn1 caption="IFB Function 1" default=sqr() endfunc func fn2 caption="IFB Function 2" default=flip() endfunc func fn3 caption="IFB Function 3" default=ident() endfunc func fn4 caption="IFB Function 4" default=conj() endfunc param mp caption="Memzon Parameter" default=1 min=1 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } MemzonMunster { init: if @st==0 z=@sf(pixel) else z=@sp endif int i=0 loop: if @v==0 z=z elseif @v==1 z=sqr(z) elseif @v==2 z=cosh(z) elseif @v==3 z=cos(z) elseif @v==4 z=sinh(z) elseif @v==5 z=sin(z) elseif @v==6 z=z^3 elseif @v==7 z=z-z^2 elseif @v==8 z=z-0.5*exp(z) elseif @v==9 z=z-2*tan(z) elseif @v==10 z=z-0.375*cosh(z) elseif @v==11 z=z-0.5*cos(z) else z=z-2*sin(z) endif z=@zp1*z+@zp2 if i<@mtp z=z^2+@pf(pixel) i=i+1 else z=exp(@mp1*1i)*z^2*(z-@mp2)/(1-@mp2*z) i=0 endif bailout: |z|<=@bail default: title="Memzon Munster" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param sp caption="Start Parameter" default=(0,0) visible=@st==1 endparam func sf caption="Start Function" default=ident() visible=@st==0 endfunc param mtp caption="Memzon Parameter" default=5 min=1 endparam func pf caption="Pixel Function" default=ident() endfunc param mp1 caption="Munster Parameter 1" default=0.0 endparam param mp2 caption="Munster Parameter 2" default=(2,0) endparam param v caption="Z Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13" endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } MoukonyFazurut { init: if @mj==0 if @st==0 z=@sf(pixel) c=@sf(pixel) else z=@sp c=@cf(pixel) endif else z=@sf(pixel) c=@c endif loop: z=@zp1*@zf(z)+@zp2 d=(z^2-@mfp1)/(z^2+@mfp1) f=@mfp2+@mfp3*@mff(z+c) z=d*f*z bailout: |z|<=@bail default: title="Moukony Fazurut" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param mj caption="M/J" enum="Mandelbrot""Julia" endparam param st caption="Start Type" enum="Pixel""Parameter" visible=@mj==0 endparam param sp caption="Start Parameter" default=(-0.5,0) visible=@mj==0 && @st==1 endparam func sf caption="Start Function" default=ident() visible=@mj==1 || (@mj==0 && @st==0) endfunc func cf caption="C Function" default=ident() visible=(@mj==0 && @st==1) endfunc param mfp1 caption="MF Parameter 1" default=(-1,0) endparam param mfp2 caption="MF Parameter 2" default=(1,0) endparam param mfp3 caption="MF Parameter 3" default=(1,0) endparam param c caption="Julia Seed" default=(0.3,0) visible=@mj==1 endparam func mff caption="MF Function" default=ident() endfunc func zf caption="Z Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10.0 endparam } 3AltPlug { global: import "common.ulb" import "om.ulb" Formula f1=new @formulaClass1(0) Formula f2=new @formulaClass2(0) Formula f3=new @formulaClass3(0) init: #z=f1.Init(#pixel)+f2.Init(#pixel)+f3.Init(#pixel) int i=0 loop: if @av==0 if i==0 #z=f1.Iterate(#z) i=i+1 elseif i==1 #z=f2.Iterate(#z) i=i+1 else #z=f3.Iterate(#z) i=0 endif elseif @av==1 if i==0 #z=f1.Iterate(#z) i=i+1 elseif i==1 #z=f3.Iterate(#z) i=i+1 else #z=f2.Iterate(#z) i=0 endif elseif @av==2 if i==0 #z=f2.Iterate(#z) i=i+1 elseif i==1 #z=f1.Iterate(#z) i=i+1 else #z=f3.Iterate(#z) i=0 endif elseif @av==3 if i==0 #z=f2.Iterate(#z) i=i+1 elseif i==1 #z=f3.Iterate(#z) i=i+1 else #z=f1.Iterate(#z) i=0 endif elseif @av==4 if i==0 #z=f3.Iterate(#z) i=i+1 elseif i==1 #z=f1.Iterate(#z) i=i+1 else #z=f2.Iterate(#z) i=0 endif else if i==0 #z=f3.Iterate(#z) i=i+1 elseif i==1 #z=f2.Iterate(#z) i=i+1 else #z=f1.Iterate(#z) i=0 endif endif bailout: !f1.IsBailedOut(#z) && !f2.IsBailedOut(#z) && !f3.IsBailedOut(#z) default: title="3Alt Plug" periodicity=0 center=(0.001,0.001) magn=1.5 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="123""132""213""231""312""321" endparam Formula param formulaClass1 caption="Fractal Formula 1" default=OM_ValmystX1 endparam Formula param formulaClass2 caption="Fractal Formula 2" default=OM_Koskex endparam Formula param formulaClass3 caption="Fractal Formula 3" default=OM_Munster17M endparam } TrivarTriplePlug { global: import "common.ulb" import "om.ulb" Formula f=new @formulaClass1(0) Formula f1=new @formulaClass2(0) Formula f2=new @formulaClass3(0) init: #z=f.Init(#pixel) k=f1.Init(#pixel) w=f2.Init(#pixel) loop: #z=f.Iterate(#z)+f1.Iterate(k)+f2.Iterate(w) bailout: !f.IsBailedOut(#z) && !f1.IsBailedOut(#z) && !f2.IsBailedOut(#z) default: title="Trivar Triple Plug" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=101 visible=@version<100 endparam Formula param formulaClass1 caption="Fractal Formula 1" default=OM_ValmystX1 endparam Formula param formulaClass2 caption="Fractal Formula 2" default=OM_Koskex endparam Formula param formulaClass3 caption="Fractal Formula 3" default=OM_Majurec endparam } 3AltGlynn { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 if i==0 z=z^1.5+@c1 i=i+1 elseif i==1 z=z^1.5+@c2 i=i+1 else z=z^1.5+@c3 i=0 endif bailout: |z|<@bail default: title="3Alt Glynn" center=(0.001,0.001) periodicity=0 func sf caption="Start Function" default=ident() endfunc param c1 caption="Glynn Parameter 1" default=(-0.5,0) endparam param c2 caption="Glynn Parameter 2" default=(0.75,0) endparam param c3 caption="Glynn Parameter 3" default=(-0.125,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltJuliaMandelbrot { init: if @st==0 z=@sp else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=(z^2+@pf(pixel))^2+@c i=i+1 else z=((z^2+@pf(pixel))^2+@c)^2+@pf(pixel) i=0 endif elseif @av==1 if i==0 z=z^2+@c i=i+1 elseif i==1 z=(z^2+@c)^2+@pf(pixel) i=i+1 else z=((z^2+@c)^2+@pf(pixel))^2+@c i=0 endif elseif @av==2 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=((z^2+@pf(pixel))^2+@c)^2+@pf(pixel) i=i+1 else z=(z^2+@pf(pixel))^2+@c i=0 endif elseif @av==3 if i==0 z=z^2+@c i=i+1 elseif i==1 z=((z^2+@c)^2+@pf(pixel))^2+@c i=i+1 else z=(z^2+@c)^2+@pf(pixel) i=0 endif elseif @av==4 if i==0 z=(z^2+@pf(pixel))^2+@c i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 else z=((z^2+@pf(pixel))^2+@c)^2+@pf(pixel) i=0 endif elseif @av==5 if i==0 z=(z^2+@c)^2+@pf(pixel) z=z^2+@c i=i+1 elseif i==1 z=z^2+@c i=i+1 else z=((z^2+@c)^2+@pf(pixel))^2+@c i=0 endif elseif @av==6 if i==0 z=(z^2+@pf(pixel))^2+@c i=i+1 elseif i==1 z=((z^2+@pf(pixel))^2+@c)^2+@pf(pixel) i=i+1 else z=z^2+@pf(pixel) i=0 endif elseif @av==7 if i==0 z=(z^2+@c)^2+@pf(pixel) i=i+1 elseif i==1 z=((z^2+@c)^2+@pf(pixel))^2+@c i=i+1 else z=z^2+@c i=0 endif elseif @av==8 if i==0 z=((z^2+@pf(pixel))^2+@c)^2+@pf(pixel) i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 else z=(z^2+@pf(pixel))^2+@c i=0 endif elseif @av==9 if i==0 z=((z^2+@c)^2+@pf(pixel))^2+@c i=i+1 elseif i==1 z=z^2+@c i=i+1 else z=(z^2+@c)^2+@pf(pixel) i=0 endif elseif @av==10 if i==0 z=((z^2+@pf(pixel))^2+@c)^2+@pf(pixel) i=i+1 elseif i==1 z=(z^2+@pf(pixel))^2+@c i=i+1 else z=z^2+@pf(pixel) i=0 endif elseif @av==11 if i==0 z=((z^2+@c)^2+@pf(pixel))^2+@c i=i+1 elseif i==1 z=(z^2+@c)^2+@pf(pixel) i=i+1 else z=z^2+@c i=0 endif endif bailout: |z|<@bail default: title="3Alt Julia/Mandelbrot" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Parameter""Pixel" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12" endparam param sp caption="Start Parameter" default=(0,0) visible=@st==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c caption="Seed" default=(-0.5,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } 3AltMandelbrot2 { init: z=@sp int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+@p1*@pf(pixel) i=i+1 elseif i==1 z=z^3+@p2*@pf(pixel) i=i+1 else z=z^4+@p3*@pf(pixel) i=0 endif elseif @av==1 if i==0 z=z^2+@p1*@pf(pixel) i=i+1 elseif i==1 z=z^4+@p2*@pf(pixel) i=i+1 else z=z^3+@p3*@pf(pixel) i=0 endif elseif @av==2 if i==0 z=z^3+@p1*@pf(pixel) i=i+1 elseif i==1 z=z^2+@p2*@pf(pixel) i=i+1 else z=z^4+@p3*@pf(pixel) i=0 endif elseif @av==3 if i==0 z=z^3+@p1*@pf(pixel) i=i+1 elseif i==1 z=z^4+@p2*@pf(pixel) i=i+1 else z=z^2+@p3*@pf(pixel) i=0 endif elseif @av==4 if i==0 z=z^4+@p1*@pf(pixel) i=i+1 elseif i==1 z=z^2+@p2*@pf(pixel) i=i+1 else z=z^3+@p3*@pf(pixel) i=0 endif elseif @av==5 if i==0 z=z^4+@p1*@pf(pixel) i=i+1 elseif i==1 z=z^3+@p2*@pf(pixel) i=i+1 else z=z^2+@p3*@pf(pixel) i=0 endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param p1 caption="C Parameter 1" default=(1,0) endparam param p2 caption="C Parameter 2" default=(1,0) endparam param p3 caption="C Parameter 3" default=(1,0) endparam param sp caption="Start Parameter" default=(0,0) endparam func pf caption="C Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } 3AltMandelbrot3 { init: z=@sp c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+@p1*c i=i+1 elseif i==1 z=(z^2+@p1*c)^2+@p2*c^2+z i=i+1 else z=((z^2+@p1*c)^2+@p2*c^2+z)^2+(p3*c^2+z)^2+z^2+p3*c i=0 endif elseif @av==1 if i==0 z=z^2+@p1*c i=i+1 elseif i==1 z=((z^2+@p1*c)^2+@p2*c^2+z)^2+(p3*c^2+z)^2+z^2+p3*c i=i+1 else z=(z^2+@p1*c)^2+@p2*c^2+z i=0 endif elseif @av==2 if i==0 z=(z^2+@p1*c)^2+@p2*c^2+z i=i+1 elseif i==1 z=z^2+@p1*c i=i+1 else z=((z^2+@p1*c)^2+@p2*c^2+z)^2+(p3*c^2+z)^2+z^2+p3*c i=0 endif elseif @av==3 if i==0 z=(z^2+@p1*c)^2+@p2*c^2+z i=i+1 elseif i==1 z=((z^2+@p1*c)^2+@p2*c^2+z)^2+(p3*c^2+z)^2+z^2+p3*c i=i+1 else z=z^2+@p1*c i=0 endif elseif @av==4 if i==0 z=((z^2+@p1*c)^2+@p2*c^2+z)^2+(p3*c^2+z)^2+z^2+p3*c i=i+1 elseif i==1 z=z^2+@p1*c i=i+1 else z=(z^2+@p1*c)^2+@p2*c^2+z i=0 endif else if i==0 z=((z^2+@p1*c)^2+@p2*c^2+z)^2+(p3*c^2+z)^2+z^2+p3*c i=i+1 elseif i==1 z=(z^2+@p1*c)^2+@p2*c^2+z i=i+1 else z=z^2+@p1*c i=0 endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param p1 caption="C Parameter 1" default=(1,0) endparam param p2 caption="C Parameter 2" default=(1,0) endparam param p3 caption="C Parameter 3" default=(1,0) endparam param sp caption="Start Parameter" default=(0,0) endparam func pf caption="C Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } 3AltMandelbrot4 { init: z=@sp int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z+@p1*@pf(pixel) i=i+1 elseif i==1 z=2*z^2+@p2*@pf(pixel)^2 i=i+1 else z=3*z^3+@p3*@pf(pixel)^3 i=0 endif elseif @av==1 if i==0 z=z+@p1*@pf(pixel) i=i+1 elseif i==1 z=3*z^3+@p3*@pf(pixel)^3 i=i+1 else z=2*z^2+@p2*@pf(pixel)^2 i=0 endif elseif @av==2 if i==0 z=2*z^2+@p2*@pf(pixel)^2 i=i+1 elseif i==1 z=z+@p1*@pf(pixel) i=i+1 else z=3*z^3+@p3*@pf(pixel)^3 i=0 endif elseif @av==3 if i==0 z=2*z^2+@p2*@pf(pixel)^2 i=i+1 elseif i==1 z=3*z^3+@p3*@pf(pixel)^3 i=i+1 else z=z+@p1*@pf(pixel) i=0 endif elseif @av==4 if i==0 z=3*z^3+@p3*@pf(pixel)^3 i=i+1 elseif i==1 z=z+@p1*@pf(pixel) i=i+1 else z=2*z^2+@p2*@pf(pixel)^2 i=0 endif else if i==0 z=3*z^3+@p3*@pf(pixel)^3 i=i+1 elseif i==1 z=2*z^2+@p2*@pf(pixel)^2 i=i+1 else z=z+@p1*@pf(pixel) i=0 endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot 4" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param p1 caption="C Parameter 1" default=(1,0) endparam param p2 caption="C Parameter 2" default=(1,0) endparam param p3 caption="C Parameter 3" default=(1,0) endparam param sp caption="Start Parameter" default=(0,0) endparam func pf caption="C Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } 3AltMandelbrot5 { init: z=@sp c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+@p1*exp(c) i=i+1 elseif i==1 z=z^2+@p2*tan(c) i=i+1 else z=z^2+@p3*sqr(c) i=0 endif elseif @av==1 if i==0 z=z^2+@p1*exp(c) i=i+1 elseif i==1 z=z^2+@p3*sqr(c) i=i+1 else z=z^2+@p2*tan(c) i=0 endif elseif @av==2 if i==0 z=z^2+@p2*tan(c) i=i+1 elseif i==1 z=z^2+@p1*exp(c) i=i+1 else z=z^2+@p3*sqr(c) i=0 endif elseif @av==3 if i==0 z=z^2+@p2*tan(c) i=i+1 elseif i==1 z=z^2+@p3*sqr(c) i=i+1 else z=z^2+@p1*exp(c) i=0 endif elseif @av==4 if i==0 z=z^2+@p3*sqr(c) i=i+1 elseif i==1 z=z^2+@p1*exp(c) i=i+1 else z=z^2+@p2*tan(c) i=0 endif else if i==0 z=z^2+@p3*sqr(c) i=i+1 elseif i==1 z=z^2+@p2*tan(c) i=i+1 else z=z^2+@p1*exp(c) i=0 endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot 5" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param p1 caption="C Parameter 1" default=(1,0) endparam param p2 caption="C Parameter 2" default=(1,0) endparam param p3 caption="C Parameter 3" default=(1,0) endparam param sp caption="Start Parameter" default=(0,0) endparam func pf caption="C Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } 3AltMandelbrot6 { init: z=@sp c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+@p1*sqr(exp(c)) i=i+1 elseif i==1 z=z^2+@p2*sin(sin(c)) i=i+1 else z=z^2+@p3*c i=0 endif elseif @av==1 if i==0 z=z^2+@p1*sqr(exp(c)) i=i+1 elseif i==1 z=z^2+@p3*c i=i+1 else z=z^2+@p2*sin(sin(c)) i=0 endif elseif @av==2 if i==0 z=z^2+@p2*sin(sin(c)) i=i+1 elseif i==1 z=z^2+@p1*sqr(exp(c)) i=i+1 else z=z^2+@p3*c i=0 endif elseif @av==3 if i==0 z=z^2+@p2*sin(sin(c)) i=i+1 elseif i==1 z=z^2+@p3*c i=i+1 else z=z^2+@p1*sqr(exp(c)) i=0 endif elseif @av==4 if i==0 z=z^2+@p3*c i=i+1 elseif i==1 z=z^2+@p1*sqr(exp(c)) i=i+1 else z=z^2+@p2*sin(sin(c)) i=0 endif else if i==0 z=z^2+@p3*c i=i+1 elseif i==1 z=z^2+@p2*sin(sin(c)) i=i+1 else z=z^2+@p1*sqr(exp(c)) i=0 endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot 6" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param p1 caption="C Parameter 1" default=(1,0) endparam param p2 caption="C Parameter 2" default=(1,0) endparam param p3 caption="C Parameter 3" default=(1,0) endparam param sp caption="Start Parameter" default=(0,0) endparam func pf caption="C Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } 3AltMandelbrot7 { init: z=@pf(pixel) int i=0 c=@pf(pixel) loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^3+(@c1*cotanh(c)-1)*z i=i+1 elseif i==1 z=z^3+(@c2*sqr(c)-1)*z i=i+1 else z=z^3+(@c3*exp(c)-1)*z i=0 endif elseif @av==1 if i==0 z=z^3+(@c1*cotanh(c)-1)*z i=i+1 elseif i==1 z=z^3+(@c3*exp(c)-1)*z i=i+1 else z=z^3+(@c2*sqr(c)-1)*z i=0 endif elseif @av==2 if i==0 z=z^3+(@c2*sqr(c)-1)*z i=i+1 elseif i==1 z=z^3+(@c1*cotanh(c)-1)*z i=i+1 else z=z^3+(@c3*exp(c)-1)*z i=0 endif elseif @av==3 if i==0 z=z^3+(@c2*sqr(c)-1)*z i=i+1 elseif i==1 z=z^3+(@c3*exp(c)-1)*z i=i+1 else z=z^3+(@c1*cotanh(c)-1)*z i=0 endif elseif @av==4 if i==0 z=z^3+(@c3*exp(c)-1)*z i=i+1 elseif i==1 z=z^3+(@c1*cotanh(c)-1)*z i=i+1 else z=z^3+(@c2*sqr(c)-1)*z i=0 endif elseif @av==5 if i==0 z=z^3+(@c3*exp(c)-1)*z i=i+1 elseif i==1 z=z^3+(@c2*sqr(c)-1)*z i=i+1 else z=z^3+(@c1*cotanh(c)-1)*z i=0 endif endif bailout: |z|<@bail default: title="3Alt Mandelbrot 7" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param c1 caption="C Parameter 1" default=(1,0) endparam param c2 caption="C Parameter 2" default=(1,0) endparam param c3 caption="C Parameter 3" default=(1,0) endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=4.0 endparam } 3AltX1 { init: if @sv==0 z=@pf(pixel) else z=@sp endif int i=0 c=@pf(pixel) loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+c+@c1 i=i+1 elseif i==1 z=z^2+@c2 i=i+1 else z=z^2*(z-@c3*1i)/(z+@c3*1i) i=0 endif elseif @av==1 if i==0 z=z^2+c+@c1 i=i+1 elseif i==1 z=z^2*(z-@c3*1i)/(z+@c3*1i) i=i+1 else z=z^2+@c2 i=0 endif elseif @av==2 if i==0 z=z^2+@c2 i=i+1 elseif i==1 z=z^2+c+@c1 i=i+1 else z=z^2*(z-@c3*1i)/(z+@c3*1i) i=0 endif elseif @av==3 if i==0 z=z^2+@c2 i=i+1 elseif i==1 z=z^2*(z-@c3*1i)/(z+@c3*1i) i=i+1 else z=z^2+c+@c1 i=0 endif elseif @av==4 if i==0 z=z^2*(z-@c3*1i)/(z+@c3*1i) i=i+1 elseif i==1 z=z^2+c+@c1 i=i+1 else z=z^2+@c2 i=0 endif else if i==0 z=z^2*(z-@c3*1i)/(z+@c3*1i) i=i+1 elseif i==1 z=z^2+@c2 i=i+1 else z=z^2+c+@c1 i=0 endif endif bailout: |z|<@bail default: title="3Alt X 1" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Pixel""Parameter" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==1 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Seed 1" default=(0.45,-0.75) endparam param c2 caption="Seed 2" default=(0.65,0) endparam param c3 caption="Seed 3" default=(-0.7,0.1) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltX2J { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2*(z-1i)/(z+1i)+@c1 i=i+1 elseif i==1 z=z^3*(z-1i)/(z+1i)+@c2 i=i+1 else z=z^4*(z-1i)/(z+1i)+@c3 i=0 endif elseif @av==1 if i==0 z=z^2*(z-1i)/(z+1i)+@c1 i=i+1 elseif i==1 z=z^4*(z-1i)/(z+1i)+@c2 i=i+1 else z=z^3*(z-1i)/(z+1i)+@c3 i=0 endif elseif @av==2 if i==0 z=z^3*(z-1i)/(z+1i)+@c1 i=i+1 elseif i==1 z=z^2*(z-1i)/(z+1i)+@c2 i=i+1 else z=z^4*(z-1i)/(z+1i)+@c3 i=0 endif elseif @av==3 if i==0 z=z^3*(z-1i)/(z+1i)+@c1 i=i+1 elseif i==1 z=z^4*(z-1i)/(z+1i)+@c2 i=i+1 else z=z^2*(z-1i)/(z+1i)+@c3 i=0 endif elseif @av==4 if i==0 z=z^4*(z-1i)/(z+1i)+@c1 i=i+1 elseif i==1 z=z^2*(z-1i)/(z+1i)+@c2 i=i+1 else z=z^3*(z-1i)/(z+1i)+@c3 i=0 endif else if i==0 z=z^4*(z-1i)/(z+1i)+@c1 i=i+1 elseif i==1 z=z^3*(z-1i)/(z+1i)+@c2 i=i+1 else z=z^2*(z-1i)/(z+1i)+@c3 i=0 endif endif bailout: |z|<@bail default: title="3Alt X 2 J" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam func sf caption="Start Function" default=ident() endfunc param c1 caption="Seed 1" default=(-0.7,0.15) endparam param c2 caption="Seed 2" default=(-0.33,0.05) endparam param c3 caption="Seed 3" default=(-0.6,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltX2M { init: if @sv==0 z=@sp else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2*(z-1i)/(z+1i)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^3*(z-1i)/(z+1i)+@c2*@pf(pixel) i=i+1 else z=z^4*(z-1i)/(z+1i)+@c3*@pf(pixel) i=0 endif elseif @av==1 if i==0 z=z^2*(z-1i)/(z+1i)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^4*(z-1i)/(z+1i)+@c2*@pf(pixel) i=i+1 else z=z^3*(z-1i)/(z+1i)+@c3*@pf(pixel) i=0 endif elseif @av==2 if i==0 z=z^3*(z-1i)/(z+1i)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^2*(z-1i)/(z+1i)+@c2*@pf(pixel) i=i+1 else z=z^4*(z-1i)/(z+1i)+@c3*@pf(pixel) i=0 endif elseif @av==3 if i==0 z=z^3*(z-1i)/(z+1i)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^4*(z-1i)/(z+1i)+@c2*@pf(pixel) i=i+1 else z=z^2*(z-1i)/(z+1i)+@c3*@pf(pixel) i=0 endif elseif @av==4 if i==0 z=z^4*(z-1i)/(z+1i)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^2*(z-1i)/(z+1i)+@c2*@pf(pixel) i=i+1 else z=z^3*(z-1i)/(z+1i)+@c3*@pf(pixel) i=0 endif else if i==0 z=z^4*(z-1i)/(z+1i)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^3*(z-1i)/(z+1i)+@c2*@pf(pixel) i=i+1 else z=z^2*(z-1i)/(z+1i)+@c3*@pf(pixel) i=0 endif endif bailout: |z|<@bail default: title="3Alt X 2 M" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Pixel Parameter 1" default=(0.5,0) endparam param c2 caption="Pixel Parameter 2" default=(1,0) endparam param c3 caption="Pixel Parameter 3" default=(1.5,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltX3J { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2*(z-1)/(z+1)+@c1 i=i+1 elseif i==1 z=z^3*(z-1)/(z+1)+@c2 i=i+1 else z=z^4*(z-1)/(z+1)+@c3 i=0 endif elseif @av==1 if i==0 z=z^2*(z-1)/(z+1)+@c1 i=i+1 elseif i==1 z=z^4*(z-1)/(z+1)+@c2 i=i+1 else z=z^3*(z-1)/(z+1)+@c3 i=0 endif elseif @av==2 if i==0 z=z^3*(z-1)/(z+1)+@c1 i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2 i=i+1 else z=z^4*(z-1)/(z+1)+@c3 i=0 endif elseif @av==3 if i==0 z=z^3*(z-1)/(z+1)+@c1 i=i+1 elseif i==1 z=z^4*(z-1)/(z+1)+@c2 i=i+1 else z=z^2*(z-1)/(z+1)+@c3 i=0 endif elseif @av==4 if i==0 z=z^4*(z-1)/(z+1)+@c1 i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2 i=i+1 else z=z^3*(z-1)/(z+1)+@c3 i=0 endif else if i==0 z=z^4*(z-1)/(z+1)+@c1 i=i+1 elseif i==1 z=z^3*(z-1)/(z+1)+@c2 i=i+1 else z=z^2*(z-1)/(z+1)+@c3 i=0 endif endif bailout: |z|<@bail default: title="3Alt X 3 J" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam func sf caption="Start Function" default=ident() endfunc param c1 caption="Seed 1" default=(1.5,0) endparam param c2 caption="Seed 2" default=(0.85,0) endparam param c3 caption="Seed 3" default=(-0.15,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltX3M { init: if @sv==0 z=@sp else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2*(z-1)/(z+1)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^3*(z-1)/(z+1)+@c2*@pf(pixel) i=i+1 else z=z^4*(z-1)/(z+1)+@c3*@pf(pixel) i=0 endif elseif @av==1 if i==0 z=z^2*(z-1)/(z+1)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^4*(z-1)/(z+1)+@c2*@pf(pixel) i=i+1 else z=z^3*(z-1)/(z+1)+@c3*@pf(pixel) i=0 endif elseif @av==2 if i==0 z=z^3*(z-1)/(z+1)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*@pf(pixel) i=i+1 else z=z^4*(z-1)/(z+1)+@c3*@pf(pixel) i=0 endif elseif @av==3 if i==0 z=z^3*(z-1)/(z+1)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^4*(z-1)/(z+1)+@c2*@pf(pixel) i=i+1 else z=z^2*(z-1)/(z+1)+@c3*@pf(pixel) i=0 endif elseif @av==4 if i==0 z=z^4*(z-1)/(z+1)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*@pf(pixel) i=i+1 else z=z^3*(z-1)/(z+1)+@c3*@pf(pixel) i=0 endif else if i==0 z=z^4*(z-1)/(z+1)+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^3*(z-1)/(z+1)+@c2*@pf(pixel) i=i+1 else z=z^2*(z-1)/(z+1)+@c3*@pf(pixel) i=0 endif endif bailout: |z|<@bail default: title="3Alt X 3 M" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Pixel Parameter 1" default=(0.5,0) endparam param c2 caption="Pixel Parameter 2" default=(1,0) endparam param c3 caption="Pixel Parameter 3" default=(1.5,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltX4J { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2*(z-exp(z))/(z+exp(z))+@c1 i=i+1 elseif i==1 z=z^2*(z-tanh(z))/(z+tanh(z))+@c2 i=i+1 else z=z^2*(z-sqr(z))/(z+sqr(z))+@c3 i=0 endif elseif @av==1 if i==0 z=z^2*(z-exp(z))/(z+exp(z))+@c1 i=i+1 elseif i==1 z=z^2*(z-sqr(z))/(z+sqr(z))+@c3+1.8 i=i+1 else z=z^2*(z-tanh(z))/(z+tanh(z))+@c2 i=0 endif elseif @av==2 if i==0 z=z^2*(z-tanh(z))/(z+tanh(z))+@c2 i=i+1 elseif i==1 z=z^2*(z-exp(z))/(z+exp(z))+@c1 i=i+1 else z=z^2*(z-sqr(z))/(z+sqr(z))+@c3+1.8 i=0 endif elseif @av==3 if i==0 z=z^2*(z-tanh(z))/(z+tanh(z))+@c2 i=i+1 elseif i==1 z=z^2*(z-sqr(z))/(z+sqr(z))+@c3 i=i+1 else z=z^2*(z-exp(z))/(z+exp(z))+@c1 i=0 endif elseif @av==4 if i==0 z=z^2*(z-sqr(z))/(z+sqr(z))+@c3 i=i+1 elseif i==1 z=z^2*(z-exp(z))/(z+exp(z))+@c1 i=i+1 else z=z^2*(z-tanh(z))/(z+tanh(z))+@c2 i=0 endif else if i==0 z=z^2*(z-sqr(z))/(z+sqr(z))+@c3+1.8 i=i+1 elseif i==1 z=z^2*(z-tanh(z))/(z+tanh(z))+@c2 i=i+1 else z=z^2*(z-exp(z))/(z+exp(z))+@c1 i=0 endif endif bailout: |z|<@bail default: title="3Alt X 4 J" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam func sf caption="Start Function" default=ident() endfunc param c1 caption="Seed 1" default=(1.5,0) endparam param c2 caption="Seed 2" default=(0.85,0) endparam param c3 caption="Seed 3" default=(-0.15,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 3AltX4M { init: if @sv==0 z=@sp else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if i==0 z=z^2*(z-exp(z))/(z+exp(z))+@c1*@pf(pixel) i=i+1 elseif i==1 z=z^2*(z-tanh(z))/(z+tanh(z))+@c2*@pf(pixel) i=i+1 else z=z^2*(z-sqr(z))/(z+sqr(z))+@c3*@pf(pixel) i=0 endif bailout: |z|<@bail default: title="3Alt X 4 M" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Pixel Parameter 1" default=(1.5,0) endparam param c2 caption="Pixel Parameter 2" default=(0.85,0) endparam param c3 caption="Pixel Parameter 3" default=(-0.15,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX1 { init: if @sv==0 if @av==0 || @av==1 || @av==2 || @av==3 || @av==4 || @av==5 z=@sp else z=@sp+1 endif else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^5+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==1 if i==0 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^4+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==2 if i==0 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=(z^5+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==3 if i==0 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==4 if i==0 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=(z^4+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==5 if i==0 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==6 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^5+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==7 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^4+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==8 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=z^2+@c1*@pf(pixel) i=i+1 else z=(z^5+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==9 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 else z=z^2+@c1*@pf(pixel) i=0 endif elseif @av==10 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=z^2+@c1*@pf(pixel) i=i+1 else z=(z^4+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==11 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 else z=z^2+@c1*@pf(pixel) i=0 endif elseif @av==12 if i==0 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=(z^5+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==13 if i==0 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==14 if i==0 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^2+@c1*@pf(pixel) i=i+1 else z=(z^5+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==15 if i==0 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 else z=z^2+@c1*@pf(pixel) i=0 endif elseif @av==16 if i==0 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=z^2+@c1*@pf(pixel) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==17 if i==0 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=z^2+@c1*@pf(pixel) i=0 endif elseif @av==18 if i==0 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=(z^4+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==19 if i==0 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=z^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==20 if i==0 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^2+@c1*@pf(pixel) i=i+1 else z=(z^4+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==21 if i==0 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 else z=z^2+@c1*@pf(pixel) i=0 endif elseif @av==22 if i==0 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=z^2+@c1*@pf(pixel) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif else if i==0 z=(z^5+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^4+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=z^2+@c1*@pf(pixel) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 1" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Pixel Parameter 1" default=(-0.95,0) endparam param c2 caption="Pixel Parameter 2" default=(0.85,0) endparam param c3 caption="Pixel Parameter 3" default=(-0.15,0) endparam param c4 caption="Pixel Parameter 4" default=(-0.15,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX2 { init: if @sv==0 if @av==0 || @av==1 || @av==2 || @av==3 || @av==4 || @av==5 z=@sp else z=@sp+1 endif else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^6+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==1 if i==0 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^5+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==2 if i==0 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^4+@c2*@pf(pixel))/z i=i+1 else z=(z^6+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==3 if i==0 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^4+@c2*@pf(pixel))/z i=0 endif elseif @av==4 if i==0 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^4+@c2*@pf(pixel))/z i=i+1 else z=(z^5+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==5 if i==0 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==1 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^4+@c2*@pf(pixel))/z i=0 endif elseif @av==6 if i==0 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^6+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==7 if i==0 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^5+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==8 if i==0 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=z^3+@c1*@pf(pixel) i=i+1 else z=(z^6+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==9 if i==0 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 else z=z^3+@c1*@pf(pixel) i=0 endif elseif @av==10 if i==0 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=z^3+@c1*@pf(pixel) i=i+1 else z=(z^5+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==11 if i==0 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 else z=z^3+@c1*@pf(pixel) i=0 endif elseif @av==12 if i==0 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^4+@c2*@pf(pixel))/z i=i+1 else z=(z^6+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==13 if i==0 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 else z=(z^4+@c2*@pf(pixel))/z i=0 endif elseif @av==14 if i==0 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^3+@c1*@pf(pixel) i=i+1 else z=(z^6+@c4*@pf(pixel))/z^3 i=0 endif elseif @av==15 if i==0 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 else z=z^3+@c1*@pf(pixel) i=0 endif elseif @av==16 if i==0 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=z^3+@c1*@pf(pixel) i=i+1 else z=(z^4+@c2*@pf(pixel))/z i=0 endif elseif @av==17 if i==0 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==1 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==2 z=(z^4+@c2*@pf(pixel))/z i=i+1 else z=z^3+@c1*@pf(pixel) i=0 endif elseif @av==18 if i==0 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^4+@c2*@pf(pixel))/z i=i+1 else z=(z^5+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==19 if i==0 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=z^3+@c1*@pf(pixel) i=i+1 elseif i==2 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 else z=(z^4+@c2*@pf(pixel))/z i=0 endif elseif @av==20 if i==0 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^3+@c1*@pf(pixel) i=i+1 else z=(z^5+@c3*@pf(pixel))/z^2 i=0 endif elseif @av==21 if i==0 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^4+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 else z=z^3+@c1*@pf(pixel) i=0 endif elseif @av==22 if i==0 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=z^3+@c1*@pf(pixel) i=i+1 else z=(z^4+@c2*@pf(pixel))/z i=0 endif else if i==0 z=(z^6+@c4*@pf(pixel))/z^3 i=i+1 elseif i==1 z=(z^5+@c3*@pf(pixel))/z^2 i=i+1 elseif i==2 z=(z^4+@c2*@pf(pixel))/z i=i+1 else z=z^3+@c1*@pf(pixel) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Pixel Parameter 1" default=(-0.95,0) endparam param c2 caption="Pixel Parameter 2" default=(0.85,0) endparam param c3 caption="Pixel Parameter 3" default=(-0.15,0) endparam param c4 caption="Pixel Parameter 4" default=(-0.15,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX3 { init: if @sv==0 if @av==0 || @av==1 || @av==2 || @av==3 || @av==4 || @av==5 z=@sp else z=@sp+1 endif else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 else z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=0 endif elseif @av==1 if i==0 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 else z=z^4/(z^2+@c3*@pf(pixel)) i=0 endif elseif @av==2 if i==0 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==1 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=0 endif elseif @av==3 if i==0 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==1 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==4 if i==0 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=z^4/(z^2+@c3*@pf(pixel)) i=0 endif elseif @av==5 if i==0 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==2 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==6 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==2 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 else z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=0 endif elseif @av==7 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 else z=z^4/(z^2+@c3*@pf(pixel)) i=0 endif elseif @av==8 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==2 z=z^2+(@c1*@pf(pixel)) i=i+1 else z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=0 endif elseif @av==9 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 else z=z^2+(@c1*@pf(pixel)) i=0 endif elseif @av==10 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==2 z=z^2+(@c1*@pf(pixel)) i=i+1 else z=z^4/(z^2+@c3*@pf(pixel)) i=0 endif elseif @av==11 if i==0 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==2 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 else z=z^2+(@c1*@pf(pixel)) i=0 endif elseif @av==12 if i==0 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==1 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=0 endif elseif @av==13 if i==0 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==1 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==14 if i==0 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^2+(@c1*@pf(pixel)) i=i+1 else z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=0 endif elseif @av==15 if i==0 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 else z=z^2+(@c1*@pf(pixel)) i=0 endif elseif @av==16 if i==0 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==2 z=z^2+(@c1*@pf(pixel)) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==17 if i==0 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==1 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=z^2+(@c1*@pf(pixel)) i=0 endif elseif @av==18 if i==0 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==1 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=z^4/(z^2+@c3*@pf(pixel)) i=0 endif elseif @av==19 if i==0 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==1 z=z^2+(@c1*@pf(pixel)) i=i+1 elseif i==2 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif elseif @av==20 if i==0 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^2+(@c1*@pf(pixel)) i=i+1 else z=z^4/(z^2+@c3*@pf(pixel)) i=0 endif elseif @av==21 if i==0 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==1 z=(z^3+@c2*@pf(pixel))/z i=i+1 elseif i==2 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 else z=z^2+(@c1*@pf(pixel)) i=0 endif elseif @av==22 if i==0 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==1 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==2 z=z^2+(@c1*@pf(pixel)) i=i+1 else z=(z^3+@c2*@pf(pixel))/z i=0 endif else if i==0 z=(z^5+@c4*@pf(pixel))/(z^3+@c4*@pf(pixel)) i=i+1 elseif i==1 z=z^4/(z^2+@c3*@pf(pixel)) i=i+1 elseif i==2 z=(z^3+@c2*@pf(pixel))/z i=i+1 else z=z^2+(@c1*@pf(pixel)) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Pixel Parameter 1" default=(-0.95,0) endparam param c2 caption="Pixel Parameter 2" default=(0.85,0) endparam param c3 caption="Pixel Parameter 3" default=(-0.15,0) endparam param c4 caption="Pixel Parameter 4" default=(-0.15,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX4 { init: if @sv==0 if @av==0 || @av==1 || @av==2 || @av==3 || @av==4 || @av==5 z=@sp else z=@sp+1 endif else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 else z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=0 endif elseif @av==1 if i==0 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 else z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=0 endif elseif @av==2 if i==0 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 else z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=0 endif elseif @av==3 if i==0 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 else z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=0 endif elseif @av==4 if i==0 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 else z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=0 endif elseif @av==5 if i==0 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 else z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=0 endif elseif @av==6 if i==0 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 else z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=0 endif elseif @av==7 if i==0 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 else z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=0 endif elseif @av==8 if i==0 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 else z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=0 endif elseif @av==9 if i==0 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 else z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=0 endif elseif @av==10 if i==0 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 else z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=0 endif elseif @av==11 if i==0 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 else z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=0 endif elseif @av==12 if i==0 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 else z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=0 endif elseif @av==13 if i==0 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 else z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=0 endif elseif @av==14 if i==0 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 else z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=0 endif elseif @av==15 if i==0 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 else z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=0 endif elseif @av==16 if i==0 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 else z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=0 endif elseif @av==17 if i==0 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 else z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=0 endif elseif @av==18 if i==0 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 else z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=0 endif elseif @av==19 if i==0 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 else z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=0 endif elseif @av==20 if i==0 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 else z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=0 endif elseif @av==21 if i==0 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 else z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=0 endif elseif @av==22 if i==0 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=i+1 else z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=0 endif else if i==0 z=((z^2-@c4*@pf(pixel))/(z+@c4*@pf(pixel)))^5/z^3+@c4*@pf(pixel) i=i+1 elseif i==1 z=((z^2-@c3*@pf(pixel))/(z+@c3*@pf(pixel)))^4/z^2+@c3*@pf(pixel) i=i+1 elseif i==2 z=((z^2-@c2*@pf(pixel))/(z+@c2*@pf(pixel)))^3/z+@c2*@pf(pixel) i=i+1 else z=((z^2-@c1*@pf(pixel))/(z+@c1*@pf(pixel)))^2+@c1*@pf(pixel) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 4" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam func pf caption="Pixel Function" default=ident() endfunc param c1 caption="Pixel Parameter 1" default=(1,0) endparam param c2 caption="Pixel Parameter 2" default=(1,0) endparam param c3 caption="Pixel Parameter 3" default=(1,0) endparam param c4 caption="Pixel Parameter 4" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX5 { init: if @sv==0 z=@sp else z=@pf(pixel) endif int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 elseif i==2 z=z^2+@js i=i+1 else z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=0 endif elseif @av==1 if i==0 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 elseif i==2 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 else z=z^2+@js i=0 endif elseif @av==2 if i==0 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==1 z=z^2+@js i=i+1 elseif i==2 z=z^2+@pf(pixel) i=i+1 else z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=0 endif elseif @av==3 if i==0 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==1 z=z^2+@js i=i+1 elseif i==2 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 else z=z^2+@pf(pixel) i=0 endif elseif @av==4 if i==0 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==1 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==2 z=z^2+@pf(pixel) i=i+1 else z=z^2+@js i=0 endif elseif @av==5 if i==0 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==1 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==2 z=z^2+@js i=i+1 else z=z^2+@pf(pixel) i=0 endif elseif @av==6 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==2 z=z^2+@js i=i+1 else z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=0 endif elseif @av==7 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==2 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 else z=z^2+@js i=0 endif elseif @av==8 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=z^2+@js i=i+1 elseif i==2 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 else z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=0 endif elseif @av==9 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=z^2+@js i=i+1 elseif i==2 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 else z=z^2*(z-@munp)/(1-@munp*z) i=0 endif elseif @av==10 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==2 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 else z=z^2+@js i=0 endif elseif @av==11 if i==0 z=z^2+@pf(pixel) i=i+1 elseif i==1 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==2 z=z^2+@js i=i+1 else z=z^2*(z-@munp)/(1-@munp*z) i=0 endif elseif @av==12 if i==0 z=z^2+@js i=i+1 elseif i==1 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==2 z=z^2+@pf(pixel) i=i+1 else z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=0 endif elseif @av==13 if i==0 z=z^2+@js i=i+1 elseif i==1 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==2 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 else z=z^2+@pf(pixel) i=0 endif elseif @av==14 if i==0 z=z^2+@js i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 elseif i==2 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 else z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=0 endif elseif @av==15 if i==0 z=z^2+@js i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 elseif i==2 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 else z=z^2*(z-@munp)/(1-@munp*z) i=0 endif elseif @av==16 if i==0 z=z^2+@js i=i+1 elseif i==1 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==2 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 else z=z^2+@pf(pixel) i=0 endif elseif @av==17 if i==0 z=z^2+@js i=i+1 elseif i==1 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==2 z=z^2+@pf(pixel) i=i+1 else z=z^2*(z-@munp)/(1-@munp*z) i=0 endif elseif @av==18 if i==0 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==1 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==2 z=z^2+@pf(pixel) i=i+1 else z=z^2+@js i=0 endif elseif @av==19 if i==0 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==1 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 elseif i==2 z=z^2+@js i=i+1 else z=z^2+@pf(pixel) i=0 endif elseif @av==20 if i==0 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 elseif i==2 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 else z=z^2+@js i=0 endif elseif @av==21 if i==0 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==1 z=z^2+@pf(pixel) i=i+1 elseif i==2 z=z^2+@js i=i+1 else z=z^2*(z-@munp)/(1-@munp*z) i=0 endif elseif @av==22 if i==0 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==1 z=z^2+@js i=i+1 elseif i==2 z=z^2*(z-@munp)/(1-@munp*z) i=i+1 else z=z^2+@pf(pixel) i=0 endif else if i==0 z=((z^2+@magp-1)/(2*z+@magp-2))^2 i=i+1 elseif i==1 z=z^2+@js i=i+1 elseif i==2 z=z^2+@pf(pixel) i=i+1 else z=z^2*(z-@munp)/(1-@munp*z) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 5" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" default=1 endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam param munp caption="Munster Parameter" default=(2,0) endparam param js caption="Julia Seed" default=(-1.25,0) endparam param magp caption="Magnet Parameter" default=(1,0) endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX6 { init: if @sv==0 if @av==12 || @av==13 || @av==14 || @av==15 || @av==16 || @av==17 z=@sp+0.5 else z=@sp endif else z=@pf(pixel) endif c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==2 z=(z^3+@c3*c)/z i=i+1 else z=z^2+@c4*c i=0 endif elseif @av==1 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==2 z=z^2+@c4*c i=i+1 else z=(z^3+@c3*c)/z i=0 endif elseif @av==2 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^3+@c3*c)/z i=i+1 elseif i==2 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 else z=z^2+@c4*c i=0 endif elseif @av==3 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^3+@c3*c)/z i=i+1 elseif i==2 z=z^2+@c4*c i=i+1 else z=(z^3-@c2*c)/(z+@c2*c) i=0 endif elseif @av==4 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=z^2+@c4*c i=i+1 elseif i==2 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 else z=(z^3+@c3*c)/z i=0 endif elseif @av==5 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=z^2+@c4*c i=i+1 elseif i==2 z=(z^3+@c3*c)/z i=i+1 else z=(z^3-@c2*c)/(z+@c2*c) i=0 endif elseif @av==6 if i==0 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^3+@c3*c)/z i=i+1 else z=z^2+@c4*c i=0 endif elseif @av==7 if i==0 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=z^2+@c4*c i=i+1 else z=(z^3+@c3*c)/z i=0 endif elseif @av==8 if i==0 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==1 z=(z^3+@c3*c)/z i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=z^2+@c4*c i=0 endif elseif @av==9 if i==0 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==1 z=(z^3+@c3*c)/z i=i+1 elseif i==2 z=z^2+@c4*c i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==10 if i==0 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==1 z=z^2+@c4*c i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^3+@c3*c)/z i=0 endif elseif @av==11 if i==0 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==1 z=z^2+@c4*c i=i+1 elseif i==2 z=(z^3+@c3*c)/z i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==12 if i==0 z=(z^3+@c3*c)/z i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 else z=z^2+@c4*c i=0 endif elseif @av==13 if i==0 z=(z^3+@c3*c)/z i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=z^2+@c4*c i=i+1 else z=(z^3-@c2*c)/(z+@c2*c) i=0 endif elseif @av==14 if i==0 z=(z^3+@c3*c)/z i=i+1 elseif i==1 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=z^2+@c4*c i=0 endif elseif @av==15 if i==0 z=(z^3+@c3*c)/z i=i+1 elseif i==1 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==2 z=z^2+@c4*c i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==16 if i==0 z=(z^3+@c3*c)/z i=i+1 elseif i==1 z=z^2+@c4*c i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^3-@c2*c)/(z+@c2*c) i=0 endif elseif @av==17 if i==0 z=(z^3+@c3*c)/z i=i+1 elseif i==1 z=z^2+@c4*c i=i+1 elseif i==2 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==18 if i==0 z=z^2+@c4*c i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 else z=(z^3+@c3*c)/z i=0 endif elseif @av==19 if i==0 z=z^2+@c4*c i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^3+@c3*c)/z i=i+1 else z=(z^3-@c2*c)/(z+@c2*c) i=0 endif elseif @av==20 if i==0 z=z^2+@c4*c i=i+1 elseif i==1 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^3+@c3*c)/z i=0 endif elseif @av==21 if i==0 z=z^2+@c4*c i=i+1 elseif i==1 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 elseif i==2 z=(z^3+@c3*c)/z i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==22 if i==0 z=z^2+@c4*c i=i+1 elseif i==1 z=(z^3+@c3*c)/z i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^3-@c2*c)/(z+@c2*c) i=0 endif else if i==0 z=z^2+@c4*c i=i+1 elseif i==1 z=(z^3+@c3*c)/z i=i+1 elseif i==2 z=(z^3-@c2*c)/(z+@c2*c) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 6" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam param c1 caption="Pixel Parameter 1" default=(-0.5,0) endparam param c2 caption="Pixel Parameter 2" default=(0.5,0) endparam param c3 caption="Pixel Parameter 3" default=(0.5,0) endparam param c4 caption="Pixel Parameter 4" default=(0.5,0) endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX7 { init: if @sv==0 if @av==6 || @av==7 || @av==8 || @av==9 || @av==10 || @av==11 \ || @av==12 || @av==13 || @av==14 || @av==15 || @av==16 || @av==17 z=@sp-0.75 else z=@sp endif else z=@pf(pixel) endif c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==2 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 else z=(z^6-@c4*c)/(1-@c4*c*z^4) i=0 endif elseif @av==1 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==2 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 else z=(z^5-@c3*c)/(1-@c3*c*z^3) i=0 endif elseif @av==2 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==2 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 else z=(z^6-@c4*c)/(1-@c4*c*z^4) i=0 endif elseif @av==3 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==2 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 else z=(z^4-@c2*c)/(1-@c2*c*z^2) i=0 endif elseif @av==4 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==2 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 else z=(z^5-@c3*c)/(1-@c3*c*z^3) i=0 endif elseif @av==5 if i==0 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==1 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==2 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 else z=(z^4-@c2*c)/(1-@c2*c*z^2) i=0 endif elseif @av==6 if i==0 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 else z=(z^6-@c4*c)/(1-@c4*c*z^4) i=0 endif elseif @av==7 if i==0 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 else z=(z^5-@c3*c)/(1-@c3*c*z^3) i=0 endif elseif @av==8 if i==0 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==1 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^6-@c4*c)/(1-@c4*c*z^4) i=0 endif elseif @av==9 if i==0 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==1 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==2 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==10 if i==0 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==1 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^5-@c3*c)/(1-@c3*c*z^3) i=0 endif elseif @av==11 if i==0 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==1 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==2 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==12 if i==0 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 else z=(z^6-@c4*c)/(1-@c4*c*z^4) i=0 endif elseif @av==13 if i==0 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 else z=(z^4-@c2*c)/(1-@c2*c*z^2) i=0 endif elseif @av==14 if i==0 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==1 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^6-@c4*c)/(1-@c4*c*z^4) i=0 endif elseif @av==15 if i==0 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==1 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==2 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==16 if i==0 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==1 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^4-@c2*c)/(1-@c2*c*z^2) i=0 endif elseif @av==17 if i==0 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==1 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==2 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==18 if i==0 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 else z=(z^5-@c3*c)/(1-@c3*c*z^3) i=0 endif elseif @av==19 if i==0 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==1 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 elseif i==2 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 else z=(z^4-@c2*c)/(1-@c2*c*z^2) i=0 endif elseif @av==20 if i==0 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==1 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^5-@c3*c)/(1-@c3*c*z^3) i=0 endif elseif @av==21 if i==0 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==1 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 elseif i==2 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif elseif @av==22 if i==0 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==1 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==2 z=(z^3-@c1*c)/(1-@c1*c*z) i=i+1 else z=(z^4-@c2*c)/(1-@c2*c*z^2) i=0 endif else if i==0 z=(z^6-@c4*c)/(1-@c4*c*z^4) i=i+1 elseif i==1 z=(z^5-@c3*c)/(1-@c3*c*z^3) i=i+1 elseif i==2 z=(z^4-@c2*c)/(1-@c2*c*z^2) i=i+1 else z=(z^3-@c1*c)/(1-@c1*c*z) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 7" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam param c1 caption="Pixel Parameter 1" default=(0.8,0) endparam param c2 caption="Pixel Parameter 2" default=(1.5,0) endparam param c3 caption="Pixel Parameter 3" default=(-2,0) endparam param c4 caption="Pixel Parameter 4" default=(0.5,0) endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX8 { init: if @sv==0 if @av==11 || @av==15 || @av==19 || @av==17 || @av==21 || @av==14 \ || @av==23 || @av==20 || @av==18 || @av==22 z=@sp+1 elseif @av==8 z=@sp-0.5 else z=@sp endif else z=@pf(pixel) endif c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==2 z=z^2+@c3*c i=i+1 else z=z^2*(z-@c4*c^2)/(z+@c4*c) i=0 endif elseif @av==1 if i==0 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==2 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 else z=z^2+@c3*c i=0 endif elseif @av==2 if i==0 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==1 z=z^2+@c3*c i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 else z=z^2*(z-@c4*c^2)/(z+@c4*c) i=0 endif elseif @av==3 if i==0 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==1 z=z^2+@c3*c i=i+1 elseif i==2 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 else z=z^2*(z-1)/(z+1)+@c2*c i=0 endif elseif @av==4 if i==0 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==1 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 else z=z^2+@c3*c i=0 endif elseif @av==5 if i==0 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==1 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==2 z=z^2+@c3*c i=i+1 else z=z^2*(z-1)/(z+1)+@c2*c i=0 endif elseif @av==6 if i==0 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==1 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==2 z=z^2+@c3*c i=i+1 else z=z^2*(z-@c4*c^2)/(z+@c4*c) i=0 endif elseif @av==7 if i==0 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==1 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==2 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 else z=z^2+@c3*c i=0 endif elseif @av==8 if i==0 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==1 z=z^2+@c3*c i=i+1 elseif i==2 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 else z=z^2*(z-@c4*c^2)/(z+@c4*c) i=0 endif elseif @av==9 if i==0 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==1 z=z^2+@c3*c i=i+1 elseif i==2 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 else z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=0 endif elseif @av==10 if i==0 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==1 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==2 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 else z=z^2+@c3*c i=0 endif elseif @av==11 if i==0 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==1 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==2 z=z^2+@c3*c i=i+1 else z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=0 endif elseif @av==12 if i==0 z=z^2+@c3*c i=i+1 elseif i==1 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 else z=z^2*(z-@c4*c^2)/(z+@c4*c) i=0 endif elseif @av==13 if i==0 z=z^2+@c3*c i=i+1 elseif i==1 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==2 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 else z=z^2*(z-1)/(z+1)+@c2*c i=0 endif elseif @av==14 if i==0 z=z^2+@c3*c i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==2 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 else z=z^2*(z-@c4*c^2)/(z+@c4*c) i=0 endif elseif @av==15 if i==0 z=z^2+@c3*c i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==2 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 else z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=0 endif elseif @av==16 if i==0 z=z^2+@c3*c i=i+1 elseif i==1 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==2 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 else z=z^2*(z-1)/(z+1)+@c2*c i=0 endif elseif @av==17 if i==0 z=z^2+@c3*c i=i+1 elseif i==1 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 else z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=0 endif elseif @av==18 if i==0 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==1 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 else z=z^2+@c3*c i=0 endif elseif @av==19 if i==0 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==1 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 elseif i==2 z=z^2+@c3*c i=i+1 else z=z^2*(z-1)/(z+1)+@c2*c i=0 endif elseif @av==20 if i==0 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==2 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 else z=z^2+@c3*c i=0 endif elseif @av==21 if i==0 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 elseif i==2 z=z^2+@c3*c i=i+1 else z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=0 endif elseif @av==22 if i==0 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==1 z=z^2+@c3*c i=i+1 elseif i==2 z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=i+1 else z=z^2*(z-1)/(z+1)+@c2*c i=0 endif else if i==0 z=z^2*(z-@c4*c^2)/(z+@c4*c) i=i+1 elseif i==1 z=z^2+@c3*c i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c2*c i=i+1 else z=z^2*(@c1*c^2*z-1)/(@c1*c*z+1) i=0 endif endif bailout: |z|<@bail default: title="4Alt X 8" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0,0) visible=@sv==0 endparam param c1 caption="Pixel Parameter 1" default=(1,0) endparam param c2 caption="Pixel Parameter 2" default=(1,0) endparam param c3 caption="Pixel Parameter 3" default=(1,0) endparam param c4 caption="Pixel Parameter 4" default=(1,0) endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } 4AltX9 { init: if @sv==0 z=@sp else z=@pf(pixel) endif c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if @av==0 if i==0 z=z^2+@c1*c/z^2 i=i+1 elseif i==1 z=z^2+@c2*c i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 else z=z^2*(z-@c4*c)/(1-@c4*c*z) i=0 endif elseif @av==1 if i==0 z=z^2+@c1*c/z^2 i=i+1 elseif i==1 z=z^2+@c2*c i=i+1 elseif i==2 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 else z=z^2*(z-1)/(z+1)+@c3*c i=0 endif elseif @av==2 if i==0 z=z^2+@c1*c/z^2 i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==2 z=z^2+@c2*c i=i+1 else z=z^2*(z-@c4*c)/(1-@c4*c*z) i=0 endif elseif @av==3 if i==0 z=z^2+@c1*c/z^2 i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==2 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 else z=z^2+@c2*c i=0 endif elseif @av==4 if i==0 z=z^2+@c1*c/z^2 i=i+1 elseif i==1 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==2 z=z^2+@c2*c i=i+1 else z=z^2*(z-1)/(z+1)+@c3*c i=0 endif elseif @av==5 if i==0 z=z^2+@c1*c/z^2 i=i+1 elseif i==1 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 else z=z^2+@c2*c i=0 endif elseif @av==6 if i==0 z=z^2+@c2*c i=i+1 elseif i==1 z=z^2+@c1*c/z^2 i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 else z=z^2*(z-@c4*c)/(1-@c4*c*z) i=0 endif elseif @av==7 if i==0 z=z^2+@c2*c i=i+1 elseif i==1 z=z^2+@c1*c/z^2 i=i+1 elseif i==2 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 else z=z^2*(z-1)/(z+1)+@c3*c i=0 endif elseif @av==8 if i==0 z=z^2+@c2*c i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==2 z=z^2+@c1*c/z^2 i=i+1 else z=z^2*(z-@c4*c)/(1-@c4*c*z) i=0 endif elseif @av==9 if i==0 z=z^2+@c2*c i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==2 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 else z=z^2+@c1*c/z^2 i=0 endif elseif @av==10 if i==0 z=z^2+@c2*c i=i+1 elseif i==1 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==2 z=z^2+@c1*c/z^2 i=i+1 else z=z^2*(z-1)/(z+1)+@c3*c i=0 endif elseif @av==11 if i==0 z=z^2+@c2*c i=i+1 elseif i==1 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 else z=z^2+@c1*c/z^2 i=0 endif elseif @av==12 if i==0 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==1 z=z^2+@c1*c/z^2 i=i+1 elseif i==2 z=z^2+@c2*c i=i+1 else z=z^2*(z-@c4*c)/(1-@c4*c*z) i=0 endif elseif @av==13 if i==0 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==1 z=z^2+@c1*c/z^2 i=i+1 elseif i==2 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 else z=z^2+@c2*c i=0 endif elseif @av==14 if i==0 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==1 z=z^2+@c2*c i=i+1 elseif i==2 z=z^2+@c1*c/z^2 i=i+1 else z=z^2*(z-@c4*c)/(1-@c4*c*z) i=0 endif elseif @av==15 if i==0 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==1 z=z^2+@c2*c i=i+1 elseif i==2 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 else z=z^2+@c1*c/z^2 i=0 endif elseif @av==16 if i==0 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==1 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==2 z=z^2+@c1*c/z^2 i=i+1 else z=z^2+@c2*c i=0 endif elseif @av==17 if i==0 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==1 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==2 z=z^2+@c2*c i=i+1 else z=z^2+@c1*c/z^2 i=0 endif elseif @av==18 if i==0 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==1 z=z^2+@c1*c/z^2 i=i+1 elseif i==2 z=z^2+@c2*c i=i+1 else z=z^2*(z-1)/(z+1)+@c3*c i=0 endif elseif @av==19 if i==0 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==1 z=z^2+@c1*c/z^2 i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 else z=z^2+@c2*c i=0 endif elseif @av==20 if i==0 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==1 z=z^2+@c2*c i=i+1 elseif i==2 z=z^2+@c1*c/z^2 i=i+1 else z=z^2*(z-1)/(z+1)+@c3*c i=0 endif elseif @av==21 if i==0 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==1 z=z^2+@c2*c i=i+1 elseif i==2 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 else z=z^2+@c1*c/z^2 i=0 endif elseif @av==22 if i==0 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==2 z=z^2+@c1*c/z^2 i=i+1 else z=z^2+@c2*c i=0 endif else if i==0 z=z^2*(z-@c4*c)/(1-@c4*c*z) i=i+1 elseif i==1 z=z^2*(z-1)/(z+1)+@c3*c i=i+1 elseif i==2 z=z^2+@c2*c i=i+1 else z=z^2+@c1*c/z^2 i=0 endif endif bailout: |z|<@bail default: title="4Alt X 9" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param av caption="Alt 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" endparam param sp caption="Start Parameter" default=(0.5,0) visible=@sv==0 endparam param c1 caption="Pixel Parameter 1" default=(-0.25,0) endparam param c2 caption="Pixel Parameter 2" default=(1.75,0) endparam param c3 caption="Pixel Parameter 3" default=(2.5,0) endparam param c4 caption="Pixel Parameter 4" default=(-2,0) endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } AltDKPT { init: z=@sf(pixel) int i=0 loop: zold=z if i==0 z=z-p5*(z^4+z^3+z^2+z-p1)/((z-p2)*(z-p3)*(z-p4)) i=i+1 else z=z+p5*(z^4+z^3+z^2+z-p1)/((z-p2)*(z-p3)*(z-p4)) i=0 endif bailout: |z-zold|>@bail default: title="Alt DKPT" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param p1 default=(1.75,0) endparam param p2 default=(1.25,0) endparam param p3 default=(-2.55,0) endparam param p4 default=(0.45,0) endparam param p5 default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } AltDKPTNewton { init: z=@sf(pixel) int i=0 loop: zold=z if @av==0 if i==0 z=z-(z^4+p1*z^3+p2*z^2+p3*z-p4)/((z-p5)*(z-p6)*(z-@p7)) i=i+1 else z=z-(z^4+p1*z^3+p2*z^2+p3*z-p4)/(4*z^3+3*p1*z^2+2*p2*z+p3) i=0 endif else if i==0 z=z-(z^4+p1*z^3+p2*z^2+p3*z-p4)/(4*z^3+3*p1*z^2+2*p2*z+p3) i=i+1 else z=z-(z^4+p1*z^3+p2*z^2+p3*z-p4)/((z-p5)*(z-p6)*(z-@p7)) i=0 endif endif bailout: |z-zold|>@bail default: title="Alt DKPT/Newton" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="1""2" endparam param p1 caption="Parameter 1" default=(4.15,0) endparam param p2 caption="Parameter 2" default=(1,0) endparam param p3 caption="Parameter 3" default=(1,0) endparam param p4 caption="Parameter 4" default=(9.5,0) endparam param p5 caption="Parameter 5" default=(-7.5,0) endparam param p6 caption="Parameter 6" default=(-2.55,0) endparam param p7 caption="Parameter 7" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } DKPT { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 z=z-(z^4+p1*z^3+p2*z^2+p3*z-p4)/((z-p5)*(z-p6)*(z-@p7)) bailout: |z-zold|>@bail default: title="DKPT" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param p1 caption="DKPT Parameter 1" default=(1,0) endparam param p2 caption="DKPT Parameter 2" default=(1,0) endparam param p3 caption="DKPT Parameter 3" default=(1,0) endparam param p4 caption="DKPT Parameter 4" default=(9.5,0) endparam param p5 caption="DKPT Parameter 5" default=(-7.5,0) endparam param p6 caption="DKPT Parameter 6" default=(-2.55,0) endparam param p7 caption="DKPT Parameter 7" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } 4AltDevaney { init: if @sv==0 z=@sp else z=@pf(pixel) endif c=@pf(pixel) int i=0 loop: z=@zp1*z+@zp2 if i==0 z=z^@pow1+@c1*c/(z^@pow2-@mp1) i=i+1 elseif i==1 z=z^@pow1+@c2*c/(z^@pow2-@mp2) i=i+1 elseif i==2 z=z^@pow1+@c3*c/(z^@pow2-@mp3) i=i+1 else z=z^@pow1+@c4*c/(z^@pow2-@mp4) i=0 endif bailout: |z|<@bail default: title="4Alt Devaney" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="Parameter""Pixel" endparam param sp caption="Start Parameter" default=(1,0) visible=@sv==0 endparam param c1 caption="Pixel Parameter 1" default=(-0.125,0) endparam param c2 caption="Pixel Parameter 2" default=(0.5,0) endparam param c3 caption="Pixel Parameter 3" default=(-0.25,0) endparam param c4 caption="Pixel Parameter 4" default=(-0.5,0) endparam param mp1 caption="Modification Parameter 1" default=(0,0) endparam param mp2 caption="Modification Parameter 2" default=(0,0) endparam param mp3 caption="Modification Parameter 3" default=(0,0) endparam param mp4 caption="Modification Parameter 4" default=(0,0) endparam param pow1 caption="Exponent 1" default=(2,0) endparam param pow2 caption="Exponent 2" default=(2,0) endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } AltGnarlathotep { init: z=@sf(pixel) int i=0 loop: z=@zp1*z+@zp2 float x=real(z) float y=imag(z) float k=x if @v==0 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==1 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==2 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+abs(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+abs(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==3 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==4 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==5 if i==0 x=x-@p3a*real(cos(y+abs(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(cos(k+abs(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==6 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==7 if i==0 x=x-@p3a*real(cos(y+abs(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(cos(k+abs(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==8 if i==0 x=x-@p3a*real(asinh(y+cos(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(asinh(k+cos(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==9 if i==0 x=x-@p3a*real(sin(y+asinh(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+asinh(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==10 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==11 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==12 if i==0 x=x-@p3a*real(sin(y+asinh(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+asinh(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+asinh(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+asinh(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==13 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==14 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==15 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==16 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==17 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+sin(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(cos(k+sin(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==18 if i==0 x=x-@p3a*real(sin(y+tanh(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+tanh(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+tanh(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+tanh(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==19 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+abs(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+abs(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==20 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==21 if i==0 x=x-@p3a*real(sin(y+asinh(@p1a*(y+sinh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+asinh(@p1a*(k+sinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+asinh(@p1b*(y+sinh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+asinh(@p1b*(k+sinh(@p2b*k)))))/10 i=0 endif elseif @v==22 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==23 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==24 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==25 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==26 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(conj(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(conj(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==27 if i==0 x=x-@p3a*real(tanh(y+asinh(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+asinh(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(asinh(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(asinh(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==28 if i==0 x=x-@p3a*real(sin(y+asinh(@p1a*(y+exp(@p2a*y)))))/10 y=y+@p3a*real(sin(k+asinh(@p1a*(k+exp(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+asinh(@p1b*(y+exp(@p2b*y)))))/10 y=y+@p3b*real(sin(k+asinh(@p1b*(k+exp(@p2b*k)))))/10 i=0 endif elseif @v==29 if i==0 x=x-@p3a*real(sin(y+asinh(@p1a*(y+flip(@p2a*y)))))/10 y=y+@p3a*real(sin(k+asinh(@p1a*(k+flip(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+asinh(@p1b*(y+flip(@p2b*y)))))/10 y=y+@p3b*real(sin(k+asinh(@p1b*(k+flip(@p2b*k)))))/10 i=0 endif elseif @v==30 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==31 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==32 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==33 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+abs(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+abs(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==34 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+abs(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+abs(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==35 if i==0 x=x-@p3a*real(cos(y+conj(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(cos(k+conj(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==36 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==37 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==38 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+sin(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+sin(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==39 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+abs(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+abs(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==40 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+cos(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(cos(k+cos(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==41 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+abs(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(sin(k+abs(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==42 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==43 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==44 if i==0 x=x-@p3a*real(tanh(y+conj(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+conj(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==45 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==46 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==47 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==48 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==49 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==50 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==51 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==52 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==53 if i==0 x=x-@p3a*real(cos(y+abs(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(cos(k+abs(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==54 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==55 if i==0 x=x-@p3a*real(sin(y+abs(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+abs(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+abs(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(sin(k+abs(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==56 if i==0 x=x-@p3a*real(cos(y+conj(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(cos(k+conj(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==57 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==58 if i==0 x=x-@p3a*real(sin(y+asinh(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+asinh(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==59 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==60 if i==0 x=x-@p3a*real(sin(y+conj(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+conj(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+conj(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+conj(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==61 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==62 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==63 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==64 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==65 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==66 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==67 if i==0 x=x-@p3a*real(cos(y+abs(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(cos(k+abs(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==68 if i==0 x=x-@p3a*real(cos(y+abs(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(cos(k+abs(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==69 if i==0 x=x-@p3a*real(cos(y+abs(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(cos(k+abs(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+abs(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(cos(k+abs(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==70 if i==0 x=x-@p3a*real(cos(y+conj(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(cos(k+conj(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==71 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==72 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==73 if i==0 x=x-@p3a*real(cos(y+conj(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(cos(k+conj(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==74 if i==0 x=x-@p3a*real(cos(y+conj(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(cos(k+conj(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==75 if i==0 x=x-@p3a*real(cos(y+conj(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(cos(k+conj(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==76 if i==0 x=x-@p3a*real(cos(y+conj(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(cos(k+conj(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+conj(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(cos(k+conj(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==77 if i==0 x=x-@p3a*real(tanh(y+sin(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+sin(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+sin(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+sin(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==78 if i==0 x=x-@p3a*real(tanh(y+sin(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+sin(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+sin(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+sin(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==79 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+sin(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(cos(k+sin(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==80 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(cos(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(cos(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==81 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==82 if i==0 x=x-@p3a*real(cos(y+cos(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(cos(k+cos(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==83 if i==0 x=x-@p3a*real(cos(y+cos(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(cos(k+cos(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==84 if i==0 x=x-@p3a*real(cos(y+sin(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(cos(k+sin(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==85 if i==0 x=x-@p3a*real(sin(y+cos(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(sin(k+cos(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==86 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==87 if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+sin(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+sin(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==88 if i==0 x=x-@p3a*real(tanh(y+cos(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+cos(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==89 if i==0 x=x-@p3a*real(tanh(y+cos(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+cos(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==90 if i==0 x=x-@p3a*real(tanh(y+cos(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+cos(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==91 if i==0 x=x-@p3a*real(tanh(y+cos(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+cos(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==92 if i==0 x=x-@p3a*real(tanh(y+cos(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(tanh(k+cos(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(tanh(y+cos(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(tanh(k+cos(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif elseif @v==93 if i==0 x=x-@p3a*real(abs(y+cos(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(abs(k+cos(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(abs(y+cos(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(abs(k+cos(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==94 if i==0 x=x-@p3a*real(conj(y+cos(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(conj(k+cos(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(conj(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(conj(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif elseif @v==95 if i==0 x=x-@p3a*real(conj(y+cos(@p1a*(y+asinh(@p2a*y)))))/10 y=y+@p3a*real(conj(k+cos(@p1a*(k+asinh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(conj(y+cos(@p1b*(y+asinh(@p2b*y)))))/10 y=y+@p3b*real(conj(k+cos(@p1b*(k+asinh(@p2b*k)))))/10 i=0 endif elseif @v==96 if i==0 x=x-@p3a*real(conj(y+cos(@p1a*(y+cos(@p2a*y)))))/10 y=y+@p3a*real(conj(k+cos(@p1a*(k+cos(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(conj(y+cos(@p1b*(y+cos(@p2b*y)))))/10 y=y+@p3b*real(conj(k+cos(@p1b*(k+cos(@p2b*k)))))/10 i=0 endif elseif @v==97 if i==0 x=x-@p3a*real(conj(y+cos(@p1a*(y+tanh(@p2a*y)))))/10 y=y+@p3a*real(conj(k+cos(@p1a*(k+tanh(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(conj(y+cos(@p1b*(y+tanh(@p2b*y)))))/10 y=y+@p3b*real(conj(k+cos(@p1b*(k+tanh(@p2b*k)))))/10 i=0 endif elseif @v==98 if i==0 x=x-@p3a*real(conj(y+cos(@p1a*(y+abs(@p2a*y)))))/10 y=y+@p3a*real(conj(k+cos(@p1a*(k+abs(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(conj(y+cos(@p1b*(y+abs(@p2b*y)))))/10 y=y+@p3b*real(conj(k+cos(@p1b*(k+abs(@p2b*k)))))/10 i=0 endif elseif @v==99 if i==0 x=x-@p3a*real(conj(y+cos(@p1a*(y+conj(@p2a*y)))))/10 y=y+@p3a*real(conj(k+cos(@p1a*(k+conj(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(conj(y+cos(@p1b*(y+conj(@p2b*y)))))/10 y=y+@p3b*real(conj(k+cos(@p1b*(k+conj(@p2b*k)))))/10 i=0 endif else if i==0 x=x-@p3a*real(sin(y+sin(@p1a*(y+sin(@p2a*y)))))/10 y=y+@p3a*real(sin(k+sin(@p1a*(k+sin(@p2a*k)))))/10 i=i+1 else x=x-@p3b*real(sin(y+cos(@p1b*(y+sin(@p2b*y)))))/10 y=y+@p3b*real(sin(k+cos(@p1b*(k+sin(@p2b*k)))))/10 i=0 endif endif z=x+flip(y) bailout: |z|<@bail default: title="Alt Gnarlathotep" center=(0.001,0.001) maxiter=10 int param version caption="Version" default=100 visible=@version<100 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""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""79""80"\ "81""82""83""84""85""86""87""88""89""90"\ "91""92""93""94""95""96""97""98""99""100"\ "101" endparam param p1a caption="Gnarlathotep Parameter 1a" default=2.9 endparam param p2a caption="Gnarlathotep Parameter 2a" default=2.7 endparam param p3a caption="Gnarlathotep Parameter 3a" default=1.0 endparam param p1b caption="Gnarlathotep Parameter 1b" default =3.7 endparam param p2b caption="Gnarlathotep Parameter 2b" default = 2.5 endparam param p3b caption="Gnarlathotep Parameter 3b" default=1.0 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=10.0 endparam } AltGnarlathotep2 { init: float x=real(fn1(pixel)) float y=imag(fn1(pixel)) float a=0 int i=0 int i2=0 loop: while i<@iter i=i+1 float b=x^2+y^2 x=x/b*p6+real(p1/10) y=y/b*p6+imag(p1/10) a=x if @v=="1" if i2==0 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 i2=i2+1 else x=x-@p9*real(tanh(y+cos(@p7*(y+sin(@p8*y)))))/10 y=y+@p9*real(tanh(a+cos(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @v=="2" if i2==0 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 i2=i2+1 else x=x-@p9*real((y+sin(@p7*(y+sin(@p8*y)))))/10 y=y+@p9*real((a+sin(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @v=="3" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+abs(@p7*(y+(@p8*y)))))/10 y=y+@p9*real(sin(a+abs(@p7*(a+(@p8*a)))))/10 i2=0 endif elseif @v=="4" if i2==0 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 i2=i2+1 else x=x-@p9*real(sqrt(y+sin(@p7*(y+sin(@p8*y)))))/10 y=y+@p9*real(sqrt(a+sin(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @v=="5" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+sin(@p7*(y+abs(@p8*y)))))/10 y=y+@p9*real(sin(a+sin(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @v=="6" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+sin(@p7*(y+exp(@p8*y)))))/10 y=y+@p9*real(sin(a+sin(@p7*(a+exp(@p8*a)))))/10 i2=0 endif elseif @v=="7" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+abs(@p7*(y+cos(@p8*y)))))/10 y=y+@p9*real(sin(a+abs(@p7*(a+cos(@p8*a)))))/10 i2=0 endif elseif @v=="8" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+sin(@p7*(y+tan(@p8*y)))))/10 y=y+@p9*real(sin(a+sin(@p7*(a+tan(@p8*a)))))/10 i2=0 endif elseif @v=="9" if i2==0 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 i2=i2+1 else x=x-@p9*real((y+cos(@p7*(y+sin(@p8*y)))))/10 y=y+@p9*real((a+cos(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @v=="10" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+cos(@p7*(y+(@p8*y)))))/10 y=y+@p9*real(sin(a+cos(@p7*(a+(@p8*a)))))/10 i2=0 endif elseif @v=="11" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+cos(@p7*(y+abs(@p8*y)))))/10 y=y+@p9*real(sin(a+cos(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @v=="12" if i2==0 x=x-p4*real(sin(y+(p2*(y+sin(p3*y)))))/10 y=y+p4*real(sin(a+(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x=x-@p9*real(sin(y+cos(@p7*(y+exp(@p8*y)))))/10 y=y+@p9*real(sin(a+cos(@p7*(a+exp(@p8*a)))))/10 i2=0 endif elseif @v=="13" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+cos(@p7*(y+tanh(@p8*y)))))/10 y=y+@p9*real(sin(a+cos(@p7*(a+tanh(@p8*a)))))/10 i2=0 endif elseif @v=="14" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+cos(@p7*(y+tan(@p8*y)))))/10 y=y+@p9*real(sin(a+cos(@p7*(a+tan(@p8*a)))))/10 i2=0 endif elseif @v=="15" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+cos(@p7*(y+asinh(@p8*y)))))/10 y=y+@p9*real(sin(a+cos(@p7*(a+asinh(@p8*a)))))/10 i2=0 endif elseif @v=="16" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+(@p7*(y+abs(@p8*y)))))/10 y=y+@p9*real(sin(a+(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @v=="17" if i2==0 x=x-p4*real(cos(y+(p2*(y+cos(p3*y)))))/10 y=y+p4*real(cos(a+(p2*(a+cos(p3*a)))))/10 i2=i2+1 else x=x-@p9*real(sin(y+abs(@p7*(y+tanh(@p8*y)))))/10 y=y+@p9*real(sin(a+abs(@p7*(a+tanh(@p8*a)))))/10 i2=0 endif elseif @v=="18" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+abs(@p7*(y+asinh(@p8*y)))))/10 y=y+@p9*real(sin(a+abs(@p7*(a+asinh(@p8*a)))))/10 i2=0 endif elseif @v=="19" if i2==0 x=x-p4*real(asinh(y+cos(p2*(y+cos(p3*y)))))/10 y=y+p4*real(asinh(a+cos(p2*(a+cos(p3*a)))))/10 i2=i2+1 else x=x-@p9*real(sin(y+abs(@p7*(y+abs(@p8*y)))))/10 y=y+@p9*real(sin(a+abs(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @v=="20" if i2==0 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 i2=i2+1 else x=x-@p9*real(round(y+sin(@p7*(y+sin(@p8*y)))))/10 y=y+@p9*real(round(a+sin(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @v=="21" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+tanh(@p7*(y+cos(@p8*y)))))/10 y=y+@p9*real(sin(a+tanh(@p7*(a+cos(@p8*a)))))/10 i2=0 endif elseif @v=="22" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+tanh(@p7*(y+sqr(@p8*y)))))/10 y=y+@p9*real(sin(a+tanh(@p7*(a+sqr(@p8*a)))))/10 i2=0 endif elseif @v=="23" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+cos(@p7*(y+sqr(@p8*y)))))/10 y=y+@p9*real(sin(a+cos(@p7*(a+sqr(@p8*a)))))/10 i2=0 endif elseif @v=="24" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+sin(@p7*(y+sqr(@p8*y)))))/10 y=y+@p9*real(sin(a+sin(@p7*(a+sqr(@p8*a)))))/10 i2=0 endif elseif @v=="25" if i2==0 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 i2=i2+1 else x=x-@p9*real(sin(y+sin(@p7*(y+exp(@p8*y)))))/10 y=y+@p9*real(sin(a+sin(@p7*(a+exp(@p8*a)))))/10 i2=0 endif elseif @v=="26" if i2==0 x=x-p4*real(sin(y+conj(p2*(y+asinh(p3*y)))))/10 y=y+p4*real(sin(a+conj(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x=x-@p9*real(sin(y+abs(@p7*(y+tanh(@p8*y)))))/10 y=y+@p9*real(sin(a+abs(@p7*(a+tanh(@p8*a)))))/10 i2=0 endif 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="Alt Gnarlathotep 2" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 int param version caption="Version" default=100 visible=@version<100 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"\ "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 caption="K Parameter 1" default=(0,0) endparam param p6 caption="K Parameter 2" default=1.0 endparam param p2 caption="Gnarlathotep Parameter 1a" default=5.0 endparam param p3 caption="Gnarlathotep Parameter 2a" default=2.0 endparam param p4 caption="Gnarlathotep Parameter 3a" default=0.3 endparam param p7 caption="Gnarlathotep Parameter 1b" default=5.0 endparam param p8 caption="Gnarlathotep Parameter 2b" default=2.0 endparam param p9 caption="Gnarlathotep Parameter 3b" default=0.3 endparam func fn1 caption="Start Function" default=ident() endfunc param V2 caption="Post Function 1" 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" endparam func fn2 caption="Post Function 2" default=ident() endfunc param p5 caption="Post Function Parameter" default=(0,0) endparam param pow caption="Post Function Exponent" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param bail caption="Bailout" default=10000000.0 endparam } AltMidpointChun { init: z=@sf(pixel) int i=0 loop: zold=z z=@p6*z+@p7 if @av==0 if i==0 z=z-@mp*(z^@pow1-@c)/((@pow1*z^(@pow1-1))*(z-((z^@pow1-@c)/(@pow1*z^(@pow1-1)))/2)) i=i+1 else z=z-@cp*(z^@pow2-@c)/((z^@pow2-@c)+(@pow2*z^(@pow2-1))) i=0 endif else if i==0 z=z-@cp*(z^@pow2-@c)/((z^@pow2-@c)+(@pow2*z^(@pow2-1))) i=i+1 else z=z-@mp*(z^@pow1-@c)/((@pow1*z^(@pow1-1))*(z-((z^@pow1-@c)/(@pow1*z^(@pow1-1)))/2)) i=0 endif endif bailout: |z-zold|>=@bail default: title="Alt Midpoint/Chun" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="Midpoint First""Chun First" endparam param mp caption="Midpoint Parameter" default=(1,0) endparam param cp caption="Chun Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow1 caption="Midpoint Exponent" default=(3,0) endparam param pow2 caption="Chun Exponent" default=(3,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } AltNewtonChun { init: z=@sf(pixel) int i=0 loop: zold=z z=@p6*z+@p7 if @av==0 if i==0 z=z-@np*(z^@pow-@c)/(@pow*z^(@pow-1)) i=i+1 else z=z-@cp*(z^@pow-@c)/((z^@pow-@c)+(@pow*z^(@pow-1))) i=0 endif else if i==0 z=z-@cp*(z^@pow-@c)/((z^@pow-@c)+(@pow*z^(@pow-1))) i=i+1 else z=z-@np*(z^@pow-@c)/(@pow*z^(@pow-1)) i=0 endif endif bailout: |z-zold|>=@bail default: title="Alt Newton/Chun" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param av caption="Alt Variant" enum="Newton First""Midpoint First" endparam param np caption="Newton Parameter" default=(1,0) endparam param cp caption="Chun Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param p6 caption="Z Parameter 1" default=(1,0) endparam param p7 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000001 endparam } Jarratt { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 f=z^@pow-@c f1=@pow*z^(@pow-1) a=f/f1 b=@pow*(z-(2*z^(1-@pow)*(z^@pow-@c))/(3*@pow))^(@pow-1)*(1/3-(2*(1-@pow)*(z^@pow-@c))/(3*@pow*z^@pow)) z=z-@jp*(a/2-f/(f1-3*b)) bailout: |z-zold|>=@bail default: title="Jarratt Erratum" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jp caption="Jarratt Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } JarrattNova { init: if @st==0 z=@pf(pixel) else z=@sp endif loop: zold=z z=@zp1*z+@zp2 f=z^@pow-@c f1=@pow*z^(@pow-1) a=f/f1 b=@pow*(z-(2*z^(1-@pow)*(z^@pow-@c))/(3*@pow))^(@pow-1)*(1/3-(2*(1-@pow)*(z^@pow-@c))/(3*@pow*z^@pow)) z=z-@jp*(a/2-f/(f1-3*b))+@pf(pixel) bailout: |z-zold|>=@bail default: title="Jarratt Nova Erratum" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param sp caption="Start Parameter" default=(-1,0) visible=@st==1 endparam param jp caption="Jarratt Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func pf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } InversefreeJarratt { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 f=z^@pow-@c f1=@pow*z^(@pow-1) u=f/f1 h=(1/3-2*(1-@pow)*z^(-@pow)*(z^@pow-@c)/(3*@pow)-f1)/f1 z=z-@jp*(u-3*u*h*(1-3*h/2)/4) bailout: |z-zold|>=@bail default: title="Inverse-free Jarratt Erratum" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jp caption="Jarratt Parameter" default=(0.5,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } InversefreeJarratt2 { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 f=z^@pow-@c f1=@pow*z^(@pow-1) u=f/f1 h=(@pow*(z-2*u/3)^(@pow-1)-f1)/f1 z=z-@jp*(u-3*u*h*(1-3*h/2)/4) bailout: |z-zold|>=@bail default: title="Inverse-free Jarratt" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jp caption="Jarratt Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } Jarratt2 { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) endif a=f/f1 if @v==0 b=@pow*(z-2*a/3)^(@pow-1) elseif @v==1 b=@pow*(z-2*a/3)^(@pow-1)-(@pow-1)*(z-2*a/3)^(@pow-2)-(@pow-2)*(z-2*a/3)^(@pow-3) else b=@pow*(z-2*a/3)^(@pow-1)+(@pow-1)*(z-2*a/3)^(@pow-2)+(@pow-2)*(z-2*a/3)^(@pow-3) endif z=z-@jp*(a/2-f/(f1-3*b)) bailout: |z-zold|>=@bail default: title="Jarratt" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^a-c""z^a-z^(a-1)-z^(a-2)-c""z^a+z^(a-1)+z^(a-2)-c" endparam param jp caption="Jarratt Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } JarrattNova2 { init: if @st==0 z=@pf(pixel) else z=@sp endif loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) endif a=f/f1 if @v==0 b=@pow*(z-2*a/3)^(@pow-1) elseif @v==1 b=@pow*(z-2*a/3)^(@pow-1)-(@pow-1)*(z-2*a/3)^(@pow-2)-(@pow-2)*(z-2*a/3)^(@pow-3) else b=@pow*(z-2*a/3)^(@pow-1)+(@pow-1)*(z-2*a/3)^(@pow-2)+(@pow-2)*(z-2*a/3)^(@pow-3) endif z=z-@jp*(a/2-f/(f1-3*b))+@pf(pixel) bailout: |z-zold|>=@bail default: title="Jarratt Nova" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^a-c""z^a-z^(a-1)-z^(a-2)-c""z^a+z^(a-1)+z^(a-2)-c" endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param sp caption="Start Parameter" default=(-1.0001,0) visible=@st==1 endparam param jp caption="Jarratt Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func pf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } ShiftedStirling { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c a=@pow*(z-f)^(@pow-1) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c a=@pow*(z-f)^(@pow-1)-(@pow-1)*(z-f)^(@pow-2)-(@pow-2)*(z-f)^(@pow-3) else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c a=@pow*(z-f)^(@pow-1)+(@pow-1)*(z-f)^(@pow-2)+(@pow-2)*(z-f)^(@pow-3) endif z=z-@sp*f/a bailout: |z-zold|>=@bail default: title="Shifted Stirling" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^a-c""z^a-z^(a-1)-z^(a-2)-c""z^a+z^(a-1)+z^(a-2)-c" endparam param sp caption="Stirling Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } Stirling2 { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c a=@pow*f^(@pow-1) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c a=@pow*f^(@pow-1)-(@pow-1)*f^(@pow-2)-(@pow-2)*f^(@pow-3) else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c a=@pow*f^(@pow-1)+(@pow-1)*f^(@pow-2)+(@pow-2)*f^(@pow-3) endif z=z-@sp*(z-f)/(1-a) bailout: |z-zold|>=@bail default: title="Stirling" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^a-c""z^a-z^(a-1)-z^(a-2)-c""z^a+z^(a-1)+z^(a-2)-c" endparam param sp caption="Stirling Parameter" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000000000001 endparam } Nedzhibov { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-@np3*f/f1 fa=a^@pow-@c z=a-@np2*f*fa/(f1*(f-@np1*fa)) bailout: |z-zold|>@bail default: title="Nedzhibov" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param @np1 caption="Nedzhibov Parameter 1" default=(0.5,0) endparam param @np2 caption="Nedzhibov Parameter 2" default=(1,0) endparam param @np3 caption="Nedzhibov Parameter 3" default=(1,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param pow caption="Exponent" default=(3,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } HamChunLee { ;https://core.ac.uk/download/pdf/82505151.pdf ;(45) init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/f1 f1a=@pow*a^(@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 f1a=@pow*a^(@pow-1)-(@pow-1)*a^(@pow-2)-(@pow-2)*a^(@pow-3) b=z-2*f/(f1+f1a) fb=b^@pow-b^(@pow-1)-b^(@pow-2)-@c else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 f1a=@pow*a^(@pow-1)+(@pow-1)*a^(@pow-2)+(@pow-2)*a^(@pow-3) b=z-2*f/(f1+f1a) fb=b^@pow+b^(@pow-1)+b^(@pow-2)-@c endif z=b-@hclp*(f1a/(2*f1a-f1))*(fb/f1) bailout: |z-zold|>@bail default: title="Ham-Chun-Lee" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c" endparam param hclp caption="HCL Parameter 1" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } HamChunLee2 { ;https://core.ac.uk/download/pdf/82505151.pdf ;30 init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/f1 fa=a^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c endif z=a-@hclp4*(((@hclp1*f+@hclp2*f1)/(@hclp3*f+@hclp2*f1))*(fa/f1)) bailout: |z-zold|>@bail default: title="Ham-Chun-Lee 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c" endparam param hclp1 caption="HCL Parameter 1" default=(3,0) endparam param hclp2 caption="HCL Parameter 2" default=(-0.5,0) endparam param hclp3 caption="HCL Parameter 3" default=(1,0) endparam param hclp4 caption="HCL Parameter 4" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } HamChunLee3 { ;https://core.ac.uk/download/pdf/82505151.pdf ;(57) init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/f1 f1a=@pow*a^(@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 f1a=@pow*a^(@pow-1)-(@pow-1)*a^(@pow-2)-(@pow-2)*a^(@pow-3) b=z-2*f/(f1+f1a) fb=b^@pow-b^(@pow-1)-b^(@pow-2)-@c elseif @v==2 f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 f1a=@pow*a^(@pow-1)+(@pow-1)*a^(@pow-2)+(@pow-2)*a^(@pow-3) b=z-2*f/(f1+f1a) fb=b^@pow+b^(@pow-1)+b^(@pow-2)-@c elseif @v==3 f=z^@pow+1/z^@pow-@c f1=@pow*z^(@pow-1)-@pow*z^(-@pow-1) a=z-f/f1 f1a=@pow*a^(@pow-1)-@pow*a^(-@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow+1/b^@pow-@c else f=z^@pow-1/z^@pow-@c f1=@pow*z^(@pow-1)+@pow*z^(-@pow-1) a=z-f/f1 f1a=@pow*a^(@pow-1)+@pow*a^(-@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow-1/b^@pow-@c endif z=b-@hclp*(2*f1a^2/(f1^2-4*f1*f1a+5*f1a^2))*(fb/f1) bailout: |z-zold|>@bail default: title="Ham-Chun-Lee 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c""z^p+1/z^p-c""z^p-1/z^p-c" endparam param hclp caption="HCL Parameter" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } HamChunLeeNova { ;https://core.ac.uk/download/pdf/82505151.pdf init: if @st==0 z=@sp else z=@nf(pixel) endif loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) elseif @v==2 f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) elseif @v==3 f=z^@pow+1/z^@pow-@c f1=@pow*z^(@pow-1)-@pow*z^(-@pow-1) else f=z^@pow-1/z^@pow-@c f1=@pow*z^(@pow-1)+@pow*z^(-@pow-1) endif a=z-f/f1 f1a=@pow*a^(@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow-@c if @st==0 z=b-@hclp*(f1a/(2*f1a-f1))*(fb/f1)+@nf(pixel) else z=b-@hclp*(f1a/(2*f1a-f1))*(fb/f1)+@np*@nf(pixel) endif bailout: |z-zold|>@bail default: title="Ham-Chun-Lee Nova" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Parameter""Pixel" endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c""z^p+1/z^p-c""z^p-1/z^p-c" endparam param hclp caption="HCL Parameter 1" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param sp caption="Start Parameter" default=(-0.999,0) visible=@st==0 endparam param np caption="Nova Parameter" default=(1,0) visible=@st==1 endparam func nf caption="Nova Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } HamChunLeeNova2 { ;https://core.ac.uk/download/pdf/82505151.pdf ;30 init: if @st==0 z=@sp else z=@nf(pixel) endif loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/f1 fa=a^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c endif if @st==0 z=a-@hclp4*(((@hclp1*f+@hclp2*f1)/(@hclp3*f+@hclp2*f1))*(fa/f1))+@nf(pixel) else z=a-@hclp4*(((@hclp1*f+@hclp2*f1)/(@hclp3*f+@hclp2*f1))*(fa/f1))+@np*@nf(pixel) endif bailout: |z-zold|>@bail default: title="Ham-Chun-Lee Nova 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Parameter""Pixel" endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c" endparam param hclp1 caption="HCL Parameter 1" default=(3,0) endparam param hclp2 caption="HCL Parameter 2" default=(-0.5,0) endparam param hclp3 caption="HCL Parameter 3" default=(1,0) endparam param hclp4 caption="HCL Parameter 4" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param sp caption="Start Parameter" default=(-0.5,0) visible= @st==0 endparam param np caption="Nova Parameter" default=(1,0) visible= @st==1 endparam func nf caption="Nova Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } HamChunLeeNova3 { ;https://core.ac.uk/download/pdf/82505151.pdf ;(57) init: if @st==0 z=@sp else z=@nf(pixel) endif loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/f1 f1a=@pow*a^(@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 f1a=@pow*a^(@pow-1)-(@pow-1)*a^(@pow-2)-(@pow-2)*a^(@pow-3) b=z-2*f/(f1+f1a) fb=b^@pow-b^(@pow-1)-b^(@pow-2)-@c elseif @v==2 f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 f1a=@pow*a^(@pow-1)+(@pow-1)*a^(@pow-2)+(@pow-2)*a^(@pow-3) b=z-2*f/(f1+f1a) fb=b^@pow+b^(@pow-1)+b^(@pow-2)-@c elseif @v==3 f=z^@pow+1/z^@pow-@c f1=@pow*z^(@pow-1)-@pow*z^(-@pow-1) a=z-f/f1 f1a=@pow*a^(@pow-1)-@pow*a^(-@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow+1/b^@pow-@c else f=z^@pow-1/z^@pow-@c f1=@pow*z^(@pow-1)+@pow*z^(-@pow-1) a=z-f/f1 f1a=@pow*a^(@pow-1)+@pow*a^(-@pow-1) b=z-2*f/(f1+f1a) fb=b^@pow-1/b^@pow-@c endif if @st==0 z=b-@hclp*(2*f1a^2/(f1^2-4*f1*f1a+5*f1a^2))*(fb/f1)+@nf(pixel) else z=b-@hclp*(2*f1a^2/(f1^2-4*f1*f1a+5*f1a^2))*(fb/f1)+@np*@nf(pixel) endif bailout: |z-zold|>@bail default: title="Ham-Chun-Lee Nova 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Parameter""Pixel" endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c""z^p+1/z^p-c""z^p-1/z^p-c" endparam param hclp caption="HCL Parameter" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param sp caption="Start Parameter" default=(-0.5,0) visible= @st==0 endparam param np caption="Nova Parameter" default=(1,0) visible=@st==1 endparam func nf caption="Nova Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } King { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/f1 fa=a^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c elseif @v==2 f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c elseif @v==3 f=(z^(@pow+1)-@c)/z f1=(@pow*z^(@pow+1)+@c)/z^2 a=z-f/f1 fa=(a^(@pow+1)-@c)/a elseif @v==4 f=z^@pow+1/z^@pow-@c f1=@pow*z^(-@pow-1)*(z^(2*@pow)-1) a=z-f/f1 fa=a^@pow+1/a^@pow-@c elseif @v==5 f=z^@pow*(z-0.5)/(1-0.5*z)-@c f1=(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2 a=z-f/f1 fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==6 f=z^@pow-z^@pow*(z-0.5)/(1-0.5*z)-@c f1=@pow*z^(@pow-1)-(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2 a=z-f/f1 fa=a^@pow-a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==7 f=z^@pow-z^@pow*(z-0.5)/(1-0.5*z)-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow-a^@pow*(a-0.5)/(1-0.5*a)-a^(@pow-1)-a^(@pow-2)-@c elseif @v==8 f=z^@pow+z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow+a^@pow*(a-0.5)/(1-0.5*a)+a^(@pow-1)+a^(@pow-2)-@c elseif @v==9 f=z^@pow*(z-1.5)/(1-1.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-f/f1 fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==10 f=z^@pow+z^@pow*(z-1.5)/(1-1.5*z)-@c f1=@pow*z^(@pow-1)+z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-f/f1 fa=a^@pow+a^@pow*(a-1.5)/(1-1.5*a)-@c else f=z^@pow-z^@pow*(z-1.5)/(1-1.5*z)-@c f1=@pow*z^(@pow-1)-z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-f/f1 fa=a^@pow-a^@pow*(a-1.5)/(1-1.5*a)-@c endif z=a-@kp2*(fa/f1)*(f+@kp1*fa)/(f+(@kp1-2)*fa) bailout: |zold-z|>@bail default: title="King" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c""(z^(p+1)-c)/z"\ "z^p+1/z^p-c""z^p*(z-0.5)/(1-0.5*z)-c""z^p-z^p*(z-0.5)/(1-0.5*z)-c"\ "z^p-z^p*(z-0.5)/(1-0.5*z)-z^(p-1)-z^(p-2)-c""z^p+z^p*(z-0.5)/(1-0.5*z)+z^(p-1)+z^(p-2)-c"\ "z^p*(z-1.5)/(1-1.5*z)-c""z^p+z^p*(z-1.5)/(1-1.5*z)-c""z^p-z^p*(z-1.5)/(1-1.5*z)-c" endparam param kp1 caption="King Parameter 1" default=(1,0) endparam param kp2 caption="King Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } KingNova { init: if @st==0 z=@pf(pixel) else z=@sp endif loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/f1 fa=a^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c elseif @v==2 f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c elseif @v==3 f=(z^(@pow+1)-@c)/z f1=(@pow*z^(@pow+1)+@c)/z^2 a=z-f/f1 fa=(a^(@pow+1)-@c)/a elseif @v==4 f=z^@pow+1/z^@pow-@c f1=@pow*z^(-@pow-1)*(z^(2*@pow)-1) a=z-f/f1 fa=a^@pow+1/a^@pow-@c elseif @v==5 f=z^@pow*(z-0.5)/(1-0.5*z)-@c f1=(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2 a=z-f/f1 fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==6 f=z^@pow-z^@pow*(z-0.5)/(1-0.5*z)-@c f1=@pow*z^(@pow-1)-(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2 a=z-f/f1 fa=a^@pow-a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==7 f=z^@pow-z^@pow*(z-0.5)/(1-0.5*z)-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow-a^@pow*(a-0.5)/(1-0.5*a)-a^(@pow-1)-a^(@pow-2)-@c elseif @v==8 f=z^@pow+z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-f/f1 fa=a^@pow+a^@pow*(a-0.5)/(1-0.5*a)+a^(@pow-1)+a^(@pow-2)-@c elseif @v==9 f=z^@pow*(z-1.5)/(1-1.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-f/f1 fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==10 f=z^@pow+z^@pow*(z-1.5)/(1-1.5*z)-@c f1=@pow*z^(@pow-1)+z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-f/f1 fa=a^@pow+a^@pow*(a-1.5)/(1-1.5*a)-@c else f=z^@pow-z^@pow*(z-1.5)/(1-1.5*z)-@c f1=@pow*z^(@pow-1)-z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-f/f1 fa=a^@pow-a^@pow*(a-1.5)/(1-1.5*a)-@c endif z=a-@kp2*(fa/f1)*(f+@kp1*fa)/(f+(@kp1-2)*fa)+@pf(pixel) bailout: |zold-z|>@bail default: title="King Nova" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Variant" enum="Pixel""Parameter" endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c""(z^(p+1)-c)/z"\ "z^p+1/z^p-c""z^p*(z-0.5)/(1-0.5*z)-c""z^p-z^p*(z-0.5)/(1-0.5*z)-c"\ "z^p-z^p*(z-0.5)/(1-0.5*z)-z^(p-1)-z^(p-2)-c""z^p+z^p*(z-0.5)/(1-0.5*z)+z^(p-1)+z^(p-2)-c"\ "z^p*(z-1.5)/(1-1.5*z)-c""z^p+z^p*(z-1.5)/(1-1.5*z)-c""z^p-z^p*(z-1.5)/(1-1.5*z)-c" endparam param kp1 caption="King Parameter 1" default=(1,0) endparam param kp2 caption="King Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param sp caption="Start Parameter" default=(0.75,0) visible=@st==1 endparam func pf caption="Pixel Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } ModifiedSecant { init: z=@sf(pixel) z0=@sp1 z1=@sp2 loop: zold=z fz=z^@pow-@c fz0=z0^@pow-@c fz1=z1^@pow-@c a=z1-@sp3*fz1*(z-z0)/(fz-fz0) fa=a^@pow-@c z=z-@sp4*fz*(z-a)/(fz-fa) if @v==0 z0=z1=zold elseif @v==1 z0=z1 elseif @v==2 z0=z1 z1=zold elseif @v==3 z1=z0 else z1=z0 z0=zold endif bailout: |fz|>@bail default: title="Modified Secant" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func zf caption="z Function" default=ident() endfunc param v caption="Variant" enum="1""2""3""4""5" endparam param sp1 caption="Secant Parameter 1" default=(0,0) endparam param sp2 caption="Secant Parameter 2" default=(0.5,0) endparam param sp3 caption="Secant Parameter 3" default=(1,0) endparam param sp4 caption="Secant Parameter 4" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.001 endparam } ModifiedSecant2 { ;https://shodhganga.inflibnet.ac.in/bitstream/10603/127647/9/09_chapter_03.pdf init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-f/(f1-@msp1*f) fa=a^@pow-@c elseif @v==1 f=z^@pow*(z-1.5)/(1-1.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-f/(f1-@msp1*f) fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==2 f=z^@pow*(z-0.5)/(1-0.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 a=z-f/(f1-@msp1*f) fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==3 f=(z+1/z)^@pow-@c f1=@pow*(1-1/z^2)*(z+1/z)^(@pow-1) a=z-f/(f1-@msp1*f) fa=(a+1/a)^@pow-@c else f=(z-1/z)^@pow-@c f1=@pow*(1+1/z^2)*(z-1/z)^(@pow-1) a=z-f/(f1-@msp1*f) fa=(a-1/a)^@pow-@c endif z=z-@msp2*f*(a-z)/(fa-f) bailout: |z-zold|>@bail default: title="Modified Secant 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p*(z-1.5)/(1-1.5*z)-c""z^p*(z-0.5)/(1-0.5*z)-c""(z+1/z)^p-c""(z-1/z)^p-c" endparam param msp1 caption="Modsec Parameter 1" default=(1,0) endparam param msp2 caption="Modsec Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000000000000000001 endparam } ModifiedSecant3 { init: z=@sf(pixel) z0=p1 loop: zold=z a=(z+z0)/2 if @v==0 fz=z^@pow-@c fz0=z0^@pow-@c fa=a^@pow-@c elseif @v==1 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c fz0=z0^@pow-z0^(@pow-1)-z0^(@pow-2)-@c fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c elseif @v==2 fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c fz0=z0^@pow+z0^(@pow-1)+z0^(@pow-2)-@c fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c elseif @v==3 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-@c fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==4 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c fz0=z0^@pow*(z0-1.5)/(1-1.5*z0)-@c fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==5 fz=((z^2-1)/(z+1))^@pow-@c fz0=((z0^2-1)/(z0+1))^@pow-@c fa=((a^2-1)/(a+1))^@pow-@c elseif @v==6 fz=((z^2-1i)/(z+1i))^@pow-@c fz0=((z0^2-1i)/(z0+1i))^@pow-@c fa=((a^2-1i)/(a+1i))^@pow-@c elseif @v==7 fz=z^@pow-z-@c fz0=z0^@pow-z0-@c fa=a^@pow-a-@c elseif @v==8 fz=z^@pow-z^@pow*(z+0.75)/(1+0.75*z)-@c fz0=z0^@pow-z0^@pow*(z0+0.75)/(1+0.75*z0)-@c fa=a^@pow-a^@pow*(a+0.75)/(1+0.75*a)-@c elseif @v==9 fz=z^@pow-z^(@pow-1)-@c fz0=z0^@pow-z0^(@pow-1)-@c fa=a^@pow-a^(@pow-1)-@c elseif @v==10 fz=z^@pow-tanh(z)^(@pow-1)-@c fz0=z0^@pow-tanh(z0)^(@pow-1)-@c fa=a^@pow-tanh(a)^(@pow-1)-@c elseif @v==11 fz=z^@pow-exp(z)-@c fz0=z0^@pow-exp(z0)-@c fa=a^@pow-exp(a)-@c elseif @v==12 fz=z^@pow*(z-0.5)/(1-0.5*z)-z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c fa=a^@pow*(a-0.5)/(1-0.5*a)-a^(@pow-1)*(a-0.5)/(1-0.5*a)-@c elseif @v==13 fz=z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)+z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c fa=a^@pow*(a-0.5)/(1-0.5*a)+a^(@pow-1)*(a-0.5)/(1-0.5*a)-@c elseif @v==14 fz=z^@pow*(z-2)/(1-2*z)-z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)-z0^(@pow-1)*(z0-2)/(1-2*z0)-@c fa=a^@pow*(a-2)/(1-2*a)-a^(@pow-1)*(a-2)/(1-2*a)-@c elseif @v==15 fz=z^@pow*(z-2)/(1-2*z)+z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)+z0^(@pow-1)*(z0-2)/(1-2*z0)-@c fa=a^@pow*(a-2)/(1-2*a)+a^(@pow-1)*(a-2)/(1-2*a)-@c elseif @v==16 fz=((z^3-1)/(z^2+1))^@pow-@c fz0=((z0^3-1)/(z0^2+1))^@pow-@c fa=((a^3-1)/(a^2+1))^@pow-@c elseif @v==17 fz=((z^3+1)/(z^2-1))^@pow-@c fz0=((z0^3+1)/(z0^2-1))^@pow-@c fa=((a^3+1)/(a^2-1))^@pow-@c elseif @v==18 fz=((z^2+1)/(z-1))^@pow-@c fz0=((z0^2+1)/(z0-1))^@pow-@c fa=((a^2+1)/(a-1))^@pow-@c elseif @v==19 fz=((z^3+1i)/(z^2-1i))^@pow-@c fz0=((z0^3+1i)/(z0^2-1i))^@pow-@c fa=((a^3+1i)/(a^2-1i))^@pow-@c elseif @v==20 fz=((z^3+1i)/(z^2-1i))^@pow+((z^3-1i)/(z^2+1i))^(@pow-1)-@c fz0=((z0^3+1i)/(z0^2-1i))^@pow+((z0^3-1i)/(z0^2+1i))^(@pow-1)-@c fa=((a^3+1i)/(a^2-1i))^@pow+((a^3-1i)/(a^2+1i))^(@pow-1)-@c else fz=((z^3+1)/(z^2-1))^@pow+((z^3-1)/(z^2+1))^(@pow-1)-@c fz0=((z0^3+1)/(z0^2-1))^@pow+((z0^3-1)/(z0^2+1))^(@pow-1)-@c fa=((a^3+1)/(a^2-1))^@pow+((a^3-1)/(a^2+1))^(@pow-1)-@c endif z=z-p2*fz*(z-z0)/(3*fz+fz0-4*fa) z0=zold bailout: |fz|>@bail default: title="Modified Secant 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 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""20"\ "21""22" endparam param p1 caption="Secant Parameter 1" default=(0,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } ModifiedSecant4 { init: z1=@sec1*@sf(pixel) z2=@sec2*@sf(pixel) loop: a=(z2+z1)/2 if @v==0 fz1=z1^@pow-@c fz2=z2^@pow-@c fa=a^@pow-@c elseif @v==1 fz1=z1^@pow+z1^(@pow-1)+z1^(@pow-2)-@c fz2=z2^@pow+z2^(@pow-1)+z2^(@pow-2)-@c fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c elseif @v==2 fz1=z1^@pow-z1^(@pow-1)-z1^(@pow-2)-@c fz2=z2^@pow-z2^(@pow-1)-z2^(@pow-2)-@c fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c elseif @v==3 fz1=(z1+1/z1)^@pow-@c fz2=(z2+1/z2)^@pow-@c fa=(a+1/a)^@pow-@c elseif @v==4 fz1=(z1-1/z1)^@pow-@c fz2=(z2-1/z2)^@pow-@c fa=(a-1/a)^@pow-@c elseif @v==5 fz1=z1^@pow+1/z1^@pow-@c fz2=z2^@pow+1/z2^@pow-@c fa=a^@pow+1/a^@pow-@c elseif @v==6 fz1=z1^@pow-1/z1^@pow-@c fz2=z2^@pow-1/z2^@pow-@c fa=a^@pow-1/a^@pow-@c elseif @v==7 fz1=recip(z1)^@pow-@c fz2=recip(z2)^@pow-@c fa=recip(a)^@pow-@c elseif @v==8 fz1=z1^@pow+sqr(z1)^@pow-@c fz2=z2^@pow+sqr(z2)^@pow-@c fa=a^@pow+sqr(a)^@pow-@c elseif @v==9 fz1=((z1^2-1.5)/(1-1.5*z1))^@pow-@c fz2=((z2^2-1.5)/(1-1.5*z2))^@pow-@c fa=((a^2-1.5)/(1-1.5*a))^@pow-@c elseif @v==10 fz1=z1^@pow*(z1-1.5)/(1-1.5*z1)-@c fz2=z2^@pow*(z2-1.5)/(1-1.5*z2)-@c fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==11 fz1=z1^@pow*(z1-0.5)/(1-0.5*z1)-@c fz2=z2^@pow*(z2-0.5)/(1-0.5*z2)-@c fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==12 fz1=((z1^2-0.5)/(1-0.5*z1))^@pow-@c fz2=((z2^2-0.5)/(1-0.5*z2))^@pow-@c fa=((a^2-0.5)/(1-0.5*a))^@pow-@c elseif @v==13 fz1=((z1^2-1)/(z1+1))^@pow-@c fz2=((z2^2-1)/(z2+1))^@pow-@c fa=((a^2-1)/(a+1))^@pow-@c elseif @v==14 fz1=((z1^@pow-1)/(@pow*z1^(@pow-1)))^@pow-@c fz2=((z2^@pow-1)/(@pow*z2^(@pow-1)))^@pow-@c fa=((a^@pow-1)/(@pow*a^(@pow-1)))^@pow-@c elseif @v==15 fz1=(z1-(z1^@pow-1)/(@pow*z1^(@pow-1)))^@pow-@c fz2=(z2-(z2^@pow-1)/(@pow*z2^(@pow-1)))^@pow-@c fa=(a-(a^@pow-1)/(@pow*a^(@pow-1)))^@pow-@c elseif @v==16 fz1=((z1^2-1i)/(z1+1i))^@pow-@c fz2=((z2^2-1i)/(z2+1i))^@pow-@c fa=((a^2-1i)/(a+1i))^@pow-@c elseif @v==17 fz1=((z1^2-1)/(2*z1-2))^@pow-@c fz2=((z2^2-1)/(2*z2-2))^@pow-@c fa=((a^2-1)/(2*a-2))^@pow-@c elseif @v==18 fz1=z1^@pow+sqr(z1)-@c fz2=z2^@pow+sqr(z2)-@c fa=a^@pow+sqr(a)-@c elseif @v==19 fz1=(z1^(2*@pow)-1/z1-1)/z1^@pow-@c fz2=(z2^(2*@pow)-1/z2-1)/z2^@pow-@c fa=(a^(2*@pow)-1/a-1)/a^@pow-@c elseif @v==20 fz1=((z1-1)^2/(z1+1))^@pow-@c fz2=((z2-1)^2/(z2+1))^@pow-@c fa=((a-1)^2/(a+1))^@pow-@c elseif @v==21 fz1=((z1+1)^2/(z1-1))^@pow-@c fz2=((z2+1)^2/(z2-1))^@pow-@c fa=((a+1)^2/(a-1))^@pow-@c elseif @v==22 fz1=((z1-1)^3/(z1+1)^2)^@pow-@c fz2=((z2-1)^3/(z2+1)^2)^@pow-@c fa=((a-1)^3/(a+1)^2)^@pow-@c elseif @v==23 fz1=((z1+1)^3/(z1-1)^2)^@pow-@c fz2=((z2+1)^3/(z2-1)^2)^@pow-@c fa=((a+1)^3/(a-1)^2)^@pow-@c elseif @v==24 fz1=((z1^2-2)/(z1+2))^@pow-@c fz2=((z2^2-2)/(z2+2))^@pow-@c fa=((a^2-2)/(a+2))^@pow-@c else fz1=((z1^2+2)/(z1-2))^@pow-@c fz2=((z2^2+2)/(z2-2))^@pow-@c fa=((a^2+2)/(a-2))^@pow-@c endif z=z2-fz2*(z2-z1)/(3*fz2+fz1-4*fa) a=z1 z1=z2 z2=z fa=fz1 fz1=fz2 if @v==0 fz2=z^@pow-@c elseif @v==1 fz2=z^@pow+z^(@pow-1)+z^(@pow-2)-@c elseif @v==2 fz2=z^@pow-z^(@pow-1)-z^(@pow-2)-@c elseif @v==3 fz2=(z+1/z)^@pow-@c elseif @v==4 fz2=(z-1/z)^@pow-@c elseif @v==5 fz2=z^@pow+1/z^@pow-@c elseif @v==6 fz2=z^@pow-1/z^@pow-@c elseif @v==7 fz2=recip(z)^@pow-@c elseif @v==8 fz2=z^@pow+sqr(z)^@pow-@c elseif @v==9 fz2=((z^2-1.5)/(1-1.5*z))^@pow-@c elseif @v==10 fz2=z^@pow*(z-1.5)/(1-1.5*z)-@c elseif @v==11 fz2=z^@pow*(z-0.5)/(1-0.5*z)-@c elseif @v==12 fz2=((z^2-0.5)/(1-0.5*z))^@pow-@c elseif @v==13 fz2=((z^2-1)/(z+1))^@pow-@c elseif @v==14 fz2=((z^@pow-1)/(@pow*z^(@pow-1)))^@pow-@c elseif @v==15 fz2=(z-(z^@pow-1)/(@pow*z^(@pow-1)))^@pow-@c elseif @v==16 fz2=((z^2-1i)/(z+1i))^@pow-@c elseif @v==17 fz2=((z^2-1)/(2*z-2))^@pow-@c elseif @v==18 fz2=z^@pow+sqr(z)-@c elseif @v==19 fz2=(z^(2*@pow)-1/z-1)/z^@pow-@c elseif @v==20 fz2=((z-1)^2/(z+1))^@pow-@c elseif @v==21 fz2=((z+1)^2/(z-1))^@pow-@c elseif @v==22 fz2=((z-1)^3/(z+1)^2)^@pow-@c elseif @v==23 fz2=((z+1)^3/(z-1)^2)^@pow-@c elseif @v==24 fz2=((z^2-2)/(z+2))^@pow-@c else fz2=((z^2+2)/(z-2))^@pow-@c endif bailout: |fz2|>@bail default: title="Modified Secant 4" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 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""20"\ "21""22""23""24""25""26" endparam param sec1 caption="Secant Parameter 1" default=(-0.7,0) endparam param sec2 caption="Secant Parameter 2" default=(0.8,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } ModifiedSecant5 { ;https://tinyurl.com/y2wo5tc8 init: z=@sf(pixel) z0=@ms1 loop: zold=z if @v==0 fz=z^@pow-@c fz0=z0^@pow-@c elseif @v==1 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c fz0=z0^@pow-z0^(@pow-1)-z0^(@pow-2)-@c elseif @v==2 fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c fz0=z0^@pow+z0^(@pow-1)+z0^(@pow-2)-@c elseif @v==3 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-@c elseif @v==4 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c fz0=z0^@pow*(z0-1.5)/(1-1.5*z0)-@c elseif @v==5 fz=((z^2-1)/(z+1))^@pow-@c fz0=((z0^2-1)/(z0+1))^@pow-@c elseif @v==6 fz=((z^3-1)/(z^2+1))^@pow-@c fz0=((z0^3-1)/(z0^2+1))^@pow-@c elseif @v==7 fz=z^@pow*(z-2)/(1-2*z)+z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)+z0^(@pow-1)*(z0-2)/(1-2*z0)-@c elseif @v==8 fz=z^@pow-z^@pow*(z+0.75)/(1+0.75*z)-@c fz0=z0^@pow-z0^@pow*(z0+0.75)/(1+0.75*z0)-@c elseif @v==9 fz=z^@pow*(z-2)/(1-2*z)-z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)-z0^(@pow-1)*(z0-2)/(1-2*z0)-@c elseif @v==10 fz=z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)+z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c elseif @v==11 fz=z^@pow+tan(z)^@pow-@c fz0=z0^@pow+tan(z0)^@pow-@c elseif @v==12 fz=z^@pow+tanh(z)^@pow-@c fz0=z0^@pow+tanh(z0)^@pow-@c elseif @v==13 fz=z^@pow+z^@pow*(z-2.5)/(1-2.5*z)-@c fz0=z0^@pow+z0^@pow*(z0-2.5)/(1-2.5*z0)-@c elseif @v==14 fz=z^@pow+z^@pow*(z+4)/(1+4*z)-@c fz0=z0^@pow+z0^@pow*(z0+4)/(1+4*z0)-@c elseif @v==15 fz=z^@pow+z^@pow*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow+z0^@pow*(z0-0.5)/(1-0.5*z0)-@c elseif @v==16 fz=z^@pow+z^@pow*(z+0.5)/(1+0.5*z)-@c fz0=z0^@pow+z0^@pow*(z0+0.5)/(1+0.5*z0)-@c elseif @v==17 fz=z^@pow+z^@pow*(z+2.5)/(1+2.5*z)-@c fz0=z0^@pow+z0^@pow*(z0+2.5)/(1+2.5*z0)-@c elseif @v==18 fz=((z^2-2)/(z+2))^@pow-@c fz0=((z0^2-2)/(z0+2))^@pow-@c elseif @v==19 fz=((z^2+2)/(z+1))^@pow-@c fz0=((z0^2+2)/(z0+1))^@pow-@c elseif @v==20 fz=((z^2-0.5)/(z+0.5))^@pow-@c fz0=((z0^2-0.5)/(z0+0.5))^@pow-@c elseif @v==21 fz=((z^3-1)/(z^2+0.5))^@pow-@c fz0=((z0^3-1)/(z0^2+0.5))^@pow-@c elseif @v==22 fz=0.5*z^@pow+1.5*z^(@pow-1)-@c fz0=0.5*z0^@pow+1.5*z0^(@pow-1)-@c elseif @v==23 fz=0.5*z^@pow-1.5*z^(@pow-1)-@c fz0=0.5*z0^@pow-1.5*z0^(@pow-1)-@c elseif @v==24 fz=0.5*z^@pow-2.5*z^(@pow-1)-@c fz0=0.5*z0^@pow-2.5*z0^(@pow-1)-@c elseif @v==25 fz=2.5*z^@pow-2.5*z^(@pow-1)-@c fz0=2.5*z0^@pow-2.5*z0^(@pow-1)-@c elseif @v==26 fz=2.5*z^@pow+2.5*z^(@pow-1)-@c fz0=2.5*z0^@pow+2.5*z0^(@pow-1)-@c else fz=5*z^@pow+5*z^(@pow-1)-@c fz0=5*z0^@pow+5*z0^(@pow-1)-@c endif z=z-@ms3*fz*(z-z0)*(fz-fz0)/((fz-fz0)^2-@ms2*fz*(z-z0)^2) z0=zold bailout: |fz|>@bail default: title="Modified Secant 5" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 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""20"\ "21""22""23""24""25""26""27""28" endparam param ms1 caption="Modsec Parameter 1" default=(0,0) endparam param ms2 caption="Modsec Parameter 2" default=(1,0) endparam param ms3 caption="Modsec Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } ModifiedSecant6 { ;http://downloads.hindawi.com/journals/mse/2015/502854.pdf init: z=@sf(pixel) z0=@ms1 loop: zold=z if @v==0 fz=z^@pow-@c f1z=@pow*z^(@pow-1) fz0=z0^@pow-@c elseif @v==1 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1z=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) fz0=z0^@pow-z0^(@pow-1)-z0^(@pow-2)-@c elseif @v==2 fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1z=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) fz0=z0^@pow+z0^(@pow-1)+z0^(@pow-2)-@c elseif @v==3 fz=(z+1/z)^@pow-@c f1z=@pow*(1-1/z^2)*(z+1/z)^(@pow-1) fz0=(z0+1/z0)^@pow-@c elseif @v==4 fz=(z-1/z)^@pow-@c f1z=@pow*(1+1/z^2)*(z-1/z)^(@pow-1) fz0=(z0-1/z0)^@pow-@c elseif @v==5 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c f1z=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 fz0=z0^@pow*(z0-1.5)/(1-1.5*z0)-@c else fz=z^@pow*(z-0.5)/(1-0.5*z)-@c f1z=z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-@c endif z=z-@ms2*fz*(fz-fz0)*(z-z0)/(fz*(fz-fz0)-fz0*f1z*(z-z0)) z0=zold bailout: |fz|>@bail default: title="Modified Secant 6" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="1""2""3""4""5""6""7" endparam param ms1 caption="Modsec Parameter 1" default=(0.001,0) endparam param ms2 caption="Modsec Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } ModifiedSecant7 { ;http://article.sapub.org/10.5923.j.ajcam.20180802.02.html init: z=@sf(pixel) z0=@ms1 loop: zold=z if @v==0 fz=z^@pow-@c f1z=@pow*z^(@pow-1) f1z0=@pow*z0^(@pow-1) elseif @v==1 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1z=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) f1z0=@pow*z0^(@pow-1)-(@pow-1)*z0^(@pow-2)-(@pow-2)*z0^(@pow-3) elseif @v==2 fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1z=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) f1z0=@pow*z0^(@pow-1)+(@pow-1)*z0^(@pow-2)+(@pow-2)*z0^(@pow-3) elseif @v==3 fz=z^@pow+1/z^@pow-@c f1z=@pow*z^(@pow-1)-@pow*z^(-@pow-1) f1z0=@pow*z0^(@pow-1)-@pow*z0^(-@pow-1) elseif @v==4 fz=z^@pow-1/z^@pow-@c f1z=@pow*z^(@pow-1)+@pow*z^(-@pow-1) f1z0=@pow*z0^(@pow-1)+@pow*z0^(-@pow-1) elseif @v==5 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c f1z=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 f1z0=z0^(@pow-1)*(@pow*(-2*z0^2/3+13*z0/9-2/3)-5*z0/9)/(2/3-z0)^2 elseif @v==6 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c f1z=z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 f1z0=z0^(@pow-1)*(@pow*(-2*z0^2+5*z0-2)+3*z0)/(2-z0)^2 elseif @v==7 fz=(z+1/z)^@pow-@c f1z=@pow*(1-1/z^2)*(z+1/z)^(@pow-1) f1z0=@pow*(1-1/z0^2)*(z0+1/z0)^(@pow-1) else fz=(z-1/z)^@pow-@c f1z=@pow*(1+1/z^2)*(z-1/z)^(@pow-1) f1z0=@pow*(1+1/z0^2)*(z0-1/z0)^(@pow-1) endif z=z-@ms2*2*fz*f1z*(z-z0)/(2*f1z^2*(z-z0)-fz*(f1z-f1z0)) z0=zold bailout: |fz|>@bail default: title="Modified Secant 7" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="1""2""3""4""5""6""7" endparam param ms1 caption="Modsec Parameter 1" default=(0,0) endparam param ms2 caption="Modsec Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } ModifiedSecant8 { init: z=@sf(pixel) loop: if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-p1*f*(f-f1)/(f^2-f1^2) fa=a^@pow-@c elseif @v==1 f=(z+1/z)^@pow-@c f1=@pow*(1-1/z^2)*(z+1/z)^(@pow-1) a=z-p1*f*(f-f1)/(f^2-f1^2) fa=(a+1/a)^@pow-@c elseif @v==2 f=(z-1/z)^@pow-@c f1=@pow*(1+1/z^2)*(z-1/z)^(@pow-1) a=z-p1*f*(f-f1)/(f^2-f1^2) fa=(a-1/a)^@pow-@c elseif @v==3 f=z^@pow*(z-1.5)/(1-1.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-p1*f*(f-f1)/(f^2-f1^2) fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==4 f=z^@pow*(z-0.5)/(1-0.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 a=z-p1*f*(f-f1)/(f^2-f1^2) fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==5 f=z^@pow+z^(@pow-2)+z^(@pow-4)-@c f1=@pow*z^(@pow-1)+(@pow-2)*z^(@pow-3)+(@pow-4)*z^(@pow-5) a=z-p1*f*(f-f1)/(f^2-f1^2) fa=a^@pow+a^(@pow-2)+a^(@pow-4)-@c elseif @v==6 f=z^@pow-z^(@pow-2)-z^(@pow-4)-@c f1=@pow*z^(@pow-1)-(@pow-2)*z^(@pow-3)-(@pow-4)*z^(@pow-5) a=z-p1*f*(f-f1)/(f^2-f1^2) fa=a^@pow-a^(@pow-2)-a^(@pow-4)-@c elseif @v==7 f=z^@pow*(z-1.5)/(1-1.5*z)-z^@pow*(z-0.5)/(1-0.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2-z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 a=z-p1*f*(f-f1)/(f^2-f1^2) fa=a^@pow*(a-1.5)/(1-1.5*a)-a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==8 f=((z^2-1)/(2*z-2))^@pow-@c f1=@pow*(2*z/(2*z-2)-2*(z^2-1)/(2*z-2)^2)*((z^2-1)/(2*z-2))^(@pow-1) a=z-p1*f*(f-f1)/(f^2-f1^2) fa=((a^2-1)/(2*a-2))^@pow-@c elseif @v==9 f=(z^2/(2*z-1))^@pow-@c f1=2*@pow*(z-1)*(z^2/(2*z-1))^(@pow-1)/z^3 a=z-p1*f*(f-f1)/(f^2-f1^2) fa=(a^2/(2*a-1))^@pow-@c else f=((z^2+1)/(2*z))^@pow-@c f1=2^(-@pow)*@pow*(z^2-1)*(z+1/z)^@pow/(z^3+z) a=z-p1*f*(f-f1)/(f^2-f1^2) fa=((a^2+1)/(2*a))^@pow-@c endif z=z-p2*f*(z-a)/(f-fa) bailout: |f|>@bail default: title="Modified Secant 8" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""(z+1/z)^p-c""(z-1/z)^p-c""z^p*(z-1.5)/(1-1.5*z)-c""z^p*(z-0.5)/(1-0.5*z)-c"\ "z^p+z^(p-2)+z^(p-4)-c""z^p-z^(p-2)-z^(p-4)-c""z^p*(z-1.5)/(1-1.5*z)-z^p*(z-0.5)/(1-0.5*z)-c"\ "((z^2-1)/(2*z-2))^p-c""(z^2/(2*z-1))^p-c""((z^2+1)/(2*z))^a-c" endparam param p1 caption="Modsec Parameter 1" default=(1,0) endparam param p2 caption="Modsec Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000000001 endparam } ModifiedSchröder2 { ;https://cyberleninka.org/article/n/898315/viewer init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) f2=(@pow-1)*@pow*z^(@pow-2)-(@pow-2)*(@pow-1)*z^(@pow-3)-(@pow-3)*(@pow-2)*z^(@pow-4) else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) f2=(@pow-1)*@pow*z^(@pow-2)+(@pow-2)*(@pow-1)*z^(@pow-3)+(@pow-3)*(@pow-2)*z^(@pow-4) endif z=z-@ms2*f*(f1-@ms1*f)/(f^2-f*f2) bailout: |zold-z|>@bail default: title="Modified Schröder 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c" endparam param ms1 caption="MS Parameter 1" default=(1,0) endparam param ms2 caption="MS Parameter 2" default=(-1,0) endparam param pow caption="Exponent" default=(5,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } ModifiedSchröder3 { init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) f2=(@pow-1)*@pow*z^(@pow-2)-(@pow-2)*(@pow-1)*z^(@pow-3)-(@pow-3)*(@pow-2)*z^(@pow-4) else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) f2=(@pow-1)*@pow*z^(@pow-2)+(@pow-2)*(@pow-1)*z^(@pow-3)+(@pow-3)*(@pow-2)*z^(@pow-4) endif z=z-@msp3*(@msp1/(f1/f-f2/f1)+@msp2*f/f2) bailout: |zold-z|>@bail default: title="Modified Schröder 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c" endparam param msp1 caption="MS Parameter 1" default=(1,0) endparam param msp2 caption="MS Parameter 2" default=(1,0) endparam param msp3 caption="MS Parameter 3" default=(0.5,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } ModifiedSchröder4 { ;https://journals.vgtu.lt/index.php/MMA/article/view/5646/8883 init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) f2=(@pow-1)*@pow*z^(@pow-2) else f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) f2=(@pow-1)*@pow*z^(@pow-2)-(@pow-2)*(@pow-1)*z^(@pow-3)-(@pow-3)*(@pow-2)*z^(@pow-4) endif z=z-@msp2*f*(f1-@msp1*f)^2/((f1^2-f*f2)*(f1-2*@msp1*f)) bailout: |zold-z|>@bail default: title="Modified Schröder 4" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c" endparam param msp1 caption="MS Parameter 1" default=(1,0) endparam param msp2 caption="MS Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } Secant { init: z=@sf(pixel) z0=p1 loop: zold=z if @v==0 fz=z^@pow-@c fz0=z0^@pow-@c elseif @v==1 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c fz0=z0^@pow-z0^(@pow-1)-z0^(@pow-2)-@c elseif @v==2 fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c fz0=z0^@pow+z0^(@pow-1)+z0^(@pow-2)-@c elseif @v==3 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-@c elseif @v==4 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c fz0=z0^@pow*(z0-1.5)/(1-1.5*z0)-@c elseif @v==5 fz=((z^2-1)/(z+1))^@pow-@c fz0=((z0^2-1)/(z0+1))^@pow-@c elseif @v==6 fz=((z^2-1i)/(z+1i))^@pow-@c fz0=((z0^2-1i)/(z0+1i))^@pow-@c elseif @v==7 fz=z^@pow-z-@c fz0=z0^@pow-z0-@c elseif @v==8 fz=z^@pow-z^@pow*(z+0.75)/(1+0.75*z)-@c fz0=z0^@pow-z0^@pow*(z0+0.75)/(1+0.75*z0)-@c elseif @v==9 fz=z^@pow-z^(@pow-1)-@c fz0=z0^@pow-z0^(@pow-1)-@c elseif @v==10 fz=z^@pow-tanh(z)^(@pow-1)-@c fz0=z0^@pow-tanh(z0)^(@pow-1)-@c elseif @v==11 fz=z^@pow-exp(z)-@c fz0=z0^@pow-exp(z0)-@c elseif @v==12 fz=z^@pow*(z-0.5)/(1-0.5*z)-z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c elseif @v==13 fz=z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)+z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c elseif @v==14 fz=z^@pow*(z-2)/(1-2*z)-z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)-z0^(@pow-1)*(z0-2)/(1-2*z0)-@c else fz=z^@pow*(z-2)/(1-2*z)+z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)+z0^(@pow-1)*(z0-2)/(1-2*z0)-@c endif z=z-p2*fz*(z-z0)/(fz-fz0) z0=zold bailout: |fz|>@bail default: title="Secant" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16" endparam param p1 caption="Secant Parameter 1" default=(0,0) endparam param p2 caption="Secant Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.001 endparam } SecantNova { init: if @st==0 z1=@sec1*@nf(pixel) z2=@sec2*@nf(pixel) else z1=@sec1 z2=@sec2 endif loop: if @v==0 fz1=z1^@pow-@c fz2=z2^@pow-@c elseif @v==1 fz1=z1^@pow-z1^(@pow-1)-z1^(@pow-2)-@c fz2=z2^@pow-z2^(@pow-1)-z2^(@pow-2)-@c elseif @v==2 fz1=z1^@pow+z1^(@pow-1)+z1^(@pow-2)-@c fz2=z2^@pow+z2^(@pow-1)+z2^(@pow-2)-@c elseif @v==3 fz1=z1^@pow*(z1-1.5)/(1-1.5*z1)-@c fz2=z2^@pow*(z2-1.5)/(1-1.5*z2)-@c elseif @v==4 fz1=z1^@pow*(z1-0.5)/(1-0.5*z1)-@c fz2=z2^@pow*(z2-0.5)/(1-0.5*z2)-@c elseif @v==5 fz1=z1^@pow+1/z1^@pow-@c fz2=z2^@pow+1/z2^@pow-@c elseif @v==6 fz1=z1^@pow-1/z1^@pow-@c fz2=z2^@pow-1/z2^@pow-@c elseif @v==7 fz1=((z1^2-1)/(z1+1))^@pow-@c fz2=((z2^2-1)/(z2+1))^@pow-@c elseif @v==8 fz1=z1^@pow-z1^(@pow-1)-z1^(@pow-2)-1/z1^@pow-@c fz2=z2^@pow-z2^(@pow-1)-z2^(@pow-2)-1/z2^@pow-@c elseif @v==9 fz1=z1^@pow+cotanh(z1)^@pow-@c fz2=z2^@pow+cotanh(z2)^@pow-@c elseif @v==10 fz1=z1^@pow-cotanh(z1)^@pow-@c fz2=z2^@pow-cotanh(z2)^@pow-@c elseif @v==11 fz1=((z1^@pow-1)/(@pow*z1^(@pow-1)))^@pow-@c fz2=((z2^@pow-1)/(@pow*z2^(@pow-1)))^@pow-@c elseif @v==12 fz1=(z1^@pow-1)/(z1^(@pow-1))-@c fz2=(z2^@pow-1)/(z2^(@pow-1))-@c elseif @v==13 fz1=(z1^2/(2*z1+1))^@pow-@c fz2=(z2^2/(2*z2+1))^@pow-@c elseif @v==14 fz1=((Z1^2-1)/(1-z1))^@pow-@c fz2=((Z2^2-1)/(1-z2))^@pow-@c else fz1=((Z1^2-1.5)/(1-1.5*z1))^@pow-@c fz2=((Z2^2-1.5)/(1-1.5*z2))^@pow-@c endif z=z2-@sec3*fz2*(z2-z1)/(fz2-fz1) if @st==0 z1=z2+@np*@nf(pixel) else z1=z2+@nf(pixel) endif z2=z fz1=fz2 if @v==0 fz2=z^@pow-@c elseif @v==1 fz2=z^@pow-z^(@pow-1)-z^(@pow-2)-@c elseif @v==2 fz2=z^@pow+z^(@pow-1)+z^(@pow-2)-@c elseif @v==3 fz2=z^@pow*(z-1.5)/(1-1.5*z)-@c elseif @v==4 fz2=z^@pow*(z-0.5)/(1-0.5*z)-@c elseif @v==5 fz2=z^@pow+1/z^@pow-@c elseif @v==6 fz2=z^@pow-1/z^@pow-@c elseif @v==7 fz2=((z^2-1)/(z+1))^@pow-@c elseif @v==8 fz2=z^@pow-z^(@pow-1)-z^(@pow-2)-1/z^@pow-@c elseif @v==9 fz2=z^@pow+cotanh(z)^@pow-@c elseif @v==10 fz2=z^@pow-cotanh(z)^@pow-@c elseif @v==11 fz2=((z^@pow-1)/(@pow*z^(@pow-1)))^@pow-@c elseif @v==12 fz2=(z^@pow-1)/(z^(@pow-1))-@c elseif @v==13 fz2=(z^2/(2*z+1))^@pow-@c elseif @v==14 fz2=((Z^2-1)/(1-z))^@pow-@c else fz2=((Z^2-1.5)/(1-1.5*z))^@pow-@c endif bailout: |fz2|>@bail default: title="Secant Nova" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c"\ "z^p*(z-2)/(1-2*z)-c""z^p*(z-0.5)/(1-0.5*z)-c"\ "z^p+1/z^p-c""z^p-1/z^p-c""((z^2-1)/(z+1))^p-c"\ "z^p-z^(p-1)-z^(p-2)-1/z^p-c""z^p+cotanh(z)^p-c"\ "z^p-cotanh(z)^p-c""((z^p-1)/(p*z^(p-1)))^p-c"\ "(z^p-1)/(z^(p-1))-c" endparam param sec1 caption="Secant Parameter 1" default=(-0.7,0) endparam param sec2 caption="Secant Parameter 2" default=(0.8,0) endparam param sec3 caption="Secant Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param np caption="Nova Parameter" default=(1,0) visible=@st==0 endparam func nf caption="Nova Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } ModifiedSecant5Nova { ;https://tinyurl.com/y2wo5tc8 init: if @st==0 z=@nf(pixel) else z=@sp endif z0=@ms1 loop: zold=z if @v==0 fz=z^@pow-@c fz0=z0^@pow-@c elseif @v==1 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c fz0=z0^@pow-z0^(@pow-1)-z0^(@pow-2)-@c elseif @v==2 fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c fz0=z0^@pow+z0^(@pow-1)+z0^(@pow-2)-@c elseif @v==3 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-@c elseif @v==4 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c fz0=z0^@pow*(z0-1.5)/(1-1.5*z0)-@c elseif @v==5 fz=((z^2-1)/(z+1))^@pow-@c fz0=((z0^2-1)/(z0+1))^@pow-@c elseif @v==6 fz=((z^3-1)/(z^2+1))^@pow-@c fz0=((z0^3-1)/(z0^2+1))^@pow-@c elseif @v==7 fz=z^@pow*(z-2)/(1-2*z)+z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)+z0^(@pow-1)*(z0-2)/(1-2*z0)-@c elseif @v==8 fz=z^@pow-z^@pow*(z+0.75)/(1+0.75*z)-@c fz0=z0^@pow-z0^@pow*(z0+0.75)/(1+0.75*z0)-@c elseif @v==9 fz=z^@pow*(z-2)/(1-2*z)-z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)-z0^(@pow-1)*(z0-2)/(1-2*z0)-@c elseif @v==10 fz=z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)+z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c elseif @v==11 fz=z^@pow+tan(z)^@pow-@c fz0=z0^@pow+tan(z0)^@pow-@c elseif @v==12 fz=z^@pow+tanh(z)^@pow-@c fz0=z0^@pow+tanh(z0)^@pow-@c elseif @v==13 fz=z^@pow+z^@pow*(z-2.5)/(1-2.5*z)-@c fz0=z0^@pow+z0^@pow*(z0-2.5)/(1-2.5*z0)-@c elseif @v==14 fz=z^@pow+z^@pow*(z+4)/(1+4*z)-@c fz0=z0^@pow+z0^@pow*(z0+4)/(1+4*z0)-@c elseif @v==15 fz=z^@pow+z^@pow*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow+z0^@pow*(z0-0.5)/(1-0.5*z0)-@c elseif @v==16 fz=z^@pow+z^@pow*(z+0.5)/(1+0.5*z)-@c fz0=z0^@pow+z0^@pow*(z0+0.5)/(1+0.5*z0)-@c elseif @v==17 fz=z^@pow+z^@pow*(z+2.5)/(1+2.5*z)-@c fz0=z0^@pow+z0^@pow*(z0+2.5)/(1+2.5*z0)-@c elseif @v==18 fz=((z^2-2)/(z+2))^@pow-@c fz0=((z0^2-2)/(z0+2))^@pow-@c elseif @v==19 fz=((z^2+2)/(z+1))^@pow-@c fz0=((z0^2+2)/(z0+1))^@pow-@c elseif @v==20 fz=((z^2-0.5)/(z+0.5))^@pow-@c fz0=((z0^2-0.5)/(z0+0.5))^@pow-@c elseif @v==21 fz=((z^3-1)/(z^2+0.5))^@pow-@c fz0=((z0^3-1)/(z0^2+0.5))^@pow-@c elseif @v==22 fz=0.5*z^@pow+1.5*z^(@pow-1)-@c fz0=0.5*z0^@pow+1.5*z0^(@pow-1)-@c elseif @v==23 fz=0.5*z^@pow-1.5*z^(@pow-1)-@c fz0=0.5*z0^@pow-1.5*z0^(@pow-1)-@c elseif @v==24 fz=0.5*z^@pow-2.5*z^(@pow-1)-@c fz0=0.5*z0^@pow-2.5*z0^(@pow-1)-@c elseif @v==25 fz=2.5*z^@pow-2.5*z^(@pow-1)-@c fz0=2.5*z0^@pow-2.5*z0^(@pow-1)-@c elseif @v==26 fz=2.5*z^@pow+2.5*z^(@pow-1)-@c fz0=2.5*z0^@pow+2.5*z0^(@pow-1)-@c else fz=5*z^@pow+5*z^(@pow-1)-@c fz0=5*z0^@pow+5*z0^(@pow-1)-@c endif z=z-@ms3*fz*(z-z0)*(fz-fz0)/((fz-fz0)^2-@ms2*fz*(z-z0)^2) if @st==0 z0=zold+@np*@nf(pixel) else z0=zold+@nf(pixel) endif bailout: |fz|>@bail default: title="Modified Secant 5 Nova" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" 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""20"\ "21""22""23""24""25""26""27""28" endparam param ms1 caption="Modsec Parameter 1" default=(0,0) endparam param ms2 caption="Modsec Parameter 2" default=(1,0) endparam param ms3 caption="Modsec Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param sp caption="Start Parameter" default=(0.0001,0) visible=@st==1 endparam param np caption="Nova Parameter" default=(1,0) visible=@st==0 endparam func nf caption="Nova Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } ModifiedSteffensenNova { ;https://tinyurl.com/y5plbk7n init: if @st==0 z=@nf(pixel) else z=@start endif loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c fa=(z+f)^@pow-@c elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c fa=(z+f)^@pow-(z+f)^(@pow-1)-(z+f)^(@pow-2)-@c else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c fa=(z+f)^@pow+(z+f)^(@pow-1)+(z+f)^(@pow-2)-@c endif if @st==0 z=z-@p2*f^2/(@p1*f^2-f+fa)+@np*@nf(pixel) else z=z-@p2*f^2/(@p1*f^2-f+fa)+@nf(pixel) endif bailout: |zold-z|>@bail default: title="Modified Steffensen Nova" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c" endparam param p1 caption="MS Parameter 1" default=(1,0) endparam param p2 caption="MS Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param start caption="Start Parameter" default=(-0.5,0) visible=@st==1 endparam param np caption="Nova Parameter" default=(1,0) visible=@st==0 endparam func nf caption="Nova Function" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(0.7,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=0.00000000001 endparam } Shengguo { ;http://www.jnmas.org/jnmas6-3.pdf init: z=@sf(pixel) loop: zold=z m=@sp1 z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-@sp3*(2*m/(m+2))*(f/f1) f1a=@pow*a^(@pow-1) elseif @v==1 f=(z+1/z)^@pow-@c f1=@pow*(1-1/z^2)*(z+1/z)^(@pow-1) a=z-@sp3*(2*m/(m+2))*(f/f1) f1a=@pow*(1-1/a^2)*(a+1/a)^(@pow-1) elseif @v==2 f=(z-1/z)^@pow-@c f1=@pow*(1+1/z^2)*(z-1/z)^(@pow-1) a=z-@sp3*(2*m/(m+2))*(f/f1) f1a=@pow*(1+1/a^2)*(a-1/a)^(@pow-1) elseif @v==3 f=z^@pow*(z-1.5)/(1-1.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-@sp3*(2*m/(m+2))*(f/f1) f1a=a^(@pow-1)*(@pow*(-2*a^2/3+13*a/9-2/3)-5*a/9)/(2/3-a)^2 elseif @v==4 f=z^@pow*(z-0.5)/(1-0.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 a=z-@sp3*(2*m/(m+2))*(f/f1) f1a=a^(@pow-1)*(@pow*(-2*a^2+5*a-2)+3*a)/(2-a)^2 elseif @v==5 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-@sp3*(2*m/(m+2))*(f/f1) f1a=@pow*a^(@pow-1)-(@pow-1)*a^(@pow-2)-(@pow-2)*a^(@pow-3) else f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-@sp3*(2*m/(m+2))*(f/f1) f1a=@pow*a^(@pow-1)+(@pow-1)*a^(@pow-2)+(@pow-2)*a^(@pow-3) endif z=z-@sp2*(f/f1)*(((m/2)*(m-2)*(m/(m+2))^(-m)*f1a-(m^2/2)*f1)/(f1-(m/(m+2))^(-m)*f1a)) bailout: |z-zold|>@bail default: title="Shengguo" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""(z+1/z)^p-c""(z-1/z)^p-c""z^p*(z-1.5)/(1-1.5*z)-c"\ "z^p*(z-0.5)/(1-0.5*z)-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c" endparam param sp1 caption="Shengguo Parameter 1" default=(2.05,0) endparam param sp2 caption="Shengguo Parameter 2" default=(1,0) endparam param sp3 caption="Shengguo Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } ParhiGupta { ;https://tinyurl.com/yyogm5em init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-@pgp1*f/f1 f1a=@pow*a^(@pow-1) b=z-@pgp2*2*f/(f1+f1a) fb=b^@pow-@c elseif @v==1 f=(z+1/z)^@pow-@c f1=@pow*(1-1/z^2)*(z+1/z)^(@pow-1) a=z-@pgp1*f/f1 f1a=@pow*(1-1/a^2)*(a+1/a)^(@pow-1) b=z-@pgp2*2*f/(f1+f1a) fb=(b+1/b)^@pow-@c elseif @v==2 f=(z-1/z)^@pow-@c f1=@pow*(1+1/z^2)*(z-1/z)^(@pow-1) a=z-@pgp1*f/f1 f1a=@pow*(1+1/a^2)*(a-1/a)^(@pow-1) b=z-@pgp2*2*f/(f1+f1a) fb=(b-1/b)^@pow-@c elseif @v==3 f=z^@pow*(z-1.5)/(1-1.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-@pgp1*f/f1 f1a=a^(@pow-1)*(@pow*(-2*a^2/3+13*a/9-2/3)-5*a/9)/(2/3-a)^2 b=z-@pgp2*2*f/(f1+f1a) fb=b^@pow*(b-1.5)/(1-1.5*b)-@c else f=z^@pow*(z-0.5)/(1-0.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 a=z-@pgp1*f/f1 f1a=a^(@pow-1)*(@pow*(-2*a^2+5*a-2)+3*a)/(2-a)^2 b=z-@pgp2*2*f/(f1+f1a) fb=b^@pow*(b-0.5)/(1-0.5*b)-@c endif z=b-@pgp3*(fb/f1)*((f1a+f1)/(-f1+3*f1a)) bailout: |z-zold|>@bail default: title="Parhi-Gupta" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""(z+1/z)^p-c""(z-1/z)^p-c""z^p*(z-1.5)/(1-1.5*z)-c""z^p*(z-0.5)/(1-0.5*z)-c" endparam param pgp1 caption="PG Parameter 1" default=(-0.25,0) endparam param pgp2 caption="PG Parameter 2" default=(1,0) endparam param pgp3 caption="PG Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } Sharma { ;http://www.jnmas.org/jnmas6-3.pdf init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-(2*@sp/(@sp+2))*(f/f1) f1a=@pow*a^(@pow-1) elseif @v==1 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-(2*@sp/(@sp+2))*(f/f1) f1a=@pow*a^(@pow-1)-(@pow-1)*a^(@pow-2)-(@pow-2)*a^(@pow-3) elseif @v==2 f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-(2*@sp/(@sp+2))*(f/f1) f1a=@pow*a^(@pow-1)+(@pow-1)*a^(@pow-2)+(@pow-2)*a^(@pow-3) elseif @v==3 f=z^@pow+1/z^@pow-@c f1=@pow*z^(@pow-1)-@pow*z^(-@pow-1) a=z-(2*@sp/(@sp+2))*(f/f1) f1a=@pow*a^(@pow-1)-@pow*a^(-@pow-1) else f=z^@pow-1/z^@pow-@c f1=@pow*z^(@pow-1)+@pow*z^(-@pow-1) a=z-(2*@sp/(@sp+2))*(f/f1) f1a=@pow*a^(@pow-1)+@pow*a^(-@pow-1) endif k1=@sp^3-4*@sp+8 k2=(@sp+2)*(@sp/(@sp+2))^@sp z=z-@sp2*(@sp/8)*(k1*f/f1-(@sp-2)*k2*((@sp-1)-k2*f1/f1a)*(f/f1a)) bailout: |z-zold|>@bail default: title="Sharma" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c""z^p+1/z^p-c""z^p-1/z^p-c" endparam param sp caption="Sharma Parameter 1" default=(1.6,0) endparam param sp2 caption="Sharma Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } AltBivarMandelbrot { init: if @sv==0 z=@pf(pixel) k=@pf(pixel) elseif @sv==1 z=@sp k=@pf(pixel) elseif @sv==2 z=@pf(pixel) k=@sp else z=@sp k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=0 endif else if i==0 b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=i+1 else a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif endif bailout: |z|<=@bail default: title="Alt Bivar Mandelbrot" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param av caption="Alt Variant" enum="1""2" default=1 endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.25,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.375,0) endparam param bp3 caption="Bivar Parameter 3" default=(1,0) endparam param bp4 caption="Bivar Parameter 4" default=(1,0) endparam func bf caption="Bivar Function" default=ident() endfunc func pf caption="Pixel Function" default=ident() endfunc param pp1 caption="Pixel Parameter !" default=(1,0) endparam param pp2 caption="Pixel Parameter 2" default=(1,0) endparam param pp3 caption="Pixel Parameter 3" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } NewtonSecant { ;http://www.math.bas.bg/infres/MathBalk/MB-26/MB-26-369-376.pdf init: z=@sf(pixel) z0=@ns1 loop: zold=z if @v==0 fz=z^@pow-@c f1z0=@pow*z0^(@pow-1) a=z-@ns2*fz/f1z0 fa=a^@pow-@c elseif @v==1 fz=(z+1/z)^@pow-@c f1z0=@pow*(1-1/z0^2)*(z0+1/z0)^(@pow-1) a=z-@ns2*fz/f1z0 fa=(a+1/a)^@pow-@c elseif @v==2 fz=(z-1/z)^@pow-@c f1z0=@pow*(1+1/z0^2)*(z0-1/z0)^(@pow-1) a=z-@ns2*fz/f1z0 fa=(a-1/a)^@pow-@c elseif @v==3 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c f1z0=z0^(@pow-1)*(@pow*(-2*z0^2/3+13*z0/9-2/3)-5*z0/9)/(2/3-z0)^2 a=z-@ns2*fz/f1z0 fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==4 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c f1z0=z0^(@pow-1)*(@pow*(-2*z0^2+5*z0-2)+3*z0)/(2-z0)^2 a=z-@ns2*fz/f1z0 fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==5 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1z0=@pow*z0^(@pow-1)-(@pow-1)*z0^(@pow-2)-(@pow-2)*z0^(@pow-3) a=z-@ns2*fz/f1z0 fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c else fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1z0=@pow*z0^(@pow-1)+(@pow-1)*z0^(@pow-2)+(@pow-2)*z0^(@pow-3) a=z-@ns2*fz/f1z0 fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c endif z=z-@ns3*fz*(z-a)/(fz-fa) z0=zold bailout: |fz|>@bail default: title="Newton/Secant" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="1""2""3""4""5""6""7" endparam param ns1 caption="NS Parameter 1" default=(0.01,0) endparam param ns2 caption="NS Parameter 2" default=(1,0) endparam param ns3 caption="NS Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } NewtonSecantNova { init: if @st==0 z=@nf(pixel) else z=@sp endif z0=@ns1 loop: zold=z if @v==0 fz=z^@pow-@c f1z0=@pow*z0^(@pow-1) if @st==0 a=z-@ns2*fz/f1z0+@np*@nf(pixel) else a=z-@ns2*fz/f1z0+@nf(pixel) endif fa=a^@pow-@c elseif @v==1 fz=(z+1/z)^@pow-@c f1z0=@pow*(1-1/z0^2)*(z0+1/z0)^(@pow-1) if @st==0 a=z-@ns2*fz/f1z0+@np*@nf(pixel) else a=z-@ns2*fz/f1z0+@nf(pixel) endif fa=(a+1/a)^@pow-@c elseif @v==2 fz=(z-1/z)^@pow-@c f1z0=@pow*(1+1/z0^2)*(z0-1/z0)^(@pow-1) if @st==0 a=z-@ns2*fz/f1z0+@np*@nf(pixel) else a=z-@ns2*fz/f1z0+@nf(pixel) endif fa=(a-1/a)^@pow-@c elseif @v==3 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c f1z0=z0^(@pow-1)*(@pow*(-2*z0^2/3+13*z0/9-2/3)-5*z0/9)/(2/3-z0)^2 if @st==0 a=z-@ns2*fz/f1z0+@np*@nf(pixel) else a=z-@ns2*fz/f1z0+@nf(pixel) endif fa=a^@pow*(a-1.5)/(1-1.5*a)-@c elseif @v==4 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c f1z0=z0^(@pow-1)*(@pow*(-2*z0^2+5*z0-2)+3*z0)/(2-z0)^2 if @st==0 a=z-@ns2*fz/f1z0+@np*@nf(pixel) else a=z-@ns2*fz/f1z0+@nf(pixel) endif fa=a^@pow*(a-0.5)/(1-0.5*a)-@c elseif @v==5 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1z0=@pow*z0^(@pow-1)-(@pow-1)*z0^(@pow-2)-(@pow-2)*z0^(@pow-3) if @st==0 a=z-@ns2*fz/f1z0+@np*@nf(pixel) else a=z-@ns2*fz/f1z0+@nf(pixel) endif fa=a^@pow-a^(@pow-1)-a^(@pow-2)-@c else fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1z0=@pow*z0^(@pow-1)+(@pow-1)*z0^(@pow-2)+(@pow-2)*z0^(@pow-3) if @st==0 a=z-@ns2*fz/f1z0+@np*@nf(pixel) else a=z-@ns2*fz/f1z0+@nf(pixel) endif fa=a^@pow+a^(@pow-1)+a^(@pow-2)-@c endif z=z-@ns3*fz*(z-a)/(fz-fa) z0=zold bailout: |fz|>@bail default: title="Newton/Secant Nova" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param v caption="Variant" enum="1""2""3""4""5""6""7" endparam param ns1 caption="NS Parameter 1" default=(0.01,0) endparam param ns2 caption="NS Parameter 2" default=(1,0) endparam param ns3 caption="NS Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param sp caption="Start Parameter" default=(-0.5,0) visible=@st==1 endparam param np caption="Nova Parameter" default=(1,0) visible=@st==0 endparam func nf caption="Nova Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } CNKS { ;Modification of formula from: ;https://www.researchgate.net/publication/260230087_Choosing_weight_functions_in_iterative_methods_for_simple_roots init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 if @v==0 f=z^@pow-@c f1=@pow*z^(@pow-1) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow-@c elseif @v==1 f=(z+1/z)^@pow-@c f1=@pow*(1-1/z^2)*(z+1/z)^(@pow-1) a=z-@p4*(2/3)*f/f1 f1a=@pow*(1-1/a^2)*(a+1/a)^(@pow-1) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=(b+1/b)^@pow-@c elseif @v==2 f=(z-1/z)^@pow-@c f1=@pow*(1+1/z^2)*(z-1/z)^(@pow-1) a=z-@p4*(2/3)*f/f1 f1a=@pow*(1+1/a^2)*(a-1/a)^(@pow-1) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=(b-1/b)^@pow-@c elseif @v==3 f=z^@pow*(z-1.5)/(1-1.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-@p4*(2/3)*f/f1 f1a=a^(@pow-1)*(@pow*(-2*a^2/3+13*a/9-2/3)-5*a/9)/(2/3-a)^2 t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow*(b-1.5)/(1-1.5*b)-@c elseif @v==4 f=z^@pow*(z-0.5)/(1-0.5*z)-@c f1=z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z)/(2-z)^2 a=z-@p4*(2/3)*f/f1 f1a=a^(@pow-1)*(@pow*(-2*a^2+5*a-2)+3*a)/(2-a)^2 t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow*(b-0.5)/(1-0.5*b)-@c elseif @v==5 f=z^@pow-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)-(@pow-1)*a^(@pow-2)-(@pow-2)*a^(@pow-3) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow-b^(@pow-1)-b^(@pow-2)-@c elseif @v==6 f=z^@pow+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)+(@pow-1)*a^(@pow-2)+(@pow-2)*a^(@pow-3) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow+b^(@pow-1)+b^(@pow-2)-@c elseif @v==7 f=z^@pow-z^(@pow-2)-z^(@pow-4)-@c f1=@pow*z^(@pow-1)-(@pow-2)*z^(@pow-3)-(@pow-4)*z^(@pow-5) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)-(@pow-2)*a^(@pow-3)-(@pow-4)*a^(@pow-5) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow-b^(@pow-2)-b^(@pow-4)-@c elseif @v==8 f=z^@pow+z^(@pow-2)+z^(@pow-4)-@c f1=@pow*z^(@pow-1)+(@pow-2)*z^(@pow-3)+(@pow-4)*z^(@pow-5) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)+(@pow-2)*a^(@pow-3)+(@pow-4)*a^(@pow-5) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow+b^(@pow-2)+b^(@pow-4)-@c elseif @v==9 f=z^@pow+z^(@pow-1)-z^(@pow-4)-z^(@pow-5)-@c f1=@pow*z^(@pow-1)+(@pow-1)*z^(@pow-2)-(@pow-4)*z^(@pow-5)-(@pow-5)*z^(@pow-6) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)+(@pow-1)*a^(@pow-2)-(@pow-4)*a^(@pow-5)-(@pow-5)*a^(@pow-6) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow+b^(@pow-1)-b^(@pow-4)-b^(@pow-5)-@c elseif @v==10 f=z^@pow-z^(@pow-1)+z^(@pow-4)+z^(@pow-5)-@c f1=@pow*z^(@pow-1)-(@pow-1)*z^(@pow-2)+(@pow-4)*z^(@pow-5)+(@pow-5)*z^(@pow-6) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)-(@pow-1)*a^(@pow-2)+(@pow-4)*a^(@pow-5)+(@pow-5)*a^(@pow-6) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow-b^(@pow-1)+b^(@pow-4)+b^(@pow-5)-@c elseif @v==11 f=z^@pow-z^@pow*(z-0.5)/(1-0.5*z)-z^(@pow-1)-z^(@pow-2)-@c f1=@pow*z^(@pow-1)-(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2-(@pow-1)*z^(@pow-2)-(@pow-2)*z^(@pow-3) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)-(a^(@pow-1)*(@pow*(-2*a^2+5*a-2)+3*a))/(2-a)^2-(@pow-1)*a^(@pow-2)-(@pow-2)*a^(@pow-3) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow-b^@pow*(b-0.5)/(1-0.5*b)-b^(@pow-1)-b^(@pow-2)-@c elseif @v==12 f=z^@pow+z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)+z^(@pow-2)-@c f1=@pow*z^(@pow-1)+(z^(@pow-1)*(@pow*(-2*z^2+5*z-2)+3*z))/(2-z)^2+(@pow-1)*z^(@pow-2)+(@pow-2)*z^(@pow-3) a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)+(a^(@pow-1)*(@pow*(-2*a^2+5*a-2)+3*a))/(2-a)^2+(@pow-1)*a^(@pow-2)+(@pow-2)*a^(@pow-3) t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow+b^@pow*(b-0.5)/(1-0.5*b)+b^(@pow-1)+b^(@pow-2)-@c else f=z^@pow+z^@pow*(z-1.5)/(1-1.5*z)-@c f1=@pow*z^(@pow-1)+z^(@pow-1)*(@pow*(-2*z^2/3+13*z/9-2/3)-5*z/9)/(2/3-z)^2 a=z-@p4*(2/3)*f/f1 f1a=@pow*a^(@pow-1)+a^(@pow-1)*(@pow*(-2*a^2/3+13*a/9-2/3)-5*a/9)/(2/3-a)^2 t=f1a/f1 q=(3*t+1)/(6*t-2) b=z-@p5*q*f/f1 fb=b^@pow+b^@pow*(b-1.5)/(1-1.5*b)-@c endif w=(1-3*t)/(@p1+@p2*t+@p3*t^2) z=b-@p6*(fb/f)*(f/f1)*w bailout: |z-zold|>@bail default: title="CNKS" center=(0.0001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="z^p-c""(z+1/z)^p-c""(z-1/z)^p-c""z^p*(z-1.5)/(1-1.5*z)-c""z^p*(z-0.5)/(1-0.5*z)-c"\ "z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c""z^p-z^(p-2)-z^(p-4)-c""z^p+z^(p-2)+z^(p-4)-c"\ "z^p+z^(p-1)-z^(p-4)-z^(p-5)-c""z^p-z^(p-1)+z^(p-4)+z^(p-5)-c""z^p-z^p*(z-0.5)/(1-0.5*z)-z^(p-1)-z^(p-2)-c"\ "z^p+z^p*(z-0.5)/(1-0.5*z)+z^(p-1)+z^(p-2)-c""z^p+z^p*(z-1.5)/(1-1.5*z)-c" endparam param p1 caption="CNKS Parameter 1" default=(5,0) endparam param p2 caption="CNKS Parameter 2" default=(-8,0) endparam param p3 caption="CNKS Parameter 3" default=(1,0) endparam param p4 caption="CNKS Parameter 4" default=(-0.25,0) endparam param p5 caption="CNKS Parameter 5" default=(1,0) endparam param p6 caption="CNKS Parameter 6" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } Broyden { init: z=@sf(pixel) z0=p1 loop: zold=z if @v==0 fz=z^@pow-@c fz0=z0^@pow-@c elseif @v==1 fz=z^@pow-z^(@pow-1)-z^(@pow-2)-@c fz0=z0^@pow-z0^(@pow-1)-z0^(@pow-2)-@c elseif @v==2 fz=z^@pow+z^(@pow-1)+z^(@pow-2)-@c fz0=z0^@pow+z0^(@pow-1)+z0^(@pow-2)-@c elseif @v==3 fz=z^@pow*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-@c elseif @v==4 fz=z^@pow*(z-1.5)/(1-1.5*z)-@c fz0=z0^@pow*(z0-1.5)/(1-1.5*z0)-@c elseif @v==5 fz=((z^2-1)/(z+1))^@pow-@c fz0=((z0^2-1)/(z0+1))^@pow-@c elseif @v==6 fz=((z^2-1i)/(z+1i))^@pow-@c fz0=((z0^2-1i)/(z0+1i))^@pow-@c elseif @v==7 fz=z^@pow-z-@c fz0=z0^@pow-z0-@c elseif @v==8 fz=z^@pow-z^@pow*(z+0.75)/(1+0.75*z)-@c fz0=z0^@pow-z0^@pow*(z0+0.75)/(1+0.75*z0)-@c elseif @v==9 fz=z^@pow-z^(@pow-1)-@c fz0=z0^@pow-z0^(@pow-1)-@c elseif @v==10 fz=z^@pow-tanh(z)^(@pow-1)-@c fz0=z0^@pow-tanh(z0)^(@pow-1)-@c elseif @v==11 fz=z^@pow-exp(z)-@c fz0=z0^@pow-exp(z0)-@c elseif @v==12 fz=z^@pow*(z-0.5)/(1-0.5*z)-z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)-z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c elseif @v==13 fz=z^@pow*(z-0.5)/(1-0.5*z)+z^(@pow-1)*(z-0.5)/(1-0.5*z)-@c fz0=z0^@pow*(z0-0.5)/(1-0.5*z0)+z0^(@pow-1)*(z0-0.5)/(1-0.5*z0)-@c elseif @v==14 fz=z^@pow*(z-2)/(1-2*z)-z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)-z0^(@pow-1)*(z0-2)/(1-2*z0)-@c else fz=z^@pow*(z-2)/(1-2*z)+z^(@pow-1)*(z-2)/(1-2*z)-@c fz0=z0^@pow*(z0-2)/(1-2*z0)+z0^(@pow-1)*(z0-2)/(1-2*z0)-@c endif f1=(fz-fz0)/(z-z0) z=z-p2*fz/f1 z0=zold bailout: |fz|>@bail default: title="Broyden" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param v caption="Variant" enum="1""2""3""4""5""6""7""8""9""10""11""12""13""14""15""16" endparam param p1 caption="Broyden Parameter 1" default=(0,0) endparam param p2 caption="Broyden Parameter 2" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param bail caption="Bailout" default=0.00000000001 endparam } BroydenNova { init: if @st==0 z1=@bp1*@nf(pixel) z2=@bp2*@nf(pixel) else z1=@bp1 z2=@bp2 endif loop: if @v==0 fz1=z1^@pow-@c fz2=z2^@pow-@c elseif @v==1 fz1=z1^@pow-z1^(@pow-1)-z1^(@pow-2)-@c fz2=z2^@pow-z2^(@pow-1)-z2^(@pow-2)-@c elseif @v==2 fz1=z1^@pow+z1^(@pow-1)+z1^(@pow-2)-@c fz2=z2^@pow+z2^(@pow-1)+z2^(@pow-2)-@c elseif @v==3 fz1=z1^@pow*(z1-1.5)/(1-1.5*z1)-@c fz2=z2^@pow*(z2-1.5)/(1-1.5*z2)-@c elseif @v==4 fz1=z1^@pow*(z1-0.5)/(1-0.5*z1)-@c fz2=z2^@pow*(z2-0.5)/(1-0.5*z2)-@c elseif @v==5 fz1=z1^@pow+1/z1^@pow-@c fz2=z2^@pow+1/z2^@pow-@c elseif @v==6 fz1=z1^@pow-1/z1^@pow-@c fz2=z2^@pow-1/z2^@pow-@c elseif @v==7 fz1=((z1^2-1)/(z1+1))^@pow-@c fz2=((z2^2-1)/(z2+1))^@pow-@c elseif @v==8 fz1=z1^@pow-z1^(@pow-1)-z1^(@pow-2)-1/z1^@pow-@c fz2=z2^@pow-z2^(@pow-1)-z2^(@pow-2)-1/z2^@pow-@c elseif @v==9 fz1=z1^@pow+cotanh(z1)^@pow-@c fz2=z2^@pow+cotanh(z2)^@pow-@c elseif @v==10 fz1=z1^@pow-cotanh(z1)^@pow-@c fz2=z2^@pow-cotanh(z2)^@pow-@c elseif @v==11 fz1=((z1^@pow-1)/(@pow*z1^(@pow-1)))^@pow-@c fz2=((z2^@pow-1)/(@pow*z2^(@pow-1)))^@pow-@c elseif @v==12 fz1=(z1^@pow-1)/(z1^(@pow-1))-@c fz2=(z2^@pow-1)/(z2^(@pow-1))-@c elseif @v==13 fz1=(z1^2/(2*z1+1))^@pow-@c fz2=(z2^2/(2*z2+1))^@pow-@c elseif @v==14 fz1=((Z1^2-1)/(1-z1))^@pow-@c fz2=((Z2^2-1)/(1-z2))^@pow-@c else fz1=((Z1^2-1.5)/(1-1.5*z1))^@pow-@c fz2=((Z2^2-1.5)/(1-1.5*z2))^@pow-@c endif f1=(fz2-fz1)/(z2-z1) z=z-@bp3*fz2/f1 if @st==0 z1=z2+@np*@nf(pixel) else z1=z2+@nf(pixel) endif z2=z fz1=fz2 if @v==0 fz2=z^@pow-@c elseif @v==1 fz2=z^@pow-z^(@pow-1)-z^(@pow-2)-@c elseif @v==2 fz2=z^@pow+z^(@pow-1)+z^(@pow-2)-@c elseif @v==3 fz2=z^@pow*(z-1.5)/(1-1.5*z)-@c elseif @v==4 fz2=z^@pow*(z-0.5)/(1-0.5*z)-@c elseif @v==5 fz2=z^@pow+1/z^@pow-@c elseif @v==6 fz2=z^@pow-1/z^@pow-@c elseif @v==7 fz2=((z^2-1)/(z+1))^@pow-@c elseif @v==8 fz2=z^@pow-z^(@pow-1)-z^(@pow-2)-1/z^@pow-@c elseif @v==9 fz2=z^@pow+cotanh(z)^@pow-@c elseif @v==10 fz2=z^@pow-cotanh(z)^@pow-@c elseif @v==11 fz2=((z^@pow-1)/(@pow*z^(@pow-1)))^@pow-@c elseif @v==12 fz2=(z^@pow-1)/(z^(@pow-1))-@c elseif @v==13 fz2=(z^2/(2*z+1))^@pow-@c elseif @v==14 fz2=((Z^2-1)/(1-z))^@pow-@c else fz2=((Z^2-1.5)/(1-1.5*z))^@pow-@c endif bailout: |fz2|>@bail default: title="Broyden Nova" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param v caption="Variant" enum="z^p-c""z^p-z^(p-1)-z^(p-2)-c""z^p+z^(p-1)+z^(p-2)-c"\ "z^p*(z-2)/(1-2*z)-c""z^p*(z-0.5)/(1-0.5*z)-c"\ "z^p+1/z^p-c""z^p-1/z^p-c""((z^2-1)/(z+1))^p-c"\ "z^p-z^(p-1)-z^(p-2)-1/z^p-c""z^p+cotanh(z)^p-c"\ "z^p-cotanh(z)^p-c""((z^p-1)/(p*z^(p-1)))^p-c"\ "(z^p-1)/(z^(p-1))-c" endparam param bp1 caption="Broyden Parameter 1" default=(-0.7,0) endparam param bp2 caption="Broyden Parameter 2" default=(0.8,0) endparam param bp3 caption="Broyden Parameter 3" default=(1,0) endparam param pow caption="Exponent" default=(3,0) endparam param c caption="Constant" default=(1,0) endparam param np caption="Nova Parameter" default=(1,0) visible=@st==0 endparam func nf caption="Nova Function" default=ident() endfunc param bail caption="Bailout" default=0.000001 endparam } 3AltBivarJulia { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sp k=@sf(pixel) else z=@sf(pixel) k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 b=z z=z^2+@bp3*k+@js2 k=k^2+@bp4*b+@js3 i=i+1 else c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@js4 i=0 endif elseif @av==1 if i==0 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@js4 i=i+1 else b=z z=z^2+@bp3*k+@js2 k=k^2+@bp4*b+@js3 i=0 endif elseif @av==2 if i==0 b=z z=z^2+@bp3*k+@js2 k=k^2+@bp4*b+@js3 i=i+1 elseif i==1 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@js1 i=i+1 else c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@js4 i=0 endif elseif @av==3 if i==0 b=z z=z^2+@bp3*k+@js2 k=k^2+@bp4*b+@js3 i=i+1 elseif i==1 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@js4 i=i+1 else a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@js1 i=0 endif elseif @av==4 if i==0 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@js4 i=i+1 elseif i==1 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@js1 i=i+1 else b=z z=z^2+@bp3*k+@js2 k=k^2+@bp4*b+@js3 i=0 endif else if i==0 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@js4 i=i+1 elseif i==1 b=z z=z^2+@bp3*k+@js2 k=k^2+@bp4*b+@js3 i=i+1 else a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@js1 i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Julia" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.25,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.375,0) endparam param bp3 caption="Bivar Parameter 3" default=(1,0) endparam param bp4 caption="Bivar Parameter 4" default=(1,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.35,0) endparam param bp6 caption="Bivar Parameter 6" default=(0,0) endparam func bf caption="Bivar Function" default=ident() endfunc func sf caption="Start Function" default=ident() endfunc param js1 caption="Julia Seed !" default=(-1.25,0) endparam param js2 caption="Julia Seed 2" default=(-0.67,0) endparam param js3 caption="Julia Seed 3" default=(-1.25,0) endparam param js4 caption="Julia Seed 4" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarJulia2 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sp k=@sf(pixel) else z=@sf(pixel) k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*k/z+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 b=k k=@bp3*sqr(z/k)+@bp4 z=z^2+b^2+@js2 i=i+1 else c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=0 endif elseif @av==1 if i==0 a=k k=@bp1*k/z+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 else b=k k=@bp3*sqr(z/k)+@bp4 z=z^2+b^2+@js2 i=0 endif elseif @av==2 if i==0 b=k k=@bp3*sqr(z/k)+@bp4 z=z^2+b^2+@js2 i=i+1 elseif i==1 a=k k=@bp1*k/z+@bp2 z=z^2+a^2+@js1 i=i+1 else c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=0 endif elseif @av==3 if i==0 b=k k=@bp3*sqr(z/k)+@bp4 z=z^2+b^2+@js2 i=i+1 elseif i==1 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 else a=k k=@bp1*k/z+@bp2 z=z^2+a^2+@js1 i=0 endif elseif @av==4 if i==0 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 elseif i==1 a=k k=@bp1*k/z+@bp2 z=z^2+a^2+@js1 i=i+1 else b=k k=@bp3*sqr(z/k)+@bp4 z=z^2+b^2+@js2 i=0 endif else if i==0 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 elseif i==1 b=k k=@bp3*sqr(z/k)+@bp4 z=z^2+b^2+@js2 i=i+1 else a=k k=@bp1*k/z+@bp2 z=z^2+a^2+@js1 i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Julia 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.25,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.375,0) endparam param bp3 caption="Bivar Parameter 3" default=(0.25,0) endparam param bp4 caption="Bivar Parameter 4" default=(0,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.35,0) endparam param bp6 caption="Bivar Parameter 6" default=(0.1,0) endparam func sf caption="Start Function" default=ident() endfunc param js1 caption="Julia Seed !" default=(0.15,0) endparam param js2 caption="Julia Seed 2" default=(0.15,0) endparam param js3 caption="Julia Seed 3" default=(1.35,0) endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarJulia3 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sp k=@sf(pixel) else z=@sf(pixel) k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if i==0 a=k z=z^2+@bp1*k+@js1 k=k^2+@bp2*a+@js2 i=i+1 elseif i==1 b=z z=z^2+@bp3*k+@js3 k=k^2+@bp4*b+@js4 i=i+1 else c=k z=z^2+@bp5*k+@js5 k=k^2+@bp6*c+@js6 i=0 endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Julia 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3" endparam param sp caption="Start Parameter" default=(0.1,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(-0.45,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.75,0) endparam param bp3 caption="Bivar Parameter 3" default=(1,0) endparam param bp4 caption="Bivar Parameter 4" default=(0.75,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.95,0) endparam param bp6 caption="Bivar Parameter 6" default=(1,0) endparam func sf caption="Start Function" default=ident() endfunc param js1 caption="Julia Seed !" default=(0.15,0) endparam param js2 caption="Julia Seed 2" default=(0,0) endparam param js3 caption="Julia Seed 3" default=(0,0) endparam param js4 caption="Julia Seed 4" default=(-1,0) endparam param js5 caption="Julia Seed 5" default=(-0.05,0) endparam param js6 caption="Julia Seed 6" default=(0.05,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarJulia4 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sp k=@sf(pixel) else z=@sf(pixel) k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@js2 i=i+1 else c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@js3 i=0 endif elseif @av==1 if i==0 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@js3 i=i+1 else b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@js2 i=0 endif elseif @av==2 if i==0 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@js2 i=i+1 elseif i==1 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@js1 i=i+1 else c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@js3 i=0 endif elseif @av==3 if i==0 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@js2 i=i+1 elseif i==1 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@js3 i=i+1 else a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@js1 i=0 endif elseif @av==4 if i==0 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@js3 i=i+1 elseif i==1 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@js1 i=i+1 else b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@js2 i=0 endif else if i==0 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@js3 i=i+1 elseif i==1 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@js2 i=i+1 else a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@js1 i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Julia 4" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(0,0) endparam param bp3 caption="Bivar Parameter 3" default=(0.5,0) endparam param bp4 caption="Bivar Parameter 4" default=(0,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.5,0) endparam param bp6 caption="Bivar Parameter 6" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param js1 caption="Julia Seed 1" default=(-1.25,0) endparam param js2 caption="Julia Seed 2" default=(0.9,0) endparam param js3 caption="Julia Seed 3" default=(-0.5,0) endparam param zp1 caption="Z Parameter 1" default=(0.75,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.75,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarJulia5 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sp k=@sf(pixel) else z=@sf(pixel) k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@js2 i=i+1 else c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=0 endif elseif @av==1 if i==0 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@js1 i=i+1 elseif i==1 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 else b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@js2 i=0 endif elseif @av==2 if i==0 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@js2 i=i+1 elseif i==1 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@js1 i=i+1 else c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=0 endif elseif @av==3 if i==0 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@js2 i=i+1 elseif i==1 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 else a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@js1 i=0 endif elseif @av==4 if i==0 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 elseif i==1 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@js1 i=i+1 else b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@js2 i=0 endif else if i==0 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@js3 i=i+1 elseif i==1 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@js2 i=i+1 else a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@js1 i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Julia 5" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(1.2,0) endparam param bp3 caption="Bivar Parameter 3" default=(0.5,0) endparam param bp4 caption="Bivar Parameter 4" default=(0.3,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.5,0) endparam param bp6 caption="Bivar Parameter 6" default=(0,0) endparam func sf caption="Start Function" default=ident() endfunc param js1 caption="Julia Seed !" default=(-1,0) endparam param js2 caption="Julia Seed 2" default=(-0.2,0) endparam param js3 caption="Julia Seed 3" default=(0.3,0) endparam param zp1 caption="Z Parameter 1" default=(0.6,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.6,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarMandelbrot { init: if @sv==0 z=@pf(pixel) k=@pf(pixel) elseif @sv==1 z=@sp k=@pf(pixel) elseif @sv==2 z=@pf(pixel) k=@sp else z=@sp k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=i+1 else c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp4*@pf(pixel) i=0 endif elseif @av==1 if i==0 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp4*@pf(pixel) i=i+1 else b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=0 endif elseif @av==2 if i==0 b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp4*@pf(pixel) i=0 endif elseif @av==3 if i==0 b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp4*@pf(pixel) i=i+1 else a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif elseif @av==4 if i==0 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp4*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=0 endif else if i==0 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp4*@pf(pixel) i=i+1 elseif i==1 b=z z=z^2+@bp3*k+@pp2*@pf(pixel) k=k^2+@bp4*b+@pp3*@pf(pixel) i=i+1 else a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Mandelbrot" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.25,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.375,0) endparam param bp3 caption="Bivar Parameter 3" default=(1,0) endparam param bp4 caption="Bivar Parameter 4" default=(1,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.35,0) endparam param bp6 caption="Bivar Parameter 6" default=(0,0) endparam func bf caption="Bivar Function" default=ident() endfunc func pf caption="Pixel Function" default=ident() endfunc param pp1 caption="Pixel Parameter !" default=(1,0) endparam param pp2 caption="Pixel Parameter 2" default=(1,0) endparam param pp3 caption="Pixel Parameter 3" default=(1,0) endparam param pp4 caption="Pixel Parameter 4" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarMandelbrot2 { init: if @sv==0 z=@pf(pixel) k=@pf(pixel) elseif @sv==1 z=@sp k=@pf(pixel) elseif @sv==2 z=@pf(pixel) k=@sp else z=@sp k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 b=k k=@bp3*@bf(sqr(z/k))+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 else c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=0 endif elseif @av==1 if i==0 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 else b=k k=@bp3*@bf(sqr(z/k))+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=0 endif elseif @av==2 if i==0 b=k k=@bp3*@bf(sqr(z/k))+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=0 endif elseif @av==3 if i==0 b=k k=@bp3*@bf(sqr(z/k))+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 else a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif elseif @av==4 if i==0 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else b=k k=@bp3*@bf(sqr(z/k))+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=0 endif else if i==0 c=k k=@bp5*@bf(z/k)+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 elseif i==1 b=k k=@bp3*@bf(sqr(z/k))+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 else a=k k=@bp1*@bf(k/z)+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Mandelbrot 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.25,0) endparam param bp2 caption="Bivar Parameter 2" default=(-0.375,0) endparam param bp3 caption="Bivar Parameter 3" default=(0.25,0) endparam param bp4 caption="Bivar Parameter 4" default=(0,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.35,0) endparam param bp6 caption="Bivar Parameter 6" default=(0,0) endparam func bf caption="Bivar Function" default=ident() endfunc func pf caption="Pixel Function" default=ident() endfunc param pp1 caption="Pixel Parameter !" default=(1,0) endparam param pp2 caption="Pixel Parameter 2" default=(1,0) endparam param pp3 caption="Pixel Parameter 3" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarMandelbrot3 { init: if @sv==0 z=@pf(pixel) k=@pf(pixel) elseif @sv==1 z=@sp k=@pf(pixel) elseif @sv==2 z=@pf(pixel) k=@sp else z=@sp k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if i==0 a=k z=z^2+@bp1*k+@pp1*@pf(pixel) k=k^2+@bp2*a+@pp2*@pf(pixel) i=i+1 elseif i==1 b=z z=z^2+@bp3*k+@pp3*@pf(pixel) k=k^2+@bp4*b+@pp4*@pf(pixel) i=i+1 else c=k z=z^2+@bp5*k+@pp5*@pf(pixel) k=k^2+@bp6*c+@pp6*@pf(pixel) i=0 endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Mandelbrot 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param sp caption="Start Parameter" default=(0.1,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(0.9,0) endparam param bp3 caption="Bivar Parameter 3" default=(-0.75,0) endparam param bp4 caption="Bivar Parameter 4" default=(0.33,0) endparam param bp5 caption="Bivar Parameter 5" default=(1,0) endparam param bp6 caption="Bivar Parameter 6" default=(1,0) endparam func pf caption="Pixel Function" default=ident() endfunc param pp1 caption="Pixel Parameter !" default=(1,0) endparam param pp2 caption="Pixel Parameter 2" default=(1,0) endparam param pp3 caption="Pixel Parameter 3" default=(1,0) endparam param pp4 caption="Pixel Parameter 4" default=(1,0) endparam param pp5 caption="Pixel Parameter 5" default=(1,0) endparam param pp6 caption="Pixel Parameter 6" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(1,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarMandelbrot4 { init: if @sv==0 z=@pf(pixel) k=@pf(pixel) elseif @sv==1 z=@sp k=@pf(pixel) elseif @sv==2 z=@pf(pixel) k=@sp else z=@sp k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 else c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=0 endif elseif @av==1 if i==0 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 else b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=0 endif elseif @av==2 if i==0 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=0 endif elseif @av==3 if i==0 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 else a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif elseif @av==4 if i==0 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=0 endif else if i==0 c=k k=@bp5*k^2/z^2+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 elseif i==1 b=k k=@bp3*k/z^2+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 else a=k k=@bp1*k^2/z+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Mandelbrot 4" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(0.3,0) endparam param bp3 caption="Bivar Parameter 3" default=(0.5,0) endparam param bp4 caption="Bivar Parameter 4" default=(0.3,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.5,0) endparam param bp6 caption="Bivar Parameter 6" default=(0.3,0) endparam func pf caption="Pixel Function" default=ident() endfunc param pp1 caption="Pixel Parameter !" default=(1,0) endparam param pp2 caption="Pixel Parameter 2" default=(1,0) endparam param pp3 caption="Pixel Parameter 3" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(0.75,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.75,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } 3AltBivarMandelbrot5 { init: if @sv==0 z=@pf(pixel) k=@pf(pixel) elseif @sv==1 z=@sp k=@pf(pixel) elseif @sv==2 z=@pf(pixel) k=@sp else z=@sp k=@sp endif int i=0 loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 if @av==0 if i==0 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 else c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=0 endif elseif @av==1 if i==0 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 else b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=0 endif elseif @av==2 if i==0 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=0 endif elseif @av==3 if i==0 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 elseif i==1 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 else a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif elseif @av==4 if i==0 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 elseif i==1 a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=i+1 else b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=0 endif else if i==0 c=k k=@bp5*z/k+@bp6 z=z^2+c^2+@pp3*@pf(pixel) i=i+1 elseif i==1 b=k k=@bp3*z^2/k+@bp4 z=z^2+b^2+@pp2*@pf(pixel) i=i+1 else a=k k=@bp1*z/k^2+@bp2 z=z^2+a^2+@pp1*@pf(pixel) i=0 endif endif bailout: |(z+k)/2|<=@bail default: title="3Alt Bivar Mandelbrot 5" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param av caption="Alt Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(0.75,0) visible=@sv!=0 endparam param bp1 caption="Bivar Parameter !" default=(0.5,0) endparam param bp2 caption="Bivar Parameter 2" default=(0.3,0) endparam param bp3 caption="Bivar Parameter 3" default=(0.5,0) endparam param bp4 caption="Bivar Parameter 4" default=(0.3,0) endparam param bp5 caption="Bivar Parameter 5" default=(0.5,0) endparam param bp6 caption="Bivar Parameter 6" default=(0.3,0) endparam func pf caption="Pixel Function" default=ident() endfunc param pp1 caption="Pixel Parameter !" default=(1,0) endparam param pp2 caption="Pixel Parameter 2" default=(1,0) endparam param pp3 caption="Pixel Parameter 3" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(0.6,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.6,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } BivarDevaney2 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sf(pixel) k=@sp elseif @sv==2 z=@sp k=@sp else z=@sp k=@sf(pixel) endif c=@sf(pixel) loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 a=k k=k^@pow1+@p1*c/(z-@p2)^@pow2 z=z^@pow1+@p3*c/(z-@p4)^@pow2+a^@pow1+@p5*c/(a-@p6)^@pow2 bailout: |(z+k)/2|<@bail default: title="Bivar Devaney 2" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param sp caption="Start Parameter" default=(-1,0) visible=@sv!=0 endparam param p1 caption="Devaney Parameter 1" default=(-0.25,0) endparam param p2 caption="Devaney Parameter 2" default=(0.5,0) endparam param p3 caption="Devaney Parameter 3" default=(-0.25,0) endparam param p4 caption="Devaney Parameter 4" default=(0.5,0) endparam param p5 caption="Devaney Parameter 5" default=(-0.25,0) endparam param p6 caption="Devaney Parameter 6" default=(0.5,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=2 endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.5,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=10000000000.0 endparam } BivarDevaney3 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sf(pixel) k=@sp elseif @sv==2 z=@sp k=@sp else z=@sp k=@sf(pixel) endif c=@sf(pixel) loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 a=k k=k^@pow1+@p1/(z-@p2)^@pow2+c z=z^@pow1+@p3/(z-@p4)^@pow2+a^@pow1+@p5/(a-@p6)^@pow2+c bailout: |(z+k)/2|<@bail default: title="Bivar Devaney 3" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param sp caption="Start Parameter" default=(-1,0) visible=@sv!=0 endparam param p1 caption="Devaney Parameter 1" default=(-1,0) endparam param p2 caption="Devaney Parameter 2" default=(0.5,0) endparam param p3 caption="Devaney Parameter 3" default=(-0.25,0) endparam param p4 caption="Devaney Parameter 4" default=(0.5,0) endparam param p5 caption="Devaney Parameter 5" default=(-0.25,0) endparam param p6 caption="Devaney Parameter 6" default=(-1.6,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=2 endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.5,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=10000000000.0 endparam } BivarDevaney4 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sf(pixel) k=@sp elseif @sv==2 z=@sp k=@sp else z=@sp k=@sf(pixel) endif c=@sf(pixel) loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 a=k if @v==0 k=c*k^@pow1+@p1/(z-@p2)^@pow2 z=z^@pow1+@p3/(c*z-@p4)^@pow2+a^@pow1+@p5/(a-@p6)^@pow2+c elseif @v==1 k=c*k^@pow1+@p1/(z-@p2)^@pow2 z=z^@pow1+@p3/(z-@p4)^@pow2+a^@pow1+@p5/(c*a-@p6)^@pow2+c elseif @v==2 k=k^@pow1+@p1/(c*z-@p2)^@pow2 z=c*z^@pow1+@p3/(z-@p4)^@pow2+a^@pow1+@p5/(a-@p6)^@pow2+c elseif @v==3 k=k^@pow1+@p1/(c*z-@p2)^@pow2 z=z^@pow1+@p3/(z-@p4)^@pow2+c*a^@pow1+@p5/(a-@p6)^@pow2+c elseif @v==4 k=k^@pow1+@p1/(z-@p2)^@pow2+c z=c*z^@pow1+@p3/(z-@p4)^@pow2+a^@pow1+@p5/(c*a-@p6)^@pow2 else k=k^@pow1+@p1/(z-@p2)^@pow2+c z=z^@pow1+@p3/(c*z-@p4)^@pow2+c*a^@pow1+@p5/(a-@p6)^@pow2 endif bailout: |(z+k)/2|<@bail default: title="Bivar Devaney 4" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param v caption="Pixel Variant" enum="1""2""3""4""5""6" endparam param sp caption="Start Parameter" default=(-1,0) visible=@sv!=0 endparam param p1 caption="Devaney Parameter 1" default=(-1,0) endparam param p2 caption="Devaney Parameter 2" default=(0.5,0) endparam param p3 caption="Devaney Parameter 3" default=(-0.25,0) endparam param p4 caption="Devaney Parameter 4" default=(0.5,0) endparam param p5 caption="Devaney Parameter 5" default=(-0.25,0) endparam param p6 caption="Devaney Parameter 6" default=(-1.6,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=2 endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.5,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=10000000000.0 endparam } BivarDevaney5 { init: if @sv==0 z=@sf(pixel) k=@sf(pixel) elseif @sv==1 z=@sf(pixel) k=@sp elseif @sv==2 z=@sp k=@sp else z=@sp k=@sf(pixel) endif c=@sf(pixel) loop: z=@zp1*z+@zp2 k=@kp1*k+@kp2 a=k if @v==0 k=(k/z)^@pow1+@p1/((k/z)-@p2)^@pow2 z=z^@pow1+@p3*c/(z-@p4)^@pow2+a^@pow1+@p5*c/(a-@p6)^@pow2 elseif @v==1 k=(k-z)^@pow1+@p1/((k-z)-@p2)^@pow2 z=z^@pow1+(@p3-1.5)*c/(z-@p4)^@pow2+a^@pow1+@p5*c/(a-@p6)^@pow2 else k=(k*z)^@pow1+@p1/((k*z)-@p2)^@pow2 z=z^@pow1+(@p3-2.5)*c/(z-@p4)^@pow2+a^@pow1+@p5*c/(a-@p6)^@pow2 endif bailout: |(z+k)/2|<@bail default: title="Bivar Devaney 5" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sv caption="Start Variant" enum="1""2""3""4" endparam param v caption="Bivar Variant" enum="1""2""3" endparam param sp caption="Start Parameter" default=(-1,0) visible=@sv!=0 endparam param p1 caption="Devaney Parameter 1" default=(0.5,0) endparam param p2 caption="Devaney Parameter 2" default=(3,0) endparam param p3 caption="Devaney Parameter 3" default=(2,0) endparam param p4 caption="Devaney Parameter 4" default=(0.5,0) endparam param p5 caption="Devaney Parameter 5" default=(-0.5,0) endparam param p6 caption="Devaney Parameter 6" default=(-2,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=2 endparam param zp1 caption="Z Parameter 1" default=(0.5,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam param kp1 caption="K Parameter 1" default=(0.5,0) endparam param kp2 caption="K Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=10000000000.0 endparam } DasDebataBarnsley { ;Das-Debata iteration from ;https://link.springer.com/article/10.1007/s11071-017-3813-6 ;(21) init: z=@sf(pixel) fz=(0,0) fu=(0,0) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z if real(@f1a(z))*imag(@p3a)+real(@p3a)*imag(@f1a(z))>=0 fz=(z-@p2a)*@p1a else fz=(z+@p2a)*@p1a endif u=(1-@ddp1)*z+@ddp1*fz if real(@f1b(u))*imag(@p3b)+real(@p3b)*imag(@f1b(u))>=0 fu=(u-@p2b)*@p1b else fu=(u+@p2b)*@p1b endif z=(1-@ddp2)*z+@ddp2*fu bailout: |z|<@bail default: title="Das-Debata Barnsley" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param ddp1 caption="Das-Debata Parameter 1" default=(-0.11,0.33) endparam param ddp2 caption="Das-Debata Parameter 2" default=(0.34,0.01) endparam param p1a caption="Barnsley Parameter 1a" default=(3.7,-0.29) endparam param p1b caption="Barnsley Parameter 1b" default=(1.68,0.25) endparam param p2a caption="Barnsley Parameter 2a" default=(0.02,0.48) endparam param p2b caption="Barnsley Parameter 2b" default=(1.2,-0.23) endparam param p3a caption="Barnsley Parameter 3a" default=(1,1) endparam param p3b caption="Barnsley Parameter 3b" default=(1,1) endparam func f1a caption="Barnsley Function a" default=ident() endfunc func f1b caption="Barnsley Function b" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000000.0 endparam } DasDebataCayley { ;Das-Debata iteration from ;https://link.springer.com/article/10.1007/s11071-017-3813-6 ;(21) init: if @jm==0 z=@sf(pixel) else z=@sp endif c=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z if @jm==0 u=(1-@p1)*z+@p1*(((z-1i)/(z+1i))^@pow1+@cp1) z=(1-@p2)*z+@p2*(((u-1i)/(u+1i))^@pow2+@cp2) else u=(1-@p1)*z+@p1*(((z-1i)/(z+1i))^@pow1+@cp1*c) z=(1-@p2)*z+@p2*(((u-1i)/(u+1i))^@pow2+@cp2*c) endif bailout: |z-zold|>@bail default: title="Das-Debata Cayley" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jm caption="J/M" enum="J""M" endparam param sp caption="Start Parameter" default=(0,0) visible=@jm!=0 endparam param p1 caption="Das-Debata Parameter 1" default=(0.85,0) endparam param p2 caption="Das-Debata Parameter 2" default=(0.4,0) endparam param cp1 caption="Cayley Parameter 1" default=(0.5,0) endparam param cp2 caption="Cayley Parameter 2" default=(0.4,0) endparam param pow1 caption="Exponent 1" default=2 endparam param pow2 caption="Exponent 2" default=2 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=0.00000001 endparam } DasDebataDevaney { ;Das-Debata iteration from ;https://link.springer.com/article/10.1007/s11071-017-3813-6 ;(21) init: if @jm==0 z=@sf(pixel) else z=@sp endif c=@sf(pixel) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z if @jm==0 u=(1-@p1)*z+@p1*(z^@pow1a+@jsa/(z-@mpa)^@pow2a) z=(1-@p2)*z+@p2*(u^@pow1b+@jsb/(u-@mpb)^@pow2b) else u=(1-@p1)*z+@p1*(z^@pow1a+@ppa*c/(z-@mpa)^@pow2a) z=(1-@p2)*z+@p2*(u^@pow1b+@ppb*c/(u-@mpb)^@pow2b) endif bailout: |z|<@bail default: title="Das-Debata Devaney" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jm caption="J/M" enum="J""M" endparam param sp caption="Start Parameter" default=(0.6,0) visible=@jm!=0 endparam param p1 caption="Das-Debata Parameter 1" default=(-0.325,0) endparam param p2 caption="Das-Debata Parameter 2" default=(0.4,0) endparam param jsa caption="Julia Seed a" default=(0.25,0) visible=@jm==0 endparam param jsb caption="Julia Seed b" default=(1.25,0) visible=@jm==0 endparam param mpa caption="Modification Parameter a" default=(0.25,0) endparam param mpb caption="Modification Parameter b" default=(2.5,0) endparam param ppa caption="Pixel Parameter a" default=(1,0) visible=@jm==1 endparam param ppb caption="Pixel Parameter b" default=(1,0) visible=@jm==1 endparam param pow1a caption="Exponent 1a" default=2 endparam param pow1b caption="Exponent 1b" default=2 endparam param pow2a caption="Exponent 2a" default=2 endparam param pow2b caption="Exponent 2b" default=1 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } DasDebataIFB { ;Das-Debata iteration from ;https://link.springer.com/article/10.1007/s11071-017-3813-6 ;(21) init: z=@sf(pixel) fz=(0,0) fu=(0,0) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z float a=real(z) if a<0 fz=z*@f1a(@p1a)+@p2a endif if 0<=a fz=z*@f2a(@p1a)+@p3a endif u=(1-@ddp1)*z+@ddp1*fz if a<0 fu=u*@f1b(@p1b)+@p2b endif if 0<=a fu=u*@f2b(@p1b)+@p3b endif z=(1-@ddp2)*z+@ddp2*fu bailout: |z|<@bail default: title="Das-Debata IFB" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param ddp1 caption="Das-Debata Parameter 1" default=(2.44,-0.86) endparam param ddp2 caption="Das-Debata Parameter 2" default=(-0.32,0.52) endparam param p1a caption="IFB Parameter 1a" default=(1.77,-0.42) endparam param p1b caption="IFB Parameter 1b" default=(1.03,0.57) endparam param p2a caption="IFB Parameter 2a" default=(1.42,-0.13) endparam param p2b caption="IFB Parameter 2b" default=(-1.06,-0.75) endparam param p3a caption="IFB Parameter 3a" default=(2.71,0.22) endparam param p3b caption="IFB Parameter 3b" default=(-0.26,-2.22) endparam func f1a caption="IFB Function 1a" default=ident() endfunc func f2a caption="IFB Function 2a" default=conj() endfunc func f1b caption="IFB Function 1b" default=ident() endfunc func f2b caption="IFB Function 2b" default=log() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000000.0 endparam } DasDebataMagnetJ { ;Das-Debata iteration from ;https://link.springer.com/article/10.1007/s11071-017-3813-6 ;(21) init: z=@sf(pixel) loop: zold=z z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z u=(1-@p1)*z+@p1*(sqr((z^2+@mp1-1)/(2*z+@mp1-2))) z=(1-@p2)*z+@p2*(sqr((u^2+@mp2-1)/(2*u+@mp2-2))) bailout: |z|<@upperbail && |z-zold|>@lowerbail default: title="Das-Debata Magnet J" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param p1 caption="Das-Debata Parameter 1" default=(-2,0) endparam param p2 caption="Das-Debata Parameter 2" default=(0.5,0) endparam param mp1 caption="Magnet Parameter 1" default=(-0.1,0) endparam param mp2 caption="Magnet Parameter 2" default=(-0.5,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param upperbail caption="Divergent Bailout" default=100.0 endparam param lowerbail caption="Convergent Bailout" default=0.000001 endparam } DasDebataMagnetM { ;Das-Debata iteration from ;https://link.springer.com/article/10.1007/s11071-017-3813-6 ;(21) init: z=@sp c=@sf(pixel) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z u=(1-@p1)*z+@p1*(sqr((z^2+@mp1*c-1)/(2*z+@mp1*c-2))) z=(1-@p2)*z+@p2*(sqr((u^2+@mp2*c-1)/(2*u+@mp2*c-2))) bailout: |z|<@bailout && |z-1|>=@lowerbailout default: title="Das-Debata Magnet M" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param sp caption="Start Parameter" default=(0,0) endparam param p1 caption="Das-debata Parameter 1" default=(0.35,0) endparam param p2 caption="Das-debata Parameter 2" default=(1.8,0) endparam param mp1 caption="Magnet Parameter 1" default=(0.5,0) endparam param mp2 caption="Magnet Parameter 2" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bailout caption="Divergent Bailout" default=100.0 endparam param lowerbailout caption="Convergent Bailout" default=0.00005 endparam } GeneralisedAgarwalMunster { ;generalised Agarwal iteration from ;https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7517277/ ;(21) init: if @jm==0 z=@sf(pixel) else z=@sp endif c=@sf(pixel) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z if @jm==0 u=(1-@p1)*z+@p1*(@mp1b*z^2*(z-@mp1a)/(1-@mp1a*z)) z=(1-@p2)*(@mp2b*z^2*(z-@mp2a)/(1-@mp2a*z))+@p2*(@mp3b*u^2*(u-@mp3a)/(1-@mp3a*u)) elseif @jm==1 u=(1-@p1)*z+@p1*(@mp1b*c*z^2*(z-@mp1a)/(1-@mp1a*z)) z=(1-@p2)*(@mp2b*c*z^2*(z-@mp2a)/(1-@mp2a*z))+@p2*(@mp3b*c*u^2*(u-@mp3a)/(1-@mp3a*u)) elseif @jm==2 u=(1-@p1)*z+@p1*(@mp1b*z^2*(z-@mp1a)/(1-@mp1a*z)+c) z=(1-@p2)*(@mp2b*z^2*(z-@mp2a)/(1-@mp2a*z)+c)+@p2*(@mp3b*u^2*(u-@mp3a)/(1-@mp3a*u)+c) else u=(1-@p1)*z+@p1*(@mp1b*c*z^2*(z-@mp1a)/(1-@mp1a*z)+c) z=(1-@p2)*(@mp2b*c*z^2*(z-@mp2a)/(1-@mp2a*z)+c)+@p2*(@mp3b*c*u^2*(u-@mp3a)/(1-@mp3a*u)+c) endif bailout: |z|<@bail default: title="Generalised Agarwal Munster" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jm caption="J/M" enum="J""M1""M2""M3" endparam param sp caption="Start Parameter" default=(-1,0) visible=@jm!=0 endparam param p1 caption="GA Parameter 1" default=(0.67,0) endparam param p2 caption="GA Parameter 2" default=(-1.385,0) endparam param mp1a caption="Munster Parameter 1a" default=(1.6,0) endparam param mp1b caption="Munster Parameter 1b" default=(1,0) endparam param mp2a caption="Munster Parameter 2a" default=(3.8,0) endparam param mp2b caption="Munster Parameter 2b" default=(1,0) endparam param mp3a caption="Munster Parameter 3a" default=(1.5,0) endparam param mp3b caption="Munster Parameter 3b" default=(1,0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } GeneralisedAgarwalPhoenix { ;generalised Agarwal iteration from ;https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7517277/ ;(21) init: a=@sp1 b=(0,0) if @jm==0 z=@sf(pixel) else z=@sp2 endif c=@sf(pixel) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z if @jm==0 u=(1-@p1)*z+@p1*(z^@pow1a+z^@pow2a*@pp2a+@pp1a*a) b=(1-@p2)*(z^@pow1b+z^@pow2b*@pp2b+@pp1b*a)+@p2*(u^@pow1c+u^@pow2c*@pp2c+@pp1c*a) else u=(1-@p1)*z+@p1*(z^@pow1a+z^@pow2a*c+@pp1a*a) b=(1-@p2)*(z^@pow1b+z^@pow2b*c+@pp1b*a)+@p2*(u^@pow1c+u^@pow2c*c+@pp1c*a) endif a=z z=b bailout: |z|<@bail default: title="Generalised Agarwal Phoenix" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jm caption="J/M" enum="J""M" endparam param sp1 caption="Start Parameter" default=(0,0) endparam param sp2 caption="Start Parameter 2" default=(0.65,0) visible=@jm==1 endparam param p1 caption="GA Parameter 1" default=(0.67,0) endparam param p2 caption="GA Parameter 2" default=(-1.385,0) endparam param pp1a caption="Phoenix Parameter a" default=(-0.5,0) endparam param pp1b caption="Phoenix Parameter b" default=(-1.5,0) endparam param pp1c caption="Phoenix Parameter c" default=(-1.55,0) endparam param pp2a caption="Phoenix Parameter 2a" default=(0.56667,0) visible=@jm==0 endparam param pp2b caption="Phoenix Parameter 2b" default=(0.76667,0) visible=@jm==0 endparam param pp2c caption="Phoenix Parameter 2c" default=(0.36667,0) visible=@jm==0 endparam param pow1a caption="Exponent 1a" default=3 endparam param pow1b caption="Exponent 1b" default=2 endparam param pow1c caption="Exponent 1c" default=1 endparam param pow2a caption="Exponent 2a" default=0 endparam param pow2b caption="Exponent 2b" default=0 endparam param pow2c caption="Exponent 2c" default=0 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } Girmolda { init: if @st==0 z=@sf(pixel) else z=@sp endif c=@sf(pixel) loop: z=@zp1*z+@zp2 if @st==1 z=z*(z-p3)/(1-p3*z) z=z*((c-@p1)*(z-@p1)-c*(@p2-1/z)) else z=z*(z-p3)/(1-p3*z) z=z*((@pp*c-@p1)*(z-@p1)-@pp*c*(@p2-1/z)) endif bailout: |z|<@bail default: title="Girmolda" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param st caption="Start Type" enum="Pixel""Parameter" endparam param sp caption="Start Parameter" default=(-0.75,0) visible=@st==1 endparam param p1 caption="Girmolda Parameter 1" default=(-0.3,0) endparam param p2 caption="Girmolda Parameter 2" default=(2.05,0) endparam param p3 caption="Girmolda Parameter 3" default=(1.5,0) endparam param pp caption="Pixel Parameter" default=(1,0) visible=@st==0 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=100000000.0 endparam } Glawlengy { init: if @jm==0 z=@sf(pixel) else if @st==0 z=@sf(pixel) else z=@sp endif endif c=@sf(pixel) loop: z=@zp1*z+@zp2 if @jm==0 z=z*(z-@p1)/(1-@p1*z) z=(1-z)^2*(1-@p2*z)/(1+@p2*z) elseif @jm==1 && @st==0 z=z*(z-@p1)/(1-@p1*z) z=(1-z)^2*(1-@p2*c*z)/(1+@p2*c*z) else z=z*(z-@p1)/(1-@p1*z) z=(1-z)^2*(1+c*z/2)/(1-c*z/2) endif bailout: |z|<@bail default: title="Glawlengy" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jm caption="J/M" enum="J""M" endparam param st caption="Start Type" enum="Pixel""Parameter" visible=@jm==1 endparam param sp caption="Start Parameter" default=(-0.5,0) visible=@jm==1 && @st==1 endparam param p1 caption="Glawlengy Parameter 1" default=(1.5,0) endparam param p2 caption="Glawlengy Parameter 2" default=(-0.5,0) visible=@jm==0 || (@jm==1 && @st==0) endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param bail caption="Bailout" default=100000000.0 endparam } GeneralisedAgarwalBarnsley { ;generalised Agarwal iteration from ;https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7517277/ ;(21) init: z=@sf(pixel) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z if real(@f1a(z))*imag(@bp3a)+real(@bp3a)*imag(@f1a(z))>=0 fz=(z-@bp2a)*@bp1a else fz=(z+@bp2a)*@bp1a endif u=(1-@p1)*z+@p1*fz if real(@f1b(z))*imag(@bp3b)+real(@bp3b)*imag(@f1b(z))>=0 fz2=(z-@bp2b)*@bp1b else fz2=(z+@bp2b)*@bp1b endif if real(@f1c(u))*imag(@bp3c)+real(@bp3c)*imag(@f1c(u))>=0 fu=(u-@bp2c)*@bp1c else fu=(u+@bp2c)*@bp1c endif z=(1-@p2)*fz2+@p2*fu bailout: |z|<@bail default: title="Generalised Agarwal Barnsley" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param p1 caption="GA Parameter 1" default=(-0.4,0) endparam param p2 caption="GA Parameter 2" default=(-0.51,0) endparam param bp1a caption="Barnsley Parameter 1a" default=(3.7,-0.29) endparam param bp1b caption="Barnsley Parameter 1b" default=(0.51,0.86) endparam param bp1c caption="Barnsley Parameter 1c" default=(0.84,0.91) endparam param bp2a caption="Barnsley Parameter 2a" default=(0.02,0.48) endparam param bp2b caption="Barnsley Parameter 2b" default=(1.2,-0.23) endparam param bp2c caption="Barnsley Parameter 2c" default=(1.2,-0.23) endparam param bp3a caption="Barnsley Parameter 3a" default=(1,1) endparam param bp3b caption="Barnsley Parameter 3b" default=(0,1) endparam param bp3c caption="Barnsley Parameter 3c" default=(1,1) endparam func f1a caption="Barnsley Function a" default=ident() endfunc func f1b caption="Barnsley Function b" default=ident() endfunc func f1c caption="Barnsley Function c" default=ident() endfunc param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam } GeneralisedAgarwalDevaney { ;generalised Agarwal iteration from ;https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7517277/ ;(21) init: if @jm==0 z=@sf(pixel) else z=@sp endif c=@sf(pixel) loop: z=@zp1*z+@zp2 z=z+@as*sqr(z) z=z+@ar/z if @jm==0 u=(1-@p1)*z+@p1*(z^@pow1a+@jsa/(z-@mpa)^@pow2a) z=(1-@p2)*(z^@pow1b+@jsb/(z-@mpb)^@pow2b)+@p2*(u^@pow1c+@jsc/(u-@mpc)^@pow2c) else u=(1-@p1)*z+@p1*(z^@pow1a+@ppa*c/(z-@mpa)^@pow2a) z=(1-@p2)*(z^@pow1b+@ppb*c/(z-@mpb)^@pow2b)+@p2*(u^@pow1c+@ppc*c/(u-@mpc)^@pow2c) endif bailout: |z|<@bail default: title="Generalised Agarwal Devaney" center=(0.001,0.001) periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param jm caption="J/M" enum="J""M" endparam param sp caption="Start Parameter" default=(0.6,0) visible=@jm!=0 endparam param p1 caption="GA Parameter 1" default=(0.6,0) endparam param p2 caption="GA Parameter 2" default=(0.3,0) endparam param jsa caption="Julia Seed a" default=(-0.4,0) visible=@jm==0 endparam param jsb caption="Julia Seed b" default=(1.65,0) visible=@jm==0 endparam param jsc caption="Julia Seed c" default=(0.5,0) visible=@jm==0 endparam param mpa caption="Modification Parameter a" default=(0.25,0) endparam param mpb caption="Modification Parameter b" default=(2.5,0) endparam param mpc caption="Modification Parameter c" default=(1.5,0) endparam param pow1a caption="Exponent 1a" default=2 endparam param pow1b caption="Exponent 1b" default=2 endparam param pow2a caption="Exponent 2a" default=2 endparam param pow2b caption="Exponent 2b" default=1 endparam param pow1c caption="Exponent 1c" default=1 endparam param pow2c caption="Exponent 2c" default=2 endparam param ppa caption="Pixel Parameter a" default=(1,0) visible=@jm==1 endparam param ppb caption="Pixel Parameter b" default=(1,0) visible=@jm==1 endparam param ppc caption="Pixel Parameter c" default=(1,0) visible=@jm==1 endparam param zp1 caption="Z Parameter 1" default=(1,0) endparam param zp2 caption="Z Parameter 2" default=(0,0) endparam func sf caption="Pixel Function" default=ident() endfunc param as caption="Add Sqr Parameter" default=(0,0) endparam param ar caption="Add recip Parameter" default=(0,0) endparam param bail caption="Bailout" default=100.0 endparam }