Hi,
Some Ideas about Multifractals

Of course every good fractal formula has unlimited complexity,
you can try to explore it and you´ll never come to an end.
So why should I use multifractal as Jim once put it if I remember
well.
What more do you get if you add one unlimited complexity to
another? Not more complexity of course but something
different. In nature we have uncountable clean structures
evolved from chaos. Maybe they evolved by relations between
different complexities?
This is where Multifractal comes in. From contact, mixing and
marriage of different complexities new structures are born
that you have never seen and which are possible only in this
program.
Miraculously, by experience and try and error it does what
I want, more often then not, -up to a certain degree of course.
There´s always a lot of surprise involved and that´s what
makes it fascinating, even after years. Also my
remaining life, I´m 71, is too short to explore every possible
combination, not mentioning the reset and colour commands.

Today´s image came about as I wanted to explore the
inside of a mandel with a mutant Julia. Judge yourself.
--
btw: Hal´s modification does not help save RAM as obviously
the comments are stripped by fractint, that maybe different
in a windows version.So here´s the complete frm again.

---------------------------------start par---------------------------------------
1536141            { ; The_Miracle
                     ; Theres life inside
                     ; Time 0.29.05 Dos Shell 1600/1200
                     ;  Fractint Version 2004 Patchlevel 11
  reset=2004 type=formula formulafile=mfr_10.frm
  formulaname=multifractal_10
  function=sin/exp/exp/sin passes=t
  center-mag=0.0206766/-0.0053525/6.831816/1/-90/3.8\
  8578058618804789e-016
  params=-0.05825983458967864/0.3785210730307932/213\
  64.64595712822/14235.4911030602/152048.0404808048/\
  384.1604894048/384.00482000595/256.1007683001/512.\
  1007683001/768.1007683001 float=y maxiter=3071
  inside=maxiter outside=tdis periodicity=0
  rseed=-2436
  colors=000000zr0zz1zzC<2>zzz<3>jqdfo_blU<3>Mb8<3>L\
  Q8KM8KJ8<2>I88H44G00<3>TA5WD6ZF7aI8eLAhMBiODjQF<3>\
  qeBriAtm9vq8xu7zz5zz4zz3<4>zj4zg4zc4<3>zS5zP5zL6zI\
  6zE6wE6tD6<6>vAIv9Kv9M<3>x7Sy7Uy6Wz6Yz5_<3>f5Ma5IW\
  4E<2>_4H<3>P3DN2CK2A<3>805G0BO0G<3>g0Ul0Xq0`v0d<2>\
  y0fz0gy0h<3>u1mt1ns1or2q<2>v2u<3>c5eZ6`U6X<2>F9LAA\
  G7FO4KW0Qc<3>5Xc6Zc7`c7aa7c_7eY<3>FcgHciJbl<3>S_v<\
  3>civflvinvlqvotvsww<2>zzz<3>rwzovzhsw<3>Gch8_d8Xa\
  <3>8JP8FL8CI<3>SCCXCAaB9<3>uA2zA0xA0<12>SA1QA1NA1<\
  3>D92<6>UXAW`BYcC<3>hrI<3>UnXRm_NlcJkgFfpAaz<3>PJo\
  SFlWAi_5fc0ce7_jFRoNIzb0zj0
  }

