xplshn
·
2025-08-13
donut.b
B
1 b[2000];z[2000
2 ];A;B;C;D;E;F;G;H;I;J;
3 K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;main
4 (){extrn usleep;A=C=1024;B=D=0;while(1
5 ){E=0;while(E<2000){b[E]=32;z[E++]=127;}E=G=
6 0;F=1024;while(G++<90){H=I=0;J=1024;while(I++<
7 324){M=F+2048;Z=J*M>>10;P=B*E>>10;Q=H*M>>10;R=P-(A*Q
8 >>10);S=A*E>>10;T=5242880+1024*S+sx64(B*Q);U=F*///////
9 H>>10;X=40+30*/**/ (sx64(D*Z)-sx64(C*
10 R))/T;Y=12+15/***/ *(sx64(D*R)+sx64(C
11 *Z))/T;N=sx64((- B*U-D*((-sx64(A*
12U)>>10)+P)-J*(F*C >>10)>>10)-S>>7);
13O=X+80*Y;V=sx64 (T-5242880>>15)
14;if(22>Y&Y>0&X> 000&80>X&V<z[O]
15){z[O]=V;b[O]=* (".,-~:;=!*#$@"+
16(N>0?N:0));}L=J; J-=5*H>>8;H+=5*
17L>>8;L=3145728-J* J-H*H>>11;J=sx64(
18 J*L>>10);H=sx64( H*L>>10);}L=F;F
19 -=9*E>>7;E+=9*L>>7 ;L=3145728-F*F-E*E
20 >>11;F=sx64(F*L >> 10);E=sx64(E*L>>10
21 /*https://www.a1k0n.net/2021/01/13/optimizing-donut.html*/
22 );}K=-1;while(1761>++K)putchar(K%80?b[K]:10);L=B;B-=5
23 *A>>7;A+=5*L>>7;L=3145728-B*B-A*A>>11;B=sx64(B
24 *L>>10);A=sx64(A*L>>10);L=D;D-=5*C>>8;C+=5
25 *L>>8;L=3145728-D*D-C*C>>11;D=sx64(D*L
26 >>10);C=sx64(C*L>>10);usleep(15000)
27 ;printf("%c[23A",27);}}Z;