Fractal 150 C – DNA

Part of LIFE series – 04.2025

cell . code . Dna . life . microcosm . mitochondria . nucleus . sky . water
Fractal 151 A - Brain
Fractal 151 A zoom1

Fractal 150 C – zoom level 1

Fractal 151 A zoom2

Fractal 150 C – zoom level 2

Data

This digital works is created exclusively from fractals, with 0% AI generated. It can therefore be converted into a set of functions and parameters that can be the basis for the training of an AI.

The mathematical formulas and parameter combinations corresponding to each fractal are presented below. In each case, the numerical characters have been replaced by â–  to prevent unauthorized reproduction. If you are interested in using the full data set to train an AI, please contact Philippe.

not generated by AI logo

Fractal 150 C - DNA - Part of LIFE series - 04.2025

Fractal_â– â– â– _C {
fractal:
title="Fractal_â– â– â– _C" width=â– â– â– â–  height=â– â– â– â–  layers=â– 
credits="Philoxerax;â– /â– â– /â– â– â– â– "
layer:
caption="Background" opacity=â– â– â–  transparent=yes
mapping:
center=-â– .â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â–  magn=â– .â– â– â– â– â– â– â– â– â– 
formula:
maxiter=â– â– â–  percheck=off filename="reb.ufm" entry="ZeePi"
p_version=â– .â–  p_start=â– /â–  p_test=mod p_bailout=â– â– .â–  p_pâ– =â– /â– .â– 
p_pâ– =â– .â– /â–  f_fnâ– =atan
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â–  index=â–  color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â–  index=â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â–  index=â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=-â– â– â–  color=â– â– â– â– â– â– â– â– 
index=-â– â– â–  color=â– â– â– â– â– â– â–  index=-â– â– â–  color=â– â– â– â– â– â– â– â–  index=-â– â– â– 
color=â– â– â– â– â– â– â– â–  index=-â– â– â–  color=â– â– â– â– â– â–  index=-â– â– â–  color=â– â– â– â– â– â– â– 
index=-â– â–  color=â– â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â–  index=-â– â– 
color=â– â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â– 
index=-â– â–  color=â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â–  index=-â– â– 
color=â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– 
index=-â– â–  color=â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â–  index=-â– â– 
color=â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â– 
index=-â– â–  color=â–  index=-â–  color=â– â– â– â– â– â– â– â–  index=-â–  color=â– â– â– â– â– â– â– â– 
opacity:
smooth=no index=â–  opacity=â– â– â–  index=â–  opacity=â–  index=â–  opacity=â– â– â– 
layer:
caption="Background" opacity=â– â–  mergemode=darken method=multipass
mapping:
center=-â– .â– â– â– â– â– â– â– â– /-â– .â– â– â– â– â– â– â– â–  magn=â– .â– â– â– â– â– â– â– â– â– 
formula:
maxiter=â– â– â– â–  percheck=off filename="reb.ufm" entry="JuliaTentMap"
p_version=â–  p_pâ– =â– .â– /â– .â– â–  p_type=cabs p_flavor="Flavor â– "
p_invert=no p_test=and p_bailout=â– â– â– â– â–  p_tentâ– =â–  p_tentâ– =â– 
p_tentâ– =â– .â–  f_tentfn=abs f_tentfnâ– =ident
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â–  index=â– â– â–  color=â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– 
opacity:
smooth=no index=â–  opacity=â– â– â– 
layer:
caption="Layer â– " opacity=â– â– â–  mergemode=overlay method=multipass
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â–  magn=â– .â– â– â– â– â– â– â– â– â–  angle=-â– â– .â– â– â– â– 
formula:
maxiter=â– â– â–  percheck=off filename="reb.ufm" entry="â– RDIMMagnetâ– J"
p_version=â– .â–  p_bailout=â– â– â– .â–  p_bailoutâ– =â–  p_pâ– =â– .â– /â– .â–  p_pâ– =â– .â– /â– .â– 
p_pâ– =â– /â– â– .â– 
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â–  index=â–  color=â– â– â– â– â– â– â– â–  index=â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â– 
index=-â– â–  color=â– â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â–  index=-â– 
color=â– â– â– â– â– â– â– 
opacity:
smooth=no index=â–  opacity=â– â– â– 
layer:
caption="Background" opacity=â– â– â–  mergemode=overlay method=multipass
mapping:
center=-â– .â– â– â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â–  magn=â– .â– â– â– â– â– â– â– â– â–  angle=-â– â– .â– â– â– â– 
formula:
maxiter=â– â– â–  percheck=off filename="reb.ufm" entry="â– RDIMMagnetâ– J"
p_version=â– .â–  p_bailout=â– â– â– .â–  p_bailoutâ– =â–  p_pâ– =â– .â– /â– .â–  p_pâ– =â– .â– /â– .â– 
p_pâ– =â– /â– â– .â– 
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=â– â–  index=â– â– â–  color=â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
opacity:
smooth=no index=â–  opacity=â– â– â– 
layer:
caption="Background" opacity=â– â– â–  method=multipass
mapping:
center=-â– .â– â– â– â– â– â– â– /â– .â– â– â– â– â– â– â– â– â–  magn=â– .â– â– â– â– â– â– â– â– â–  angle=-â– â– .â– â– â– â– 
formula:
maxiter=â– â– â–  percheck=off filename="reb.ufm" entry="â– RDIMMagnetâ– J"
p_version=â– .â–  p_bailout=â– â– â– .â–  p_bailoutâ– =â–  p_pâ– =â– .â– â– /â– .â– 
p_pâ– =â– .â– /â– .â–  p_pâ– =â– /â– â– â– 
inside:
transfer=none
outside:
transfer=linear
gradient:
smooth=yes rotation=-â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– 
color=â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– 
index=â– â–  color=â– â– â– â– â– â– â– â–  index=â– â–  color=â– â– â– â– â–  index=â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â– â–  index=â– â– â–  color=â–  index=â– â– â–  color=â– â– â– â– â– â– â– 
index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â–  color=â– â– â– â– â– â– â–  index=â– â– â– 
color=â– â– â– â– â– â– â– â–  index=-â– â–  color=â– â– â– â– â– â– â– â–  index=-â–  color=â– â– â– â– â– â– â– â– 
opacity:
smooth=no index=â–  opacity=â– â– â– 
}