frm:Multifractal_10    { ;  Albrecht Niekamp  Jan2005
;
;p1 (spider)julia-seed
;real(p2) 5digits : (1)shape (2)outside (3)inside1 (4)inside2 (5)inside3
;0_off 1_secant 2_mand 3_bees 4_jul 5_m_mods 6_phoen 7_newt 8_spider
;  input2: 2digits_many-mods  2digits_phoenix  2digits_spider
;          1digit_shapereset:0_no 1_dblmandel 2_iter-reset 3_both +5_warp
;          4digits reset : 0_no 1_z-reset 2_iter-reset 3_both +5_warp
;imag(p2)(-) 5digits_colour(bailout) number
;  input2 :  4digits(-)_mand/jul 2digits_secant 4digits_bees
;real(p3) 2digits_newt 4digits_colour1, 5digits_colour2  5digits_colour3
;imag(p3) shape  : factor (fn1), 5digits_colour4  6digits_colour5
;real(p4) outside: factor (fn2), 4+1digits_bord-out 4digits+fract_bord-in
;imag(p4) inside1: maxit1, 1digit_use:1_maxit 2(7)_bord-out 3(8)_bord-in
;                  5digits_factor1 (fn2)  4digits+fract_border1
;real(p5) inside2: maxit2, 1digit_use:1_maxit 2(7)_bord-out 3(8)_bord-in
;                  5digits_factor2 (fn3)  4digits+fract_border2
;imag(p5) inside3: maxit3, 1digit_use:1_maxit 2(7)_bord-out 3(8)_bord-in
;                  5digits_factor3 (fn4)  4digits+fract_border3
;  optional:  1_lake effect, 2digits_frquency 2digits_level 2digits_ampl
;fn(1) shared by many-mods+bees
;
le=0
z=pixel
da=real(p2)
dd=trunc(da)
da=round((da-dd)*100000000000)+11111
dd=dd+11111
d=trunc(dd/10000)
dd=dd-d*10000
d3=(d==4)+(d==5)+(d==8)+(d==9)
d4=d3==0
vb=d>5
sc=d==2
mo=d==6
px=d==7
ab=px+(d==3)+(d==5)+(d==9)
d=trunc(dd/1000)
dd=dd-d*1000
ex1=d>1
sc1=d==2
mo1=d==6
px1=d==7
v1m=mo1+px1
v1j=d>7
dd1=v1j+(d==4)+(d==5)
ab1=px1+(d==3)+(d==5)+(d==9)
d=trunc(dd/100)
dd=dd-d*100
ex2=d>1
sc2=d==2
mo2=d==6
px2=d==7
v2m=mo2+px2
v2j=d>7
dd2=v2j+(d==4)+(d==5)
ab2=px2+(d==3)+(d==5)+(d==9)
d=trunc(dd/10)
ex3=d>1
sc3=d==2
mo3=d==6
px3=d==7
v3m=mo3+px3
v3j=d>7
dd3=v3j+(d==4)+(d==5)
ab3=px3+(d==3)+(d==5)+(d==9)
d=dd-d*10
ba=imag(p5)
mi3=trunc(ba)
dd=(d>1)+(mi3>1)
ex4=dd==2
sc4=d==2
mo4=d==6
px4=d==7
v4m=mo4+px4
v4j=d>7
dd4=v4j+(d==4)+(d==5)
ab4=px4+(d==3)+(d==5)+(d==9)
;
mm=trunc(da/1000000000)
da=da-mm*1000000000
ph=trunc(da/10000000)/100
da=da-ph*1000000000
sp=trunc(da/100000)/100
da=da-sp*10000000
d=trunc(da/10000)
ex0=d>4
da=da-d*10000
d=d-5*ex0
dm=(d==2)+(d==4)
ir0=(d==3)+(d==4)
d=trunc(da/1000)
w1=d>4
da=da-d*1000
d=d-5*w1
rs1=(d==2)+(d==4)
ir1=(d==3)+(d==4)
d=trunc(da/100)
w2=d>4
da=da-d*100
d=d-5*w2
rs2=(d==2)+(d==4)
ir2=(d==3)+(d==4)
d=trunc(da/10)
w3=d>4
da=da-d*10
d=d-5*w3
rs3=(d==2)+(d==4)
ir3=(d==3)+(d==4)
d=round(da)
w4=d>4
d=d-5*w4
rs4=(d==2)+(d==4)
tt=ex1+ex0+ex2+ex3+ex4
;
d=real(p3)
dd=trunc(d)
da=(d-dd)*10000000000
pp=trunc(dd/10000)
ba1=dd-10000*pp
ba2=trunc(da/100000)
ba3=da-100000*ba2
;
d=imag(p3)
sfac=trunc(d)
da=(d-sfac)*100000000000
ba4=trunc(da/1000000)
ba5=da-ba4*1000000
;
d=real(p4)
ofac=trunc(d)
da=(d-ofac)*10000000000
bh=trunc(da/100000)/10
bl=(da-bh*1000000)/10
bs=bl/2
;
d=imag(p2)
t=d<0
if (t)
 d=-d
endif
dd=trunc(d)
da=round((d-dd)*10000000000)
d=trunc(dd/10000)
dd=dd-d*10000
bb0=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5)
d=trunc(dd/1000)
dd=dd-d*1000
bb1=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5)
d=trunc(dd/100)
dd=dd-d*100
bb2=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5)
d=trunc(dd/10)
dd=dd-d*10
bb3=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5)
d=round(dd)
bb4=ba1*(d==1)+ba2*(d==2)+ba3*(d==3)+ba4*(d==4)+ba5*(d==5)
;
d=da
p0=trunc(d/100000000)/10
d=d-p0*1000000000
p6=trunc(d/1000000)/10
d=d-p6*10000000
if (t)
 p6=-p6
