diff --git a/projects/examples/demos/hilbert.tal b/projects/examples/demos/hilbert.tal
index fbbda32..f5a900e 100644
--- a/projects/examples/demos/hilbert.tal
+++ b/projects/examples/demos/hilbert.tal
@@ -7,13 +7,13 @@
 
 |0100
 
-	#aff5 .System/r DEO2
-	#af00 .System/g DEO2
-	#af05 .System/b DEO2
+	#6f0b .System/r DEO2
+	#7f0a .System/g DEO2
+	#8e0a .System/b DEO2
 	( screen size )
 	#0140 .Screen/width DEO2
 	#0140 .Screen/height DEO2
-
+	( draw )
 	#03ff #0000
 	&l
 		STH2k INC2k d2xy STH2r d2xy #01 draw-line
@@ -28,20 +28,18 @@ BRK
 	#0000
 		DUP2 ,&x STR2
 		,&y STR2
-
-	( N ) #0020 #0001 ( for i=1; i<n; i*=2 )
+	#0020 #0001
 	&l
 		STH2k
 		[ LIT2 &t $2 ]
-			DUP2 #01 SFT2 #0001 AND2
-				DUP2 ,&rx STR2
+			DUP2 DUP2 #01 SFT2 #0001 AND2 DUP2 ,&rx STR2
 			EOR2 #0001 AND2 ,&ry STR2
-		,&t LDR2 #02 SFT2 ,&t STR2
+			#02 SFT2 ,&t STR2
 		[ LIT2 &x $2 ] [ LIT2 &y $2 ] [ LIT2 &rx $2 ] [ LIT2 &ry $2 ]
-			STH2r rot ,&y STR2 ,&x STR2
-		DUP2 ,&rx LDR2 MUL2 ,&x LDR2 ADD2 ,&x STR2
-		DUP2 ,&ry LDR2 MUL2 ,&y LDR2 ADD2 ,&y STR2
-		#10 SFT2 GTH2k ?&l
+			STH2kr rot 
+		STH2kr ,&ry LDR2 MUL2 ADD2 ,&y STR2
+		STH2r ,&rx LDR2 MUL2 ADD2 ,&x STR2
+		DUP2 ADD2 GTH2k ?&l
 	POP2 POP2
 	,&x LDR2 #30 SFT2 #0020 ADD2
 	,&y LDR2 #30 SFT2 #0020 ADD2
@@ -52,7 +50,7 @@ JMP2r
 
 	( n-1 ) #0001 SUB2 STH2
 	SWP2 ,&rx STR2
-	#0000 NEQ2 ?&skipy
+	ORA ?&skipy
 		[ LIT2 &rx $2 ] #0001 NEQ2 ?&skipx
 			( rx-n-1 ) SWP2 STH2kr SWP2 SUB2
 			( ry-n-1 ) SWP2 STH2kr SWP2 SUB2