main(){char*c=" _.+=#\n)rezneuM drahnreB(xx.xxx@xxx";int x,t,y;float a, b,d;for(y=0;y<25;y++){for(x=0;x<80;x++){t=b=d=0;do{a=b*b-d*d-2.1+.035*x ;d=2*b*d+.088*y-1.1;b=a;t++;}while(t<32&&b*b+d*d<4);putchar(c[x>79?6:y> 23&&x<28?34-x:t>31?0:t>>4?5:t>>3?4:t>>2?3:t>>1?2:1]);}}} /*xxx@xxx.xx*/Arjan Kenter has archived one that already has m,u,e, and ,g,s,f as variable names:
int m,u,e;float g,s,f;char*c=" _.+=#\n)rezneuM drahnreB(xxxxxx@xxx";ma\ in(){for(e=0;e<25;e++){for(m=0;m<81;m++){u=s=f=0;do{g=s*s-f*f-2.1+.035* m;f=2*s*f+.088*e-1.1;s=g;u++;}while(u<32&&s*s+f*f<4);putchar(c[m>79?6:e >23&&m<28?34-m:u>31?0:u>>4?5:u>>3?4:u>>2?3:u>>1?2:1]);}}}/*xxx@xxx.xx*/In this archive there is also a newer 3-line version that has an uglier Mandelbrot:
int m,u,e;float g,s,f;char*_=")xx.xxx@xxx(rezneuM drahnreB\n";main(){for( ;e<1944;){u=s=f=0;do{g=s*s-f*f-2.1+.035*(m=e%81);f=2*s*f+e/81*.088-1.1;s =g;}while(++u<19&&g*s+f*f<4);putchar(_[++e>1863&&m<28?27-m:m>79?28:u]);}}Somewhere here Jay R. Hill's version banches off (it contains the `char*_' part); which he soon dismissed again for his current version to preserve a few more bytes.
int V,i,c=0;float k,y,R;main(){for(;c<1863;putchar((++c>918&&952>c ?60-V:i)["\nRV- .gis s'ydobyna ni ton m'I tuB"]))for(i=y=k=0;(V=c%81 )<80&&R*k+y*y<6&&22>++i;y=2*k*y+c/81*.09-1,k=R)R=k*k-y*y-2+V/27.;}(on alt.folklore.urban, Vicky Robinson's words `But I'm not in anybody's sig' caused an epidemy of the VI signature virus).
/* xxxxxx@xxx.xxxxxxx.xxx (Wei-Hwa Huang) */ int m,u,e=0;float l,_,I;main() {for(;e<1863; putchar((++e>924&&952> e?60-m:u) ["\n ude.hcetlac.occ@gnauhw ]"])) for(u=_=l=0;(m=e%81) <80&&I*l+_*_ <6&&25>++u;_=2*l*_+e/81*.09-1,l=I)I=l*l-_*_-2+.035*m;}This on is based on the one of Bernhard Muenzer above. It contains the m,u,e variable names.
/* xxxxx.xxxxx@xxxxxxxx.xx | http://www.helsinki.fi/~maaalto/ */ main(){char h[2001]=" Ma+\x1b[H",*k,c;float z=20,D,a,i,s,y;for(;k=h+7,z*= 8,z>8e-4;puts(h))for(s=.119+z;(k-h-7)%80<1?y=1.4+z,s-=z/15:k-h-1768;y-=z /40,*k++=h[c/4&3])for(c=a=D=0;--c&&a*a+D*D<4;a=a*a-D*D-y,D=2*i*D+s)i=a;}
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L|| (h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<L?--_ %6:6:7)+"World! \n",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} [ Carson Cheung, Computer Science, University Of Manchester, UK ]
/* Try me and stagger. With x size as parameter! y size=auto scaling!*/float R, y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;{s=(c>1?(h=atoi(v[1] )):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+(r=A*A)|++u==n&&putchar(*((( --s%h)?(u<n?--u%6:6):7)+"World!\n"))&&(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
float l,I,Q,_,o;int E;main(){I=1.125;while(I>=-1.225){for(l= -2;l<=1;l+=3/79.0){Q=_=0;for(E=127;Q*Q+_*_<4.0&&--E>32;){o=Q ;Q=Q*Q-_*_+l;_=2*o*_+I;}putchar(E);}putchar(10);I-=9/88.0;}}
main(c){float t,x,y,b=-2,a=b;for(;b-=a>2?.1/(a=-2):0,b<2;putchar(30+ c),a+=.0503)for(x=y=c=0;++c<90&x*x+y*y<4;y=2*x*y+b,x=t)t=x*x-y*y+a;}He wrote more C signature.
main(){char x,y=-1,t,n,*c="-=+X# \nrf.mpsbo.toylph@ld";while(++y<25) {for(x=0;x<80;){float a,b,d,i=2.2/25*y-1.1,r=2.8/80*x++-2.1;t=b=d=0;do{ a=b*b-d*d+r;d=2*b*d+i;b=a;}while(++t<32&&b*b+d*d<4);for(n=0;t&~1;t/=2, n++);putchar(c[x>79?6:y>23&&x<19?25-x:n]);}}}He also wrote a PostScript signature.
int main(){float g,s,f,r,i;char*_="/,;<mhl/brnoAmmhik<mmhI!/S!x`K\n";int m,u,e =0;_[30]++;for(;e<3919;){u=(256*(s=(r=.0325*(m=e%80)-2)*r+(i=.047*(e/80)-1.128 )*i)-96)*s+32*r<3?22:16+32*r+16*s<1?29:0;if(u==(s=f=0))do g=s*s-f*f+r;while((f =2*s*f+i)*f+(s=g)*g<4&&++u<25);putchar(_[++e>3840&&m<30?29-m:m>78?30:u]^1);}}Note the exact tests for a point in the period one cardioid (marked H) and the period two circle (at -1, marked J). These tests also save a lot of time. This one is based on one of Bernhard Muenzer's versions of the program. It contains the g,s,f variables.
Here is an even shorter version by him:
main(){int f,g,h=0;float a,b,c,d,e;for(;h<3920;putchar("!/-,;<:lnb/bh`r\ /ylqbAmmhI/S/x`K\013"[++h>3840&&g<25?31-g:g>79?31:f]^1))if((f=(256*(c=(d =(g=1+h%80)/31.-2)*d+(e=.047*(h/80-24))*e)-96)*c+32*d<3?24:16+32*d+16*c< 1?30:0)==0)for(a=d,b=c=0;(b=2*b*c+e)*b+(c=a)*a<=4&&++f<26;a=d-b*b+c*c);}
/* o._.o (C) 1996 Andrew Garrard, xxxxxxxxxx@xxxxxxx.xxxxx.xx.xx o~\_/~o */ /* ((^)) */main(c){float x,y=2,X,Y,Z;for(;(x=-2)<(y-=.1);puts(""/* (/\ /\) */ /* O)_(O */ ))for(;(X=x+=.05)<2;c=printf("%c"," .-:|O8M#"[c])) /* (\@o@/) */ /* O/ \O */for(Y=y;X*X+Y*Y<4&&c++<8;Z=x+X*X-Y*Y,Y=y+2*X*Y,X=Z);}/* ~~~ ~~~ */Cute but long:
/* /)_(\ */int main(void) {float x,y=2,X, /* Yet m f */ /* (/. .\) */Y,_,i;int c;for(;(y-=.1)>-2;){ /* o a */ /* \(T)/ */for(x=-2;(x+=.1)<2;){X=x;Y=y;c /* r . c */ /* () () */=0;while((X*X+Y*Y)<=4&&c++<7){ /* f e g t */ /* ()-() */_=x+X*X-Y*Y;i=2*X*Y+y;X=_;Y=i; /* r i o */ /* Andrew */}printf("%c",*(" .-:|O8M#"+c)) /* o s r */ /* Garrard */;}printf("\n");}} /* fluppeteer m the y */He has some more C signature programs
float x,y=1,s=1./128,X,Y,V;main(i){for(puts("P5 257 127 63");X=Y=0,x?/*Rob H.*/ x+=s,1:(x=-2,y-=s);putchar(i))for(i=64;--i&&X*X+(V=Y*Y)<4;X=X*X-V+x)Y=2*X*Y+y;}He has some more C signature programs
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L|| (h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<L?--_ %6:6:7)+"Mandel \n",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} /* xxxxxxx@xxxx.xxx - UNIX specialist, Paranet, Inc, Denver,CO */
/* __ __ __ ____ __*/ float e,a,b,c,d;main(i){for(;b<4;b+=.1){for(a=0; /*| \/ |\ \ / /\ \ / /*/ a<4;a+=.06){c=d=0;for(i=99;--i&&c*c+d*d<4;)e=c*c /*| |\/| | \ V / \ \/\/ / */ -d*d+a-2,d=2*c*d+b-2,c=e;putchar("X =."[i&3]);} /*|_| |_ark\_/ande\_/\_/ettering <xxxxx@xxxxxxxxxxxxxxx.xxx> */ puts("");}}He also as Brainf**k to C compiler signature program.
main(k){for(float x,y,u,v,w,z;(y+=.05)< 2;puts(""))for(x=-2;(x+=.03)<1;putchar( k>26?32:97+k))for(u=v=w=z=k=0;k++<99&w+ z<4;z=v*v,w=u*u)v=2*u*v+y-1,u=w-z+x;}
Full:
/* #######*/double x,y,u,v,w,z;int i,j,k;int main( /* # */){for(j=0;j<33;j++){y=1-j*2./33;for(i= /* #### */0;i<80;i++){u=v=w=z=0;x=i*.0375-2;for( /* # */k=1;k<2e3&&(w+z<4);k++){v=2*u*v+y;u=w- /* # */z+x;w=u*u;z=v*v;}putchar(k>26?32:97+k/ /*Finian Blackett Infosec*/3);}putchar(10);}}/*GCC*/ /*--------=[ xxxxxxxxxxxxxxx@xxxxx.com ]=---------*/