â– RDIMMagnetâ– J {
; Ron Barnett December â– â– , â– â– â– â– 
init:
complex zold = â– 
#z = @pâ– *real(#pixel)+flip(imag(#pixel))
complex c = @pâ– +real(@pâ– )+flip(imag(@pâ– )*@pâ– )
loop:
zold = #z
num = #z^â–  + c-â– 
denom = â– *#z + c-â– 
#z = (num/denom)^â– 
bailout:
|#z| <= @bailout && |#z-zold| > @bailoutâ– 
default:
title = "â– D Magnetâ–  â– RDIM Julia"
maxiter = â– â– â– â– 
magn = â– .â– â– 
periodicity = â– 
method = multipass
center = (-â– , â– )
param version
caption = "Formula Version"
default = â– .â– 
hint = "You should never see this parameter; it's used internally to track \
which version of the formula was used to create your image, so that \
if a bug is found which breaks backwards-compatibility, the formula \
can adapt transparently."
visible = false
endparam
param bailout
caption = "Bailout (div)"
default = â– â– â– .â– 
min = â– 
endparam
param bailoutâ– 
caption = "Bailout (conv)"
default = â– .â– â– â– â– â– â– 
endparam
param pâ– 
caption = "Plane rotation"
default = (â– .â– ,â– .â– )
endparam
param pâ– 
caption = "Plane position"
default = (â– .â– ,â– .â– )
endparam
param pâ– 
caption = "seed"
default = (-â– .â– â– â– â– , â– .â– â– â– â– )
endparam
switch:
type = "â– RDIMMagnetâ– "
bailout = @bailout
baioutâ–  = @bailoutâ– 
pâ–  = @pâ– 
pâ–  = @pâ– 
}

