Index: tests/.expect/loop_else.txt
===================================================================
--- tests/.expect/loop_else.txt	(revision 4962741004a83fda5cd898dccabe06693d580ce5)
+++ tests/.expect/loop_else.txt	(revision 283876dd5181c60678729e1298121a77ff4a26f4)
@@ -37,4 +37,17 @@
 3 6 9 else
 
+0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 else
+0 -5 1 -6 2 -7 3 -8 4 -9 5 -10 6 -11 7 -12 8 -13 9 -14 else
+0 -5 1 -3 2 -1 3 1 4 3 5 5 6 7 7 9 8 11 9 13 else
+0 -5 1 -7 2 -9 3 -11 4 -13 5 -15 6 -17 7 -19 8 -21 9 -23 else
+
+0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 else
+0 -5 1 -6 2 -7 3 -8 4 -9 5 -10 6 -11 7 -12 8 -13 9 -14 else
+0 -5 1 -3 2 -1 3 1 4 3 5 5 6 7 7 9 8 11 9 13 else
+0 -5 1 -7 2 -9 3 -11 4 -13 5 -15 6 -17 7 -19 8 -21 9 -23 else
+
+0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else
+0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else
+0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else
 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else
 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9)else
@@ -50,15 +63,2 @@
 (10 10)(9 9)(8 8)(7 7)(6 6)(5 5)(4 4)(3 3)(2 2)(1 1)(0 0)else
 
-0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 else
-0 -5 1 -6 2 -7 3 -8 4 -9 5 -10 6 -11 7 -12 8 -13 9 -14 else
-0 -5 1 -3 2 -1 3 1 4 3 5 5 6 7 7 9 8 11 9 13 else
-0 -5 1 -7 2 -9 3 -11 4 -13 5 -15 6 -17 7 -19 8 -21 9 -23 else
-
-0 -5 1 -4 2 -3 3 -2 4 -1 5 0 6 1 7 2 8 3 9 4 else
-0 -5 1 -6 2 -7 3 -8 4 -9 5 -10 6 -11 7 -12 8 -13 9 -14 else
-0 -5 1 -3 2 -1 3 1 4 3 5 5 6 7 7 9 8 11 9 13 else
-0 -5 1 -7 2 -9 3 -11 4 -13 5 -15 6 -17 7 -19 8 -21 9 -23 else
-
-0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else
-0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else
-0 -5 1.5 1 -7 2.5 2 -9 3.5 3 -11 4.5 4 -13 5.5 5 -15 6.5 6 -17 7.5 7 -19 8.5 8 -21 9.5 9 -23 10.5 else
Index: tests/loop_else.cfa
===================================================================
--- tests/loop_else.cfa	(revision 4962741004a83fda5cd898dccabe06693d580ce5)
+++ tests/loop_else.cfa	(revision 283876dd5181c60678729e1298121a77ff4a26f4)
@@ -52,5 +52,5 @@
 		sout | i;
 	} else { sout | "else"; }														sout | nl;
