Fix but with optimised range being 1 over.
diff --git a/py/compile.c b/py/compile.c
index ef303c1..a01f5f4 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -1378,15 +1378,15 @@
     EMIT(jump, continue_label);
     EMIT(label_assign, top_label);
 
+    // compile body
+    compile_node(comp, pn_body);
+
     // compile: var += step
     c_assign(comp, pn_var, ASSIGN_AUG_LOAD);
     compile_node(comp, pn_step);
     EMIT(binary_op, RT_BINARY_OP_INPLACE_ADD);
     c_assign(comp, pn_var, ASSIGN_AUG_STORE);
 
-    // compile body
-    compile_node(comp, pn_body);
-
     EMIT(label_assign, continue_label);
 
     // compile: if var < end: goto top