JuliaTentMap {; Ron Barnett, August â– â– â– â– 
; based upon the tent map formula and the Barnsley
; fractal algorithm
init:
if @invert
#z = â– /(#pixel+(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
else
#z = #pixel
endif
if @flavor == "Flavor â– "
#z = @tentfn(#z)
endif
loop:
if @flavor == "Flavor â– "
#z = @tentfn(#z)
endif
if @invert
if @type == "cabs"
if cabs(@tentfnâ– (#z)) <= @tentâ– 
#z = @tentâ– *#z/(@pâ– +(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
else
#z = @tentâ– *(@tentâ– -#z)/(@pâ– +(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
endif
elseif @type == "real"
if real(@tentfnâ– (#z)) <= @tentâ– 
#z = @tentâ– *#z/(@pâ– +(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
else
#z = @tentâ– *(@tentâ– -#z)/(@pâ– +(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
endif
elseif @type == "imag"
if imag(@tentfnâ– (#z)) <= @tentâ– 
#z = @tentâ– *#z/(@pâ– +(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
else
#z = @tentâ– *(@tentâ– -#z)/(@pâ– +(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
endif
else
if imag(@tentfnâ– (#z)) > @tentâ– 
#z = @tentâ– *(@pâ– -#z)/(#pixel+(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
elseif real(@tentfnâ– (#z)) > @tentâ– 
#z = @tentâ– *(@pâ– -#z)/(#pixel+(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
else
#z = @tentâ– *#z/(@pâ– +(â– .â– â– â– â– â– â– ,â– .â– â– â– â– â– â– ))
endif
endif
else
if @type == "cabs"
if cabs(@tentfnâ– (#z)) <= @tentâ– 
#z = @tentâ– *#z*@pâ– 
else
#z = @tentâ– *(@tentâ– -#z)*@pâ– 
endif
elseif @type == "real"
if real(@tentfnâ– (#z)) <= @tentâ– 
#z = @tentâ– *#z*@pâ– 
else
#z = @tentâ– *(@tentâ– -#z)*@pâ– 
endif
elseif @type == "imag"
if imag(@tentfnâ– (#z)) <= @tentâ– 
#z = @tentâ– *#z*@pâ– 
else
#z = @tentâ– *(@tentâ– -#z)*@pâ– 
endif
else
if imag(@tentfnâ– (#z)) > @tentâ– 
#z = @tentâ– *(@tentâ– -#z)*@pâ– 
elseif real(@tentfnâ– (#z)) > @tentâ– 
#z = @tentâ– *(@tentâ– -#z)*@pâ– 
else
#z = @tentâ– *#z*@pâ– 
endif
endif
endif
bailout:
(@test == â–  && |#z| <= @bailout) || \
(@test == â–  && sqr(real(#z)) <= @bailout) || \
(@test == â–  && sqr(imag(#z)) <= @bailout) || \
(@test == â–  && (sqr(real(#z)) <= @bailout && sqr(imag(#z)) < @bailout)) || \
(@test == â–  && (sqr(real(#z)) <= @bailout || sqr(imag(#z)) < @bailout)) || \
(@test == â–  && (sqr(abs(real(#z)) + abs(imag(#z))) <= @bailout)) || \
(@test == â–  && (sqr(real(#z) + imag(#z)) <= @bailout))
default:
title = "Julia TentMap"
maxiter = â– â– â– â– 
center = (â– , â– )
periodicity = â– 
method = multipass
heading
caption = "Julia TentMap"
endheading
$ifdef VERâ– â– 
heading
text = "Based upon the Tent Map:"
endheading
heading
text = " T(x) = s*x for x <= â– .â– "
endheading
heading
text = " T(x) = s*(â– -x) for x > â– .â– "
endheading
heading
text = "and the code for the Barnsley type fractals."
endheading
$else
heading
caption = "Based upon the Tent Map:"
endheading
heading
caption = " T(x) = s*x for x <= â– .â– "
endheading
heading
caption = " T(x) = s*(â– -x) for x > â– .â– "
endheading
$endif
float param version
caption = "Version number"
default = â– .â– 
hint = "This is for backwards compatibility with old versions \
of the formula."
visible = false
endparam
param pâ– 
caption = "Julia seed"
default = (â– .â– , â– )
endparam
param type
caption = "Tent type"
default = â– 
enum = "cabs" "real" "imag" "Pinsky"
endparam
param flavor
caption = "Flavor"
default = â– 
enum = "Flavor â– " "Flavor â– "
endparam
bool param invert
caption = "Inversion"
default = false
endparam
param test
caption = "Bailout Test"
default = â– 
enum = "mod" "real" "imag" "or" "and" "manh" "manr"
endparam
float param bailout
caption = "Bailout value"
default = â– â– â– â– â– 
min = â– 
endparam
float param tentâ– 
caption ="Tent param #â– "
default = â– 
endparam
float param tentâ– 
caption ="Tent param #â– "
default = â– 
endparam
float param tentâ– 
caption ="Tent param #â– "
default = â– .â– 
endparam
func tentfn
caption = "Tent function"
default = abs()
endfunc
func tentfnâ– 
caption = "Tent function #â– "
default = ident()
endfunc
switch:
type = "TentMap"
bailout = @bailout
test = @test
tentâ–  = @tentâ– 
tentâ–  = @tentâ– 
tentâ–  = @tentâ– 
type = @type
tentfn = @tentfn
tentfnâ–  = @tentfnâ– 
flavor = @flavor
invert = @invert
}

ZeePi { ; Ron Barnett, â– â– â– â– 
; Based upon Ramanujan's iterative function for calculating pi
init:
#z = @start + #pixel
loop:
x = (â–  - #z^@pâ– )^(â– /@pâ– )
#z = #z*@fnâ– ((â– -x)/(â– +x)) + @pâ– 
bailout:
(@test == â–  && |#z| <= @bailout) || \
(@test == â–  && sqr(real(#z)) <= @bailout) || \
(@test == â–  && sqr(imag(#z)) <= @bailout) || \
(@test == â–  && (sqr(real(#z)) <= @bailout && sqr(imag(#z)) < @bailout)) || \
(@test == â–  && (sqr(real(#z)) <= @bailout || sqr(imag(#z)) < @bailout)) || \
(@test == â–  && (sqr(abs(real(#z)) + abs(imag(#z))) <= @bailout)) || \
(@test == â–  && (sqr(real(#z) + imag(#z)) <= @bailout))
default:
title = "ZeePi"
maxiter = â– â– â– 
center = (â– , â– )
periodicity = â– 
param version
caption = "Formula Version"
default = â– .â– 
hint = "You should never see this parameter; it's used internally to track \
which version of the formula was used to create your image, so that \
if a bug is found which breaks backwards-compatibility, the formula \
can adapt transparently."
visible = false
endparam
param start
caption = "Perturbation"
default = (â– ,â– )
endparam
param test
caption = "Bailout Test"
default = â– 
enum = "mod" "real" "imag" "or" "and" "manh" "manr"
endparam
param bailout
caption = "Bailout value"
default = â– â– .â– 
min = â– 
endparam
param pâ– 
caption = "Parameter â– "
default = (â– .â– , â– .â– )
endparam
param pâ– 
caption = "Parameter â– "
default = (â– .â– â– â– , â– .â– )
endparam
func fnâ– 
caption = "Function â– "
default = sin()
endfunc
switch:
type = "ZeePiM"
bailout = @bailout
pâ–  = @pâ– 
fnâ–  = @fnâ– 
test = @test
}

ZeePiM { ; Ron Barnett, â– â– â– â– 
; Based upon Ramanujan's iterative function for calculating pi
init:
#z = @start + #pixel
loop:
x = (â–  - #z^@pâ– )^(â– /@pâ– )
#z = #z*@fnâ– ((â– -x)/(â– +x)) +#pixel
bailout:
(@test == â–  && |#z| <= @bailout) || \
(@test == â–  && sqr(real(#z)) <= @bailout) || \
(@test == â–  && sqr(imag(#z)) <= @bailout) || \
(@test == â–  && (sqr(real(#z)) <= @bailout && sqr(imag(#z)) < @bailout)) || \
(@test == â–  && (sqr(real(#z)) <= @bailout || sqr(imag(#z)) < @bailout)) || \
(@test == â–  && (sqr(abs(real(#z)) + abs(imag(#z))) <= @bailout)) || \
(@test == â–  && (sqr(real(#z) + imag(#z)) <= @bailout))
default:
title = "ZeePi"
maxiter = â– â– â– 
center = (â– , â– )
periodicity = â– 
param version
caption = "Formula Version"
default = â– .â– 
hint = "You should never see this parameter; it's used internally to track \
which version of the formula was used to create your image, so that \
if a bug is found which breaks backwards-compatibility, the formula \
can adapt transparently."
visible = false
endparam
param start
caption = "Perturbation"
default = (â– ,â– )
endparam
param test
caption = "Bailout Test"
default = â– 
enum = "mod" "real" "imag" "or" "and" "manh" "manr"
endparam
param bailout
caption = "Bailout value"
default = â– â– .â– 
min = â– 
endparam
param pâ– 
caption = "Parameter â– "
default = (â– .â– , â– .â– )
endparam
func fnâ– 
caption = "Function â– "
default = sin()
endfunc
switch:
type = "ZeePi"
bailout = @bailout
pâ–  = #pixel
pâ–  = @pâ– 
fnâ–  = @fnâ– 
test = @test
}