-	for ( i; 10 -~ @ ) {
+	for ( i; @ -~ 10 ) {
 	  if ( i < 0 ) break;
 		sout | i;
@@ -65,5 +65,5 @@
 		i += 1.7;
 	} else { sout | "else"; }														sout | nl;
-	for ( i; 10 -~ @ ~ 2 ) {
+	for ( i; @ -~ 10 ~ 2 ) {
 	  if ( i < 0 ) break;
 		sout | i;
@@ -84,4 +84,18 @@
 	for ( i; start ~ comp ~ inc + 1 ) { sout | i; } else { sout | "else"; }		sout | nl | nl;
 
+	for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl;
+	for ( i; 10 : j; @ -~ -5 ) { sout | i | j; } else { sout | "else"; } sout | nl;
+	for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl;
+	for ( i; 10 : j; @ -~ -5 ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
+
+	for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
+	for ( j; @ -~ -5 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
+	for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
+	for ( j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
+
+	for ( j; @ -~ -5 ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
+	for ( j; @ -~ -5 ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
+	for ( k; 1.5 ~ @ : j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
+
 	for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } else { sout | "else"; } sout | nl;
 	for ( s; (S){10,10} ) { sout | s; } else { sout | "else"; } sout | nl;
@@ -96,17 +110,3 @@
 	for ( s; (S){0} -~= (S){10,10} ) { sout | s; } else { sout | "else"; }		 sout | nl;
 	for ( s; (S){0} -~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl | nl;
-
-	for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl;
-	for ( i; 10 : j; -5 -~ @ ) { sout | i | j; } else { sout | "else"; } sout | nl;
-	for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl;
-	for ( i; 10 : j; -5 -~ @ ~ 2 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
-
-	for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
-	for ( j; -5 -~ @ : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
-	for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl;
-	for ( j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j; } else { sout | "else"; } sout | nl | nl;
-
-	for ( j; -5 -~ @ ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
-	for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
-	for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } else { sout | "else"; } sout | nl;
 }
Index: tests/loopctrl.cfa
===================================================================
--- tests/loopctrl.cfa	(revision 4962741004a83fda5cd898dccabe06693d580ce5)
+++ tests/loopctrl.cfa	(revision 283876dd5181c60678729e1298121a77ff4a26f4)
@@ -10,6 +10,6 @@
 // Created On       : Wed Aug  8 18:32:59 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Aug  9 20:42:27 2022
-// Update Count     : 145
+// Last Modified On : Thu Aug 11 23:04:35 2022
+// Update Count     : 160
 // 
 
@@ -70,13 +70,13 @@
 
 	for ( j; s ~ @ ) { if ( j == 10 ) break; sout | j; }				sout | nl;
-	for ( j; s -~ @ ) { if ( j == -10 ) break; sout | j; }				sout | nl;
+	for ( j; @ -~ s ) { if ( j == -10 ) break; sout | j; }				sout | nl;
 	for ( j; s ~ @ ~ i ) { if ( j == 10 ) break; sout | j; }			sout | nl;
-	for ( j; s -~ @ ~ i ) { if ( j == -10 ) break; sout | j; }			sout | nl;
+	for ( j; @ -~ s ~ i ) { if ( j == -10 ) break; sout | j; }			sout | nl;
 	for ( j; s ~ @ ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; }	sout | nl;
 
 	for ( int j; s ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; }	sout | nl;
-	for ( int j; s -~ @ ) { if ( j == -10 ) break; sout | j; j -= 1; }	sout | nl;
+	for ( int j; @ -~ s ) { if ( j == -10 ) break; sout | j; j -= 1; }	sout | nl;
 	for ( int j; s ~ @ ~ i ) { if ( j == 10 ) break; sout | j; }		sout | nl;
-	for ( int j; s -~ @ ~ i ) { if ( j == -10 ) break; sout | j; }		sout | nl;
+	for ( int j; @ -~ s ~ i ) { if ( j == -10 ) break; sout | j; }		sout | nl;
 	for ( int j; s ~ @ ~ @ ) { if ( j == 10 ) break; sout | j; j += 1; } sout | nl;
 
@@ -138,5 +138,5 @@
 		sout | i;
 	}													sout | nl;
-	for ( i; 10 -~ @ ) {
+	for ( i; @ -~ 10 ) {
 	  if ( i < 0 ) break;
 		sout | i;
@@ -151,5 +151,5 @@
 		i += 1.7;
 	}													sout | nl;
-	for ( i; 10 -~ @ ~ 2 ) {
+	for ( i; @ -~ 10 ~ 2 ) {
 	  if ( i < 0 ) break;
 		sout | i;
@@ -164,5 +164,5 @@
 	for ( N ) { sout | "N"; }							sout | nl;
 	for ( i; N ) { sout | i; }							sout | nl;
-	for ( i; ~=  N ) { sout | i; }						sout | nl;
+	for ( i; ~= N ) { sout | i; }						sout | nl;
 	for ( i; -~= N ) { sout | i; }						sout | nl | nl;
 
@@ -171,16 +171,16 @@
 
 	for ( i; 10 : j; -5 ~ @ ) { sout | i | j; } sout | nl;
-	for ( i; 10 : j; -5 -~ @ ) { sout | i | j; } sout | nl;
+	for ( i; 10 : j; @ -~ -5 ) { sout | i | j; } sout | nl;
 	for ( i; 10 : j; -5 ~ @ ~ 2 ) { sout | i | j; } sout | nl;
-	for ( i; 10 : j; -5 -~ @ ~ 2 ) { sout | i | j; } sout | nl | nl;
+	for ( i; 10 : j; @ -~ -5 ~ 2 ) { sout | i | j; } sout | nl | nl;
 
 	for ( j; -5 ~ @ : i; 10 ) { sout | i | j; } sout | nl;
-	for ( j; -5 -~ @ : i; 10 ) { sout | i | j; } sout | nl;
+	for ( j; @ -~ -5 : i; 10 ) { sout | i | j; } sout | nl;
 	for ( j; -5 ~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl;
-	for ( j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j; } sout | nl | nl;
-
-	for ( j; -5 -~ @ ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } sout | nl;
-	for ( j; -5 -~ @ ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl;
-	for ( k; 1.5 ~ @ : j; -5 -~ @ ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl;
+	for ( j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j; } sout | nl | nl;
+
+	for ( j; @ -~ -5 ~ 2 : i; 10 : k; 1.5 ~ @ ) { sout | i | j | k; } sout | nl;
+	for ( j; @ -~ -5 ~ 2 : k; 1.5 ~ @ : i; 10 ) { sout | i | j | k; } sout | nl;
+	for ( k; 1.5 ~ @ : j; @ -~ -5 ~ 2 : i; 10 ) { sout | i | j | k; } sout | nl;
 
 	for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } sout | nl;