endif
p7=trunc(d/10000)/10
d=d-p7*100000
dp=p6+p0/100
p8=trunc(d/100)/100
d=d-p8*10000
p9=d/100
;
d=imag(p4)
mi1=trunc(d)
da=(d-mi1)*100000000000
d=trunc(da/10000000000)
bt1=d>6
da=da-d*10000000000
d=d-5*bt1
dt1=d>1
iv1=d==3
fac1=trunc(da/100000)
da=da-fac1*100000
bo1=(da/100000)/10
;
d=real(p5)
mi2=trunc(d)
da=(d-mi2)*100000000000
d=trunc(da/10000000000)
bt2=d>6
da=da-d*10000000000
d=d-5*bt2
dt2=d>1
iv2=d==3
fac2=trunc(da/100000)
da=da-fac2*100000
bo2=(da/100000)/10
;
if (mi3==1)
 d=(ba-mi3)*1000000
 fr=round((trunc(d/10000))*10)     ;lake effect by S.Gallet
 d=d-fr*1000
 lv=(trunc(d/100))/100           
 d=d-lv*10000
 am=d/100                         
 u=real(rotskew*pi/180)
 t=exp(-flip(u))
 bo=1/real(magxmag)
 q=bo/0.75*imag(magxmag)
 dd=tan(imag(rotskew*pi/180))
 da=2*q*t
 rs=2*bo*(dd+flip(1))*t
 zz=center+(-q-bo*dd-flip(bo))*t
 z=z-zz
 d=imag(conj(da)*z)/imag(conj(da)*rs)
 le=d<=lv
 if (le)
  dd=lv-d
  z=z+2*dd*(1+am*sin(fr*dd^0.2))*rs
 endif 
 z=z+zz
else
 da=(ba-mi3)*100000000000
 d=trunc(da/10000000000)
 bt3=d>6
 da=da-d*10000000000
 d=d-5*bt3
 dt3=d>1
 iv3=d==3
 fac3=trunc(da/100000)
 da=da-fac3*100000
 bo3=(da/100000)/10
endif
;
if (vb)
 if (d3)                                
  if (ab)
   z=z*le+pixel*(le==0)                                ;Spider
   c=p1
  else
   z=z*le+pixel*(le==0)
   c=p1                                                ;newton
  endif
 elseif (ab)
   c=z                                                 ;Phoenix     
   z=z*le+pixel*(le==0)
  else
   c=0.4*log(sqr(z^mm))                                ;many mods
   z=0
 endif
elseif (d3)
 if (ab)
  c=p1                                                 ;Julia       
  z=z*le+pixel*(le==0)
 else                                                  ;bees
  c=p1
  z=z*le+pixel*(le==0)                              
 endif
elseif (ab)
 c=z                                                   ;Mandel
 z=0
else
 c=z                                                    ;Secant    
 z=z*le+pixel*(le==0)
