;Evan Bayliss - Formulae for Ultrafractal. All made using UF6 JuliaEBadjustedcorrected1 { ; ; Evan Bayliss ; Mixed Mandelbrot and Julia Calculations ; The original formula had an error. init: z = #pixel, int n =0 loop: if n ==0 z = z^@power + @seed n = 1 elseif n ==1 z = z^@power + #pixel n = 0 endif bailout: |z| <= @bailout default: title = "Julia EB Adjusted corrected 1" helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\julia.html" $IFDEF VER50 rating = recommended $ENDIF param seed caption = "Julia seed" default = (-1.25, 0) hint = "Use this parameter to determine the Julia seed component. This will \ influence the regions which have a Julia Set appearance and which look like \ Mandelbrot " endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z" endparam param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Mandelbrot" power = power bailout = bailout } Mandelscale1 { ; ; Mandel brot calculations using different power values. ; This allows iterations to ascend and descend between different powersof z ; Evan Bayliss May 2021 ; init: z = @start, count = 0 loop: ; set up cycle of 8 iterations count = count +1 if count == 9 count = 1 endif ; cycle of 8 iterations if count == 1 z = z^@power1 + #pixel elseif count == 2 z = z^@power2 + #pixel elseif count == 3 z = z^@power3 + #pixel elseif count == 4 z = z^@power4 + #pixel elseif count == 5 z = z^@power5 + #pixel elseif count == 6 z = z^@power6 + #pixel elseif count == 7 z = z^@power7 + #pixel elseif count == 8 z = z^@power8 + #pixel endif bailout: |z| <= @bailout default: title = "MandelScale 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power1 caption = "1st Power" default = 2.0 hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param power2 caption = "2nd Power" default = 2.0 endparam param power3 caption = "3rd Power" default = 2.0 endparam param power4 caption = "4th Power" default = 2.0 endparam param power5 caption = "5th Power" default = 2.0 endparam param power6 caption = "6th Power" default = 2.0 endparam param power7 caption = "7th Power" default = 2.0 endparam param power8 caption = "8th Power" default = 2.0 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelbrotwithJuliacalcs1corrver2 { ; Evan Bayliss ; A further set of formulae combining Mandelbrot and Julia calculations ; There is choice of different pixel and seed combinations ; Number of Mandelbrot iterations initially and Julia calculations following can be specified ; init: z = @start, count =0 ,jcount = @mcalc + @jcalc loop: if @choice == 0 count = count + 1 if count <= @mcalc z = z^@power + #pixel elseif count > @mcalc && count <= jcount z = z^@power + @seed endif elseif @choice == 1 count = count + 1 if count <= @mcalc z = z^@power + #pixel elseif count > @mcalc && count <= jcount z = z^@power - @seed endif elseif @choice == 2 count = count + 1 if count <= @mcalc z = z^@power - #pixel elseif count > @mcalc && count <= jcount z = z^@power + @seed endif elseif @choice == 3 count = count + 1 if count <= @mcalc z = z^@power - #pixel elseif count > @mcalc && count <= jcount z = z^@power - @seed endif elseif @choice == 4 count = count + 1 if count <= @mcalc z = z^@power + #pixel + @seed elseif count > @mcalc && count <= jcount z = z^@power - #pixel - @seed endif elseif @choice == 5 count = count + 1 if count <= @mcalc z = z^@power - #pixel - @seed elseif count > @mcalc && count <= jcount z = z^@power + #pixel + @seed endif elseif @choice == 6 count = count + 1 if count <= @mcalc z = z^@power + #pixel - @seed elseif count > @mcalc && count <= jcount z = z^@power - #pixel + @seed endif elseif @choice == 7 count = count + 1 if count <= @mcalc z = z^@power - #pixel + @seed elseif count > @mcalc && count <= jcount z = z^@power + #pixel - @seed endif elseif @choice == 8 z = z^@power + @power*@seed*z + #pixel elseif @choice == 9 z = z^@power + @power*#pixel*z + @seed endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 1 corrected version 2" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param choice caption = " Choice of pixel and seed" enum = "z^power+pixel/z^power+seed" "z^power+pixel/z^power-seed" "z^power-pixel/z^power+seed" "z^power-pixel/z^power-seed" \ "z^power+pixel+seed/z^power-pixel-seed" "z^power-pixel-seed/z^power+pixel+seed" "z^power+pixel-seed/z^power-pixel+seed" "z^power-pixel+seed/z^power+pixel-seed" \ "z^power+power*seed*z+pixel" "z^power+power*pixel*z + seed"\ default = 0 endparam complex param seed caption = "Julia Seed" default = (0.34025,0) endparam param mcalc caption = "Number of Mandelbrot type iterations" default = 1 endparam param jcalc caption = "Number of Julia type calculations" default =1 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotwithJuliacalcs1corr { ; ; Evan Bayliss ; Combined Julia and Mandelbrot formulae. Original file corrected ; Number of iterations with Mandelbrot formula specified before switching to Julia ; Low iterations produce smoothed silhouettes. Periodicity may need to be turned off init: z = @start, count =0 loop: if count <= @mcalc z = z^@power + #pixel count = count + 1 else z = z^@power + @seed endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 1 corrected" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures." endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam param mcalc caption = "Number of Mandelbrot type iterations" default = 1 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelJuliafunctioncalcs1 { ; ; Evan Bayliss ; Combined Julia and Mandelbrot formulae. ; Number of iterations with Mandelbrot formula specified before switching to Julia ; Low iterations produce smoothed silhouettes. Periodicity may need to be turned off init: z = @start, count = -1 loop: count = -count if count ==1 z = z^@power + #pixel + @allfunc1(z^@power + #pixel +@seed) else z = z^@power + @seed + @allfunc2(z^@power + #pixel +@seed) endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations including function element 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures." endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam func allfunc1 caption = "Function for Mandel calc" default = sqr() endfunc func allfunc2 caption = "Function for Mandel calc" default = sqr() endfunc ;param mcalc ;caption = "Number of Mandelbrot type iterations" ;default = 1 ;endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelJuliafunctioncalcs2 { ; Evan Bayliss ; Combined Julia and Mandelbrot formulae. Original file corrected ; Number of iterations with Mandelbrot formula specified before switching to Julia ; Low iterations produce smoothed silhouettes. Periodicity may need to be turned off init: z = @start, count = -1 loop: count = -count if @choice == 0 if count == 1 z = z^@power + #pixel + @allfunc1(z^@power + #pixel +@seed) else z = z^@power + @seed + @allfunc2(z^@power + #pixel +@seed) endif elseif @choice == 1 if count == 1 z = z^@power + #pixel + @allfunc1(z^@power + #pixel +@seed) else z = z^@power + @seed - @allfunc2(z^@power + #pixel +@seed) endif elseif @choice == 2 if count == 1 z = z^@power + #pixel + @seed else z = z^@power + @seed + @allfunc2(z^@power + #pixel +@seed) endif elseif @choice == 3 if count == 1 z = z^@power + #pixel + @seed else z = z^@power -(#pixel +@seed) endif elseif @choice == 4 if count == 1 z = z^@power + #pixel - @seed else z = z^@power + @seed - #pixel endif elseif @choice == 5 if count == 1 z = z^@power - #pixel +@seed else z = z^@power + +#pixel - @seed endif endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations including function element 2" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures." endparam param choice caption = "type of formulae" enum = "allfunc1 + allfunc2" "allfunc1 - allfunc2" "allfunc2 only" "pix+seed alt with -(pix+seed)" "pix-seed alt with seed-pix" "seed-pix alt with pix-seed" default =0 max = 5 endparam complex param seed caption = "Julia Seed" default = (0.0420387,0) endparam func allfunc1 caption = "Function for Mandel calc" default = sqr() endfunc func allfunc2 caption = "Function for Mandel calc" default = sqr() endfunc ;param mcalc ;caption = "Number of Mandelbrot type iterations" ;default = 1 ;endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } Magnet1MandelbrotJulia1 { ; Evan Bayliss ; Magnetic Mandelbrot set type 1 combined with Julia set type 1. ; init: z = p1, x = 0 loop: zold = z if x == 0 z = sqr( (z^2 + pixel - 1) / (2*z + pixel - 2) ) x=1 else z = sqr( (z^3 + 3 * (@pa1-1) * z + (@pa1-1) * (@pa1-2)) / \ (3 * z^2 + 3 * (@pa1-2) * z + (@pa1-1) * (@pa1-2) + 1) ) x=0 endif bailout: |z| < @bailout && |z - 1| > @lowerbailout default: title = "Magnet 1 (Mandelbrot) (Julia) 1" helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\magnet.html" magn = 0.5 periodicity = 0 param p1 caption = "Perturbation" default = (0, 0) hint = "Starting value for each point. You can use this to \ 'perturb' the fractal. Use (0, 0) for the classic set." endparam param pa1 caption = "Parameter" default = (0, 0) hint = "This parameter defines the shape of the fractal. " endparam param bailout caption = "Bailout value" default = 100.0 min = 1 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; smaller values \ generally produce more interesting shapes around the set." endparam param lowerbailout caption = "Convergent bailout value" default = 0.00005 min = 0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon a convergent orbit bails out while \ iterating. Smaller values give more precise results but usually \ require more iterations." endparam } MandelbrotwithJuliacalcs1reversed { ; ; Evan Bayliss. ; Generic Mandelbrot and Julia calculations in same formula ; Julia calculations are performed before Mandelbrot calculations init: z = @start, count =0 loop: if count <= @mcalc z = z^@power + @seed count = count + 1 else z = z^@power + #pixel endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 1 Reversed" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted sets. Use (2, 0) \ for the standard figure." endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.0) endparam param mcalc caption = "Number of Mandelbrot type iterations" default = 1 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelbrotwithJuliacalcs2 { ; ; Evan Bayliss ; derived from Generic Mandelbrot set. ; This one uses alternating Mandel and Julia iterations init: z = @start, juliacount = 0, mandelcount = 0, loopcount =0 loop: if @reverse == 0 if loopcount == 0 while juliacount <= @jcalc z = z^@power + @seed juliacount = juliacount + 1 endwhile loopcount = 1 else while mandelcount <= @mcalc z = z^@power + #pixel mandelcount = mandelcount +1 loopcount = 0 endwhile endif elseif @reverse == 1 if loopcount == 0 while mandelcount <= @mcalc z = z^@power + @seed mandelcount = mandelcount + 1 endwhile loopcount = 1 else while juliacount <= @jcalc z = z^@power + #pixel juliacount = juliacount +1 loopcount = 0 endwhile endif endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 2" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted sets. Use (2, 0) \ for the standard figure." endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.0) endparam param reverse caption = "Order of calculations" enum = "Julia first" "Mandelbrot first" default =0 endparam param jcalc caption = "Number of Julia type iterations" default = 0 endparam param mcalc caption = "Number of Mandelbrot type iterations" default = 1 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelbrotwithJuliacalcs3a { ; Evan Bayliss ; derived from Generic Mandelbrot set. ; This one uses alternating Mandel and Julia iterations; init: z = @start, count = 1 loop: if count == 1 z = z^@power + #pixel count = 0 else z = z^@power + @seed + #pixel count = 1 endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 3a" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create figures" endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotwithJuliacalcs4 { ; ; Evan Bayliss ;Another group of mixed Mandelbrot and Julia formulae init: z = zz = @start, count = 1 loop: if @choice == 0 z = z^@power + #pixel/count z = z^@power + @sfunc(@seed*count) count = count + 1 elseif @choice == 1 zz = zz^@power + @seed z = z^@power + zz + #pixel elseif @choice == 2 z = z^@power + zz + #pixel zz = zz^@power + @seed endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 4" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param choice caption = "Choice of Formulae" enum = "z = z^@power + #pixel/count||z = z^@power + @sfunc(@seed*count)" "zz = zz^@power + @seed||z=z^@power + zz + #pixel" "z=z^@power + zz + #pixel||zz = zz^@power + @seed" default =0 endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures" endparam func sfunc caption = "Seed function" default = sqr() endfunc complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotwithJuliacalcs6 { ; ; Evan Bayliss ; Combined Julia and Mandelbrot formulae. Original file corrected ; Number of iterations with Mandelbrot formula specified before switching to same number of Julia iterations - or other way round ; Low iterations produce smoothed silhouettes. Periodicity may need to be turned off init: z = @start, int count = 0 loop: if @choice == 0 if @mcalc % count < (@mcalc/2) z = z^@power + #pixel count = count + 1 else z = z^@power + @seed count = count +1 if count == @mcalc count = 0 endif endif else if @mcalc % count < (@mcalc/2) z = z^@power + @seed count = count + 1 else z = z^@power + #pixel count = count +1 if count == @mcalc count = 0 endif endif endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 6" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures." endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam param choice caption = "Mandel or Julia first" enum = "Mandel first" "Julia first" default = 0 endparam int param mcalc caption = "No of Mandel and Julia iterations per cycle" default = 1 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotwithJuliacalcs7 { ; ; Evan Bayliss ; Combined Julia and Mandelbrot formulae. ; Number of iterations with Mandelbrot formula specified before switching to same number of Julia iterations - or other way round ; Low iterations produce smoothed silhouettes. Periodicity may need to be turned off init: z = @start, int count = 0 loop: if @choice == 0 if @mcalc % count < (@mcalc/2) z = z^@power + #pixel count = count + 1 else z = z^@power + @funct(@seed) count = count +1 if count == @mcalc count = 0 endif endif else if @mcalc % count < (@mcalc/2) z = z^@power + @seed count = count + 1 else z = z^@power + @funct(#pixel) count = count +1 if count == @mcalc count = 0 endif endif endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 7" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures." endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam param choice caption = "Mandel or Julia first" enum = "Mandel first" "Julia first" default = 0 endparam int param mcalc caption = "No of Mandel and Julia iterations per cycle" default = 1 endparam func funct caption = "Function for pixel or seed" default =sqr() endfunc float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotwithJuliacalcs8 { ; Evan Bayliss ; derived from Generic Mandelbrot set. ; This one uses alternating Mandel and Julia iterations init: zm = zj = @start, juliacount = 0, mandelcount = 0, loopcount =0 loop: if @reverse == 0 zj = zj^@power + @seed zj =zj + zm zm = zm^@power + #pixel zm = zm +zj zx = (zm * zj)/2 elseif @reverse == 1 zm = zm + zj zm = zm^@power + @seed zj = zj +zm zj = zj^@power + #pixel zx = (zm * zj)/2 endif bailout: |zx| <= @bailout default: title = "Mandelbrot with Julia type calculations 8" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam param reverse caption = "Order of calculations" enum = "Julia first" "Mandelbrot first" default =0 endparam param jcalc caption = "Number of Julia type iterations" default = 0 endparam param mcalc caption = "Number of Mandelbrot type iterations" default = 1 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotPoweradjust1 { ; ; Evan Bayliss ;Mandelbrot set with the z power value adjustable, both initially and also incrementally with each iteration . ; init: z = @start, complex poweradj = (0,0) loop: poweradj = poweradj + @increment z = z^(@power + poweradj) + #pixel bailout: |z| <= @bailout default: title = "Mandelbrot Power Adjust 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param power caption = " Initial power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param increment caption = "Power increment" default = (0,0) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelbrotAveraging4 { ; ; Evan Bayliss ; Mandelbrot set seeing what happens if z values are "averaged" . ; init: z = initstart = @start, complex zlow = (0,0), complex zhigh = (0,0), float yy = 0 loop: z = z^@power + #pixel if z < zlow zlow = z elseif z > zhigh zhigh = z endif if @zchoice == 0 yy = (|zhigh| + |zlow|)/2 elseif @zchoice == 1 yy = (|zhigh + zlow|)/2 endif bailout: yy <= @bailout default: title = "MandelbrotAveraging4" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures" endparam param zchoice caption = "Choice of averaging" enum = "(|zhigh| + |zlow|)/2" "(|zhigh + zlow|)/2" default =0 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelbrotPixelVariants { ; Evan Bayliss ; Mandelbrot set with various pixel adjustments. ; init: z = @start loop: if @choice == 0 z = z^@zpower + #pixel^@ppower elseif @choice == 1 z = z^@zpower + @pixfunc(#pixel) elseif @choice == 2 z = z^@zpower + @pixfunc(#pixel^@ppower) elseif @choice == 3 z = z^|#pixel| + #pixel^@ppower endif bailout: |z| <= @bailout default: title = "Mandelbrot Pixel Variants" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param choice caption = "Choice of pixel variant" enum = "#pixel^ppower" "func(#pixel)" "func(#pixel^ppower)" "z^|#pixel| + #pixel^ppower" default = 0 max = 3 endparam func pixfunc default = sqr() endfunc param zpower caption = "z power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures" endparam param ppower caption = "pixel power" default = (1,0) hint = "This parameter adjusts the power values for #pixel." endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } MandelbrotwithJuliacalcsandtrinomialroots1 { ; Evan Bayliss ; Mandelbrot and Julia hybrid combined with trinomial roots (solutions for Quadratic equation). ; global: factora = (-@power + (@power^2 - (4*@a*@seed))^0.5)/2*@a factorb = (-@power - (@power^2 - (4*@a*@seed))^0.5)/2*@a init: z = @start, count =0 loop: if count == 0 z = z^@power + @seed +#pixel + factora count = 1 else z = z^@power + @seed +#pixel + factorb count = 0 endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations inc trinomial roots 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the figure. \ Use (0, 0) for the standard figure." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for z. \ Increasing the real part to 3, 4, and so on, will add discs to \ the figure. Non-integer real values and non-zero \ imaginary values will create distorted figures" endparam param a caption = "enter factor a" default = 0.0 endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.0) endparam ;param jcalc ;caption = "Number of Julia type iterations" ;default = 0 ;endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } Mandelbrotdissected1 { ; Evan Bayliss ; Mandelbrot set, adding power to the pixel. ; The "dissected" refers to some code which didn't do much and was deleted init: z = @start, count = 1 loop: if count == 1 z = z^@power + #pixel count = 2 elseif count == 2 z = z^@power + #pixel^@power count = 1 endif bailout: |z| <= @bailout default: title = "Mandelbrot Dissected 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } Experiment2 { ; Evan Bayliss ; Experimental power and pixel MandelJulia variants ; global: init: z = @start, count = 0 z1 = @seed, z2 = @seed/2, z3 = @seed/4, z4 = @seed/8 , z5 = @seed/16, z6 = @seed/32 pix1 = #pixel, pix2 = #pixel/2, pix3 = #pixel/4, pix4 = #pixel/8, pix5 = #pixel/16, pix6 = #pixel/32 loop: if @choice == 0 z = z^@power +pix1+pix2+pix3+pix4+pix5+pix6 z = z^@power +z1+z2+z3+z4+z5+z6 elseif @choice == 1 z = z^@power +pix1 -pix2 +pix3 -pix4+pix5-pix6 z= z^@power +z1 - z2 + z3 - z4 + z5 - z6 elseif @choice == 2 z = z^@power +pix1+(pix2+pix3+pix4+pix5+pix6) z = z^@power +z1 -(z2+z3+z4+z5+z6) elseif @choice == 3 z = z^@power + pix1-(pix2+pix3+pix4+pix5+pix6) z = z^@power +z1+z2+z3+z4+z5+z6 endif bailout: |z| <= @bailout default: title = "Experiment 2" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param choice caption = "Choice of formulae" enum = "pixel and seed in geometric series" "pixel and seed in +/- geometric series" "pixel adds geometric, seed minus geometric" "pixel minus geometric, seed adds geometric" default = 0 max = 3 endparam param seed caption = "Values for Julia" default = (0,0) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } Newton4fnend1 { ; This is the Ultra Fractal version of an old Fractint formula of mine. The original Newton formula ; came from Mark Peterson in the days when Fractint was king. ; Modified by Evan Bayliss. ; The original Root number was set at 1 but now can be varied init: z = #pixel; loop: z3 = @func1(z)*z*z; z4 = z3 *@func2(z); z = (3 * z4 + @Root) / (4 * z3), bailout: |@func2(.004*(z4-@Root))| <= |z4 - @Root| default: param Root caption = "Root value" default = (1,0) endparam func func1 caption = "First function" default = sqr() endfunc func func2 caption = "Second function" default = sqr() endfunc } GnarlaMandelthotep3adj { ;Original Gnarlathotep3 formulas from OttoMagus om.ufm (who gave apologies to HP Lovecraft) ;I hope Cthulhu is not too jealous! ;Modified by Evan Bayliss to alternate gnarlic iterations with standard Mandelbrot init: float x=real(fn1(pixel)/@r) float y=imag(fn1(pixel)/@r) float a=0.0 int i=0 count = -1 loop: count = -count if count == 1 while i<@iter i=i+1 a=x if @v=="1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="2" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @v=="3" x=x-p3*real(sin(y+sin(p1*(y+cos(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+cos(p2*a)))))/10 elseif @v=="4" x=x-p3*real(sin(y+sin(p1*(y+tanh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+tanh(p2*a)))))/10 elseif @v=="5" x=x-p3*real(sin(y+sin(p1*(y+atan(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+atan(p2*a)))))/10 elseif @v=="6" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @v=="7" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @v=="8" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @v=="9" x=x-p3*real(sin(y+cos(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+cos(p1*(a+sin(p2*a)))))/10 elseif @v=="10" x=x-p3*real(sin(y+atanh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+atanh(p1*(a+sin(p2*a)))))/10 elseif @v=="11" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 elseif @v=="12" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @v=="13" x=x-p3*real(cos(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(cos(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="14" x=x-p3*real(acosh(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(acosh(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="15" x=x-p3*real(cos(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="16" x=x-p3*real(cos(y+cos(p1*(y+sin(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+sin(p2*a)))))/10 elseif @v=="17" x=x-p3*real(cos(y+cos(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+asinh(p2*a)))))/10 elseif @v=="18" x=x-p3*real(cos(y+cos(p1*(y+tanh(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+tanh(p2*a)))))/10 elseif @v=="19" x=x-p3*real(cos(y+cos(p1*(y+atan(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+atan(p2*a)))))/10 elseif @v=="20" x=x-p3*real(cos(y+cos(p1*(y+abs(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+abs(p2*a)))))/10 elseif @v=="21" x=x-p3*real(cos(y+cos(p1*(y+recip(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+recip(p2*a)))))/10 elseif @v=="22" x=x-p3*real(cos(y+sin(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+sin(p1*(a+cos(p2*a)))))/10 elseif @v=="23" x=x-p3*real(cos(y+asinh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+asinh(p1*(a+cos(p2*a)))))/10 elseif @v=="24" x=x-p3*real(cos(y+acosh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+acosh(p1*(a+cos(p2*a)))))/10 elseif @v=="25" x=x-p3*real(cos(y+tanh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+tanh(p1*(a+cos(p2*a)))))/10 elseif @v=="26" x=x-p3*real(cos(y+atan(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+atan(p1*(a+cos(p2*a)))))/10 elseif @v=="27" x=x-p3*real(cos(y+sqrt(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+sqrt(p1*(a+cos(p2*a)))))/10 elseif @v=="28" x=x-p3*real(cos(y+abs(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+abs(p1*(a+cos(p2*a)))))/10 elseif @v=="29" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @v=="30" x=x-p3*real(sin(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(sin(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="31" x=x-p3*real(asin(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(asin(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="32" x=x-p3*real(asinh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(asinh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="33" x=x-p3*real(acosh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(acosh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="34" x=x-p3*real(tanh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(tanh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="35" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 endif if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif endwhile z=51*z/50 else z=z^@power + #pixel endif bailout: |z|<@bail default: title="GnarlaMandelthotep 3 adjusted" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26""27""28""29"\ "30""31""32""33""34""35" default=0 endparam param p1 caption="Parameter 1" default=5.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc param V1 caption="Function 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam func fn2 caption="Function 3" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param power caption = " Power value for Mandel z" default = (2,0) endparam param bail caption="Bailout" default=10000000.0 endparam } MandelbrotflipJulia1 { ; Evan Bayliss ; Mandelbrot and Julia combo with ability to reverse order of Julia and Mandelbrot iterations. ; Also third alternative of flip formula init: z = @start, count =0, xcount = -1 loop: if @choice == 0 count = count + 1 jcount = @mcalc+ @jcalc if count <= @mcalc z = z^@power + #pixel elseif count > @mcalc && count <= jcount z = z^@power + @seed endif elseif @choice == 1 count = count + 1 mcount = @mcalc + @jcalc if count <= @jcalc z = z^@power + @seed elseif count > @jcalc && count <= mcount z = z^@power + #pixel endif else xcount = -xcount if xcount == 1 z = z^@power + real(#pixel) + imag(@seed) else z = z^@power + imag(#pixel) +real(@seed) endif endif bailout: |z| <= @bailout default: title = "Mandelbrot with Julia and flip element 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam complex param seed caption = "Julia Seed" default = (-1.282306,-0.056664) endparam param choice caption = "Choose Mandel or Julia calcs first or flip formula" enum = "Mandel first" "Julia first" "Flip formula" default = 0 endparam param mcalc caption = "Number of Mandel type iterations" default = 250 endparam param jcalc caption = "Number of Julia type iterations" default = 0 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } Experiment1 { ; Evan Bayliss ; More sequencing of Mandelbrot and Julia elements ; init: z = @start, count = 0 loop: if @choice == 0 z = z^@power - #pixel z = z^@power - @seed elseif @choice == 1 z = z^@power + #pixel z = z^@power + @seed z = z^@power -#pixel z = z^@power -@seed elseif @choice == 2 if count == 0 z = z^@power + #pixel count = 1 elseif count = 1 z = z^@power - z/@seed count = 2 elseif count == 2 z = z^@power - z/#pixel count = 3 else z = z^@power + @seed count = 0 endif endif bailout: |z| <= @bailout default: title = "Experiment 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param choice caption = "Choice of formulae" enum = "z^power-power/seed" "z^power+/-pixel +/-seed" "z^power+/-pixel +/-seed alternating iterations" default = 0 max = 3 endparam param seed caption = "Values for Julia" default = (0,0) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } ZPS1 { ; Evan Bayliss ; Further manipulations of z pixel and seed ; init: z = @start, iter =0 loop: iter = iter + 1 if iter == 1 if @choice1 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel elseif @choice1 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel elseif @choice1 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed elseif @choice1 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed endif elseif iter == 2 if @choice2 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel elseif @choice2 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel elseif @choice2 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed elseif @choice2 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed endif elseif iter == 3 if @choice3 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel elseif @choice3 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel elseif @choice3 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed elseif @choice3 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed endif elseif iter == 4 if @choice4 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel elseif @choice4 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel elseif @choice4 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed elseif @choice4 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed endif iter = 0 endif bailout: |z| <= @bailout default: title = "ZPS1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param seed caption = "Value for Julia seed" default = (0.5,0) endparam param choice1 caption = " 1st choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel" "((z-#pixel)*(z+@seed))^@power+#pixel"\ "((z+#pixel)*(z-@seed))^@power+@seed" "((z-#pixel)*(z+@seed))^@power+@seed" default = 0 endparam param choice2 caption = " 2nd choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel" "((z-#pixel)*(z+@seed))^@power+#pixel"\ "((z+#pixel)*(z-@seed))^@power+@seed" "((z-#pixel)*(z+@seed))^@power+@seed" default = 1 endparam param choice3 caption = " 3d choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel" "((z-#pixel)*(z+@seed))^@power+#pixel"\ "((z+#pixel)*(z-@seed))^@power+@seed" "((z-#pixel)*(z+@seed))^@power+@seed" default = 2 endparam param choice4 caption = " 4th choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel" "((z-#pixel)*(z+@seed))^@power+#pixel"\ "((z+#pixel)*(z-@seed))^@power+@seed" "((z-#pixel)*(z+@seed))^@power+@seed" default = 3 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } ZPS2 { ; Evan Bayliss ; Further manipulations of z pixel and seed ; init: z = @start, iter =0 loop: iter = iter + 1 if iter == 1 if @choice1 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel + @seed elseif @choice1 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel - @seed elseif @choice1 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed + #pixel elseif @choice1 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed - #pixel endif elseif iter == 2 if @choice2 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel + @seed elseif @choice2 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel - @seed elseif @choice2 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed + #pixel elseif @choice2 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed - #pixel endif elseif iter == 3 if @choice3 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel + @seed elseif @choice3 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel - @seed elseif @choice3 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed + #pixel elseif @choice3 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed - #pixel endif elseif iter == 4 if @choice4 == 0 z = ((z + #pixel)*(z - @seed))^@power + #pixel + @seed elseif @choice4 == 1 z = ((z - #pixel)*(z + @seed))^@power + #pixel - @seed elseif @choice4 == 2 z = ((z + #pixel)*(z - @seed))^@power + @seed + #pixel elseif @choice4 == 3 z = ((z - #pixel)*(z + @seed))^@power + @seed - #pixel endif iter = 0 endif bailout: |z| <= @bailout default: title = "ZPS2" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param seed caption = "Value for Julia seed" default = (0.5,0) endparam param choice1 caption = " 1st choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel+@seed" "((z-#pixel)*(z+@seed))^@power+#pixel-@seed"\ "((z+#pixel)*(z-@seed))^@power+@seed+#pixel" "((z-#pixel)*(z+@seed))^@power+@seed-#pixel" default = 0 endparam param choice2 caption = " 2nd choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel+@seed" "((z-#pixel)*(z+@seed))^@power+#pixel-@seed"\ "((z+#pixel)*(z-@seed))^@power+@seed+#pixel" "((z-#pixel)*(z+@seed))^@power+@seed-#pixel" default = 1 endparam param choice3 caption = " 3d choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel+@seed" "((z-#pixel)*(z+@seed))^@power+#pixel-@seed"\ "((z+#pixel)*(z-@seed))^@power+@seed+#pixel" "((z-#pixel)*(z+@seed))^@power+@seed-#pixel" default = 2 endparam param choice4 caption = " 4th choice of z pixel and seed products" enum = "((z+#pixel)*(z-@seed))^@power+#pixel+@seed" "((z-#pixel)*(z+@seed))^@power+#pixel-@seed"\ "((z+#pixel)*(z-@seed))^@power+@seed+#pixel" "((z-#pixel)*(z+@seed))^@power+@seed-#pixel" default = 3 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelJuliaDivide1 { ; Evan Bayliss ; Mandelbrot and Julia combo looking at division by seed or oixel init: z = @start, count =0, xcount = -1 loop: count = count +1 if count == 1 if @choice1 == 0 z = z^@power + #pixel elseif @choice1 == 1 z = z^@power / #pixel elseif @choice1 == 2 z = z^@power + @seed elseif @choice1 == 3 z = z^@power / @seed endif elseif count == 2 if @choice2 == 0 z = z^@power + #pixel elseif @choice2 == 1 z = z^@power / #pixel elseif @choice2 == 2 z = z^@power + @seed elseif @choice2 == 3 z = z^@power / @seed endif elseif count == 3 if @choice3 == 0 z = z^@power + #pixel elseif @choice3 == 1 z = z^@power / #pixel elseif @choice3 == 2 z = z^@power + @seed elseif @choice3 == 3 z = z^@power / @seed endif elseif count == 4 if @choice4 == 0 z = z^@power + #pixel elseif @choice4 == 1 z = z^@power / #pixel elseif @choice4 == 2 z = z^@power + @seed elseif @choice4 == 3 z = z^@power / @seed endif count = 1 endif bailout: |z| <= @bailout default: title = "Mandelbrot Julia division by pixel and seed 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam complex param seed caption = "Julia Seed" default = (-1.282306,-0.056664) endparam param choice1 caption = "Choose 1st formula" enum = "z^@power+#pixel" "z^@power/#pixel" "z^@power+@seed" "z^@power/@seed" default = 0 endparam param choice2 caption = "Choose 2nd formula" enum = "z^@power+#pixel" "z^@power/#pixel" "z^@power+@seed" "z^@power/@seed" default = 0 endparam param choice3 caption = "Choose 3rd formula" enum = "z^@power+#pixel" "z^@power/#pixel" "z^@power+@seed" "z^@power/@seed" default = 0 endparam param choice4 caption = "Choose 4th formula" enum = "z^@power+#pixel" "z^@power/#pixel" "z^@power+@seed" "z^@power/@seed" default = 0 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } GnarlaMandelthotep3adj2 { ;Original Gnarlathotep3 formulas from OttoMagus (who gave apologies to HP Lovecraft) ;I hope Cthulhu is not too jealous! ;Modified by Evan Bayliss to alternate gnarlic iterations with standard Mandelbrot, ver2 adds Julia step ; alternating with Mandelbrot init: float x=real(fn1(pixel)/@r) float y=imag(fn1(pixel)/@r) float a=0.0 int i=0 count = -1, itercount = - 1 loop: count = -count if count == 1 while i<@iter i=i+1 a=x if @v=="1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="2" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @v=="3" x=x-p3*real(sin(y+sin(p1*(y+cos(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+cos(p2*a)))))/10 elseif @v=="4" x=x-p3*real(sin(y+sin(p1*(y+tanh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+tanh(p2*a)))))/10 elseif @v=="5" x=x-p3*real(sin(y+sin(p1*(y+atan(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+atan(p2*a)))))/10 elseif @v=="6" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @v=="7" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @v=="8" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @v=="9" x=x-p3*real(sin(y+cos(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+cos(p1*(a+sin(p2*a)))))/10 elseif @v=="10" x=x-p3*real(sin(y+atanh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+atanh(p1*(a+sin(p2*a)))))/10 elseif @v=="11" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 elseif @v=="12" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @v=="13" x=x-p3*real(cos(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(cos(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="14" x=x-p3*real(acosh(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(acosh(a+sin(p1*(a+sin(p2*a)))))/10 elseif @v=="15" x=x-p3*real(cos(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="16" x=x-p3*real(cos(y+cos(p1*(y+sin(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+sin(p2*a)))))/10 elseif @v=="17" x=x-p3*real(cos(y+cos(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+asinh(p2*a)))))/10 elseif @v=="18" x=x-p3*real(cos(y+cos(p1*(y+tanh(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+tanh(p2*a)))))/10 elseif @v=="19" x=x-p3*real(cos(y+cos(p1*(y+atan(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+atan(p2*a)))))/10 elseif @v=="20" x=x-p3*real(cos(y+cos(p1*(y+abs(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+abs(p2*a)))))/10 elseif @v=="21" x=x-p3*real(cos(y+cos(p1*(y+recip(p2*y)))))/10 y=y+p3*real(cos(a+cos(p1*(a+recip(p2*a)))))/10 elseif @v=="22" x=x-p3*real(cos(y+sin(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+sin(p1*(a+cos(p2*a)))))/10 elseif @v=="23" x=x-p3*real(cos(y+asinh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+asinh(p1*(a+cos(p2*a)))))/10 elseif @v=="24" x=x-p3*real(cos(y+acosh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+acosh(p1*(a+cos(p2*a)))))/10 elseif @v=="25" x=x-p3*real(cos(y+tanh(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+tanh(p1*(a+cos(p2*a)))))/10 elseif @v=="26" x=x-p3*real(cos(y+atan(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+atan(p1*(a+cos(p2*a)))))/10 elseif @v=="27" x=x-p3*real(cos(y+sqrt(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+sqrt(p1*(a+cos(p2*a)))))/10 elseif @v=="28" x=x-p3*real(cos(y+abs(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+abs(p1*(a+cos(p2*a)))))/10 elseif @v=="29" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @v=="30" x=x-p3*real(sin(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(sin(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="31" x=x-p3*real(asin(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(asin(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="32" x=x-p3*real(asinh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(asinh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="33" x=x-p3*real(acosh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(acosh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="34" x=x-p3*real(tanh(y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real(tanh(a+cos(p1*(a+cos(p2*a)))))/10 elseif @v=="35" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 endif if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif endwhile z=51*z/50 else itercount = -itercount if itercount == 1 z=z^@power + #pixel else z = z^@power + @seed endif endif bailout: |z|<@bail default: title="GnarlaMandelthotep 3 adjusted 2" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 param V caption="Variant" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26""27""28""29"\ "30""31""32""33""34""35" default=0 endparam param p1 caption="Parameter 1" default=5.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc param V1 caption="Function 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam func fn2 caption="Function 3" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param power caption = " Power value for Mandel z" default = (2,0) endparam param seed caption = "values for Julia seed" default =(-.5,0) endparam param bail caption="Bailout" default=10000000.0 endparam } MandelbrotwithJuliacalcs4a { ; Evan Bayliss ; A further variation in combining Mandelbrot and Julia calculations, with modifications of the @seed component ; init: z = @start, count = 1 loop: z = z^@power + #pixel z = z^@power + @sfunc(@seed*count) count = count + 1 bailout: |z| <= @bailout default: title = "Mandelbrot with Julia type calculations 4a" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam func sfunc caption = "Seed function" default = sqr() endfunc complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } Czformula1 { ; Evan Bayliss ; This is based on z =c(z^3-3z-2) = q formula and made more generalised. ; The q variable takes the form of @seed ; init: z = @start, count = 1, num = -1 loop: num = -num if @choice == 0 z = #pixel*(z^@power - @x*z - y) +@seed else if num == 1 z = #pixel*(z^@power - @x*z - y) +@seed else z = z^@power + @sfunc(@seed*count) count = count + 1 endif endif bailout: |z| <= @bailout default: title = "CZ formula 1" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam func sfunc caption = "Seed function" default = sqr() endfunc param choice caption = "Choose cz formula alone or combine with func seed" enum = "cz alone" "cz alternating with z^power+sfunc(seed*count)" default = 0 endparam param x caption = " x value" default = (3,0) endparam param y caption =" y value" default = (2,0) endparam complex param seed caption = "Julia Seed" default = (0.0420387,0.4308891765) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam switch: type = "Julia" seed = #pixel power = power bailout = bailout } GnarlaMandelthotep2 { ; The original gnarlathotep formulae are from Otto Magus - om.ufm (where apologies were made to H.P. Lovecraft) ; Modified Evan Bayliss ; These have been combined with Mandelbrot formula ; There are variations for the x + flip(y) step ; Exponent values around 100 will give recognisable gnarlic results init: z = @start, num = -1 if @Fs=="ident" float x=real(pixel) float y=imag(pixel) elseif @Fs=="abs" float x=real(abs(pixel)) float y=imag(abs(pixel)) elseif @Fs=="sqr" float x=real(sqr(pixel))/32 float y=imag(sqr(pixel))/32 elseif @Fs=="om1" float x=real(abs(pixel*acos(pixel)))/4 float y=imag(abs(pixel*acos(pixel)))/4 elseif @Fs=="om2" float x=real(flip(pixel)+0.5*cabs(pixel)) float y=imag(flip(pixel)+0.5*cabs(pixel)) elseif @Fs=="om3" float x=real(conj(pixel^2)/pixel) float y=imag(cabs(pixel^2)/pixel) elseif @Fs=="om4" float x=real(flip(pixel^2)/pixel) float y=imag(flip(pixel^2)/pixel) elseif @Fs=="om5" float x=0.5*real(|pixel|/sqrt(pixel)) float y=imag(|pixel|/flip(pixel)) elseif @Fs=="om6" float x=real(|pixel|/pixel) float y=imag(|pixel|/asinh(pixel)) else float x=real(pixel-0.2*flip(pixel+flip(11*pixel))) float y=imag(pixel-0.2*abs(pixel+abs(11*pixel))) endif loop: num = -num if num == 1 float x2=real(p3)*y+real(p4) float y2=imag(p3)*x+imag(p4) if @V1==0 x2=y+sin(p2*x2) y2=x+sin(p2*y2) elseif @V1==1 x2=y+cos(p2*x2) y2=x+cos(p2*y2) elseif @V1==2 x2=y+sin(p2*x2) y2=x+cos(p2*y2) elseif @V1==3 x2=y-sin(p2*x2) y2=x-sin(p2*y2) elseif @V1==4 x2=y-sin(p2*x2) y2=x-cos(p2*y2) elseif @V1==5 x2=y+sin(p2*x2) y2=x-sin(p2*y2) elseif @V1==6 x2=y+cos(p2*x2) y2=x-cos(p2*y2) endif if @V2==0 x=x-p1*sin(x2) y=y-p1*sin(y2) elseif @V2==1 x=x-p1*cos(x2) y=y-p1*cos(y2) elseif @V2==2 x=x-p1*sin(x2) y=y-p1*cos(y2) elseif @V2==3 x=x+p1*sin(x2) y=y-p1*sin(y2) elseif @V2==4 x=x+0.5*p1*(sin(x2)+cos(x2)) y=y-0.5*p1*(sin(y2)+cos(y2)) elseif @V2==5 x=x+0.5*p1*(sin(x2)+sin(x2)) y=y-0.5*p1*(cos(y2)+cos(y2)) elseif @V2==6 x=x+p1*(sin(x2)*cos(x2)) y=y-p1*(sin(y2)*cos(y2)) endif if @Vf=="x+flip(y)" z=x+flip(y) elseif @Vf=="x*flip(y)" z=x*flip(y) elseif @Vf == "(x+flip(y))^@power" z=(x + flip(y))^@power elseif @vf == "(x+flip(y))^@power+#pixel" z = (x + flip(y))^@power + #pixel endif else z = z^@power + #pixel endif bailout: |z|<@bail default: title="GnarlaMandelthotep 2" magn=0.0625 periodicity=0 center=(0.001,0) param Fs caption="Start Function" enum="ident""abs""sqr""om1""om2""om3""om4""om5""om6""om7" default=0 endparam param V1 caption="Variation 1" enum="1""2""3""4""5""6""7" default=0 endparam param V2 caption="Variation 2" enum="1""2""3""4""5""6""7" default=0 endparam param Vf caption="Final Variation" enum="x+flip(y)""x*flip(y)""x/flip(y)" "(x+flip(y))^@power" "(x+flip(y))^@power+#pixel" default=0 endparam param power caption = " power value for z" default = (2,0) endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=1.16 endparam param p3 default=(1,1) endparam param p4 default=(0,0) endparam param bail caption="Bailout" default=1000.0 endparam } AltGnarlathotep2reverseEB { ; The original altgnarlathotep2 formula is from Otto Magus - om2.ufm ; Modified Evan Bayliss May 2021 ; The variable V2, previously "Post Function 1" is now calculated before variable v "Variant" ; rather than after so it is labelled "Pre Function 1" ; Try iterations = 500 for intersting results 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 ;reversal of steps if @V2=="ident" z=(fn2(flip(x)+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 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 endwhile z=51*z/50 bailout: |z|<@bail default: title="Alt Gnarlathotep 2 reverse EB" 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="Pre 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 } AltGnarlathotep2reverseflipEB { ; The original altgnarlathotep2 formula is from Otto Magus - om2.ufm ; Modified Evan Bayliss May 2021 ; The variable V2, previously "Post Function 1" is now calculated before variable v "Variant" ; rather than after so it is labelled "Pre Function 1". x is "flipped" not y ; Try iterations = 500 for intersting results 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 ;reversal of steps if @V2=="ident" z=(fn2(flip(x)+y))^@pow+p5 elseif @V2=="exp" z=exp(fn2(flip(x)+y))^@pow+p5 elseif @V2=="sqr" z=sqr(fn2(flip(x)+y))^@pow+p5 elseif @V2=="cotan" z=cotan(fn2(flip(x)+y))^@pow+p5 elseif @V2=="tan" z=tan(fn2(flip(x)+y))^@pow+p5 elseif @V2=="acos" z=acos(fn2(flip(x)+y))^@pow+p5 elseif @V2=="log cabs" z=log(cabs(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="log abs" z=log(abs(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="log cotan" z=log(cotan(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="exp abs" z=exp(abs(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="exp exp" z=exp(exp(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="log log" z=log(log(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="acos acos" z=acos(acos(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="sqr sqr" z=sqr(sqr(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="tan sin" z=tan(sin(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="ceil round" z=ceil(round(fn2(flip(x)+y)))^@pow+p5 elseif @V2=="log cos" z=log(cos(fn2(flip(x)+y)))^@pow+p5 endif 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 endwhile z=51*z/50 bailout: |z|<@bail default: title="Alt Gnarlathotep 2 reverse flip EB" 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="Pre 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 } AltGnarlaMandelthotep2 { ; The original altgnarlathotep formula is from Otto Magus - om2.ufm ; Modified Evan Bayliss ; This have been combined with Mandelbrot formula - a gnarlic iteration is alternated with a Mandelbrot iteration ; The pow variable is for the post function exponent, while power is for the Mandelbrot z power exponent ; Try iterations = 500 for intersting results init: float x=real(fn1(pixel)) float y=imag(fn1(pixel)) float a=0 int i=0 int i2=0 num = -1 loop: num = -num if num == 1 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 else z = z^@power + #pixel endif bailout: |z|<@bail default: title="Alt GnarlaMandelthotep 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" 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 power caption = "z power exponent for Mandelbrot step" default =(2,0) endparam param bail caption="Bailout" default=10000000.0 endparam } AltGnarlaMandelthotep2ver2a { ; The original altgnarlathotep formula is from Otto Magus - om2.ufm ; Modified Evan Bayliss April 2021 ; The original modification has been changed further by insertion of the Mandelbrotwithjuliacalcs3a formula ; A gnarlic iteration is alternated with a MandelbrotJulia hybrid iteration ; The pow variable is for the post function exponent, while power is for the Mandelbrot z power exponent ; Try iterations = 500 for interesting results init: float x=real(fn1(pixel)) float y=imag(fn1(pixel)) float a=0 int i=0 int i2=0 num = -1 count = -1 loop: num = -num if num == 1 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 else ; alternating formulae from Mandelbrotwithjuliacalcs3a if count == 1 z = z^@power + #pixel count = 0 else z = z^@power + @seed + #pixel count = 1 endif endif bailout: |z|<@bail default: title="Alt GnarlaMandelthotep 2 ver 2a" 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" 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 power caption = "z power exponent for Mandelbrot step" default =(2,0) endparam param seed caption = "Julia seed" default = (0,0) endparam param bail caption="Bailout" default=10000000.0 endparam } AltGnarlaMandelthotep2ver2 { ; The original altgnarlathotep formula is from Otto Magus - om2.ufm ; Evan Bayliss May 2021 ; This version either concurrently iterates two formula and combines the results or - ; feeds the result of the the first formula into the second ; A Mandelbrot iteration can be selected or bypassed ; The pow variable is for the post function exponent, while power is for the Mandelbrot z power exponent ; Try iterations = 500 for interesting results init: float x=real(fn1(pixel)) float y=imag(fn1(pixel)) float a=0 int i=0 int i2=0 num = -1 loop: num = -num if num == 1 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) x2=x y2=y a=x if @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 @vf1=="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 ; second formula, either concurrent or using first formula results if @f2choice == 1 x2 = x y2 = y endif if @vf2=="1" if i2==0 x2=x2-p4*real(sin(y2+sin(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+sin(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(tanh(y2+cos(@p7*(y2+sin(@p8*y2)))))/10 y2=y2+@p9*real(tanh(a+cos(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @vf2=="2" if i2==0 x2=x2-p4*real(sin(y2+sin(p2*(y2+asinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+sin(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real((y2+sin(@p7*(y2+sin(@p8*y2)))))/10 y2=y2+@p9*real((a+sin(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @vf2=="3" if i2==0 x2=x2-p4*real(sin(y2+sin(p2*(y2+sinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+sin(p2*(a+sinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+abs(@p7*(y2+(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+abs(@p7*(a+(@p8*a)))))/10 i2=0 endif elseif @vf2=="4" if i2==0 x2=x2-p4*real(sin(y2+sin(p2*(y2+tanh(p3*y2)))))/10 y2=y2+p4*real(sin(a+sin(p2*(a+tanh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sqrt(y2+sin(@p7*(y2+sin(@p8*y2)))))/10 y2=y2+@p9*real(sqrt(a+sin(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @vf2=="5" if i2==0 x2=x2-p4*real(sin(y2+sin(p2*(y2+atan(p3*y2)))))/10 y2=y2+p4*real(sin(a+sin(p2*(a+atan(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+sin(@p7*(y2+abs(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+sin(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @vf2=="6" if i2==0 x2=x2-p4*real(tanh(y2+sin(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(tanh(a+sin(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+sin(@p7*(y2+exp(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+sin(@p7*(a+exp(@p8*a)))))/10 i2=0 endif elseif @vf2=="7" if i2==0 x2=x2-p4*real(sin(y2+cos(p2*(y2+asinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+cos(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+abs(@p7*(y2+cos(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+abs(@p7*(a+cos(@p8*a)))))/10 i2=0 endif elseif @vf2=="8" if i2==0 x2=x2-p4*real(sin(y2+asinh(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+asinh(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+sin(@p7*(y2+tan(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+sin(@p7*(a+tan(@p8*a)))))/10 i2=0 endif elseif @vf2=="9" if i2==0 x2=x2-p4*real(sin(y2+cos(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+cos(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real((y2+cos(@p7*(y2+sin(@p8*y2)))))/10 y2=y2+@p9*real((a+cos(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @vf2=="10" if i2==0 x2=x2-p4*real(sin(y2+ceil(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+ceil(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+cos(@p7*(y2+(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+cos(@p7*(a+(@p8*a)))))/10 i2=0 endif elseif @vf2=="11" if i2==0 x2=x2-p4*real(sin(y2+abs(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+abs(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+cos(@p7*(y2+abs(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+cos(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @vf2=="12" if i2==0 x2=x2-p4*real(sin(y2+(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+cos(@p7*(y2+exp(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+cos(@p7*(a+exp(@p8*a)))))/10 i2=0 endif elseif @vf2=="13" if i2==0 x2=x2-p4*real(asin(y2+sin(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(asin(a+sin(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+cos(@p7*(y2+tanh(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+cos(@p7*(a+tanh(@p8*a)))))/10 i2=0 endif elseif @vf2=="14" if i2==0 x2=x2-p4*real(asinh(y2+sin(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(asinh(a+sin(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+cos(@p7*(y2+tan(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+cos(@p7*(a+tan(@p8*a)))))/10 i2=0 endif elseif @vf2=="15" if i2==0 x2=x2-p4*real(cos(y2+cos(p2*(y2+cos(p3*y2)))))/10 y2=y2+p4*real(cos(a+cos(p2*(a+cos(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+cos(@p7*(y2+asinh(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+cos(@p7*(a+asinh(@p8*a)))))/10 i2=0 endif elseif @vf1=="16" if i2==0 x2=x2-p4*real(cos(y2+abs(p2*(y2+cos(p3*y2)))))/10 y2=y2+p4*real(cos(a+abs(p2*(a+cos(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+(@p7*(y2+abs(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @vf2=="17" if i2==0 x2=x2-p4*real(cos(y2+(p2*(y2+cos(p3*y2)))))/10 y2=y2+p4*real(cos(a+(p2*(a+cos(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+abs(@p7*(y2+tanh(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+abs(@p7*(a+tanh(@p8*a)))))/10 i2=0 endif elseif @vf2=="18" if i2==0 x2=x2-p4*real(cos(y2+abs(p2*(y2+abs(p3*y2)))))/10 y2=y2+p4*real(cos(a+abs(p2*(a+abs(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+abs(@p7*(y2+asinh(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+abs(@p7*(a+asinh(@p8*a)))))/10 i2=0 endif elseif @vf2=="19" if i2==0 x2=x2-p4*real(asinh(y2+cos(p2*(y2+cos(p3*y2)))))/10 y2=y2+p4*real(asinh(a+cos(p2*(a+cos(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+abs(@p7*(y2+abs(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+abs(@p7*(a+abs(@p8*a)))))/10 i2=0 endif elseif @vf2=="20" if i2==0 x2=x2-p4*real(sin(y2+sin(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+sin(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(round(y2+sin(@p7*(y2+sin(@p8*y2)))))/10 y2=y2+@p9*real(round(a+sin(@p7*(a+sin(@p8*a)))))/10 i2=0 endif elseif @vf2=="21" if i2==0 x2=x2-p4*real(sin(y2+abs(p2*(y2+sin(p3*y2)))))/10 y2=y2+p4*real(sin(a+abs(p2*(a+sin(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+tanh(@p7*(y2+cos(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+tanh(@p7*(a+cos(@p8*a)))))/10 i2=0 endif elseif @vf2=="22" if i2==0 x2=x2-p4*real(sin(y2+abs(p2*(y2+asinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+abs(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+tanh(@p7*(y2+sqr(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+tanh(@p7*(a+sqr(@p8*a)))))/10 i2=0 endif elseif @vf2=="23" if i2==0 x2=x2-p4*real(sin(y2+cos(p2*(y2+asinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+cos(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+cos(@p7*(y2+sqr(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+cos(@p7*(a+sqr(@p8*a)))))/10 i2=0 endif elseif @vf2=="24" if i2==0 x2=x2-p4*real(sin(y2+cos(p2*(y2+asinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+cos(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+sin(@p7*(y2+sqr(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+sin(@p7*(a+sqr(@p8*a)))))/10 i2=0 endif elseif @vf2=="25" if i2==0 x2=x2-p4*real(sin(y2+cos(p2*(y2+asinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+cos(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+sin(@p7*(y2+exp(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+sin(@p7*(a+exp(@p8*a)))))/10 i2=0 endif elseif @vf2=="26" if i2==0 x2=x2-p4*real(sin(y2+conj(p2*(y2+asinh(p3*y2)))))/10 y2=y2+p4*real(sin(a+conj(p2*(a+asinh(p3*a)))))/10 i2=i2+1 else x2=x2-@p9*real(sin(y2+abs(@p7*(y2+tanh(@p8*y2)))))/10 y2=y2+@p9*real(sin(a+abs(@p7*(a+tanh(@p8*a)))))/10 i2=0 endif endif ;choose sum or average of formulae if @xychoice == 0 x3 = x + x2 y3 = y + y2 else x3 = (x + x2)/2 y3 = (y + y2)/2 endif if @V2=="ident" z=(fn2(x3+flip(y3)))^@pow+p5 elseif @V2=="exp" z=exp(fn2(x3+flip(y3)))^@pow+p5 elseif @V2=="sqr" z=sqr(fn2(x3+flip(y3)))^@pow+p5 elseif @V2=="cotan" z=cotan(fn2(x3+flip(y3)))^@pow+p5 elseif @V2=="tan" z=tan(fn2(x3+flip(y3)))^@pow+p5 elseif @V2=="acos" z=acos(fn2(x3+flip(y3)))^@pow+p5 elseif @V2=="log cabs" z=log(cabs(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="log abs" z=log(abs(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="log cotan" z=log(cotan(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="exp abs" z=exp(abs(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="exp exp" z=exp(exp(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="log log" z=log(log(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="acos acos" z=acos(acos(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="sqr sqr" z=sqr(sqr(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="tan sin" z=tan(sin(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="ceil round" z=ceil(round(fn2(x3+flip(y3))))^@pow+p5 elseif @V2=="log cos" z=log(cos(fn2(x3+flip(y3))))^@pow+p5 endif endwhile z=51*z/50 else ;choose mandelbrot or pass if @mandel == 0 z=z else z = z^@power + #pixel endif endif bailout: |z|<@bail default: title="Alt GnarlaMandelthotep 2 ver 2" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param vf1 caption=" First 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 vf2 caption=" Second 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 xychoice caption = "Choose summing of x and y or averaging" enum = "sum" "averageing" default = 0 endparam param f2choice caption = "Use results of formula 1 for formula 2" enum = "No" "Yes" default = 0 endparam param mandel caption = "Choose mandel step or pass" enum = "Pass" "Choose" default = 0 endparam param pow caption="Post Function Exponent" default=(1,0) endparam param iter caption="Iterations" default=100 endparam param power caption = "z power exponent for Mandelbrot step" default =(2,0) endparam param bail caption="Bailout" default=10000000.0 endparam } TrinomialJuliaMandelbrotcombo1 { ; orig trinomial formulae (c) 2000 Edward M. Perry 2000-04-21 ; modified combination Evan Bayliss 2021-04-04 ; alternating julia and mandelbrot steps ; init: iter = 1, num = -1 loop: num = - num if iter == 1 if @choice == 0 z = (-@mb + sqrt((@mb * @mb) - (4.0 * @ma *@mc))) / (2.0 * @ma) elseif @choice == 1 z = #pixel endif iter = iter +1 else if @choice == 0 if num == 1 z = ((@ma / 3.0) * (z^3)) + ((@mb / 2.0) * (z^2)) + (@mc * z) + #pixel else z = ((@ja / 3.0) * (z^3)) + ((@jb / 2.0) * (z^2)) + (@jc * z) + @seed endif elseif @choice == 1 if num == 1 z = ((@ja / 3.0) * (z^3)) + ((@jb / 2.0) * (z^2)) + (@jc * z) + @seed else z = ((@ma / 3.0) * (z^3)) + ((@mb / 2.0) * (z^2)) + (@mc * z) + #pixel endif endif endif bailout: |z| <= @bailout default: title = "Trinomial Mandelbrot Julia combo 1" center = (0, 0) magn = 0.8 angle = 90 param choice caption = "Mandel or Julia first" enum = "Mandel first" "Julia first" default = 0 endparam param ma caption = "Mandel Coefficient A" default = (1.0, 0.0) hint = "Mandel Coefficient A" endparam param mb caption = "Mandel Coefficient B" default = (1.0, 0.0) hint = "Mandel Coefficient B" endparam param mc caption = "Mandel Coefficient C" default = (1.0, 0.0) hint = "Mandel Coefficient C" endparam param ja caption = "Julia Coefficient A" default = (1.0, 0.0) hint = "Julia Coefficient A" endparam param jb caption = "Julia Coefficient B" default = (1.0, 0.0) hint = "Coefficient B" endparam param jc caption = "Julia Coefficient C" default = (1.0, 0.0) hint = "Julia Coefficient C" endparam param bailout caption = "Bailout" default = 1024.0 min = 1.0 hint = "Bailout" endparam } TrinomialJuliaMandelbrotcombo2 { ; orig trinomial formulae Edward M. Perry 2000-04-21 ; modified combination Evan Bayliss 2021-04-04 ; alternating julia and mandelbrot steps ; additional mandel and julia iteration options init: iter = 1, num = -1 loop: num = - num ;trinomial calculations if iter == 1 if @choice == 0 z = (-@mb + sqrt((@mb * @mb) - (4.0 * @ma *@mc))) / (2.0 * @ma) elseif @choice == 1 z = #pixel endif iter = iter +1 else if @choice == 0 if num == 1 z = ((@ma / 3.0) * (z^3)) + ((@mb / 2.0) * (z^2)) + (@mc * z) + #pixel else z = ((@ja / 3.0) * (z^3)) + ((@jb / 2.0) * (z^2)) + (@jc * z) + @seed endif elseif @choice == 1 if num == 1 z = ((@ja / 3.0) * (z^3)) + ((@jb / 2.0) * (z^2)) + (@jc * z) + @seed else z = ((@ma / 3.0) * (z^3)) + ((@mb / 2.0) * (z^2)) + (@mc * z) + #pixel endif endif endif ; post trinomial calculations if @postchoice == 0 z = z elseif @postchoice == 1 z = z^@mpower + #pixel elseif @postchoice == 2 z = z^@jpower + @seed elseif @postchoice == 3 if num == 1 z = z^@mpower + #pixel else z = z^@jpower + @seed endif elseif @postchoice == 4 if num == 1 z = z^@jpower + @seed else z = z^@mpower + #pixel endif endif bailout: |z| <= @bailout default: title = "Trinomial Mandelbrot Julia combo 2" center = (0, 0) magn = 0.8 angle = 90 param choice caption = "Mandel or Julia trinomial first" enum = "Mandel first" "Julia first" default = 0 endparam param ma caption = "Mandel Coefficient A" default = (1.0, 0.0) hint = "Mandel Coefficient A" endparam param mb caption = "Mandel Coefficient B" default = (1.0, 0.0) hint = "Mandel Coefficient B" endparam param mc caption = "Mandel Coefficient C" default = (1.0, 0.0) hint = "Mandel Coefficient C" endparam param ja caption = "Julia Coefficient A" default = (1.0, 0.0) hint = "Julia Coefficient A" endparam param jb caption = "Julia Coefficient B" default = (1.0, 0.0) hint = "Coefficient B" endparam param jc caption = "Julia Coefficient C" default = (1.0, 0.0) hint = "Julia Coefficient C" endparam param seed caption = "Julia seed" default =(.5,0) endparam param bailout caption = "Bailout" default = 1024.0 min = 1.0 hint = "Bailout" endparam param postchoice caption = "Post trinomial Julia/Mandel options" enum = "None" "Mandelbrot only" "Julia only" "Mandel 1st alt with Julia" "Julia first altwith Mandel" default = 0 endparam param mpower caption = "Post mandel x power" default = (2,0) endparam param jpower caption = "Post julia x power" default = (2,0) endparam } TriJBcombowithextra1 { ; orig trinomial formulae Edward M. Perry 2000-04-21 ; modified combination Evan Bayliss 2021-04-04 ; alternating julia and mandelbrot steps ; additional mandel and julia iteration options ; Extra additional formula init: iter = 1, num = -1 loop: num = - num ;trinomial calculations if iter == 1 if @choice == 0 z = (-@mb + sqrt((@mb * @mb) - (4.0 * @ma *@mc))) / (2.0 * @ma) ;initial numerator/denominator formula zi1 = z^@initpower1 + (@initp1 * (z^@initpower1)^(-@initpower2)) + #pixel zi2 = (@initp2*(z^@initpower3) + (#pixel^@initpower4))^(-@initpower5) z = zi1/zi2 elseif @choice == 1 z = #pixel ;initial numerator/denominator formula zi1 = z^@initpower1 + (@initp1 * (z^@initpower1)^(-@initpower2)) + #pixel zi2 = (@initp2*(z^@initpower3) + (#pixel^@initpower4))^(-@initpower5) z = zi1/zi2 endif iter = iter +1 else if @choice == 0 if num == 1 z = ((@ma / 3.0) * (z^3)) + ((@mb / 2.0) * (z^2)) + (@mc * z) + #pixel else z = ((@ja / 3.0) * (z^3)) + ((@jb / 2.0) * (z^2)) + (@jc * z) + @seed endif elseif @choice == 1 if num == 1 z = ((@ja / 3.0) * (z^3)) + ((@jb / 2.0) * (z^2)) + (@jc * z) + @seed else z = ((@ma / 3.0) * (z^3)) + ((@mb / 2.0) * (z^2)) + (@mc * z) + #pixel endif endif endif ; post trinomial calculations if @postchoice == 0 z = z elseif @postchoice == 1 z = z^@mpower + #pixel elseif @postchoice == 2 z = z^@jpower + @seed elseif @postchoice == 3 if num == 1 z = z^@mpower + #pixel else z = z^@jpower + @seed endif elseif @postchoice == 4 if num == 1 z = z^@jpower + @seed else z = z^@mpower + #pixel endif endif bailout: |z| <= @bailout default: title = "TJM combo extra 1" center = (0, 0) magn = 0.8 angle = 90 param initpower1 caption = "initial power 1" default = (1,0) endparam param initpower2 caption = "initial power 2" default = (1,0) endparam param initpower3 caption = "initial power 3" default = (1,0) endparam param initpower4 caption = "initial power 4" default = (1,0) endparam param initpower5 caption = "initial power 5" default = (1,0) endparam param initp1 caption = " First constant for initial formula" default = (1,0) endparam param initp2 caption = " Second constant for initial formula" default = (1,0) endparam param choice caption = "Mandel or Julia trinomial first" enum = "Mandel first" "Julia first" default = 0 endparam param ma caption = "Mandel Coefficient A" default = (1.0, 0.0) hint = "Mandel Coefficient A" endparam param mb caption = "Mandel Coefficient B" default = (1.0, 0.0) hint = "Mandel Coefficient B" endparam param mc caption = "Mandel Coefficient C" default = (1.0, 0.0) hint = "Mandel Coefficient C" endparam param ja caption = "Julia Coefficient A" default = (1.0, 0.0) hint = "Julia Coefficient A" endparam param jb caption = "Julia Coefficient B" default = (1.0, 0.0) hint = "Coefficient B" endparam param jc caption = "Julia Coefficient C" default = (1.0, 0.0) hint = "Julia Coefficient C" endparam param seed caption = "Julia seed" default =(.5,0) endparam param bailout caption = "Bailout" default = 1024.0 min = 1.0 hint = "Bailout" endparam param postchoice caption = "Post trinomial Julia/Mandel options" enum = "None" "Mandelbrot only" "Julia only" "Mandel 1st alt with Julia" "Julia first altwith Mandel" default = 0 endparam param mpower caption = "Post mandel x power" default = (2,0) endparam param jpower caption = "Post julia x power" default = (2,0) endparam } Mandelbrotusingabs { ; ;Evan Bayliss 2021 ;Mixed Mandelbrot and Julia calculations with abs manipulations of real and imag components . ; init: z = @start, count = -1 loop: count = -count if @choice == 0 x = abs(real(z)), y = (0,1)* abs(imag(z)) z = (x+y)^@power + #pixel else if count == 1 x = abs(real(z)), y = (0,1)* abs(imag(z)) z = (x+y)^@power + #pixel else x = abs(real(z)), y = (0,1)* abs(imag(z)) z = (x+y)^@power + @seed endif endif bailout: |z| <= @bailout default: title = "Mandelbrot using abs" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param choice caption = "Choice of abs formula" enum = "(x+y)^@power + #pixel" "(x+y)^@power + #pixel/alt @seed" default = 0 endparam param seed caption = "Julia seed" default = (.5,0) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotJuliawithcz1corr { ; ; Evan Bayliss April 2021 ; A version of the Julia and Mandelbrot hybrid formulae ; The option of z = z^n/(1+ cz^n2) is added ; The three options can be performed in any order ; This version has had corrections init: if @choice1 == 1 z = #pixel elseif @choice == 0 z = @start elseif @choice == 2 z = #pixel endif num = 0 loop: num = num +1 if num > 3 num = 1 endif if num == 1 if @choice1 == 0 z = z^@power1 + #pixel elseif @choice1 == 1 z = z^@power2 + @seed elseif @choice1 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice2 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice3 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif elseif num == 2 if @choice1 == 0 z = z^@power1 + #pixel elseif @choice1 == 1 z = z^@power2 + @seed elseif @choice1 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice2 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice3 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif elseif num == 3 if @choice1 == 0 z = z^@power1 + #pixel elseif @choice1 == 1 z = z^@power2 + @seed elseif @choice1 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice2 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice3 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif endif bailout: |z| <= @bailout default: title = "MandelbrotJulia with added cz 1 corrected" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param choice1 caption = "Choice of first formula" enum = "z^n + c" "z^n + seed" "z^n/(1+cz^n)" default = 0 endparam param choice2 caption = "Choice of second formula" enum = "z^n + c" "z^n + seed" "z^n/(1+cz^n)" default = 0 endparam param choice3 caption = "Choice of third formula" enum = "z^n + c" "z^n + seed" "z^n/(1+cz^n)" default = 0 endparam param power1 caption = "Power for Mandelbrot z" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param power2 caption = "Power for Julia z" default = (2,0) endparam param seed caption ="Julia seed" default = (.5,0) endparam param z2power caption = "Power for second z" default = (2,0) endparam param z3power caption = "Power for third z" default = (2,0) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } MandelbrotJuliawithcz2 { ; ; Evan Bayliss April 2021 ; A version of the Julia and Mandelbrot hybrid formulae ; The option of z = z^n/(1+ cz^n2) is added ; The three options can be performed in any order, either in separate iterations // ; or combined into single iteration init: if @choice1 == 1 z = #pixel elseif @choice1 == 0 z = @start elseif @choice1 == 2 z = #pixel endif num = 0 loop: num = num +1 if num > 3 num = 1 endif ; separate iterations if @iterchoice == 0 if num == 1 if @choice1 == 0 z = z^@power1 + #pixel elseif @choice1 == 1 z = z^@power2 + @seed elseif @choice1 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice2 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice3 == 0 z = z^@power1 + #pixel elseif @choice3 == 1 z = z^@power2 + @seed elseif @choice3 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif elseif num == 2 if @choice1 == 0 z = z^@power1 + #pixel elseif @choice1 == 1 z = z^@power2 + @seed elseif @choice1 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice2 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice3 == 0 z = z^@power1 + #pixel elseif @choice3 == 1 z = z^@power2 + @seed elseif @choice3 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif elseif num == 3 if @choice1 == 0 z = z^@power1 + #pixel elseif @choice1 == 1 z = z^@power2 + @seed elseif @choice1 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice2 == 0 z = z^@power1 + #pixel elseif @choice2 == 1 z = z^@power2 + @seed elseif @choice2 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice3 == 0 z = z^@power1 + #pixel elseif @choice3 == 1 z = z^@power2 + @seed elseif @choice3 == 2 z = z^@z2power / (1 + (#pixel*z^@z3power)) endif endif ; modified formulae in one iteration elseif @iterchoice == 1 if @choice1 == 0 z3 = z^@power1 + #pixel elseif @choice1 == 1 z3 = z^@power2 + @seed elseif @choice1 == 2 z3 = z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice2 == 0 z2 = z3 + z^@power1 + #pixel elseif @choice2 == 1 z2 = z3 + z^@power2 + @seed elseif @choice2 == 2 z2 = z3 + z^@z2power / (1 + (#pixel*z^@z3power)) endif if @choice3 == 0 z = z2 + z^@power1 + #pixel elseif @choice3 == 1 z = z2 + z^@power2 + @seed elseif @choice3 == 2 z = z2 + z^@z2power / (1 + (#pixel*z^@z3power)) endif endif bailout: |z| <= @bailout default: title = "MandelbrotJulia with added cz 2" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param choice1 caption = "Choice of first formula" enum = "z^n + c" "z^n + seed" "z^n/(1+cz^n)" default = 0 endparam param choice2 caption = "Choice of second formula" enum = "z^n + c" "z^n + seed" "z^n/(1+cz^n)" default = 0 endparam param choice3 caption = "Choice of third formula" enum = "z^n + c" "z^n + seed" "z^n/(1+cz^n)" default = 0 endparam param iterchoice caption = "Formulae : Separate or One iteration" enum = "Separate iterations" "One iteration" default = 0 endParam param power1 caption = "Power for Mandelbrot z" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param power2 caption = "Power for Julia z" default = (2,0) endparam param seed caption ="Julia seed" default = (.5,0) endparam param z2power caption = "Power for second z" default = (2,0) endparam param z3power caption = "Power for third z" default = (2,0) endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } Carr3000seriesEBadjust1 { ; Updated for UF2 by Erik Reckase, Oct 1999 ; Modified Sylvie Gallet.frm. ; Modified Evan Bayliss April 2021 ; The original Carr series had fixed values for each formula ; Now they can be adjusted as desired ; -default values are from 3602 init: pixel2=-abs(real(pixel))+flip(imag(pixel)) b1=pixel2-conj(0.1/pixel2-flip(0.01/pixel2+cabs(0.01/pixel2))) b3=|pixel2^6-conj(0.1/b1-flip(0.01/b1+cabs(0.01/b1)))| b5=flip(b3^3.6)*cabs(pixel2^2)*pixel2^2-(flip(0.072/pixel2))^1.8+0.52825 z = conj(b5) iter=0 loop: IF (iter == @altiter) z = 0 ENDIF z=z^@zpower + @seed1 -@seed2 iter=iter+1 bailout: |z| <= @bailout default: title = "Carr 3000 series EB Adjust 1" periodicity = 0 maxiter = 700 magn = 1.3 center = (0,0) param zpower caption = "loop z power" default = (2,0) endparam complex param seed1 caption = "Seed 1" default =(-0.748800289672,-0.1350036189) endparam float param seed2 caption = "Seed 2" default = -0.0000230 endparam param altiter caption = "Alt. Iter Limit" hint = "Iteration counts above this value cause immediate bailout\ forcing all of these pixels to be 'outside'" default = 200 endparam param bailout caption = "Bailout" default = 16.0 endparam } Carr3000seriesEBadjust1a { ; Updated for UF2 by Erik Reckase, Oct 1999 ; Modified Sylvie Gallet.frm. ; Modified Evan Bayliss April 2021 ; The original Carr series had fixed values for each formula ; Now they can be adjusted as desired ; -default values are from 3602, conj function replaced with bfunc init: pixel2=-abs(real(pixel))+flip(imag(pixel)) b1=pixel2-@bfunc(0.1/pixel2-flip(0.01/pixel2+cabs(0.01/pixel2))) b3=|pixel2^6-@bfunc(0.1/b1-flip(0.01/b1+cabs(0.01/b1)))| b5=flip(b3^3.6)*cabs(pixel2^2)*pixel2^2-(flip(0.072/pixel2))^1.8+0.52825 z = @bfunc(b5) iter=0 loop: IF (iter == @altiter) z = 0 ENDIF z=z^@zpower + @seed1 -@seed2 iter=iter+1 bailout: |z| <= @bailout default: title = "Carr 3000 series EB Adjust 1a" periodicity = 0 maxiter = 700 magn = 1.3 center = (0,0) param zpower caption = "loop z power" default = (2,0) endparam complex param seed1 caption = "Seed 1" default =(-0.748800289672,-0.1350036189) endparam float param seed2 caption = "Seed 2" default = -0.0000230 endparam func bfunc caption = "Function replacing conj" default = conj() endfunc param altiter caption = "Alt. Iter Limit" hint = "Iteration counts above this value cause immediate bailout\ forcing all of these pixels to be 'outside'" default = 200 endparam param bailout caption = "Bailout" default = 16.0 endparam } Carr3000seriesEBadjust1c { ; Updated for UF2 by Erik Reckase, Oct 1999 ; Modified Sylvie Gallet.frm. ; Modified Evan Bayliss April 2021 ; The original Carr series had fixed values for each formula ; Now they can be adjusted as desired ; -default values are from 3602, conj function replaced with bfunc and zfunc, cabs function by b5func ; b3power added ; Choice of final z formula init: pixel2=-abs(real(pixel))+flip(imag(pixel)) b1=pixel2-@bfunc(0.1/pixel2-flip(0.01/pixel2+cabs(0.01/pixel2))) b3=|pixel2^6-@bfunc(0.1/b1-flip(0.01/b1+cabs(0.01/b1)))| b5=flip(b3^@b3power)*@b5func(pixel2^2)*pixel2^2-(flip(0.072/pixel2))^1.8+0.52825 z = @zfunc(b5) iter=0 loop: IF (iter == @altiter) z = 0 ENDIF ;choice of final z formula if @choice == 0 z=z^@zpower + @seed1 -@seed2 elseif @choice == 1 z=z^@zpower - @seed1 + @seed2 elseif @choice == 2 z = z^@zpower + #pixel elseif @choice == 3 z=z^@zpower + @seed1 -@seed2 +#pixel endif iter=iter+1 bailout: |z| <= @bailout default: title = "Carr 3000 series EB Adjust 1c" periodicity = 0 maxiter = 700 magn = 1.3 center = (0,0) param zpower caption = "loop z power" default = (2,0) endparam complex param seed1 caption = "Seed 1" default =(-0.748800289672,-0.1350036189) endparam float param seed2 caption = "Seed 2" default = -0.0000230 endparam param choice caption = "Choice of final z formula" enum = "z^power + seed1 -seed2" "z^power -seed1 +seed2" "z^power + pixel" "z^power + pixel +seed1 -seed2" default =0 endparam func bfunc caption = "Function replacing conj(b1 and b3) variables " default = conj() endfunc func b5func caption = "Function replacing cabs(b5) variables " default = cabs() endfunc param b3power caption = "Value for b3 power in b5 equation" default = 3.6 endparam func zfunc caption = "Function replacing conj(z) variable" default = conj() endfunc param altiter caption = "Alt. Iter Limit" hint = "Iteration counts above this value cause immediate bailout\ forcing all of these pixels to be 'outside'" default = 200 endparam param bailout caption = "Bailout" default = 16.0 endparam } GnarlaMandelthotep3adj3 { ;Original Gnarlathotep3 formulas from OttoMagus (who gave apologies to HP Lovecraft!) ;Evan Bayliss April 2021 ;Modified to sequentially iterate different gnarlic formulae +/- standard Mandelbrot ;These can take a long time, periodicity checking may need to be turned off init: float x=real(fn1(pixel)/@r) float y=imag(fn1(pixel)/@r) float a=0.0 int i=0 count = -1 seqcount = 0 loop: seqcount = seqcount + 1 if seqcount == 8 seqcount = 1 endif count = -count ;if count == 1 while i<@iter i=i+1 a=x ;potentially different formula calculated in sequence over 7 iterations if seqcount == 1 if @vchoice1=="V1" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @vchoice1 =="V2" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @vchoice1 =="V3" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @vchoice1 =="V4" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @vchoice1 =="V5" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @vchoice1 =="V6" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 elseif @vchoice1 == "z^power+pixel" z=z^@power + #pixel endif elseif seqcount == 2 if @vchoice2=="V1" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @vchoice2 =="V2" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @vchoice3 =="V3" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @vchoice2 =="V4" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @vchoice2 =="V5" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @vchoice2 =="V6" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 elseif @vchoice2 == "z^power+pixel" z=z^@power + #pixel endif elseif seqcount == 3 if @vchoice3=="V1" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @vchoice3 =="V2" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @vchoice3 =="V3" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @vchoice3 =="V4" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @vchoice3 =="V5" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @vchoice3 =="V6" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 elseif @vchoice3 == "z^power+pixel" z=z^@power + #pixel endif elseif seqcount == 4 if @vchoice4=="V1" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @vchoice4 =="V2" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @vchoice4 =="V3" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @vchoice4 =="V4" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @vchoice4 =="V5" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @vchoice4 =="V6" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 elseif @vchoice4 == "z^power+pixel" z=z^@power + #pixel endif elseif seqcount == 5 if @vchoice5=="V1" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @vchoice5 =="V2" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @vchoice5 =="V3" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @vchoice5 =="V4" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @vchoice5 =="V5" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @vchoice5 =="V6" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 elseif @vchoice5 == "z^power+pixel" z=z^@power + #pixel endif elseif seqcount == 6 if @vchoice6=="V1" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @vchoice6 =="V2" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @vchoice6 =="V3" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @vchoice6 =="V4" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @vchoice6 =="V5" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @vchoice6 =="V6" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 elseif @vchoice6 == "z^power+pixel" z=z^@power + #pixel endif elseif seqcount == 7 if @vchoice7=="V1" x=x-p3*real(sin(y+sin(p1*(y+asinh(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+asinh(p2*a)))))/10 elseif @vchoice7 =="V2" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @vchoice7 =="V3" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @vchoice7 =="V4" x=x-p3*real(sin(y+(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+(p1*(a+sin(p2*a)))))/10 elseif @vchoice7 =="V5" x=x-p3*real(cos(y+(p1*(y+cos(p2*y)))))/10 y=y+p3*real(cos(a+(p1*(a+cos(p2*a)))))/10 elseif @vchoice7 =="V6" x=x-p3*real((y+cos(p1*(y+cos(p2*y)))))/10 y=y+p3*real((a+cos(p1*(a+cos(p2*a)))))/10 elseif @vchoice7 == "z^power+pixel" z=z^@power + #pixel endif endif if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif endwhile z=51*z/50 ;else ;z=z^@power + #pixel ;endif bailout: i=iter || |z|<@bail default: title="GnarlaMandelthotep 3 adjusted 3" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 param vchoice1 caption="First formula" enum="V1""V2""V3""V4""V5""V6""z^power+pixel" default=0 endparam param vchoice2 caption="Second formula" enum="V1""V2""V3""V4""V5" "V6""z^power+pixel" default=0 endparam param vchoice3 caption="Third formula" enum="V1""V2""V3""V4""V5""V6""z^power+pixel" default=0 endparam param vchoice4 caption="Fourth formula" enum="V1""V2""V3""V4""V5""V6""z^power+pixel" default=0 endparam param vchoice5 caption="Fifth formula" enum="V1""V2""V3""V4""V5""V6""z^power+pixel" default=0 endparam param vchoice6 caption="Sixth formula" enum="V1""V2""V3""V4""V5""V6""z^power+pixel" default=0 endparam param vchoice7 caption="Seventh formula" enum="V1""V2""V3""V4""V5""V6""z^power+pixel" default=0 endparam param p1 caption="Parameter 1" default=5.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam func fn1 default=ident() endfunc param V1 caption="Function 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam func fn2 caption="Function 3" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param power caption = " Power value for Mandel z" default = (2,0) endparam param bail caption="Bailout" default=10000000.0 endparam ; these formulae are left here in case of future use ;if @v=="1" ;x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 ;y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 ;elseif @v=="3" ;x=x-p3*real(sin(y+sin(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(sin(a+sin(p1*(a+cos(p2*a)))))/10 ;elseif @v=="4" ;x=x-p3*real(sin(y+sin(p1*(y+tanh(p2*y)))))/10 ;=y+p3*real(sin(a+sin(p1*(a+tanh(p2*a)))))/10 ;elseif @v=="5" ;x=x-p3*real(sin(y+sin(p1*(y+atan(p2*y)))))/10 ;y=y+p3*real(sin(a+sin(p1*(a+atan(p2*a)))))/10 ;elseif @v=="6" ;x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 ;y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 ;elseif @v=="9" ;x=x-p3*real(sin(y+cos(p1*(y+sin(p2*y)))))/10 ;y=y+p3*real(sin(a+cos(p1*(a+sin(p2*a)))))/10 ;elseif @v=="10" ;x=x-p3*real(sin(y+atanh(p1*(y+sin(p2*y)))))/10 ;y=y+p3*real(sin(a+atanh(p1*(a+sin(p2*a)))))/10 ;elseif @v=="11" ;x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 ;y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 ;elseif @v=="13" ;x=x-p3*real(cos(y+sin(p1*(y+sin(p2*y)))))/10 ;y=y+p3*real(cos(a+sin(p1*(a+sin(p2*a)))))/10 ;elseif @v=="14" ;x=x-p3*real(acosh(y+sin(p1*(y+sin(p2*y)))))/10 ;y=y+p3*real(acosh(a+sin(p1*(a+sin(p2*a)))))/10 ;elseif @v=="15" ;x=x-p3*real(cos(y+cos(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+cos(p1*(a+cos(p2*a)))))/10 ;elseif @v=="16" ;x=x-p3*real(cos(y+cos(p1*(y+sin(p2*y)))))/10 ;y=y+p3*real(cos(a+cos(p1*(a+sin(p2*a)))))/10 ;elseif @v=="17" ;x=x-p3*real(cos(y+cos(p1*(y+asinh(p2*y)))))/10 ;y=y+p3*real(cos(a+cos(p1*(a+asinh(p2*a)))))/10 ;elseif @v=="18" ;x=x-p3*real(cos(y+cos(p1*(y+tanh(p2*y)))))/10 ;y=y+p3*real(cos(a+cos(p1*(a+tanh(p2*a)))))/10 ;elseif @v=="19" ;x=x-p3*real(cos(y+cos(p1*(y+atan(p2*y)))))/10 ;y=y+p3*real(cos(a+cos(p1*(a+atan(p2*a)))))/10 ;elseif @v=="20" ;x=x-p3*real(cos(y+cos(p1*(y+abs(p2*y)))))/10 ;y=y+p3*real(cos(a+cos(p1*(a+abs(p2*a)))))/10 ;elseif @v=="21" ;x=x-p3*real(cos(y+cos(p1*(y+recip(p2*y)))))/10 ;y=y+p3*real(cos(a+cos(p1*(a+recip(p2*a)))))/10 ;elseif @v=="22" ;x=x-p3*real(cos(y+sin(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+sin(p1*(a+cos(p2*a)))))/10 ;elseif @v=="23" ;x=x-p3*real(cos(y+asinh(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+asinh(p1*(a+cos(p2*a)))))/10 ;elseif @v=="24" ;x=x-p3*real(cos(y+acosh(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+acosh(p1*(a+cos(p2*a)))))/10 ;elseif @v=="25" ;x=x-p3*real(cos(y+tanh(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+tanh(p1*(a+cos(p2*a)))))/10 ;elseif @v=="26" ;x=x-p3*real(cos(y+atan(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+atan(p1*(a+cos(p2*a)))))/10 ;elseif @v=="27" ;x=x-p3*real(cos(y+sqrt(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+sqrt(p1*(a+cos(p2*a)))))/10 ;elseif @v=="28" ;x=x-p3*real(cos(y+abs(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(cos(a+abs(p1*(a+cos(p2*a)))))/10 ;elseif @v=="30" ;x=x-p3*real(sin(y+cos(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(sin(a+cos(p1*(a+cos(p2*a)))))/10 ;elseif @v=="31" ;x=x-p3*real(asin(y+cos(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(asin(a+cos(p1*(a+cos(p2*a)))))/10 ;elseif @v=="32" ;x=x-p3*real(asinh(y+cos(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(asinh(a+cos(p1*(a+cos(p2*a)))))/10 ;elseif @v=="33" ;x=x-p3*real(acosh(y+cos(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(acosh(a+cos(p1*(a+cos(p2*a)))))/10 ;elseif @v=="34" ;x=x-p3*real(tanh(y+cos(p1*(y+cos(p2*y)))))/10 ;y=y+p3*real(tanh(a+cos(p1*(a+cos(p2*a)))))/10 } Newton4fnend1ver2 { ;Modified version ;Evan Bayliss August 2021 ;See coments for Newtonfnend1 Init: z = #pixel; ;root usually =1 but replaced by Root1 Root = @root1 Loop: z3 = @fn1(z)*z*z; z4 = z3 * @fn2(z); z = (3 * z4 + Root) / (4 * z3), Bailout: |@bailfunc(@bailnum*(z4-Root))| <= |z4 - Root| Default: title ="Newton4fnend1 EB ver 2" param root1 caption = "Root value" default = 1.0 endparam func fn1 caption = "First function" default = sqr() endfunc func fn2 caption = "Second function" default = sqr() endfunc ;In original version "Second Function" and "Bailout function were the same. ;I have made them separate in this version func bailfunc caption = "Bailout function" default =sqr() endfunc param bailnum caption = "Bailout number" default =0.004 endparam } bwp4EB2 { ;derived from BWP4 bwp.ufm ;modified Evan Bayliss August 2021 ;This version allows bailout value to be increased or decreased with each iteration init: z = @InitValue t = #pixel loop: z = @loopfunc(z) - t t = 1 / (z * @Value) @Bailout = @Bailout + @increment bailout: |z| < @Bailout default: title = "BWP 04 EB 2" param InitValue caption = "Initial Value" default = (0, 0) endparam func loopfunc caption = "Function for loop" default = sin() endfunc param Value caption = "Value" default = (50, 0) endparam param Bailout caption = "Bailout Value" default = 4.0 endparam param increment caption = "Increment to increase or decrease bailout" default = 1 endparam } Mandelbrotavepixel1a { ; ; Mandelbrot set, with modifications to how #pixel is treated. ; Evan Bayliss Nov 2021 ; init: z = z1 = z2 =z3 = @start pix = #pixel if @pc == 0 ; 1st method for "high' and "low values" of pixel ; try values in hundreds for pnum, espec real part pixhigh = #pixel + real(#pixel)/(real(@pnum)) + imag(#pixel)/imag(@pnum) pixlow = #pixel - real(#pixel)/(real(@pnum)) - imag(#pixel)/imag(@pnum) else ; 2nd method for "high' and "low values" of pixel pixhigh = #pixel + #pixel/real(@pnum) pixlow = #pixel - #pixel/real(@pnum) endif loop: z1 = z1^@power + pix z2 = z2^@power + pixhigh z3 = z3^@power + pixlow if @zc == 0 ; 1st method for "averaging" z values z=(z1+z2+z3)/(3,3) elseif @zc == 1 ; 2nd method for "averaging" z values z= (z1+z2+z3)/3 else ; 3rd option - add z values and divide by chosen denominator z = (z1+z2+z3)/@den endif bailout: |z| <= @bailout default: title = "Mandelbrot with pixel averaging 1a" center = (-0.5, 0) helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\mandelbrot.html" $IFDEF VER50 rating = recommended $ENDIF param start caption = "Starting point" default = (0,0) hint = "The starting point parameter can be used to distort the Mandelbrot \ set. Use (0, 0) for the standard Mandelbrot set." endparam param power caption = "Power" default = (2,0) hint = "This parameter sets the exponent for the Mandelbrot formula. \ Increasing the real part to 3, 4, and so on, will add discs to \ the Mandelbrot figure. Non-integer real values and non-zero \ imaginary values will create distorted Mandelbrot sets. Use (2, 0) \ for the standard Mandelbrot set." endparam param pc caption = "Choice pixhigh and pixlow versions" enum = "#pixel +/- real(#pixel)/(real(@pnum)) +/- imag(#pixel)/imag(@pnum)" "#pixel +/- #pixel/real(@pnum)" default = 0 endparam complex param pnum caption = "Value to increase and decrease pixel" default = (1,1) endparam param zc caption = "Choice of (z1+z2+z3) denominator" enum ="(3,3)" "3" "insert value" default = 0 endparam param den caption = "Denominator value for 3rd option" default = 3.0 endparam float param bailout caption = "Bailout value" default = 4.0 min = 1.0 $IFDEF VER40 exponential = true $ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; values around 4 \ give more interesting shapes around the set. Values less than 4 \ will distort the fractal." endparam } AltGnarlathotep2altered1 { ; orig otto magus ; modified Evan Bayliss May 2021 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 if @finalchoice == 0 z=@w*z/50 else z = (@w*z + |#pixel|)/50 endif bailout: |z|<@bail default: title="Alt Gnarlathotep 2 altered EB 1" 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" 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 w caption = "Multiplier for final z" default =51.0 endparam param finalchoice caption = "Choice of final z formula" enum = "w*z/50" "(w*z + |#pixel|)/50" default =0 endparam param bail caption="Bailout" default=10000000.0 endparam } Gnarlathotep3reversedver2 { ; Orig formula ottomagus ; Modified Evan Bayliss Jan 2022 ; order of formulae groups reversed ; The "variant" section is calculated first, then the gnarlic formulas second. ; Five gnarlic variations were chosen from the original thirty or so ; Any combination of five these can be selected ; The result of the first choice is the basis for the calculation of the second ; ... and so on init: float x=real(fn1(pixel)/@r) float y=imag(fn1(pixel)/@r) float a=0.0 int i=0 loop: while i<@iter i=i+1 a=x ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif ; choice of first Gnarlic formula if @ffirst == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffirst == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffirst== "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffirst== "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffirst== "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of second formula if @fsecond == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fsecond == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fsecond == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of third formula if @fthird == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fthird == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fthird == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fthird == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fthird == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fourth formula if @ffourth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffourth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffourth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fifth formula if @ffifth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffifth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffifth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Gnarlathotep 3 reversed version 2" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 param V caption="Variant" enum="1""2""3""4""5" default=0 endparam param p1 caption="Parameter 1" default=5.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam param ffirst caption = "first gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param fsecond caption = "second gnarlic formula choice" enum = "1" "2" "3" "4" "5" default =0 endparam param fthird caption = "third gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffourth caption = "fourth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffifth caption = "fifth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam func fn1 default=ident() endfunc param V1 caption="Function 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam func fn2 caption="Function 3" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param bail caption="Bailout" default=10000000.0 endparam } Gnarlathotep3reversedver2corr { ; Orig formula ottomagus ; Modified Evan Bayliss Jan 2022 ; order of formulae groups reversed ; The "variant" section is calculated first, then the gnarlic formulas second. ; Five gnarlic variations were chosen from the original thirty or so ; Any combination of five these can be selected ; The result of the first choice is the basis for the calculation of the second ; ... and so on ; April 3 2022 Corrected version ; The Variant dialogue item does nothing, whereas the V1 variable does the work ; "V" hasbeen removed and V1 now identified as the Variant formulae ; Function parameters recaptioned accordingly init: float x=real(@fn1(pixel)/@r) float y=imag(@fn1(pixel)/@r) float a=0.0 int i=0 loop: while i<@iter i=i+1 a=x ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif ; choice of first Gnarlic formula if @ffirst == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffirst == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffirst== "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffirst== "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffirst== "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of second formula if @fsecond == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fsecond == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fsecond == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of third formula if @fthird == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fthird == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fthird == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fthird == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fthird == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fourth formula if @ffourth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffourth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffourth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fifth formula if @ffifth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffifth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffifth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif endwhile z=51*z/50 bailout: |z|<@bail default: title="Gnarlathotep 3 reversed version 2 corrected" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 ;V replaced by V1 param V1 caption="Variant" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam param ffirst caption = "first gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param fsecond caption = "second gnarlic formula choice" enum = "1" "2" "3" "4" "5" default =0 endparam param fthird caption = "third gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffourth caption = "fourth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffifth caption = "fifth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam func fn1 caption = "Function 1" default=ident() endfunc func fn2 caption = "Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param bail caption="Bailout" default=10000000.0 endparam } Gnarlathotep3reversedver3 { ; Orig formula ottomagus ; Modified Evan Bayliss Jan 2022 ; order of formulae groups reversed ; The "variant" section is calculated first, then the gnarlic formulas second. ; Five gnarlic variations were chosen from the original thirty or so ; Any combination of five these can be selected ; The result of the first choice is the basis for the calculation of the second ; ... and so on ; April 3 2022 Corrected version ; The Variant dialogue item does nothing, whereas the V1 variable does the work ; "V" hasbeen removed and V1 now identified as the Variant formulae ; Function parameters recaptioned accordingly ; April 16 2022 ; version 3 final z is product of final x + y init: float x=real(@fn1(pixel)/@r) float y=imag(@fn1(pixel)/@r) float a=0.0 int i=0 loop: while i<@iter i=i+1 a=x ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif ; choice of first Gnarlic formula if @ffirst == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffirst == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffirst== "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffirst== "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffirst== "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of second formula if @fsecond == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fsecond == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fsecond == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of third formula if @fthird == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fthird == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fthird == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fthird == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fthird == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fourth formula if @ffourth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffourth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffourth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fifth formula if @ffifth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffifth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffifth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif endwhile z = z + x + flip(y) z=51*z/50 bailout: |z|<@bail default: title="Gnarlathotep 3 reversed version 3" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 ;V replaced by V1 param V1 caption="Variant" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam param ffirst caption = "first gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param fsecond caption = "second gnarlic formula choice" enum = "1" "2" "3" "4" "5" default =0 endparam param fthird caption = "third gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffourth caption = "fourth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffifth caption = "fifth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam func fn1 caption = "Function 1" default=ident() endfunc func fn2 caption = "Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) endparam param iter caption="Iterations" default=50 endparam param bail caption="Bailout" default=10000000.0 endparam } Gnarlathotep3reversedver4 { ; Orig formula ottomagus ; Modified Evan Bayliss April 2022 ; order of formulae groups reversed ; The "variant" section is alternately iterated with the garlic variations. ; Five gnarlic variations were chosen from the original thirty or so ; Any combination of five these can be selected ; The result of the first choice is the basis for the calculation of the second ; ... and so on init: float x= real(@fn1(pixel)/@r) float y= imag(@fn1(pixel)/@r) float a=0.0 int i=0 Count = -1 Count1 = 0 loop: while i<@iter i=i+1 a=x count = -count If @iterchoice == 0 ; varying order of iterations variant first if count == 1 ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif ; choice of first Gnarlic formula if @ffirst == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffirst == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffirst== "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffirst== "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffirst== "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of second formula if @fsecond == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fsecond == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fsecond == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of third formula if @fthird == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fthird == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fthird == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fthird == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fthird == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fourth formula if @ffourth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffourth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffourth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fifth formula if @ffifth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffifth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffifth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif elseif count == -1 ; choice of first Gnarlic formula if @ffirst == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffirst == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffirst== "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffirst== "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffirst== "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of second formula if @fsecond == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fsecond == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fsecond == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of third formula if @fthird == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fthird == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fthird == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fthird == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fthird == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fourth formula if @ffourth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffourth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffourth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ;choice of fifth formula if @ffifth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffifth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffifth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif endif ;endif for count elseif @iterchoice == 1 count1 = count1 + 1 if count1 == 6 count1 = 1 endif if count1 == 1 ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif ; choice of first Gnarlic formula if @ffirst == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffirst == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffirst== "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffirst== "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffirst== "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif elseif count1 == 2 ;choice of second formula if @fsecond == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fsecond == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fsecond == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fsecond == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif endif elseif count1 == 3 ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif ;choice of third formula if @fthird == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @fthird == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @fthird == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @fthird == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @fthird == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif elseif count1 == 4 ;choice of fourth formula if @ffourth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffourth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffourth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffourth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif elseif count1 == 5 ; Variant choice if @V1=="ident" z=(fn2(x+flip(y)))^@pow+p4 elseif @V1=="exp" z=exp(fn2(x+flip(y)))^@pow+p4 elseif @V1=="sqr" z=sqr(fn2(x+flip(y)))^@pow+p4 elseif @V1=="cotan" z=cotan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="tan" z=tan(fn2(x+flip(y)))^@pow+p4 elseif @V1=="acos" z=acos(fn2(x+flip(y)))^@pow+p4 elseif @V1=="log cabs" z=log(cabs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log abs" z=log(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cotan" z=log(cotan(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp abs" z=exp(abs(fn2(x+flip(y))))^@pow+p4 elseif @V1=="exp exp" z=exp(exp(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log log" z=log(log(fn2(x+flip(y))))^@pow+p4 elseif @V1=="acos acos" z=acos(acos(fn2(x+flip(y))))^@pow+p4 elseif @V1=="sqr sqr" z=sqr(sqr(fn2(x+flip(y))))^@pow+p4 elseif @V1=="tan sin" z=tan(sin(fn2(x+flip(y))))^@pow+p4 elseif @V1=="ceil round" z=ceil(round(fn2(x+flip(y))))^@pow+p4 elseif @V1=="log cos" z=log(cos(fn2(x+flip(y))))^@pow+p4 endif ;choice of fifth formula if @ffifth == "1" x=x-p3*real(sin(y+sin(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "2" x=x-p3*real(sin(y+sin(p1*(y+abs(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+abs(p2*a)))))/10 elseif @ffifth == "3" x=x-p3*real(sin(y+sin(p1*(y+(p2*y)))))/10 y=y+p3*real(sin(a+sin(p1*(a+(p2*a)))))/10 elseif @ffifth == "4" x=x-p3*real(sin(y+asinh(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+asinh(p1*(a+sin(p2*a)))))/10 elseif @ffifth == "5" x=x-p3*real(sin(y+abs(p1*(y+sin(p2*y)))))/10 y=y+p3*real(sin(a+abs(p1*(a+sin(p2*a)))))/10 endif endif ;endif for count1 ;endif ;endif ; for @iterchoice endwhile z=51*z/50 bailout: |z|<@bail default: title="Gnarlathotep 3 reversed version 4" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 ;V replaced by V1 int param iterchoice caption = "Variant or Gnarlic formulas first" enum = "Original formula" "Modified formula" default = 0 endparam param V1 caption="Variant" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" default=0 endparam param p1 caption="Parameter 1" default=1.0 endparam param p2 caption="Parameter 2" default=2.0 endparam param p3 caption="Parameter 3" default=1.0 endparam param p4 default=(0,0) endparam ;param p6 ;Caption = "Parameter for Gnarlic Formula first" ;default = 1.0 ;visible = @iterchoice == 1 ;endparam param ffirst caption = "first gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param fsecond caption = "second gnarlic formula choice" enum = "1" "2" "3" "4" "5" default =0 endparam param fthird caption = "third gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffourth caption = "fourth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam param ffifth caption = "fifth gnarlic formula choice" enum = "1" "2" "3" "4" "5" default = 0 endparam func fn1 caption = "Function 1" default=ident() endfunc func fn2 caption = "Function 2" default=ident() endfunc param pow caption="Exponent" default=(1,0) endparam param r caption="Rotozoom" default=(1,0) visible = @iterchoice == 0 endparam param iter caption="Iterations" default=50 endparam param bail caption="Bailout" default=10000000.0 endparam } NewtonMandJulcorr { ; Evan Bayliss March 2021 ; Combines Standard Newton formula with hybrid Mandelbrot/Julia formula (both z and "c" use pixel). ; Adjusted so all "root" terms listed as "@p1", but produces same results as Newton Mand Jul init: z = #pixel loop: zold = z z = ((@p1 - 1) * z^@p1 + @r) / (@p1 * z ^ (@p1 - 1)) z = z^@p1 +#pixel bailout: |z - zold| >= @bailout default: title = "Newton Mand Jul corrected " helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\newton.html" precision = 4 param p1 caption = "Exponent" default = (3,0) hint = "Specifies the exponent of the equation that is solved by \ Newton's method, as well as power value for z" endparam param r caption = "Root" default = (1,0) hint = "Specifies the root of the equation that is solved." endparam param bailout caption = "Bailout value" default = 0.00001 min = 0 hint = "This parameter defines how soon a convergent orbit bails out while \ iterating. Smaller values give more precise results but usually \ require more iterations." endparam } NewtonMandJulcorrver2 { ; Evan Bayliss Feb 2022 ; Combines Standard Newton formula with hybrid Mandelbrot/Julia formula (both z and "c" use pixel). ; Adjusted so all "root" terms listed as "@p1", but produces same results as Newton Mand Jul ; Choice of doing Newton calc first or second init: z = #pixel loop: zold = z if @choice ==0 z = ((@p1 - 1) * z^@p1 + @r) / (@p1 * z ^ (@p1 - 1)) z = z^@p1 +#pixel elseif @choice == 1 z = z^@p1 +#pixel z = ((@p1 - 1) * z^@p1 + @r) / (@p1 * z ^ (@p1 - 1)) endif bailout: |z - zold| >= @bailout default: title = "Newton Mand Jul corrected ver 2 " helpfile = "Uf*.chm" helptopic = "Html\formulas\standard\newton.html" precision = 4 int param choice caption = "Newton- First or Second" enum = "First" "Second" default = 0 endparam param p1 caption = "Exponent" default = (3,0) hint = "Specifies the exponent of the equation that is solved by \ Newton's method, as well as power value for z" endparam param r caption = "Root" default = (1,0) hint = "Specifies the root of the equation that is solved." endparam param bailout caption = "Bailout value" default = 0.00001 min = 0 hint = "This parameter defines how soon a convergent orbit bails out while \ iterating. Smaller values give more precise results but usually \ require more iterations." endparam } mt-multi-eb1 { ; original Mark Townsend, 8 May 1999 ; ; combination of mt formulae ; Modified Evan Bayliss Feb 2022 ; init: z = 0 pp = @fn1(#pixel / @scale) pg = #pixel / @scale float px = real(pp) float py = imag(pp) float gx = real(pg) float gy = imag(pg) float xx = 0 int iter = 0 loop: iter = iter + 1 ; popcorn if @fchoice == 0 xx = px px = px - @h * sin(py + tan(3 * py)) py = py - @h * sin(xx + tan(3 * xx)) z = @fn2(px + flip(py)) ; gnarl xx = real(z) gx = gx - @h * real(@fn3(gy + @fn3(@a * (gy + @fn5(@b * gy))))) gy = gy + @h * real(@fn3(xx + @fn4(@a * (xx + @fn5(@b * xx))))) z = gx + flip(y) elseif @fchoice == 1 ; gnarl xx = gx gx = gx - @h * real(@fn3(gy + @fn3(@a * (gy + @fn5(@b * gy))))) gy = gy + @h * real(@fn3(xx + @fn4(@a * (xx + @fn5(@b * xx))))) z = gx + flip(gy) ; popcorn xx = real(z) px = px - @h * sin(py + tan(3 * py)) py = py - @h * sin(xx + tan(3 * xx)) z = @fn2(px + flip(py)) endif bailout: ; All outside but only after a ; certain number of iterations iter < #maxiter default: title = "MT Multi EB ver 1" maxiter = 20 magn = 0.5 param h caption = "Step Size" default = 0.05 endparam param scale caption = "Scale" default = 1.0 endparam int param fchoice caption = "Formula order" enum = "Popcorn - Gnarl" "Gnarl - Popcorn" default = 0 endparam heading caption = "Popcorn functions" endheading func fn1 caption = "Pre popcorn function" default = ident() endfunc func fn2 caption = "Post popcorn function" default = ident() endfunc heading caption = "Gnarl functions" endheading func fn3 caption = "First Gnarl function" default = ident() endfunc func fn4 caption = "Second Gnarl function" default = ident() endfunc func fn5 caption = "Third Gnarl function" default = ident() endfunc heading caption = "Gnarl constants" endheading param a caption = "Alpha" default = 2.7 endparam param b caption = "Beta" default = 2.7 endparam } AltGnarlathotep2alterednewver1 { ; orig otto magus ; modified Evan Bayliss May 2021 ; Three different gnarlic formulae are calculated ; each one iterating into the next ; Three different Post Function choices are calculated ; from the final results. ; The final z is an average of the 3 Post Function outcomes 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 ;first gnarlic calculation if @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 ;second gnarlic calculation if @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 ;third gnarlic calculation if @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @pf1a=="ident" za=(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="exp" za=exp(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="sqr" za=sqr(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="cotan" za=cotan(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="tan" za=tan(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="acos" za=acos(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="log cabs" za=log(cabs(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log abs" za=log(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log cotan" za=log(cotan(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="exp abs" za=exp(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="exp exp" za=exp(exp(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log log" za=log(log(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="acos acos" za=acos(acos(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="sqr sqr" za=sqr(sqr(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="tan sin" za=tan(sin(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="ceil round" za=ceil(round(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log cos" za=log(cos(fn2(x+flip(y))))^@pow+p5 endif if @pf1b=="ident" zb=(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="exp" zb=exp(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="sqr" zb=sqr(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="cotan" zb=cotan(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="tan" zb=tan(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="acos" zb=acos(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="log cabs" zb=log(cabs(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log abs" zb=log(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log cotan" zb=log(cotan(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="exp abs" zb=exp(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="exp exp" zb=exp(exp(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log log" zb=log(log(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="acos acos" zb=acos(acos(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="sqr sqr" zb=sqr(sqr(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="tan sin" zb=tan(sin(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="ceil round" zb=ceil(round(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log cos" zb=log(cos(fn2(x+flip(y))))^@pow+p5 endif if @pf1c=="ident" zc=(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="exp" zc=exp(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="sqr" zc=sqr(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="cotan" zc=cotan(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="tan" zc=tan(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="acos" zc=acos(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="log cabs" zc=log(cabs(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log abs" zc=log(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log cotan" zc=log(cotan(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="exp abs" zc=exp(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="exp exp" zc=exp(exp(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log log" zc=log(log(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="acos acos" zc=acos(acos(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="sqr sqr" zc=sqr(sqr(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="tan sin" zc=tan(sin(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="ceil round" zc=ceil(round(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log cos" zc=log(cos(fn2(x+flip(y))))^@pow+p5 endif z =(za + zb + zc )/3 endwhile if @finalchoice == 0 z=@w*z/50 else z = (@w*z + |#pixel|)/50 endif bailout: |z|<@bail default: title="Alt Gnarlathotep 2 altered EB new ver 1" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param var1 caption="Variant 1" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var3 caption="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" 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 pf1a caption="Post Function 1 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 param pf1b caption="Post Function 1 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" endparam param pf1c caption="Post Function 1 3" 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 w caption = "Multiplier for final z" default =51.0 endparam param finalchoice caption = "Choice of final z formula" enum = "w*z/50" "(w*z + |#pixel|)/50" default =0 endparam param bail caption="Bailout" default=10000000.0 endparam } :********************************************************* AltGnarlathotep2alterednewver2 { ; Original formula otto magus ; modified Evan Bayliss May 2021, April 2022 ; Three gnarlic formulae choice are calculated ; with successive formulae being iterated from the previous one. ; Three different post function formulae are calculated - ; one after each gnarlic formula ; An average of the 3 results is obtained 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 ;first gnarlic calculation if @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 @var1 =="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 ; First post function if @pf1a=="ident" za=(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="exp" za=exp(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="sqr" za=sqr(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="cotan" za=cotan(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="tan" za=tan(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="acos" za=acos(fn2(x+flip(y)))^@pow+p5 elseif @pf1a=="log cabs" za=log(cabs(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log abs" za=log(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log cotan" za=log(cotan(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="exp abs" za=exp(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="exp exp" za=exp(exp(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log log" za=log(log(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="acos acos" za=acos(acos(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="sqr sqr" za=sqr(sqr(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="tan sin" za=tan(sin(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="ceil round" za=ceil(round(fn2(x+flip(y))))^@pow+p5 elseif @pf1a=="log cos" za=log(cos(fn2(x+flip(y))))^@pow+p5 endif ;second gnarlic calculation if @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 @var2 =="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 ; Second post function if @pf1b=="ident" zb=(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="exp" zb=exp(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="sqr" zb=sqr(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="cotan" zb=cotan(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="tan" zb=tan(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="acos" zb=acos(fn2(x+flip(y)))^@pow+p5 elseif @pf1b=="log cabs" zb=log(cabs(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log abs" zb=log(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log cotan" zb=log(cotan(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="exp abs" zb=exp(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="exp exp" zb=exp(exp(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log log" zb=log(log(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="acos acos" zb=acos(acos(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="sqr sqr" zb=sqr(sqr(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="tan sin" zb=tan(sin(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="ceil round" zb=ceil(round(fn2(x+flip(y))))^@pow+p5 elseif @pf1b=="log cos" zb=log(cos(fn2(x+flip(y))))^@pow+p5 endif ;third gnarlic calculation if @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 @var3 =="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 ;Third post function if @pf1c=="ident" zc=(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="exp" zc=exp(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="sqr" zc=sqr(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="cotan" zc=cotan(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="tan" zc=tan(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="acos" zc=acos(fn2(x+flip(y)))^@pow+p5 elseif @pf1c=="log cabs" zc=log(cabs(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log abs" zc=log(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log cotan" zc=log(cotan(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="exp abs" zc=exp(abs(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="exp exp" zc=exp(exp(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log log" zc=log(log(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="acos acos" zc=acos(acos(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="sqr sqr" zc=sqr(sqr(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="tan sin" zc=tan(sin(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="ceil round" zc=ceil(round(fn2(x+flip(y))))^@pow+p5 elseif @pf1c=="log cos" zc=log(cos(fn2(x+flip(y))))^@pow+p5 endif z =(za + zb + zc )/3 endwhile if @finalchoice == 0 z=@w*z/50 else z = (@w*z + |#pixel|)/50 endif bailout: |z|<@bail default: title="Alt Gnarlathotep 2 altered EB new ver 2" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param var1 caption="Variant 1" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var3 caption="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" 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 pf1a caption="Post Function 1 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 param pf1b caption="Post Function 1 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" endparam param pf1c caption="Post Function 1 3" 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 w caption = "Multiplier for final z" default =51.0 endparam param finalchoice caption = "Choice of final z formula" enum = "w*z/50" "(w*z + |#pixel|)/50" default =0 endparam param bail caption="Bailout" default=10000000.0 endparam } :********************************************************* AltGnarlathotep2alterednewver3 { ; Original formula otto magus ; modified Evan Bayliss May 2021, April 2022 ; Three chosen gnarlic formulae are calculated ; One result iterates into the next ; Three chosen post function formulae are concurrently calculated - ; one after each gnarlic formula ; The final post function values are combined using Statistics derived from ; jlb.ucl and the Physicist 12 August 2021 Forum Post init: float xa = float xb = float xc = real(fn1(pixel)) float ya = float yb = float yc = imag(fn1(pixel)) float aa = float ab = float ac =0 int i=0 int i2=0 loop: while i<@iter i=i+1 float ba=xa^2+ya^2 float bb=xb^2+yb^2 float bc=xc^2+yc^2 xa=xa/ba*p6+real(p1/10) ya=ya/ba*p6+imag(p1/10) aa=xa xb=xb/bb*p6+real(p1/10) yb=yb/bb*p6+imag(p1/10) aa=xa xc=xc/bc*p6+real(p1/10) yc=yc/bc*p6+imag(p1/10) ac=xc ;first gnarlic calculation if @var1 =="1" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(tanh(ya+cos(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(tanh(aa+cos(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="2" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real((ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real((aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="3" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+(@p8*aa)))))/10 i2=0 endif elseif @var1 =="4" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+tanh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+tanh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sqrt(ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(sqrt(aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="5" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+atan(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+atan(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="6" if i2==0 xa=xa-p4*real(tanh(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(tanh(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="7" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+cos(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+cos(@p8*aa)))))/10 i2=0 endif elseif @var1 =="8" if i2==0 xa=xa-p4*real(sin(ya+asinh(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+asinh(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+tan(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+tan(@p8*aa)))))/10 i2=0 endif elseif @var1 =="9" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real((ya+cos(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real((aa+cos(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="10" if i2==0 xa=xa-p4*real(sin(ya+ceil(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+ceil(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+(@p8*aa)))))/10 i2=0 endif elseif @var1 =="11" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="12" if i2==0 xa=xa-p4*real(sin(ya+(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="13" if i2==0 xa=xa-p4*real(asin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(asin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="14" if i2==0 xa=xa-p4*real(asinh(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(asinh(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+tan(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+tan(@p8*aa)))))/10 i2=0 endif elseif @var1 =="15" if i2==0 xa=xa-p4*real(cos(ya+cos(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(aa+cos(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+asinh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+asinh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="16" if i2==0 xa=xa-p4*real(cos(ya+abs(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(aa+abs(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="17" if i2==0 xa=xa-p4*real(cos(ya+(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(a+(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(a+abs(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="18" if i2==0 xa=xa-p4*real(cos(ya+abs(p2*(ya+abs(p3*ya)))))/10 ya=ya+p4*real(cos(aa+abs(p2*(aa+abs(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+asinh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+asinh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="19" if i2==0 xa=xa-p4*real(asinh(ya+cos(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(asinh(aa+cos(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="20" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(round(ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(round(aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="21" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+tanh(@p7*(ya+cos(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+tanh(@p7*(aa+cos(@p8*aa)))))/10 i2=0 endif elseif @var1 =="22" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+tanh(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+tanh(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="23" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="24" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="25" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="26" if i2==0 xa=xa-p4*real(sin(ya+conj(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+conj(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif endif ; First post function if @pf1a=="ident" za=(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="exp" za=exp(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="sqr" za=sqr(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="cotan" za=cotan(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="tan" za=tan(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="acos" za=acos(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="log cabs" za=log(cabs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log abs" za=log(abs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log cotan" za=log(cotan(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="exp abs" za=exp(abs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="exp exp" za=exp(exp(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log log" za=log(log(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="acos acos" za=acos(acos(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="sqr sqr" za=sqr(sqr(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="tan sin" za=tan(sin(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="ceil round" za=ceil(round(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log cos" za=log(cos(fn2(xa+flip(ya))))^@pow+p5 endif ;second gnarlic calculation if @var2 =="1" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(tanh(yb+cos(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(tanh(ab+cos(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="2" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real((yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real((ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="3" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+(@p8*ab)))))/10 i2=0 endif elseif @var2 =="4" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+tanh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+tanh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sqrt(yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(sqrt(ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="5" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+atan(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+atan(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="6" if i2==0 xb=xb-p4*real(tanh(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(tanh(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="7" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+cos(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+cos(@p8*ab)))))/10 i2=0 endif elseif @var2 =="8" if i2==0 xb=xb-p4*real(sin(yb+asinh(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+asinh(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+tan(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+tan(@p8*ab)))))/10 i2=0 endif elseif @var2 =="9" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real((yb+cos(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real((ab+cos(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="10" if i2==0 xb=xb-p4*real(sin(yb+ceil(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+ceil(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+(@p8*ab)))))/10 i2=0 endif elseif @var2 =="11" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="12" if i2==0 xb=xb-p4*real(sin(yb+(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="13" if i2==0 xb=xb-p4*real(asin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(asin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="14" if i2==0 xb=xb-p4*real(asinh(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(asinh(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+tan(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+tan(@p8*ab)))))/10 i2=0 endif elseif @var2 =="15" if i2==0 xb=xb-p4*real(cos(yb+cos(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+cos(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+asinh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+asinh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="16" if i2==0 xb=xb-p4*real(cos(yb+abs(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+abs(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="17" if i2==0 xb=xb-p4*real(cos(yb+(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="18" if i2==0 xb=xb-p4*real(cos(yb+abs(p2*(yb+abs(p3*yb)))))/10 yb=yb+p4*real(cos(ab+abs(p2*(ab+abs(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+asinh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+asinh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="19" if i2==0 xb=xb-p4*real(asinh(yb+cos(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(asinh(ab+cos(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="20" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(round(yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(round(ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="21" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+tanh(@p7*(yb+cos(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+tanh(@p7*(ab+cos(@p8*ab)))))/10 i2=0 endif elseif @var2 =="22" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+tanh(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+tanh(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="23" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="24" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="25" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="26" if i2==0 xb=xb-p4*real(sin(yb+conj(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+conj(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif endif ; Second post function if @pf1b=="ident" zb=(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="exp" zb=exp(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="sqr" zb=sqr(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="cotan" zb=cotan(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="tan" zb=tan(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="acos" zb=acos(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="log cabs" zb=log(cabs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log abs" zb=log(abs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log cotan" zb=log(cotan(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="exp abs" zb=exp(abs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="exp exp" zb=exp(exp(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log log" zb=log(log(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="acos acos" zb=acos(acos(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="sqr sqr" zb=sqr(sqr(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="tan sin" zb=tan(sin(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="ceil round" zb=ceil(round(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log cos" zb=log(cos(fn2(xb+flip(yb))))^@pow+p5 endif ;third gnarlic calculation if @var3 =="1" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(tanh(yc+cos(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(tanh(ac+cos(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="2" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real((yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real((ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="3" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+(@p8*ac)))))/10 i2=0 endif elseif @var3 =="4" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+tanh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+tanh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sqrt(yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(sqrt(ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="5" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+atan(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+atan(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="6" if i2==0 xc=xc-p4*real(tanh(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(tanh(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="7" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+cos(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+cos(@p8*ac)))))/10 i2=0 endif elseif @var3 =="8" if i2==0 xc=xc-p4*real(sin(yc+asinh(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+asinh(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+tan(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+tan(@p8*ac)))))/10 i2=0 endif elseif @var3 =="9" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real((yc+cos(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real((ac+cos(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="10" if i2==0 xc=xc-p4*real(sin(yc+ceil(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+ceil(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+(@p8*ac)))))/10 i2=0 endif elseif @var3 =="11" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="12" if i2==0 xc=xc-p4*real(sin(yc+(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="13" if i2==0 xc=xc-p4*real(asin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(asin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="14" if i2==0 xc=xc-p4*real(asinh(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(asinh(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+tan(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+tan(@p8*ac)))))/10 i2=0 endif elseif @var3 =="15" if i2==0 xc=xc-p4*real(cos(yc+cos(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+cos(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+asinh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+asinh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="16" if i2==0 xc=xc-p4*real(cos(yc+abs(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+abs(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="17" if i2==0 xc=xc-p4*real(cos(yc+(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="18" if i2==0 xc=xc-p4*real(cos(yc+abs(p2*(yc+abs(p3*yc)))))/10 yc=yc+p4*real(cos(ac+abs(p2*(ac+abs(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+asinh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+asinh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="19" if i2==0 xc=xc-p4*real(asinh(yc+cos(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(asinh(ac+cos(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="20" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(round(yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(round(ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="21" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+tanh(@p7*(yc+cos(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+tanh(@p7*(ac+cos(@p8*ac)))))/10 i2=0 endif elseif @var3 =="22" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+tanh(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+tanh(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="23" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="24" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="25" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="26" if i2==0 xc=xc-p4*real(sin(yc+conj(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+conj(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif endif ;Third post function if @pf1c=="ident" zc=(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="exp" zc=exp(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="sqr" zc=sqr(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="cotan" zc=cotan(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="tan" zc=tan(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="acos" zc=acos(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="log cabs" zc=log(cabs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log abs" zc=log(abs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log cotan" zc=log(cotan(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="exp abs" zc=exp(abs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="exp exp" zc=exp(exp(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log log" zc=log(log(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="acos acos" zc=acos(acos(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="sqr sqr" zc=sqr(sqr(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="tan sin" zc=tan(sin(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="ceil round" zc=ceil(round(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log cos" zc=log(cos(fn2(xc+flip(yc))))^@pow+p5 endif ;choice of final z formula ;arithmetic mean if @zstat == 0 z =(za + zb + zc )/3 ;geometric mean elseif @zstat == 1 z = (za*zb*zc)^-3 ;harmonic mean elseif @zstat == 2 h = (1/za + 1/zb + 1/zc)/3 z = 1/h ;standard deviation elseif @zstat == 3 ave = (za +zb +zc) /3 z = (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 ; coefficient of variation elseif @zstat == 4 ave = (za +zb +zc) /3 sd= (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 z = ave/sd ;fractal dimension elseif @zstat == 5 ave = (za +zb +zc) /3 sd= (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 z = sd^ave endif endwhile if @finalchoice == 0 z=@w*z/50 else z = (@w*z + |#pixel|)/50 endif bailout: |z|<@bail default: title="Alt Gnarlathotep 2 altered EB new ver 3" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param var1 caption="Variant 1" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var3 caption="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" 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 pf1a caption="Post Function 1 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 param pf1b caption="Post Function 1 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" endparam param pf1c caption="Post Function 1 3" 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 int param zstat caption = "Final z formula" enum = "Arithmetic Mean" "Geometric Mean" "Harmonic Mean"\ "Standard Deviation" "Coefficient of Variation" "Fractal Dimension" default =0 endparam 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 w caption = "Multiplier for final z" default =51.0 endparam param finalchoice caption = "Choice of final z formula" enum = "w*z/50" "(w*z + |#pixel|)/50" default =0 endparam param bail caption="Bailout" default=10000000.0 endparam } ;********************************************************* :********************************************************* AltGnarlathotep2alterednewver3a { ; Original formula otto magus ; modified Evan Bayliss May 2021, April 2022 ; Three chosen gnarlic formulae are calculated ; Three chosen post function formulae are concurrently calculated - ; after each corresponding gnarlic formula ; The final post function values are combined using Statistics derived from ; jlb.ucl and the Physicist 12 August 2021 Forum Post init: float xa = float xb = float xc = real(fn1(pixel)) float ya = float yb = float yc = imag(fn1(pixel)) float aa = float ab = float ac =0 int i=0 int i2=0 loop: while i<@iter i=i+1 float ba=xa^2+ya^2 float bb=xb^2+yb^2 float bc=xc^2+yc^2 xa=xa/ba*p6+real(p1/10) ya=ya/ba*p6+imag(p1/10) aa=xa xb=xb/bb*p6+real(p1/10) yb=yb/bb*p6+imag(p1/10) aa=xa xc=xc/bc*p6+real(p1/10) yc=yc/bc*p6+imag(p1/10) ac=xc ;first gnarlic calculation if @var1 =="1" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(tanh(ya+cos(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(tanh(aa+cos(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="2" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real((ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real((aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="3" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+(@p8*aa)))))/10 i2=0 endif elseif @var1 =="4" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+tanh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+tanh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sqrt(ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(sqrt(aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="5" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+atan(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+atan(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="6" if i2==0 xa=xa-p4*real(tanh(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(tanh(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="7" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+cos(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+cos(@p8*aa)))))/10 i2=0 endif elseif @var1 =="8" if i2==0 xa=xa-p4*real(sin(ya+asinh(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+asinh(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+tan(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+tan(@p8*aa)))))/10 i2=0 endif elseif @var1 =="9" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real((ya+cos(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real((aa+cos(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="10" if i2==0 xa=xa-p4*real(sin(ya+ceil(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+ceil(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+(@p8*aa)))))/10 i2=0 endif elseif @var1 =="11" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="12" if i2==0 xa=xa-p4*real(sin(ya+(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="13" if i2==0 xa=xa-p4*real(asin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(asin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="14" if i2==0 xa=xa-p4*real(asinh(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(asinh(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+tan(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+tan(@p8*aa)))))/10 i2=0 endif elseif @var1 =="15" if i2==0 xa=xa-p4*real(cos(ya+cos(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(aa+cos(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+asinh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+asinh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="16" if i2==0 xa=xa-p4*real(cos(ya+abs(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(aa+abs(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="17" if i2==0 xa=xa-p4*real(cos(ya+(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(a+(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(a+abs(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="18" if i2==0 xa=xa-p4*real(cos(ya+abs(p2*(ya+abs(p3*ya)))))/10 ya=ya+p4*real(cos(aa+abs(p2*(aa+abs(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+asinh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+asinh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="19" if i2==0 xa=xa-p4*real(asinh(ya+cos(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(asinh(aa+cos(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="20" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(round(ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(round(aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="21" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+tanh(@p7*(ya+cos(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+tanh(@p7*(aa+cos(@p8*aa)))))/10 i2=0 endif elseif @var1 =="22" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+tanh(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+tanh(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="23" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="24" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="25" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="26" if i2==0 xa=xa-p4*real(sin(ya+conj(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+conj(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif endif ; First post function if @pf1a=="ident" za=(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="exp" za=exp(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="sqr" za=sqr(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="cotan" za=cotan(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="tan" za=tan(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="acos" za=acos(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="log cabs" za=log(cabs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log abs" za=log(abs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log cotan" za=log(cotan(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="exp abs" za=exp(abs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="exp exp" za=exp(exp(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log log" za=log(log(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="acos acos" za=acos(acos(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="sqr sqr" za=sqr(sqr(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="tan sin" za=tan(sin(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="ceil round" za=ceil(round(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log cos" za=log(cos(fn2(xa+flip(ya))))^@pow+p5 endif ;second gnarlic calculation if @var2 =="1" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(tanh(yb+cos(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(tanh(ab+cos(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="2" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real((yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real((ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="3" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+(@p8*ab)))))/10 i2=0 endif elseif @var2 =="4" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+tanh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+tanh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sqrt(yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(sqrt(ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="5" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+atan(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+atan(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="6" if i2==0 xb=xb-p4*real(tanh(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(tanh(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="7" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+cos(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+cos(@p8*ab)))))/10 i2=0 endif elseif @var2 =="8" if i2==0 xb=xb-p4*real(sin(yb+asinh(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+asinh(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+tan(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+tan(@p8*ab)))))/10 i2=0 endif elseif @var2 =="9" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real((yb+cos(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real((ab+cos(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="10" if i2==0 xb=xb-p4*real(sin(yb+ceil(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+ceil(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+(@p8*ab)))))/10 i2=0 endif elseif @var2 =="11" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="12" if i2==0 xb=xb-p4*real(sin(yb+(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="13" if i2==0 xb=xb-p4*real(asin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(asin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="14" if i2==0 xb=xb-p4*real(asinh(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(asinh(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+tan(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+tan(@p8*ab)))))/10 i2=0 endif elseif @var2 =="15" if i2==0 xb=xb-p4*real(cos(yb+cos(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+cos(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+asinh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+asinh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="16" if i2==0 xb=xb-p4*real(cos(yb+abs(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+abs(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="17" if i2==0 xb=xb-p4*real(cos(yb+(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="18" if i2==0 xb=xb-p4*real(cos(yb+abs(p2*(yb+abs(p3*yb)))))/10 yb=yb+p4*real(cos(ab+abs(p2*(ab+abs(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+asinh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+asinh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="19" if i2==0 xb=xb-p4*real(asinh(yb+cos(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(asinh(ab+cos(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="20" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(round(yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(round(ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="21" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+tanh(@p7*(yb+cos(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+tanh(@p7*(ab+cos(@p8*ab)))))/10 i2=0 endif elseif @var2 =="22" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+tanh(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+tanh(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="23" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="24" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="25" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="26" if i2==0 xb=xb-p4*real(sin(yb+conj(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+conj(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif endif ; Second post function if @pf1b=="ident" zb=(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="exp" zb=exp(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="sqr" zb=sqr(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="cotan" zb=cotan(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="tan" zb=tan(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="acos" zb=acos(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="log cabs" zb=log(cabs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log abs" zb=log(abs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log cotan" zb=log(cotan(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="exp abs" zb=exp(abs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="exp exp" zb=exp(exp(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log log" zb=log(log(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="acos acos" zb=acos(acos(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="sqr sqr" zb=sqr(sqr(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="tan sin" zb=tan(sin(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="ceil round" zb=ceil(round(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log cos" zb=log(cos(fn2(xb+flip(yb))))^@pow+p5 endif ;third gnarlic calculation if @var3 =="1" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(tanh(yc+cos(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(tanh(ac+cos(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="2" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real((yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real((ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="3" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+(@p8*ac)))))/10 i2=0 endif elseif @var3 =="4" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+tanh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+tanh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sqrt(yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(sqrt(ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="5" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+atan(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+atan(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="6" if i2==0 xc=xc-p4*real(tanh(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(tanh(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="7" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+cos(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+cos(@p8*ac)))))/10 i2=0 endif elseif @var3 =="8" if i2==0 xc=xc-p4*real(sin(yc+asinh(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+asinh(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+tan(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+tan(@p8*ac)))))/10 i2=0 endif elseif @var3 =="9" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real((yc+cos(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real((ac+cos(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="10" if i2==0 xc=xc-p4*real(sin(yc+ceil(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+ceil(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+(@p8*ac)))))/10 i2=0 endif elseif @var3 =="11" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="12" if i2==0 xc=xc-p4*real(sin(yc+(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="13" if i2==0 xc=xc-p4*real(asin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(asin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="14" if i2==0 xc=xc-p4*real(asinh(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(asinh(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+tan(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+tan(@p8*ac)))))/10 i2=0 endif elseif @var3 =="15" if i2==0 xc=xc-p4*real(cos(yc+cos(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+cos(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+asinh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+asinh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="16" if i2==0 xc=xc-p4*real(cos(yc+abs(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+abs(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="17" if i2==0 xc=xc-p4*real(cos(yc+(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="18" if i2==0 xc=xc-p4*real(cos(yc+abs(p2*(yc+abs(p3*yc)))))/10 yc=yc+p4*real(cos(ac+abs(p2*(ac+abs(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+asinh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+asinh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="19" if i2==0 xc=xc-p4*real(asinh(yc+cos(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(asinh(ac+cos(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="20" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(round(yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(round(ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="21" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+tanh(@p7*(yc+cos(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+tanh(@p7*(ac+cos(@p8*ac)))))/10 i2=0 endif elseif @var3 =="22" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+tanh(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+tanh(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="23" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="24" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="25" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="26" if i2==0 xc=xc-p4*real(sin(yc+conj(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+conj(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif endif ;Third post function if @pf1c=="ident" zc=(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="exp" zc=exp(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="sqr" zc=sqr(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="cotan" zc=cotan(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="tan" zc=tan(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="acos" zc=acos(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="log cabs" zc=log(cabs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log abs" zc=log(abs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log cotan" zc=log(cotan(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="exp abs" zc=exp(abs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="exp exp" zc=exp(exp(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log log" zc=log(log(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="acos acos" zc=acos(acos(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="sqr sqr" zc=sqr(sqr(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="tan sin" zc=tan(sin(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="ceil round" zc=ceil(round(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log cos" zc=log(cos(fn2(xc+flip(yc))))^@pow+p5 endif if i == (@iter -1) ;choice of final z formula ;arithmetic mean if @zstat == 0 z =(za + zb + zc )/3 ;geometric mean elseif @zstat == 1 z = (za*zb*zc)^-3 ;harmonic mean elseif @zstat == 2 h = (1/za + 1/zb + 1/zc)/3 z = 1/h ;standard deviation elseif @zstat == 3 ave = (za +zb +zc) /3 z = (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 ; coefficient of variation elseif @zstat == 4 ave = (za +zb +zc) /3 sd= (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 z = ave/sd ;fractal dimension elseif @zstat == 5 ave = (za +zb +zc) /3 sd= (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 z = sd^ave endif endif endwhile if @finalchoice == 0 z=@w*z/50 else z = (@w*z + |#pixel|)/50 endif bailout: |z|<@bail default: title="Alt Gnarlathotep 2 altered EB new ver 3a" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param var1 caption="Variant 1" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var3 caption="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" 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 pf1a caption="Post Function 1 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 param pf1b caption="Post Function 1 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" endparam param pf1c caption="Post Function 1 3" 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 int param zstat caption = "Final z formula" enum = "Arithmetic Mean" "Geometric Mean" "Harmonic Mean"\ "Standard Deviation" "Coefficient of Variation" "Fractal Dimension" default =0 endparam 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 w caption = "Multiplier for final z" default =51.0 endparam param finalchoice caption = "Choice of final z formula" enum = "w*z/50" "(w*z + |#pixel|)/50" default =0 endparam param bail caption="Bailout" default=10000000.0 endparam } :********************************************************* AltGnarlathotep2alterednewver4 { ; Original formula otto magus ; modified Evan Bayliss May 2021, April 2022 ; Three chosen gnarlic formulae are calculated ; One result iterates into the next ; Three chosen post function formulae are concurrently calculated - ; one after each gnarlic formula ; The final post function values are combined using Statistics derived from ; jlb.ucl and the Physicist 12 August 2021 Forum Post init: float xa = float xb = float xc = real(fn1(pixel)) float ya = float yb = float yc = imag(fn1(pixel)) float aa = float ab = float ac =0 int i=0 int i2=0 loop: while i<@iter i=i+1 float ba=xa^2+ya^2 float bb=xb^2+yb^2 float bc=xc^2+yc^2 xa=xa/ba*p6+real(p1/10) ya=ya/ba*p6+imag(p1/10) aa=xa xb=xb/bb*p6+real(p1/10) yb=yb/bb*p6+imag(p1/10) aa=xa xc=xc/bc*p6+real(p1/10) yc=yc/bc*p6+imag(p1/10) ac=xc ;first gnarlic calculation if @var1 =="1" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(tanh(ya+cos(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(tanh(aa+cos(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="2" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real((ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real((aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="3" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+(@p8*aa)))))/10 i2=0 endif elseif @var1 =="4" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+tanh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+tanh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sqrt(ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(sqrt(aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="5" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+atan(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+atan(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="6" if i2==0 xa=xa-p4*real(tanh(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(tanh(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="7" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+cos(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+cos(@p8*aa)))))/10 i2=0 endif elseif @var1 =="8" if i2==0 xa=xa-p4*real(sin(ya+asinh(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+asinh(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+tan(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+tan(@p8*aa)))))/10 i2=0 endif elseif @var1 =="9" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real((ya+cos(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real((aa+cos(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="10" if i2==0 xa=xa-p4*real(sin(ya+ceil(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+ceil(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+(@p8*aa)))))/10 i2=0 endif elseif @var1 =="11" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="12" if i2==0 xa=xa-p4*real(sin(ya+(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="13" if i2==0 xa=xa-p4*real(asin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(asin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="14" if i2==0 xa=xa-p4*real(asinh(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(asinh(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+tan(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+tan(@p8*aa)))))/10 i2=0 endif elseif @var1 =="15" if i2==0 xa=xa-p4*real(cos(ya+cos(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(aa+cos(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+asinh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+asinh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="16" if i2==0 xa=xa-p4*real(cos(ya+abs(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(aa+abs(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="17" if i2==0 xa=xa-p4*real(cos(ya+(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(cos(a+(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(a+abs(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="18" if i2==0 xa=xa-p4*real(cos(ya+abs(p2*(ya+abs(p3*ya)))))/10 ya=ya+p4*real(cos(aa+abs(p2*(aa+abs(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+asinh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+asinh(@p8*aa)))))/10 i2=0 endif elseif @var1 =="19" if i2==0 xa=xa-p4*real(asinh(ya+cos(p2*(ya+cos(p3*ya)))))/10 ya=ya+p4*real(asinh(aa+cos(p2*(aa+cos(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+abs(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+abs(@p8*aa)))))/10 i2=0 endif elseif @var1 =="20" if i2==0 xa=xa-p4*real(sin(ya+sin(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+sin(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(round(ya+sin(@p7*(ya+sin(@p8*ya)))))/10 ya=ya+@p9*real(round(aa+sin(@p7*(aa+sin(@p8*aa)))))/10 i2=0 endif elseif @var1 =="21" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+sin(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+sin(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+tanh(@p7*(ya+cos(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+tanh(@p7*(aa+cos(@p8*aa)))))/10 i2=0 endif elseif @var1 =="22" if i2==0 xa=xa-p4*real(sin(ya+abs(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+abs(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+tanh(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+tanh(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="23" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+cos(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+cos(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="24" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+sqr(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+sqr(@p8*aa)))))/10 i2=0 endif elseif @var1 =="25" if i2==0 xa=xa-p4*real(sin(ya+cos(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+cos(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+sin(@p7*(ya+exp(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+sin(@p7*(aa+exp(@p8*aa)))))/10 i2=0 endif elseif @var1 =="26" if i2==0 xa=xa-p4*real(sin(ya+conj(p2*(ya+asinh(p3*ya)))))/10 ya=ya+p4*real(sin(aa+conj(p2*(aa+asinh(p3*aa)))))/10 i2=i2+1 else xa=xa-@p9*real(sin(ya+abs(@p7*(ya+tanh(@p8*ya)))))/10 ya=ya+@p9*real(sin(aa+abs(@p7*(aa+tanh(@p8*aa)))))/10 i2=0 endif endif ; First post function if @pf1a=="ident" za=(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="exp" za=exp(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="sqr" za=sqr(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="cotan" za=cotan(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="tan" za=tan(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="acos" za=acos(fn2(xa+flip(ya)))^@pow+p5 elseif @pf1a=="log cabs" za=log(cabs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log abs" za=log(abs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log cotan" za=log(cotan(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="exp abs" za=exp(abs(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="exp exp" za=exp(exp(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log log" za=log(log(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="acos acos" za=acos(acos(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="sqr sqr" za=sqr(sqr(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="tan sin" za=tan(sin(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="ceil round" za=ceil(round(fn2(xa+flip(ya))))^@pow+p5 elseif @pf1a=="log cos" za=log(cos(fn2(xa+flip(ya))))^@pow+p5 endif ;second gnarlic calculation xb = xa yb = ya if @var2 =="1" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(tanh(yb+cos(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(tanh(ab+cos(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="2" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real((yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real((ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="3" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+(@p8*ab)))))/10 i2=0 endif elseif @var2 =="4" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+tanh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+tanh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sqrt(yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(sqrt(ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="5" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+atan(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+atan(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="6" if i2==0 xb=xb-p4*real(tanh(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(tanh(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="7" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+cos(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+cos(@p8*ab)))))/10 i2=0 endif elseif @var2 =="8" if i2==0 xb=xb-p4*real(sin(yb+asinh(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+asinh(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+tan(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+tan(@p8*ab)))))/10 i2=0 endif elseif @var2 =="9" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real((yb+cos(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real((ab+cos(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="10" if i2==0 xb=xb-p4*real(sin(yb+ceil(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+ceil(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+(@p8*ab)))))/10 i2=0 endif elseif @var2 =="11" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="12" if i2==0 xb=xb-p4*real(sin(yb+(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="13" if i2==0 xb=xb-p4*real(asin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(asin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="14" if i2==0 xb=xb-p4*real(asinh(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(asinh(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+tan(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+tan(@p8*ab)))))/10 i2=0 endif elseif @var2 =="15" if i2==0 xb=xb-p4*real(cos(yb+cos(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+cos(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+asinh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+asinh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="16" if i2==0 xb=xb-p4*real(cos(yb+abs(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+abs(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="17" if i2==0 xb=xb-p4*real(cos(yb+(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(cos(ab+(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="18" if i2==0 xb=xb-p4*real(cos(yb+abs(p2*(yb+abs(p3*yb)))))/10 yb=yb+p4*real(cos(ab+abs(p2*(ab+abs(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+asinh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+asinh(@p8*ab)))))/10 i2=0 endif elseif @var2 =="19" if i2==0 xb=xb-p4*real(asinh(yb+cos(p2*(yb+cos(p3*yb)))))/10 yb=yb+p4*real(asinh(ab+cos(p2*(ab+cos(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+abs(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+abs(@p8*ab)))))/10 i2=0 endif elseif @var2 =="20" if i2==0 xb=xb-p4*real(sin(yb+sin(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+sin(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(round(yb+sin(@p7*(yb+sin(@p8*yb)))))/10 yb=yb+@p9*real(round(ab+sin(@p7*(ab+sin(@p8*ab)))))/10 i2=0 endif elseif @var2 =="21" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+sin(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+sin(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+tanh(@p7*(yb+cos(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+tanh(@p7*(ab+cos(@p8*ab)))))/10 i2=0 endif elseif @var2 =="22" if i2==0 xb=xb-p4*real(sin(yb+abs(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+abs(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+tanh(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+tanh(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="23" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+cos(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+cos(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="24" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+sqr(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+sqr(@p8*ab)))))/10 i2=0 endif elseif @var2 =="25" if i2==0 xb=xb-p4*real(sin(yb+cos(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+cos(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+sin(@p7*(yb+exp(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+sin(@p7*(ab+exp(@p8*ab)))))/10 i2=0 endif elseif @var2 =="26" if i2==0 xb=xb-p4*real(sin(yb+conj(p2*(yb+asinh(p3*yb)))))/10 yb=yb+p4*real(sin(ab+conj(p2*(ab+asinh(p3*ab)))))/10 i2=i2+1 else xb=xb-@p9*real(sin(yb+abs(@p7*(yb+tanh(@p8*yb)))))/10 yb=yb+@p9*real(sin(ab+abs(@p7*(ab+tanh(@p8*ab)))))/10 i2=0 endif endif ; Second post function if @pf1b=="ident" zb=(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="exp" zb=exp(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="sqr" zb=sqr(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="cotan" zb=cotan(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="tan" zb=tan(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="acos" zb=acos(fn2(xb+flip(yb)))^@pow+p5 elseif @pf1b=="log cabs" zb=log(cabs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log abs" zb=log(abs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log cotan" zb=log(cotan(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="exp abs" zb=exp(abs(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="exp exp" zb=exp(exp(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log log" zb=log(log(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="acos acos" zb=acos(acos(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="sqr sqr" zb=sqr(sqr(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="tan sin" zb=tan(sin(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="ceil round" zb=ceil(round(fn2(xb+flip(yb))))^@pow+p5 elseif @pf1b=="log cos" zb=log(cos(fn2(xb+flip(yb))))^@pow+p5 endif ;third gnarlic calculation xc = xb yc = yb if @var3 =="1" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(tanh(yc+cos(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(tanh(ac+cos(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="2" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real((yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real((ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="3" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+(@p8*ac)))))/10 i2=0 endif elseif @var3 =="4" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+tanh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+tanh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sqrt(yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(sqrt(ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="5" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+atan(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+atan(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="6" if i2==0 xc=xc-p4*real(tanh(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(tanh(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="7" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+cos(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+cos(@p8*ac)))))/10 i2=0 endif elseif @var3 =="8" if i2==0 xc=xc-p4*real(sin(yc+asinh(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+asinh(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+tan(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+tan(@p8*ac)))))/10 i2=0 endif elseif @var3 =="9" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real((yc+cos(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real((ac+cos(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="10" if i2==0 xc=xc-p4*real(sin(yc+ceil(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+ceil(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+(@p8*ac)))))/10 i2=0 endif elseif @var3 =="11" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="12" if i2==0 xc=xc-p4*real(sin(yc+(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="13" if i2==0 xc=xc-p4*real(asin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(asin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="14" if i2==0 xc=xc-p4*real(asinh(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(asinh(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+tan(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+tan(@p8*ac)))))/10 i2=0 endif elseif @var3 =="15" if i2==0 xc=xc-p4*real(cos(yc+cos(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+cos(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+asinh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+asinh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="16" if i2==0 xc=xc-p4*real(cos(yc+abs(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+abs(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="17" if i2==0 xc=xc-p4*real(cos(yc+(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(cos(ac+(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="18" if i2==0 xc=xc-p4*real(cos(yc+abs(p2*(yc+abs(p3*yc)))))/10 yc=yc+p4*real(cos(ac+abs(p2*(ac+abs(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+asinh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+asinh(@p8*ac)))))/10 i2=0 endif elseif @var3 =="19" if i2==0 xc=xc-p4*real(asinh(yc+cos(p2*(yc+cos(p3*yc)))))/10 yc=yc+p4*real(asinh(ac+cos(p2*(ac+cos(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+abs(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+abs(@p8*ac)))))/10 i2=0 endif elseif @var3 =="20" if i2==0 xc=xc-p4*real(sin(yc+sin(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+sin(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(round(yc+sin(@p7*(yc+sin(@p8*yc)))))/10 yc=yc+@p9*real(round(ac+sin(@p7*(ac+sin(@p8*ac)))))/10 i2=0 endif elseif @var3 =="21" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+sin(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+sin(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+tanh(@p7*(yc+cos(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+tanh(@p7*(ac+cos(@p8*ac)))))/10 i2=0 endif elseif @var3 =="22" if i2==0 xc=xc-p4*real(sin(yc+abs(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+abs(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+tanh(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+tanh(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="23" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+cos(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+cos(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="24" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+sqr(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+sqr(@p8*ac)))))/10 i2=0 endif elseif @var3 =="25" if i2==0 xc=xc-p4*real(sin(yc+cos(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+cos(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+sin(@p7*(yc+exp(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+sin(@p7*(ac+exp(@p8*ac)))))/10 i2=0 endif elseif @var3 =="26" if i2==0 xc=xc-p4*real(sin(yc+conj(p2*(yc+asinh(p3*yc)))))/10 yc=yc+p4*real(sin(ac+conj(p2*(ac+asinh(p3*ac)))))/10 i2=i2+1 else xc=xc-@p9*real(sin(yc+abs(@p7*(yc+tanh(@p8*yc)))))/10 yc=yc+@p9*real(sin(ac+abs(@p7*(ac+tanh(@p8*ac)))))/10 i2=0 endif endif ;Third post function if @pf1c=="ident" zc=(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="exp" zc=exp(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="sqr" zc=sqr(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="cotan" zc=cotan(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="tan" zc=tan(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="acos" zc=acos(fn2(xc+flip(yc)))^@pow+p5 elseif @pf1c=="log cabs" zc=log(cabs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log abs" zc=log(abs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log cotan" zc=log(cotan(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="exp abs" zc=exp(abs(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="exp exp" zc=exp(exp(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log log" zc=log(log(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="acos acos" zc=acos(acos(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="sqr sqr" zc=sqr(sqr(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="tan sin" zc=tan(sin(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="ceil round" zc=ceil(round(fn2(xc+flip(yc))))^@pow+p5 elseif @pf1c=="log cos" zc=log(cos(fn2(xc+flip(yc))))^@pow+p5 endif ;choice of final z formula ;arithmetic mean if @zstat == 0 z =(za + zb + zc )/3 ;geometric mean elseif @zstat == 1 z = (za*zb*zc)^-3 ;harmonic mean elseif @zstat == 2 h = (1/za + 1/zb + 1/zc)/3 z = 1/h ;standard deviation elseif @zstat == 3 ave = (za +zb +zc) /3 z = (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 ; coefficient of variation elseif @zstat == 4 ave = (za +zb +zc) /3 sd= (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 z = ave/sd ;fractal dimension elseif @zstat == 5 ave = (za +zb +zc) /3 sd= (((za/ave)^2)+ ((zb/ave)^2) + ((zc/ave)^2))/3 z = sd^ave endif endwhile if @finalchoice == 0 z=@w*z/50 else z = (@w*z + |#pixel|)/50 endif bailout: |z|<@bail default: title="Alt Gnarlathotep 2 altered EB new ver 4" maxiter=500 center=(0.001,0.001) magn=2 periodicity=0 int param version caption="Version" default=100 visible=@version<100 endparam param var1 caption="Variant 1" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var2 caption="Variant 2" enum="1""2""3""4""5""6""7""8""9"\ "10""11""12""13""14""15""16""17""18""19"\ "20""21""22""23""24""25""26" default=0 endparam param var3 caption="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" 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 pf1a caption="Post Function 1 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 param pf1b caption="Post Function 1 2" enum="ident""exp""sqr""cotan""tan""acos"\ "log cabs""log abs""log cotan"\ "exp abs""exp exp""log log""acos acos"\ "sqr sqr""tan sin""ceil round""log cos" endparam param pf1c caption="Post Function 1 3" 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 int param zstat caption = "Final z formula" enum = "Arithmetic Mean" "Geometric Mean" "Harmonic Mean"\ "Standard Deviation" "Coefficient of Variation" "Fractal Dimension" default =0 endparam 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 w caption = "Multiplier for final z" default =51.0 endparam param finalchoice caption = "Choice of final z formula" enum = "w*z/50" "(w*z + |#pixel|)/50" default =0 endparam param bail caption="Bailout" default=10000000.0 endparam }