endif       
t=0
bo=|z|
p=pp
z0=p7
zold=(0.0,0.0)
cb=p9
ba=bb0
:
if (tt)
 t=t+1
 if (ex0)
  ex0=t<mi1
  if (bo>bs)
   u=2*(fn1(t/sfac))
   ex0=0
   if (ir0)
    t=0
   endif
   if (d4)
    z=z*u
    if (mo)
     c=0.4*log(sqr(z^mm))
    else
     c=pixel
    endif
   else
    z=z*le+pixel*(le==0)
    cb=p9*u
    c=p1*u
    p=pp*u
   endif
   tt=tt-1+ex0
  endif
 elseif ((ex1)&&bo>bl)
  if (bo<bh)
   d3=dd1
   ba=bb1
   ab=ab1
   ex1=0
   tt=tt-1
   if (w1)
    u=2*(fn2(t/ofac))
   else
    u=1,0
   endif
   if (ir1)
    t=0
   endif
   if (d3)
    vb=v1j
    if (rs1)
     z=pixel
     cb=p9*u
     c=p1*u
     p=pp*u
    else
     c=p1
     z=z*u
     cb=p9
    endif
   else
    vb=v1m
    if (rs1)
     c=z*u
     z=pixel*(sc1+px1)
     z0=p7*u
     ph=ph*u
    else
     c=z
     z=z*u
    endif
    if (mo1)
     c=0.4*log(sqr(z^mm))
    endif
   endif
  endif
 elseif (ex2)
  if (dt1)
   if (iv1)
    d=bo>bo1
   else
    d=bo<bo1
   endif
   if (bt1)
    d=d+(t>mi1)
   endif
  else
   d=t>mi1
  endif
  if (d)
   ab=ab2
   d3=dd2
   ba=bb2
   ex2=0
   tt=tt-1
   if (w2)
    u=2*(fn2(t/fac1))
   else
    u=1,0
   endif
   if (ir2)
    t=0
   endif
   if (d3)
    vb=v2j
    if (rs2)
     z=pixel
     cb=p9*u
     c=p1*u
     p=pp*u
    else
     cb=p9
     c=p1
     z=z*u
    endif
   else
    vb=v2m
    if (rs2)
     c=z*u
     z=pixel*(sc2+px2)
     z0=p7*u
     ph=ph*u
    else
     c=z
     z=z*u
    endif
    if (mo2)
     c=0.4*log(sqr(z^mm))
    endif
   endif
  endif
 elseif (ex3)
  if (dt2)
   if (iv2)
    d=bo>bo2
   else
    d=bo<bo2
   endif
   if (bt2)
    d=d+(t>mi2)
   endif
  else
   d=t>mi2
  endif
  if (d)
   ab=ab3
   d3=dd3
   ba=bb3
   ex3=0
   tt=tt-1
   if (w3)
    u=2*(fn3(t/fac2))
   else
    u=1,0
   endif
   if (ir3)
    t=0
   endif
   if (d3)
    vb=v3j
    if (rs3)
     z=pixel
     cb=p9*u
     c=p1*u
     p=pp*u
    else
     cb=p9
     c=p1
     z=z*u
    endif
   else
    vb=v3m
    if (rs3)
     c=z*u
     z=pixel*(sc3+px3)
     z0=p7*u
     ph=ph*u
    else
     c=z
     z=z*u
    endif
    vb=v3m
    if (mo3)
     c=0.4*log(sqr(z^mm))
    endif
   endif
  endif
 elseif (ex4)
  if (dt3)
   if (iv3)
    d=bo>bo3
   else
    d=bo<bo3
   endif
   if (bt3)
    d=d+(t>mi3)
   endif
  else
   d=t>mi3
  endif
  if (d)
   ab=ab4
   d3=dd4
   ba=bb4
   ex4=0
   tt=0
   if (w4)
    u=2*(fn4(t/fac3))
   else
    u=1,0
   endif
   if (d3)
    vb=v4j
    if (rs4)
     z=pixel
     cb=p9*u
     c=p1*u
     p=pp*u
    else
     cb=p9
     c=p1
     z=z*u
    endif
   else
    vb=v4m
    if (rs4)
     c=z*u
     z=pixel*(sc4+px4)
     z0=p7*u
     ph=ph*u
    else
     c=z
     z=z*u
    endif
    if (mo4)
     c=0.4*log(sqr(z^mm))
    endif
   endif
  endif
 endif
endif
if (vb)
 if (d3)                                
  if (ab)
   z=z*z+c                           ;Spiderjul     John Horner
   c=c*sp+z
  else
   z1=z^p-1                          ;Quasinewton    Puskas Istvan
   z2=p*z*z
   z=z-z1/z2
  endif
 elseif (ab)
   z1=z*z+0.56+ph/100-0.5*zold       ;Phoenix       Mike Wareman
   zold=z
   z=z1
 else
  z2=fn1(z)+c                        ;Many_mods     Linda Allison
  z1=cos(z2)
  z=c*(1-z1)/(1+z1)
 endif
elseif (d3)
 if (ab)
  z2=z*z                             ;Julia         Puskas Istvan
  z=z2*z2+p6*z2+c-p0
 else
  z1=fn1(z)-cb                       ;Bees          Ray Girvan
  z2=z1^p8-1       
  z3=p8*(z1^(p8-1))
  z=z-(z2/z3)                       
 endif
elseif (ab)
 if (dm)
   z=z*z+c+c*c-dp                    ;Double Mandel
 else
  z2=z*z                             ;Mandel        Puskas Istvan
  z=z2*z2+p6*z2+c-p0
 endif     
else
 z3=z                                ;Secant        Mike Wareman
 z1=z0*z0*z0*z0-1
 z2=z*z*z*z-1
 z=z-z2*(z-z0)/(z2-z1)
 z0=z3
endif
bo=|z|
bo<ba
}
------------------------------------------end------------------------------------------