Fixing pointer addition (word*~) bsearch16u::$7 ← (word*) bsearch16u::items + (byte~) bsearch16u::$6
Fixing pointer addition (word*~) bsearch16u::$15 ← (word*) bsearch16u::pivot + (number) 1
Fixing pointer addition (word*~) bsearch16u::$1 ← (word*) bsearch16u::items - (number) 1
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_16SEG + (byte) spline_16seg::n)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_16SEG + (number) $10)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (byte) spline_8seg::n)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (number) 8)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (byte) spline_8segB::n)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (number) 8)
Fixing pointer array-indexing *((word*) utoa::digit_values + (byte) utoa::digit)
Fixing pointer array-indexing *((dword*) ultoa::digit_values + (byte) ultoa::digit)
Fixing pointer array-indexing *((const struct Segment*) letter_c + (byte) show_letter::i)
Fixing pointer array-indexing *((const struct Segment*) letter_c + (byte) show_letter::i)
Fixing pointer array-indexing *((const struct Segment*) letter_c + (byte) show_letter::i)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (number) 0)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (byte) bitmap_plot_spline_8seg::n)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (byte) bitmap_plot_spline_8seg::n)
Fixing pointer array-indexing *((const struct SplineVector16*) SPLINE_8SEG + (byte) bitmap_plot_spline_8seg::n)
Constantified RValue *((const struct SplineVector16*) SPLINE_16SEG + (byte~) spline_16seg::$49) ← (struct SplineVector16){ (signed word~) spline_16seg::$40, (signed word~) spline_16seg::$43 }
Constantified RValue (struct SplineVector32) spline_16seg::p ← (struct SplineVector32){ (signed dword~) spline_16seg::$44, (signed dword~) spline_16seg::$45 }
Constantified RValue (struct SplineVector32) spline_16seg::i ← (struct SplineVector32){ (signed dword~) spline_16seg::$46, (signed dword~) spline_16seg::$47 }
Constantified RValue *((const struct SplineVector16*) SPLINE_16SEG + (number~) spline_16seg::$50) ← (struct SplineVector16){ (signed word~) spline_16seg::$34, (signed word~) spline_16seg::$37 }
Constantified RValue *((const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8seg::$51) ← (struct SplineVector16){ (signed word~) spline_8seg::$42, (signed word~) spline_8seg::$45 }
Constantified RValue (struct SplineVector32) spline_8seg::p ← (struct SplineVector32){ (signed dword~) spline_8seg::$46, (signed dword~) spline_8seg::$47 }
Constantified RValue (struct SplineVector32) spline_8seg::i ← (struct SplineVector32){ (signed dword~) spline_8seg::$48, (signed dword~) spline_8seg::$49 }
Constantified RValue *((const struct SplineVector16*) SPLINE_8SEG + (number~) spline_8seg::$52) ← (struct SplineVector16){ (signed word~) spline_8seg::$36, (signed word~) spline_8seg::$39 }
Constantified RValue *((const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (struct SplineVector16){ (signed word)(number~) spline_8segB::$23, (signed word)(number~) spline_8segB::$25 }
Constantified RValue (struct SplineVector16) spline_8segB::p ← (struct SplineVector16){ (signed word~) spline_8segB::$26, (signed word~) spline_8segB::$27 }
Constantified RValue (struct SplineVector16) spline_8segB::i ← (struct SplineVector16){ (signed word~) spline_8segB::$28, (signed word~) spline_8segB::$29 }
Constantified RValue *((const struct SplineVector16*) SPLINE_8SEG + (number~) spline_8segB::$32) ← (struct SplineVector16){ (signed word)(number~) spline_8segB::$19, (signed word)(number~) spline_8segB::$21 }
Constantified RValue (struct SplineVector16) show_letter::to ← (struct SplineVector16){ (signed word)(number~) show_letter::$0, (signed word)(number~) show_letter::$1 }
Constantified RValue (struct SplineVector16) show_letter::to ← (struct SplineVector16){ (signed word)(number~) show_letter::$3, (signed word)(number~) show_letter::$4 }
Constantified RValue (struct SplineVector16) show_letter::via ← (struct SplineVector16){ (signed word)(number~) show_letter::$5, (signed word)(number~) show_letter::$6 }
Constantified RValue (struct SplineVector16) show_letter::via ← (struct SplineVector16){ (signed word)(number~) show_letter::$8, (signed word)(number~) show_letter::$9 }
Created struct value member variable (signed word) spline_16seg::p0_x
Created struct value member variable (signed word) spline_16seg::p0_y
Converted struct value to member variables (struct SplineVector16) spline_16seg::p0
Created struct value member variable (signed word) spline_16seg::p1_x
Created struct value member variable (signed word) spline_16seg::p1_y
Converted struct value to member variables (struct SplineVector16) spline_16seg::p1
Created struct value member variable (signed word) spline_16seg::p2_x
Created struct value member variable (signed word) spline_16seg::p2_y
Converted struct value to member variables (struct SplineVector16) spline_16seg::p2
Created struct value member variable (signed word) spline_16seg::a_x
Created struct value member variable (signed word) spline_16seg::a_y
Converted struct value to member variables (struct SplineVector16) spline_16seg::a
Created struct value member variable (signed word) spline_16seg::b_x
Created struct value member variable (signed word) spline_16seg::b_y
Converted struct value to member variables (struct SplineVector16) spline_16seg::b
Created struct value member variable (signed dword) spline_16seg::i_x
Created struct value member variable (signed dword) spline_16seg::i_y
Converted struct value to member variables (struct SplineVector32) spline_16seg::i
Created struct value member variable (signed dword) spline_16seg::j_x
Created struct value member variable (signed dword) spline_16seg::j_y
Converted struct value to member variables (struct SplineVector32) spline_16seg::j
Created struct value member variable (signed dword) spline_16seg::p_x
Created struct value member variable (signed dword) spline_16seg::p_y
Converted struct value to member variables (struct SplineVector32) spline_16seg::p
Created struct value member variable (signed word) spline_8seg::p0_x
Created struct value member variable (signed word) spline_8seg::p0_y
Converted struct value to member variables (struct SplineVector16) spline_8seg::p0
Created struct value member variable (signed word) spline_8seg::p1_x
Created struct value member variable (signed word) spline_8seg::p1_y
Converted struct value to member variables (struct SplineVector16) spline_8seg::p1
Created struct value member variable (signed word) spline_8seg::p2_x
Created struct value member variable (signed word) spline_8seg::p2_y
Converted struct value to member variables (struct SplineVector16) spline_8seg::p2
Created struct value member variable (signed word) spline_8seg::a_x
Created struct value member variable (signed word) spline_8seg::a_y
Converted struct value to member variables (struct SplineVector16) spline_8seg::a
Created struct value member variable (signed word) spline_8seg::b_x
Created struct value member variable (signed word) spline_8seg::b_y
Converted struct value to member variables (struct SplineVector16) spline_8seg::b
Created struct value member variable (signed dword) spline_8seg::i_x
Created struct value member variable (signed dword) spline_8seg::i_y
Converted struct value to member variables (struct SplineVector32) spline_8seg::i
Created struct value member variable (signed dword) spline_8seg::j_x
Created struct value member variable (signed dword) spline_8seg::j_y
Converted struct value to member variables (struct SplineVector32) spline_8seg::j
Created struct value member variable (signed dword) spline_8seg::p_x
Created struct value member variable (signed dword) spline_8seg::p_y
Converted struct value to member variables (struct SplineVector32) spline_8seg::p
Created struct value member variable (signed word) spline_8segB::p0_x
Created struct value member variable (signed word) spline_8segB::p0_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::p0
Created struct value member variable (signed word) spline_8segB::p1_x
Created struct value member variable (signed word) spline_8segB::p1_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::p1
Created struct value member variable (signed word) spline_8segB::p2_x
Created struct value member variable (signed word) spline_8segB::p2_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::p2
Created struct value member variable (signed word) spline_8segB::a_x
Created struct value member variable (signed word) spline_8segB::a_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::a
Created struct value member variable (signed word) spline_8segB::b_x
Created struct value member variable (signed word) spline_8segB::b_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::b
Created struct value member variable (signed word) spline_8segB::i_x
Created struct value member variable (signed word) spline_8segB::i_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::i
Created struct value member variable (signed word) spline_8segB::j_x
Created struct value member variable (signed word) spline_8segB::j_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::j
Created struct value member variable (signed word) spline_8segB::p_x
Created struct value member variable (signed word) spline_8segB::p_y
Converted struct value to member variables (struct SplineVector16) spline_8segB::p
Created struct value member variable (signed word) show_letter::current_x
Created struct value member variable (signed word) show_letter::current_y
Converted struct value to member variables (struct SplineVector16) show_letter::current
Created struct value member variable (signed word) show_letter::to_x
Created struct value member variable (signed word) show_letter::to_y
Converted struct value to member variables (struct SplineVector16) show_letter::to
Created struct value member variable (signed word~) show_letter::$2_x
Created struct value member variable (signed word~) show_letter::$2_y
Converted struct value to member variables (struct SplineVector16~) show_letter::$2
Created struct value member variable (signed word) show_letter::via_x
Created struct value member variable (signed word) show_letter::via_y
Converted struct value to member variables (struct SplineVector16) show_letter::via
Created struct value member variable (signed word~) show_letter::$7_x
Created struct value member variable (signed word~) show_letter::$7_y
Converted struct value to member variables (struct SplineVector16~) show_letter::$7
Created struct value member variable (byte) show_letter::segment_type
Created struct value member variable (struct SplineVector16) show_letter::segment_to
Created struct value member variable (struct SplineVector16) show_letter::segment_via
Converted struct value to member variables (struct Segment) show_letter::segment
Created struct value member variable (signed word) bitmap_plot_spline_8seg::current_x
Created struct value member variable (signed word) bitmap_plot_spline_8seg::current_y
Converted struct value to member variables (struct SplineVector16) bitmap_plot_spline_8seg::current
Created struct value member variable (signed word) rotate::return_x
Created struct value member variable (signed word) rotate::return_y
Converted struct value to member variables (struct SplineVector16) rotate::return
Created struct value member variable (signed word) rotate::vector_x
Created struct value member variable (signed word) rotate::vector_y
Converted struct value to member variables (struct SplineVector16) rotate::vector
Created struct value member variable (signed word) rotate::rotated_x
Created struct value member variable (signed word) rotate::rotated_y
Converted struct value to member variables (struct SplineVector16) rotate::rotated
Created struct value member variable (signed word) show_letter::segment_to_x
Created struct value member variable (signed word) show_letter::segment_to_y
Converted struct value to member variables (struct SplineVector16) show_letter::segment_to
Created struct value member variable (signed word) show_letter::segment_via_x
Created struct value member variable (signed word) show_letter::segment_via_y
Converted struct value to member variables (struct SplineVector16) show_letter::segment_via
Converted procedure struct value parameter to member unwinding (void()) spline_16seg((signed word) spline_16seg::p0_x , (signed word) spline_16seg::p0_y , (signed word) spline_16seg::p1_x , (signed word) spline_16seg::p1_y , (signed word) spline_16seg::p2_x , (signed word) spline_16seg::p2_y)
Converted procedure struct value parameter to member unwinding (void()) spline_8seg((signed word) spline_8seg::p0_x , (signed word) spline_8seg::p0_y , (signed word) spline_8seg::p1_x , (signed word) spline_8seg::p1_y , (signed word) spline_8seg::p2_x , (signed word) spline_8seg::p2_y)
Converted procedure struct value parameter to member unwinding (void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
Converted procedure struct value parameter to member unwinding (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
Unwinding value copy (struct SplineVector16) spline_16seg::a ← (struct SplineVector16){ (number~) spline_16seg::$2, (number~) spline_16seg::$5 }
Adding value simple copy (signed word) spline_16seg::a_x ← (number~) spline_16seg::$2
Adding value simple copy (signed word) spline_16seg::a_y ← (number~) spline_16seg::$5
Unwinding value copy (struct SplineVector16) spline_16seg::b ← (struct SplineVector16){ (number~) spline_16seg::$7, (number~) spline_16seg::$9 }
Adding value simple copy (signed word) spline_16seg::b_x ← (number~) spline_16seg::$7
Adding value simple copy (signed word) spline_16seg::b_y ← (number~) spline_16seg::$9
Unwinding value copy (struct SplineVector32) spline_16seg::i ← (struct SplineVector32){ (number~) spline_16seg::$15, (number~) spline_16seg::$21 }
Adding value simple copy (signed dword) spline_16seg::i_x ← (number~) spline_16seg::$15
Adding value simple copy (signed dword) spline_16seg::i_y ← (number~) spline_16seg::$21
Unwinding value copy (struct SplineVector32) spline_16seg::j ← (struct SplineVector32){ (number~) spline_16seg::$24, (number~) spline_16seg::$27 }
Adding value simple copy (signed dword) spline_16seg::j_x ← (number~) spline_16seg::$24
Adding value simple copy (signed dword) spline_16seg::j_y ← (number~) spline_16seg::$27
Unwinding value copy (struct SplineVector32) spline_16seg::p ← (struct SplineVector32){ (number~) spline_16seg::$29, (number~) spline_16seg::$31 }
Adding value simple copy (signed dword) spline_16seg::p_x ← (number~) spline_16seg::$29
Adding value simple copy (signed dword) spline_16seg::p_y ← (number~) spline_16seg::$31
Unwinding value copy *((const struct SplineVector16*) SPLINE_16SEG + (byte~) spline_16seg::$49) ← (struct SplineVector16){ (signed word~) spline_16seg::$40, (signed word~) spline_16seg::$43 }
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_16SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) spline_16seg::$49) ← (signed word~) spline_16seg::$40
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_16SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_16seg::$49) ← (signed word~) spline_16seg::$43
Unwinding value copy (struct SplineVector32) spline_16seg::p ← (struct SplineVector32){ (signed dword~) spline_16seg::$44, (signed dword~) spline_16seg::$45 }
Adding value simple copy (signed dword) spline_16seg::p_x ← (signed dword~) spline_16seg::$44
Adding value simple copy (signed dword) spline_16seg::p_y ← (signed dword~) spline_16seg::$45
Unwinding value copy (struct SplineVector32) spline_16seg::i ← (struct SplineVector32){ (signed dword~) spline_16seg::$46, (signed dword~) spline_16seg::$47 }
Adding value simple copy (signed dword) spline_16seg::i_x ← (signed dword~) spline_16seg::$46
Adding value simple copy (signed dword) spline_16seg::i_y ← (signed dword~) spline_16seg::$47
Unwinding value copy *((const struct SplineVector16*) SPLINE_16SEG + (number~) spline_16seg::$50) ← (struct SplineVector16){ (signed word~) spline_16seg::$34, (signed word~) spline_16seg::$37 }
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_16SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (number~) spline_16seg::$50) ← (signed word~) spline_16seg::$34
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_16SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (number~) spline_16seg::$50) ← (signed word~) spline_16seg::$37
Unwinding value copy (struct SplineVector16) spline_8seg::a ← (struct SplineVector16){ (number~) spline_8seg::$2, (number~) spline_8seg::$5 }
Adding value simple copy (signed word) spline_8seg::a_x ← (number~) spline_8seg::$2
Adding value simple copy (signed word) spline_8seg::a_y ← (number~) spline_8seg::$5
Unwinding value copy (struct SplineVector16) spline_8seg::b ← (struct SplineVector16){ (number~) spline_8seg::$7, (number~) spline_8seg::$9 }
Adding value simple copy (signed word) spline_8seg::b_x ← (number~) spline_8seg::$7
Adding value simple copy (signed word) spline_8seg::b_y ← (number~) spline_8seg::$9
Unwinding value copy (struct SplineVector32) spline_8seg::i ← (struct SplineVector32){ (number~) spline_8seg::$16, (number~) spline_8seg::$23 }
Adding value simple copy (signed dword) spline_8seg::i_x ← (number~) spline_8seg::$16
Adding value simple copy (signed dword) spline_8seg::i_y ← (number~) spline_8seg::$23
Unwinding value copy (struct SplineVector32) spline_8seg::j ← (struct SplineVector32){ (number~) spline_8seg::$26, (number~) spline_8seg::$29 }
Adding value simple copy (signed dword) spline_8seg::j_x ← (number~) spline_8seg::$26
Adding value simple copy (signed dword) spline_8seg::j_y ← (number~) spline_8seg::$29
Unwinding value copy (struct SplineVector32) spline_8seg::p ← (struct SplineVector32){ (number~) spline_8seg::$31, (number~) spline_8seg::$33 }
Adding value simple copy (signed dword) spline_8seg::p_x ← (number~) spline_8seg::$31
Adding value simple copy (signed dword) spline_8seg::p_y ← (number~) spline_8seg::$33
Unwinding value copy *((const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8seg::$51) ← (struct SplineVector16){ (signed word~) spline_8seg::$42, (signed word~) spline_8seg::$45 }
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) spline_8seg::$51) ← (signed word~) spline_8seg::$42
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8seg::$51) ← (signed word~) spline_8seg::$45
Unwinding value copy (struct SplineVector32) spline_8seg::p ← (struct SplineVector32){ (signed dword~) spline_8seg::$46, (signed dword~) spline_8seg::$47 }
Adding value simple copy (signed dword) spline_8seg::p_x ← (signed dword~) spline_8seg::$46
Adding value simple copy (signed dword) spline_8seg::p_y ← (signed dword~) spline_8seg::$47
Unwinding value copy (struct SplineVector32) spline_8seg::i ← (struct SplineVector32){ (signed dword~) spline_8seg::$48, (signed dword~) spline_8seg::$49 }
Adding value simple copy (signed dword) spline_8seg::i_x ← (signed dword~) spline_8seg::$48
Adding value simple copy (signed dword) spline_8seg::i_y ← (signed dword~) spline_8seg::$49
Unwinding value copy *((const struct SplineVector16*) SPLINE_8SEG + (number~) spline_8seg::$52) ← (struct SplineVector16){ (signed word~) spline_8seg::$36, (signed word~) spline_8seg::$39 }
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (number~) spline_8seg::$52) ← (signed word~) spline_8seg::$36
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (number~) spline_8seg::$52) ← (signed word~) spline_8seg::$39
Unwinding value copy (struct SplineVector16) spline_8segB::a ← (struct SplineVector16){ (number~) spline_8segB::$2, (number~) spline_8segB::$5 }
Adding value simple copy (signed word) spline_8segB::a_x ← (number~) spline_8segB::$2
Adding value simple copy (signed word) spline_8segB::a_y ← (number~) spline_8segB::$5
Unwinding value copy (struct SplineVector16) spline_8segB::b ← (struct SplineVector16){ (number~) spline_8segB::$7, (number~) spline_8segB::$9 }
Adding value simple copy (signed word) spline_8segB::b_x ← (number~) spline_8segB::$7
Adding value simple copy (signed word) spline_8segB::b_y ← (number~) spline_8segB::$9
Unwinding value copy (struct SplineVector16) spline_8segB::i ← (struct SplineVector16){ (number~) spline_8segB::$11, (number~) spline_8segB::$13 }
Adding value simple copy (signed word) spline_8segB::i_x ← (number~) spline_8segB::$11
Adding value simple copy (signed word) spline_8segB::i_y ← (number~) spline_8segB::$13
Unwinding value copy (struct SplineVector16) spline_8segB::j ← (struct SplineVector16){ (number~) spline_8segB::$14, (number~) spline_8segB::$15 }
Adding value simple copy (signed word) spline_8segB::j_x ← (number~) spline_8segB::$14
Adding value simple copy (signed word) spline_8segB::j_y ← (number~) spline_8segB::$15
Unwinding value copy (struct SplineVector16) spline_8segB::p ← (struct SplineVector16){ (number~) spline_8segB::$16, (number~) spline_8segB::$17 }
Adding value simple copy (signed word) spline_8segB::p_x ← (number~) spline_8segB::$16
Adding value simple copy (signed word) spline_8segB::p_y ← (number~) spline_8segB::$17
Unwinding value copy *((const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (struct SplineVector16){ (signed word)(number~) spline_8segB::$23, (signed word)(number~) spline_8segB::$25 }
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) spline_8segB::$31) ← (number~) spline_8segB::$23
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (number~) spline_8segB::$25
Unwinding value copy (struct SplineVector16) spline_8segB::p ← (struct SplineVector16){ (signed word~) spline_8segB::$26, (signed word~) spline_8segB::$27 }
Adding value simple copy (signed word) spline_8segB::p_x ← (signed word~) spline_8segB::$26
Adding value simple copy (signed word) spline_8segB::p_y ← (signed word~) spline_8segB::$27
Unwinding value copy (struct SplineVector16) spline_8segB::i ← (struct SplineVector16){ (signed word~) spline_8segB::$28, (signed word~) spline_8segB::$29 }
Adding value simple copy (signed word) spline_8segB::i_x ← (signed word~) spline_8segB::$28
Adding value simple copy (signed word) spline_8segB::i_y ← (signed word~) spline_8segB::$29
Unwinding value copy *((const struct SplineVector16*) SPLINE_8SEG + (number~) spline_8segB::$32) ← (struct SplineVector16){ (signed word)(number~) spline_8segB::$19, (signed word)(number~) spline_8segB::$21 }
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (number~) spline_8segB::$32) ← (number~) spline_8segB::$19
Adding value simple copy *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (number~) spline_8segB::$32) ← (number~) spline_8segB::$21
Unwinding value copy (struct SplineVector16) show_letter::current ← { x: (signed word) 0, y: (signed word) 0 }
Adding value simple copy (signed word) show_letter::current_x ← (signed word) 0
Adding value simple copy (signed word) show_letter::current_y ← (signed word) 0
Unwinding value copy (struct SplineVector16) show_letter::to ← *((const struct Segment*) letter_c + (byte~) show_letter::$20).to
Adding value simple copy (signed word) show_letter::to_x ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) show_letter::$20)
Adding value simple copy (signed word) show_letter::to_y ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20)
Unwinding value copy (struct SplineVector16) show_letter::to ← (struct SplineVector16){ (signed word)(number~) show_letter::$0, (signed word)(number~) show_letter::$1 }
Adding value simple copy (signed word) show_letter::to_x ← (number~) show_letter::$0
Adding value simple copy (signed word) show_letter::to_y ← (number~) show_letter::$1
Converted procedure call LValue to member unwinding { (signed word~) show_letter::$2_x, (signed word~) show_letter::$2_y } ← call rotate (struct SplineVector16) show_letter::to (byte) show_letter::angle 
Converted procedure struct value parameter to member unwinding in call { (signed word~) show_letter::$2_x, (signed word~) show_letter::$2_y } ← call rotate (signed word) show_letter::to_x (signed word) show_letter::to_y (byte) show_letter::angle 
Unwinding value copy (struct SplineVector16) show_letter::to ← (struct SplineVector16~) show_letter::$2
Adding value simple copy (signed word) show_letter::to_x ← (signed word~) show_letter::$2_x
Adding value simple copy (signed word) show_letter::to_y ← (signed word~) show_letter::$2_y
Unwinding value copy (struct SplineVector16) show_letter::to ← (struct SplineVector16){ (signed word)(number~) show_letter::$3, (signed word)(number~) show_letter::$4 }
Adding value simple copy (signed word) show_letter::to_x ← (number~) show_letter::$3
Adding value simple copy (signed word) show_letter::to_y ← (number~) show_letter::$4
Unwinding value copy (struct SplineVector16) show_letter::via ← *((const struct Segment*) letter_c + (byte~) show_letter::$21).via
Adding value simple copy (signed word) show_letter::via_x ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) show_letter::$21)
Adding value simple copy (signed word) show_letter::via_y ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21)
Unwinding value copy (struct SplineVector16) show_letter::via ← (struct SplineVector16){ (signed word)(number~) show_letter::$5, (signed word)(number~) show_letter::$6 }
Adding value simple copy (signed word) show_letter::via_x ← (number~) show_letter::$5
Adding value simple copy (signed word) show_letter::via_y ← (number~) show_letter::$6
Converted procedure call LValue to member unwinding { (signed word~) show_letter::$7_x, (signed word~) show_letter::$7_y } ← call rotate (struct SplineVector16) show_letter::via (byte) show_letter::angle 
Converted procedure struct value parameter to member unwinding in call { (signed word~) show_letter::$7_x, (signed word~) show_letter::$7_y } ← call rotate (signed word) show_letter::via_x (signed word) show_letter::via_y (byte) show_letter::angle 
Unwinding value copy (struct SplineVector16) show_letter::via ← (struct SplineVector16~) show_letter::$7
Adding value simple copy (signed word) show_letter::via_x ← (signed word~) show_letter::$7_x
Adding value simple copy (signed word) show_letter::via_y ← (signed word~) show_letter::$7_y
Unwinding value copy (struct SplineVector16) show_letter::via ← (struct SplineVector16){ (signed word)(number~) show_letter::$8, (signed word)(number~) show_letter::$9 }
Adding value simple copy (signed word) show_letter::via_x ← (number~) show_letter::$8
Adding value simple copy (signed word) show_letter::via_y ← (number~) show_letter::$9
Unwinding value copy (struct Segment) show_letter::segment ← (struct Segment){ *((const struct Segment*) letter_c + (byte~) show_letter::$22).type, (struct SplineVector16) show_letter::to, (struct SplineVector16) show_letter::via }
Adding value simple copy (byte) show_letter::segment_type ← *((byte*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TYPE + (byte~) show_letter::$22)
Unwinding value copy (struct Segment) show_letter::segment ← (struct Segment){ *((const struct Segment*) letter_c + (byte~) show_letter::$22).type, (struct SplineVector16) show_letter::to, (struct SplineVector16) show_letter::via }
Adding value simple copy (signed word) show_letter::segment_to_x ← (signed word) show_letter::to_x
Adding value simple copy (signed word) show_letter::segment_to_y ← (signed word) show_letter::to_y
Unwinding value copy (struct Segment) show_letter::segment ← (struct Segment){ *((const struct Segment*) letter_c + (byte~) show_letter::$22).type, (struct SplineVector16) show_letter::to, (struct SplineVector16) show_letter::via }
Adding value simple copy (signed word) show_letter::segment_via_x ← (signed word) show_letter::via_x
Adding value simple copy (signed word) show_letter::segment_via_y ← (signed word) show_letter::via_y
Unwinding value copy (struct SplineVector16) show_letter::current ← (struct Segment) show_letter::segment.to
Adding value simple copy (signed word) show_letter::current_x ← (signed word) show_letter::segment_to_x
Adding value simple copy (signed word) show_letter::current_y ← (signed word) show_letter::segment_to_y
Converted procedure struct value parameter to member unwinding in call (void~) show_letter::$17 ← call spline_8segB (signed word) show_letter::current_x (signed word) show_letter::current_y (signed word) show_letter::segment_via_x (signed word) show_letter::segment_via_y (signed word) show_letter::segment_to_x (signed word) show_letter::segment_to_y 
Unwinding value copy (struct SplineVector16) show_letter::current ← (struct Segment) show_letter::segment.to
Adding value simple copy (signed word) show_letter::current_x ← (signed word) show_letter::segment_to_x
Adding value simple copy (signed word) show_letter::current_y ← (signed word) show_letter::segment_to_y
Unwinding value copy (struct SplineVector16) show_letter::current ← (struct Segment) show_letter::segment.to
Adding value simple copy (signed word) show_letter::current_x ← (signed word) show_letter::segment_to_x
Adding value simple copy (signed word) show_letter::current_y ← (signed word) show_letter::segment_to_y
Unwinding value copy (struct SplineVector16) bitmap_plot_spline_8seg::current ← *((const struct SplineVector16*) SPLINE_8SEG + (number~) bitmap_plot_spline_8seg::$6)
Adding value simple copy (signed word) bitmap_plot_spline_8seg::current_x ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (number~) bitmap_plot_spline_8seg::$6)
Adding value simple copy (signed word) bitmap_plot_spline_8seg::current_y ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (number~) bitmap_plot_spline_8seg::$6)
Unwinding value copy (struct SplineVector16) bitmap_plot_spline_8seg::current ← *((const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$9)
Adding value simple copy (signed word) bitmap_plot_spline_8seg::current_x ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) bitmap_plot_spline_8seg::$9)
Adding value simple copy (signed word) bitmap_plot_spline_8seg::current_y ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9)
Unwinding value copy (struct SplineVector16) rotate::rotated ← (struct SplineVector16){ (signed word~) rotate::$16, (signed word~) rotate::$19 }
Adding value simple copy (signed word) rotate::rotated_x ← (signed word~) rotate::$16
Adding value simple copy (signed word) rotate::rotated_y ← (signed word~) rotate::$19
Unwinding value copy (struct SplineVector16) rotate::return ← (struct SplineVector16) rotate::rotated
Adding value simple copy (signed word) rotate::return_x ← (signed word) rotate::rotated_x
Adding value simple copy (signed word) rotate::return_y ← (signed word) rotate::rotated_y
Unwinding value copy (struct SplineVector16) rotate::return ← (struct SplineVector16) rotate::return
Adding value simple copy (signed word) rotate::return_x ← (signed word) rotate::return_x
Adding value simple copy (signed word) rotate::return_y ← (signed word) rotate::return_y
Converted procedure struct return value to member unwinding return { (signed word) rotate::return_x, (signed word) rotate::return_y }
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.x with member unwinding reference (signed word) spline_16seg::p1_x
Replacing struct member reference (struct SplineVector16) spline_16seg::p2.x with member unwinding reference (signed word) spline_16seg::p2_x
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member unwinding reference (signed word) spline_16seg::p0_x
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.y with member unwinding reference (signed word) spline_16seg::p1_y
Replacing struct member reference (struct SplineVector16) spline_16seg::p2.y with member unwinding reference (signed word) spline_16seg::p2_y
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member unwinding reference (signed word) spline_16seg::p0_y
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.x with member unwinding reference (signed word) spline_16seg::p1_x
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member unwinding reference (signed word) spline_16seg::p0_x
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.y with member unwinding reference (signed word) spline_16seg::p1_y
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member unwinding reference (signed word) spline_16seg::p0_y
Replacing struct member reference (struct SplineVector16) spline_16seg::a.x with member unwinding reference (signed word) spline_16seg::a_x
Replacing struct member reference (struct SplineVector16) spline_16seg::b.x with member unwinding reference (signed word) spline_16seg::b_x
Replacing struct member reference (struct SplineVector16) spline_16seg::a.y with member unwinding reference (signed word) spline_16seg::a_y
Replacing struct member reference (struct SplineVector16) spline_16seg::b.y with member unwinding reference (signed word) spline_16seg::b_y
Replacing struct member reference (struct SplineVector16) spline_16seg::a.x with member unwinding reference (signed word) spline_16seg::a_x
Replacing struct member reference (struct SplineVector16) spline_16seg::a.y with member unwinding reference (signed word) spline_16seg::a_y
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member unwinding reference (signed word) spline_16seg::p0_x
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member unwinding reference (signed word) spline_16seg::p0_y
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member unwinding reference (signed dword) spline_16seg::p_x
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member unwinding reference (signed dword) spline_16seg::p_y
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member unwinding reference (signed dword) spline_16seg::p_x
Replacing struct member reference (struct SplineVector32) spline_16seg::i.x with member unwinding reference (signed dword) spline_16seg::i_x
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member unwinding reference (signed dword) spline_16seg::p_y
Replacing struct member reference (struct SplineVector32) spline_16seg::i.y with member unwinding reference (signed dword) spline_16seg::i_y
Replacing struct member reference (struct SplineVector32) spline_16seg::i.x with member unwinding reference (signed dword) spline_16seg::i_x
Replacing struct member reference (struct SplineVector32) spline_16seg::j.x with member unwinding reference (signed dword) spline_16seg::j_x
Replacing struct member reference (struct SplineVector32) spline_16seg::i.y with member unwinding reference (signed dword) spline_16seg::i_y
Replacing struct member reference (struct SplineVector32) spline_16seg::j.y with member unwinding reference (signed dword) spline_16seg::j_y
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member unwinding reference (signed dword) spline_16seg::p_x
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member unwinding reference (signed dword) spline_16seg::p_y
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.x with member unwinding reference (signed word) spline_8seg::p1_x
Replacing struct member reference (struct SplineVector16) spline_8seg::p2.x with member unwinding reference (signed word) spline_8seg::p2_x
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member unwinding reference (signed word) spline_8seg::p0_x
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.y with member unwinding reference (signed word) spline_8seg::p1_y
Replacing struct member reference (struct SplineVector16) spline_8seg::p2.y with member unwinding reference (signed word) spline_8seg::p2_y
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member unwinding reference (signed word) spline_8seg::p0_y
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.x with member unwinding reference (signed word) spline_8seg::p1_x
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member unwinding reference (signed word) spline_8seg::p0_x
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.y with member unwinding reference (signed word) spline_8seg::p1_y
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member unwinding reference (signed word) spline_8seg::p0_y
Replacing struct member reference (struct SplineVector16) spline_8seg::a.x with member unwinding reference (signed word) spline_8seg::a_x
Replacing struct member reference (struct SplineVector16) spline_8seg::b.x with member unwinding reference (signed word) spline_8seg::b_x
Replacing struct member reference (struct SplineVector16) spline_8seg::a.y with member unwinding reference (signed word) spline_8seg::a_y
Replacing struct member reference (struct SplineVector16) spline_8seg::b.y with member unwinding reference (signed word) spline_8seg::b_y
Replacing struct member reference (struct SplineVector16) spline_8seg::a.x with member unwinding reference (signed word) spline_8seg::a_x
Replacing struct member reference (struct SplineVector16) spline_8seg::a.y with member unwinding reference (signed word) spline_8seg::a_y
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member unwinding reference (signed word) spline_8seg::p0_x
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member unwinding reference (signed word) spline_8seg::p0_y
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member unwinding reference (signed dword) spline_8seg::p_x
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member unwinding reference (signed dword) spline_8seg::p_y
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member unwinding reference (signed dword) spline_8seg::p_x
Replacing struct member reference (struct SplineVector32) spline_8seg::i.x with member unwinding reference (signed dword) spline_8seg::i_x
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member unwinding reference (signed dword) spline_8seg::p_y
Replacing struct member reference (struct SplineVector32) spline_8seg::i.y with member unwinding reference (signed dword) spline_8seg::i_y
Replacing struct member reference (struct SplineVector32) spline_8seg::i.x with member unwinding reference (signed dword) spline_8seg::i_x
Replacing struct member reference (struct SplineVector32) spline_8seg::j.x with member unwinding reference (signed dword) spline_8seg::j_x
Replacing struct member reference (struct SplineVector32) spline_8seg::i.y with member unwinding reference (signed dword) spline_8seg::i_y
Replacing struct member reference (struct SplineVector32) spline_8seg::j.y with member unwinding reference (signed dword) spline_8seg::j_y
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member unwinding reference (signed dword) spline_8seg::p_x
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member unwinding reference (signed dword) spline_8seg::p_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.x with member unwinding reference (signed word) spline_8segB::p1_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p2.x with member unwinding reference (signed word) spline_8segB::p2_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member unwinding reference (signed word) spline_8segB::p0_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.y with member unwinding reference (signed word) spline_8segB::p1_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p2.y with member unwinding reference (signed word) spline_8segB::p2_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member unwinding reference (signed word) spline_8segB::p0_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.x with member unwinding reference (signed word) spline_8segB::p1_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member unwinding reference (signed word) spline_8segB::p0_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.y with member unwinding reference (signed word) spline_8segB::p1_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member unwinding reference (signed word) spline_8segB::p0_y
Replacing struct member reference (struct SplineVector16) spline_8segB::b.x with member unwinding reference (signed word) spline_8segB::b_x
Replacing struct member reference (struct SplineVector16) spline_8segB::a.x with member unwinding reference (signed word) spline_8segB::a_x
Replacing struct member reference (struct SplineVector16) spline_8segB::b.y with member unwinding reference (signed word) spline_8segB::b_y
Replacing struct member reference (struct SplineVector16) spline_8segB::a.y with member unwinding reference (signed word) spline_8segB::a_y
Replacing struct member reference (struct SplineVector16) spline_8segB::a.x with member unwinding reference (signed word) spline_8segB::a_x
Replacing struct member reference (struct SplineVector16) spline_8segB::a.y with member unwinding reference (signed word) spline_8segB::a_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member unwinding reference (signed word) spline_8segB::p0_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member unwinding reference (signed word) spline_8segB::p0_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member unwinding reference (signed word) spline_8segB::p_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member unwinding reference (signed word) spline_8segB::p_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member unwinding reference (signed word) spline_8segB::p_x
Replacing struct member reference (struct SplineVector16) spline_8segB::i.x with member unwinding reference (signed word) spline_8segB::i_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member unwinding reference (signed word) spline_8segB::p_y
Replacing struct member reference (struct SplineVector16) spline_8segB::i.y with member unwinding reference (signed word) spline_8segB::i_y
Replacing struct member reference (struct SplineVector16) spline_8segB::i.x with member unwinding reference (signed word) spline_8segB::i_x
Replacing struct member reference (struct SplineVector16) spline_8segB::j.x with member unwinding reference (signed word) spline_8segB::j_x
Replacing struct member reference (struct SplineVector16) spline_8segB::i.y with member unwinding reference (signed word) spline_8segB::i_y
Replacing struct member reference (struct SplineVector16) spline_8segB::j.y with member unwinding reference (signed word) spline_8segB::j_y
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member unwinding reference (signed word) spline_8segB::p_x
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member unwinding reference (signed word) spline_8segB::p_y
Replacing struct member reference (struct SplineVector16) show_letter::to.x with member unwinding reference (signed word) show_letter::to_x
Replacing struct member reference (struct SplineVector16) show_letter::to.y with member unwinding reference (signed word) show_letter::to_y
Replacing struct member reference (struct SplineVector16) show_letter::to.x with member unwinding reference (signed word) show_letter::to_x
Replacing struct member reference (struct SplineVector16) show_letter::to.y with member unwinding reference (signed word) show_letter::to_y
Replacing struct member reference (struct SplineVector16) show_letter::via.x with member unwinding reference (signed word) show_letter::via_x
Replacing struct member reference (struct SplineVector16) show_letter::via.y with member unwinding reference (signed word) show_letter::via_y
Replacing struct member reference (struct SplineVector16) show_letter::via.x with member unwinding reference (signed word) show_letter::via_x
Replacing struct member reference (struct SplineVector16) show_letter::via.y with member unwinding reference (signed word) show_letter::via_y
Replacing struct member reference (struct Segment) show_letter::segment.type with member unwinding reference (byte) show_letter::segment_type
Replacing struct member reference (struct Segment) show_letter::segment.type with member unwinding reference (byte) show_letter::segment_type
Replacing struct member reference (struct SplineVector16) show_letter::current.x with member unwinding reference (signed word) show_letter::current_x
Replacing struct member reference (struct SplineVector16) show_letter::current.y with member unwinding reference (signed word) show_letter::current_y
Replacing struct member reference (struct Segment) show_letter::segment.to.x with member unwinding reference (signed word) show_letter::segment_to_x
Replacing struct member reference (struct Segment) show_letter::segment.to.y with member unwinding reference (signed word) show_letter::segment_to_y
Replacing struct member reference (struct SplineVector16) bitmap_plot_spline_8seg::current.x with member unwinding reference (signed word) bitmap_plot_spline_8seg::current_x
Replacing struct member reference (struct SplineVector16) bitmap_plot_spline_8seg::current.y with member unwinding reference (signed word) bitmap_plot_spline_8seg::current_y
Replacing struct member reference *((const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$7).x with member unwinding reference *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) bitmap_plot_spline_8seg::$7)
Replacing struct member reference *((const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8).y with member unwinding reference *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8)
Replacing struct member reference (struct SplineVector16) rotate::vector.x with member unwinding reference (signed word) rotate::vector_x
Replacing struct member reference (struct SplineVector16) rotate::vector.y with member unwinding reference (signed word) rotate::vector_y
Replacing struct member reference (struct SplineVector16) rotate::vector.y with member unwinding reference (signed word) rotate::vector_y
Replacing struct member reference (struct SplineVector16) rotate::vector.x with member unwinding reference (signed word) rotate::vector_x
Warning! Adding boolean cast to non-boolean condition *((byte*) strcpy::src)
Warning! Adding boolean cast to non-boolean condition *((byte*) strlen::str)
Warning! Adding boolean cast to non-boolean condition (number~) abs_u16::$1
Warning! Adding boolean cast to non-boolean condition (number~) sgn_u16::$1
Warning! Adding boolean cast to non-boolean condition *((byte*) print_str_lines::str)
Warning! Adding boolean cast to non-boolean condition (byte) print_str_lines::ch
Warning! Adding boolean cast to non-boolean condition *((byte*) print_str::str)
Warning! Adding boolean cast to non-boolean condition *((byte*) print_str_at::str)
Warning! Adding boolean cast to non-boolean sub-expression (byte) print_str_lines::ch
Identified constant variable (byte*) HEAP_TOP
Identified constant variable (signed byte*) COS
Inlined call (byte~) vicSelectGfxBank::$0 ← call toDd00 (byte*) vicSelectGfxBank::gfx 
Inlined call call mulf8s_prepare (signed byte) mulf8s::a 
Inlined call call vicSelectGfxBank (const byte*) BITMAP_SCREEN 
Inlined call (byte~) main::$4 ← call toD018 (const byte*) BITMAP_SCREEN (const byte*) BITMAP_GRAPHICS 
Culled Empty Block (label) @1
Culled Empty Block (label) @2
Culled Empty Block (label) @3
Culled Empty Block (label) @4
Culled Empty Block (label) @5
Culled Empty Block (label) memset::@7
Culled Empty Block (label) memset::@6
Culled Empty Block (label) memset::@8
Culled Empty Block (label) memset::@9
Culled Empty Block (label) memset::@3
Culled Empty Block (label) @6
Culled Empty Block (label) @7
Culled Empty Block (label) bitmap_init::@8
Culled Empty Block (label) @9
Culled Empty Block (label) @10
Culled Empty Block (label) @11
Culled Empty Block (label) bitmap_line::@5
Culled Empty Block (label) bitmap_line::@10
Culled Empty Block (label) bitmap_line::@11
Culled Empty Block (label) bitmap_line::@15
Culled Empty Block (label) @12
Culled Empty Block (label) abs_u16::@4
Culled Empty Block (label) abs_u16::@2
Culled Empty Block (label) abs_u16::@5
Culled Empty Block (label) abs_u16::@6
Culled Empty Block (label) @13
Culled Empty Block (label) sgn_u16::@4
Culled Empty Block (label) sgn_u16::@2
Culled Empty Block (label) sgn_u16::@5
Culled Empty Block (label) sgn_u16::@6
Culled Empty Block (label) @14
Culled Empty Block (label) @15
Culled Empty Block (label) @16
Culled Empty Block (label) @17
Culled Empty Block (label) @18
Culled Empty Block (label) @19
Culled Empty Block (label) @20
Culled Empty Block (label) @21
Culled Empty Block (label) @22
Culled Empty Block (label) @23
Culled Empty Block (label) @24
Culled Empty Block (label) @25
Culled Empty Block (label) @26
Culled Empty Block (label) @27
Culled Empty Block (label) @28
Culled Empty Block (label) @29
Culled Empty Block (label) @30
Culled Empty Block (label) @31
Culled Empty Block (label) @32
Culled Empty Block (label) @33
Culled Empty Block (label) @34
Culled Empty Block (label) @35
Culled Empty Block (label) @36
Culled Empty Block (label) @37
Culled Empty Block (label) @38
Culled Empty Block (label) @39
Culled Empty Block (label) @40
Culled Empty Block (label) @41
Culled Empty Block (label) @42
Culled Empty Block (label) @43
Culled Empty Block (label) @44
Culled Empty Block (label) @45
Culled Empty Block (label) @46
Culled Empty Block (label) @47
Culled Empty Block (label) @48
Culled Empty Block (label) @49
Culled Empty Block (label) @50
Culled Empty Block (label) @51
Culled Empty Block (label) @52
Culled Empty Block (label) mulf_init::@5
Culled Empty Block (label) mulf_init::@6
Culled Empty Block (label) mulf_init::@8
Culled Empty Block (label) mulf_init::@13
Culled Empty Block (label) mulf_init::@14
Culled Empty Block (label) mulf_init::@16
Culled Empty Block (label) @53
Culled Empty Block (label) @54
Culled Empty Block (label) @55
Culled Empty Block (label) @56
Culled Empty Block (label) @57
Culled Empty Block (label) @58
Culled Empty Block (label) @59
Culled Empty Block (label) mulf16u::@1
Culled Empty Block (label) @60
Culled Empty Block (label) mulf16s::@5
Culled Empty Block (label) @61
Culled Empty Block (label) main::vicSelectGfxBank1_toDd001_@1
Culled Empty Block (label) main::vicSelectGfxBank1_@return
Culled Empty Block (label) main::toD0181_@1
Culled Empty Block (label) main::@11
Culled Empty Block (label) main::@3
Culled Empty Block (label) main::@12
Culled Empty Block (label) main::@4
Culled Empty Block (label) main::@6
Culled Empty Block (label) main::@10
Culled Empty Block (label) main::@16
Culled Empty Block (label) main::@15
Culled Empty Block (label) main::@17
Culled Empty Block (label) main::@18
Culled Empty Block (label) @62
Culled Empty Block (label) show_letter::@4
Culled Empty Block (label) show_letter::@8
Culled Empty Block (label) show_letter::@9
Culled Empty Block (label) show_letter::@10
Culled Empty Block (label) @63
Culled Empty Block (label) bitmap_plot_spline_8seg::@2
Culled Empty Block (label) @64
Culled Empty Block (label) rotate::@1
Unwinding list assignment { (signed word~) show_letter::$2_x, (signed word~) show_letter::$2_y } ← { (signed word) rotate::return_x, (signed word) rotate::return_y }
Unwinding list assignment { (signed word~) show_letter::$7_x, (signed word~) show_letter::$7_y } ← { (signed word) rotate::return_x, (signed word) rotate::return_y }
Unwinding list assignment { (signed word) rotate::return_x#0, (signed word) rotate::return_y#0 } ← { (signed word) rotate::return_x#3, (signed word) rotate::return_y#3 }
Unwinding list assignment { (signed word) rotate::return_x#1, (signed word) rotate::return_y#1 } ← { (signed word) rotate::return_x#3, (signed word) rotate::return_y#3 }

CONTROL FLOW GRAPH SSA
@begin: scope:[]  from
  to:@8

(void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
spline_8segB: scope:[spline_8segB]  from show_letter::@3
  (signed word) spline_8segB::p0_y#1 ← phi( show_letter::@3/(signed word) spline_8segB::p0_y#0 )
  (signed word) spline_8segB::p2_y#1 ← phi( show_letter::@3/(signed word) spline_8segB::p2_y#0 )
  (signed word) spline_8segB::p1_y#1 ← phi( show_letter::@3/(signed word) spline_8segB::p1_y#0 )
  (signed word) spline_8segB::p0_x#1 ← phi( show_letter::@3/(signed word) spline_8segB::p0_x#0 )
  (signed word) spline_8segB::p2_x#1 ← phi( show_letter::@3/(signed word) spline_8segB::p2_x#0 )
  (signed word) spline_8segB::p1_x#1 ← phi( show_letter::@3/(signed word) spline_8segB::p1_x#0 )
  (number~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#1 * (number) 2
  (number~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#1 - (number~) spline_8segB::$0
  (number~) spline_8segB::$2 ← (number~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#1
  (number~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#1 * (number) 2
  (number~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#1 - (number~) spline_8segB::$3
  (number~) spline_8segB::$5 ← (number~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#1
  (signed word) spline_8segB::a_x#0 ← (number~) spline_8segB::$2
  (signed word) spline_8segB::a_y#0 ← (number~) spline_8segB::$5
  (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#1 - (signed word) spline_8segB::p0_x#1
  (number~) spline_8segB::$7 ← (signed word~) spline_8segB::$6 * (number) 2
  (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#1 - (signed word) spline_8segB::p0_y#1
  (number~) spline_8segB::$9 ← (signed word~) spline_8segB::$8 * (number) 2
  (signed word) spline_8segB::b_x#0 ← (number~) spline_8segB::$7
  (signed word) spline_8segB::b_y#0 ← (number~) spline_8segB::$9
  (number~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 * (number) 8
  (number~) spline_8segB::$11 ← (signed word) spline_8segB::a_x#0 + (number~) spline_8segB::$10
  (number~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 * (number) 8
  (number~) spline_8segB::$13 ← (signed word) spline_8segB::a_y#0 + (number~) spline_8segB::$12
  (signed word) spline_8segB::i_x#0 ← (number~) spline_8segB::$11
  (signed word) spline_8segB::i_y#0 ← (number~) spline_8segB::$13
  (number~) spline_8segB::$14 ← (signed word) spline_8segB::a_x#0 * (number) 2
  (number~) spline_8segB::$15 ← (signed word) spline_8segB::a_y#0 * (number) 2
  (signed word) spline_8segB::j_x#0 ← (number~) spline_8segB::$14
  (signed word) spline_8segB::j_y#0 ← (number~) spline_8segB::$15
  (number~) spline_8segB::$16 ← (signed word) spline_8segB::p0_x#1 * (number) $40
  (number~) spline_8segB::$17 ← (signed word) spline_8segB::p0_y#1 * (number) $40
  (signed word) spline_8segB::p_x#0 ← (number~) spline_8segB::$16
  (signed word) spline_8segB::p_y#0 ← (number~) spline_8segB::$17
  (byte) spline_8segB::n#0 ← (byte) 0
  to:spline_8segB::@1
spline_8segB::@1: scope:[spline_8segB]  from spline_8segB spline_8segB::@1
  (signed word) spline_8segB::j_y#1 ← phi( spline_8segB/(signed word) spline_8segB::j_y#0 spline_8segB::@1/(signed word) spline_8segB::j_y#1 )
  (signed word) spline_8segB::j_x#1 ← phi( spline_8segB/(signed word) spline_8segB::j_x#0 spline_8segB::@1/(signed word) spline_8segB::j_x#1 )
  (signed word) spline_8segB::i_y#2 ← phi( spline_8segB/(signed word) spline_8segB::i_y#0 spline_8segB::@1/(signed word) spline_8segB::i_y#1 )
  (signed word) spline_8segB::i_x#2 ← phi( spline_8segB/(signed word) spline_8segB::i_x#0 spline_8segB::@1/(signed word) spline_8segB::i_x#1 )
  (byte) spline_8segB::n#2 ← phi( spline_8segB/(byte) spline_8segB::n#0 spline_8segB::@1/(byte) spline_8segB::n#1 )
  (signed word) spline_8segB::p_y#2 ← phi( spline_8segB/(signed word) spline_8segB::p_y#0 spline_8segB::@1/(signed word) spline_8segB::p_y#1 )
  (signed word) spline_8segB::p_x#2 ← phi( spline_8segB/(signed word) spline_8segB::p_x#0 spline_8segB::@1/(signed word) spline_8segB::p_x#1 )
  (number~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (number) $20
  (number~) spline_8segB::$23 ← (number~) spline_8segB::$22 / (number) $40
  (number~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (number) $20
  (number~) spline_8segB::$25 ← (number~) spline_8segB::$24 / (number) $40
  (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
  *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) spline_8segB::$31) ← (number~) spline_8segB::$23
  *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (number~) spline_8segB::$25
  (signed word~) spline_8segB::$26 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2
  (signed word~) spline_8segB::$27 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2
  (signed word) spline_8segB::p_x#1 ← (signed word~) spline_8segB::$26
  (signed word) spline_8segB::p_y#1 ← (signed word~) spline_8segB::$27
  (signed word~) spline_8segB::$28 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#1
  (signed word~) spline_8segB::$29 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#1
  (signed word) spline_8segB::i_x#1 ← (signed word~) spline_8segB::$28
  (signed word) spline_8segB::i_y#1 ← (signed word~) spline_8segB::$29
  (byte) spline_8segB::n#1 ← (byte) spline_8segB::n#2 + rangenext(0,7)
  (bool~) spline_8segB::$30 ← (byte) spline_8segB::n#1 != rangelast(0,7)
  if((bool~) spline_8segB::$30) goto spline_8segB::@1
  to:spline_8segB::@2
spline_8segB::@2: scope:[spline_8segB]  from spline_8segB::@1
  (signed word) spline_8segB::p_y#3 ← phi( spline_8segB::@1/(signed word) spline_8segB::p_y#1 )
  (signed word) spline_8segB::p_x#3 ← phi( spline_8segB::@1/(signed word) spline_8segB::p_x#1 )
  (number~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#3 + (number) $20
  (number~) spline_8segB::$19 ← (number~) spline_8segB::$18 / (number) $40
  (number~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#3 + (number) $20
  (number~) spline_8segB::$21 ← (number~) spline_8segB::$20 / (number) $40
  (number~) spline_8segB::$32 ← (number) 8 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
  *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (number~) spline_8segB::$32) ← (number~) spline_8segB::$19
  *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (number~) spline_8segB::$32) ← (number~) spline_8segB::$21
  to:spline_8segB::@return
spline_8segB::@return: scope:[spline_8segB]  from spline_8segB::@2
  return 
  to:@return

(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset]  from bitmap_clear bitmap_clear::@1
  (byte) memset::c#5 ← phi( bitmap_clear/(byte) memset::c#0 bitmap_clear::@1/(byte) memset::c#1 )
  (void*) memset::str#4 ← phi( bitmap_clear/(void*) memset::str#0 bitmap_clear::@1/(void*) memset::str#1 )
  (word) memset::num#2 ← phi( bitmap_clear/(word) memset::num#0 bitmap_clear::@1/(word) memset::num#1 )
  (bool~) memset::$0 ← (word) memset::num#2 > (number) 0
  (bool~) memset::$1 ← ! (bool~) memset::$0
  if((bool~) memset::$1) goto memset::@1
  to:memset::@2
memset::@1: scope:[memset]  from memset memset::@4
  (void*) memset::str#2 ← phi( memset/(void*) memset::str#4 memset::@4/(void*) memset::str#5 )
  (void*) memset::return#0 ← (void*) memset::str#2
  to:memset::@return
memset::@2: scope:[memset]  from memset
  (byte) memset::c#4 ← phi( memset/(byte) memset::c#5 )
  (word) memset::num#3 ← phi( memset/(word) memset::num#2 )
  (void*) memset::str#3 ← phi( memset/(void*) memset::str#4 )
  (byte*~) memset::$2 ← ((byte*)) (void*) memset::str#3
  (byte*~) memset::$3 ← (byte*~) memset::$2 + (word) memset::num#3
  (byte*) memset::end#0 ← (byte*~) memset::$3
  (byte*) memset::dst#0 ← ((byte*)) (void*) memset::str#3
  to:memset::@4
memset::@4: scope:[memset]  from memset::@2 memset::@5
  (byte) memset::c#3 ← phi( memset::@2/(byte) memset::c#4 memset::@5/(byte) memset::c#2 )
  (void*) memset::str#5 ← phi( memset::@2/(void*) memset::str#3 memset::@5/(void*) memset::str#6 )
  (byte*) memset::end#1 ← phi( memset::@2/(byte*) memset::end#0 memset::@5/(byte*) memset::end#2 )
  (byte*) memset::dst#2 ← phi( memset::@2/(byte*) memset::dst#0 memset::@5/(byte*) memset::dst#1 )
  (bool~) memset::$4 ← (byte*) memset::dst#2 != (byte*) memset::end#1
  if((bool~) memset::$4) goto memset::@5
  to:memset::@1
memset::@5: scope:[memset]  from memset::@4
  (void*) memset::str#6 ← phi( memset::@4/(void*) memset::str#5 )
  (byte*) memset::end#2 ← phi( memset::@4/(byte*) memset::end#1 )
  (byte*) memset::dst#3 ← phi( memset::@4/(byte*) memset::dst#2 )
  (byte) memset::c#2 ← phi( memset::@4/(byte) memset::c#3 )
  *((byte*) memset::dst#3) ← (byte) memset::c#2
  (byte*) memset::dst#1 ← ++ (byte*) memset::dst#3
  to:memset::@4
memset::@return: scope:[memset]  from memset::@1
  (void*) memset::return#4 ← phi( memset::@1/(void*) memset::return#0 )
  (void*) memset::return#1 ← (void*) memset::return#4
  return 
  to:@return
@8: scope:[]  from @begin
  (byte*) bitmap_screen#0 ← (byte*) 0
  (byte*) bitmap_gfx#0 ← (byte*) 0
  to:@65

(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
bitmap_init: scope:[bitmap_init]  from main::@21
  (byte*) bitmap_init::screen#1 ← phi( main::@21/(byte*) bitmap_init::screen#0 )
  (byte*) bitmap_init::gfx#1 ← phi( main::@21/(byte*) bitmap_init::gfx#0 )
  (byte*) bitmap_gfx#1 ← (byte*) bitmap_init::gfx#1
  (byte*) bitmap_screen#1 ← (byte*) bitmap_init::screen#1
  (byte) bitmap_init::bits#0 ← (byte) $80
  (byte) bitmap_init::x#0 ← (byte) 0
  to:bitmap_init::@1
bitmap_init::@1: scope:[bitmap_init]  from bitmap_init bitmap_init::@2
  (byte*) bitmap_screen#27 ← phi( bitmap_init/(byte*) bitmap_screen#1 bitmap_init::@2/(byte*) bitmap_screen#24 )
  (byte*) bitmap_gfx#28 ← phi( bitmap_init/(byte*) bitmap_gfx#1 bitmap_init::@2/(byte*) bitmap_gfx#25 )
  (byte*) bitmap_init::gfx#4 ← phi( bitmap_init/(byte*) bitmap_init::gfx#1 bitmap_init::@2/(byte*) bitmap_init::gfx#3 )
  (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) bitmap_init::x#0 bitmap_init::@2/(byte) bitmap_init::x#1 )
  (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) bitmap_init::bits#0 bitmap_init::@2/(byte) bitmap_init::bits#4 )
  *((const byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3
  (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (number) 1
  (bool~) bitmap_init::$0 ← (byte) bitmap_init::bits#1 == (number) 0
  (bool~) bitmap_init::$1 ← ! (bool~) bitmap_init::$0
  if((bool~) bitmap_init::$1) goto bitmap_init::@2
  to:bitmap_init::@3
bitmap_init::@2: scope:[bitmap_init]  from bitmap_init::@1 bitmap_init::@3
  (byte*) bitmap_screen#24 ← phi( bitmap_init::@1/(byte*) bitmap_screen#27 bitmap_init::@3/(byte*) bitmap_screen#28 )
  (byte*) bitmap_gfx#25 ← phi( bitmap_init::@1/(byte*) bitmap_gfx#28 bitmap_init::@3/(byte*) bitmap_gfx#29 )
  (byte*) bitmap_init::gfx#3 ← phi( bitmap_init::@1/(byte*) bitmap_init::gfx#4 bitmap_init::@3/(byte*) bitmap_init::gfx#5 )
  (byte) bitmap_init::bits#4 ← phi( bitmap_init::@1/(byte) bitmap_init::bits#1 bitmap_init::@3/(byte) bitmap_init::bits#2 )
  (byte) bitmap_init::x#3 ← phi( bitmap_init::@1/(byte) bitmap_init::x#2 bitmap_init::@3/(byte) bitmap_init::x#4 )
  (byte) bitmap_init::x#1 ← (byte) bitmap_init::x#3 + rangenext(0,$ff)
  (bool~) bitmap_init::$2 ← (byte) bitmap_init::x#1 != rangelast(0,$ff)
  if((bool~) bitmap_init::$2) goto bitmap_init::@1
  to:bitmap_init::@4
bitmap_init::@3: scope:[bitmap_init]  from bitmap_init::@1
  (byte*) bitmap_screen#28 ← phi( bitmap_init::@1/(byte*) bitmap_screen#27 )
  (byte*) bitmap_gfx#29 ← phi( bitmap_init::@1/(byte*) bitmap_gfx#28 )
  (byte*) bitmap_init::gfx#5 ← phi( bitmap_init::@1/(byte*) bitmap_init::gfx#4 )
  (byte) bitmap_init::x#4 ← phi( bitmap_init::@1/(byte) bitmap_init::x#2 )
  (byte) bitmap_init::bits#2 ← (number) $80
  to:bitmap_init::@2
bitmap_init::@4: scope:[bitmap_init]  from bitmap_init::@2
  (byte*) bitmap_screen#21 ← phi( bitmap_init::@2/(byte*) bitmap_screen#24 )
  (byte*) bitmap_gfx#22 ← phi( bitmap_init::@2/(byte*) bitmap_gfx#25 )
  (byte*) bitmap_init::gfx#2 ← phi( bitmap_init::@2/(byte*) bitmap_init::gfx#3 )
  (byte*) bitmap_init::yoffs#0 ← (byte*) bitmap_init::gfx#2
  (byte) bitmap_init::y#0 ← (byte) 0
  to:bitmap_init::@5
bitmap_init::@5: scope:[bitmap_init]  from bitmap_init::@4 bitmap_init::@6
  (byte*) bitmap_screen#16 ← phi( bitmap_init::@4/(byte*) bitmap_screen#21 bitmap_init::@6/(byte*) bitmap_screen#11 )
  (byte*) bitmap_gfx#16 ← phi( bitmap_init::@4/(byte*) bitmap_gfx#22 bitmap_init::@6/(byte*) bitmap_gfx#11 )
  (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@4/(byte*) bitmap_init::yoffs#0 bitmap_init::@6/(byte*) bitmap_init::yoffs#4 )
  (byte) bitmap_init::y#2 ← phi( bitmap_init::@4/(byte) bitmap_init::y#0 bitmap_init::@6/(byte) bitmap_init::y#1 )
  (number~) bitmap_init::$3 ← (byte) bitmap_init::y#2 & (number) 7
  (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2
  (number~) bitmap_init::$5 ← (number~) bitmap_init::$3 | (byte~) bitmap_init::$4
  *((const byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (number~) bitmap_init::$5
  (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2
  *((const byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6
  (number~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (number) 7
  (bool~) bitmap_init::$8 ← (number~) bitmap_init::$7 == (number) 7
  (bool~) bitmap_init::$9 ← ! (bool~) bitmap_init::$8
  if((bool~) bitmap_init::$9) goto bitmap_init::@6
  to:bitmap_init::@7
bitmap_init::@6: scope:[bitmap_init]  from bitmap_init::@5 bitmap_init::@7
  (byte*) bitmap_screen#11 ← phi( bitmap_init::@5/(byte*) bitmap_screen#16 bitmap_init::@7/(byte*) bitmap_screen#17 )
  (byte*) bitmap_gfx#11 ← phi( bitmap_init::@5/(byte*) bitmap_gfx#16 bitmap_init::@7/(byte*) bitmap_gfx#17 )
  (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@5/(byte*) bitmap_init::yoffs#2 bitmap_init::@7/(byte*) bitmap_init::yoffs#1 )
  (byte) bitmap_init::y#3 ← phi( bitmap_init::@5/(byte) bitmap_init::y#2 bitmap_init::@7/(byte) bitmap_init::y#4 )
  (byte) bitmap_init::y#1 ← (byte) bitmap_init::y#3 + rangenext(0,$ff)
  (bool~) bitmap_init::$11 ← (byte) bitmap_init::y#1 != rangelast(0,$ff)
  if((bool~) bitmap_init::$11) goto bitmap_init::@5
  to:bitmap_init::@return
bitmap_init::@7: scope:[bitmap_init]  from bitmap_init::@5
  (byte*) bitmap_screen#17 ← phi( bitmap_init::@5/(byte*) bitmap_screen#16 )
  (byte*) bitmap_gfx#17 ← phi( bitmap_init::@5/(byte*) bitmap_gfx#16 )
  (byte) bitmap_init::y#4 ← phi( bitmap_init::@5/(byte) bitmap_init::y#2 )
  (byte*) bitmap_init::yoffs#3 ← phi( bitmap_init::@5/(byte*) bitmap_init::yoffs#2 )
  (byte*~) bitmap_init::$10 ← (byte*) bitmap_init::yoffs#3 + (number) $28*(number) 8
  (byte*) bitmap_init::yoffs#1 ← (byte*~) bitmap_init::$10
  to:bitmap_init::@6
bitmap_init::@return: scope:[bitmap_init]  from bitmap_init::@6
  (byte*) bitmap_screen#6 ← phi( bitmap_init::@6/(byte*) bitmap_screen#11 )
  (byte*) bitmap_gfx#6 ← phi( bitmap_init::@6/(byte*) bitmap_gfx#11 )
  (byte*) bitmap_gfx#2 ← (byte*) bitmap_gfx#6
  (byte*) bitmap_screen#2 ← (byte*) bitmap_screen#6
  return 
  to:@return

(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
bitmap_clear: scope:[bitmap_clear]  from main::@2 main::@22
  (byte*) bitmap_gfx#12 ← phi( main::@2/(byte*) bitmap_gfx#18 main::@22/(byte*) bitmap_gfx#3 )
  (byte*) bitmap_screen#7 ← phi( main::@2/(byte*) bitmap_screen#12 main::@22/(byte*) bitmap_screen#3 )
  (byte) bitmap_clear::bgcol#2 ← phi( main::@2/(byte) bitmap_clear::bgcol#1 main::@22/(byte) bitmap_clear::bgcol#0 )
  (byte) bitmap_clear::fgcol#2 ← phi( main::@2/(byte) bitmap_clear::fgcol#1 main::@22/(byte) bitmap_clear::fgcol#0 )
  (number~) bitmap_clear::$0 ← (byte) bitmap_clear::fgcol#2 * (number) $10
  (number~) bitmap_clear::$1 ← (number~) bitmap_clear::$0 + (byte) bitmap_clear::bgcol#2
  (byte) bitmap_clear::col#0 ← (number~) bitmap_clear::$1
  (void*) memset::str#0 ← (void*)(byte*) bitmap_screen#7
  (byte) memset::c#0 ← (byte) bitmap_clear::col#0
  (word) memset::num#0 ← (word) $3e8
  call memset 
  (void*) memset::return#2 ← (void*) memset::return#1
  to:bitmap_clear::@1
bitmap_clear::@1: scope:[bitmap_clear]  from bitmap_clear
  (byte*) bitmap_gfx#7 ← phi( bitmap_clear/(byte*) bitmap_gfx#12 )
  (void*) memset::str#1 ← (void*)(byte*) bitmap_gfx#7
  (byte) memset::c#1 ← (number) 0
  (word) memset::num#1 ← (word) $1f40
  call memset 
  (void*) memset::return#3 ← (void*) memset::return#1
  to:bitmap_clear::@2
bitmap_clear::@2: scope:[bitmap_clear]  from bitmap_clear::@1
  to:bitmap_clear::@return
bitmap_clear::@return: scope:[bitmap_clear]  from bitmap_clear::@2
  return 
  to:@return

(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
bitmap_plot: scope:[bitmap_plot]  from bitmap_line::@12 bitmap_line::@3 bitmap_line::@4 bitmap_line::@7
  (word) bitmap_plot::x#4 ← phi( bitmap_line::@12/(word) bitmap_plot::x#3 bitmap_line::@3/(word) bitmap_plot::x#2 bitmap_line::@4/(word) bitmap_plot::x#0 bitmap_line::@7/(word) bitmap_plot::x#1 )
  (byte) bitmap_plot::y#4 ← phi( bitmap_line::@12/(byte) bitmap_plot::y#3 bitmap_line::@3/(byte) bitmap_plot::y#2 bitmap_line::@4/(byte) bitmap_plot::y#0 bitmap_line::@7/(byte) bitmap_plot::y#1 )
  (byte*~) bitmap_plot::$0 ← ((byte*)) { *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4), *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) }
  (byte*) bitmap_plot::plotter#0 ← (byte*~) bitmap_plot::$0
  (number~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (number) $fff8
  (byte*) bitmap_plot::plotter#1 ← (byte*) bitmap_plot::plotter#0 + (number~) bitmap_plot::$1
  (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#4
  *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2)
  to:bitmap_plot::@return
bitmap_plot::@return: scope:[bitmap_plot]  from bitmap_plot
  return 
  to:@return

(void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2)
bitmap_line: scope:[bitmap_line]  from bitmap_plot_spline_8seg::@1 show_letter::@7
  (word) bitmap_line::y2#5 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y2#1 show_letter::@7/(word) bitmap_line::y2#0 )
  (word) bitmap_line::x2#2 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x2#1 show_letter::@7/(word) bitmap_line::x2#0 )
  (word) bitmap_line::y1#2 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y1#1 show_letter::@7/(word) bitmap_line::y1#0 )
  (word) bitmap_line::x1#2 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x1#1 show_letter::@7/(word) bitmap_line::x1#0 )
  (word) bitmap_line::x#0 ← (word) bitmap_line::x1#2
  (word) bitmap_line::y#0 ← (word) bitmap_line::y1#2
  (word~) bitmap_line::$0 ← (word) bitmap_line::x2#2 - (word) bitmap_line::x1#2
  (word) abs_u16::w#0 ← (word~) bitmap_line::$0
  call abs_u16 
  (word) abs_u16::return#0 ← (word) abs_u16::return#4
  to:bitmap_line::@16
bitmap_line::@16: scope:[bitmap_line]  from bitmap_line
  (word) bitmap_line::x#16 ← phi( bitmap_line/(word) bitmap_line::x#0 )
  (word) bitmap_line::y#16 ← phi( bitmap_line/(word) bitmap_line::y#0 )
  (word) bitmap_line::x1#5 ← phi( bitmap_line/(word) bitmap_line::x1#2 )
  (word) bitmap_line::x2#8 ← phi( bitmap_line/(word) bitmap_line::x2#2 )
  (word) bitmap_line::y1#3 ← phi( bitmap_line/(word) bitmap_line::y1#2 )
  (word) bitmap_line::y2#2 ← phi( bitmap_line/(word) bitmap_line::y2#5 )
  (word) abs_u16::return#5 ← phi( bitmap_line/(word) abs_u16::return#0 )
  (word~) bitmap_line::$1 ← (word) abs_u16::return#5
  (word) bitmap_line::dx#0 ← (word~) bitmap_line::$1
  (word~) bitmap_line::$2 ← (word) bitmap_line::y2#2 - (word) bitmap_line::y1#3
  (word) abs_u16::w#1 ← (word~) bitmap_line::$2
  call abs_u16 
  (word) abs_u16::return#1 ← (word) abs_u16::return#4
  to:bitmap_line::@17
bitmap_line::@17: scope:[bitmap_line]  from bitmap_line::@16
  (word) bitmap_line::y1#6 ← phi( bitmap_line::@16/(word) bitmap_line::y1#3 )
  (word) bitmap_line::y2#9 ← phi( bitmap_line::@16/(word) bitmap_line::y2#2 )
  (word) bitmap_line::x#10 ← phi( bitmap_line::@16/(word) bitmap_line::x#16 )
  (word) bitmap_line::y#10 ← phi( bitmap_line::@16/(word) bitmap_line::y#16 )
  (word) bitmap_line::x1#4 ← phi( bitmap_line::@16/(word) bitmap_line::x1#5 )
  (word) bitmap_line::x2#5 ← phi( bitmap_line::@16/(word) bitmap_line::x2#8 )
  (word) bitmap_line::dx#1 ← phi( bitmap_line::@16/(word) bitmap_line::dx#0 )
  (word) abs_u16::return#6 ← phi( bitmap_line::@16/(word) abs_u16::return#1 )
  (word~) bitmap_line::$3 ← (word) abs_u16::return#6
  (word) bitmap_line::dy#0 ← (word~) bitmap_line::$3
  (bool~) bitmap_line::$4 ← (word) bitmap_line::dx#1 == (number) 0
  (bool~) bitmap_line::$5 ← (word) bitmap_line::dy#0 == (number) 0
  (bool~) bitmap_line::$6 ← (bool~) bitmap_line::$4 && (bool~) bitmap_line::$5
  (bool~) bitmap_line::$7 ← ! (bool~) bitmap_line::$6
  if((bool~) bitmap_line::$7) goto bitmap_line::@1
  to:bitmap_line::@4
bitmap_line::@1: scope:[bitmap_line]  from bitmap_line::@17
  (word) bitmap_line::x#19 ← phi( bitmap_line::@17/(word) bitmap_line::x#10 )
  (word) bitmap_line::y#19 ← phi( bitmap_line::@17/(word) bitmap_line::y#10 )
  (word) bitmap_line::dy#9 ← phi( bitmap_line::@17/(word) bitmap_line::dy#0 )
  (word) bitmap_line::dx#10 ← phi( bitmap_line::@17/(word) bitmap_line::dx#1 )
  (word) bitmap_line::y1#5 ← phi( bitmap_line::@17/(word) bitmap_line::y1#6 )
  (word) bitmap_line::y2#6 ← phi( bitmap_line::@17/(word) bitmap_line::y2#9 )
  (word) bitmap_line::x1#3 ← phi( bitmap_line::@17/(word) bitmap_line::x1#4 )
  (word) bitmap_line::x2#3 ← phi( bitmap_line::@17/(word) bitmap_line::x2#5 )
  (word~) bitmap_line::$8 ← (word) bitmap_line::x2#3 - (word) bitmap_line::x1#3
  (word) sgn_u16::w#0 ← (word~) bitmap_line::$8
  call sgn_u16 
  (word) sgn_u16::return#0 ← (word) sgn_u16::return#4
  to:bitmap_line::@18
bitmap_line::@18: scope:[bitmap_line]  from bitmap_line::@1
  (word) bitmap_line::x2#12 ← phi( bitmap_line::@1/(word) bitmap_line::x2#3 )
  (word) bitmap_line::x#18 ← phi( bitmap_line::@1/(word) bitmap_line::x#19 )
  (word) bitmap_line::y#18 ← phi( bitmap_line::@1/(word) bitmap_line::y#19 )
  (word) bitmap_line::dy#6 ← phi( bitmap_line::@1/(word) bitmap_line::dy#9 )
  (word) bitmap_line::dx#7 ← phi( bitmap_line::@1/(word) bitmap_line::dx#10 )
  (word) bitmap_line::y1#4 ← phi( bitmap_line::@1/(word) bitmap_line::y1#5 )
  (word) bitmap_line::y2#3 ← phi( bitmap_line::@1/(word) bitmap_line::y2#6 )
  (word) sgn_u16::return#5 ← phi( bitmap_line::@1/(word) sgn_u16::return#0 )
  (word~) bitmap_line::$9 ← (word) sgn_u16::return#5
  (word) bitmap_line::sx#0 ← (word~) bitmap_line::$9
  (word~) bitmap_line::$10 ← (word) bitmap_line::y2#3 - (word) bitmap_line::y1#4
  (word) sgn_u16::w#1 ← (word~) bitmap_line::$10
  call sgn_u16 
  (word) sgn_u16::return#1 ← (word) sgn_u16::return#4
  to:bitmap_line::@19
bitmap_line::@19: scope:[bitmap_line]  from bitmap_line::@18
  (word) bitmap_line::y2#12 ← phi( bitmap_line::@18/(word) bitmap_line::y2#3 )
  (word) bitmap_line::x2#11 ← phi( bitmap_line::@18/(word) bitmap_line::x2#12 )
  (word) bitmap_line::sx#8 ← phi( bitmap_line::@18/(word) bitmap_line::sx#0 )
  (word) bitmap_line::x#17 ← phi( bitmap_line::@18/(word) bitmap_line::x#18 )
  (word) bitmap_line::y#17 ← phi( bitmap_line::@18/(word) bitmap_line::y#18 )
  (word) bitmap_line::dy#1 ← phi( bitmap_line::@18/(word) bitmap_line::dy#6 )
  (word) bitmap_line::dx#2 ← phi( bitmap_line::@18/(word) bitmap_line::dx#7 )
  (word) sgn_u16::return#6 ← phi( bitmap_line::@18/(word) sgn_u16::return#1 )
  (word~) bitmap_line::$11 ← (word) sgn_u16::return#6
  (word) bitmap_line::sy#0 ← (word~) bitmap_line::$11
  (bool~) bitmap_line::$12 ← (word) bitmap_line::dx#2 > (word) bitmap_line::dy#1
  if((bool~) bitmap_line::$12) goto bitmap_line::@2
  to:bitmap_line::@6
bitmap_line::@4: scope:[bitmap_line]  from bitmap_line::@17
  (word) bitmap_line::x#3 ← phi( bitmap_line::@17/(word) bitmap_line::x#10 )
  (word) bitmap_line::y#3 ← phi( bitmap_line::@17/(word) bitmap_line::y#10 )
  (byte~) bitmap_line::$15 ← ((byte)) (word) bitmap_line::y#3
  (word) bitmap_plot::x#0 ← (word) bitmap_line::x#3
  (byte) bitmap_plot::y#0 ← (byte~) bitmap_line::$15
  call bitmap_plot 
  to:bitmap_line::@20
bitmap_line::@20: scope:[bitmap_line]  from bitmap_line::@4
  to:bitmap_line::@return
bitmap_line::@return: scope:[bitmap_line]  from bitmap_line::@20 bitmap_line::@22
  return 
  to:@return
bitmap_line::@2: scope:[bitmap_line]  from bitmap_line::@19
  (word) bitmap_line::sy#10 ← phi( bitmap_line::@19/(word) bitmap_line::sy#0 )
  (word) bitmap_line::x2#10 ← phi( bitmap_line::@19/(word) bitmap_line::x2#11 )
  (word) bitmap_line::dx#13 ← phi( bitmap_line::@19/(word) bitmap_line::dx#2 )
  (word) bitmap_line::sx#7 ← phi( bitmap_line::@19/(word) bitmap_line::sx#8 )
  (word) bitmap_line::x#14 ← phi( bitmap_line::@19/(word) bitmap_line::x#17 )
  (word) bitmap_line::y#14 ← phi( bitmap_line::@19/(word) bitmap_line::y#17 )
  (word) bitmap_line::dy#2 ← phi( bitmap_line::@19/(word) bitmap_line::dy#1 )
  (number~) bitmap_line::$23 ← (word) bitmap_line::dy#2 / (number) 2
  (word) bitmap_line::e1#0 ← (number~) bitmap_line::$23
  to:bitmap_line::@12
bitmap_line::@6: scope:[bitmap_line]  from bitmap_line::@19
  (word) bitmap_line::sx#9 ← phi( bitmap_line::@19/(word) bitmap_line::sx#8 )
  (word) bitmap_line::y2#11 ← phi( bitmap_line::@19/(word) bitmap_line::y2#12 )
  (word) bitmap_line::dy#10 ← phi( bitmap_line::@19/(word) bitmap_line::dy#1 )
  (word) bitmap_line::sy#5 ← phi( bitmap_line::@19/(word) bitmap_line::sy#0 )
  (word) bitmap_line::x#11 ← phi( bitmap_line::@19/(word) bitmap_line::x#17 )
  (word) bitmap_line::y#11 ← phi( bitmap_line::@19/(word) bitmap_line::y#17 )
  (word) bitmap_line::dx#3 ← phi( bitmap_line::@19/(word) bitmap_line::dx#2 )
  (number~) bitmap_line::$17 ← (word) bitmap_line::dx#3 / (number) 2
  (word) bitmap_line::e#0 ← (number~) bitmap_line::$17
  to:bitmap_line::@7
bitmap_line::@7: scope:[bitmap_line]  from bitmap_line::@6 bitmap_line::@8
  (word) bitmap_line::sx#5 ← phi( bitmap_line::@6/(word) bitmap_line::sx#9 bitmap_line::@8/(word) bitmap_line::sx#10 )
  (word) bitmap_line::y2#10 ← phi( bitmap_line::@6/(word) bitmap_line::y2#11 bitmap_line::@8/(word) bitmap_line::y2#4 )
  (word) bitmap_line::dy#7 ← phi( bitmap_line::@6/(word) bitmap_line::dy#10 bitmap_line::@8/(word) bitmap_line::dy#11 )
  (word) bitmap_line::dx#8 ← phi( bitmap_line::@6/(word) bitmap_line::dx#3 bitmap_line::@8/(word) bitmap_line::dx#11 )
  (word) bitmap_line::e#5 ← phi( bitmap_line::@6/(word) bitmap_line::e#0 bitmap_line::@8/(word) bitmap_line::e#6 )
  (word) bitmap_line::sy#3 ← phi( bitmap_line::@6/(word) bitmap_line::sy#5 bitmap_line::@8/(word) bitmap_line::sy#6 )
  (word) bitmap_line::x#4 ← phi( bitmap_line::@6/(word) bitmap_line::x#11 bitmap_line::@8/(word) bitmap_line::x#12 )
  (word) bitmap_line::y#4 ← phi( bitmap_line::@6/(word) bitmap_line::y#11 bitmap_line::@8/(word) bitmap_line::y#6 )
  (byte~) bitmap_line::$18 ← ((byte)) (word) bitmap_line::y#4
  (word) bitmap_plot::x#1 ← (word) bitmap_line::x#4
  (byte) bitmap_plot::y#1 ← (byte~) bitmap_line::$18
  call bitmap_plot 
  to:bitmap_line::@21
bitmap_line::@21: scope:[bitmap_line]  from bitmap_line::@7
  (word) bitmap_line::sx#3 ← phi( bitmap_line::@7/(word) bitmap_line::sx#5 )
  (word) bitmap_line::x#13 ← phi( bitmap_line::@7/(word) bitmap_line::x#4 )
  (word) bitmap_line::y2#7 ← phi( bitmap_line::@7/(word) bitmap_line::y2#10 )
  (word) bitmap_line::dy#3 ← phi( bitmap_line::@7/(word) bitmap_line::dy#7 )
  (word) bitmap_line::dx#4 ← phi( bitmap_line::@7/(word) bitmap_line::dx#8 )
  (word) bitmap_line::e#3 ← phi( bitmap_line::@7/(word) bitmap_line::e#5 )
  (word) bitmap_line::sy#1 ← phi( bitmap_line::@7/(word) bitmap_line::sy#3 )
  (word) bitmap_line::y#5 ← phi( bitmap_line::@7/(word) bitmap_line::y#4 )
  (word) bitmap_line::y#1 ← (word) bitmap_line::y#5 + (word) bitmap_line::sy#1
  (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#4
  (bool~) bitmap_line::$20 ← (word) bitmap_line::dy#3 < (word) bitmap_line::e#1
  (bool~) bitmap_line::$21 ← ! (bool~) bitmap_line::$20
  if((bool~) bitmap_line::$21) goto bitmap_line::@8
  to:bitmap_line::@9
bitmap_line::@8: scope:[bitmap_line]  from bitmap_line::@21 bitmap_line::@9
  (word) bitmap_line::sx#10 ← phi( bitmap_line::@21/(word) bitmap_line::sx#3 bitmap_line::@9/(word) bitmap_line::sx#1 )
  (word) bitmap_line::dy#11 ← phi( bitmap_line::@21/(word) bitmap_line::dy#3 bitmap_line::@9/(word) bitmap_line::dy#4 )
  (word) bitmap_line::dx#11 ← phi( bitmap_line::@21/(word) bitmap_line::dx#4 bitmap_line::@9/(word) bitmap_line::dx#14 )
  (word) bitmap_line::e#6 ← phi( bitmap_line::@21/(word) bitmap_line::e#1 bitmap_line::@9/(word) bitmap_line::e#2 )
  (word) bitmap_line::sy#6 ← phi( bitmap_line::@21/(word) bitmap_line::sy#1 bitmap_line::@9/(word) bitmap_line::sy#8 )
  (word) bitmap_line::x#12 ← phi( bitmap_line::@21/(word) bitmap_line::x#13 bitmap_line::@9/(word) bitmap_line::x#1 )
  (word) bitmap_line::y2#4 ← phi( bitmap_line::@21/(word) bitmap_line::y2#7 bitmap_line::@9/(word) bitmap_line::y2#8 )
  (word) bitmap_line::y#6 ← phi( bitmap_line::@21/(word) bitmap_line::y#1 bitmap_line::@9/(word) bitmap_line::y#12 )
  (bool~) bitmap_line::$22 ← (word) bitmap_line::y#6 != (word) bitmap_line::y2#4
  if((bool~) bitmap_line::$22) goto bitmap_line::@7
  to:bitmap_line::@3
bitmap_line::@9: scope:[bitmap_line]  from bitmap_line::@21
  (word) bitmap_line::dx#14 ← phi( bitmap_line::@21/(word) bitmap_line::dx#4 )
  (word) bitmap_line::sy#8 ← phi( bitmap_line::@21/(word) bitmap_line::sy#1 )
  (word) bitmap_line::y2#8 ← phi( bitmap_line::@21/(word) bitmap_line::y2#7 )
  (word) bitmap_line::y#12 ← phi( bitmap_line::@21/(word) bitmap_line::y#1 )
  (word) bitmap_line::dy#4 ← phi( bitmap_line::@21/(word) bitmap_line::dy#3 )
  (word) bitmap_line::e#4 ← phi( bitmap_line::@21/(word) bitmap_line::e#1 )
  (word) bitmap_line::sx#1 ← phi( bitmap_line::@21/(word) bitmap_line::sx#3 )
  (word) bitmap_line::x#5 ← phi( bitmap_line::@21/(word) bitmap_line::x#13 )
  (word) bitmap_line::x#1 ← (word) bitmap_line::x#5 + (word) bitmap_line::sx#1
  (word) bitmap_line::e#2 ← (word) bitmap_line::e#4 - (word) bitmap_line::dy#4
  to:bitmap_line::@8
bitmap_line::@3: scope:[bitmap_line]  from bitmap_line::@13 bitmap_line::@8
  (word) bitmap_line::x#6 ← phi( bitmap_line::@13/(word) bitmap_line::x#9 bitmap_line::@8/(word) bitmap_line::x#12 )
  (word) bitmap_line::y#7 ← phi( bitmap_line::@13/(word) bitmap_line::y#13 bitmap_line::@8/(word) bitmap_line::y#6 )
  (byte~) bitmap_line::$13 ← ((byte)) (word) bitmap_line::y#7
  (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6
  (byte) bitmap_plot::y#2 ← (byte~) bitmap_line::$13
  call bitmap_plot 
  to:bitmap_line::@22
bitmap_line::@22: scope:[bitmap_line]  from bitmap_line::@3
  to:bitmap_line::@return
bitmap_line::@12: scope:[bitmap_line]  from bitmap_line::@13 bitmap_line::@2
  (word) bitmap_line::sy#7 ← phi( bitmap_line::@13/(word) bitmap_line::sy#9 bitmap_line::@2/(word) bitmap_line::sy#10 )
  (word) bitmap_line::x2#9 ← phi( bitmap_line::@13/(word) bitmap_line::x2#4 bitmap_line::@2/(word) bitmap_line::x2#10 )
  (word) bitmap_line::dx#9 ← phi( bitmap_line::@13/(word) bitmap_line::dx#12 bitmap_line::@2/(word) bitmap_line::dx#13 )
  (word) bitmap_line::dy#8 ← phi( bitmap_line::@13/(word) bitmap_line::dy#12 bitmap_line::@2/(word) bitmap_line::dy#2 )
  (word) bitmap_line::e1#5 ← phi( bitmap_line::@13/(word) bitmap_line::e1#6 bitmap_line::@2/(word) bitmap_line::e1#0 )
  (word) bitmap_line::sx#4 ← phi( bitmap_line::@13/(word) bitmap_line::sx#6 bitmap_line::@2/(word) bitmap_line::sx#7 )
  (word) bitmap_line::x#7 ← phi( bitmap_line::@13/(word) bitmap_line::x#9 bitmap_line::@2/(word) bitmap_line::x#14 )
  (word) bitmap_line::y#8 ← phi( bitmap_line::@13/(word) bitmap_line::y#13 bitmap_line::@2/(word) bitmap_line::y#14 )
  (byte~) bitmap_line::$24 ← ((byte)) (word) bitmap_line::y#8
  (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7
  (byte) bitmap_plot::y#3 ← (byte~) bitmap_line::$24
  call bitmap_plot 
  to:bitmap_line::@23
bitmap_line::@23: scope:[bitmap_line]  from bitmap_line::@12
  (word) bitmap_line::sy#4 ← phi( bitmap_line::@12/(word) bitmap_line::sy#7 )
  (word) bitmap_line::y#15 ← phi( bitmap_line::@12/(word) bitmap_line::y#8 )
  (word) bitmap_line::x2#7 ← phi( bitmap_line::@12/(word) bitmap_line::x2#9 )
  (word) bitmap_line::dx#5 ← phi( bitmap_line::@12/(word) bitmap_line::dx#9 )
  (word) bitmap_line::dy#5 ← phi( bitmap_line::@12/(word) bitmap_line::dy#8 )
  (word) bitmap_line::e1#3 ← phi( bitmap_line::@12/(word) bitmap_line::e1#5 )
  (word) bitmap_line::sx#2 ← phi( bitmap_line::@12/(word) bitmap_line::sx#4 )
  (word) bitmap_line::x#8 ← phi( bitmap_line::@12/(word) bitmap_line::x#7 )
  (word) bitmap_line::x#2 ← (word) bitmap_line::x#8 + (word) bitmap_line::sx#2
  (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#5
  (bool~) bitmap_line::$26 ← (word) bitmap_line::dx#5 < (word) bitmap_line::e1#1
  (bool~) bitmap_line::$27 ← ! (bool~) bitmap_line::$26
  if((bool~) bitmap_line::$27) goto bitmap_line::@13
  to:bitmap_line::@14
bitmap_line::@13: scope:[bitmap_line]  from bitmap_line::@14 bitmap_line::@23
  (word) bitmap_line::sy#9 ← phi( bitmap_line::@14/(word) bitmap_line::sy#2 bitmap_line::@23/(word) bitmap_line::sy#4 )
  (word) bitmap_line::dx#12 ← phi( bitmap_line::@14/(word) bitmap_line::dx#6 bitmap_line::@23/(word) bitmap_line::dx#5 )
  (word) bitmap_line::dy#12 ← phi( bitmap_line::@14/(word) bitmap_line::dy#13 bitmap_line::@23/(word) bitmap_line::dy#5 )
  (word) bitmap_line::e1#6 ← phi( bitmap_line::@14/(word) bitmap_line::e1#2 bitmap_line::@23/(word) bitmap_line::e1#1 )
  (word) bitmap_line::sx#6 ← phi( bitmap_line::@14/(word) bitmap_line::sx#11 bitmap_line::@23/(word) bitmap_line::sx#2 )
  (word) bitmap_line::y#13 ← phi( bitmap_line::@14/(word) bitmap_line::y#2 bitmap_line::@23/(word) bitmap_line::y#15 )
  (word) bitmap_line::x2#4 ← phi( bitmap_line::@14/(word) bitmap_line::x2#6 bitmap_line::@23/(word) bitmap_line::x2#7 )
  (word) bitmap_line::x#9 ← phi( bitmap_line::@14/(word) bitmap_line::x#15 bitmap_line::@23/(word) bitmap_line::x#2 )
  (bool~) bitmap_line::$28 ← (word) bitmap_line::x#9 != (word) bitmap_line::x2#4
  if((bool~) bitmap_line::$28) goto bitmap_line::@12
  to:bitmap_line::@3
bitmap_line::@14: scope:[bitmap_line]  from bitmap_line::@23
  (word) bitmap_line::dy#13 ← phi( bitmap_line::@23/(word) bitmap_line::dy#5 )
  (word) bitmap_line::sx#11 ← phi( bitmap_line::@23/(word) bitmap_line::sx#2 )
  (word) bitmap_line::x2#6 ← phi( bitmap_line::@23/(word) bitmap_line::x2#7 )
  (word) bitmap_line::x#15 ← phi( bitmap_line::@23/(word) bitmap_line::x#2 )
  (word) bitmap_line::dx#6 ← phi( bitmap_line::@23/(word) bitmap_line::dx#5 )
  (word) bitmap_line::e1#4 ← phi( bitmap_line::@23/(word) bitmap_line::e1#1 )
  (word) bitmap_line::sy#2 ← phi( bitmap_line::@23/(word) bitmap_line::sy#4 )
  (word) bitmap_line::y#9 ← phi( bitmap_line::@23/(word) bitmap_line::y#15 )
  (word) bitmap_line::y#2 ← (word) bitmap_line::y#9 + (word) bitmap_line::sy#2
  (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#4 - (word) bitmap_line::dx#6
  to:bitmap_line::@13

(word()) abs_u16((word) abs_u16::w)
abs_u16: scope:[abs_u16]  from bitmap_line bitmap_line::@16
  (word) abs_u16::w#2 ← phi( bitmap_line/(word) abs_u16::w#0 bitmap_line::@16/(word) abs_u16::w#1 )
  (byte~) abs_u16::$0 ← > (word) abs_u16::w#2
  (number~) abs_u16::$1 ← (byte~) abs_u16::$0 & (number) $80
  (bool~) abs_u16::$3 ← (number) 0 != (number~) abs_u16::$1
  if((bool~) abs_u16::$3) goto abs_u16::@1
  to:abs_u16::@3
abs_u16::@1: scope:[abs_u16]  from abs_u16
  (word) abs_u16::w#3 ← phi( abs_u16/(word) abs_u16::w#2 )
  (word~) abs_u16::$2 ← - (word) abs_u16::w#3
  (word) abs_u16::return#2 ← (word~) abs_u16::$2
  to:abs_u16::@return
abs_u16::@3: scope:[abs_u16]  from abs_u16
  (word) abs_u16::w#4 ← phi( abs_u16/(word) abs_u16::w#2 )
  (word) abs_u16::return#3 ← (word) abs_u16::w#4
  to:abs_u16::@return
abs_u16::@return: scope:[abs_u16]  from abs_u16::@1 abs_u16::@3
  (word) abs_u16::return#7 ← phi( abs_u16::@1/(word) abs_u16::return#2 abs_u16::@3/(word) abs_u16::return#3 )
  (word) abs_u16::return#4 ← (word) abs_u16::return#7
  return 
  to:@return

(word()) sgn_u16((word) sgn_u16::w)
sgn_u16: scope:[sgn_u16]  from bitmap_line::@1 bitmap_line::@18
  (word) sgn_u16::w#2 ← phi( bitmap_line::@1/(word) sgn_u16::w#0 bitmap_line::@18/(word) sgn_u16::w#1 )
  (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2
  (number~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (number) $80
  (bool~) sgn_u16::$2 ← (number) 0 != (number~) sgn_u16::$1
  if((bool~) sgn_u16::$2) goto sgn_u16::@1
  to:sgn_u16::@3
sgn_u16::@1: scope:[sgn_u16]  from sgn_u16
  (word) sgn_u16::return#2 ← (number) -1
  to:sgn_u16::@return
sgn_u16::@3: scope:[sgn_u16]  from sgn_u16
  (word) sgn_u16::return#3 ← (number) 1
  to:sgn_u16::@return
sgn_u16::@return: scope:[sgn_u16]  from sgn_u16::@1 sgn_u16::@3
  (word) sgn_u16::return#7 ← phi( sgn_u16::@1/(word) sgn_u16::return#2 sgn_u16::@3/(word) sgn_u16::return#3 )
  (word) sgn_u16::return#4 ← (word) sgn_u16::return#7
  return 
  to:@return

(void()) mulf_init()
mulf_init: scope:[mulf_init]  from main
  (word) mulf_init::sqr#0 ← (word) 0
  (byte) mulf_init::x_2#0 ← (byte) 0
  (byte) mulf_init::c#0 ← (byte) 0
  (byte*) mulf_init::sqr1_hi#0 ← (const byte*) mulf_sqr1_hi+(number) 1
  (byte*) mulf_init::sqr1_lo#0 ← (const byte*) mulf_sqr1_lo+(number) 1
  to:mulf_init::@1
mulf_init::@1: scope:[mulf_init]  from mulf_init mulf_init::@4
  (byte) mulf_init::x_2#5 ← phi( mulf_init/(byte) mulf_init::x_2#0 mulf_init::@4/(byte) mulf_init::x_2#2 )
  (byte*) mulf_init::sqr1_hi#5 ← phi( mulf_init/(byte*) mulf_init::sqr1_hi#0 mulf_init::@4/(byte*) mulf_init::sqr1_hi#1 )
  (word) mulf_init::sqr#6 ← phi( mulf_init/(word) mulf_init::sqr#0 mulf_init::@4/(word) mulf_init::sqr#1 )
  (byte) mulf_init::c#3 ← phi( mulf_init/(byte) mulf_init::c#0 mulf_init::@4/(byte) mulf_init::c#4 )
  (byte*) mulf_init::sqr1_lo#2 ← phi( mulf_init/(byte*) mulf_init::sqr1_lo#0 mulf_init::@4/(byte*) mulf_init::sqr1_lo#1 )
  (bool~) mulf_init::$0 ← (byte*) mulf_init::sqr1_lo#2 != (const byte*) mulf_sqr1_lo+(number) $200
  if((bool~) mulf_init::$0) goto mulf_init::@2
  to:mulf_init::@3
mulf_init::@2: scope:[mulf_init]  from mulf_init::@1
  (byte) mulf_init::x_2#4 ← phi( mulf_init::@1/(byte) mulf_init::x_2#5 )
  (byte*) mulf_init::sqr1_hi#3 ← phi( mulf_init::@1/(byte*) mulf_init::sqr1_hi#5 )
  (byte*) mulf_init::sqr1_lo#4 ← phi( mulf_init::@1/(byte*) mulf_init::sqr1_lo#2 )
  (word) mulf_init::sqr#5 ← phi( mulf_init::@1/(word) mulf_init::sqr#6 )
  (byte) mulf_init::c#2 ← phi( mulf_init::@1/(byte) mulf_init::c#3 )
  (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2
  (number~) mulf_init::$1 ← (byte) mulf_init::c#1 & (number) 1
  (bool~) mulf_init::$2 ← (number~) mulf_init::$1 == (number) 0
  (bool~) mulf_init::$3 ← ! (bool~) mulf_init::$2
  if((bool~) mulf_init::$3) goto mulf_init::@4
  to:mulf_init::@7
mulf_init::@3: scope:[mulf_init]  from mulf_init::@1
  (byte) mulf_init::x_255#0 ← (byte)(number) -1
  (byte) mulf_init::dir#0 ← (byte) $ff
  (byte*) mulf_init::sqr2_hi#0 ← (const byte*) mulf_sqr2_hi
  (byte*) mulf_init::sqr2_lo#0 ← (const byte*) mulf_sqr2_lo
  to:mulf_init::@9
mulf_init::@4: scope:[mulf_init]  from mulf_init::@2 mulf_init::@7
  (byte) mulf_init::c#4 ← phi( mulf_init::@2/(byte) mulf_init::c#1 mulf_init::@7/(byte) mulf_init::c#5 )
  (byte) mulf_init::x_2#2 ← phi( mulf_init::@2/(byte) mulf_init::x_2#4 mulf_init::@7/(byte) mulf_init::x_2#1 )
  (byte*) mulf_init::sqr1_hi#2 ← phi( mulf_init::@2/(byte*) mulf_init::sqr1_hi#3 mulf_init::@7/(byte*) mulf_init::sqr1_hi#4 )
  (byte*) mulf_init::sqr1_lo#3 ← phi( mulf_init::@2/(byte*) mulf_init::sqr1_lo#4 mulf_init::@7/(byte*) mulf_init::sqr1_lo#5 )
  (word) mulf_init::sqr#3 ← phi( mulf_init::@2/(word) mulf_init::sqr#5 mulf_init::@7/(word) mulf_init::sqr#2 )
  (byte~) mulf_init::$4 ← < (word) mulf_init::sqr#3
  *((byte*) mulf_init::sqr1_lo#3) ← (byte~) mulf_init::$4
  (byte~) mulf_init::$5 ← > (word) mulf_init::sqr#3
  *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$5
  (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2
  (word~) mulf_init::$6 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2
  (word) mulf_init::sqr#1 ← (word~) mulf_init::$6
  (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#3
  to:mulf_init::@1
mulf_init::@7: scope:[mulf_init]  from mulf_init::@2
  (byte) mulf_init::c#5 ← phi( mulf_init::@2/(byte) mulf_init::c#1 )
  (byte*) mulf_init::sqr1_hi#4 ← phi( mulf_init::@2/(byte*) mulf_init::sqr1_hi#3 )
  (byte*) mulf_init::sqr1_lo#5 ← phi( mulf_init::@2/(byte*) mulf_init::sqr1_lo#4 )
  (word) mulf_init::sqr#4 ← phi( mulf_init::@2/(word) mulf_init::sqr#5 )
  (byte) mulf_init::x_2#3 ← phi( mulf_init::@2/(byte) mulf_init::x_2#4 )
  (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3
  (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4
  to:mulf_init::@4
mulf_init::@9: scope:[mulf_init]  from mulf_init::@12 mulf_init::@3
  (byte) mulf_init::dir#3 ← phi( mulf_init::@12/(byte) mulf_init::dir#4 mulf_init::@3/(byte) mulf_init::dir#0 )
  (byte*) mulf_init::sqr2_hi#3 ← phi( mulf_init::@12/(byte*) mulf_init::sqr2_hi#4 mulf_init::@3/(byte*) mulf_init::sqr2_hi#0 )
  (byte) mulf_init::x_255#3 ← phi( mulf_init::@12/(byte) mulf_init::x_255#4 mulf_init::@3/(byte) mulf_init::x_255#0 )
  (byte*) mulf_init::sqr2_lo#2 ← phi( mulf_init::@12/(byte*) mulf_init::sqr2_lo#1 mulf_init::@3/(byte*) mulf_init::sqr2_lo#0 )
  (bool~) mulf_init::$7 ← (byte*) mulf_init::sqr2_lo#2 != (const byte*) mulf_sqr2_lo+(number) $1ff
  if((bool~) mulf_init::$7) goto mulf_init::@10
  to:mulf_init::@11
mulf_init::@10: scope:[mulf_init]  from mulf_init::@9
  (byte) mulf_init::dir#2 ← phi( mulf_init::@9/(byte) mulf_init::dir#3 )
  (byte*) mulf_init::sqr2_hi#2 ← phi( mulf_init::@9/(byte*) mulf_init::sqr2_hi#3 )
  (byte*) mulf_init::sqr2_lo#3 ← phi( mulf_init::@9/(byte*) mulf_init::sqr2_lo#2 )
  (byte) mulf_init::x_255#2 ← phi( mulf_init::@9/(byte) mulf_init::x_255#3 )
  *((byte*) mulf_init::sqr2_lo#3) ← *((const byte*) mulf_sqr1_lo + (byte) mulf_init::x_255#2)
  *((byte*) mulf_init::sqr2_hi#2) ← *((const byte*) mulf_sqr1_hi + (byte) mulf_init::x_255#2)
  (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2
  (byte~) mulf_init::$8 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2
  (byte) mulf_init::x_255#1 ← (byte~) mulf_init::$8
  (bool~) mulf_init::$9 ← (byte) mulf_init::x_255#1 == (number) 0
  (bool~) mulf_init::$10 ← ! (bool~) mulf_init::$9
  if((bool~) mulf_init::$10) goto mulf_init::@12
  to:mulf_init::@15
mulf_init::@11: scope:[mulf_init]  from mulf_init::@9
  *((const byte*) mulf_sqr2_lo+(number) $1ff) ← *((const byte*) mulf_sqr1_lo+(number) $100)
  *((const byte*) mulf_sqr2_hi+(number) $1ff) ← *((const byte*) mulf_sqr1_hi+(number) $100)
  to:mulf_init::@return
mulf_init::@12: scope:[mulf_init]  from mulf_init::@10 mulf_init::@15
  (byte) mulf_init::dir#4 ← phi( mulf_init::@10/(byte) mulf_init::dir#2 mulf_init::@15/(byte) mulf_init::dir#1 )
  (byte*) mulf_init::sqr2_hi#4 ← phi( mulf_init::@10/(byte*) mulf_init::sqr2_hi#1 mulf_init::@15/(byte*) mulf_init::sqr2_hi#5 )
  (byte) mulf_init::x_255#4 ← phi( mulf_init::@10/(byte) mulf_init::x_255#1 mulf_init::@15/(byte) mulf_init::x_255#5 )
  (byte*) mulf_init::sqr2_lo#4 ← phi( mulf_init::@10/(byte*) mulf_init::sqr2_lo#3 mulf_init::@15/(byte*) mulf_init::sqr2_lo#5 )
  (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#4
  to:mulf_init::@9
mulf_init::@15: scope:[mulf_init]  from mulf_init::@10
  (byte*) mulf_init::sqr2_hi#5 ← phi( mulf_init::@10/(byte*) mulf_init::sqr2_hi#1 )
  (byte) mulf_init::x_255#5 ← phi( mulf_init::@10/(byte) mulf_init::x_255#1 )
  (byte*) mulf_init::sqr2_lo#5 ← phi( mulf_init::@10/(byte*) mulf_init::sqr2_lo#3 )
  (byte) mulf_init::dir#1 ← (number) 1
  to:mulf_init::@12
mulf_init::@return: scope:[mulf_init]  from mulf_init::@11
  return 
  to:@return

(dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b)
mulf16u: scope:[mulf16u]  from mulf16s
  (word) mulf16u::b#1 ← phi( mulf16s/(word) mulf16u::b#0 )
  (word) mulf16u::a#1 ← phi( mulf16s/(word) mulf16u::a#0 )
  *((const word*) mulf16u::memA) ← (word) mulf16u::a#1
  *((const word*) mulf16u::memB) ← (word) mulf16u::b#1
  asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  }
  (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR)
  to:mulf16u::@return
mulf16u::@return: scope:[mulf16u]  from mulf16u
  (dword) mulf16u::return#3 ← phi( mulf16u/(dword) mulf16u::return#0 )
  (dword) mulf16u::return#1 ← (dword) mulf16u::return#3
  return 
  to:@return

(signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b)
mulf16s: scope:[mulf16s]  from rotate rotate::@2 rotate::@3 rotate::@4
  (signed word) mulf16s::b#4 ← phi( rotate/(signed word) mulf16s::b#0 rotate::@2/(signed word) mulf16s::b#1 rotate::@3/(signed word) mulf16s::b#2 rotate::@4/(signed word) mulf16s::b#3 )
  (signed word) mulf16s::a#4 ← phi( rotate/(signed word) mulf16s::a#0 rotate::@2/(signed word) mulf16s::a#1 rotate::@3/(signed word) mulf16s::a#2 rotate::@4/(signed word) mulf16s::a#3 )
  (word~) mulf16s::$0 ← ((word)) (signed word) mulf16s::a#4
  (word~) mulf16s::$1 ← ((word)) (signed word) mulf16s::b#4
  (word) mulf16u::a#0 ← (word~) mulf16s::$0
  (word) mulf16u::b#0 ← (word~) mulf16s::$1
  call mulf16u 
  (dword) mulf16u::return#2 ← (dword) mulf16u::return#1
  to:mulf16s::@6
mulf16s::@6: scope:[mulf16s]  from mulf16s
  (signed word) mulf16s::b#7 ← phi( mulf16s/(signed word) mulf16s::b#4 )
  (signed word) mulf16s::a#5 ← phi( mulf16s/(signed word) mulf16s::a#4 )
  (dword) mulf16u::return#4 ← phi( mulf16s/(dword) mulf16u::return#2 )
  (dword~) mulf16s::$2 ← (dword) mulf16u::return#4
  (dword) mulf16s::m#0 ← (dword~) mulf16s::$2
  (bool~) mulf16s::$3 ← (signed word) mulf16s::a#5 < (number) 0
  (bool~) mulf16s::$4 ← ! (bool~) mulf16s::$3
  if((bool~) mulf16s::$4) goto mulf16s::@1
  to:mulf16s::@3
mulf16s::@1: scope:[mulf16s]  from mulf16s::@3 mulf16s::@6
  (signed word) mulf16s::a#7 ← phi( mulf16s::@3/(signed word) mulf16s::a#8 mulf16s::@6/(signed word) mulf16s::a#5 )
  (dword) mulf16s::m#6 ← phi( mulf16s::@3/(dword) mulf16s::m#1 mulf16s::@6/(dword) mulf16s::m#0 )
  (signed word) mulf16s::b#5 ← phi( mulf16s::@3/(signed word) mulf16s::b#6 mulf16s::@6/(signed word) mulf16s::b#7 )
  (bool~) mulf16s::$5 ← (signed word) mulf16s::b#5 < (number) 0
  (bool~) mulf16s::$6 ← ! (bool~) mulf16s::$5
  if((bool~) mulf16s::$6) goto mulf16s::@2
  to:mulf16s::@4
mulf16s::@3: scope:[mulf16s]  from mulf16s::@6
  (signed word) mulf16s::a#8 ← phi( mulf16s::@6/(signed word) mulf16s::a#5 )
  (signed word) mulf16s::b#6 ← phi( mulf16s::@6/(signed word) mulf16s::b#7 )
  (dword) mulf16s::m#3 ← phi( mulf16s::@6/(dword) mulf16s::m#0 )
  (word~) mulf16s::$9 ← > (dword) mulf16s::m#3
  (word~) mulf16s::$10 ← ((word)) (signed word) mulf16s::b#6
  (word~) mulf16s::$11 ← (word~) mulf16s::$9 - (word~) mulf16s::$10
  (word~) mulf16s::$16 ← (word~) mulf16s::$11
  (dword) mulf16s::m#1 ← (dword) mulf16s::m#3 hi= (word~) mulf16s::$16
  to:mulf16s::@1
mulf16s::@2: scope:[mulf16s]  from mulf16s::@1 mulf16s::@4
  (dword) mulf16s::m#4 ← phi( mulf16s::@1/(dword) mulf16s::m#6 mulf16s::@4/(dword) mulf16s::m#2 )
  (signed dword~) mulf16s::$7 ← ((signed dword)) (dword) mulf16s::m#4
  (signed dword) mulf16s::return#0 ← (signed dword~) mulf16s::$7
  to:mulf16s::@return
mulf16s::@4: scope:[mulf16s]  from mulf16s::@1
  (signed word) mulf16s::a#6 ← phi( mulf16s::@1/(signed word) mulf16s::a#7 )
  (dword) mulf16s::m#5 ← phi( mulf16s::@1/(dword) mulf16s::m#6 )
  (word~) mulf16s::$13 ← > (dword) mulf16s::m#5
  (word~) mulf16s::$14 ← ((word)) (signed word) mulf16s::a#6
  (word~) mulf16s::$15 ← (word~) mulf16s::$13 - (word~) mulf16s::$14
  (word~) mulf16s::$17 ← (word~) mulf16s::$15
  (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17
  to:mulf16s::@2
mulf16s::@return: scope:[mulf16s]  from mulf16s::@2
  (signed dword) mulf16s::return#6 ← phi( mulf16s::@2/(signed dword) mulf16s::return#0 )
  (signed dword) mulf16s::return#1 ← (signed dword) mulf16s::return#6
  return 
  to:@return

(void()) main()
main: scope:[main]  from @65
  (byte*) bitmap_screen#18 ← phi( @65/(byte*) bitmap_screen#15 )
  (byte*) bitmap_gfx#19 ← phi( @65/(byte*) bitmap_gfx#15 )
  call mulf_init 
  to:main::@21
main::@21: scope:[main]  from main
  (byte*) bitmap_screen#13 ← phi( main/(byte*) bitmap_screen#18 )
  (byte*) bitmap_gfx#13 ← phi( main/(byte*) bitmap_gfx#19 )
  (byte*) bitmap_init::gfx#0 ← (const byte*) BITMAP_GRAPHICS
  (byte*) bitmap_init::screen#0 ← (const byte*) BITMAP_SCREEN
  call bitmap_init 
  to:main::@22
main::@22: scope:[main]  from main::@21
  (byte*) bitmap_screen#8 ← phi( main::@21/(byte*) bitmap_screen#2 )
  (byte*) bitmap_gfx#8 ← phi( main::@21/(byte*) bitmap_gfx#2 )
  (byte*) bitmap_gfx#3 ← (byte*) bitmap_gfx#8
  (byte*) bitmap_screen#3 ← (byte*) bitmap_screen#8
  (byte) bitmap_clear::bgcol#0 ← (const byte) BLACK
  (byte) bitmap_clear::fgcol#0 ← (const byte) WHITE
  call bitmap_clear 
  to:main::@23
main::@23: scope:[main]  from main::@22
  (byte*) bitmap_gfx#40 ← phi( main::@22/(byte*) bitmap_gfx#3 )
  (byte*) bitmap_screen#39 ← phi( main::@22/(byte*) bitmap_screen#3 )
  (byte*) main::vicSelectGfxBank1_gfx#0 ← (const byte*) BITMAP_SCREEN
  to:main::vicSelectGfxBank1
main::vicSelectGfxBank1: scope:[main]  from main::@23
  (byte*) bitmap_gfx#39 ← phi( main::@23/(byte*) bitmap_gfx#40 )
  (byte*) bitmap_screen#38 ← phi( main::@23/(byte*) bitmap_screen#39 )
  (byte*) main::vicSelectGfxBank1_gfx#1 ← phi( main::@23/(byte*) main::vicSelectGfxBank1_gfx#0 )
  *((const byte*) CIA2_PORT_A_DDR) ← (number) 3
  (byte*) main::vicSelectGfxBank1_toDd001_gfx#0 ← (byte*) main::vicSelectGfxBank1_gfx#1
  to:main::vicSelectGfxBank1_toDd001
main::vicSelectGfxBank1_toDd001: scope:[main]  from main::vicSelectGfxBank1
  (byte*) bitmap_gfx#38 ← phi( main::vicSelectGfxBank1/(byte*) bitmap_gfx#39 )
  (byte*) bitmap_screen#37 ← phi( main::vicSelectGfxBank1/(byte*) bitmap_screen#38 )
  (byte*) main::vicSelectGfxBank1_toDd001_gfx#1 ← phi( main::vicSelectGfxBank1/(byte*) main::vicSelectGfxBank1_toDd001_gfx#0 )
  (word~) main::vicSelectGfxBank1_toDd001_$0 ← ((word)) (byte*) main::vicSelectGfxBank1_toDd001_gfx#1
  (byte~) main::vicSelectGfxBank1_toDd001_$1 ← > (word~) main::vicSelectGfxBank1_toDd001_$0
  (number~) main::vicSelectGfxBank1_toDd001_$2 ← (byte~) main::vicSelectGfxBank1_toDd001_$1 / (number) $40
  (number~) main::vicSelectGfxBank1_toDd001_$3 ← (number) 3 ^ (number~) main::vicSelectGfxBank1_toDd001_$2
  (byte) main::vicSelectGfxBank1_toDd001_return#0 ← (number~) main::vicSelectGfxBank1_toDd001_$3
  to:main::vicSelectGfxBank1_toDd001_@return
main::vicSelectGfxBank1_toDd001_@return: scope:[main]  from main::vicSelectGfxBank1_toDd001
  (byte*) bitmap_gfx#36 ← phi( main::vicSelectGfxBank1_toDd001/(byte*) bitmap_gfx#38 )
  (byte*) bitmap_screen#35 ← phi( main::vicSelectGfxBank1_toDd001/(byte*) bitmap_screen#37 )
  (byte) main::vicSelectGfxBank1_toDd001_return#2 ← phi( main::vicSelectGfxBank1_toDd001/(byte) main::vicSelectGfxBank1_toDd001_return#0 )
  (byte) main::vicSelectGfxBank1_toDd001_return#1 ← (byte) main::vicSelectGfxBank1_toDd001_return#2
  to:main::vicSelectGfxBank1_@1
main::vicSelectGfxBank1_@1: scope:[main]  from main::vicSelectGfxBank1_toDd001_@return
  (byte*) bitmap_gfx#34 ← phi( main::vicSelectGfxBank1_toDd001_@return/(byte*) bitmap_gfx#36 )
  (byte*) bitmap_screen#33 ← phi( main::vicSelectGfxBank1_toDd001_@return/(byte*) bitmap_screen#35 )
  (byte) main::vicSelectGfxBank1_toDd001_return#3 ← phi( main::vicSelectGfxBank1_toDd001_@return/(byte) main::vicSelectGfxBank1_toDd001_return#1 )
  (byte~) main::vicSelectGfxBank1_$0 ← (byte) main::vicSelectGfxBank1_toDd001_return#3
  *((const byte*) CIA2_PORT_A) ← (byte~) main::vicSelectGfxBank1_$0
  to:main::@19
main::@19: scope:[main]  from main::vicSelectGfxBank1_@1
  (byte*) bitmap_gfx#32 ← phi( main::vicSelectGfxBank1_@1/(byte*) bitmap_gfx#34 )
  (byte*) bitmap_screen#31 ← phi( main::vicSelectGfxBank1_@1/(byte*) bitmap_screen#33 )
  (byte*) main::toD0181_screen#0 ← (const byte*) BITMAP_SCREEN
  (byte*) main::toD0181_gfx#0 ← (const byte*) BITMAP_GRAPHICS
  to:main::toD0181
main::toD0181: scope:[main]  from main::@19
  (byte*) bitmap_gfx#30 ← phi( main::@19/(byte*) bitmap_gfx#32 )
  (byte*) bitmap_screen#29 ← phi( main::@19/(byte*) bitmap_screen#31 )
  (byte*) main::toD0181_gfx#1 ← phi( main::@19/(byte*) main::toD0181_gfx#0 )
  (byte*) main::toD0181_screen#1 ← phi( main::@19/(byte*) main::toD0181_screen#0 )
  (word~) main::toD0181_$0 ← ((word)) (byte*) main::toD0181_screen#1
  (number~) main::toD0181_$1 ← (word~) main::toD0181_$0 & (number) $3fff
  (number~) main::toD0181_$2 ← (number~) main::toD0181_$1 * (number) 4
  (number~) main::toD0181_$3 ← > (number~) main::toD0181_$2
  (word~) main::toD0181_$4 ← ((word)) (byte*) main::toD0181_gfx#1
  (byte~) main::toD0181_$5 ← > (word~) main::toD0181_$4
  (number~) main::toD0181_$6 ← (byte~) main::toD0181_$5 / (number) 4
  (number~) main::toD0181_$7 ← (number~) main::toD0181_$6 & (number) $f
  (number~) main::toD0181_$8 ← (number~) main::toD0181_$3 | (number~) main::toD0181_$7
  (byte) main::toD0181_return#0 ← (number~) main::toD0181_$8
  to:main::toD0181_@return
main::toD0181_@return: scope:[main]  from main::toD0181
  (byte*) bitmap_gfx#26 ← phi( main::toD0181/(byte*) bitmap_gfx#30 )
  (byte*) bitmap_screen#25 ← phi( main::toD0181/(byte*) bitmap_screen#29 )
  (byte) main::toD0181_return#2 ← phi( main::toD0181/(byte) main::toD0181_return#0 )
  (byte) main::toD0181_return#1 ← (byte) main::toD0181_return#2
  to:main::@20
main::@20: scope:[main]  from main::toD0181_@return
  (byte*) bitmap_gfx#23 ← phi( main::toD0181_@return/(byte*) bitmap_gfx#26 )
  (byte*) bitmap_screen#22 ← phi( main::toD0181_@return/(byte*) bitmap_screen#25 )
  (byte) main::toD0181_return#3 ← phi( main::toD0181_@return/(byte) main::toD0181_return#1 )
  (byte~) main::$4 ← (byte) main::toD0181_return#3
  *((const byte*) D018) ← (byte~) main::$4
  *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(number) 3
  (byte) main::angle#0 ← (byte) 0
  to:main::@1
main::@1: scope:[main]  from main::@20 main::@9
  (byte*) bitmap_gfx#20 ← phi( main::@20/(byte*) bitmap_gfx#23 main::@9/(byte*) bitmap_gfx#24 )
  (byte) main::angle#6 ← phi( main::@20/(byte) main::angle#0 main::@9/(byte) main::angle#1 )
  (byte*) bitmap_screen#19 ← phi( main::@20/(byte*) bitmap_screen#22 main::@9/(byte*) bitmap_screen#23 )
  if(true) goto main::@2
  to:main::@13
main::@2: scope:[main]  from main::@1
  (byte*) bitmap_gfx#18 ← phi( main::@1/(byte*) bitmap_gfx#20 )
  (byte) main::angle#4 ← phi( main::@1/(byte) main::angle#6 )
  (byte*) bitmap_screen#12 ← phi( main::@1/(byte*) bitmap_screen#19 )
  (byte) bitmap_clear::bgcol#1 ← (const byte) BLACK
  (byte) bitmap_clear::fgcol#1 ← (const byte) WHITE
  call bitmap_clear 
  to:main::@24
main::@24: scope:[main]  from main::@2
  (byte*) bitmap_gfx#37 ← phi( main::@2/(byte*) bitmap_gfx#18 )
  (byte*) bitmap_screen#36 ← phi( main::@2/(byte*) bitmap_screen#12 )
  (byte) main::angle#2 ← phi( main::@2/(byte) main::angle#4 )
  (byte) show_letter::angle#0 ← (byte) main::angle#2
  call show_letter 
  to:main::@25
main::@25: scope:[main]  from main::@24
  (byte*) bitmap_gfx#35 ← phi( main::@24/(byte*) bitmap_gfx#37 )
  (byte*) bitmap_screen#34 ← phi( main::@24/(byte*) bitmap_screen#36 )
  (byte) main::angle#9 ← phi( main::@24/(byte) main::angle#2 )
  (byte) main::w#0 ← (byte) 0
  to:main::@5
main::@5: scope:[main]  from main::@25 main::@5 main::@8
  (byte*) bitmap_gfx#33 ← phi( main::@25/(byte*) bitmap_gfx#35 main::@5/(byte*) bitmap_gfx#33 main::@8/(byte*) bitmap_gfx#27 )
  (byte*) bitmap_screen#32 ← phi( main::@25/(byte*) bitmap_screen#34 main::@5/(byte*) bitmap_screen#32 main::@8/(byte*) bitmap_screen#26 )
  (byte) main::angle#8 ← phi( main::@25/(byte) main::angle#9 main::@5/(byte) main::angle#8 main::@8/(byte) main::angle#5 )
  (byte) main::w#4 ← phi( main::@25/(byte) main::w#0 main::@5/(byte) main::w#4 main::@8/(byte) main::w#1 )
  (bool~) main::$7 ← *((const byte*) RASTER) != (number) $fe
  if((bool~) main::$7) goto main::@5
  to:main::@7
main::@7: scope:[main]  from main::@5 main::@7
  (byte*) bitmap_gfx#31 ← phi( main::@5/(byte*) bitmap_gfx#33 main::@7/(byte*) bitmap_gfx#31 )
  (byte*) bitmap_screen#30 ← phi( main::@5/(byte*) bitmap_screen#32 main::@7/(byte*) bitmap_screen#30 )
  (byte) main::angle#7 ← phi( main::@5/(byte) main::angle#8 main::@7/(byte) main::angle#7 )
  (byte) main::w#3 ← phi( main::@5/(byte) main::w#4 main::@7/(byte) main::w#3 )
  (bool~) main::$8 ← *((const byte*) RASTER) != (number) $ff
  if((bool~) main::$8) goto main::@7
  to:main::@8
main::@8: scope:[main]  from main::@7
  (byte*) bitmap_gfx#27 ← phi( main::@7/(byte*) bitmap_gfx#31 )
  (byte*) bitmap_screen#26 ← phi( main::@7/(byte*) bitmap_screen#30 )
  (byte) main::angle#5 ← phi( main::@7/(byte) main::angle#7 )
  (byte) main::w#2 ← phi( main::@7/(byte) main::w#3 )
  (byte) main::w#1 ← (byte) main::w#2 + rangenext(0,$3c)
  (bool~) main::$9 ← (byte) main::w#1 != rangelast(0,$3c)
  if((bool~) main::$9) goto main::@5
  to:main::@9
main::@9: scope:[main]  from main::@8
  (byte*) bitmap_gfx#24 ← phi( main::@8/(byte*) bitmap_gfx#27 )
  (byte*) bitmap_screen#23 ← phi( main::@8/(byte*) bitmap_screen#26 )
  (byte) main::angle#3 ← phi( main::@8/(byte) main::angle#5 )
  (byte) main::angle#1 ← (byte) main::angle#3 + (number) 9
  to:main::@1
main::@13: scope:[main]  from main::@1 main::@14
  (byte*) bitmap_screen#14 ← phi( main::@1/(byte*) bitmap_screen#19 main::@14/(byte*) bitmap_screen#20 )
  (byte*) bitmap_gfx#14 ← phi( main::@1/(byte*) bitmap_gfx#20 main::@14/(byte*) bitmap_gfx#21 )
  if(true) goto main::@14
  to:main::@return
main::@14: scope:[main]  from main::@13
  (byte*) bitmap_screen#20 ← phi( main::@13/(byte*) bitmap_screen#14 )
  (byte*) bitmap_gfx#21 ← phi( main::@13/(byte*) bitmap_gfx#14 )
  *((const byte*) PRINT_SCREEN+(number) $3e7) ← ++ *((const byte*) PRINT_SCREEN+(number) $3e7)
  to:main::@13
main::@return: scope:[main]  from main::@13
  (byte*) bitmap_screen#9 ← phi( main::@13/(byte*) bitmap_screen#14 )
  (byte*) bitmap_gfx#9 ← phi( main::@13/(byte*) bitmap_gfx#14 )
  (byte*) bitmap_gfx#4 ← (byte*) bitmap_gfx#9
  (byte*) bitmap_screen#4 ← (byte*) bitmap_screen#9
  return 
  to:@return

(void()) show_letter((byte) show_letter::angle)
show_letter: scope:[show_letter]  from main::@24
  (byte) show_letter::angle#3 ← phi( main::@24/(byte) show_letter::angle#0 )
  (signed word) show_letter::current_x#0 ← (signed word) 0
  (signed word) show_letter::current_y#0 ← (signed word) 0
  (byte) show_letter::i#0 ← (byte) 0
  to:show_letter::@1
show_letter::@1: scope:[show_letter]  from show_letter show_letter::@5
  (signed word) show_letter::current_y#9 ← phi( show_letter/(signed word) show_letter::current_y#0 show_letter::@5/(signed word) show_letter::current_y#10 )
  (signed word) show_letter::current_x#9 ← phi( show_letter/(signed word) show_letter::current_x#0 show_letter::@5/(signed word) show_letter::current_x#10 )
  (byte) show_letter::angle#1 ← phi( show_letter/(byte) show_letter::angle#3 show_letter::@5/(byte) show_letter::angle#4 )
  (byte) show_letter::i#2 ← phi( show_letter/(byte) show_letter::i#0 show_letter::@5/(byte) show_letter::i#1 )
  (byte~) show_letter::$20 ← (byte) show_letter::i#2 * (const byte) SIZEOF_STRUCT_SEGMENT
  (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) show_letter::$20)
  (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20)
  (number~) show_letter::$0 ← (signed word) show_letter::to_x#0 - (number) $32
  (number~) show_letter::$1 ← (signed word) show_letter::to_y#0 - (number) $96
  (signed word) show_letter::to_x#1 ← (number~) show_letter::$0
  (signed word) show_letter::to_y#1 ← (number~) show_letter::$1
  (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1
  (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1
  (byte) rotate::angle#0 ← (byte) show_letter::angle#1
  call rotate 
  (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#3
  (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#3
  to:show_letter::@11
show_letter::@11: scope:[show_letter]  from show_letter::@1
  (signed word) show_letter::current_y#8 ← phi( show_letter::@1/(signed word) show_letter::current_y#9 )
  (signed word) show_letter::current_x#8 ← phi( show_letter::@1/(signed word) show_letter::current_x#9 )
  (byte) show_letter::angle#2 ← phi( show_letter::@1/(byte) show_letter::angle#1 )
  (byte) show_letter::i#3 ← phi( show_letter::@1/(byte) show_letter::i#2 )
  (signed word) rotate::return_y#4 ← phi( show_letter::@1/(signed word) rotate::return_y#0 )
  (signed word) rotate::return_x#4 ← phi( show_letter::@1/(signed word) rotate::return_x#0 )
  (signed word~) show_letter::$2_x ← (signed word) rotate::return_x#4
  (signed word~) show_letter::$2_y ← (signed word) rotate::return_y#4
  (signed word) show_letter::to_x#2 ← (signed word~) show_letter::$2_x
  (signed word) show_letter::to_y#2 ← (signed word~) show_letter::$2_y
  (number~) show_letter::$3 ← (signed word) show_letter::to_x#2 + (number) $64
  (number~) show_letter::$4 ← (signed word) show_letter::to_y#2 + (number) $64
  (signed word) show_letter::to_x#3 ← (number~) show_letter::$3
  (signed word) show_letter::to_y#3 ← (number~) show_letter::$4
  (byte~) show_letter::$21 ← (byte) show_letter::i#3 * (const byte) SIZEOF_STRUCT_SEGMENT
  (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) show_letter::$21)
  (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21)
  (number~) show_letter::$5 ← (signed word) show_letter::via_x#0 - (number) $32
  (number~) show_letter::$6 ← (signed word) show_letter::via_y#0 - (number) $96
  (signed word) show_letter::via_x#1 ← (number~) show_letter::$5
  (signed word) show_letter::via_y#1 ← (number~) show_letter::$6
  (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1
  (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1
  (byte) rotate::angle#1 ← (byte) show_letter::angle#2
  call rotate 
  (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#3
  (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#3
  to:show_letter::@12
show_letter::@12: scope:[show_letter]  from show_letter::@11
  (byte) show_letter::angle#8 ← phi( show_letter::@11/(byte) show_letter::angle#2 )
  (signed word) show_letter::current_y#7 ← phi( show_letter::@11/(signed word) show_letter::current_y#8 )
  (signed word) show_letter::current_x#7 ← phi( show_letter::@11/(signed word) show_letter::current_x#8 )
  (signed word) show_letter::to_y#4 ← phi( show_letter::@11/(signed word) show_letter::to_y#3 )
  (signed word) show_letter::to_x#4 ← phi( show_letter::@11/(signed word) show_letter::to_x#3 )
  (byte) show_letter::i#4 ← phi( show_letter::@11/(byte) show_letter::i#3 )
  (signed word) rotate::return_y#5 ← phi( show_letter::@11/(signed word) rotate::return_y#1 )
  (signed word) rotate::return_x#5 ← phi( show_letter::@11/(signed word) rotate::return_x#1 )
  (signed word~) show_letter::$7_x ← (signed word) rotate::return_x#5
  (signed word~) show_letter::$7_y ← (signed word) rotate::return_y#5
  (signed word) show_letter::via_x#2 ← (signed word~) show_letter::$7_x
  (signed word) show_letter::via_y#2 ← (signed word~) show_letter::$7_y
  (number~) show_letter::$8 ← (signed word) show_letter::via_x#2 + (number) $64
  (number~) show_letter::$9 ← (signed word) show_letter::via_y#2 + (number) $64
  (signed word) show_letter::via_x#3 ← (number~) show_letter::$8
  (signed word) show_letter::via_y#3 ← (number~) show_letter::$9
  (byte~) show_letter::$22 ← (byte) show_letter::i#4 * (const byte) SIZEOF_STRUCT_SEGMENT
  (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TYPE + (byte~) show_letter::$22)
  (signed word) show_letter::segment_to_x#0 ← (signed word) show_letter::to_x#4
  (signed word) show_letter::segment_to_y#0 ← (signed word) show_letter::to_y#4
  (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#3
  (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#3
  (bool~) show_letter::$10 ← (byte) show_letter::segment_type#0 == (const byte) MOVE_TO
  if((bool~) show_letter::$10) goto show_letter::@2
  to:show_letter::@6
show_letter::@2: scope:[show_letter]  from show_letter::@12
  (byte) show_letter::angle#7 ← phi( show_letter::@12/(byte) show_letter::angle#8 )
  (byte) show_letter::i#8 ← phi( show_letter::@12/(byte) show_letter::i#4 )
  (signed word) show_letter::segment_to_y#1 ← phi( show_letter::@12/(signed word) show_letter::segment_to_y#0 )
  (signed word) show_letter::segment_to_x#1 ← phi( show_letter::@12/(signed word) show_letter::segment_to_x#0 )
  (signed word) show_letter::current_x#1 ← (signed word) show_letter::segment_to_x#1
  (signed word) show_letter::current_y#1 ← (signed word) show_letter::segment_to_y#1
  to:show_letter::@5
show_letter::@6: scope:[show_letter]  from show_letter::@12
  (byte) show_letter::angle#12 ← phi( show_letter::@12/(byte) show_letter::angle#8 )
  (byte) show_letter::i#12 ← phi( show_letter::@12/(byte) show_letter::i#4 )
  (signed word) show_letter::segment_to_y#6 ← phi( show_letter::@12/(signed word) show_letter::segment_to_y#0 )
  (signed word) show_letter::segment_to_x#6 ← phi( show_letter::@12/(signed word) show_letter::segment_to_x#0 )
  (signed word) show_letter::segment_via_y#2 ← phi( show_letter::@12/(signed word) show_letter::segment_via_y#0 )
  (signed word) show_letter::segment_via_x#2 ← phi( show_letter::@12/(signed word) show_letter::segment_via_x#0 )
  (signed word) show_letter::current_y#6 ← phi( show_letter::@12/(signed word) show_letter::current_y#7 )
  (signed word) show_letter::current_x#6 ← phi( show_letter::@12/(signed word) show_letter::current_x#7 )
  (byte) show_letter::segment_type#1 ← phi( show_letter::@12/(byte) show_letter::segment_type#0 )
  (bool~) show_letter::$11 ← (byte) show_letter::segment_type#1 == (const byte) SPLINE_TO
  if((bool~) show_letter::$11) goto show_letter::@3
  to:show_letter::@7
show_letter::@3: scope:[show_letter]  from show_letter::@6
  (byte) show_letter::angle#11 ← phi( show_letter::@6/(byte) show_letter::angle#12 )
  (byte) show_letter::i#11 ← phi( show_letter::@6/(byte) show_letter::i#12 )
  (signed word) show_letter::segment_to_y#2 ← phi( show_letter::@6/(signed word) show_letter::segment_to_y#6 )
  (signed word) show_letter::segment_to_x#2 ← phi( show_letter::@6/(signed word) show_letter::segment_to_x#6 )
  (signed word) show_letter::segment_via_y#1 ← phi( show_letter::@6/(signed word) show_letter::segment_via_y#2 )
  (signed word) show_letter::segment_via_x#1 ← phi( show_letter::@6/(signed word) show_letter::segment_via_x#2 )
  (signed word) show_letter::current_y#4 ← phi( show_letter::@6/(signed word) show_letter::current_y#6 )
  (signed word) show_letter::current_x#4 ← phi( show_letter::@6/(signed word) show_letter::current_x#6 )
  (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4
  (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4
  (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#1
  (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#1
  (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::segment_to_x#2
  (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::segment_to_y#2
  call spline_8segB 
  to:show_letter::@13
show_letter::@13: scope:[show_letter]  from show_letter::@3
  (byte) show_letter::angle#9 ← phi( show_letter::@3/(byte) show_letter::angle#11 )
  (byte) show_letter::i#9 ← phi( show_letter::@3/(byte) show_letter::i#11 )
  (signed word) show_letter::segment_to_y#7 ← phi( show_letter::@3/(signed word) show_letter::segment_to_y#2 )
  (signed word) show_letter::segment_to_x#7 ← phi( show_letter::@3/(signed word) show_letter::segment_to_x#2 )
  call bitmap_plot_spline_8seg 
  to:show_letter::@14
show_letter::@14: scope:[show_letter]  from show_letter::@13
  (byte) show_letter::angle#5 ← phi( show_letter::@13/(byte) show_letter::angle#9 )
  (byte) show_letter::i#6 ← phi( show_letter::@13/(byte) show_letter::i#9 )
  (signed word) show_letter::segment_to_y#3 ← phi( show_letter::@13/(signed word) show_letter::segment_to_y#7 )
  (signed word) show_letter::segment_to_x#3 ← phi( show_letter::@13/(signed word) show_letter::segment_to_x#7 )
  (signed word) show_letter::current_x#2 ← (signed word) show_letter::segment_to_x#3
  (signed word) show_letter::current_y#2 ← (signed word) show_letter::segment_to_y#3
  to:show_letter::@5
show_letter::@7: scope:[show_letter]  from show_letter::@6
  (byte) show_letter::angle#10 ← phi( show_letter::@6/(byte) show_letter::angle#12 )
  (byte) show_letter::i#10 ← phi( show_letter::@6/(byte) show_letter::i#12 )
  (signed word) show_letter::segment_to_y#4 ← phi( show_letter::@6/(signed word) show_letter::segment_to_y#6 )
  (signed word) show_letter::segment_to_x#4 ← phi( show_letter::@6/(signed word) show_letter::segment_to_x#6 )
  (signed word) show_letter::current_y#5 ← phi( show_letter::@6/(signed word) show_letter::current_y#6 )
  (signed word) show_letter::current_x#5 ← phi( show_letter::@6/(signed word) show_letter::current_x#6 )
  (word~) show_letter::$12 ← ((word)) (signed word) show_letter::current_x#5
  (word~) show_letter::$13 ← ((word)) (signed word) show_letter::current_y#5
  (word~) show_letter::$14 ← ((word)) (signed word) show_letter::segment_to_x#4
  (word~) show_letter::$15 ← ((word)) (signed word) show_letter::segment_to_y#4
  (word) bitmap_line::x1#0 ← (word~) show_letter::$12
  (word) bitmap_line::y1#0 ← (word~) show_letter::$13
  (word) bitmap_line::x2#0 ← (word~) show_letter::$14
  (word) bitmap_line::y2#0 ← (word~) show_letter::$15
  call bitmap_line 
  to:show_letter::@15
show_letter::@15: scope:[show_letter]  from show_letter::@7
  (byte) show_letter::angle#6 ← phi( show_letter::@7/(byte) show_letter::angle#10 )
  (byte) show_letter::i#7 ← phi( show_letter::@7/(byte) show_letter::i#10 )
  (signed word) show_letter::segment_to_y#5 ← phi( show_letter::@7/(signed word) show_letter::segment_to_y#4 )
  (signed word) show_letter::segment_to_x#5 ← phi( show_letter::@7/(signed word) show_letter::segment_to_x#4 )
  (signed word) show_letter::current_x#3 ← (signed word) show_letter::segment_to_x#5
  (signed word) show_letter::current_y#3 ← (signed word) show_letter::segment_to_y#5
  to:show_letter::@5
show_letter::@5: scope:[show_letter]  from show_letter::@14 show_letter::@15 show_letter::@2
  (signed word) show_letter::current_y#10 ← phi( show_letter::@14/(signed word) show_letter::current_y#2 show_letter::@15/(signed word) show_letter::current_y#3 show_letter::@2/(signed word) show_letter::current_y#1 )
  (signed word) show_letter::current_x#10 ← phi( show_letter::@14/(signed word) show_letter::current_x#2 show_letter::@15/(signed word) show_letter::current_x#3 show_letter::@2/(signed word) show_letter::current_x#1 )
  (byte) show_letter::angle#4 ← phi( show_letter::@14/(byte) show_letter::angle#5 show_letter::@15/(byte) show_letter::angle#6 show_letter::@2/(byte) show_letter::angle#7 )
  (byte) show_letter::i#5 ← phi( show_letter::@14/(byte) show_letter::i#6 show_letter::@15/(byte) show_letter::i#7 show_letter::@2/(byte) show_letter::i#8 )
  (byte) show_letter::i#1 ← (byte) show_letter::i#5 + rangenext(0,$15)
  (bool~) show_letter::$19 ← (byte) show_letter::i#1 != rangelast(0,$15)
  if((bool~) show_letter::$19) goto show_letter::@1
  to:show_letter::@return
show_letter::@return: scope:[show_letter]  from show_letter::@5
  return 
  to:@return

(void()) bitmap_plot_spline_8seg()
bitmap_plot_spline_8seg: scope:[bitmap_plot_spline_8seg]  from show_letter::@13
  (number~) bitmap_plot_spline_8seg::$6 ← (number) 0 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
  (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (number~) bitmap_plot_spline_8seg::$6)
  (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (number~) bitmap_plot_spline_8seg::$6)
  (byte) bitmap_plot_spline_8seg::n#0 ← (byte) 1
  to:bitmap_plot_spline_8seg::@1
bitmap_plot_spline_8seg::@1: scope:[bitmap_plot_spline_8seg]  from bitmap_plot_spline_8seg bitmap_plot_spline_8seg::@3
  (byte) bitmap_plot_spline_8seg::n#2 ← phi( bitmap_plot_spline_8seg/(byte) bitmap_plot_spline_8seg::n#0 bitmap_plot_spline_8seg::@3/(byte) bitmap_plot_spline_8seg::n#1 )
  (signed word) bitmap_plot_spline_8seg::current_y#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::@3/(signed word) bitmap_plot_spline_8seg::current_y#1 )
  (signed word) bitmap_plot_spline_8seg::current_x#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::@3/(signed word) bitmap_plot_spline_8seg::current_x#1 )
  (word~) bitmap_plot_spline_8seg::$0 ← ((word)) (signed word) bitmap_plot_spline_8seg::current_x#2
  (word~) bitmap_plot_spline_8seg::$1 ← ((word)) (signed word) bitmap_plot_spline_8seg::current_y#2
  (byte~) bitmap_plot_spline_8seg::$7 ← (byte) bitmap_plot_spline_8seg::n#2 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
  (word~) bitmap_plot_spline_8seg::$2 ← ((word)) *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) bitmap_plot_spline_8seg::$7)
  (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
  (word~) bitmap_plot_spline_8seg::$3 ← ((word)) *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8)
  (word) bitmap_line::x1#1 ← (word~) bitmap_plot_spline_8seg::$0
  (word) bitmap_line::y1#1 ← (word~) bitmap_plot_spline_8seg::$1
  (word) bitmap_line::x2#1 ← (word~) bitmap_plot_spline_8seg::$2
  (word) bitmap_line::y2#1 ← (word~) bitmap_plot_spline_8seg::$3
  call bitmap_line 
  to:bitmap_plot_spline_8seg::@3
bitmap_plot_spline_8seg::@3: scope:[bitmap_plot_spline_8seg]  from bitmap_plot_spline_8seg::@1
  (byte) bitmap_plot_spline_8seg::n#3 ← phi( bitmap_plot_spline_8seg::@1/(byte) bitmap_plot_spline_8seg::n#2 )
  (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#3 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
  (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) bitmap_plot_spline_8seg::$9)
  (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9)
  (byte) bitmap_plot_spline_8seg::n#1 ← (byte) bitmap_plot_spline_8seg::n#3 + rangenext(1,8)
  (bool~) bitmap_plot_spline_8seg::$5 ← (byte) bitmap_plot_spline_8seg::n#1 != rangelast(1,8)
  if((bool~) bitmap_plot_spline_8seg::$5) goto bitmap_plot_spline_8seg::@1
  to:bitmap_plot_spline_8seg::@return
bitmap_plot_spline_8seg::@return: scope:[bitmap_plot_spline_8seg]  from bitmap_plot_spline_8seg::@3
  return 
  to:@return

(struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
rotate: scope:[rotate]  from show_letter::@1 show_letter::@11
  (signed word) rotate::vector_y#4 ← phi( show_letter::@1/(signed word) rotate::vector_y#0 show_letter::@11/(signed word) rotate::vector_y#1 )
  (signed word) rotate::vector_x#2 ← phi( show_letter::@1/(signed word) rotate::vector_x#0 show_letter::@11/(signed word) rotate::vector_x#1 )
  (byte) rotate::angle#2 ← phi( show_letter::@1/(byte) rotate::angle#0 show_letter::@11/(byte) rotate::angle#1 )
  (signed word~) rotate::$0 ← ((signed word)) *((const signed byte*) COS + (byte) rotate::angle#2)
  (signed word) rotate::cos_a#0 ← (signed word~) rotate::$0
  (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0
  (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2
  call mulf16s 
  (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#1
  to:rotate::@2
rotate::@2: scope:[rotate]  from rotate
  (signed word) rotate::vector_x#5 ← phi( rotate/(signed word) rotate::vector_x#2 )
  (byte) rotate::angle#4 ← phi( rotate/(byte) rotate::angle#2 )
  (signed word) rotate::vector_y#2 ← phi( rotate/(signed word) rotate::vector_y#4 )
  (signed word) rotate::cos_a#1 ← phi( rotate/(signed word) rotate::cos_a#0 )
  (signed dword) mulf16s::return#7 ← phi( rotate/(signed dword) mulf16s::return#2 )
  (signed dword~) rotate::$1 ← (signed dword) mulf16s::return#7
  (signed word~) rotate::$2 ← ((signed word)) (signed dword~) rotate::$1
  (number~) rotate::$3 ← (signed word~) rotate::$2 * (number) 2
  (signed word) rotate::xr#0 ← (number~) rotate::$3
  (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#1
  (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2
  call mulf16s 
  (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#1
  to:rotate::@3
rotate::@3: scope:[rotate]  from rotate::@2
  (signed word) rotate::vector_x#4 ← phi( rotate::@2/(signed word) rotate::vector_x#5 )
  (signed word) rotate::xr#4 ← phi( rotate::@2/(signed word) rotate::xr#0 )
  (signed word) rotate::vector_y#3 ← phi( rotate::@2/(signed word) rotate::vector_y#2 )
  (byte) rotate::angle#3 ← phi( rotate::@2/(byte) rotate::angle#4 )
  (signed dword) mulf16s::return#8 ← phi( rotate::@2/(signed dword) mulf16s::return#3 )
  (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#8
  (signed word~) rotate::$5 ← ((signed word)) (signed dword~) rotate::$4
  (number~) rotate::$6 ← (signed word~) rotate::$5 * (number) 2
  (signed word) rotate::yr#0 ← (number~) rotate::$6
  (signed word~) rotate::$7 ← ((signed word)) *((const signed byte*) SIN + (byte) rotate::angle#3)
  (signed word) rotate::sin_a#0 ← (signed word~) rotate::$7
  (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0
  (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#3
  call mulf16s 
  (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#1
  to:rotate::@4
rotate::@4: scope:[rotate]  from rotate::@3
  (signed word) rotate::yr#3 ← phi( rotate::@3/(signed word) rotate::yr#0 )
  (signed word) rotate::vector_x#3 ← phi( rotate::@3/(signed word) rotate::vector_x#4 )
  (signed word) rotate::sin_a#1 ← phi( rotate::@3/(signed word) rotate::sin_a#0 )
  (signed word) rotate::xr#2 ← phi( rotate::@3/(signed word) rotate::xr#4 )
  (signed dword) mulf16s::return#9 ← phi( rotate::@3/(signed dword) mulf16s::return#4 )
  (signed dword~) rotate::$8 ← (signed dword) mulf16s::return#9
  (signed word~) rotate::$9 ← ((signed word)) (signed dword~) rotate::$8
  (number~) rotate::$10 ← (signed word~) rotate::$9 * (number) 2
  (signed word) rotate::xr#1 ← (signed word) rotate::xr#2 - (number~) rotate::$10
  (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#1
  (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#3
  call mulf16s 
  (signed dword) mulf16s::return#5 ← (signed dword) mulf16s::return#1
  to:rotate::@5
rotate::@5: scope:[rotate]  from rotate::@4
  (signed word) rotate::xr#3 ← phi( rotate::@4/(signed word) rotate::xr#1 )
  (signed word) rotate::yr#2 ← phi( rotate::@4/(signed word) rotate::yr#3 )
  (signed dword) mulf16s::return#10 ← phi( rotate::@4/(signed dword) mulf16s::return#5 )
  (signed dword~) rotate::$11 ← (signed dword) mulf16s::return#10
  (signed word~) rotate::$12 ← ((signed word)) (signed dword~) rotate::$11
  (number~) rotate::$13 ← (signed word~) rotate::$12 * (number) 2
  (signed word) rotate::yr#1 ← (signed word) rotate::yr#2 + (number~) rotate::$13
  (byte~) rotate::$14 ← > (signed word) rotate::xr#3
  (signed byte~) rotate::$15 ← ((signed byte)) (byte~) rotate::$14
  (signed word~) rotate::$16 ← ((signed word)) (signed byte~) rotate::$15
  (byte~) rotate::$17 ← > (signed word) rotate::yr#1
  (signed byte~) rotate::$18 ← ((signed byte)) (byte~) rotate::$17
  (signed word~) rotate::$19 ← ((signed word)) (signed byte~) rotate::$18
  (signed word) rotate::rotated_x#0 ← (signed word~) rotate::$16
  (signed word) rotate::rotated_y#0 ← (signed word~) rotate::$19
  (signed word) rotate::return_x#2 ← (signed word) rotate::rotated_x#0
  (signed word) rotate::return_y#2 ← (signed word) rotate::rotated_y#0
  (struct SplineVector16) rotate::return#0 ← struct-unwound {(signed word) rotate::return_x#2, (signed word) rotate::return_y#2}
  to:rotate::@return
rotate::@return: scope:[rotate]  from rotate::@5
  (signed word) rotate::return_y#6 ← phi( rotate::@5/(signed word) rotate::return_y#2 )
  (signed word) rotate::return_x#6 ← phi( rotate::@5/(signed word) rotate::return_x#2 )
  (signed word) rotate::return_x#3 ← (signed word) rotate::return_x#6
  (signed word) rotate::return_y#3 ← (signed word) rotate::return_y#6
  (struct SplineVector16) rotate::return#1 ← struct-unwound {(signed word) rotate::return_x#3, (signed word) rotate::return_y#3}
  return 
  to:@return
@65: scope:[]  from @8
  (byte*) bitmap_screen#15 ← phi( @8/(byte*) bitmap_screen#0 )
  (byte*) bitmap_gfx#15 ← phi( @8/(byte*) bitmap_gfx#0 )
  call main 
  to:@66
@66: scope:[]  from @65
  (byte*) bitmap_screen#10 ← phi( @65/(byte*) bitmap_screen#4 )
  (byte*) bitmap_gfx#10 ← phi( @65/(byte*) bitmap_gfx#4 )
  (byte*) bitmap_gfx#5 ← (byte*) bitmap_gfx#10
  (byte*) bitmap_screen#5 ← (byte*) bitmap_screen#10
  to:@end
@end: scope:[]  from @66

SYMBOL TABLE SSA
(label) @65
(label) @66
(label) @8
(label) @begin
(label) @end
(const byte*) BITMAP_GRAPHICS = (byte*)(number) $6000
(const byte*) BITMAP_SCREEN = (byte*)(number) $5c00
(const byte) BLACK = (byte) 0
(const byte*) CIA2_PORT_A = (byte*)(number) $dd00
(const byte*) CIA2_PORT_A_DDR = (byte*)(number) $dd02
(const signed byte*) COS = (const signed byte*) SIN+(number) $40
(const byte*) D011 = (byte*)(number) $d011
(const byte*) D018 = (byte*)(number) $d018
(const byte) LINE_TO = (byte) 2
(const byte) MOVE_TO = (byte) 0
(const byte) OFFSET_STRUCT_SEGMENT_TO = (byte) 1
(const byte) OFFSET_STRUCT_SEGMENT_TYPE = (byte) 0
(const byte) OFFSET_STRUCT_SEGMENT_VIA = (byte) 5
(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X = (byte) 0
(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y = (byte) 2
(const byte*) PRINT_SCREEN = (byte*)(number) $400
(const byte) RADIX::BINARY = (number) 2
(const byte) RADIX::DECIMAL = (number) $a
(const byte) RADIX::HEXADECIMAL = (number) $10
(const byte) RADIX::OCTAL = (number) 8
(const byte*) RASTER = (byte*)(number) $d012
(const signed byte*) SIN[(number) $140]  = kickasm {{ .for(var i=0;i<$140;i++)
        .byte >round($7fff*sin(i*2*PI/256))
 }}
(const byte) SIZEOF_STRUCT_SEGMENT = (byte) 9
(const byte) SIZEOF_STRUCT_SPLINEVECTOR16 = (byte) 4
(const struct SplineVector16*) SPLINE_8SEG[(number) 9]  = { fill( 9, 0) }
(const byte) SPLINE_TO = (byte) 1
(const byte) Segment::SegmentType::LINE_TO = (byte) 2
(const byte) Segment::SegmentType::MOVE_TO = (byte) 0
(const byte) Segment::SegmentType::SPLINE_TO = (byte) 1
(struct SplineVector16) Segment::to
(byte) Segment::type
(struct SplineVector16) Segment::via
(signed word) SplineVector16::x
(signed word) SplineVector16::y
(signed dword) SplineVector32::x
(signed dword) SplineVector32::y
(const byte) VIC_BMM = (byte) $20
(const byte) VIC_DEN = (byte) $10
(const byte) VIC_RSEL = (byte) 8
(const byte) WHITE = (byte) 1
(word()) abs_u16((word) abs_u16::w)
(byte~) abs_u16::$0
(number~) abs_u16::$1
(word~) abs_u16::$2
(bool~) abs_u16::$3
(label) abs_u16::@1
(label) abs_u16::@3
(label) abs_u16::@return
(word) abs_u16::return
(word) abs_u16::return#0
(word) abs_u16::return#1
(word) abs_u16::return#2
(word) abs_u16::return#3
(word) abs_u16::return#4
(word) abs_u16::return#5
(word) abs_u16::return#6
(word) abs_u16::return#7
(word) abs_u16::w
(word) abs_u16::w#0
(word) abs_u16::w#1
(word) abs_u16::w#2
(word) abs_u16::w#3
(word) abs_u16::w#4
(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
(number~) bitmap_clear::$0
(number~) bitmap_clear::$1
(label) bitmap_clear::@1
(label) bitmap_clear::@2
(label) bitmap_clear::@return
(byte) bitmap_clear::bgcol
(byte) bitmap_clear::bgcol#0
(byte) bitmap_clear::bgcol#1
(byte) bitmap_clear::bgcol#2
(byte) bitmap_clear::col
(byte) bitmap_clear::col#0
(byte) bitmap_clear::fgcol
(byte) bitmap_clear::fgcol#0
(byte) bitmap_clear::fgcol#1
(byte) bitmap_clear::fgcol#2
(byte*) bitmap_gfx
(byte*) bitmap_gfx#0
(byte*) bitmap_gfx#1
(byte*) bitmap_gfx#10
(byte*) bitmap_gfx#11
(byte*) bitmap_gfx#12
(byte*) bitmap_gfx#13
(byte*) bitmap_gfx#14
(byte*) bitmap_gfx#15
(byte*) bitmap_gfx#16
(byte*) bitmap_gfx#17
(byte*) bitmap_gfx#18
(byte*) bitmap_gfx#19
(byte*) bitmap_gfx#2
(byte*) bitmap_gfx#20
(byte*) bitmap_gfx#21
(byte*) bitmap_gfx#22
(byte*) bitmap_gfx#23
(byte*) bitmap_gfx#24
(byte*) bitmap_gfx#25
(byte*) bitmap_gfx#26
(byte*) bitmap_gfx#27
(byte*) bitmap_gfx#28
(byte*) bitmap_gfx#29
(byte*) bitmap_gfx#3
(byte*) bitmap_gfx#30
(byte*) bitmap_gfx#31
(byte*) bitmap_gfx#32
(byte*) bitmap_gfx#33
(byte*) bitmap_gfx#34
(byte*) bitmap_gfx#35
(byte*) bitmap_gfx#36
(byte*) bitmap_gfx#37
(byte*) bitmap_gfx#38
(byte*) bitmap_gfx#39
(byte*) bitmap_gfx#4
(byte*) bitmap_gfx#40
(byte*) bitmap_gfx#5
(byte*) bitmap_gfx#6
(byte*) bitmap_gfx#7
(byte*) bitmap_gfx#8
(byte*) bitmap_gfx#9
(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
(bool~) bitmap_init::$0
(bool~) bitmap_init::$1
(byte*~) bitmap_init::$10
(bool~) bitmap_init::$11
(bool~) bitmap_init::$2
(number~) bitmap_init::$3
(byte~) bitmap_init::$4
(number~) bitmap_init::$5
(byte~) bitmap_init::$6
(number~) bitmap_init::$7
(bool~) bitmap_init::$8
(bool~) bitmap_init::$9
(label) bitmap_init::@1
(label) bitmap_init::@2
(label) bitmap_init::@3
(label) bitmap_init::@4
(label) bitmap_init::@5
(label) bitmap_init::@6
(label) bitmap_init::@7
(label) bitmap_init::@return
(byte) bitmap_init::bits
(byte) bitmap_init::bits#0
(byte) bitmap_init::bits#1
(byte) bitmap_init::bits#2
(byte) bitmap_init::bits#3
(byte) bitmap_init::bits#4
(byte*) bitmap_init::gfx
(byte*) bitmap_init::gfx#0
(byte*) bitmap_init::gfx#1
(byte*) bitmap_init::gfx#2
(byte*) bitmap_init::gfx#3
(byte*) bitmap_init::gfx#4
(byte*) bitmap_init::gfx#5
(byte*) bitmap_init::screen
(byte*) bitmap_init::screen#0
(byte*) bitmap_init::screen#1
(byte) bitmap_init::x
(byte) bitmap_init::x#0
(byte) bitmap_init::x#1
(byte) bitmap_init::x#2
(byte) bitmap_init::x#3
(byte) bitmap_init::x#4
(byte) bitmap_init::y
(byte) bitmap_init::y#0
(byte) bitmap_init::y#1
(byte) bitmap_init::y#2
(byte) bitmap_init::y#3
(byte) bitmap_init::y#4
(byte*) bitmap_init::yoffs
(byte*) bitmap_init::yoffs#0
(byte*) bitmap_init::yoffs#1
(byte*) bitmap_init::yoffs#2
(byte*) bitmap_init::yoffs#3
(byte*) bitmap_init::yoffs#4
(void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2)
(word~) bitmap_line::$0
(word~) bitmap_line::$1
(word~) bitmap_line::$10
(word~) bitmap_line::$11
(bool~) bitmap_line::$12
(byte~) bitmap_line::$13
(byte~) bitmap_line::$15
(number~) bitmap_line::$17
(byte~) bitmap_line::$18
(word~) bitmap_line::$2
(bool~) bitmap_line::$20
(bool~) bitmap_line::$21
(bool~) bitmap_line::$22
(number~) bitmap_line::$23
(byte~) bitmap_line::$24
(bool~) bitmap_line::$26
(bool~) bitmap_line::$27
(bool~) bitmap_line::$28
(word~) bitmap_line::$3
(bool~) bitmap_line::$4
(bool~) bitmap_line::$5
(bool~) bitmap_line::$6
(bool~) bitmap_line::$7
(word~) bitmap_line::$8
(word~) bitmap_line::$9
(label) bitmap_line::@1
(label) bitmap_line::@12
(label) bitmap_line::@13
(label) bitmap_line::@14
(label) bitmap_line::@16
(label) bitmap_line::@17
(label) bitmap_line::@18
(label) bitmap_line::@19
(label) bitmap_line::@2
(label) bitmap_line::@20
(label) bitmap_line::@21
(label) bitmap_line::@22
(label) bitmap_line::@23
(label) bitmap_line::@3
(label) bitmap_line::@4
(label) bitmap_line::@6
(label) bitmap_line::@7
(label) bitmap_line::@8
(label) bitmap_line::@9
(label) bitmap_line::@return
(word) bitmap_line::dx
(word) bitmap_line::dx#0
(word) bitmap_line::dx#1
(word) bitmap_line::dx#10
(word) bitmap_line::dx#11
(word) bitmap_line::dx#12
(word) bitmap_line::dx#13
(word) bitmap_line::dx#14
(word) bitmap_line::dx#2
(word) bitmap_line::dx#3
(word) bitmap_line::dx#4
(word) bitmap_line::dx#5
(word) bitmap_line::dx#6
(word) bitmap_line::dx#7
(word) bitmap_line::dx#8
(word) bitmap_line::dx#9
(word) bitmap_line::dy
(word) bitmap_line::dy#0
(word) bitmap_line::dy#1
(word) bitmap_line::dy#10
(word) bitmap_line::dy#11
(word) bitmap_line::dy#12
(word) bitmap_line::dy#13
(word) bitmap_line::dy#2
(word) bitmap_line::dy#3
(word) bitmap_line::dy#4
(word) bitmap_line::dy#5
(word) bitmap_line::dy#6
(word) bitmap_line::dy#7
(word) bitmap_line::dy#8
(word) bitmap_line::dy#9
(word) bitmap_line::e
(word) bitmap_line::e#0
(word) bitmap_line::e#1
(word) bitmap_line::e#2
(word) bitmap_line::e#3
(word) bitmap_line::e#4
(word) bitmap_line::e#5
(word) bitmap_line::e#6
(word) bitmap_line::e1
(word) bitmap_line::e1#0
(word) bitmap_line::e1#1
(word) bitmap_line::e1#2
(word) bitmap_line::e1#3
(word) bitmap_line::e1#4
(word) bitmap_line::e1#5
(word) bitmap_line::e1#6
(word) bitmap_line::sx
(word) bitmap_line::sx#0
(word) bitmap_line::sx#1
(word) bitmap_line::sx#10
(word) bitmap_line::sx#11
(word) bitmap_line::sx#2
(word) bitmap_line::sx#3
(word) bitmap_line::sx#4
(word) bitmap_line::sx#5
(word) bitmap_line::sx#6
(word) bitmap_line::sx#7
(word) bitmap_line::sx#8
(word) bitmap_line::sx#9
(word) bitmap_line::sy
(word) bitmap_line::sy#0
(word) bitmap_line::sy#1
(word) bitmap_line::sy#10
(word) bitmap_line::sy#2
(word) bitmap_line::sy#3
(word) bitmap_line::sy#4
(word) bitmap_line::sy#5
(word) bitmap_line::sy#6
(word) bitmap_line::sy#7
(word) bitmap_line::sy#8
(word) bitmap_line::sy#9
(word) bitmap_line::x
(word) bitmap_line::x#0
(word) bitmap_line::x#1
(word) bitmap_line::x#10
(word) bitmap_line::x#11
(word) bitmap_line::x#12
(word) bitmap_line::x#13
(word) bitmap_line::x#14
(word) bitmap_line::x#15
(word) bitmap_line::x#16
(word) bitmap_line::x#17
(word) bitmap_line::x#18
(word) bitmap_line::x#19
(word) bitmap_line::x#2
(word) bitmap_line::x#3
(word) bitmap_line::x#4
(word) bitmap_line::x#5
(word) bitmap_line::x#6
(word) bitmap_line::x#7
(word) bitmap_line::x#8
(word) bitmap_line::x#9
(word) bitmap_line::x1
(word) bitmap_line::x1#0
(word) bitmap_line::x1#1
(word) bitmap_line::x1#2
(word) bitmap_line::x1#3
(word) bitmap_line::x1#4
(word) bitmap_line::x1#5
(word) bitmap_line::x2
(word) bitmap_line::x2#0
(word) bitmap_line::x2#1
(word) bitmap_line::x2#10
(word) bitmap_line::x2#11
(word) bitmap_line::x2#12
(word) bitmap_line::x2#2
(word) bitmap_line::x2#3
(word) bitmap_line::x2#4
(word) bitmap_line::x2#5
(word) bitmap_line::x2#6
(word) bitmap_line::x2#7
(word) bitmap_line::x2#8
(word) bitmap_line::x2#9
(word) bitmap_line::y
(word) bitmap_line::y#0
(word) bitmap_line::y#1
(word) bitmap_line::y#10
(word) bitmap_line::y#11
(word) bitmap_line::y#12
(word) bitmap_line::y#13
(word) bitmap_line::y#14
(word) bitmap_line::y#15
(word) bitmap_line::y#16
(word) bitmap_line::y#17
(word) bitmap_line::y#18
(word) bitmap_line::y#19
(word) bitmap_line::y#2
(word) bitmap_line::y#3
(word) bitmap_line::y#4
(word) bitmap_line::y#5
(word) bitmap_line::y#6
(word) bitmap_line::y#7
(word) bitmap_line::y#8
(word) bitmap_line::y#9
(word) bitmap_line::y1
(word) bitmap_line::y1#0
(word) bitmap_line::y1#1
(word) bitmap_line::y1#2
(word) bitmap_line::y1#3
(word) bitmap_line::y1#4
(word) bitmap_line::y1#5
(word) bitmap_line::y1#6
(word) bitmap_line::y2
(word) bitmap_line::y2#0
(word) bitmap_line::y2#1
(word) bitmap_line::y2#10
(word) bitmap_line::y2#11
(word) bitmap_line::y2#12
(word) bitmap_line::y2#2
(word) bitmap_line::y2#3
(word) bitmap_line::y2#4
(word) bitmap_line::y2#5
(word) bitmap_line::y2#6
(word) bitmap_line::y2#7
(word) bitmap_line::y2#8
(word) bitmap_line::y2#9
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
(byte*~) bitmap_plot::$0
(number~) bitmap_plot::$1
(byte~) bitmap_plot::$2
(label) bitmap_plot::@return
(byte*) bitmap_plot::plotter
(byte*) bitmap_plot::plotter#0
(byte*) bitmap_plot::plotter#1
(word) bitmap_plot::x
(word) bitmap_plot::x#0
(word) bitmap_plot::x#1
(word) bitmap_plot::x#2
(word) bitmap_plot::x#3
(word) bitmap_plot::x#4
(byte) bitmap_plot::y
(byte) bitmap_plot::y#0
(byte) bitmap_plot::y#1
(byte) bitmap_plot::y#2
(byte) bitmap_plot::y#3
(byte) bitmap_plot::y#4
(const byte*) bitmap_plot_bit[(number) $100]  = { fill( $100, 0) }
(void()) bitmap_plot_spline_8seg()
(word~) bitmap_plot_spline_8seg::$0
(word~) bitmap_plot_spline_8seg::$1
(word~) bitmap_plot_spline_8seg::$2
(word~) bitmap_plot_spline_8seg::$3
(bool~) bitmap_plot_spline_8seg::$5
(number~) bitmap_plot_spline_8seg::$6
(byte~) bitmap_plot_spline_8seg::$7
(byte~) bitmap_plot_spline_8seg::$8
(byte~) bitmap_plot_spline_8seg::$9
(label) bitmap_plot_spline_8seg::@1
(label) bitmap_plot_spline_8seg::@3
(label) bitmap_plot_spline_8seg::@return
(signed word) bitmap_plot_spline_8seg::current_x
(signed word) bitmap_plot_spline_8seg::current_x#0
(signed word) bitmap_plot_spline_8seg::current_x#1
(signed word) bitmap_plot_spline_8seg::current_x#2
(signed word) bitmap_plot_spline_8seg::current_y
(signed word) bitmap_plot_spline_8seg::current_y#0
(signed word) bitmap_plot_spline_8seg::current_y#1
(signed word) bitmap_plot_spline_8seg::current_y#2
(byte) bitmap_plot_spline_8seg::n
(byte) bitmap_plot_spline_8seg::n#0
(byte) bitmap_plot_spline_8seg::n#1
(byte) bitmap_plot_spline_8seg::n#2
(byte) bitmap_plot_spline_8seg::n#3
(const byte*) bitmap_plot_yhi[(number) $100]  = { fill( $100, 0) }
(const byte*) bitmap_plot_ylo[(number) $100]  = { fill( $100, 0) }
(byte*) bitmap_screen
(byte*) bitmap_screen#0
(byte*) bitmap_screen#1
(byte*) bitmap_screen#10
(byte*) bitmap_screen#11
(byte*) bitmap_screen#12
(byte*) bitmap_screen#13
(byte*) bitmap_screen#14
(byte*) bitmap_screen#15
(byte*) bitmap_screen#16
(byte*) bitmap_screen#17
(byte*) bitmap_screen#18
(byte*) bitmap_screen#19
(byte*) bitmap_screen#2
(byte*) bitmap_screen#20
(byte*) bitmap_screen#21
(byte*) bitmap_screen#22
(byte*) bitmap_screen#23
(byte*) bitmap_screen#24
(byte*) bitmap_screen#25
(byte*) bitmap_screen#26
(byte*) bitmap_screen#27
(byte*) bitmap_screen#28
(byte*) bitmap_screen#29
(byte*) bitmap_screen#3
(byte*) bitmap_screen#30
(byte*) bitmap_screen#31
(byte*) bitmap_screen#32
(byte*) bitmap_screen#33
(byte*) bitmap_screen#34
(byte*) bitmap_screen#35
(byte*) bitmap_screen#36
(byte*) bitmap_screen#37
(byte*) bitmap_screen#38
(byte*) bitmap_screen#39
(byte*) bitmap_screen#4
(byte*) bitmap_screen#5
(byte*) bitmap_screen#6
(byte*) bitmap_screen#7
(byte*) bitmap_screen#8
(byte*) bitmap_screen#9
(const struct Segment*) letter_c[(number) $16]  = { { type: (const byte) MOVE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $59, y: (signed word) $b6 }, via: { x: (signed word) $67, y: (signed word) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3b, y: (signed word) $c3 }, via: { x: (signed word) $4b, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $17, y: (signed word) $b2 }, via: { x: (signed word) $26, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) 9, y: (signed word) $84 }, via: { x: (signed word) 9, y: (signed word) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $19, y: (signed word) $57 }, via: { x: (signed word) 9, y: (signed word) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $41, y: (signed word) $45 }, via: { x: (signed word) $2a, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $4f }, via: { x: (signed word) $52, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $69, y: (signed word) $62 }, via: { x: (signed word) $69, y: (signed word) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $66, y: (signed word) $6a }, via: { x: (signed word) $69, y: (signed word) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $6d }, via: { x: (signed word) $62, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $51, y: (signed word) $68 }, via: { x: (signed word) $55, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $4e, y: (signed word) $5d }, via: { x: (signed word) $4f, y: (signed word) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $49, y: (signed word) $52 }, via: { x: (signed word) $4e, y: (signed word) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3d, y: (signed word) $4e }, via: { x: (signed word) $45, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $58 }, via: { x: (signed word) $30, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $1d, y: (signed word) $79 }, via: { x: (signed word) $1d, y: (signed word) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $9e }, via: { x: (signed word) $1d, y: (signed word) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $44, y: (signed word) $ae }, via: { x: (signed word) $32, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5b, y: (signed word) $a6 }, via: { x: (signed word) $50, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $68, y: (signed word) $90 }, via: { x: (signed word) $62, y: (signed word) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } } }
(void()) main()
(byte~) main::$4
(bool~) main::$7
(bool~) main::$8
(bool~) main::$9
(label) main::@1
(label) main::@13
(label) main::@14
(label) main::@19
(label) main::@2
(label) main::@20
(label) main::@21
(label) main::@22
(label) main::@23
(label) main::@24
(label) main::@25
(label) main::@5
(label) main::@7
(label) main::@8
(label) main::@9
(label) main::@return
(byte) main::angle
(byte) main::angle#0
(byte) main::angle#1
(byte) main::angle#2
(byte) main::angle#3
(byte) main::angle#4
(byte) main::angle#5
(byte) main::angle#6
(byte) main::angle#7
(byte) main::angle#8
(byte) main::angle#9
(label) main::toD0181
(word~) main::toD0181_$0
(number~) main::toD0181_$1
(number~) main::toD0181_$2
(number~) main::toD0181_$3
(word~) main::toD0181_$4
(byte~) main::toD0181_$5
(number~) main::toD0181_$6
(number~) main::toD0181_$7
(number~) main::toD0181_$8
(label) main::toD0181_@return
(byte*) main::toD0181_gfx
(byte*) main::toD0181_gfx#0
(byte*) main::toD0181_gfx#1
(byte) main::toD0181_return
(byte) main::toD0181_return#0
(byte) main::toD0181_return#1
(byte) main::toD0181_return#2
(byte) main::toD0181_return#3
(byte*) main::toD0181_screen
(byte*) main::toD0181_screen#0
(byte*) main::toD0181_screen#1
(label) main::vicSelectGfxBank1
(byte~) main::vicSelectGfxBank1_$0
(label) main::vicSelectGfxBank1_@1
(byte*) main::vicSelectGfxBank1_gfx
(byte*) main::vicSelectGfxBank1_gfx#0
(byte*) main::vicSelectGfxBank1_gfx#1
(label) main::vicSelectGfxBank1_toDd001
(word~) main::vicSelectGfxBank1_toDd001_$0
(byte~) main::vicSelectGfxBank1_toDd001_$1
(number~) main::vicSelectGfxBank1_toDd001_$2
(number~) main::vicSelectGfxBank1_toDd001_$3
(label) main::vicSelectGfxBank1_toDd001_@return
(byte*) main::vicSelectGfxBank1_toDd001_gfx
(byte*) main::vicSelectGfxBank1_toDd001_gfx#0
(byte*) main::vicSelectGfxBank1_toDd001_gfx#1
(byte) main::vicSelectGfxBank1_toDd001_return
(byte) main::vicSelectGfxBank1_toDd001_return#0
(byte) main::vicSelectGfxBank1_toDd001_return#1
(byte) main::vicSelectGfxBank1_toDd001_return#2
(byte) main::vicSelectGfxBank1_toDd001_return#3
(byte) main::w
(byte) main::w#0
(byte) main::w#1
(byte) main::w#2
(byte) main::w#3
(byte) main::w#4
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(bool~) memset::$0
(bool~) memset::$1
(byte*~) memset::$2
(byte*~) memset::$3
(bool~) memset::$4
(label) memset::@1
(label) memset::@2
(label) memset::@4
(label) memset::@5
(label) memset::@return
(byte) memset::c
(byte) memset::c#0
(byte) memset::c#1
(byte) memset::c#2
(byte) memset::c#3
(byte) memset::c#4
(byte) memset::c#5
(byte*) memset::dst
(byte*) memset::dst#0
(byte*) memset::dst#1
(byte*) memset::dst#2
(byte*) memset::dst#3
(byte*) memset::end
(byte*) memset::end#0
(byte*) memset::end#1
(byte*) memset::end#2
(word) memset::num
(word) memset::num#0
(word) memset::num#1
(word) memset::num#2
(word) memset::num#3
(void*) memset::return
(void*) memset::return#0
(void*) memset::return#1
(void*) memset::return#2
(void*) memset::return#3
(void*) memset::return#4
(void*) memset::str
(void*) memset::str#0
(void*) memset::str#1
(void*) memset::str#2
(void*) memset::str#3
(void*) memset::str#4
(void*) memset::str#5
(void*) memset::str#6
(signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b)
(word~) mulf16s::$0
(word~) mulf16s::$1
(word~) mulf16s::$10
(word~) mulf16s::$11
(word~) mulf16s::$13
(word~) mulf16s::$14
(word~) mulf16s::$15
(word~) mulf16s::$16
(word~) mulf16s::$17
(dword~) mulf16s::$2
(bool~) mulf16s::$3
(bool~) mulf16s::$4
(bool~) mulf16s::$5
(bool~) mulf16s::$6
(signed dword~) mulf16s::$7
(word~) mulf16s::$9
(label) mulf16s::@1
(label) mulf16s::@2
(label) mulf16s::@3
(label) mulf16s::@4
(label) mulf16s::@6
(label) mulf16s::@return
(signed word) mulf16s::a
(signed word) mulf16s::a#0
(signed word) mulf16s::a#1
(signed word) mulf16s::a#2
(signed word) mulf16s::a#3
(signed word) mulf16s::a#4
(signed word) mulf16s::a#5
(signed word) mulf16s::a#6
(signed word) mulf16s::a#7
(signed word) mulf16s::a#8
(signed word) mulf16s::b
(signed word) mulf16s::b#0
(signed word) mulf16s::b#1
(signed word) mulf16s::b#2
(signed word) mulf16s::b#3
(signed word) mulf16s::b#4
(signed word) mulf16s::b#5
(signed word) mulf16s::b#6
(signed word) mulf16s::b#7
(dword) mulf16s::m
(dword) mulf16s::m#0
(dword) mulf16s::m#1
(dword) mulf16s::m#2
(dword) mulf16s::m#3
(dword) mulf16s::m#4
(dword) mulf16s::m#5
(dword) mulf16s::m#6
(signed dword) mulf16s::return
(signed dword) mulf16s::return#0
(signed dword) mulf16s::return#1
(signed dword) mulf16s::return#10
(signed dword) mulf16s::return#2
(signed dword) mulf16s::return#3
(signed dword) mulf16s::return#4
(signed dword) mulf16s::return#5
(signed dword) mulf16s::return#6
(signed dword) mulf16s::return#7
(signed dword) mulf16s::return#8
(signed dword) mulf16s::return#9
(dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b)
(label) mulf16u::@return
(word) mulf16u::a
(word) mulf16u::a#0
(word) mulf16u::a#1
(word) mulf16u::b
(word) mulf16u::b#0
(word) mulf16u::b#1
(const word*) mulf16u::memA = (word*)(number) $f8
(const word*) mulf16u::memB = (word*)(number) $fa
(const dword*) mulf16u::memR = (dword*)(number) $fc
(dword) mulf16u::return
(dword) mulf16u::return#0
(dword) mulf16u::return#1
(dword) mulf16u::return#2
(dword) mulf16u::return#3
(dword) mulf16u::return#4
(void()) mulf_init()
(bool~) mulf_init::$0
(number~) mulf_init::$1
(bool~) mulf_init::$10
(bool~) mulf_init::$2
(bool~) mulf_init::$3
(byte~) mulf_init::$4
(byte~) mulf_init::$5
(word~) mulf_init::$6
(bool~) mulf_init::$7
(byte~) mulf_init::$8
(bool~) mulf_init::$9
(label) mulf_init::@1
(label) mulf_init::@10
(label) mulf_init::@11
(label) mulf_init::@12
(label) mulf_init::@15
(label) mulf_init::@2
(label) mulf_init::@3
(label) mulf_init::@4
(label) mulf_init::@7
(label) mulf_init::@9
(label) mulf_init::@return
(byte) mulf_init::c
(byte) mulf_init::c#0
(byte) mulf_init::c#1
(byte) mulf_init::c#2
(byte) mulf_init::c#3
(byte) mulf_init::c#4
(byte) mulf_init::c#5
(byte) mulf_init::dir
(byte) mulf_init::dir#0
(byte) mulf_init::dir#1
(byte) mulf_init::dir#2
(byte) mulf_init::dir#3
(byte) mulf_init::dir#4
(word) mulf_init::sqr
(word) mulf_init::sqr#0
(word) mulf_init::sqr#1
(word) mulf_init::sqr#2
(word) mulf_init::sqr#3
(word) mulf_init::sqr#4
(word) mulf_init::sqr#5
(word) mulf_init::sqr#6
(byte*) mulf_init::sqr1_hi
(byte*) mulf_init::sqr1_hi#0
(byte*) mulf_init::sqr1_hi#1
(byte*) mulf_init::sqr1_hi#2
(byte*) mulf_init::sqr1_hi#3
(byte*) mulf_init::sqr1_hi#4
(byte*) mulf_init::sqr1_hi#5
(byte*) mulf_init::sqr1_lo
(byte*) mulf_init::sqr1_lo#0
(byte*) mulf_init::sqr1_lo#1
(byte*) mulf_init::sqr1_lo#2
(byte*) mulf_init::sqr1_lo#3
(byte*) mulf_init::sqr1_lo#4
(byte*) mulf_init::sqr1_lo#5
(byte*) mulf_init::sqr2_hi
(byte*) mulf_init::sqr2_hi#0
(byte*) mulf_init::sqr2_hi#1
(byte*) mulf_init::sqr2_hi#2
(byte*) mulf_init::sqr2_hi#3
(byte*) mulf_init::sqr2_hi#4
(byte*) mulf_init::sqr2_hi#5
(byte*) mulf_init::sqr2_lo
(byte*) mulf_init::sqr2_lo#0
(byte*) mulf_init::sqr2_lo#1
(byte*) mulf_init::sqr2_lo#2
(byte*) mulf_init::sqr2_lo#3
(byte*) mulf_init::sqr2_lo#4
(byte*) mulf_init::sqr2_lo#5
(byte) mulf_init::x_2
(byte) mulf_init::x_2#0
(byte) mulf_init::x_2#1
(byte) mulf_init::x_2#2
(byte) mulf_init::x_2#3
(byte) mulf_init::x_2#4
(byte) mulf_init::x_2#5
(byte) mulf_init::x_255
(byte) mulf_init::x_255#0
(byte) mulf_init::x_255#1
(byte) mulf_init::x_255#2
(byte) mulf_init::x_255#3
(byte) mulf_init::x_255#4
(byte) mulf_init::x_255#5
(const byte*) mulf_sqr1_hi[(number) $200]  = { fill( $200, 0) }
(const byte*) mulf_sqr1_lo[(number) $200]  = { fill( $200, 0) }
(const byte*) mulf_sqr2_hi[(number) $200]  = { fill( $200, 0) }
(const byte*) mulf_sqr2_lo[(number) $200]  = { fill( $200, 0) }
(struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
(signed word~) rotate::$0
(signed dword~) rotate::$1
(number~) rotate::$10
(signed dword~) rotate::$11
(signed word~) rotate::$12
(number~) rotate::$13
(byte~) rotate::$14
(signed byte~) rotate::$15
(signed word~) rotate::$16
(byte~) rotate::$17
(signed byte~) rotate::$18
(signed word~) rotate::$19
(signed word~) rotate::$2
(number~) rotate::$3
(signed dword~) rotate::$4
(signed word~) rotate::$5
(number~) rotate::$6
(signed word~) rotate::$7
(signed dword~) rotate::$8
(signed word~) rotate::$9
(label) rotate::@2
(label) rotate::@3
(label) rotate::@4
(label) rotate::@5
(label) rotate::@return
(byte) rotate::angle
(byte) rotate::angle#0
(byte) rotate::angle#1
(byte) rotate::angle#2
(byte) rotate::angle#3
(byte) rotate::angle#4
(signed word) rotate::cos_a
(signed word) rotate::cos_a#0
(signed word) rotate::cos_a#1
(struct SplineVector16) rotate::return
(struct SplineVector16) rotate::return#0
(struct SplineVector16) rotate::return#1
(signed word) rotate::return_x
(signed word) rotate::return_x#0
(signed word) rotate::return_x#1
(signed word) rotate::return_x#2
(signed word) rotate::return_x#3
(signed word) rotate::return_x#4
(signed word) rotate::return_x#5
(signed word) rotate::return_x#6
(signed word) rotate::return_y
(signed word) rotate::return_y#0
(signed word) rotate::return_y#1
(signed word) rotate::return_y#2
(signed word) rotate::return_y#3
(signed word) rotate::return_y#4
(signed word) rotate::return_y#5
(signed word) rotate::return_y#6
(signed word) rotate::rotated_x
(signed word) rotate::rotated_x#0
(signed word) rotate::rotated_y
(signed word) rotate::rotated_y#0
(signed word) rotate::sin_a
(signed word) rotate::sin_a#0
(signed word) rotate::sin_a#1
(struct SplineVector16) rotate::vector
(signed word) rotate::vector_x
(signed word) rotate::vector_x#0
(signed word) rotate::vector_x#1
(signed word) rotate::vector_x#2
(signed word) rotate::vector_x#3
(signed word) rotate::vector_x#4
(signed word) rotate::vector_x#5
(signed word) rotate::vector_y
(signed word) rotate::vector_y#0
(signed word) rotate::vector_y#1
(signed word) rotate::vector_y#2
(signed word) rotate::vector_y#3
(signed word) rotate::vector_y#4
(signed word) rotate::xr
(signed word) rotate::xr#0
(signed word) rotate::xr#1
(signed word) rotate::xr#2
(signed word) rotate::xr#3
(signed word) rotate::xr#4
(signed word) rotate::yr
(signed word) rotate::yr#0
(signed word) rotate::yr#1
(signed word) rotate::yr#2
(signed word) rotate::yr#3
(word()) sgn_u16((word) sgn_u16::w)
(byte~) sgn_u16::$0
(number~) sgn_u16::$1
(bool~) sgn_u16::$2
(label) sgn_u16::@1
(label) sgn_u16::@3
(label) sgn_u16::@return
(word) sgn_u16::return
(word) sgn_u16::return#0
(word) sgn_u16::return#1
(word) sgn_u16::return#2
(word) sgn_u16::return#3
(word) sgn_u16::return#4
(word) sgn_u16::return#5
(word) sgn_u16::return#6
(word) sgn_u16::return#7
(word) sgn_u16::w
(word) sgn_u16::w#0
(word) sgn_u16::w#1
(word) sgn_u16::w#2
(void()) show_letter((byte) show_letter::angle)
(number~) show_letter::$0
(number~) show_letter::$1
(bool~) show_letter::$10
(bool~) show_letter::$11
(word~) show_letter::$12
(word~) show_letter::$13
(word~) show_letter::$14
(word~) show_letter::$15
(bool~) show_letter::$19
(struct SplineVector16~) show_letter::$2
(byte~) show_letter::$20
(byte~) show_letter::$21
(byte~) show_letter::$22
(signed word~) show_letter::$2_x
(signed word~) show_letter::$2_y
(number~) show_letter::$3
(number~) show_letter::$4
(number~) show_letter::$5
(number~) show_letter::$6
(struct SplineVector16~) show_letter::$7
(signed word~) show_letter::$7_x
(signed word~) show_letter::$7_y
(number~) show_letter::$8
(number~) show_letter::$9
(label) show_letter::@1
(label) show_letter::@11
(label) show_letter::@12
(label) show_letter::@13
(label) show_letter::@14
(label) show_letter::@15
(label) show_letter::@2
(label) show_letter::@3
(label) show_letter::@5
(label) show_letter::@6
(label) show_letter::@7
(label) show_letter::@return
(byte) show_letter::angle
(byte) show_letter::angle#0
(byte) show_letter::angle#1
(byte) show_letter::angle#10
(byte) show_letter::angle#11
(byte) show_letter::angle#12
(byte) show_letter::angle#2
(byte) show_letter::angle#3
(byte) show_letter::angle#4
(byte) show_letter::angle#5
(byte) show_letter::angle#6
(byte) show_letter::angle#7
(byte) show_letter::angle#8
(byte) show_letter::angle#9
(signed word) show_letter::current_x
(signed word) show_letter::current_x#0
(signed word) show_letter::current_x#1
(signed word) show_letter::current_x#10
(signed word) show_letter::current_x#2
(signed word) show_letter::current_x#3
(signed word) show_letter::current_x#4
(signed word) show_letter::current_x#5
(signed word) show_letter::current_x#6
(signed word) show_letter::current_x#7
(signed word) show_letter::current_x#8
(signed word) show_letter::current_x#9
(signed word) show_letter::current_y
(signed word) show_letter::current_y#0
(signed word) show_letter::current_y#1
(signed word) show_letter::current_y#10
(signed word) show_letter::current_y#2
(signed word) show_letter::current_y#3
(signed word) show_letter::current_y#4
(signed word) show_letter::current_y#5
(signed word) show_letter::current_y#6
(signed word) show_letter::current_y#7
(signed word) show_letter::current_y#8
(signed word) show_letter::current_y#9
(byte) show_letter::i
(byte) show_letter::i#0
(byte) show_letter::i#1
(byte) show_letter::i#10
(byte) show_letter::i#11
(byte) show_letter::i#12
(byte) show_letter::i#2
(byte) show_letter::i#3
(byte) show_letter::i#4
(byte) show_letter::i#5
(byte) show_letter::i#6
(byte) show_letter::i#7
(byte) show_letter::i#8
(byte) show_letter::i#9
(struct SplineVector16) show_letter::segment_to
(signed word) show_letter::segment_to_x
(signed word) show_letter::segment_to_x#0
(signed word) show_letter::segment_to_x#1
(signed word) show_letter::segment_to_x#2
(signed word) show_letter::segment_to_x#3
(signed word) show_letter::segment_to_x#4
(signed word) show_letter::segment_to_x#5
(signed word) show_letter::segment_to_x#6
(signed word) show_letter::segment_to_x#7
(signed word) show_letter::segment_to_y
(signed word) show_letter::segment_to_y#0
(signed word) show_letter::segment_to_y#1
(signed word) show_letter::segment_to_y#2
(signed word) show_letter::segment_to_y#3
(signed word) show_letter::segment_to_y#4
(signed word) show_letter::segment_to_y#5
(signed word) show_letter::segment_to_y#6
(signed word) show_letter::segment_to_y#7
(byte) show_letter::segment_type
(byte) show_letter::segment_type#0
(byte) show_letter::segment_type#1
(struct SplineVector16) show_letter::segment_via
(signed word) show_letter::segment_via_x
(signed word) show_letter::segment_via_x#0
(signed word) show_letter::segment_via_x#1
(signed word) show_letter::segment_via_x#2
(signed word) show_letter::segment_via_y
(signed word) show_letter::segment_via_y#0
(signed word) show_letter::segment_via_y#1
(signed word) show_letter::segment_via_y#2
(signed word) show_letter::to_x
(signed word) show_letter::to_x#0
(signed word) show_letter::to_x#1
(signed word) show_letter::to_x#2
(signed word) show_letter::to_x#3
(signed word) show_letter::to_x#4
(signed word) show_letter::to_y
(signed word) show_letter::to_y#0
(signed word) show_letter::to_y#1
(signed word) show_letter::to_y#2
(signed word) show_letter::to_y#3
(signed word) show_letter::to_y#4
(signed word) show_letter::via_x
(signed word) show_letter::via_x#0
(signed word) show_letter::via_x#1
(signed word) show_letter::via_x#2
(signed word) show_letter::via_x#3
(signed word) show_letter::via_y
(signed word) show_letter::via_y#0
(signed word) show_letter::via_y#1
(signed word) show_letter::via_y#2
(signed word) show_letter::via_y#3
(void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
(number~) spline_8segB::$0
(number~) spline_8segB::$1
(number~) spline_8segB::$10
(number~) spline_8segB::$11
(number~) spline_8segB::$12
(number~) spline_8segB::$13
(number~) spline_8segB::$14
(number~) spline_8segB::$15
(number~) spline_8segB::$16
(number~) spline_8segB::$17
(number~) spline_8segB::$18
(number~) spline_8segB::$19
(number~) spline_8segB::$2
(number~) spline_8segB::$20
(number~) spline_8segB::$21
(number~) spline_8segB::$22
(number~) spline_8segB::$23
(number~) spline_8segB::$24
(number~) spline_8segB::$25
(signed word~) spline_8segB::$26
(signed word~) spline_8segB::$27
(signed word~) spline_8segB::$28
(signed word~) spline_8segB::$29
(number~) spline_8segB::$3
(bool~) spline_8segB::$30
(byte~) spline_8segB::$31
(number~) spline_8segB::$32
(number~) spline_8segB::$4
(number~) spline_8segB::$5
(signed word~) spline_8segB::$6
(number~) spline_8segB::$7
(signed word~) spline_8segB::$8
(number~) spline_8segB::$9
(label) spline_8segB::@1
(label) spline_8segB::@2
(label) spline_8segB::@return
(signed word) spline_8segB::a_x
(signed word) spline_8segB::a_x#0
(signed word) spline_8segB::a_y
(signed word) spline_8segB::a_y#0
(signed word) spline_8segB::b_x
(signed word) spline_8segB::b_x#0
(signed word) spline_8segB::b_y
(signed word) spline_8segB::b_y#0
(signed word) spline_8segB::i_x
(signed word) spline_8segB::i_x#0
(signed word) spline_8segB::i_x#1
(signed word) spline_8segB::i_x#2
(signed word) spline_8segB::i_y
(signed word) spline_8segB::i_y#0
(signed word) spline_8segB::i_y#1
(signed word) spline_8segB::i_y#2
(signed word) spline_8segB::j_x
(signed word) spline_8segB::j_x#0
(signed word) spline_8segB::j_x#1
(signed word) spline_8segB::j_y
(signed word) spline_8segB::j_y#0
(signed word) spline_8segB::j_y#1
(byte) spline_8segB::n
(byte) spline_8segB::n#0
(byte) spline_8segB::n#1
(byte) spline_8segB::n#2
(struct SplineVector16) spline_8segB::p0
(signed word) spline_8segB::p0_x
(signed word) spline_8segB::p0_x#0
(signed word) spline_8segB::p0_x#1
(signed word) spline_8segB::p0_y
(signed word) spline_8segB::p0_y#0
(signed word) spline_8segB::p0_y#1
(struct SplineVector16) spline_8segB::p1
(signed word) spline_8segB::p1_x
(signed word) spline_8segB::p1_x#0
(signed word) spline_8segB::p1_x#1
(signed word) spline_8segB::p1_y
(signed word) spline_8segB::p1_y#0
(signed word) spline_8segB::p1_y#1
(struct SplineVector16) spline_8segB::p2
(signed word) spline_8segB::p2_x
(signed word) spline_8segB::p2_x#0
(signed word) spline_8segB::p2_x#1
(signed word) spline_8segB::p2_y
(signed word) spline_8segB::p2_y#0
(signed word) spline_8segB::p2_y#1
(signed word) spline_8segB::p_x
(signed word) spline_8segB::p_x#0
(signed word) spline_8segB::p_x#1
(signed word) spline_8segB::p_x#2
(signed word) spline_8segB::p_x#3
(signed word) spline_8segB::p_y
(signed word) spline_8segB::p_y#0
(signed word) spline_8segB::p_y#1
(signed word) spline_8segB::p_y#2
(signed word) spline_8segB::p_y#3

Fixing inline constructor with bitmap_plot::$3 ← (byte)*(bitmap_plot_yhi + bitmap_plot::y#4) w= (byte)*(bitmap_plot_ylo + bitmap_plot::y#4)
Successful SSA optimization Pass2FixInlineConstructors
Adding number conversion cast (unumber) $40 in 
Adding number conversion cast (snumber) 2 in (number~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#1 * (number) 2
Adding number conversion cast (snumber) spline_8segB::$0 in (number~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#1 * (snumber)(number) 2
Adding number conversion cast (snumber) spline_8segB::$1 in (number~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#1 - (snumber~) spline_8segB::$0
Adding number conversion cast (snumber) spline_8segB::$2 in (number~) spline_8segB::$2 ← (snumber~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#1
Adding number conversion cast (snumber) 2 in (number~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#1 * (number) 2
Adding number conversion cast (snumber) spline_8segB::$3 in (number~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#1 * (snumber)(number) 2
Adding number conversion cast (snumber) spline_8segB::$4 in (number~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#1 - (snumber~) spline_8segB::$3
Adding number conversion cast (snumber) spline_8segB::$5 in (number~) spline_8segB::$5 ← (snumber~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#1
Adding number conversion cast (snumber) 2 in (number~) spline_8segB::$7 ← (signed word~) spline_8segB::$6 * (number) 2
Adding number conversion cast (snumber) spline_8segB::$7 in (number~) spline_8segB::$7 ← (signed word~) spline_8segB::$6 * (snumber)(number) 2
Adding number conversion cast (snumber) 2 in (number~) spline_8segB::$9 ← (signed word~) spline_8segB::$8 * (number) 2
Adding number conversion cast (snumber) spline_8segB::$9 in (number~) spline_8segB::$9 ← (signed word~) spline_8segB::$8 * (snumber)(number) 2
Adding number conversion cast (snumber) 8 in (number~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 * (number) 8
Adding number conversion cast (snumber) spline_8segB::$10 in (number~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 * (snumber)(number) 8
Adding number conversion cast (snumber) spline_8segB::$11 in (number~) spline_8segB::$11 ← (signed word) spline_8segB::a_x#0 + (snumber~) spline_8segB::$10
Adding number conversion cast (snumber) 8 in (number~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 * (number) 8
Adding number conversion cast (snumber) spline_8segB::$12 in (number~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 * (snumber)(number) 8
Adding number conversion cast (snumber) spline_8segB::$13 in (number~) spline_8segB::$13 ← (signed word) spline_8segB::a_y#0 + (snumber~) spline_8segB::$12
Adding number conversion cast (snumber) 2 in (number~) spline_8segB::$14 ← (signed word) spline_8segB::a_x#0 * (number) 2
Adding number conversion cast (snumber) spline_8segB::$14 in (number~) spline_8segB::$14 ← (signed word) spline_8segB::a_x#0 * (snumber)(number) 2
Adding number conversion cast (snumber) 2 in (number~) spline_8segB::$15 ← (signed word) spline_8segB::a_y#0 * (number) 2
Adding number conversion cast (snumber) spline_8segB::$15 in (number~) spline_8segB::$15 ← (signed word) spline_8segB::a_y#0 * (snumber)(number) 2
Adding number conversion cast (snumber) $40 in (number~) spline_8segB::$16 ← (signed word) spline_8segB::p0_x#1 * (number) $40
Adding number conversion cast (snumber) spline_8segB::$16 in (number~) spline_8segB::$16 ← (signed word) spline_8segB::p0_x#1 * (snumber)(number) $40
Adding number conversion cast (snumber) $40 in (number~) spline_8segB::$17 ← (signed word) spline_8segB::p0_y#1 * (number) $40
Adding number conversion cast (snumber) spline_8segB::$17 in (number~) spline_8segB::$17 ← (signed word) spline_8segB::p0_y#1 * (snumber)(number) $40
Adding number conversion cast (snumber) $20 in (number~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (number) $20
Adding number conversion cast (snumber) spline_8segB::$22 in (number~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (snumber)(number) $20
Adding number conversion cast (snumber) $40 in (number~) spline_8segB::$23 ← (snumber~) spline_8segB::$22 / (number) $40
Adding number conversion cast (snumber) spline_8segB::$23 in (number~) spline_8segB::$23 ← (snumber~) spline_8segB::$22 / (snumber)(number) $40
Adding number conversion cast (snumber) $20 in (number~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (number) $20
Adding number conversion cast (snumber) spline_8segB::$24 in (number~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (snumber)(number) $20
Adding number conversion cast (snumber) $40 in (number~) spline_8segB::$25 ← (snumber~) spline_8segB::$24 / (number) $40
Adding number conversion cast (snumber) spline_8segB::$25 in (number~) spline_8segB::$25 ← (snumber~) spline_8segB::$24 / (snumber)(number) $40
Adding number conversion cast (snumber) $20 in (number~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#3 + (number) $20
Adding number conversion cast (snumber) spline_8segB::$18 in (number~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#3 + (snumber)(number) $20
Adding number conversion cast (snumber) $40 in (number~) spline_8segB::$19 ← (snumber~) spline_8segB::$18 / (number) $40
Adding number conversion cast (snumber) spline_8segB::$19 in (number~) spline_8segB::$19 ← (snumber~) spline_8segB::$18 / (snumber)(number) $40
Adding number conversion cast (snumber) $20 in (number~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#3 + (number) $20
Adding number conversion cast (snumber) spline_8segB::$20 in (number~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#3 + (snumber)(number) $20
Adding number conversion cast (snumber) $40 in (number~) spline_8segB::$21 ← (snumber~) spline_8segB::$20 / (number) $40
Adding number conversion cast (snumber) spline_8segB::$21 in (number~) spline_8segB::$21 ← (snumber~) spline_8segB::$20 / (snumber)(number) $40
Adding number conversion cast (unumber) 8 in (number~) spline_8segB::$32 ← (number) 8 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Adding number conversion cast (unumber) spline_8segB::$32 in (number~) spline_8segB::$32 ← (unumber)(number) 8 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#2 > (number) 0
Adding number conversion cast (unumber) 1 in (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (number) 1
Adding number conversion cast (unumber) 0 in (bool~) bitmap_init::$0 ← (byte) bitmap_init::bits#1 == (number) 0
Adding number conversion cast (unumber) $80 in (byte) bitmap_init::bits#2 ← (number) $80
Adding number conversion cast (unumber) 7 in (number~) bitmap_init::$3 ← (byte) bitmap_init::y#2 & (number) 7
Adding number conversion cast (unumber) bitmap_init::$3 in (number~) bitmap_init::$3 ← (byte) bitmap_init::y#2 & (unumber)(number) 7
Adding number conversion cast (unumber) bitmap_init::$5 in (number~) bitmap_init::$5 ← (unumber~) bitmap_init::$3 | (byte~) bitmap_init::$4
Adding number conversion cast (unumber) 7 in (number~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (number) 7
Adding number conversion cast (unumber) bitmap_init::$7 in (number~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (unumber)(number) 7
Adding number conversion cast (unumber) 7 in (bool~) bitmap_init::$8 ← (unumber~) bitmap_init::$7 == (number) 7
Adding number conversion cast (unumber) $28*8 in (byte*~) bitmap_init::$10 ← (byte*) bitmap_init::yoffs#3 + (number) $28*(number) 8
Adding number conversion cast (unumber) $10 in (number~) bitmap_clear::$0 ← (byte) bitmap_clear::fgcol#2 * (number) $10
Adding number conversion cast (unumber) bitmap_clear::$0 in (number~) bitmap_clear::$0 ← (byte) bitmap_clear::fgcol#2 * (unumber)(number) $10
Adding number conversion cast (unumber) bitmap_clear::$1 in (number~) bitmap_clear::$1 ← (unumber~) bitmap_clear::$0 + (byte) bitmap_clear::bgcol#2
Adding number conversion cast (unumber) 0 in (byte) memset::c#1 ← (number) 0
Adding number conversion cast (unumber) $fff8 in (number~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (number) $fff8
Adding number conversion cast (unumber) bitmap_plot::$1 in (number~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (unumber)(number) $fff8
Adding number conversion cast (unumber) 0 in (bool~) bitmap_line::$4 ← (word) bitmap_line::dx#1 == (number) 0
Adding number conversion cast (unumber) 0 in (bool~) bitmap_line::$5 ← (word) bitmap_line::dy#0 == (number) 0
Adding number conversion cast (unumber) 2 in (number~) bitmap_line::$23 ← (word) bitmap_line::dy#2 / (number) 2
Adding number conversion cast (unumber) bitmap_line::$23 in (number~) bitmap_line::$23 ← (word) bitmap_line::dy#2 / (unumber)(number) 2
Adding number conversion cast (unumber) 2 in (number~) bitmap_line::$17 ← (word) bitmap_line::dx#3 / (number) 2
Adding number conversion cast (unumber) bitmap_line::$17 in (number~) bitmap_line::$17 ← (word) bitmap_line::dx#3 / (unumber)(number) 2
Adding number conversion cast (unumber) $80 in (number~) abs_u16::$1 ← (byte~) abs_u16::$0 & (number) $80
Adding number conversion cast (unumber) abs_u16::$1 in (number~) abs_u16::$1 ← (byte~) abs_u16::$0 & (unumber)(number) $80
Adding number conversion cast (unumber) 0 in (bool~) abs_u16::$3 ← (number) 0 != (unumber~) abs_u16::$1
Adding number conversion cast (unumber) $80 in (number~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (number) $80
Adding number conversion cast (unumber) sgn_u16::$1 in (number~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (unumber)(number) $80
Adding number conversion cast (unumber) 0 in (bool~) sgn_u16::$2 ← (number) 0 != (unumber~) sgn_u16::$1
Adding number conversion cast (unumber) -1 in (word) sgn_u16::return#2 ← (number) -1
Adding number conversion cast (unumber) 1 in (word) sgn_u16::return#3 ← (number) 1
Adding number conversion cast (unumber) 1 in (byte*) mulf_init::sqr1_hi#0 ← (const byte*) mulf_sqr1_hi+(number) 1
Adding number conversion cast (unumber) 1 in (byte*) mulf_init::sqr1_lo#0 ← (const byte*) mulf_sqr1_lo+(number) 1
Adding number conversion cast (unumber) $200 in (bool~) mulf_init::$0 ← (byte*) mulf_init::sqr1_lo#2 != (const byte*) mulf_sqr1_lo+(number) $200
Adding number conversion cast (unumber) 1 in (number~) mulf_init::$1 ← (byte) mulf_init::c#1 & (number) 1
Adding number conversion cast (unumber) mulf_init::$1 in (number~) mulf_init::$1 ← (byte) mulf_init::c#1 & (unumber)(number) 1
Adding number conversion cast (unumber) 0 in (bool~) mulf_init::$2 ← (unumber~) mulf_init::$1 == (number) 0
Adding number conversion cast (unumber) $1ff in (bool~) mulf_init::$7 ← (byte*) mulf_init::sqr2_lo#2 != (const byte*) mulf_sqr2_lo+(number) $1ff
Adding number conversion cast (unumber) 0 in (bool~) mulf_init::$9 ← (byte) mulf_init::x_255#1 == (number) 0
Adding number conversion cast (unumber) $100 in *((const byte*) mulf_sqr2_lo+(number) $1ff) ← *((const byte*) mulf_sqr1_lo+(number) $100)
Adding number conversion cast (unumber) $1ff in *((const byte*) mulf_sqr2_lo+(number) $1ff) ← *((const byte*) mulf_sqr1_lo+(unumber)(number) $100)
Adding number conversion cast (unumber) $100 in *((const byte*) mulf_sqr2_hi+(number) $1ff) ← *((const byte*) mulf_sqr1_hi+(number) $100)
Adding number conversion cast (unumber) $1ff in *((const byte*) mulf_sqr2_hi+(number) $1ff) ← *((const byte*) mulf_sqr1_hi+(unumber)(number) $100)
Adding number conversion cast (unumber) 1 in (byte) mulf_init::dir#1 ← (number) 1
Adding number conversion cast (snumber) 0 in (bool~) mulf16s::$3 ← (signed word) mulf16s::a#5 < (number) 0
Adding number conversion cast (snumber) 0 in (bool~) mulf16s::$5 ← (signed word) mulf16s::b#5 < (number) 0
Adding number conversion cast (unumber) 3 in *((const byte*) CIA2_PORT_A_DDR) ← (number) 3
Adding number conversion cast (unumber) $40 in (number~) main::vicSelectGfxBank1_toDd001_$2 ← (byte~) main::vicSelectGfxBank1_toDd001_$1 / (number) $40
Adding number conversion cast (unumber) main::vicSelectGfxBank1_toDd001_$2 in (number~) main::vicSelectGfxBank1_toDd001_$2 ← (byte~) main::vicSelectGfxBank1_toDd001_$1 / (unumber)(number) $40
Adding number conversion cast (unumber) 3 in (number~) main::vicSelectGfxBank1_toDd001_$3 ← (number) 3 ^ (unumber~) main::vicSelectGfxBank1_toDd001_$2
Adding number conversion cast (unumber) main::vicSelectGfxBank1_toDd001_$3 in (number~) main::vicSelectGfxBank1_toDd001_$3 ← (unumber)(number) 3 ^ (unumber~) main::vicSelectGfxBank1_toDd001_$2
Adding number conversion cast (unumber) $3fff in (number~) main::toD0181_$1 ← (word~) main::toD0181_$0 & (number) $3fff
Adding number conversion cast (unumber) main::toD0181_$1 in (number~) main::toD0181_$1 ← (word~) main::toD0181_$0 & (unumber)(number) $3fff
Adding number conversion cast (unumber) 4 in (number~) main::toD0181_$2 ← (unumber~) main::toD0181_$1 * (number) 4
Adding number conversion cast (unumber) main::toD0181_$2 in (number~) main::toD0181_$2 ← (unumber~) main::toD0181_$1 * (unumber)(number) 4
Adding number conversion cast (unumber) main::toD0181_$3 in (number~) main::toD0181_$3 ← > (unumber~) main::toD0181_$2
Adding number conversion cast (unumber) 4 in (number~) main::toD0181_$6 ← (byte~) main::toD0181_$5 / (number) 4
Adding number conversion cast (unumber) main::toD0181_$6 in (number~) main::toD0181_$6 ← (byte~) main::toD0181_$5 / (unumber)(number) 4
Adding number conversion cast (unumber) $f in (number~) main::toD0181_$7 ← (unumber~) main::toD0181_$6 & (number) $f
Adding number conversion cast (unumber) main::toD0181_$7 in (number~) main::toD0181_$7 ← (unumber~) main::toD0181_$6 & (unumber)(number) $f
Adding number conversion cast (unumber) main::toD0181_$8 in (number~) main::toD0181_$8 ← (unumber~) main::toD0181_$3 | (unumber~) main::toD0181_$7
Adding number conversion cast (unumber) VIC_BMM|VIC_DEN|VIC_RSEL|3 in *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(number) 3
Adding number conversion cast (unumber) 3 in *((const byte*) D011) ← ((unumber)) (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(number) 3
Adding number conversion cast (unumber) $fe in (bool~) main::$7 ← *((const byte*) RASTER) != (number) $fe
Adding number conversion cast (unumber) $ff in (bool~) main::$8 ← *((const byte*) RASTER) != (number) $ff
Adding number conversion cast (unumber) 9 in (byte) main::angle#1 ← (byte) main::angle#3 + (number) 9
Adding number conversion cast (unumber) $3e7 in *((const byte*) PRINT_SCREEN+(number) $3e7) ← ++ *((const byte*) PRINT_SCREEN+(number) $3e7)
Adding number conversion cast (snumber) $32 in (number~) show_letter::$0 ← (signed word) show_letter::to_x#0 - (number) $32
Adding number conversion cast (snumber) show_letter::$0 in (number~) show_letter::$0 ← (signed word) show_letter::to_x#0 - (snumber)(number) $32
Adding number conversion cast (snumber) $96 in (number~) show_letter::$1 ← (signed word) show_letter::to_y#0 - (number) $96
Adding number conversion cast (snumber) show_letter::$1 in (number~) show_letter::$1 ← (signed word) show_letter::to_y#0 - (snumber)(number) $96
Adding number conversion cast (snumber) $64 in (number~) show_letter::$3 ← (signed word) show_letter::to_x#2 + (number) $64
Adding number conversion cast (snumber) show_letter::$3 in (number~) show_letter::$3 ← (signed word) show_letter::to_x#2 + (snumber)(number) $64
Adding number conversion cast (snumber) $64 in (number~) show_letter::$4 ← (signed word) show_letter::to_y#2 + (number) $64
Adding number conversion cast (snumber) show_letter::$4 in (number~) show_letter::$4 ← (signed word) show_letter::to_y#2 + (snumber)(number) $64
Adding number conversion cast (snumber) $32 in (number~) show_letter::$5 ← (signed word) show_letter::via_x#0 - (number) $32
Adding number conversion cast (snumber) show_letter::$5 in (number~) show_letter::$5 ← (signed word) show_letter::via_x#0 - (snumber)(number) $32
Adding number conversion cast (snumber) $96 in (number~) show_letter::$6 ← (signed word) show_letter::via_y#0 - (number) $96
Adding number conversion cast (snumber) show_letter::$6 in (number~) show_letter::$6 ← (signed word) show_letter::via_y#0 - (snumber)(number) $96
Adding number conversion cast (snumber) $64 in (number~) show_letter::$8 ← (signed word) show_letter::via_x#2 + (number) $64
Adding number conversion cast (snumber) show_letter::$8 in (number~) show_letter::$8 ← (signed word) show_letter::via_x#2 + (snumber)(number) $64
Adding number conversion cast (snumber) $64 in (number~) show_letter::$9 ← (signed word) show_letter::via_y#2 + (number) $64
Adding number conversion cast (snumber) show_letter::$9 in (number~) show_letter::$9 ← (signed word) show_letter::via_y#2 + (snumber)(number) $64
Adding number conversion cast (unumber) 0 in (number~) bitmap_plot_spline_8seg::$6 ← (number) 0 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Adding number conversion cast (unumber) bitmap_plot_spline_8seg::$6 in (number~) bitmap_plot_spline_8seg::$6 ← (unumber)(number) 0 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Adding number conversion cast (snumber) 2 in (number~) rotate::$3 ← (signed word~) rotate::$2 * (number) 2
Adding number conversion cast (snumber) rotate::$3 in (number~) rotate::$3 ← (signed word~) rotate::$2 * (snumber)(number) 2
Adding number conversion cast (snumber) 2 in (number~) rotate::$6 ← (signed word~) rotate::$5 * (number) 2
Adding number conversion cast (snumber) rotate::$6 in (number~) rotate::$6 ← (signed word~) rotate::$5 * (snumber)(number) 2
Adding number conversion cast (snumber) 2 in (number~) rotate::$10 ← (signed word~) rotate::$9 * (number) 2
Adding number conversion cast (snumber) rotate::$10 in (number~) rotate::$10 ← (signed word~) rotate::$9 * (snumber)(number) 2
Adding number conversion cast (snumber) 2 in (number~) rotate::$13 ← (signed word~) rotate::$12 * (number) 2
Adding number conversion cast (snumber) rotate::$13 in (number~) rotate::$13 ← (signed word~) rotate::$12 * (snumber)(number) 2
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast (byte*~) memset::$2 ← (byte*)(void*) memset::str#3
Inlining cast (byte*) memset::dst#0 ← (byte*)(void*) memset::str#3
Inlining cast (byte) bitmap_init::bits#2 ← (unumber)(number) $80
Inlining cast (byte) memset::c#1 ← (unumber)(number) 0
Inlining cast (byte~) bitmap_line::$15 ← (byte)(word) bitmap_line::y#3
Inlining cast (byte~) bitmap_line::$18 ← (byte)(word) bitmap_line::y#4
Inlining cast (byte~) bitmap_line::$13 ← (byte)(word) bitmap_line::y#7
Inlining cast (byte~) bitmap_line::$24 ← (byte)(word) bitmap_line::y#8
Inlining cast (word) sgn_u16::return#2 ← (unumber)(number) -1
Inlining cast (word) sgn_u16::return#3 ← (unumber)(number) 1
Inlining cast (byte) mulf_init::dir#1 ← (unumber)(number) 1
Inlining cast (word~) mulf16s::$0 ← (word)(signed word) mulf16s::a#4
Inlining cast (word~) mulf16s::$1 ← (word)(signed word) mulf16s::b#4
Inlining cast (word~) mulf16s::$10 ← (word)(signed word) mulf16s::b#6
Inlining cast (signed dword~) mulf16s::$7 ← (signed dword)(dword) mulf16s::m#4
Inlining cast (word~) mulf16s::$14 ← (word)(signed word) mulf16s::a#6
Inlining cast *((const byte*) CIA2_PORT_A_DDR) ← (unumber)(number) 3
Inlining cast (word~) main::vicSelectGfxBank1_toDd001_$0 ← (word)(byte*) main::vicSelectGfxBank1_toDd001_gfx#1
Inlining cast (word~) main::toD0181_$0 ← (word)(byte*) main::toD0181_screen#1
Inlining cast (word~) main::toD0181_$4 ← (word)(byte*) main::toD0181_gfx#1
Inlining cast *((const byte*) D011) ← (unumber)(const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(unumber)(number) 3
Inlining cast (word~) show_letter::$12 ← (word)(signed word) show_letter::current_x#5
Inlining cast (word~) show_letter::$13 ← (word)(signed word) show_letter::current_y#5
Inlining cast (word~) show_letter::$14 ← (word)(signed word) show_letter::segment_to_x#4
Inlining cast (word~) show_letter::$15 ← (word)(signed word) show_letter::segment_to_y#4
Inlining cast (word~) bitmap_plot_spline_8seg::$0 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2
Inlining cast (word~) bitmap_plot_spline_8seg::$1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2
Inlining cast (word~) bitmap_plot_spline_8seg::$2 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) bitmap_plot_spline_8seg::$7)
Inlining cast (word~) bitmap_plot_spline_8seg::$3 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8)
Inlining cast (signed word~) rotate::$0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2)
Inlining cast (signed word~) rotate::$2 ← (signed word)(signed dword~) rotate::$1
Inlining cast (signed word~) rotate::$5 ← (signed word)(signed dword~) rotate::$4
Inlining cast (signed word~) rotate::$7 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#3)
Inlining cast (signed word~) rotate::$9 ← (signed word)(signed dword~) rotate::$8
Inlining cast (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$11
Inlining cast (signed byte~) rotate::$15 ← (signed byte)(byte~) rotate::$14
Inlining cast (signed word~) rotate::$16 ← (signed word)(signed byte~) rotate::$15
Inlining cast (signed byte~) rotate::$18 ← (signed byte)(byte~) rotate::$17
Inlining cast (signed word~) rotate::$19 ← (signed word)(signed byte~) rotate::$18
Successful SSA optimization Pass2InlineCast
Simplifying constant pointer cast (byte*) 53266
Simplifying constant pointer cast (byte*) 53265
Simplifying constant pointer cast (byte*) 53272
Simplifying constant pointer cast (byte*) 56576
Simplifying constant pointer cast (byte*) 56578
Simplifying constant pointer cast (word*) 248
Simplifying constant pointer cast (word*) 250
Simplifying constant pointer cast (dword*) 252
Simplifying constant pointer cast (byte*) 1024
Simplifying constant pointer cast (byte*) 23552
Simplifying constant pointer cast (byte*) 24576
Simplifying constant integer cast $40
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast 8
Simplifying constant integer cast 8
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast $40
Simplifying constant integer cast $40
Simplifying constant integer cast $20
Simplifying constant integer cast $40
Simplifying constant integer cast $20
Simplifying constant integer cast $40
Simplifying constant integer cast $20
Simplifying constant integer cast $40
Simplifying constant integer cast $20
Simplifying constant integer cast $40
Simplifying constant integer cast 8
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast $80
Simplifying constant integer cast 7
Simplifying constant integer cast 7
Simplifying constant integer cast 7
Simplifying constant integer cast $10
Simplifying constant integer cast 0
Simplifying constant integer cast *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4)
Simplifying constant integer cast *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4)
Simplifying constant integer cast $fff8
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast -1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $200
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast -1
Simplifying constant integer cast $1ff
Simplifying constant integer cast 0
Simplifying constant integer cast $100
Simplifying constant integer cast $1ff
Simplifying constant integer cast $100
Simplifying constant integer cast $1ff
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 3
Simplifying constant integer cast $40
Simplifying constant integer cast 3
Simplifying constant integer cast $3fff
Simplifying constant integer cast 4
Simplifying constant integer cast 4
Simplifying constant integer cast $f
Simplifying constant integer cast (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(unumber)(number) 3
Simplifying constant integer cast 3
Simplifying constant integer cast $fe
Simplifying constant integer cast $ff
Simplifying constant integer cast 9
Simplifying constant integer cast $3e7
Simplifying constant integer cast $32
Simplifying constant integer cast $96
Simplifying constant integer cast $64
Simplifying constant integer cast $64
Simplifying constant integer cast $32
Simplifying constant integer cast $96
Simplifying constant integer cast $64
Simplifying constant integer cast $64
Simplifying constant integer cast 0
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Simplifying constant integer cast 2
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) $40
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 8
Finalized signed number type (signed byte) 8
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) $40
Finalized signed number type (signed byte) $40
Finalized signed number type (signed byte) $20
Finalized signed number type (signed byte) $40
Finalized signed number type (signed byte) $20
Finalized signed number type (signed byte) $40
Finalized signed number type (signed byte) $20
Finalized signed number type (signed byte) $40
Finalized signed number type (signed byte) $20
Finalized signed number type (signed byte) $40
Finalized unsigned number type (byte) 8
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $80
Finalized unsigned number type (byte) 7
Finalized unsigned number type (byte) 7
Finalized unsigned number type (byte) 7
Finalized unsigned number type (byte) $10
Finalized unsigned number type (byte) 0
Finalized unsigned number type (word) $fff8
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 2
Finalized unsigned number type (byte) 2
Finalized unsigned number type (byte) $80
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $80
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) -1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (word) $200
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 0
Finalized unsigned number type (word) $1ff
Finalized unsigned number type (byte) 0
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $1ff
Finalized unsigned number type (word) $100
Finalized unsigned number type (word) $1ff
Finalized unsigned number type (byte) 1
Finalized signed number type (signed byte) 0
Finalized signed number type (signed byte) 0
Finalized unsigned number type (byte) 3
Finalized unsigned number type (byte) $40
Finalized unsigned number type (byte) 3
Finalized unsigned number type (word) $3fff
Finalized unsigned number type (byte) 4
Finalized unsigned number type (byte) 4
Finalized unsigned number type (byte) $f
Finalized unsigned number type (byte) 3
Finalized unsigned number type (byte) $fe
Finalized unsigned number type (byte) $ff
Finalized unsigned number type (byte) 9
Finalized unsigned number type (word) $3e7
Finalized signed number type (signed byte) $32
Finalized signed number type (signed word) $96
Finalized signed number type (signed byte) $64
Finalized signed number type (signed byte) $64
Finalized signed number type (signed byte) $32
Finalized signed number type (signed word) $96
Finalized signed number type (signed byte) $64
Finalized signed number type (signed byte) $64
Finalized unsigned number type (byte) 0
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 2
Finalized signed number type (signed byte) 2
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to signed word in (snumber~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#1 * (signed byte) 2
Inferred type updated to signed word in (snumber~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#1 - (signed word~) spline_8segB::$0
Inferred type updated to signed word in (snumber~) spline_8segB::$2 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#1
Inferred type updated to signed word in (snumber~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#1 * (signed byte) 2
Inferred type updated to signed word in (snumber~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#1 - (signed word~) spline_8segB::$3
Inferred type updated to signed word in (snumber~) spline_8segB::$5 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#1
Inferred type updated to signed word in (snumber~) spline_8segB::$7 ← (signed word~) spline_8segB::$6 * (signed byte) 2
Inferred type updated to signed word in (snumber~) spline_8segB::$9 ← (signed word~) spline_8segB::$8 * (signed byte) 2
Inferred type updated to signed word in (snumber~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 * (signed byte) 8
Inferred type updated to signed word in (snumber~) spline_8segB::$11 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10
Inferred type updated to signed word in (snumber~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 * (signed byte) 8
Inferred type updated to signed word in (snumber~) spline_8segB::$13 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12
Inferred type updated to signed word in (snumber~) spline_8segB::$14 ← (signed word) spline_8segB::a_x#0 * (signed byte) 2
Inferred type updated to signed word in (snumber~) spline_8segB::$15 ← (signed word) spline_8segB::a_y#0 * (signed byte) 2
Inferred type updated to signed word in (snumber~) spline_8segB::$16 ← (signed word) spline_8segB::p0_x#1 * (signed byte) $40
Inferred type updated to signed word in (snumber~) spline_8segB::$17 ← (signed word) spline_8segB::p0_y#1 * (signed byte) $40
Inferred type updated to signed word in (snumber~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20
Inferred type updated to signed word in (snumber~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 / (signed byte) $40
Inferred type updated to signed word in (snumber~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20
Inferred type updated to signed word in (snumber~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 / (signed byte) $40
Inferred type updated to signed word in (snumber~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#3 + (signed byte) $20
Inferred type updated to signed word in (snumber~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 / (signed byte) $40
Inferred type updated to signed word in (snumber~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#3 + (signed byte) $20
Inferred type updated to signed word in (snumber~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 / (signed byte) $40
Inferred type updated to byte in (unumber~) spline_8segB::$32 ← (byte) 8 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Inferred type updated to byte in (unumber~) bitmap_init::$3 ← (byte) bitmap_init::y#2 & (byte) 7
Inferred type updated to byte in (unumber~) bitmap_init::$5 ← (byte~) bitmap_init::$3 | (byte~) bitmap_init::$4
Inferred type updated to byte in (unumber~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7
Inferred type updated to byte in (unumber~) bitmap_clear::$0 ← (byte) bitmap_clear::fgcol#2 * (byte) $10
Inferred type updated to byte in (unumber~) bitmap_clear::$1 ← (byte~) bitmap_clear::$0 + (byte) bitmap_clear::bgcol#2
Inferred type updated to word in (unumber~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (word) $fff8
Inferred type updated to word in (unumber~) bitmap_line::$23 ← (word) bitmap_line::dy#2 / (byte) 2
Inferred type updated to word in (unumber~) bitmap_line::$17 ← (word) bitmap_line::dx#3 / (byte) 2
Inferred type updated to byte in (unumber~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80
Inferred type updated to byte in (unumber~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80
Inferred type updated to byte in (unumber~) mulf_init::$1 ← (byte) mulf_init::c#1 & (byte) 1
Inferred type updated to byte in (unumber~) main::vicSelectGfxBank1_toDd001_$2 ← (byte~) main::vicSelectGfxBank1_toDd001_$1 / (byte) $40
Inferred type updated to byte in (unumber~) main::vicSelectGfxBank1_toDd001_$3 ← (byte) 3 ^ (byte~) main::vicSelectGfxBank1_toDd001_$2
Inferred type updated to word in (unumber~) main::toD0181_$1 ← (word~) main::toD0181_$0 & (word) $3fff
Inferred type updated to word in (unumber~) main::toD0181_$2 ← (word~) main::toD0181_$1 * (byte) 4
Inferred type updated to byte in (unumber~) main::toD0181_$3 ← > (word~) main::toD0181_$2
Inferred type updated to byte in (unumber~) main::toD0181_$6 ← (byte~) main::toD0181_$5 / (byte) 4
Inferred type updated to byte in (unumber~) main::toD0181_$7 ← (byte~) main::toD0181_$6 & (byte) $f
Inferred type updated to byte in (unumber~) main::toD0181_$8 ← (byte~) main::toD0181_$3 | (byte~) main::toD0181_$7
Inferred type updated to signed word in (snumber~) show_letter::$0 ← (signed word) show_letter::to_x#0 - (signed byte) $32
Inferred type updated to signed word in (snumber~) show_letter::$1 ← (signed word) show_letter::to_y#0 - (signed word) $96
Inferred type updated to signed word in (snumber~) show_letter::$3 ← (signed word) show_letter::to_x#2 + (signed byte) $64
Inferred type updated to signed word in (snumber~) show_letter::$4 ← (signed word) show_letter::to_y#2 + (signed byte) $64
Inferred type updated to signed word in (snumber~) show_letter::$5 ← (signed word) show_letter::via_x#0 - (signed byte) $32
Inferred type updated to signed word in (snumber~) show_letter::$6 ← (signed word) show_letter::via_y#0 - (signed word) $96
Inferred type updated to signed word in (snumber~) show_letter::$8 ← (signed word) show_letter::via_x#2 + (signed byte) $64
Inferred type updated to signed word in (snumber~) show_letter::$9 ← (signed word) show_letter::via_y#2 + (signed byte) $64
Inferred type updated to byte in (unumber~) bitmap_plot_spline_8seg::$6 ← (byte) 0 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Inferred type updated to signed word in (snumber~) rotate::$3 ← (signed word~) rotate::$2 * (signed byte) 2
Inferred type updated to signed word in (snumber~) rotate::$6 ← (signed word~) rotate::$5 * (signed byte) 2
Inferred type updated to signed word in (snumber~) rotate::$10 ← (signed word~) rotate::$9 * (signed byte) 2
Inferred type updated to signed word in (snumber~) rotate::$13 ← (signed word~) rotate::$12 * (signed byte) 2
Adding pointer type conversion cast (byte*) bitmap_plot::$0 in (byte*~) bitmap_plot::$0 ← (word~) bitmap_plot::$3
Successful SSA optimization PassNAddTypeConversionAssignment
Inversing boolean not [60] (bool~) memset::$1 ← (word) memset::num#2 <= (byte) 0 from [59] (bool~) memset::$0 ← (word) memset::num#2 > (byte) 0
Inversing boolean not [89] (bool~) bitmap_init::$1 ← (byte) bitmap_init::bits#1 != (byte) 0 from [88] (bool~) bitmap_init::$0 ← (byte) bitmap_init::bits#1 == (byte) 0
Inversing boolean not [109] (bool~) bitmap_init::$9 ← (byte~) bitmap_init::$7 != (byte) 7 from [108] (bool~) bitmap_init::$8 ← (byte~) bitmap_init::$7 == (byte) 7
Inversing boolean not [207] (bool~) bitmap_line::$21 ← (word) bitmap_line::dy#3 >= (word) bitmap_line::e#1 from [206] (bool~) bitmap_line::$20 ← (word) bitmap_line::dy#3 < (word) bitmap_line::e#1
Inversing boolean not [229] (bool~) bitmap_line::$27 ← (word) bitmap_line::dx#5 >= (word) bitmap_line::e1#1 from [228] (bool~) bitmap_line::$26 ← (word) bitmap_line::dx#5 < (word) bitmap_line::e1#1
Inversing boolean not [272] (bool~) mulf_init::$3 ← (byte~) mulf_init::$1 != (byte) 0 from [271] (bool~) mulf_init::$2 ← (byte~) mulf_init::$1 == (byte) 0
Inversing boolean not [300] (bool~) mulf_init::$10 ← (byte) mulf_init::x_255#1 != (byte) 0 from [299] (bool~) mulf_init::$9 ← (byte) mulf_init::x_255#1 == (byte) 0
Inversing boolean not [328] (bool~) mulf16s::$4 ← (signed word) mulf16s::a#5 >= (signed byte) 0 from [327] (bool~) mulf16s::$3 ← (signed word) mulf16s::a#5 < (signed byte) 0
Inversing boolean not [332] (bool~) mulf16s::$6 ← (signed word) mulf16s::b#5 >= (signed byte) 0 from [331] (bool~) mulf16s::$5 ← (signed word) mulf16s::b#5 < (signed byte) 0
Successful SSA optimization Pass2UnaryNotSimplification
Alias (signed word) spline_8segB::a_x#0 = (signed word~) spline_8segB::$2 
Alias (signed word) spline_8segB::a_y#0 = (signed word~) spline_8segB::$5 
Alias (signed word) spline_8segB::b_x#0 = (signed word~) spline_8segB::$7 
Alias (signed word) spline_8segB::b_y#0 = (signed word~) spline_8segB::$9 
Alias (signed word) spline_8segB::i_x#0 = (signed word~) spline_8segB::$11 
Alias (signed word) spline_8segB::i_y#0 = (signed word~) spline_8segB::$13 
Alias (signed word) spline_8segB::j_x#0 = (signed word~) spline_8segB::$14 
Alias (signed word) spline_8segB::j_y#0 = (signed word~) spline_8segB::$15 
Alias (signed word) spline_8segB::p_x#0 = (signed word~) spline_8segB::$16 
Alias (signed word) spline_8segB::p_y#0 = (signed word~) spline_8segB::$17 
Alias (signed word) spline_8segB::p_x#1 = (signed word~) spline_8segB::$26 (signed word) spline_8segB::p_x#3 
Alias (signed word) spline_8segB::p_y#1 = (signed word~) spline_8segB::$27 (signed word) spline_8segB::p_y#3 
Alias (signed word) spline_8segB::i_x#1 = (signed word~) spline_8segB::$28 
Alias (signed word) spline_8segB::i_y#1 = (signed word~) spline_8segB::$29 
Alias (void*) memset::return#0 = (void*) memset::str#2 (void*) memset::return#4 (void*) memset::return#1 
Alias (void*) memset::str#3 = (void*) memset::str#4 
Alias (word) memset::num#2 = (word) memset::num#3 
Alias (byte) memset::c#4 = (byte) memset::c#5 
Alias (byte*) memset::end#0 = (byte*~) memset::$3 
Alias (byte) memset::c#2 = (byte) memset::c#3 
Alias (byte*) memset::dst#2 = (byte*) memset::dst#3 
Alias (byte*) memset::end#1 = (byte*) memset::end#2 
Alias (void*) memset::str#5 = (void*) memset::str#6 
Alias (byte) bitmap_init::x#2 = (byte) bitmap_init::x#4 
Alias (byte*) bitmap_init::gfx#4 = (byte*) bitmap_init::gfx#5 
Alias (byte*) bitmap_gfx#28 = (byte*) bitmap_gfx#29 
Alias (byte*) bitmap_screen#27 = (byte*) bitmap_screen#28 
Alias (byte*) bitmap_init::gfx#2 = (byte*) bitmap_init::gfx#3 (byte*) bitmap_init::yoffs#0 
Alias (byte*) bitmap_gfx#22 = (byte*) bitmap_gfx#25 
Alias (byte*) bitmap_screen#21 = (byte*) bitmap_screen#24 
Alias (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#3 
Alias (byte) bitmap_init::y#2 = (byte) bitmap_init::y#4 
Alias (byte*) bitmap_gfx#16 = (byte*) bitmap_gfx#17 
Alias (byte*) bitmap_screen#16 = (byte*) bitmap_screen#17 
Alias (byte*) bitmap_init::yoffs#1 = (byte*~) bitmap_init::$10 
Alias (byte*) bitmap_gfx#11 = (byte*) bitmap_gfx#6 (byte*) bitmap_gfx#2 
Alias (byte*) bitmap_screen#11 = (byte*) bitmap_screen#6 (byte*) bitmap_screen#2 
Alias (byte) bitmap_clear::col#0 = (byte~) bitmap_clear::$1 
Alias (byte*) bitmap_gfx#12 = (byte*) bitmap_gfx#7 
Alias (byte*) bitmap_plot::plotter#0 = (byte*~) bitmap_plot::$0 
Alias (word) bitmap_line::x#0 = (word) bitmap_line::x1#2 (word) bitmap_line::x1#5 (word) bitmap_line::x#16 (word) bitmap_line::x1#4 (word) bitmap_line::x#10 (word) bitmap_line::x1#3 (word) bitmap_line::x#19 (word) bitmap_line::x#18 (word) bitmap_line::x#17 (word) bitmap_line::x#3 (word) bitmap_line::x#14 (word) bitmap_line::x#11 
Alias (word) bitmap_line::y#0 = (word) bitmap_line::y1#2 (word) bitmap_line::y1#3 (word) bitmap_line::y#16 (word) bitmap_line::y#10 (word) bitmap_line::y1#6 (word) bitmap_line::y1#5 (word) bitmap_line::y#19 (word) bitmap_line::y1#4 (word) bitmap_line::y#18 (word) bitmap_line::y#17 (word) bitmap_line::y#3 (word) bitmap_line::y#14 (word) bitmap_line::y#11 
Alias (word) abs_u16::w#0 = (word~) bitmap_line::$0 
Alias (word) abs_u16::return#0 = (word) abs_u16::return#5 
Alias (word) bitmap_line::y2#11 = (word) bitmap_line::y2#2 (word) bitmap_line::y2#5 (word) bitmap_line::y2#9 (word) bitmap_line::y2#6 (word) bitmap_line::y2#3 (word) bitmap_line::y2#12 
Alias (word) bitmap_line::x2#10 = (word) bitmap_line::x2#8 (word) bitmap_line::x2#2 (word) bitmap_line::x2#5 (word) bitmap_line::x2#3 (word) bitmap_line::x2#12 (word) bitmap_line::x2#11 
Alias (word) bitmap_line::dx#0 = (word~) bitmap_line::$1 (word) bitmap_line::dx#1 (word) bitmap_line::dx#10 (word) bitmap_line::dx#7 (word) bitmap_line::dx#2 (word) bitmap_line::dx#13 (word) bitmap_line::dx#3 
Alias (word) abs_u16::w#1 = (word~) bitmap_line::$2 
Alias (word) abs_u16::return#1 = (word) abs_u16::return#6 
Alias (word) bitmap_line::dy#0 = (word~) bitmap_line::$3 (word) bitmap_line::dy#9 (word) bitmap_line::dy#6 (word) bitmap_line::dy#1 (word) bitmap_line::dy#2 (word) bitmap_line::dy#10 
Alias (word) sgn_u16::w#0 = (word~) bitmap_line::$8 
Alias (word) sgn_u16::return#0 = (word) sgn_u16::return#5 
Alias (word) bitmap_line::sx#0 = (word~) bitmap_line::$9 (word) bitmap_line::sx#8 (word) bitmap_line::sx#7 (word) bitmap_line::sx#9 
Alias (word) sgn_u16::w#1 = (word~) bitmap_line::$10 
Alias (word) sgn_u16::return#1 = (word) sgn_u16::return#6 
Alias (word) bitmap_line::sy#0 = (word~) bitmap_line::$11 (word) bitmap_line::sy#10 (word) bitmap_line::sy#5 
Alias (byte) bitmap_plot::y#0 = (byte~) bitmap_line::$15 
Alias (word) bitmap_line::e1#0 = (word~) bitmap_line::$23 
Alias (word) bitmap_line::e#0 = (word~) bitmap_line::$17 
Alias (byte) bitmap_plot::y#1 = (byte~) bitmap_line::$18 
Alias (word) bitmap_line::y#4 = (word) bitmap_line::y#5 
Alias (word) bitmap_line::sy#1 = (word) bitmap_line::sy#3 (word) bitmap_line::sy#8 
Alias (word) bitmap_line::e#3 = (word) bitmap_line::e#5 
Alias (word) bitmap_line::dx#14 = (word) bitmap_line::dx#4 (word) bitmap_line::dx#8 
Alias (word) bitmap_line::dy#3 = (word) bitmap_line::dy#7 (word) bitmap_line::dy#4 
Alias (word) bitmap_line::y2#10 = (word) bitmap_line::y2#7 (word) bitmap_line::y2#8 
Alias (word) bitmap_line::x#13 = (word) bitmap_line::x#4 (word) bitmap_line::x#5 
Alias (word) bitmap_line::sx#1 = (word) bitmap_line::sx#3 (word) bitmap_line::sx#5 
Alias (word) bitmap_line::e#1 = (word) bitmap_line::e#4 
Alias (word) bitmap_line::y#1 = (word) bitmap_line::y#12 
Alias (byte) bitmap_plot::y#2 = (byte~) bitmap_line::$13 
Alias (byte) bitmap_plot::y#3 = (byte~) bitmap_line::$24 
Alias (word) bitmap_line::x#7 = (word) bitmap_line::x#8 
Alias (word) bitmap_line::sx#11 = (word) bitmap_line::sx#2 (word) bitmap_line::sx#4 
Alias (word) bitmap_line::e1#3 = (word) bitmap_line::e1#5 
Alias (word) bitmap_line::dy#13 = (word) bitmap_line::dy#5 (word) bitmap_line::dy#8 
Alias (word) bitmap_line::dx#5 = (word) bitmap_line::dx#9 (word) bitmap_line::dx#6 
Alias (word) bitmap_line::x2#6 = (word) bitmap_line::x2#7 (word) bitmap_line::x2#9 
Alias (word) bitmap_line::y#15 = (word) bitmap_line::y#8 (word) bitmap_line::y#9 
Alias (word) bitmap_line::sy#2 = (word) bitmap_line::sy#4 (word) bitmap_line::sy#7 
Alias (word) bitmap_line::e1#1 = (word) bitmap_line::e1#4 
Alias (word) bitmap_line::x#15 = (word) bitmap_line::x#2 
Alias (word) abs_u16::w#2 = (word) abs_u16::w#3 (word) abs_u16::w#4 (word) abs_u16::return#3 
Alias (word) abs_u16::return#2 = (word~) abs_u16::$2 
Alias (word) abs_u16::return#4 = (word) abs_u16::return#7 
Alias (word) sgn_u16::return#4 = (word) sgn_u16::return#7 
Alias (byte) mulf_init::c#2 = (byte) mulf_init::c#3 
Alias (word) mulf_init::sqr#4 = (word) mulf_init::sqr#5 (word) mulf_init::sqr#6 
Alias (byte*) mulf_init::sqr1_lo#2 = (byte*) mulf_init::sqr1_lo#4 (byte*) mulf_init::sqr1_lo#5 
Alias (byte*) mulf_init::sqr1_hi#3 = (byte*) mulf_init::sqr1_hi#5 (byte*) mulf_init::sqr1_hi#4 
Alias (byte) mulf_init::x_2#3 = (byte) mulf_init::x_2#4 (byte) mulf_init::x_2#5 
Alias (word) mulf_init::sqr#1 = (word~) mulf_init::$6 
Alias (byte) mulf_init::c#1 = (byte) mulf_init::c#5 
Alias (byte) mulf_init::x_255#2 = (byte) mulf_init::x_255#3 
Alias (byte*) mulf_init::sqr2_lo#2 = (byte*) mulf_init::sqr2_lo#3 (byte*) mulf_init::sqr2_lo#5 
Alias (byte*) mulf_init::sqr2_hi#2 = (byte*) mulf_init::sqr2_hi#3 
Alias (byte) mulf_init::dir#2 = (byte) mulf_init::dir#3 
Alias (byte) mulf_init::x_255#1 = (byte~) mulf_init::$8 (byte) mulf_init::x_255#5 
Alias (byte*) mulf_init::sqr2_hi#1 = (byte*) mulf_init::sqr2_hi#5 
Alias (dword) mulf16u::return#0 = (dword) mulf16u::return#3 (dword) mulf16u::return#1 
Alias (word) mulf16u::a#0 = (word~) mulf16s::$0 
Alias (word) mulf16u::b#0 = (word~) mulf16s::$1 
Alias (dword) mulf16u::return#2 = (dword) mulf16u::return#4 
Alias (signed word) mulf16s::a#4 = (signed word) mulf16s::a#5 (signed word) mulf16s::a#8 
Alias (signed word) mulf16s::b#4 = (signed word) mulf16s::b#7 (signed word) mulf16s::b#6 
Alias (dword) mulf16s::m#0 = (dword~) mulf16s::$2 (dword) mulf16s::m#3 
Alias (word~) mulf16s::$16 = (word~) mulf16s::$11 
Alias (signed dword) mulf16s::return#0 = (signed dword~) mulf16s::$7 (signed dword) mulf16s::return#6 (signed dword) mulf16s::return#1 
Alias (dword) mulf16s::m#5 = (dword) mulf16s::m#6 
Alias (signed word) mulf16s::a#6 = (signed word) mulf16s::a#7 
Alias (word~) mulf16s::$17 = (word~) mulf16s::$15 
Alias (byte*) bitmap_gfx#13 = (byte*) bitmap_gfx#19 
Alias (byte*) bitmap_screen#13 = (byte*) bitmap_screen#18 
Alias (byte*) bitmap_gfx#23 = (byte*) bitmap_gfx#3 (byte*) bitmap_gfx#8 (byte*) bitmap_gfx#40 (byte*) bitmap_gfx#39 (byte*) bitmap_gfx#38 (byte*) bitmap_gfx#36 (byte*) bitmap_gfx#34 (byte*) bitmap_gfx#32 (byte*) bitmap_gfx#30 (byte*) bitmap_gfx#26 
Alias (byte*) bitmap_screen#22 = (byte*) bitmap_screen#3 (byte*) bitmap_screen#8 (byte*) bitmap_screen#39 (byte*) bitmap_screen#38 (byte*) bitmap_screen#37 (byte*) bitmap_screen#35 (byte*) bitmap_screen#33 (byte*) bitmap_screen#31 (byte*) bitmap_screen#29 (byte*) bitmap_screen#25 
Alias (byte*) main::vicSelectGfxBank1_gfx#0 = (byte*) main::vicSelectGfxBank1_gfx#1 (byte*) main::vicSelectGfxBank1_toDd001_gfx#0 (byte*) main::vicSelectGfxBank1_toDd001_gfx#1 
Alias (byte) main::vicSelectGfxBank1_toDd001_return#0 = (byte~) main::vicSelectGfxBank1_toDd001_$3 (byte) main::vicSelectGfxBank1_toDd001_return#2 (byte) main::vicSelectGfxBank1_toDd001_return#1 (byte) main::vicSelectGfxBank1_toDd001_return#3 (byte~) main::vicSelectGfxBank1_$0 
Alias (byte*) main::toD0181_screen#0 = (byte*) main::toD0181_screen#1 
Alias (byte*) main::toD0181_gfx#0 = (byte*) main::toD0181_gfx#1 
Alias (byte) main::toD0181_return#0 = (byte~) main::toD0181_$8 (byte) main::toD0181_return#2 (byte) main::toD0181_return#1 (byte) main::toD0181_return#3 (byte~) main::$4 
Alias (byte*) bitmap_screen#12 = (byte*) bitmap_screen#19 (byte*) bitmap_screen#36 (byte*) bitmap_screen#34 
Alias (byte) main::angle#2 = (byte) main::angle#4 (byte) main::angle#6 (byte) main::angle#9 
Alias (byte*) bitmap_gfx#18 = (byte*) bitmap_gfx#20 (byte*) bitmap_gfx#37 (byte*) bitmap_gfx#35 
Alias (byte) main::w#2 = (byte) main::w#3 
Alias (byte) main::angle#3 = (byte) main::angle#5 (byte) main::angle#7 
Alias (byte*) bitmap_screen#23 = (byte*) bitmap_screen#26 (byte*) bitmap_screen#30 
Alias (byte*) bitmap_gfx#24 = (byte*) bitmap_gfx#27 (byte*) bitmap_gfx#31 
Alias (byte*) bitmap_gfx#14 = (byte*) bitmap_gfx#21 (byte*) bitmap_gfx#9 (byte*) bitmap_gfx#4 
Alias (byte*) bitmap_screen#14 = (byte*) bitmap_screen#20 (byte*) bitmap_screen#9 (byte*) bitmap_screen#4 
Alias (signed word) show_letter::to_x#1 = (signed word~) show_letter::$0 
Alias (signed word) show_letter::to_y#1 = (signed word~) show_letter::$1 
Alias (signed word) rotate::return_x#0 = (signed word) rotate::return_x#4 
Alias (signed word) rotate::return_y#0 = (signed word) rotate::return_y#4 
Alias (byte) show_letter::i#10 = (byte) show_letter::i#3 (byte) show_letter::i#2 (byte) show_letter::i#4 (byte) show_letter::i#8 (byte) show_letter::i#12 (byte) show_letter::i#11 (byte) show_letter::i#9 (byte) show_letter::i#6 (byte) show_letter::i#7 
Alias (byte) show_letter::angle#1 = (byte) show_letter::angle#2 (byte) show_letter::angle#8 (byte) show_letter::angle#7 (byte) show_letter::angle#12 (byte) show_letter::angle#11 (byte) show_letter::angle#9 (byte) show_letter::angle#5 (byte) show_letter::angle#10 (byte) show_letter::angle#6 
Alias (signed word) show_letter::current_x#4 = (signed word) show_letter::current_x#8 (signed word) show_letter::current_x#9 (signed word) show_letter::current_x#7 (signed word) show_letter::current_x#6 (signed word) show_letter::current_x#5 
Alias (signed word) show_letter::current_y#4 = (signed word) show_letter::current_y#8 (signed word) show_letter::current_y#9 (signed word) show_letter::current_y#7 (signed word) show_letter::current_y#6 (signed word) show_letter::current_y#5 
Alias (signed word) show_letter::to_x#2 = (signed word~) show_letter::$2_x 
Alias (signed word) show_letter::to_y#2 = (signed word~) show_letter::$2_y 
Alias (signed word) show_letter::segment_to_x#0 = (signed word) show_letter::to_x#3 (signed word~) show_letter::$3 (signed word) show_letter::to_x#4 (signed word) show_letter::segment_to_x#1 (signed word) show_letter::current_x#1 (signed word) show_letter::segment_to_x#6 (signed word) show_letter::segment_to_x#2 (signed word) show_letter::segment_to_x#7 (signed word) show_letter::segment_to_x#3 (signed word) show_letter::current_x#2 (signed word) show_letter::segment_to_x#4 (signed word) show_letter::segment_to_x#5 (signed word) show_letter::current_x#3 
Alias (signed word) show_letter::segment_to_y#0 = (signed word) show_letter::to_y#3 (signed word~) show_letter::$4 (signed word) show_letter::to_y#4 (signed word) show_letter::segment_to_y#1 (signed word) show_letter::current_y#1 (signed word) show_letter::segment_to_y#6 (signed word) show_letter::segment_to_y#2 (signed word) show_letter::segment_to_y#7 (signed word) show_letter::segment_to_y#3 (signed word) show_letter::current_y#2 (signed word) show_letter::segment_to_y#4 (signed word) show_letter::segment_to_y#5 (signed word) show_letter::current_y#3 
Alias (signed word) show_letter::via_x#1 = (signed word~) show_letter::$5 
Alias (signed word) show_letter::via_y#1 = (signed word~) show_letter::$6 
Alias (signed word) rotate::return_x#1 = (signed word) rotate::return_x#5 
Alias (signed word) rotate::return_y#1 = (signed word) rotate::return_y#5 
Alias (signed word) show_letter::via_x#2 = (signed word~) show_letter::$7_x 
Alias (signed word) show_letter::via_y#2 = (signed word~) show_letter::$7_y 
Alias (signed word) show_letter::segment_via_x#0 = (signed word) show_letter::via_x#3 (signed word~) show_letter::$8 (signed word) show_letter::segment_via_x#2 (signed word) show_letter::segment_via_x#1 
Alias (signed word) show_letter::segment_via_y#0 = (signed word) show_letter::via_y#3 (signed word~) show_letter::$9 (signed word) show_letter::segment_via_y#2 (signed word) show_letter::segment_via_y#1 
Alias (byte) show_letter::segment_type#0 = (byte) show_letter::segment_type#1 
Alias (word) bitmap_line::x1#0 = (word~) show_letter::$12 
Alias (word) bitmap_line::y1#0 = (word~) show_letter::$13 
Alias (word) bitmap_line::x2#0 = (word~) show_letter::$14 
Alias (word) bitmap_line::y2#0 = (word~) show_letter::$15 
Alias (word) bitmap_line::x1#1 = (word~) bitmap_plot_spline_8seg::$0 
Alias (word) bitmap_line::y1#1 = (word~) bitmap_plot_spline_8seg::$1 
Alias (word) bitmap_line::x2#1 = (word~) bitmap_plot_spline_8seg::$2 
Alias (word) bitmap_line::y2#1 = (word~) bitmap_plot_spline_8seg::$3 
Alias (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#3 
Alias (signed word) rotate::cos_a#0 = (signed word~) rotate::$0 (signed word) rotate::cos_a#1 
Alias (signed dword) mulf16s::return#2 = (signed dword) mulf16s::return#7 
Alias (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#4 (signed word) rotate::vector_y#3 
Alias (byte) rotate::angle#2 = (byte) rotate::angle#4 (byte) rotate::angle#3 
Alias (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#5 (signed word) rotate::vector_x#4 (signed word) rotate::vector_x#3 
Alias (signed word) rotate::xr#0 = (signed word~) rotate::$3 (signed word) rotate::xr#4 (signed word) rotate::xr#2 
Alias (signed dword) mulf16s::return#3 = (signed dword) mulf16s::return#8 
Alias (signed word) rotate::yr#0 = (signed word~) rotate::$6 (signed word) rotate::yr#3 (signed word) rotate::yr#2 
Alias (signed word) rotate::sin_a#0 = (signed word~) rotate::$7 (signed word) rotate::sin_a#1 
Alias (signed dword) mulf16s::return#4 = (signed dword) mulf16s::return#9 
Alias (signed dword) mulf16s::return#10 = (signed dword) mulf16s::return#5 
Alias (signed word) rotate::xr#1 = (signed word) rotate::xr#3 
Alias (signed word) rotate::return_x#2 = (signed word) rotate::rotated_x#0 (signed word~) rotate::$16 (signed word) rotate::return_x#6 (signed word) rotate::return_x#3 
Alias (signed word) rotate::return_y#2 = (signed word) rotate::rotated_y#0 (signed word~) rotate::$19 (signed word) rotate::return_y#6 (signed word) rotate::return_y#3 
Alias (byte*) bitmap_gfx#0 = (byte*) bitmap_gfx#15 
Alias (byte*) bitmap_screen#0 = (byte*) bitmap_screen#15 
Alias (byte*) bitmap_gfx#10 = (byte*) bitmap_gfx#5 
Alias (byte*) bitmap_screen#10 = (byte*) bitmap_screen#5 
Successful SSA optimization Pass2AliasElimination
Alias (byte) bitmap_init::x#2 = (byte) bitmap_init::x#3 
Alias (byte*) bitmap_init::gfx#2 = (byte*) bitmap_init::gfx#4 
Alias (byte*) bitmap_gfx#22 = (byte*) bitmap_gfx#28 
Alias (byte*) bitmap_screen#21 = (byte*) bitmap_screen#27 
Alias (byte) bitmap_init::y#2 = (byte) bitmap_init::y#3 
Alias (byte*) bitmap_gfx#11 = (byte*) bitmap_gfx#16 
Alias (byte*) bitmap_screen#11 = (byte*) bitmap_screen#16 
Alias (word) bitmap_line::y#1 = (word) bitmap_line::y#6 
Alias (word) bitmap_line::y2#10 = (word) bitmap_line::y2#4 
Alias (word) bitmap_line::sy#1 = (word) bitmap_line::sy#6 
Alias (word) bitmap_line::dx#11 = (word) bitmap_line::dx#14 
Alias (word) bitmap_line::dy#11 = (word) bitmap_line::dy#3 
Alias (word) bitmap_line::sx#1 = (word) bitmap_line::sx#10 
Alias (word) bitmap_line::x#15 = (word) bitmap_line::x#9 
Alias (word) bitmap_line::x2#4 = (word) bitmap_line::x2#6 
Alias (word) bitmap_line::sx#11 = (word) bitmap_line::sx#6 
Alias (word) bitmap_line::dy#12 = (word) bitmap_line::dy#13 
Alias (word) bitmap_line::dx#12 = (word) bitmap_line::dx#5 
Alias (word) bitmap_line::sy#2 = (word) bitmap_line::sy#9 
Alias (byte*) mulf_init::sqr1_lo#2 = (byte*) mulf_init::sqr1_lo#3 
Alias (byte*) mulf_init::sqr1_hi#2 = (byte*) mulf_init::sqr1_hi#3 
Alias (byte) mulf_init::c#1 = (byte) mulf_init::c#4 
Alias (byte*) mulf_init::sqr2_lo#2 = (byte*) mulf_init::sqr2_lo#4 
Alias (byte) mulf_init::x_255#1 = (byte) mulf_init::x_255#4 
Alias (byte*) mulf_init::sqr2_hi#1 = (byte*) mulf_init::sqr2_hi#4 
Alias (signed word) mulf16s::b#4 = (signed word) mulf16s::b#5 
Alias (signed word) mulf16s::a#4 = (signed word) mulf16s::a#6 
Alias (byte) show_letter::i#10 = (byte) show_letter::i#5 
Alias (byte) show_letter::angle#1 = (byte) show_letter::angle#4 
Alias (signed word) show_letter::current_x#10 = (signed word) show_letter::segment_to_x#0 
Alias (signed word) show_letter::current_y#10 = (signed word) show_letter::segment_to_y#0 
Successful SSA optimization Pass2AliasElimination
Identical Phi Values (signed word) spline_8segB::p1_x#1 (signed word) spline_8segB::p1_x#0
Identical Phi Values (signed word) spline_8segB::p2_x#1 (signed word) spline_8segB::p2_x#0
Identical Phi Values (signed word) spline_8segB::p0_x#1 (signed word) spline_8segB::p0_x#0
Identical Phi Values (signed word) spline_8segB::p1_y#1 (signed word) spline_8segB::p1_y#0
Identical Phi Values (signed word) spline_8segB::p2_y#1 (signed word) spline_8segB::p2_y#0
Identical Phi Values (signed word) spline_8segB::p0_y#1 (signed word) spline_8segB::p0_y#0
Identical Phi Values (signed word) spline_8segB::j_x#1 (signed word) spline_8segB::j_x#0
Identical Phi Values (signed word) spline_8segB::j_y#1 (signed word) spline_8segB::j_y#0
Identical Phi Values (byte*) memset::end#1 (byte*) memset::end#0
Identical Phi Values (void*) memset::str#5 (void*) memset::str#3
Identical Phi Values (byte) memset::c#2 (byte) memset::c#4
Identical Phi Values (byte*) bitmap_init::gfx#1 (byte*) bitmap_init::gfx#0
Identical Phi Values (byte*) bitmap_init::screen#1 (byte*) bitmap_init::screen#0
Identical Phi Values (byte*) bitmap_init::gfx#2 (byte*) bitmap_init::gfx#1
Identical Phi Values (byte*) bitmap_gfx#22 (byte*) bitmap_gfx#1
Identical Phi Values (byte*) bitmap_screen#21 (byte*) bitmap_screen#1
Identical Phi Values (byte*) bitmap_gfx#11 (byte*) bitmap_gfx#22
Identical Phi Values (byte*) bitmap_screen#11 (byte*) bitmap_screen#21
Identical Phi Values (word) bitmap_line::sy#1 (word) bitmap_line::sy#0
Identical Phi Values (word) bitmap_line::dx#11 (word) bitmap_line::dx#0
Identical Phi Values (word) bitmap_line::dy#11 (word) bitmap_line::dy#0
Identical Phi Values (word) bitmap_line::y2#10 (word) bitmap_line::y2#11
Identical Phi Values (word) bitmap_line::sx#1 (word) bitmap_line::sx#0
Identical Phi Values (word) bitmap_line::sx#11 (word) bitmap_line::sx#0
Identical Phi Values (word) bitmap_line::dy#12 (word) bitmap_line::dy#0
Identical Phi Values (word) bitmap_line::dx#12 (word) bitmap_line::dx#0
Identical Phi Values (word) bitmap_line::x2#4 (word) bitmap_line::x2#10
Identical Phi Values (word) bitmap_line::sy#2 (word) bitmap_line::sy#0
Identical Phi Values (word) mulf16u::a#1 (word) mulf16u::a#0
Identical Phi Values (word) mulf16u::b#1 (word) mulf16u::b#0
Identical Phi Values (byte*) bitmap_gfx#13 (byte*) bitmap_gfx#0
Identical Phi Values (byte*) bitmap_screen#13 (byte*) bitmap_screen#0
Identical Phi Values (byte*) bitmap_gfx#23 (byte*) bitmap_gfx#11
Identical Phi Values (byte*) bitmap_screen#22 (byte*) bitmap_screen#11
Identical Phi Values (byte) main::w#2 (byte) main::w#4
Identical Phi Values (byte) main::angle#3 (byte) main::angle#8
Identical Phi Values (byte*) bitmap_screen#23 (byte*) bitmap_screen#32
Identical Phi Values (byte*) bitmap_gfx#24 (byte*) bitmap_gfx#33
Identical Phi Values (byte*) bitmap_gfx#14 (byte*) bitmap_gfx#18
Identical Phi Values (byte*) bitmap_screen#14 (byte*) bitmap_screen#12
Identical Phi Values (byte) show_letter::angle#3 (byte) show_letter::angle#0
Identical Phi Values (byte) show_letter::angle#1 (byte) show_letter::angle#3
Identical Phi Values (byte*) bitmap_gfx#10 (byte*) bitmap_gfx#14
Identical Phi Values (byte*) bitmap_screen#10 (byte*) bitmap_screen#14
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (void*) memset::return#0 (void*) memset::str#3
Identical Phi Values (byte) main::angle#8 (byte) main::angle#2
Identical Phi Values (byte*) bitmap_screen#32 (byte*) bitmap_screen#12
Identical Phi Values (byte*) bitmap_gfx#33 (byte*) bitmap_gfx#18
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) bitmap_screen#12 (byte*) bitmap_screen#1
Identical Phi Values (byte*) bitmap_gfx#18 (byte*) bitmap_gfx#1
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (byte*) bitmap_screen#7 (byte*) bitmap_screen#1
Identical Phi Values (byte*) bitmap_gfx#12 (byte*) bitmap_gfx#1
Successful SSA optimization Pass2IdenticalPhiElimination
Identified duplicate assignment right side [107] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7
Identified duplicate assignment right side [535] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Successful SSA optimization Pass2DuplicateRValueIdentification
Simple Condition (bool~) spline_8segB::$30 [48] if((byte) spline_8segB::n#1!=rangelast(0,7)) goto spline_8segB::@1
Simple Condition (bool~) memset::$1 [61] if((word) memset::num#2<=(byte) 0) goto memset::@1
Simple Condition (bool~) memset::$4 [71] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@5
Simple Condition (bool~) bitmap_init::$1 [90] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@2
Simple Condition (bool~) bitmap_init::$2 [94] if((byte) bitmap_init::x#1!=rangelast(0,$ff)) goto bitmap_init::@1
Simple Condition (bool~) bitmap_init::$9 [110] if((byte~) bitmap_init::$7!=(byte) 7) goto bitmap_init::@6
Simple Condition (bool~) bitmap_init::$11 [114] if((byte) bitmap_init::y#1!=rangelast(0,$ff)) goto bitmap_init::@5
Simple Condition (bool~) bitmap_line::$12 [185] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2
Simple Condition (bool~) bitmap_line::$21 [208] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@8
Simple Condition (bool~) bitmap_line::$22 [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@7
Simple Condition (bool~) bitmap_line::$27 [230] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@13
Simple Condition (bool~) bitmap_line::$28 [233] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@12
Simple Condition (bool~) abs_u16::$3 [241] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1
Simple Condition (bool~) sgn_u16::$2 [254] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1
Simple Condition (bool~) mulf_init::$0 [267] if((byte*) mulf_init::sqr1_lo#2!=(const byte*) mulf_sqr1_lo+(word) $200) goto mulf_init::@2
Simple Condition (bool~) mulf_init::$3 [273] if((byte~) mulf_init::$1!=(byte) 0) goto mulf_init::@4
Simple Condition (bool~) mulf_init::$7 [292] if((byte*) mulf_init::sqr2_lo#2!=(const byte*) mulf_sqr2_lo+(word) $1ff) goto mulf_init::@10
Simple Condition (bool~) mulf_init::$10 [301] if((byte) mulf_init::x_255#1!=(byte) 0) goto mulf_init::@12
Simple Condition (bool~) mulf16s::$4 [329] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1
Simple Condition (bool~) mulf16s::$6 [333] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2
Simple Condition (bool~) main::$7 [414] if(*((const byte*) RASTER)!=(byte) $fe) goto main::@5
Simple Condition (bool~) main::$8 [417] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@7
Simple Condition (bool~) main::$9 [421] if((byte) main::w#1!=rangelast(0,$3c)) goto main::@5
Simple Condition (bool~) show_letter::$10 [488] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@2
Simple Condition (bool~) show_letter::$11 [494] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@3
Simple Condition (bool~) show_letter::$19 [524] if((byte) show_letter::i#1!=rangelast(0,$15)) goto show_letter::@1
Simple Condition (bool~) bitmap_plot_spline_8seg::$5 [548] if((byte) bitmap_plot_spline_8seg::n#1!=rangelast(1,8)) goto bitmap_plot_spline_8seg::@1
Successful SSA optimization Pass2ConditionalJumpSimplification
Rewriting ! if()-condition to reversed if() [167] (bool~) bitmap_line::$7 ← ! (bool~) bitmap_line::$6
Rewriting && if()-condition to two if()s [166] (bool~) bitmap_line::$6 ← (bool~) bitmap_line::$4 && (bool~) bitmap_line::$5
Successful SSA optimization Pass2ConditionalAndOrRewriting
Constant right-side identified [54] (byte~) spline_8segB::$32 ← (byte) 8 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Constant right-side identified [526] (byte~) bitmap_plot_spline_8seg::$6 ← (byte) 0 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte) spline_8segB::n#0 = 0
Constant (const byte) spline_8segB::$32 = 8*SIZEOF_STRUCT_SPLINEVECTOR16
Constant (const byte*) bitmap_screen#0 = (byte*) 0
Constant (const byte*) bitmap_gfx#0 = (byte*) 0
Constant (const byte) bitmap_init::bits#0 = $80
Constant (const byte) bitmap_init::x#0 = 0
Constant (const byte) bitmap_init::bits#2 = $80
Constant (const byte) bitmap_init::y#0 = 0
Constant (const word) memset::num#0 = $3e8
Constant (const byte) memset::c#1 = 0
Constant (const word) memset::num#1 = $1f40
Constant (const word) sgn_u16::return#2 = -1
Constant (const word) sgn_u16::return#3 = 1
Constant (const word) mulf_init::sqr#0 = 0
Constant (const byte) mulf_init::x_2#0 = 0
Constant (const byte) mulf_init::c#0 = 0
Constant (const byte*) mulf_init::sqr1_hi#0 = mulf_sqr1_hi+1
Constant (const byte*) mulf_init::sqr1_lo#0 = mulf_sqr1_lo+1
Constant (const byte) mulf_init::x_255#0 = -1
Constant (const byte) mulf_init::dir#0 = $ff
Constant (const byte*) mulf_init::sqr2_hi#0 = mulf_sqr2_hi
Constant (const byte*) mulf_init::sqr2_lo#0 = mulf_sqr2_lo
Constant (const byte) mulf_init::dir#1 = 1
Constant (const byte*) bitmap_init::gfx#0 = BITMAP_GRAPHICS
Constant (const byte*) bitmap_init::screen#0 = BITMAP_SCREEN
Constant (const byte) bitmap_clear::bgcol#0 = BLACK
Constant (const byte) bitmap_clear::fgcol#0 = WHITE
Constant (const byte*) main::vicSelectGfxBank1_gfx#0 = BITMAP_SCREEN
Constant (const byte*) main::toD0181_screen#0 = BITMAP_SCREEN
Constant (const byte*) main::toD0181_gfx#0 = BITMAP_GRAPHICS
Constant (const byte) main::angle#0 = 0
Constant (const byte) bitmap_clear::bgcol#1 = BLACK
Constant (const byte) bitmap_clear::fgcol#1 = WHITE
Constant (const byte) main::w#0 = 0
Constant (const signed word) show_letter::current_x#0 = 0
Constant (const signed word) show_letter::current_y#0 = 0
Constant (const byte) show_letter::i#0 = 0
Constant (const byte) bitmap_plot_spline_8seg::$6 = 0*SIZEOF_STRUCT_SPLINEVECTOR16
Constant (const byte) bitmap_plot_spline_8seg::n#0 = 1
Successful SSA optimization Pass2ConstantIdentification
Constant (const byte*) bitmap_gfx#1 = bitmap_init::gfx#0
Constant (const byte*) bitmap_screen#1 = bitmap_init::screen#0
Constant (const word) main::vicSelectGfxBank1_toDd001_$0 = (word)main::vicSelectGfxBank1_gfx#0
Constant (const word) main::toD0181_$0 = (word)main::toD0181_screen#0
Constant (const word) main::toD0181_$4 = (word)main::toD0181_gfx#0
Successful SSA optimization Pass2ConstantIdentification
Constant (const void*) memset::str#0 = (void*)bitmap_screen#1
Constant (const void*) memset::str#1 = (void*)bitmap_gfx#1
Successful SSA optimization Pass2ConstantIdentification
if() condition always true - replacing block destination [402] if(true) goto main::@2
if() condition always true - replacing block destination [425] if(true) goto main::@14
Successful SSA optimization Pass2ConstantIfs
Resolved ranged next value [46] spline_8segB::n#1 ← ++ spline_8segB::n#2 to ++
Resolved ranged comparison value [48] if(spline_8segB::n#1!=rangelast(0,7)) goto spline_8segB::@1 to (number) 8
Resolved ranged next value [92] bitmap_init::x#1 ← ++ bitmap_init::x#2 to ++
Resolved ranged comparison value [94] if(bitmap_init::x#1!=rangelast(0,$ff)) goto bitmap_init::@1 to (number) 0
Resolved ranged next value [112] bitmap_init::y#1 ← ++ bitmap_init::y#2 to ++
Resolved ranged comparison value [114] if(bitmap_init::y#1!=rangelast(0,$ff)) goto bitmap_init::@5 to (number) 0
Resolved ranged next value [419] main::w#1 ← ++ main::w#4 to ++
Resolved ranged comparison value [421] if(main::w#1!=rangelast(0,$3c)) goto main::@5 to (number) $3d
Resolved ranged next value [522] show_letter::i#1 ← ++ show_letter::i#10 to ++
Resolved ranged comparison value [524] if(show_letter::i#1!=rangelast(0,$15)) goto show_letter::@1 to (number) $16
Resolved ranged next value [546] bitmap_plot_spline_8seg::n#1 ← ++ bitmap_plot_spline_8seg::n#2 to ++
Resolved ranged comparison value [548] if(bitmap_plot_spline_8seg::n#1!=rangelast(1,8)) goto bitmap_plot_spline_8seg::@1 to (number) 9
Simplifying constant evaluating to zero (byte) 0*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16 in 
Successful SSA optimization PassNSimplifyConstantZero
Simplifying expression containing zero (signed word*)SPLINE_8SEG in [36] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23
Simplifying expression containing zero (signed word*)SPLINE_8SEG in [55] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (const byte) spline_8segB::$32) ← (signed word~) spline_8segB::$19
Simplifying expression containing zero (signed word*)(struct SplineVector16*)letter_c+OFFSET_STRUCT_SEGMENT_TO in [438] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) show_letter::$20)
Simplifying expression containing zero (signed word*)(struct SplineVector16*)letter_c+OFFSET_STRUCT_SEGMENT_VIA in [460] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) show_letter::$21)
Simplifying expression containing zero (byte*)letter_c in [482] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TYPE + (byte~) show_letter::$22)
Simplifying expression containing zero (signed word*)SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_X in [527] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (const byte) bitmap_plot_spline_8seg::$6)
Simplifying expression containing zero (signed word*)SPLINE_8SEG in [527] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X)
Simplifying expression containing zero (signed word*)SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y in [528] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (const byte) bitmap_plot_spline_8seg::$6)
Simplifying expression containing zero (signed word*)SPLINE_8SEG in [534] (word) bitmap_line::x2#1 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) bitmap_plot_spline_8seg::$7)
Simplifying expression containing zero (signed word*)SPLINE_8SEG in [544] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_X + (byte~) bitmap_plot_spline_8seg::$9)
Successful SSA optimization PassNSimplifyExpressionWithZero
Eliminating unused variable (void*) memset::return#2 and assignment [75] (void*) memset::return#2 ← (void*) memset::str#3
Eliminating unused variable (void*) memset::return#3 and assignment [77] (void*) memset::return#3 ← (void*) memset::str#3
Eliminating unused variable (struct SplineVector16) rotate::return#0 and assignment [340] (struct SplineVector16) rotate::return#0 ← struct-unwound {(signed word) rotate::return_x#2, (signed word) rotate::return_y#2}
Eliminating unused variable (struct SplineVector16) rotate::return#1 and assignment [341] (struct SplineVector16) rotate::return#1 ← struct-unwound {(signed word) rotate::return_x#2, (signed word) rotate::return_y#2}
Eliminating unused constant (const byte) bitmap_plot_spline_8seg::$6
Eliminating unused constant (const byte) OFFSET_STRUCT_SPLINEVECTOR16_X
Eliminating unused constant (const byte) OFFSET_STRUCT_SEGMENT_TYPE
Eliminating unused constant (const byte*) bitmap_screen#0
Eliminating unused constant (const byte*) bitmap_gfx#0
Successful SSA optimization PassNEliminateUnusedVars
Removing unused block main::@13
Removing unused block main::@14
Removing unused block main::@return
Successful SSA optimization Pass2EliminateUnusedBlocks
Adding number conversion cast (unumber) 8 in if((byte) spline_8segB::n#1!=(number) 8) goto spline_8segB::@1
Adding number conversion cast (unumber) 0 in if((byte) bitmap_init::x#1!=(number) 0) goto bitmap_init::@1
Adding number conversion cast (unumber) 0 in if((byte) bitmap_init::y#1!=(number) 0) goto bitmap_init::@5
Adding number conversion cast (unumber) $3d in if((byte) main::w#1!=(number) $3d) goto main::@5
Adding number conversion cast (unumber) $16 in if((byte) show_letter::i#1!=(number) $16) goto show_letter::@1
Adding number conversion cast (unumber) 9 in if((byte) bitmap_plot_spline_8seg::n#1!=(number) 9) goto bitmap_plot_spline_8seg::@1
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast (byte*) bitmap_plot::plotter#0 ← (byte*)(word~) bitmap_plot::$3
Successful SSA optimization Pass2InlineCast
Simplifying constant integer cast 8
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $3d
Simplifying constant integer cast $16
Simplifying constant integer cast 9
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) 8
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $3d
Finalized unsigned number type (byte) $16
Finalized unsigned number type (byte) 9
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias (byte~) bitmap_init::$7 = (byte~) bitmap_init::$3 
Alias (byte~) bitmap_plot_spline_8seg::$8 = (byte~) bitmap_plot_spline_8seg::$7 
Successful SSA optimization Pass2AliasElimination
Simple Condition (bool~) bitmap_line::$4 [96] if((word) bitmap_line::dx#0==(byte) 0) goto bitmap_line::@24
Simple Condition (bool~) bitmap_line::$5 [338] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4
Successful SSA optimization Pass2ConditionalJumpSimplification
Negating conditional jump and destination [96] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Constant right-side identified [207] (byte~) main::vicSelectGfxBank1_toDd001_$1 ← > (const word) main::vicSelectGfxBank1_toDd001_$0
Constant right-side identified [211] (word~) main::toD0181_$1 ← (const word) main::toD0181_$0 & (word) $3fff
Constant right-side identified [214] (byte~) main::toD0181_$5 ← > (const word) main::toD0181_$4
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte) main::vicSelectGfxBank1_toDd001_$1 = >main::vicSelectGfxBank1_toDd001_$0
Constant (const word) main::toD0181_$1 = main::toD0181_$0&$3fff
Constant (const byte) main::toD0181_$5 = >main::toD0181_$4
Successful SSA optimization Pass2ConstantIdentification
Eliminating unused constant (const byte*) PRINT_SCREEN
Successful SSA optimization PassNEliminateUnusedVars
Constant right-side identified [204] (byte~) main::vicSelectGfxBank1_toDd001_$2 ← (const byte) main::vicSelectGfxBank1_toDd001_$1 / (byte) $40
Constant right-side identified [207] (word~) main::toD0181_$2 ← (const word) main::toD0181_$1 * (byte) 4
Constant right-side identified [209] (byte~) main::toD0181_$6 ← (const byte) main::toD0181_$5 / (byte) 4
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte) main::vicSelectGfxBank1_toDd001_$2 = main::vicSelectGfxBank1_toDd001_$1/$40
Constant (const word) main::toD0181_$2 = main::toD0181_$1*4
Constant (const byte) main::toD0181_$6 = main::toD0181_$5/4
Successful SSA optimization Pass2ConstantIdentification
Constant right-side identified [204] (byte) main::vicSelectGfxBank1_toDd001_return#0 ← (byte) 3 ^ (const byte) main::vicSelectGfxBank1_toDd001_$2
Constant right-side identified [206] (byte~) main::toD0181_$3 ← > (const word) main::toD0181_$2
Constant right-side identified [207] (byte~) main::toD0181_$7 ← (const byte) main::toD0181_$6 & (byte) $f
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte) main::vicSelectGfxBank1_toDd001_return#0 = 3^main::vicSelectGfxBank1_toDd001_$2
Constant (const byte) main::toD0181_$3 = >main::toD0181_$2
Constant (const byte) main::toD0181_$7 = main::toD0181_$6&$f
Successful SSA optimization Pass2ConstantIdentification
Constant right-side identified [205] (byte) main::toD0181_return#0 ← (const byte) main::toD0181_$3 | (const byte) main::toD0181_$7
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte) main::toD0181_return#0 = main::toD0181_$3|main::toD0181_$7
Successful SSA optimization Pass2ConstantIdentification
Inlining Noop Cast [41] (byte*~) memset::$2 ← (byte*)(void*) memset::str#3 keeping memset::str#3
Inlining Noop Cast [43] (byte*) memset::dst#0 ← (byte*)(void*) memset::str#3 keeping memset::str#3
Inlining Noop Cast [190] (word~) mulf16s::$10 ← (word)(signed word) mulf16s::b#4 keeping mulf16s::b#4
Inlining Noop Cast [196] (word~) mulf16s::$14 ← (word)(signed word) mulf16s::a#4 keeping mulf16s::a#4
Inlining Noop Cast [274] (word) bitmap_line::x2#1 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8) keeping *((signed word*)SPLINE_8SEG + bitmap_plot_spline_8seg::$8)
Inlining Noop Cast [275] (word) bitmap_line::y2#1 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8) keeping *((signed word*)SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y + bitmap_plot_spline_8seg::$8)
Successful SSA optimization Pass2NopCastInlining
Inlining Noop Cast [78] (byte*) bitmap_plot::plotter#0 ← (byte*)(word~) bitmap_plot::$3 keeping bitmap_plot::plotter#0
Inlining Noop Cast [317] (signed byte~) rotate::$15 ← (signed byte)(byte~) rotate::$14 keeping rotate::$15
Inlining Noop Cast [320] (signed byte~) rotate::$18 ← (signed byte)(byte~) rotate::$17 keeping rotate::$18
Successful SSA optimization Pass2NopCastInlining
Rewriting multiplication to use shift [0] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 * (signed byte) 2
Rewriting multiplication to use shift [3] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 * (signed byte) 2
Rewriting multiplication to use shift [7] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 * (signed byte) 2
Rewriting multiplication to use shift [9] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 * (signed byte) 2
Rewriting multiplication to use shift [10] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 * (signed byte) 8
Rewriting multiplication to use shift [12] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 * (signed byte) 8
Rewriting multiplication to use shift [14] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 * (signed byte) 2
Rewriting multiplication to use shift [15] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 * (signed byte) 2
Rewriting multiplication to use shift [16] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 * (signed byte) $40
Rewriting multiplication to use shift [17] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 * (signed byte) $40
Rewriting division to use shift [20] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 / (signed byte) $40
Rewriting division to use shift [22] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 / (signed byte) $40
Rewriting multiplication to use shift [23] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Rewriting division to use shift [33] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 / (signed byte) $40
Rewriting division to use shift [35] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 / (signed byte) $40
Rewriting multiplication to use shift [70] (byte~) bitmap_clear::$0 ← (byte) bitmap_clear::fgcol#2 * (byte) $10
Rewriting division to use shift [107] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 / (byte) 2
Rewriting division to use shift [108] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 / (byte) 2
Rewriting multiplication to use shift and addition[218] (byte~) show_letter::$20 ← (byte) show_letter::i#10 * (const byte) SIZEOF_STRUCT_SEGMENT
Rewriting multiplication to use shift and addition[233] (byte~) show_letter::$21 ← (byte) show_letter::i#10 * (const byte) SIZEOF_STRUCT_SEGMENT
Rewriting multiplication to use shift and addition[248] (byte~) show_letter::$22 ← (byte) show_letter::i#10 * (const byte) SIZEOF_STRUCT_SEGMENT
Rewriting multiplication to use shift [273] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Rewriting multiplication to use shift [277] (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#2 * (const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Rewriting multiplication to use shift [291] (signed word) rotate::xr#0 ← (signed word~) rotate::$2 * (signed byte) 2
Rewriting multiplication to use shift [298] (signed word) rotate::yr#0 ← (signed word~) rotate::$5 * (signed byte) 2
Rewriting multiplication to use shift [306] (signed word~) rotate::$10 ← (signed word~) rotate::$9 * (signed byte) 2
Rewriting multiplication to use shift [314] (signed word~) rotate::$13 ← (signed word~) rotate::$12 * (signed byte) 2
Successful SSA optimization Pass2MultiplyToShiftRewriting
Inlining constant with var siblings (const byte) spline_8segB::n#0
Inlining constant with var siblings (const word) memset::num#0
Inlining constant with var siblings (const byte) memset::c#1
Inlining constant with var siblings (const word) memset::num#1
Inlining constant with var siblings (const void*) memset::str#0
Inlining constant with var siblings (const void*) memset::str#1
Inlining constant with var siblings (const byte) bitmap_init::bits#0
Inlining constant with var siblings (const byte) bitmap_init::x#0
Inlining constant with var siblings (const byte) bitmap_init::bits#2
Inlining constant with var siblings (const byte) bitmap_init::y#0
Inlining constant with var siblings (const byte) bitmap_clear::bgcol#0
Inlining constant with var siblings (const byte) bitmap_clear::fgcol#0
Inlining constant with var siblings (const byte) bitmap_clear::bgcol#1
Inlining constant with var siblings (const byte) bitmap_clear::fgcol#1
Inlining constant with var siblings (const word) sgn_u16::return#2
Inlining constant with var siblings (const word) sgn_u16::return#3
Inlining constant with var siblings (const word) mulf_init::sqr#0
Inlining constant with var siblings (const byte) mulf_init::x_2#0
Inlining constant with var siblings (const byte) mulf_init::c#0
Inlining constant with var siblings (const byte*) mulf_init::sqr1_hi#0
Inlining constant with var siblings (const byte*) mulf_init::sqr1_lo#0
Inlining constant with var siblings (const byte) mulf_init::x_255#0
Inlining constant with var siblings (const byte) mulf_init::dir#0
Inlining constant with var siblings (const byte*) mulf_init::sqr2_hi#0
Inlining constant with var siblings (const byte*) mulf_init::sqr2_lo#0
Inlining constant with var siblings (const byte) mulf_init::dir#1
Inlining constant with var siblings (const byte) main::angle#0
Inlining constant with var siblings (const byte) main::w#0
Inlining constant with var siblings (const signed word) show_letter::current_x#0
Inlining constant with var siblings (const signed word) show_letter::current_y#0
Inlining constant with var siblings (const byte) show_letter::i#0
Inlining constant with var siblings (const byte) bitmap_plot_spline_8seg::n#0
Constant inlined bitmap_init::screen#0 = (const byte*) BITMAP_SCREEN
Constant inlined bitmap_clear::bgcol#0 = (const byte) BLACK
Constant inlined mulf_init::sqr2_lo#0 = (const byte*) mulf_sqr2_lo
Constant inlined bitmap_init::gfx#0 = (const byte*) BITMAP_GRAPHICS
Constant inlined bitmap_clear::bgcol#1 = (const byte) BLACK
Constant inlined mulf_init::sqr2_hi#0 = (const byte*) mulf_sqr2_hi
Constant inlined memset::num#1 = (word) $1f40
Constant inlined memset::num#0 = (word) $3e8
Constant inlined mulf_init::dir#1 = (byte) 1
Constant inlined mulf_init::dir#0 = (byte) $ff
Constant inlined mulf_init::x_255#0 = (byte) -1
Constant inlined mulf_init::x_2#0 = (byte) 0
Constant inlined main::toD0181_$7 = >(word)(const byte*) BITMAP_GRAPHICS/(byte) 4&(byte) $f
Constant inlined bitmap_plot_spline_8seg::n#0 = (byte) 1
Constant inlined main::toD0181_$2 = (word)(const byte*) BITMAP_SCREEN&(word) $3fff*(byte) 4
Constant inlined main::toD0181_$1 = (word)(const byte*) BITMAP_SCREEN&(word) $3fff
Constant inlined bitmap_gfx#1 = (const byte*) BITMAP_GRAPHICS
Constant inlined main::toD0181_$0 = (word)(const byte*) BITMAP_SCREEN
Constant inlined show_letter::current_x#0 = (signed word) 0
Constant inlined main::toD0181_$6 = >(word)(const byte*) BITMAP_GRAPHICS/(byte) 4
Constant inlined main::toD0181_$5 = >(word)(const byte*) BITMAP_GRAPHICS
Constant inlined main::w#0 = (byte) 0
Constant inlined main::toD0181_$4 = (word)(const byte*) BITMAP_GRAPHICS
Constant inlined main::toD0181_$3 = >(word)(const byte*) BITMAP_SCREEN&(word) $3fff*(byte) 4
Constant inlined mulf_init::sqr1_hi#0 = (const byte*) mulf_sqr1_hi+(byte) 1
Constant inlined mulf_init::sqr1_lo#0 = (const byte*) mulf_sqr1_lo+(byte) 1
Constant inlined spline_8segB::n#0 = (byte) 0
Constant inlined bitmap_init::x#0 = (byte) 0
Constant inlined memset::c#1 = (byte) 0
Constant inlined mulf_init::c#0 = (byte) 0
Constant inlined main::toD0181_screen#0 = (const byte*) BITMAP_SCREEN
Constant inlined main::toD0181_gfx#0 = (const byte*) BITMAP_GRAPHICS
Constant inlined bitmap_init::bits#0 = (byte) $80
Constant inlined bitmap_init::bits#2 = (byte) $80
Constant inlined spline_8segB::$32 = (byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16
Constant inlined sgn_u16::return#3 = (byte) 1
Constant inlined sgn_u16::return#2 = (byte) -1
Constant inlined memset::str#1 = (void*)(const byte*) BITMAP_GRAPHICS
Constant inlined memset::str#0 = (void*)(const byte*) BITMAP_SCREEN
Constant inlined mulf_init::sqr#0 = (word) 0
Constant inlined show_letter::current_y#0 = (signed word) 0
Constant inlined bitmap_clear::fgcol#0 = (const byte) WHITE
Constant inlined main::vicSelectGfxBank1_toDd001_$0 = (word)(const byte*) BITMAP_SCREEN
Constant inlined main::angle#0 = (byte) 0
Constant inlined main::vicSelectGfxBank1_toDd001_$2 = >(word)(const byte*) BITMAP_SCREEN/(byte) $40
Constant inlined main::vicSelectGfxBank1_toDd001_$1 = >(word)(const byte*) BITMAP_SCREEN
Constant inlined bitmap_clear::fgcol#1 = (const byte) WHITE
Constant inlined bitmap_screen#1 = (const byte*) BITMAP_SCREEN
Constant inlined main::vicSelectGfxBank1_gfx#0 = (const byte*) BITMAP_SCREEN
Constant inlined bitmap_init::y#0 = (byte) 0
Constant inlined show_letter::i#0 = (byte) 0
Successful SSA optimization Pass2ConstantInlining
Consolidated array index constant in *((signed word*)SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16)
Consolidated array index constant in *((signed word*)SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16)
Successful SSA optimization Pass2ConstantAdditionElimination
Alias (byte~) show_letter::$20 = (byte~) show_letter::$24 
Alias (byte~) show_letter::$21 = (byte~) show_letter::$26 
Alias (byte~) show_letter::$22 = (byte~) show_letter::$28 
Successful SSA optimization Pass2AliasElimination
Identical Phi Values (byte) bitmap_clear::fgcol#2 (const byte) WHITE
Identical Phi Values (byte) bitmap_clear::bgcol#2 (const byte) BLACK
Successful SSA optimization Pass2IdenticalPhiElimination
Constant right-side identified [68] (byte~) bitmap_clear::$0 ← (const byte) WHITE << (byte) 4
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte) bitmap_clear::$0 = WHITE<<4
Successful SSA optimization Pass2ConstantIdentification
Simplifying expression containing zero bitmap_clear::$0 in [69] (byte) bitmap_clear::col#0 ← (const byte) bitmap_clear::$0 + (const byte) BLACK
Successful SSA optimization PassNSimplifyExpressionWithZero
Eliminating unused constant (const byte) BLACK
Eliminating unused constant (const byte) SIZEOF_STRUCT_SEGMENT
Successful SSA optimization PassNEliminateUnusedVars
Constant inlined bitmap_clear::$0 = (const byte) WHITE<<(byte) 4
Successful SSA optimization Pass2ConstantInlining
Constant (const byte) bitmap_clear::col#0 = WHITE<<4
Successful SSA optimization Pass2ConstantIdentification
Constant (const byte) memset::c#0 = bitmap_clear::col#0
Successful SSA optimization Pass2ConstantIdentification
Inlining constant with var siblings (const byte) memset::c#0
Constant inlined memset::c#0 = (const byte) bitmap_clear::col#0
Successful SSA optimization Pass2ConstantInlining
Added new block during phi lifting spline_8segB::@3(between spline_8segB::@1 and spline_8segB::@1)
Added new block during phi lifting bitmap_init::@9(between bitmap_init::@2 and bitmap_init::@1)
Added new block during phi lifting bitmap_init::@10(between bitmap_init::@1 and bitmap_init::@2)
Added new block during phi lifting bitmap_init::@11(between bitmap_init::@6 and bitmap_init::@5)
Added new block during phi lifting bitmap_init::@12(between bitmap_init::@5 and bitmap_init::@6)
Added new block during phi lifting bitmap_line::@25(between bitmap_line::@8 and bitmap_line::@7)
Added new block during phi lifting bitmap_line::@26(between bitmap_line::@21 and bitmap_line::@8)
Added new block during phi lifting bitmap_line::@27(between bitmap_line::@13 and bitmap_line::@3)
Added new block during phi lifting bitmap_line::@28(between bitmap_line::@8 and bitmap_line::@3)
Added new block during phi lifting bitmap_line::@29(between bitmap_line::@13 and bitmap_line::@12)
Added new block during phi lifting bitmap_line::@30(between bitmap_line::@23 and bitmap_line::@13)
Added new block during phi lifting mulf_init::@17(between mulf_init::@2 and mulf_init::@4)
Added new block during phi lifting mulf_init::@18(between mulf_init::@10 and mulf_init::@12)
Added new block during phi lifting mulf16s::@7(between mulf16s::@6 and mulf16s::@1)
Added new block during phi lifting mulf16s::@8(between mulf16s::@1 and mulf16s::@2)
Added new block during phi lifting main::@26(between main::@5 and main::@5)
Added new block during phi lifting main::@27(between main::@8 and main::@5)
Added new block during phi lifting show_letter::@16(between show_letter::@5 and show_letter::@1)
Added new block during phi lifting bitmap_plot_spline_8seg::@4(between bitmap_plot_spline_8seg::@3 and bitmap_plot_spline_8seg::@1)
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @8
Adding NOP phi() at start of @65
Adding NOP phi() at start of @66
Adding NOP phi() at start of @end
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@21
Adding NOP phi() at start of main::@22
Adding NOP phi() at start of main::@23
Adding NOP phi() at start of main::vicSelectGfxBank1_toDd001
Adding NOP phi() at start of main::vicSelectGfxBank1_toDd001_@return
Adding NOP phi() at start of main::@19
Adding NOP phi() at start of main::toD0181
Adding NOP phi() at start of main::toD0181_@return
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@25
Adding NOP phi() at start of show_letter
Adding NOP phi() at start of show_letter::@15
Adding NOP phi() at start of show_letter::@13
Adding NOP phi() at start of show_letter::@14
Adding NOP phi() at start of show_letter::@2
Adding NOP phi() at start of bitmap_line::@22
Adding NOP phi() at start of bitmap_line::@20
Adding NOP phi() at start of sgn_u16::@3
Adding NOP phi() at start of sgn_u16::@1
Adding NOP phi() at start of bitmap_clear
Adding NOP phi() at start of bitmap_clear::@1
Adding NOP phi() at start of bitmap_clear::@2
Adding NOP phi() at start of memset::@1
Adding NOP phi() at start of bitmap_init
Adding NOP phi() at start of bitmap_init::@3
Adding NOP phi() at start of bitmap_init::@4
Adding NOP phi() at start of mulf_init
Adding NOP phi() at start of mulf_init::@3
Adding NOP phi() at start of mulf_init::@15
CALL GRAPH
Calls in [] to main:3 
Calls in [main] to mulf_init:7 bitmap_init:9 bitmap_clear:11 bitmap_clear:24 show_letter:26 
Calls in [show_letter] to rotate:51 rotate:70 bitmap_line:90 spline_8segB:104 bitmap_plot_spline_8seg:106 
Calls in [bitmap_plot_spline_8seg] to bitmap_line:121 
Calls in [bitmap_line] to abs_u16:134 abs_u16:139 sgn_u16:146 sgn_u16:151 bitmap_plot:164 bitmap_plot:181 bitmap_plot:198 bitmap_plot:219 
Calls in [rotate] to mulf16s:299 mulf16s:308 mulf16s:318 mulf16s:328 
Calls in [mulf16s] to mulf16u:342 
Calls in [bitmap_clear] to memset:367 memset:369 

Created 64 initial phi equivalence classes
Coalesced [34] main::angle#10 ← main::angle#1
Coalesced [35] main::w#6 ← main::w#1
Coalesced (already) [36] main::w#5 ← main::w#4
Coalesced [48] rotate::angle#5 ← rotate::angle#0
Coalesced [49] rotate::vector_x#6 ← rotate::vector_x#0
Coalesced [50] rotate::vector_y#5 ← rotate::vector_y#0
Coalesced [67] rotate::angle#6 ← rotate::angle#1
Coalesced [68] rotate::vector_x#7 ← rotate::vector_x#1
Coalesced [69] rotate::vector_y#6 ← rotate::vector_y#1
Coalesced [86] bitmap_line::x#21 ← bitmap_line::x1#0
Coalesced [87] bitmap_line::y#21 ← bitmap_line::y1#0
Coalesced [88] bitmap_line::x2#14 ← bitmap_line::x2#0
Coalesced [89] bitmap_line::y2#14 ← bitmap_line::y2#0
Coalesced [95] show_letter::i#13 ← show_letter::i#1
Not coalescing [96] show_letter::current_x#11 ← show_letter::current_x#10
Not coalescing [97] show_letter::current_y#11 ← show_letter::current_y#10
Coalesced [111] bitmap_plot_spline_8seg::current_x#3 ← bitmap_plot_spline_8seg::current_x#0
Coalesced [112] bitmap_plot_spline_8seg::current_y#3 ← bitmap_plot_spline_8seg::current_y#0
Coalesced [117] bitmap_line::x#20 ← bitmap_line::x1#1
Coalesced [118] bitmap_line::y#20 ← bitmap_line::y1#1
Coalesced [128] bitmap_plot_spline_8seg::current_x#4 ← bitmap_plot_spline_8seg::current_x#1
Coalesced [129] bitmap_plot_spline_8seg::current_y#4 ← bitmap_plot_spline_8seg::current_y#1
Coalesced [130] bitmap_plot_spline_8seg::n#4 ← bitmap_plot_spline_8seg::n#1
Coalesced [133] abs_u16::w#5 ← abs_u16::w#0
Coalesced [138] abs_u16::w#6 ← abs_u16::w#1
Coalesced [145] sgn_u16::w#3 ← sgn_u16::w#0
Coalesced [150] sgn_u16::w#4 ← sgn_u16::w#1
Coalesced [156] bitmap_line::y#22 ← bitmap_line::y#0
Coalesced [157] bitmap_line::x#22 ← bitmap_line::x#0
Coalesced [158] bitmap_line::e#7 ← bitmap_line::e#0
Coalesced [162] bitmap_plot::y#8 ← bitmap_plot::y#1
Coalesced [163] bitmap_plot::x#8 ← bitmap_plot::x#1
Coalesced [170] bitmap_line::x#25 ← bitmap_line::x#1
Coalesced [171] bitmap_line::e#10 ← bitmap_line::e#2
Coalesced [174] bitmap_line::y#25 ← bitmap_line::y#1
Coalesced [175] bitmap_line::x#27 ← bitmap_line::x#12
Coalesced [179] bitmap_plot::y#6 ← bitmap_plot::y#2
Coalesced [180] bitmap_plot::x#6 ← bitmap_plot::x#2
Coalesced [184] bitmap_line::y#23 ← bitmap_line::y#1
Coalesced [185] bitmap_line::x#23 ← bitmap_line::x#12
Coalesced [186] bitmap_line::e#8 ← bitmap_line::e#6
Coalesced (already) [187] bitmap_line::x#24 ← bitmap_line::x#13
Coalesced [188] bitmap_line::e#9 ← bitmap_line::e#1
Coalesced [190] bitmap_line::y#27 ← bitmap_line::y#0
Coalesced [191] bitmap_line::x#29 ← bitmap_line::x#0
Coalesced [192] bitmap_line::e1#8 ← bitmap_line::e1#0
Coalesced [196] bitmap_plot::y#5 ← bitmap_plot::y#3
Coalesced [197] bitmap_plot::x#5 ← bitmap_plot::x#3
Coalesced [204] bitmap_line::y#28 ← bitmap_line::y#2
Coalesced [205] bitmap_line::e1#9 ← bitmap_line::e1#2
Coalesced [208] bitmap_line::y#24 ← bitmap_line::y#13
Coalesced [209] bitmap_line::x#26 ← bitmap_line::x#15
Coalesced (already) [210] bitmap_line::y#26 ← bitmap_line::y#13
Coalesced (already) [211] bitmap_line::x#28 ← bitmap_line::x#15
Coalesced [212] bitmap_line::e1#7 ← bitmap_line::e1#6
Coalesced (already) [213] bitmap_line::y#29 ← bitmap_line::y#15
Coalesced [214] bitmap_line::e1#10 ← bitmap_line::e1#1
Coalesced [217] bitmap_plot::y#7 ← bitmap_plot::y#0
Coalesced [218] bitmap_plot::x#7 ← bitmap_plot::x#0
Coalesced [240] abs_u16::return#9 ← abs_u16::w#2
Coalesced [244] abs_u16::return#8 ← abs_u16::return#2
Coalesced [263] spline_8segB::p_x#4 ← spline_8segB::p_x#0
Coalesced [264] spline_8segB::p_y#4 ← spline_8segB::p_y#0
Coalesced [265] spline_8segB::i_x#3 ← spline_8segB::i_x#0
Coalesced [266] spline_8segB::i_y#3 ← spline_8segB::i_y#0
Coalesced [288] spline_8segB::p_x#5 ← spline_8segB::p_x#1
Coalesced [289] spline_8segB::p_y#5 ← spline_8segB::p_y#1
Coalesced [290] spline_8segB::n#3 ← spline_8segB::n#1
Coalesced [291] spline_8segB::i_x#4 ← spline_8segB::i_x#1
Coalesced [292] spline_8segB::i_y#4 ← spline_8segB::i_y#1
Coalesced [297] mulf16s::a#9 ← mulf16s::a#0
Coalesced [298] mulf16s::b#8 ← mulf16s::b#0
Coalesced [306] mulf16s::a#10 ← mulf16s::a#1
Coalesced [307] mulf16s::b#9 ← mulf16s::b#1
Coalesced [316] mulf16s::a#11 ← mulf16s::a#2
Coalesced [317] mulf16s::b#10 ← mulf16s::b#2
Coalesced [326] mulf16s::a#12 ← mulf16s::a#3
Coalesced [327] mulf16s::b#11 ← mulf16s::b#3
Coalesced [349] mulf16s::m#7 ← mulf16s::m#1
Coalesced [355] mulf16s::m#10 ← mulf16s::m#2
Coalesced [359] mulf16s::m#9 ← mulf16s::m#5
Coalesced [360] mulf16s::m#8 ← mulf16s::m#0
Coalesced [382] memset::dst#5 ← memset::dst#1
Coalesced [402] bitmap_init::yoffs#7 ← bitmap_init::yoffs#1
Coalesced [407] bitmap_init::y#5 ← bitmap_init::y#1
Coalesced [408] bitmap_init::yoffs#5 ← bitmap_init::yoffs#4
Coalesced (already) [409] bitmap_init::yoffs#6 ← bitmap_init::yoffs#2
Coalesced [410] bitmap_init::bits#5 ← bitmap_init::bits#4
Coalesced [411] bitmap_init::x#5 ← bitmap_init::x#1
Coalesced [412] bitmap_init::bits#6 ← bitmap_init::bits#1
Coalesced [430] mulf_init::sqr2_lo#6 ← mulf_init::sqr2_lo#1
Coalesced [431] mulf_init::x_255#6 ← mulf_init::x_255#1
Coalesced [432] mulf_init::sqr2_hi#6 ← mulf_init::sqr2_hi#1
Coalesced [433] mulf_init::dir#5 ← mulf_init::dir#4
Coalesced (already) [434] mulf_init::dir#6 ← mulf_init::dir#2
Coalesced [440] mulf_init::sqr#9 ← mulf_init::sqr#2
Coalesced [441] mulf_init::x_2#8 ← mulf_init::x_2#1
Coalesced [450] mulf_init::sqr1_lo#6 ← mulf_init::sqr1_lo#1
Coalesced [451] mulf_init::c#6 ← mulf_init::c#1
Coalesced [452] mulf_init::sqr#7 ← mulf_init::sqr#1
Coalesced [453] mulf_init::sqr1_hi#6 ← mulf_init::sqr1_hi#1
Coalesced [454] mulf_init::x_2#6 ← mulf_init::x_2#2
Coalesced [455] mulf_init::sqr#8 ← mulf_init::sqr#4
Coalesced (already) [456] mulf_init::x_2#7 ← mulf_init::x_2#3
Coalesced down to 49 phi equivalence classes
Culled Empty Block (label) @8
Culled Empty Block (label) @66
Culled Empty Block (label) main::@23
Culled Empty Block (label) main::vicSelectGfxBank1_toDd001_@return
Culled Empty Block (label) main::@19
Culled Empty Block (label) main::toD0181_@return
Culled Empty Block (label) main::@25
Culled Empty Block (label) main::@27
Culled Empty Block (label) main::@26
Culled Empty Block (label) show_letter::@15
Culled Empty Block (label) show_letter::@14
Culled Empty Block (label) show_letter::@2
Culled Empty Block (label) bitmap_plot_spline_8seg::@4
Culled Empty Block (label) bitmap_line::@28
Culled Empty Block (label) bitmap_line::@22
Culled Empty Block (label) bitmap_line::@25
Culled Empty Block (label) bitmap_line::@26
Culled Empty Block (label) bitmap_line::@27
Culled Empty Block (label) bitmap_line::@29
Culled Empty Block (label) bitmap_line::@30
Culled Empty Block (label) bitmap_line::@20
Culled Empty Block (label) sgn_u16::@3
Culled Empty Block (label) abs_u16::@3
Culled Empty Block (label) spline_8segB::@3
Culled Empty Block (label) mulf16s::@8
Culled Empty Block (label) mulf16s::@7
Culled Empty Block (label) bitmap_clear::@2
Culled Empty Block (label) memset::@1
Culled Empty Block (label) bitmap_init::@3
Culled Empty Block (label) bitmap_init::@4
Culled Empty Block (label) bitmap_init::@11
Culled Empty Block (label) bitmap_init::@12
Culled Empty Block (label) bitmap_init::@9
Culled Empty Block (label) mulf_init::@3
Culled Empty Block (label) mulf_init::@15
Culled Empty Block (label) mulf_init::@17
Renumbering block @65 to @1
Renumbering block memset::@2 to memset::@1
Renumbering block memset::@4 to memset::@2
Renumbering block memset::@5 to memset::@3
Renumbering block bitmap_init::@5 to bitmap_init::@3
Renumbering block bitmap_init::@6 to bitmap_init::@4
Renumbering block bitmap_init::@7 to bitmap_init::@5
Renumbering block bitmap_init::@10 to bitmap_init::@6
Renumbering block bitmap_line::@6 to bitmap_line::@5
Renumbering block bitmap_line::@7 to bitmap_line::@6
Renumbering block bitmap_line::@8 to bitmap_line::@7
Renumbering block bitmap_line::@9 to bitmap_line::@8
Renumbering block bitmap_line::@12 to bitmap_line::@9
Renumbering block bitmap_line::@13 to bitmap_line::@10
Renumbering block bitmap_line::@14 to bitmap_line::@11
Renumbering block bitmap_line::@16 to bitmap_line::@12
Renumbering block bitmap_line::@17 to bitmap_line::@13
Renumbering block bitmap_line::@18 to bitmap_line::@14
Renumbering block bitmap_line::@19 to bitmap_line::@15
Renumbering block bitmap_line::@21 to bitmap_line::@16
Renumbering block bitmap_line::@23 to bitmap_line::@17
Renumbering block bitmap_line::@24 to bitmap_line::@18
Renumbering block mulf_init::@4 to mulf_init::@3
Renumbering block mulf_init::@7 to mulf_init::@4
Renumbering block mulf_init::@9 to mulf_init::@5
Renumbering block mulf_init::@10 to mulf_init::@6
Renumbering block mulf_init::@11 to mulf_init::@7
Renumbering block mulf_init::@12 to mulf_init::@8
Renumbering block mulf_init::@18 to mulf_init::@9
Renumbering block mulf16s::@6 to mulf16s::@5
Renumbering block main::@5 to main::@3
Renumbering block main::@7 to main::@4
Renumbering block main::@8 to main::@5
Renumbering block main::@9 to main::@6
Renumbering block main::@20 to main::@7
Renumbering block main::@21 to main::@8
Renumbering block main::@22 to main::@9
Renumbering block main::@24 to main::@10
Renumbering block show_letter::@3 to show_letter::@2
Renumbering block show_letter::@5 to show_letter::@3
Renumbering block show_letter::@6 to show_letter::@4
Renumbering block show_letter::@7 to show_letter::@5
Renumbering block show_letter::@11 to show_letter::@6
Renumbering block show_letter::@12 to show_letter::@7
Renumbering block show_letter::@13 to show_letter::@8
Renumbering block show_letter::@16 to show_letter::@9
Renumbering block bitmap_plot_spline_8seg::@3 to bitmap_plot_spline_8seg::@2
Renumbering block rotate::@2 to rotate::@1
Renumbering block rotate::@3 to rotate::@2
Renumbering block rotate::@4 to rotate::@3
Renumbering block rotate::@5 to rotate::@4
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @1
Adding NOP phi() at start of @end
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@8
Adding NOP phi() at start of main::@9
Adding NOP phi() at start of main::vicSelectGfxBank1_toDd001
Adding NOP phi() at start of main::toD0181
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of show_letter
Adding NOP phi() at start of show_letter::@8
Adding NOP phi() at start of sgn_u16::@1
Adding NOP phi() at start of bitmap_clear
Adding NOP phi() at start of bitmap_clear::@1
Adding NOP phi() at start of bitmap_init
Adding NOP phi() at start of bitmap_init::@6
Adding NOP phi() at start of mulf_init
Adding NOP phi() at start of mulf_init::@9

FINAL CONTROL FLOW GRAPH
@begin: scope:[]  from
  [0] phi()
  to:@1
@1: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @1
  [3] phi()

(void()) main()
main: scope:[main]  from @1
  [4] phi()
  [5] call mulf_init 
  to:main::@8
main::@8: scope:[main]  from main
  [6] phi()
  [7] call bitmap_init 
  to:main::@9
main::@9: scope:[main]  from main::@8
  [8] phi()
  [9] call bitmap_clear 
  to:main::vicSelectGfxBank1
main::vicSelectGfxBank1: scope:[main]  from main::@9
  [10] *((const byte*) CIA2_PORT_A_DDR) ← (byte) 3
  to:main::vicSelectGfxBank1_toDd001
main::vicSelectGfxBank1_toDd001: scope:[main]  from main::vicSelectGfxBank1
  [11] phi()
  to:main::vicSelectGfxBank1_@1
main::vicSelectGfxBank1_@1: scope:[main]  from main::vicSelectGfxBank1_toDd001
  [12] *((const byte*) CIA2_PORT_A) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0
  to:main::toD0181
main::toD0181: scope:[main]  from main::vicSelectGfxBank1_@1
  [13] phi()
  to:main::@7
main::@7: scope:[main]  from main::toD0181
  [14] *((const byte*) D018) ← (const byte) main::toD0181_return#0
  [15] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3
  to:main::@1
main::@1: scope:[main]  from main::@6 main::@7
  [16] (byte) main::angle#2 ← phi( main::@7/(byte) 0 main::@6/(byte) main::angle#1 )
  to:main::@2
main::@2: scope:[main]  from main::@1
  [17] phi()
  [18] call bitmap_clear 
  to:main::@10
main::@10: scope:[main]  from main::@2
  [19] (byte) show_letter::angle#0 ← (byte) main::angle#2
  [20] call show_letter 
  to:main::@3
main::@3: scope:[main]  from main::@10 main::@3 main::@5
  [21] (byte) main::w#4 ← phi( main::@10/(byte) 0 main::@3/(byte) main::w#4 main::@5/(byte) main::w#1 )
  [22] if(*((const byte*) RASTER)!=(byte) $fe) goto main::@3
  to:main::@4
main::@4: scope:[main]  from main::@3 main::@4
  [23] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@4
  to:main::@5
main::@5: scope:[main]  from main::@4
  [24] (byte) main::w#1 ← ++ (byte) main::w#4
  [25] if((byte) main::w#1!=(byte) $3d) goto main::@3
  to:main::@6
main::@6: scope:[main]  from main::@5
  [26] (byte) main::angle#1 ← (byte) main::angle#2 + (byte) 9
  to:main::@1

(void()) show_letter((byte) show_letter::angle)
show_letter: scope:[show_letter]  from main::@10
  [27] phi()
  to:show_letter::@1
show_letter::@1: scope:[show_letter]  from show_letter show_letter::@9
  [28] (signed word) show_letter::current_y#4 ← phi( show_letter/(signed word) 0 show_letter::@9/(signed word) show_letter::current_y#11 )
  [28] (signed word) show_letter::current_x#4 ← phi( show_letter/(signed word) 0 show_letter::@9/(signed word) show_letter::current_x#11 )
  [28] (byte) show_letter::i#10 ← phi( show_letter/(byte) 0 show_letter::@9/(byte) show_letter::i#1 )
  [29] (byte~) show_letter::$23 ← (byte) show_letter::i#10 << (byte) 3
  [30] (byte~) show_letter::$20 ← (byte~) show_letter::$23 + (byte) show_letter::i#10
  [31] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$20)
  [32] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20)
  [33] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32
  [34] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96
  [35] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1
  [36] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1
  [37] (byte) rotate::angle#0 ← (byte) show_letter::angle#0
  [38] call rotate 
  [39] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2
  [40] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2
  to:show_letter::@6
show_letter::@6: scope:[show_letter]  from show_letter::@1
  [41] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0
  [42] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0
  [43] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64
  [44] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64
  [45] (byte~) show_letter::$25 ← (byte) show_letter::i#10 << (byte) 3
  [46] (byte~) show_letter::$21 ← (byte~) show_letter::$25 + (byte) show_letter::i#10
  [47] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$21)
  [48] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21)
  [49] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32
  [50] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96
  [51] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1
  [52] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1
  [53] (byte) rotate::angle#1 ← (byte) show_letter::angle#0
  [54] call rotate 
  [55] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2
  [56] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2
  to:show_letter::@7
show_letter::@7: scope:[show_letter]  from show_letter::@6
  [57] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1
  [58] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1
  [59] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64
  [60] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64
  [61] (byte~) show_letter::$27 ← (byte) show_letter::i#10 << (byte) 3
  [62] (byte~) show_letter::$22 ← (byte~) show_letter::$27 + (byte) show_letter::i#10
  [63] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$22)
  [64] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3
  to:show_letter::@4
show_letter::@4: scope:[show_letter]  from show_letter::@7
  [65] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2
  to:show_letter::@5
show_letter::@5: scope:[show_letter]  from show_letter::@4
  [66] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4
  [67] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4
  [68] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10
  [69] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10
  [70] call bitmap_line 
  to:show_letter::@3
show_letter::@3: scope:[show_letter]  from show_letter::@5 show_letter::@7 show_letter::@8
  [71] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10
  [72] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9
  to:show_letter::@return
show_letter::@return: scope:[show_letter]  from show_letter::@3
  [73] return 
  to:@return
show_letter::@9: scope:[show_letter]  from show_letter::@3
  [74] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10
  [75] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10
  to:show_letter::@1
show_letter::@2: scope:[show_letter]  from show_letter::@4
  [76] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4
  [77] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4
  [78] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0
  [79] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0
  [80] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10
  [81] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10
  [82] call spline_8segB 
  to:show_letter::@8
show_letter::@8: scope:[show_letter]  from show_letter::@2
  [83] phi()
  [84] call bitmap_plot_spline_8seg 
  to:show_letter::@3

(void()) bitmap_plot_spline_8seg()
bitmap_plot_spline_8seg: scope:[bitmap_plot_spline_8seg]  from show_letter::@8
  [85] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG)
  [86] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y)
  to:bitmap_plot_spline_8seg::@1
bitmap_plot_spline_8seg::@1: scope:[bitmap_plot_spline_8seg]  from bitmap_plot_spline_8seg bitmap_plot_spline_8seg::@2
  [87] (byte) bitmap_plot_spline_8seg::n#2 ← phi( bitmap_plot_spline_8seg/(byte) 1 bitmap_plot_spline_8seg::@2/(byte) bitmap_plot_spline_8seg::n#1 )
  [87] (signed word) bitmap_plot_spline_8seg::current_y#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_y#1 )
  [87] (signed word) bitmap_plot_spline_8seg::current_x#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_x#1 )
  [88] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2
  [89] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2
  [90] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2
  [91] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8)
  [92] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8)
  [93] call bitmap_line 
  to:bitmap_plot_spline_8seg::@2
bitmap_plot_spline_8seg::@2: scope:[bitmap_plot_spline_8seg]  from bitmap_plot_spline_8seg::@1
  [94] (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2
  [95] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$9)
  [96] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9)
  [97] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2
  [98] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1
  to:bitmap_plot_spline_8seg::@return
bitmap_plot_spline_8seg::@return: scope:[bitmap_plot_spline_8seg]  from bitmap_plot_spline_8seg::@2
  [99] return 
  to:@return

(void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2)
bitmap_line: scope:[bitmap_line]  from bitmap_plot_spline_8seg::@1 show_letter::@5
  [100] (word) bitmap_line::y2#11 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y2#13 show_letter::@5/(word) bitmap_line::y2#0 )
  [100] (word) bitmap_line::x2#10 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x2#13 show_letter::@5/(word) bitmap_line::x2#0 )
  [100] (word) bitmap_line::y#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y1#1 show_letter::@5/(word) bitmap_line::y1#0 )
  [100] (word) bitmap_line::x#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x1#1 show_letter::@5/(word) bitmap_line::x1#0 )
  [101] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0
  [102] call abs_u16 
  [103] (word) abs_u16::return#0 ← (word) abs_u16::return#4
  to:bitmap_line::@12
bitmap_line::@12: scope:[bitmap_line]  from bitmap_line
  [104] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0
  [105] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0
  [106] call abs_u16 
  [107] (word) abs_u16::return#1 ← (word) abs_u16::return#4
  to:bitmap_line::@13
bitmap_line::@13: scope:[bitmap_line]  from bitmap_line::@12
  [108] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1
  [109] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1
  to:bitmap_line::@18
bitmap_line::@18: scope:[bitmap_line]  from bitmap_line::@13
  [110] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4
  to:bitmap_line::@1
bitmap_line::@1: scope:[bitmap_line]  from bitmap_line::@13 bitmap_line::@18
  [111] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0
  [112] call sgn_u16 
  [113] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4
  to:bitmap_line::@14
bitmap_line::@14: scope:[bitmap_line]  from bitmap_line::@1
  [114] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0
  [115] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0
  [116] call sgn_u16 
  [117] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4
  to:bitmap_line::@15
bitmap_line::@15: scope:[bitmap_line]  from bitmap_line::@14
  [118] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1
  [119] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2
  to:bitmap_line::@5
bitmap_line::@5: scope:[bitmap_line]  from bitmap_line::@15
  [120] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1
  to:bitmap_line::@6
bitmap_line::@6: scope:[bitmap_line]  from bitmap_line::@5 bitmap_line::@7
  [121] (word) bitmap_line::e#3 ← phi( bitmap_line::@5/(word) bitmap_line::e#0 bitmap_line::@7/(word) bitmap_line::e#6 )
  [121] (word) bitmap_line::x#13 ← phi( bitmap_line::@5/(word) bitmap_line::x#0 bitmap_line::@7/(word) bitmap_line::x#12 )
  [121] (word) bitmap_line::y#4 ← phi( bitmap_line::@5/(word) bitmap_line::y#0 bitmap_line::@7/(word) bitmap_line::y#1 )
  [122] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4
  [123] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13
  [124] call bitmap_plot 
  to:bitmap_line::@16
bitmap_line::@16: scope:[bitmap_line]  from bitmap_line::@6
  [125] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0
  [126] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0
  [127] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7
  to:bitmap_line::@8
bitmap_line::@8: scope:[bitmap_line]  from bitmap_line::@16
  [128] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0
  [129] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0
  to:bitmap_line::@7
bitmap_line::@7: scope:[bitmap_line]  from bitmap_line::@16 bitmap_line::@8
  [130] (word) bitmap_line::e#6 ← phi( bitmap_line::@16/(word) bitmap_line::e#1 bitmap_line::@8/(word) bitmap_line::e#2 )
  [130] (word) bitmap_line::x#12 ← phi( bitmap_line::@16/(word) bitmap_line::x#13 bitmap_line::@8/(word) bitmap_line::x#1 )
  [131] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6
  to:bitmap_line::@3
bitmap_line::@3: scope:[bitmap_line]  from bitmap_line::@10 bitmap_line::@7
  [132] (word) bitmap_line::x#6 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@7/(word) bitmap_line::x#12 )
  [132] (word) bitmap_line::y#7 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@7/(word) bitmap_line::y#1 )
  [133] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7
  [134] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6
  [135] call bitmap_plot 
  to:bitmap_line::@return
bitmap_line::@return: scope:[bitmap_line]  from bitmap_line::@3 bitmap_line::@4
  [136] return 
  to:@return
bitmap_line::@2: scope:[bitmap_line]  from bitmap_line::@15
  [137] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1
  to:bitmap_line::@9
bitmap_line::@9: scope:[bitmap_line]  from bitmap_line::@10 bitmap_line::@2
  [138] (word) bitmap_line::e1#3 ← phi( bitmap_line::@10/(word) bitmap_line::e1#6 bitmap_line::@2/(word) bitmap_line::e1#0 )
  [138] (word) bitmap_line::x#7 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@2/(word) bitmap_line::x#0 )
  [138] (word) bitmap_line::y#15 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@2/(word) bitmap_line::y#0 )
  [139] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15
  [140] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7
  [141] call bitmap_plot 
  to:bitmap_line::@17
bitmap_line::@17: scope:[bitmap_line]  from bitmap_line::@9
  [142] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0
  [143] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0
  [144] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10
  to:bitmap_line::@11
bitmap_line::@11: scope:[bitmap_line]  from bitmap_line::@17
  [145] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0
  [146] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0
  to:bitmap_line::@10
bitmap_line::@10: scope:[bitmap_line]  from bitmap_line::@11 bitmap_line::@17
  [147] (word) bitmap_line::e1#6 ← phi( bitmap_line::@11/(word) bitmap_line::e1#2 bitmap_line::@17/(word) bitmap_line::e1#1 )
  [147] (word) bitmap_line::y#13 ← phi( bitmap_line::@11/(word) bitmap_line::y#2 bitmap_line::@17/(word) bitmap_line::y#15 )
  [148] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9
  to:bitmap_line::@3
bitmap_line::@4: scope:[bitmap_line]  from bitmap_line::@18
  [149] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0
  [150] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0
  [151] call bitmap_plot 
  to:bitmap_line::@return

(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
bitmap_plot: scope:[bitmap_plot]  from bitmap_line::@3 bitmap_line::@4 bitmap_line::@6 bitmap_line::@9
  [152] (word) bitmap_plot::x#4 ← phi( bitmap_line::@9/(word) bitmap_plot::x#3 bitmap_line::@3/(word) bitmap_plot::x#2 bitmap_line::@4/(word) bitmap_plot::x#0 bitmap_line::@6/(word) bitmap_plot::x#1 )
  [152] (byte) bitmap_plot::y#4 ← phi( bitmap_line::@9/(byte) bitmap_plot::y#3 bitmap_line::@3/(byte) bitmap_plot::y#2 bitmap_line::@4/(byte) bitmap_plot::y#0 bitmap_line::@6/(byte) bitmap_plot::y#1 )
  [153] (word) bitmap_plot::plotter#0 ← *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4)
  [154] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (word) $fff8
  [155] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$1
  [156] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#4
  [157] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2)
  to:bitmap_plot::@return
bitmap_plot::@return: scope:[bitmap_plot]  from bitmap_plot
  [158] return 
  to:@return

(word()) sgn_u16((word) sgn_u16::w)
sgn_u16: scope:[sgn_u16]  from bitmap_line::@1 bitmap_line::@14
  [159] (word) sgn_u16::w#2 ← phi( bitmap_line::@1/(word) sgn_u16::w#0 bitmap_line::@14/(word) sgn_u16::w#1 )
  [160] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2
  [161] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80
  [162] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1
  to:sgn_u16::@return
sgn_u16::@1: scope:[sgn_u16]  from sgn_u16
  [163] phi()
  to:sgn_u16::@return
sgn_u16::@return: scope:[sgn_u16]  from sgn_u16 sgn_u16::@1
  [164] (word) sgn_u16::return#4 ← phi( sgn_u16::@1/(byte) -1 sgn_u16/(byte) 1 )
  [165] return 
  to:@return

(word()) abs_u16((word) abs_u16::w)
abs_u16: scope:[abs_u16]  from bitmap_line bitmap_line::@12
  [166] (word) abs_u16::w#2 ← phi( bitmap_line/(word) abs_u16::w#0 bitmap_line::@12/(word) abs_u16::w#1 )
  [167] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2
  [168] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80
  [169] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1
  to:abs_u16::@return
abs_u16::@1: scope:[abs_u16]  from abs_u16
  [170] (word) abs_u16::return#2 ← - (word) abs_u16::w#2
  to:abs_u16::@return
abs_u16::@return: scope:[abs_u16]  from abs_u16 abs_u16::@1
  [171] (word) abs_u16::return#4 ← phi( abs_u16::@1/(word) abs_u16::return#2 abs_u16/(word) abs_u16::w#2 )
  [172] return 
  to:@return

(void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
spline_8segB: scope:[spline_8segB]  from show_letter::@2
  [173] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1
  [174] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0
  [175] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0
  [176] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1
  [177] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3
  [178] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0
  [179] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0
  [180] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1
  [181] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0
  [182] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1
  [183] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3
  [184] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10
  [185] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3
  [186] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12
  [187] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1
  [188] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1
  [189] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6
  [190] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6
  to:spline_8segB::@1
spline_8segB::@1: scope:[spline_8segB]  from spline_8segB spline_8segB::@1
  [191] (signed word) spline_8segB::i_y#2 ← phi( spline_8segB/(signed word) spline_8segB::i_y#0 spline_8segB::@1/(signed word) spline_8segB::i_y#1 )
  [191] (signed word) spline_8segB::i_x#2 ← phi( spline_8segB/(signed word) spline_8segB::i_x#0 spline_8segB::@1/(signed word) spline_8segB::i_x#1 )
  [191] (byte) spline_8segB::n#2 ← phi( spline_8segB/(byte) 0 spline_8segB::@1/(byte) spline_8segB::n#1 )
  [191] (signed word) spline_8segB::p_y#2 ← phi( spline_8segB/(signed word) spline_8segB::p_y#0 spline_8segB::@1/(signed word) spline_8segB::p_y#1 )
  [191] (signed word) spline_8segB::p_x#2 ← phi( spline_8segB/(signed word) spline_8segB::p_x#0 spline_8segB::@1/(signed word) spline_8segB::p_x#1 )
  [192] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20
  [193] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6
  [194] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20
  [195] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6
  [196] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2
  [197] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23
  [198] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25
  [199] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2
  [200] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2
  [201] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0
  [202] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0
  [203] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2
  [204] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1
  to:spline_8segB::@2
spline_8segB::@2: scope:[spline_8segB]  from spline_8segB::@1
  [205] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20
  [206] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6
  [207] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20
  [208] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6
  [209] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19
  [210] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21
  to:spline_8segB::@return
spline_8segB::@return: scope:[spline_8segB]  from spline_8segB::@2
  [211] return 
  to:@return

(struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
rotate: scope:[rotate]  from show_letter::@1 show_letter::@6
  [212] (signed word) rotate::vector_y#2 ← phi( show_letter::@1/(signed word) rotate::vector_y#0 show_letter::@6/(signed word) rotate::vector_y#1 )
  [212] (signed word) rotate::vector_x#2 ← phi( show_letter::@1/(signed word) rotate::vector_x#0 show_letter::@6/(signed word) rotate::vector_x#1 )
  [212] (byte) rotate::angle#2 ← phi( show_letter::@1/(byte) rotate::angle#0 show_letter::@6/(byte) rotate::angle#1 )
  [213] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2)
  [214] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0
  [215] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2
  [216] call mulf16s 
  [217] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0
  to:rotate::@1
rotate::@1: scope:[rotate]  from rotate
  [218] (signed dword~) rotate::$1 ← (signed dword) mulf16s::return#2
  [219] (signed word~) rotate::$2 ← (signed word)(signed dword~) rotate::$1
  [220] (signed word) rotate::xr#0 ← (signed word~) rotate::$2 << (byte) 1
  [221] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0
  [222] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2
  [223] call mulf16s 
  [224] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0
  to:rotate::@2
rotate::@2: scope:[rotate]  from rotate::@1
  [225] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#3
  [226] (signed word~) rotate::$5 ← (signed word)(signed dword~) rotate::$4
  [227] (signed word) rotate::yr#0 ← (signed word~) rotate::$5 << (byte) 1
  [228] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2)
  [229] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0
  [230] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2
  [231] call mulf16s 
  [232] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0
  to:rotate::@3
rotate::@3: scope:[rotate]  from rotate::@2
  [233] (signed dword~) rotate::$8 ← (signed dword) mulf16s::return#4
  [234] (signed word~) rotate::$9 ← (signed word)(signed dword~) rotate::$8
  [235] (signed word~) rotate::$10 ← (signed word~) rotate::$9 << (byte) 1
  [236] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$10
  [237] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0
  [238] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2
  [239] call mulf16s 
  [240] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0
  to:rotate::@4
rotate::@4: scope:[rotate]  from rotate::@3
  [241] (signed dword~) rotate::$11 ← (signed dword) mulf16s::return#10
  [242] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$11
  [243] (signed word~) rotate::$13 ← (signed word~) rotate::$12 << (byte) 1
  [244] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$13
  [245] (byte~) rotate::$15 ← > (signed word) rotate::xr#1
  [246] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$15
  [247] (byte~) rotate::$18 ← > (signed word) rotate::yr#1
  [248] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$18
  to:rotate::@return
rotate::@return: scope:[rotate]  from rotate::@4
  [249] return 
  to:@return

(signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b)
mulf16s: scope:[mulf16s]  from rotate rotate::@1 rotate::@2 rotate::@3
  [250] (signed word) mulf16s::b#4 ← phi( rotate/(signed word) mulf16s::b#0 rotate::@1/(signed word) mulf16s::b#1 rotate::@2/(signed word) mulf16s::b#2 rotate::@3/(signed word) mulf16s::b#3 )
  [250] (signed word) mulf16s::a#4 ← phi( rotate/(signed word) mulf16s::a#0 rotate::@1/(signed word) mulf16s::a#1 rotate::@2/(signed word) mulf16s::a#2 rotate::@3/(signed word) mulf16s::a#3 )
  [251] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4
  [252] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4
  [253] call mulf16u 
  [254] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0
  to:mulf16s::@5
mulf16s::@5: scope:[mulf16s]  from mulf16s
  [255] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2
  [256] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1
  to:mulf16s::@3
mulf16s::@3: scope:[mulf16s]  from mulf16s::@5
  [257] (word~) mulf16s::$9 ← > (dword) mulf16s::m#0
  [258] (word~) mulf16s::$16 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::b#4
  [259] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$16
  to:mulf16s::@1
mulf16s::@1: scope:[mulf16s]  from mulf16s::@3 mulf16s::@5
  [260] (dword) mulf16s::m#5 ← phi( mulf16s::@3/(dword) mulf16s::m#1 mulf16s::@5/(dword) mulf16s::m#0 )
  [261] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2
  to:mulf16s::@4
mulf16s::@4: scope:[mulf16s]  from mulf16s::@1
  [262] (word~) mulf16s::$13 ← > (dword) mulf16s::m#5
  [263] (word~) mulf16s::$17 ← (word~) mulf16s::$13 - (word)(signed word) mulf16s::a#4
  [264] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17
  to:mulf16s::@2
mulf16s::@2: scope:[mulf16s]  from mulf16s::@1 mulf16s::@4
  [265] (dword) mulf16s::m#4 ← phi( mulf16s::@1/(dword) mulf16s::m#5 mulf16s::@4/(dword) mulf16s::m#2 )
  [266] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4
  to:mulf16s::@return
mulf16s::@return: scope:[mulf16s]  from mulf16s::@2
  [267] return 
  to:@return

(dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b)
mulf16u: scope:[mulf16u]  from mulf16s
  [268] *((const word*) mulf16u::memA) ← (word) mulf16u::a#0
  [269] *((const word*) mulf16u::memB) ← (word) mulf16u::b#0
  asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  }
  [271] (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR)
  to:mulf16u::@return
mulf16u::@return: scope:[mulf16u]  from mulf16u
  [272] return 
  to:@return

(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
bitmap_clear: scope:[bitmap_clear]  from main::@2 main::@9
  [273] phi()
  [274] call memset 
  to:bitmap_clear::@1
bitmap_clear::@1: scope:[bitmap_clear]  from bitmap_clear
  [275] phi()
  [276] call memset 
  to:bitmap_clear::@return
bitmap_clear::@return: scope:[bitmap_clear]  from bitmap_clear::@1
  [277] return 
  to:@return

(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset]  from bitmap_clear bitmap_clear::@1
  [278] (byte) memset::c#4 ← phi( bitmap_clear/(const byte) bitmap_clear::col#0 bitmap_clear::@1/(byte) 0 )
  [278] (void*) memset::str#3 ← phi( bitmap_clear/(void*)(const byte*) BITMAP_SCREEN bitmap_clear::@1/(void*)(const byte*) BITMAP_GRAPHICS )
  [278] (word) memset::num#2 ← phi( bitmap_clear/(word) $3e8 bitmap_clear::@1/(word) $1f40 )
  [279] if((word) memset::num#2<=(byte) 0) goto memset::@return
  to:memset::@1
memset::@1: scope:[memset]  from memset
  [280] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2
  [281] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3
  to:memset::@2
memset::@2: scope:[memset]  from memset::@1 memset::@3
  [282] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 )
  [283] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3
  to:memset::@return
memset::@return: scope:[memset]  from memset memset::@2
  [284] return 
  to:@return
memset::@3: scope:[memset]  from memset::@2
  [285] *((byte*) memset::dst#2) ← (byte) memset::c#4
  [286] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
  to:memset::@2

(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
bitmap_init: scope:[bitmap_init]  from main::@8
  [287] phi()
  to:bitmap_init::@1
bitmap_init::@1: scope:[bitmap_init]  from bitmap_init bitmap_init::@2
  [288] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 )
  [288] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 )
  [289] *((const byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3
  [290] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1
  [291] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6
  to:bitmap_init::@2
bitmap_init::@6: scope:[bitmap_init]  from bitmap_init::@1
  [292] phi()
  to:bitmap_init::@2
bitmap_init::@2: scope:[bitmap_init]  from bitmap_init::@1 bitmap_init::@6
  [293] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 )
  [294] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2
  [295] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1
  to:bitmap_init::@3
bitmap_init::@3: scope:[bitmap_init]  from bitmap_init::@2 bitmap_init::@4
  [296] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(const byte*) BITMAP_GRAPHICS bitmap_init::@4/(byte*) bitmap_init::yoffs#4 )
  [296] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 )
  [297] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7
  [298] (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2
  [299] (byte~) bitmap_init::$5 ← (byte~) bitmap_init::$7 | (byte~) bitmap_init::$4
  [300] *((const byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$5
  [301] (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2
  [302] *((const byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6
  [303] if((byte~) bitmap_init::$7!=(byte) 7) goto bitmap_init::@4
  to:bitmap_init::@5
bitmap_init::@5: scope:[bitmap_init]  from bitmap_init::@3
  [304] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8
  to:bitmap_init::@4
bitmap_init::@4: scope:[bitmap_init]  from bitmap_init::@3 bitmap_init::@5
  [305] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 )
  [306] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2
  [307] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3
  to:bitmap_init::@return
bitmap_init::@return: scope:[bitmap_init]  from bitmap_init::@4
  [308] return 
  to:@return

(void()) mulf_init()
mulf_init: scope:[mulf_init]  from main
  [309] phi()
  to:mulf_init::@1
mulf_init::@1: scope:[mulf_init]  from mulf_init mulf_init::@3
  [310] (byte) mulf_init::x_2#3 ← phi( mulf_init/(byte) 0 mulf_init::@3/(byte) mulf_init::x_2#2 )
  [310] (byte*) mulf_init::sqr1_hi#2 ← phi( mulf_init/(const byte*) mulf_sqr1_hi+(byte) 1 mulf_init::@3/(byte*) mulf_init::sqr1_hi#1 )
  [310] (word) mulf_init::sqr#4 ← phi( mulf_init/(word) 0 mulf_init::@3/(word) mulf_init::sqr#1 )
  [310] (byte) mulf_init::c#2 ← phi( mulf_init/(byte) 0 mulf_init::@3/(byte) mulf_init::c#1 )
  [310] (byte*) mulf_init::sqr1_lo#2 ← phi( mulf_init/(const byte*) mulf_sqr1_lo+(byte) 1 mulf_init::@3/(byte*) mulf_init::sqr1_lo#1 )
  [311] if((byte*) mulf_init::sqr1_lo#2!=(const byte*) mulf_sqr1_lo+(word) $200) goto mulf_init::@2
  to:mulf_init::@5
mulf_init::@5: scope:[mulf_init]  from mulf_init::@1 mulf_init::@8
  [312] (byte) mulf_init::dir#2 ← phi( mulf_init::@8/(byte) mulf_init::dir#4 mulf_init::@1/(byte) $ff )
  [312] (byte*) mulf_init::sqr2_hi#2 ← phi( mulf_init::@8/(byte*) mulf_init::sqr2_hi#1 mulf_init::@1/(const byte*) mulf_sqr2_hi )
  [312] (byte) mulf_init::x_255#2 ← phi( mulf_init::@8/(byte) mulf_init::x_255#1 mulf_init::@1/(byte) -1 )
  [312] (byte*) mulf_init::sqr2_lo#2 ← phi( mulf_init::@8/(byte*) mulf_init::sqr2_lo#1 mulf_init::@1/(const byte*) mulf_sqr2_lo )
  [313] if((byte*) mulf_init::sqr2_lo#2!=(const byte*) mulf_sqr2_lo+(word) $1ff) goto mulf_init::@6
  to:mulf_init::@7
mulf_init::@7: scope:[mulf_init]  from mulf_init::@5
  [314] *((const byte*) mulf_sqr2_lo+(word) $1ff) ← *((const byte*) mulf_sqr1_lo+(word) $100)
  [315] *((const byte*) mulf_sqr2_hi+(word) $1ff) ← *((const byte*) mulf_sqr1_hi+(word) $100)
  to:mulf_init::@return
mulf_init::@return: scope:[mulf_init]  from mulf_init::@7
  [316] return 
  to:@return
mulf_init::@6: scope:[mulf_init]  from mulf_init::@5
  [317] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte*) mulf_sqr1_lo + (byte) mulf_init::x_255#2)
  [318] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte*) mulf_sqr1_hi + (byte) mulf_init::x_255#2)
  [319] (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2
  [320] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2
  [321] if((byte) mulf_init::x_255#1!=(byte) 0) goto mulf_init::@9
  to:mulf_init::@8
mulf_init::@9: scope:[mulf_init]  from mulf_init::@6
  [322] phi()
  to:mulf_init::@8
mulf_init::@8: scope:[mulf_init]  from mulf_init::@6 mulf_init::@9
  [323] (byte) mulf_init::dir#4 ← phi( mulf_init::@9/(byte) mulf_init::dir#2 mulf_init::@6/(byte) 1 )
  [324] (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#2
  to:mulf_init::@5
mulf_init::@2: scope:[mulf_init]  from mulf_init::@1
  [325] (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2
  [326] (byte~) mulf_init::$1 ← (byte) mulf_init::c#1 & (byte) 1
  [327] if((byte~) mulf_init::$1!=(byte) 0) goto mulf_init::@3
  to:mulf_init::@4
mulf_init::@4: scope:[mulf_init]  from mulf_init::@2
  [328] (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3
  [329] (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4
  to:mulf_init::@3
mulf_init::@3: scope:[mulf_init]  from mulf_init::@2 mulf_init::@4
  [330] (byte) mulf_init::x_2#2 ← phi( mulf_init::@2/(byte) mulf_init::x_2#3 mulf_init::@4/(byte) mulf_init::x_2#1 )
  [330] (word) mulf_init::sqr#3 ← phi( mulf_init::@2/(word) mulf_init::sqr#4 mulf_init::@4/(word) mulf_init::sqr#2 )
  [331] (byte~) mulf_init::$4 ← < (word) mulf_init::sqr#3
  [332] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$4
  [333] (byte~) mulf_init::$5 ← > (word) mulf_init::sqr#3
  [334] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$5
  [335] (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2
  [336] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2
  [337] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2
  to:mulf_init::@1

null depth in calling loop Loop head: bitmap_plot_spline_8seg::@1 tails: bitmap_plot_spline_8seg::@2 blocks: bitmap_plot_spline_8seg::@2 bitmap_plot_spline_8seg::@1  in scope bitmap_line

VARIABLE REGISTER WEIGHTS
(struct SplineVector16) Segment::to
(byte) Segment::type
(struct SplineVector16) Segment::via
(signed word) SplineVector16::x
(signed word) SplineVector16::y
(signed dword) SplineVector32::x
(signed dword) SplineVector32::y
(word()) abs_u16((word) abs_u16::w)
(byte~) abs_u16::$0 4.0
(byte~) abs_u16::$1 4.0
(word) abs_u16::return
(word) abs_u16::return#0 4.0
(word) abs_u16::return#1 4.0
(word) abs_u16::return#2 4.0
(word) abs_u16::return#4 2.0
(word) abs_u16::w
(word) abs_u16::w#0 4.0
(word) abs_u16::w#1 4.0
(word) abs_u16::w#2 2.5
(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
(byte) bitmap_clear::bgcol
(byte) bitmap_clear::col
(byte) bitmap_clear::fgcol
(byte*) bitmap_gfx
(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
(byte~) bitmap_init::$4 22.0
(byte~) bitmap_init::$5 22.0
(byte~) bitmap_init::$6 22.0
(byte~) bitmap_init::$7 5.5
(byte) bitmap_init::bits
(byte) bitmap_init::bits#1 11.0
(byte) bitmap_init::bits#3 16.5
(byte) bitmap_init::bits#4 7.333333333333333
(byte*) bitmap_init::gfx
(byte*) bitmap_init::screen
(byte) bitmap_init::x
(byte) bitmap_init::x#1 16.5
(byte) bitmap_init::x#2 5.5
(byte) bitmap_init::y
(byte) bitmap_init::y#1 16.5
(byte) bitmap_init::y#2 5.5
(byte*) bitmap_init::yoffs
(byte*) bitmap_init::yoffs#1 22.0
(byte*) bitmap_init::yoffs#2 6.875
(byte*) bitmap_init::yoffs#4 11.0
(void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2)
(word) bitmap_line::dx
(word) bitmap_line::dx#0 75.275
(word) bitmap_line::dy
(word) bitmap_line::dy#0 83.6388888888889
(word) bitmap_line::e
(word) bitmap_line::e#0 4.0
(word) bitmap_line::e#1 1334.6666666666667
(word) bitmap_line::e#2 2002.0
(word) bitmap_line::e#3 400.79999999999995
(word) bitmap_line::e#6 1501.5
(word) bitmap_line::e1
(word) bitmap_line::e1#0 4.0
(word) bitmap_line::e1#1 1334.6666666666667
(word) bitmap_line::e1#2 2002.0
(word) bitmap_line::e1#3 400.79999999999995
(word) bitmap_line::e1#6 1501.5
(word) bitmap_line::sx
(word) bitmap_line::sx#0 66.80000000000001
(word) bitmap_line::sy
(word) bitmap_line::sy#0 77.07692307692308
(word) bitmap_line::x
(word) bitmap_line::x#0 48.34782608695653
(word) bitmap_line::x#1 1001.0
(word) bitmap_line::x#12 2002.0
(word) bitmap_line::x#13 572.2857142857142
(word) bitmap_line::x#15 572.0
(word) bitmap_line::x#6 1002.0
(word) bitmap_line::x#7 751.25
(word) bitmap_line::x1
(word) bitmap_line::x1#0 50.5
(word) bitmap_line::x1#1 400.4
(word) bitmap_line::x2
(word) bitmap_line::x2#0 101.0
(word) bitmap_line::x2#10 65.84375
(word) bitmap_line::x2#13 1001.0
(word) bitmap_line::y
(word) bitmap_line::y#0 50.45454545454547
(word) bitmap_line::y#1 572.0
(word) bitmap_line::y#13 2002.0
(word) bitmap_line::y#15 429.2857142857143
(word) bitmap_line::y#2 1001.0
(word) bitmap_line::y#4 501.0
(word) bitmap_line::y#7 2002.0
(word) bitmap_line::y1
(word) bitmap_line::y1#0 67.33333333333333
(word) bitmap_line::y1#1 500.5
(word) bitmap_line::y2
(word) bitmap_line::y2#0 202.0
(word) bitmap_line::y2#11 65.84375
(word) bitmap_line::y2#13 2002.0
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
(word~) bitmap_plot::$1 4.0
(byte~) bitmap_plot::$2 4.0
(byte*) bitmap_plot::plotter
(word) bitmap_plot::plotter#0 1.0
(byte*) bitmap_plot::plotter#1 3.0
(word) bitmap_plot::x
(word) bitmap_plot::x#0 4.0
(word) bitmap_plot::x#1 2002.0
(word) bitmap_plot::x#2 4.0
(word) bitmap_plot::x#3 2002.0
(word) bitmap_plot::x#4 502.5
(byte) bitmap_plot::y
(byte) bitmap_plot::y#0 2.0
(byte) bitmap_plot::y#1 1001.0
(byte) bitmap_plot::y#2 2.0
(byte) bitmap_plot::y#3 1001.0
(byte) bitmap_plot::y#4 2010.0
(void()) bitmap_plot_spline_8seg()
(byte~) bitmap_plot_spline_8seg::$8 500.5
(byte~) bitmap_plot_spline_8seg::$9 1501.5
(signed word) bitmap_plot_spline_8seg::current_x
(signed word) bitmap_plot_spline_8seg::current_x#0 2.0
(signed word) bitmap_plot_spline_8seg::current_x#1 500.5
(signed word) bitmap_plot_spline_8seg::current_x#2 1003.0
(signed word) bitmap_plot_spline_8seg::current_y
(signed word) bitmap_plot_spline_8seg::current_y#0 4.0
(signed word) bitmap_plot_spline_8seg::current_y#1 667.3333333333334
(signed word) bitmap_plot_spline_8seg::current_y#2 501.5
(byte) bitmap_plot_spline_8seg::n
(byte) bitmap_plot_spline_8seg::n#1 1501.5
(byte) bitmap_plot_spline_8seg::n#2 400.4
(byte*) bitmap_screen
(void()) main()
(byte) main::angle
(byte) main::angle#1 22.0
(byte) main::angle#2 3.3000000000000003
(byte*) main::toD0181_gfx
(byte) main::toD0181_return
(byte*) main::toD0181_screen
(byte*) main::vicSelectGfxBank1_gfx
(byte*) main::vicSelectGfxBank1_toDd001_gfx
(byte) main::vicSelectGfxBank1_toDd001_return
(byte) main::w
(byte) main::w#1 151.5
(byte) main::w#4 734.6666666666666
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(byte) memset::c
(byte) memset::c#4 12.625
(byte*) memset::dst
(byte*) memset::dst#1 202.0
(byte*) memset::dst#2 135.33333333333331
(byte*) memset::dst#4 4.0
(byte*) memset::end
(byte*) memset::end#0 17.166666666666664
(word) memset::num
(word) memset::num#2 2.0
(void*) memset::return
(void*) memset::str
(void*) memset::str#3
(signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b)
(word~) mulf16s::$13 4.0
(word~) mulf16s::$16 4.0
(word~) mulf16s::$17 4.0
(word~) mulf16s::$9 4.0
(signed word) mulf16s::a
(signed word) mulf16s::a#0 2.0
(signed word) mulf16s::a#1 2.0
(signed word) mulf16s::a#2 2.0
(signed word) mulf16s::a#3 2.0
(signed word) mulf16s::a#4 0.7692307692307693
(signed word) mulf16s::b
(signed word) mulf16s::b#0 4.0
(signed word) mulf16s::b#1 4.0
(signed word) mulf16s::b#2 4.0
(signed word) mulf16s::b#3 4.0
(signed word) mulf16s::b#4 0.9090909090909092
(dword) mulf16s::m
(dword) mulf16s::m#0 2.0
(dword) mulf16s::m#1 4.0
(dword) mulf16s::m#2 4.0
(dword) mulf16s::m#4 4.0
(dword) mulf16s::m#5 2.5
(signed dword) mulf16s::return
(signed dword) mulf16s::return#0 1.6666666666666665
(signed dword) mulf16s::return#10 4.0
(signed dword) mulf16s::return#2 4.0
(signed dword) mulf16s::return#3 4.0
(signed dword) mulf16s::return#4 4.0
(dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b)
(word) mulf16u::a
(word) mulf16u::a#0 2.0
(word) mulf16u::b
(word) mulf16u::b#0 2.0
(dword) mulf16u::return
(dword) mulf16u::return#0 1.3333333333333333
(dword) mulf16u::return#2 4.0
(void()) mulf_init()
(byte~) mulf_init::$1 22.0
(byte~) mulf_init::$4 22.0
(byte~) mulf_init::$5 22.0
(byte) mulf_init::c
(byte) mulf_init::c#1 2.5384615384615383
(byte) mulf_init::c#2 11.0
(byte) mulf_init::dir
(byte) mulf_init::dir#2 4.125
(byte) mulf_init::dir#4 11.0
(word) mulf_init::sqr
(word) mulf_init::sqr#1 11.0
(word) mulf_init::sqr#2 22.0
(word) mulf_init::sqr#3 9.166666666666666
(word) mulf_init::sqr#4 5.5
(byte*) mulf_init::sqr1_hi
(byte*) mulf_init::sqr1_hi#1 7.333333333333333
(byte*) mulf_init::sqr1_hi#2 2.75
(byte*) mulf_init::sqr1_lo
(byte*) mulf_init::sqr1_lo#1 22.0
(byte*) mulf_init::sqr1_lo#2 3.142857142857143
(byte*) mulf_init::sqr2_hi
(byte*) mulf_init::sqr2_hi#1 3.6666666666666665
(byte*) mulf_init::sqr2_hi#2 8.25
(byte*) mulf_init::sqr2_lo
(byte*) mulf_init::sqr2_lo#1 22.0
(byte*) mulf_init::sqr2_lo#2 4.888888888888889
(byte) mulf_init::x_2
(byte) mulf_init::x_2#1 11.0
(byte) mulf_init::x_2#2 5.5
(byte) mulf_init::x_2#3 6.6000000000000005
(byte) mulf_init::x_255
(byte) mulf_init::x_255#1 6.6000000000000005
(byte) mulf_init::x_255#2 8.8
(struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
(signed dword~) rotate::$1 2.0
(signed word~) rotate::$10 4.0
(signed dword~) rotate::$11 2.0
(signed word~) rotate::$12 4.0
(signed word~) rotate::$13 4.0
(byte~) rotate::$15 2.0
(byte~) rotate::$18 2.0
(signed word~) rotate::$2 4.0
(signed dword~) rotate::$4 2.0
(signed word~) rotate::$5 4.0
(signed dword~) rotate::$8 2.0
(signed word~) rotate::$9 4.0
(byte) rotate::angle
(byte) rotate::angle#0 202.0
(byte) rotate::angle#1 202.0
(byte) rotate::angle#2 12.625
(signed word) rotate::cos_a
(signed word) rotate::cos_a#0 0.75
(struct SplineVector16) rotate::return
(signed word) rotate::return_x
(signed word) rotate::return_x#0 101.0
(signed word) rotate::return_x#1 101.0
(signed word) rotate::return_x#2 34.0
(signed word) rotate::return_y
(signed word) rotate::return_y#0 101.0
(signed word) rotate::return_y#1 101.0
(signed word) rotate::return_y#2 34.0
(signed word) rotate::rotated_x
(signed word) rotate::rotated_y
(signed word) rotate::sin_a
(signed word) rotate::sin_a#0 0.6666666666666666
(struct SplineVector16) rotate::vector
(signed word) rotate::vector_x
(signed word) rotate::vector_x#0 67.33333333333333
(signed word) rotate::vector_x#1 67.33333333333333
(signed word) rotate::vector_x#2 7.9230769230769225
(signed word) rotate::vector_y
(signed word) rotate::vector_y#0 101.0
(signed word) rotate::vector_y#1 101.0
(signed word) rotate::vector_y#2 11.444444444444443
(signed word) rotate::xr
(signed word) rotate::xr#0 0.25
(signed word) rotate::xr#1 0.4444444444444444
(signed word) rotate::yr
(signed word) rotate::yr#0 0.23529411764705882
(signed word) rotate::yr#1 1.3333333333333333
(word()) sgn_u16((word) sgn_u16::w)
(byte~) sgn_u16::$0 4.0
(byte~) sgn_u16::$1 4.0
(word) sgn_u16::return
(word) sgn_u16::return#0 4.0
(word) sgn_u16::return#1 4.0
(word) sgn_u16::return#4 1.0
(word) sgn_u16::w
(word) sgn_u16::w#0 4.0
(word) sgn_u16::w#1 4.0
(word) sgn_u16::w#2 6.0
(void()) show_letter((byte) show_letter::angle)
(struct SplineVector16~) show_letter::$2
(byte~) show_letter::$20 151.5
(byte~) show_letter::$21 151.5
(byte~) show_letter::$22 202.0
(byte~) show_letter::$23 202.0
(byte~) show_letter::$25 202.0
(byte~) show_letter::$27 202.0
(struct SplineVector16~) show_letter::$7
(byte) show_letter::angle
(byte) show_letter::angle#0 3.6724137931034484
(signed word) show_letter::current_x
(signed word) show_letter::current_x#10 7.76923076923077
(signed word) show_letter::current_x#11 101.0
(signed word) show_letter::current_x#4 5.315789473684211
(signed word) show_letter::current_y
(signed word) show_letter::current_y#10 7.76923076923077
(signed word) show_letter::current_y#11 202.0
(signed word) show_letter::current_y#4 5.05
(byte) show_letter::i
(byte) show_letter::i#1 75.75
(byte) show_letter::i#10 15.538461538461537
(struct SplineVector16) show_letter::segment_to
(signed word) show_letter::segment_to_x
(signed word) show_letter::segment_to_y
(byte) show_letter::segment_type
(byte) show_letter::segment_type#0 151.5
(struct SplineVector16) show_letter::segment_via
(signed word) show_letter::segment_via_x
(signed word) show_letter::segment_via_x#0 22.444444444444443
(signed word) show_letter::segment_via_y
(signed word) show_letter::segment_via_y#0 22.444444444444443
(signed word) show_letter::to_x
(signed word) show_letter::to_x#0 101.0
(signed word) show_letter::to_x#1 101.0
(signed word) show_letter::to_x#2 101.0
(signed word) show_letter::to_y
(signed word) show_letter::to_y#0 101.0
(signed word) show_letter::to_y#1 101.0
(signed word) show_letter::to_y#2 101.0
(signed word) show_letter::via_x
(signed word) show_letter::via_x#0 101.0
(signed word) show_letter::via_x#1 101.0
(signed word) show_letter::via_x#2 101.0
(signed word) show_letter::via_y
(signed word) show_letter::via_y#0 101.0
(signed word) show_letter::via_y#1 101.0
(signed word) show_letter::via_y#2 101.0
(void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
(signed word~) spline_8segB::$0 4.0
(signed word~) spline_8segB::$1 4.0
(signed word~) spline_8segB::$10 4.0
(signed word~) spline_8segB::$12 4.0
(signed word~) spline_8segB::$18 4.0
(signed word~) spline_8segB::$19 1.3333333333333333
(signed word~) spline_8segB::$20 4.0
(signed word~) spline_8segB::$21 2.0
(signed word~) spline_8segB::$22 2002.0
(signed word~) spline_8segB::$23 500.5
(signed word~) spline_8segB::$24 2002.0
(signed word~) spline_8segB::$25 667.3333333333334
(signed word~) spline_8segB::$3 4.0
(byte~) spline_8segB::$31 1501.5
(signed word~) spline_8segB::$4 4.0
(signed word~) spline_8segB::$6 4.0
(signed word~) spline_8segB::$8 4.0
(signed word) spline_8segB::a_x
(signed word) spline_8segB::a_x#0 0.5
(signed word) spline_8segB::a_y
(signed word) spline_8segB::a_y#0 0.6000000000000001
(signed word) spline_8segB::b_x
(signed word) spline_8segB::b_x#0 1.3333333333333333
(signed word) spline_8segB::b_y
(signed word) spline_8segB::b_y#0 1.3333333333333333
(signed word) spline_8segB::i_x
(signed word) spline_8segB::i_x#0 0.5714285714285714
(signed word) spline_8segB::i_x#1 500.5
(signed word) spline_8segB::i_x#2 300.5
(signed word) spline_8segB::i_y
(signed word) spline_8segB::i_y#0 0.8
(signed word) spline_8segB::i_y#1 667.3333333333334
(signed word) spline_8segB::i_y#2 273.1818181818182
(signed word) spline_8segB::j_x
(signed word) spline_8segB::j_x#0 55.72222222222223
(signed word) spline_8segB::j_y
(signed word) spline_8segB::j_y#0 59.0
(byte) spline_8segB::n
(byte) spline_8segB::n#1 1501.5
(byte) spline_8segB::n#2 250.25
(struct SplineVector16) spline_8segB::p0
(signed word) spline_8segB::p0_x
(signed word) spline_8segB::p0_x#0 4.863636363636363
(signed word) spline_8segB::p0_y
(signed word) spline_8segB::p0_y#0 4.863636363636363
(struct SplineVector16) spline_8segB::p1
(signed word) spline_8segB::p1_x
(signed word) spline_8segB::p1_x#0 10.499999999999998
(signed word) spline_8segB::p1_y
(signed word) spline_8segB::p1_y#0 9.545454545454545
(struct SplineVector16) spline_8segB::p2
(signed word) spline_8segB::p2_x
(signed word) spline_8segB::p2_x#0 34.33333333333333
(signed word) spline_8segB::p2_y
(signed word) spline_8segB::p2_y#0 20.599999999999998
(signed word) spline_8segB::p_x
(signed word) spline_8segB::p_x#0 2.0
(signed word) spline_8segB::p_x#1 334.0
(signed word) spline_8segB::p_x#2 375.625
(signed word) spline_8segB::p_y
(signed word) spline_8segB::p_y#0 4.0
(signed word) spline_8segB::p_y#1 286.2857142857143
(signed word) spline_8segB::p_y#2 333.8888888888889

Initial phi equivalence classes
[ main::angle#2 main::angle#1 ]
[ main::w#4 main::w#1 ]
[ show_letter::i#10 show_letter::i#1 ]
[ show_letter::current_x#4 show_letter::current_x#11 ]
[ show_letter::current_y#4 show_letter::current_y#11 ]
[ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ]
[ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ]
[ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]
[ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ]
[ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ]
[ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ]
[ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ]
[ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ]
[ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ]
[ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ]
[ bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ]
[ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ]
[ sgn_u16::return#4 ]
[ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ]
[ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ]
[ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ]
[ spline_8segB::n#2 spline_8segB::n#1 ]
[ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ]
[ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ]
[ rotate::angle#2 rotate::angle#0 rotate::angle#1 ]
[ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ]
[ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ]
[ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ]
[ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ]
[ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ]
[ memset::num#2 ]
[ memset::str#3 ]
[ memset::c#4 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
[ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
[ bitmap_init::x#2 bitmap_init::x#1 ]
[ bitmap_init::y#2 bitmap_init::y#1 ]
[ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
[ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
[ mulf_init::c#2 mulf_init::c#1 ]
[ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
[ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
[ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
[ mulf_init::x_255#2 mulf_init::x_255#1 ]
[ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
[ mulf_init::dir#2 mulf_init::dir#4 ]
[ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
Added variable show_letter::angle#0 to live range equivalence class [ show_letter::angle#0 ]
Added variable show_letter::$23 to live range equivalence class [ show_letter::$23 ]
Added variable show_letter::$20 to live range equivalence class [ show_letter::$20 ]
Added variable show_letter::to_x#0 to live range equivalence class [ show_letter::to_x#0 ]
Added variable show_letter::to_y#0 to live range equivalence class [ show_letter::to_y#0 ]
Added variable show_letter::to_x#1 to live range equivalence class [ show_letter::to_x#1 ]
Added variable show_letter::to_y#1 to live range equivalence class [ show_letter::to_y#1 ]
Added variable rotate::return_x#0 to live range equivalence class [ rotate::return_x#0 ]
Added variable rotate::return_y#0 to live range equivalence class [ rotate::return_y#0 ]
Added variable show_letter::to_x#2 to live range equivalence class [ show_letter::to_x#2 ]
Added variable show_letter::to_y#2 to live range equivalence class [ show_letter::to_y#2 ]
Added variable show_letter::current_x#10 to live range equivalence class [ show_letter::current_x#10 ]
Added variable show_letter::current_y#10 to live range equivalence class [ show_letter::current_y#10 ]
Added variable show_letter::$25 to live range equivalence class [ show_letter::$25 ]
Added variable show_letter::$21 to live range equivalence class [ show_letter::$21 ]
Added variable show_letter::via_x#0 to live range equivalence class [ show_letter::via_x#0 ]
Added variable show_letter::via_y#0 to live range equivalence class [ show_letter::via_y#0 ]
Added variable show_letter::via_x#1 to live range equivalence class [ show_letter::via_x#1 ]
Added variable show_letter::via_y#1 to live range equivalence class [ show_letter::via_y#1 ]
Added variable rotate::return_x#1 to live range equivalence class [ rotate::return_x#1 ]
Added variable rotate::return_y#1 to live range equivalence class [ rotate::return_y#1 ]
Added variable show_letter::via_x#2 to live range equivalence class [ show_letter::via_x#2 ]
Added variable show_letter::via_y#2 to live range equivalence class [ show_letter::via_y#2 ]
Added variable show_letter::segment_via_x#0 to live range equivalence class [ show_letter::segment_via_x#0 ]
Added variable show_letter::segment_via_y#0 to live range equivalence class [ show_letter::segment_via_y#0 ]
Added variable show_letter::$27 to live range equivalence class [ show_letter::$27 ]
Added variable show_letter::$22 to live range equivalence class [ show_letter::$22 ]
Added variable show_letter::segment_type#0 to live range equivalence class [ show_letter::segment_type#0 ]
Added variable spline_8segB::p0_x#0 to live range equivalence class [ spline_8segB::p0_x#0 ]
Added variable spline_8segB::p0_y#0 to live range equivalence class [ spline_8segB::p0_y#0 ]
Added variable spline_8segB::p1_x#0 to live range equivalence class [ spline_8segB::p1_x#0 ]
Added variable spline_8segB::p1_y#0 to live range equivalence class [ spline_8segB::p1_y#0 ]
Added variable spline_8segB::p2_x#0 to live range equivalence class [ spline_8segB::p2_x#0 ]
Added variable spline_8segB::p2_y#0 to live range equivalence class [ spline_8segB::p2_y#0 ]
Added variable bitmap_plot_spline_8seg::$8 to live range equivalence class [ bitmap_plot_spline_8seg::$8 ]
Added variable bitmap_plot_spline_8seg::$9 to live range equivalence class [ bitmap_plot_spline_8seg::$9 ]
Added variable abs_u16::return#0 to live range equivalence class [ abs_u16::return#0 ]
Added variable bitmap_line::dx#0 to live range equivalence class [ bitmap_line::dx#0 ]
Added variable abs_u16::return#1 to live range equivalence class [ abs_u16::return#1 ]
Added variable bitmap_line::dy#0 to live range equivalence class [ bitmap_line::dy#0 ]
Added variable sgn_u16::return#0 to live range equivalence class [ sgn_u16::return#0 ]
Added variable bitmap_line::sx#0 to live range equivalence class [ bitmap_line::sx#0 ]
Added variable sgn_u16::return#1 to live range equivalence class [ sgn_u16::return#1 ]
Added variable bitmap_line::sy#0 to live range equivalence class [ bitmap_line::sy#0 ]
Added variable bitmap_plot::plotter#0 to live range equivalence class [ bitmap_plot::plotter#0 ]
Added variable bitmap_plot::$1 to live range equivalence class [ bitmap_plot::$1 ]
Added variable bitmap_plot::plotter#1 to live range equivalence class [ bitmap_plot::plotter#1 ]
Added variable bitmap_plot::$2 to live range equivalence class [ bitmap_plot::$2 ]
Added variable sgn_u16::$0 to live range equivalence class [ sgn_u16::$0 ]
Added variable sgn_u16::$1 to live range equivalence class [ sgn_u16::$1 ]
Added variable abs_u16::$0 to live range equivalence class [ abs_u16::$0 ]
Added variable abs_u16::$1 to live range equivalence class [ abs_u16::$1 ]
Added variable spline_8segB::$0 to live range equivalence class [ spline_8segB::$0 ]
Added variable spline_8segB::$1 to live range equivalence class [ spline_8segB::$1 ]
Added variable spline_8segB::a_x#0 to live range equivalence class [ spline_8segB::a_x#0 ]
Added variable spline_8segB::$3 to live range equivalence class [ spline_8segB::$3 ]
Added variable spline_8segB::$4 to live range equivalence class [ spline_8segB::$4 ]
Added variable spline_8segB::a_y#0 to live range equivalence class [ spline_8segB::a_y#0 ]
Added variable spline_8segB::$6 to live range equivalence class [ spline_8segB::$6 ]
Added variable spline_8segB::b_x#0 to live range equivalence class [ spline_8segB::b_x#0 ]
Added variable spline_8segB::$8 to live range equivalence class [ spline_8segB::$8 ]
Added variable spline_8segB::b_y#0 to live range equivalence class [ spline_8segB::b_y#0 ]
Added variable spline_8segB::$10 to live range equivalence class [ spline_8segB::$10 ]
Added variable spline_8segB::$12 to live range equivalence class [ spline_8segB::$12 ]
Added variable spline_8segB::j_x#0 to live range equivalence class [ spline_8segB::j_x#0 ]
Added variable spline_8segB::j_y#0 to live range equivalence class [ spline_8segB::j_y#0 ]
Added variable spline_8segB::$22 to live range equivalence class [ spline_8segB::$22 ]
Added variable spline_8segB::$23 to live range equivalence class [ spline_8segB::$23 ]
Added variable spline_8segB::$24 to live range equivalence class [ spline_8segB::$24 ]
Added variable spline_8segB::$25 to live range equivalence class [ spline_8segB::$25 ]
Added variable spline_8segB::$31 to live range equivalence class [ spline_8segB::$31 ]
Added variable spline_8segB::$18 to live range equivalence class [ spline_8segB::$18 ]
Added variable spline_8segB::$19 to live range equivalence class [ spline_8segB::$19 ]
Added variable spline_8segB::$20 to live range equivalence class [ spline_8segB::$20 ]
Added variable spline_8segB::$21 to live range equivalence class [ spline_8segB::$21 ]
Added variable rotate::cos_a#0 to live range equivalence class [ rotate::cos_a#0 ]
Added variable mulf16s::return#2 to live range equivalence class [ mulf16s::return#2 ]
Added variable rotate::$1 to live range equivalence class [ rotate::$1 ]
Added variable rotate::$2 to live range equivalence class [ rotate::$2 ]
Added variable rotate::xr#0 to live range equivalence class [ rotate::xr#0 ]
Added variable mulf16s::return#3 to live range equivalence class [ mulf16s::return#3 ]
Added variable rotate::$4 to live range equivalence class [ rotate::$4 ]
Added variable rotate::$5 to live range equivalence class [ rotate::$5 ]
Added variable rotate::yr#0 to live range equivalence class [ rotate::yr#0 ]
Added variable rotate::sin_a#0 to live range equivalence class [ rotate::sin_a#0 ]
Added variable mulf16s::return#4 to live range equivalence class [ mulf16s::return#4 ]
Added variable rotate::$8 to live range equivalence class [ rotate::$8 ]
Added variable rotate::$9 to live range equivalence class [ rotate::$9 ]
Added variable rotate::$10 to live range equivalence class [ rotate::$10 ]
Added variable rotate::xr#1 to live range equivalence class [ rotate::xr#1 ]
Added variable mulf16s::return#10 to live range equivalence class [ mulf16s::return#10 ]
Added variable rotate::$11 to live range equivalence class [ rotate::$11 ]
Added variable rotate::$12 to live range equivalence class [ rotate::$12 ]
Added variable rotate::$13 to live range equivalence class [ rotate::$13 ]
Added variable rotate::yr#1 to live range equivalence class [ rotate::yr#1 ]
Added variable rotate::$15 to live range equivalence class [ rotate::$15 ]
Added variable rotate::return_x#2 to live range equivalence class [ rotate::return_x#2 ]
Added variable rotate::$18 to live range equivalence class [ rotate::$18 ]
Added variable rotate::return_y#2 to live range equivalence class [ rotate::return_y#2 ]
Added variable mulf16u::a#0 to live range equivalence class [ mulf16u::a#0 ]
Added variable mulf16u::b#0 to live range equivalence class [ mulf16u::b#0 ]
Added variable mulf16u::return#2 to live range equivalence class [ mulf16u::return#2 ]
Added variable mulf16s::$9 to live range equivalence class [ mulf16s::$9 ]
Added variable mulf16s::$16 to live range equivalence class [ mulf16s::$16 ]
Added variable mulf16s::$13 to live range equivalence class [ mulf16s::$13 ]
Added variable mulf16s::$17 to live range equivalence class [ mulf16s::$17 ]
Added variable mulf16s::return#0 to live range equivalence class [ mulf16s::return#0 ]
Added variable mulf16u::return#0 to live range equivalence class [ mulf16u::return#0 ]
Added variable memset::end#0 to live range equivalence class [ memset::end#0 ]
Added variable bitmap_init::$7 to live range equivalence class [ bitmap_init::$7 ]
Added variable bitmap_init::$4 to live range equivalence class [ bitmap_init::$4 ]
Added variable bitmap_init::$5 to live range equivalence class [ bitmap_init::$5 ]
Added variable bitmap_init::$6 to live range equivalence class [ bitmap_init::$6 ]
Added variable mulf_init::$1 to live range equivalence class [ mulf_init::$1 ]
Added variable mulf_init::$4 to live range equivalence class [ mulf_init::$4 ]
Added variable mulf_init::$5 to live range equivalence class [ mulf_init::$5 ]
Complete equivalence classes
[ main::angle#2 main::angle#1 ]
[ main::w#4 main::w#1 ]
[ show_letter::i#10 show_letter::i#1 ]
[ show_letter::current_x#4 show_letter::current_x#11 ]
[ show_letter::current_y#4 show_letter::current_y#11 ]
[ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ]
[ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ]
[ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]
[ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ]
[ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ]
[ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ]
[ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ]
[ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ]
[ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ]
[ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ]
[ bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ]
[ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ]
[ sgn_u16::return#4 ]
[ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ]
[ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ]
[ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ]
[ spline_8segB::n#2 spline_8segB::n#1 ]
[ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ]
[ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ]
[ rotate::angle#2 rotate::angle#0 rotate::angle#1 ]
[ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ]
[ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ]
[ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ]
[ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ]
[ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ]
[ memset::num#2 ]
[ memset::str#3 ]
[ memset::c#4 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
[ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
[ bitmap_init::x#2 bitmap_init::x#1 ]
[ bitmap_init::y#2 bitmap_init::y#1 ]
[ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
[ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
[ mulf_init::c#2 mulf_init::c#1 ]
[ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
[ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
[ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
[ mulf_init::x_255#2 mulf_init::x_255#1 ]
[ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
[ mulf_init::dir#2 mulf_init::dir#4 ]
[ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
[ show_letter::angle#0 ]
[ show_letter::$23 ]
[ show_letter::$20 ]
[ show_letter::to_x#0 ]
[ show_letter::to_y#0 ]
[ show_letter::to_x#1 ]
[ show_letter::to_y#1 ]
[ rotate::return_x#0 ]
[ rotate::return_y#0 ]
[ show_letter::to_x#2 ]
[ show_letter::to_y#2 ]
[ show_letter::current_x#10 ]
[ show_letter::current_y#10 ]
[ show_letter::$25 ]
[ show_letter::$21 ]
[ show_letter::via_x#0 ]
[ show_letter::via_y#0 ]
[ show_letter::via_x#1 ]
[ show_letter::via_y#1 ]
[ rotate::return_x#1 ]
[ rotate::return_y#1 ]
[ show_letter::via_x#2 ]
[ show_letter::via_y#2 ]
[ show_letter::segment_via_x#0 ]
[ show_letter::segment_via_y#0 ]
[ show_letter::$27 ]
[ show_letter::$22 ]
[ show_letter::segment_type#0 ]
[ spline_8segB::p0_x#0 ]
[ spline_8segB::p0_y#0 ]
[ spline_8segB::p1_x#0 ]
[ spline_8segB::p1_y#0 ]
[ spline_8segB::p2_x#0 ]
[ spline_8segB::p2_y#0 ]
[ bitmap_plot_spline_8seg::$8 ]
[ bitmap_plot_spline_8seg::$9 ]
[ abs_u16::return#0 ]
[ bitmap_line::dx#0 ]
[ abs_u16::return#1 ]
[ bitmap_line::dy#0 ]
[ sgn_u16::return#0 ]
[ bitmap_line::sx#0 ]
[ sgn_u16::return#1 ]
[ bitmap_line::sy#0 ]
[ bitmap_plot::plotter#0 ]
[ bitmap_plot::$1 ]
[ bitmap_plot::plotter#1 ]
[ bitmap_plot::$2 ]
[ sgn_u16::$0 ]
[ sgn_u16::$1 ]
[ abs_u16::$0 ]
[ abs_u16::$1 ]
[ spline_8segB::$0 ]
[ spline_8segB::$1 ]
[ spline_8segB::a_x#0 ]
[ spline_8segB::$3 ]
[ spline_8segB::$4 ]
[ spline_8segB::a_y#0 ]
[ spline_8segB::$6 ]
[ spline_8segB::b_x#0 ]
[ spline_8segB::$8 ]
[ spline_8segB::b_y#0 ]
[ spline_8segB::$10 ]
[ spline_8segB::$12 ]
[ spline_8segB::j_x#0 ]
[ spline_8segB::j_y#0 ]
[ spline_8segB::$22 ]
[ spline_8segB::$23 ]
[ spline_8segB::$24 ]
[ spline_8segB::$25 ]
[ spline_8segB::$31 ]
[ spline_8segB::$18 ]
[ spline_8segB::$19 ]
[ spline_8segB::$20 ]
[ spline_8segB::$21 ]
[ rotate::cos_a#0 ]
[ mulf16s::return#2 ]
[ rotate::$1 ]
[ rotate::$2 ]
[ rotate::xr#0 ]
[ mulf16s::return#3 ]
[ rotate::$4 ]
[ rotate::$5 ]
[ rotate::yr#0 ]
[ rotate::sin_a#0 ]
[ mulf16s::return#4 ]
[ rotate::$8 ]
[ rotate::$9 ]
[ rotate::$10 ]
[ rotate::xr#1 ]
[ mulf16s::return#10 ]
[ rotate::$11 ]
[ rotate::$12 ]
[ rotate::$13 ]
[ rotate::yr#1 ]
[ rotate::$15 ]
[ rotate::return_x#2 ]
[ rotate::$18 ]
[ rotate::return_y#2 ]
[ mulf16u::a#0 ]
[ mulf16u::b#0 ]
[ mulf16u::return#2 ]
[ mulf16s::$9 ]
[ mulf16s::$16 ]
[ mulf16s::$13 ]
[ mulf16s::$17 ]
[ mulf16s::return#0 ]
[ mulf16u::return#0 ]
[ memset::end#0 ]
[ bitmap_init::$7 ]
[ bitmap_init::$4 ]
[ bitmap_init::$5 ]
[ bitmap_init::$6 ]
[ mulf_init::$1 ]
[ mulf_init::$4 ]
[ mulf_init::$5 ]
Allocated zp[1]:2 [ main::angle#2 main::angle#1 ]
Allocated zp[1]:3 [ main::w#4 main::w#1 ]
Allocated zp[1]:4 [ show_letter::i#10 show_letter::i#1 ]
Allocated zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 ]
Allocated zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 ]
Allocated zp[2]:9 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ]
Allocated zp[2]:11 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ]
Allocated zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]
Allocated zp[2]:14 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ]
Allocated zp[2]:16 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ]
Allocated zp[2]:18 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ]
Allocated zp[2]:20 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ]
Allocated zp[2]:22 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ]
Allocated zp[2]:24 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ]
Allocated zp[1]:26 [ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ]
Allocated zp[2]:27 [ bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ]
Allocated zp[2]:29 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ]
Allocated zp[2]:31 [ sgn_u16::return#4 ]
Allocated zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ]
Allocated zp[2]:35 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ]
Allocated zp[2]:37 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ]
Allocated zp[1]:39 [ spline_8segB::n#2 spline_8segB::n#1 ]
Allocated zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ]
Allocated zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ]
Allocated zp[1]:44 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ]
Allocated zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ]
Allocated zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ]
Allocated zp[2]:49 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ]
Allocated zp[2]:51 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ]
Allocated zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ]
Allocated zp[2]:57 [ memset::num#2 ]
Allocated zp[2]:59 [ memset::str#3 ]
Allocated zp[1]:61 [ memset::c#4 ]
Allocated zp[2]:62 [ memset::dst#2 memset::dst#4 memset::dst#1 ]
Allocated zp[1]:64 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
Allocated zp[1]:65 [ bitmap_init::x#2 bitmap_init::x#1 ]
Allocated zp[1]:66 [ bitmap_init::y#2 bitmap_init::y#1 ]
Allocated zp[2]:67 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ]
Allocated zp[2]:69 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
Allocated zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ]
Allocated zp[2]:72 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Allocated zp[1]:74 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Allocated zp[2]:75 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
Allocated zp[1]:77 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Allocated zp[2]:78 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
Allocated zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ]
Allocated zp[2]:81 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
Allocated zp[1]:83 [ show_letter::angle#0 ]
Allocated zp[1]:84 [ show_letter::$23 ]
Allocated zp[1]:85 [ show_letter::$20 ]
Allocated zp[2]:86 [ show_letter::to_x#0 ]
Allocated zp[2]:88 [ show_letter::to_y#0 ]
Allocated zp[2]:90 [ show_letter::to_x#1 ]
Allocated zp[2]:92 [ show_letter::to_y#1 ]
Allocated zp[2]:94 [ rotate::return_x#0 ]
Allocated zp[2]:96 [ rotate::return_y#0 ]
Allocated zp[2]:98 [ show_letter::to_x#2 ]
Allocated zp[2]:100 [ show_letter::to_y#2 ]
Allocated zp[2]:102 [ show_letter::current_x#10 ]
Allocated zp[2]:104 [ show_letter::current_y#10 ]
Allocated zp[1]:106 [ show_letter::$25 ]
Allocated zp[1]:107 [ show_letter::$21 ]
Allocated zp[2]:108 [ show_letter::via_x#0 ]
Allocated zp[2]:110 [ show_letter::via_y#0 ]
Allocated zp[2]:112 [ show_letter::via_x#1 ]
Allocated zp[2]:114 [ show_letter::via_y#1 ]
Allocated zp[2]:116 [ rotate::return_x#1 ]
Allocated zp[2]:118 [ rotate::return_y#1 ]
Allocated zp[2]:120 [ show_letter::via_x#2 ]
Allocated zp[2]:122 [ show_letter::via_y#2 ]
Allocated zp[2]:124 [ show_letter::segment_via_x#0 ]
Allocated zp[2]:126 [ show_letter::segment_via_y#0 ]
Allocated zp[1]:128 [ show_letter::$27 ]
Allocated zp[1]:129 [ show_letter::$22 ]
Allocated zp[1]:130 [ show_letter::segment_type#0 ]
Allocated zp[2]:131 [ spline_8segB::p0_x#0 ]
Allocated zp[2]:133 [ spline_8segB::p0_y#0 ]
Allocated zp[2]:135 [ spline_8segB::p1_x#0 ]
Allocated zp[2]:137 [ spline_8segB::p1_y#0 ]
Allocated zp[2]:139 [ spline_8segB::p2_x#0 ]
Allocated zp[2]:141 [ spline_8segB::p2_y#0 ]
Allocated zp[1]:143 [ bitmap_plot_spline_8seg::$8 ]
Allocated zp[1]:144 [ bitmap_plot_spline_8seg::$9 ]
Allocated zp[2]:145 [ abs_u16::return#0 ]
Allocated zp[2]:147 [ bitmap_line::dx#0 ]
Allocated zp[2]:149 [ abs_u16::return#1 ]
Allocated zp[2]:151 [ bitmap_line::dy#0 ]
Allocated zp[2]:153 [ sgn_u16::return#0 ]
Allocated zp[2]:155 [ bitmap_line::sx#0 ]
Allocated zp[2]:157 [ sgn_u16::return#1 ]
Allocated zp[2]:159 [ bitmap_line::sy#0 ]
Allocated zp[2]:161 [ bitmap_plot::plotter#0 ]
Allocated zp[2]:163 [ bitmap_plot::$1 ]
Allocated zp[2]:165 [ bitmap_plot::plotter#1 ]
Allocated zp[1]:167 [ bitmap_plot::$2 ]
Allocated zp[1]:168 [ sgn_u16::$0 ]
Allocated zp[1]:169 [ sgn_u16::$1 ]
Allocated zp[1]:170 [ abs_u16::$0 ]
Allocated zp[1]:171 [ abs_u16::$1 ]
Allocated zp[2]:172 [ spline_8segB::$0 ]
Allocated zp[2]:174 [ spline_8segB::$1 ]
Allocated zp[2]:176 [ spline_8segB::a_x#0 ]
Allocated zp[2]:178 [ spline_8segB::$3 ]
Allocated zp[2]:180 [ spline_8segB::$4 ]
Allocated zp[2]:182 [ spline_8segB::a_y#0 ]
Allocated zp[2]:184 [ spline_8segB::$6 ]
Allocated zp[2]:186 [ spline_8segB::b_x#0 ]
Allocated zp[2]:188 [ spline_8segB::$8 ]
Allocated zp[2]:190 [ spline_8segB::b_y#0 ]
Allocated zp[2]:192 [ spline_8segB::$10 ]
Allocated zp[2]:194 [ spline_8segB::$12 ]
Allocated zp[2]:196 [ spline_8segB::j_x#0 ]
Allocated zp[2]:198 [ spline_8segB::j_y#0 ]
Allocated zp[2]:200 [ spline_8segB::$22 ]
Allocated zp[2]:202 [ spline_8segB::$23 ]
Allocated zp[2]:204 [ spline_8segB::$24 ]
Allocated zp[2]:206 [ spline_8segB::$25 ]
Allocated zp[1]:208 [ spline_8segB::$31 ]
Allocated zp[2]:209 [ spline_8segB::$18 ]
Allocated zp[2]:211 [ spline_8segB::$19 ]
Allocated zp[2]:213 [ spline_8segB::$20 ]
Allocated zp[2]:215 [ spline_8segB::$21 ]
Allocated zp[2]:217 [ rotate::cos_a#0 ]
Allocated zp[4]:219 [ mulf16s::return#2 ]
Allocated zp[4]:223 [ rotate::$1 ]
Allocated zp[2]:227 [ rotate::$2 ]
Allocated zp[2]:229 [ rotate::xr#0 ]
Allocated zp[4]:231 [ mulf16s::return#3 ]
Allocated zp[4]:235 [ rotate::$4 ]
Allocated zp[2]:239 [ rotate::$5 ]
Allocated zp[2]:241 [ rotate::yr#0 ]
Allocated zp[2]:243 [ rotate::sin_a#0 ]
Allocated zp[4]:245 [ mulf16s::return#4 ]
Allocated zp[4]:249 [ rotate::$8 ]
Allocated zp[2]:253 [ rotate::$9 ]
Allocated zp[2]:255 [ rotate::$10 ]
Allocated zp[2]:257 [ rotate::xr#1 ]
Allocated zp[4]:259 [ mulf16s::return#10 ]
Allocated zp[4]:263 [ rotate::$11 ]
Allocated zp[2]:267 [ rotate::$12 ]
Allocated zp[2]:269 [ rotate::$13 ]
Allocated zp[2]:271 [ rotate::yr#1 ]
Allocated zp[1]:273 [ rotate::$15 ]
Allocated zp[2]:274 [ rotate::return_x#2 ]
Allocated zp[1]:276 [ rotate::$18 ]
Allocated zp[2]:277 [ rotate::return_y#2 ]
Allocated zp[2]:279 [ mulf16u::a#0 ]
Allocated zp[2]:281 [ mulf16u::b#0 ]
Allocated zp[4]:283 [ mulf16u::return#2 ]
Allocated zp[2]:287 [ mulf16s::$9 ]
Allocated zp[2]:289 [ mulf16s::$16 ]
Allocated zp[2]:291 [ mulf16s::$13 ]
Allocated zp[2]:293 [ mulf16s::$17 ]
Allocated zp[4]:295 [ mulf16s::return#0 ]
Allocated zp[4]:299 [ mulf16u::return#0 ]
Allocated zp[2]:303 [ memset::end#0 ]
Allocated zp[1]:305 [ bitmap_init::$7 ]
Allocated zp[1]:306 [ bitmap_init::$4 ]
Allocated zp[1]:307 [ bitmap_init::$5 ]
Allocated zp[1]:308 [ bitmap_init::$6 ]
Allocated zp[1]:309 [ mulf_init::$1 ]
Allocated zp[1]:310 [ mulf_init::$4 ]
Allocated zp[1]:311 [ mulf_init::$5 ]

INITIAL ASM
Target platform is c64basic / MOS6502X
  // File Comments
// Show a few simple splines using the splines library
  // Upstart
.pc = $801 "Basic"
:BasicUpstart(__bbegin)
.pc = $80d "Program"
  // Global Constants & labels
  .label RASTER = $d012
  .label D011 = $d011
  .const VIC_BMM = $20
  .const VIC_DEN = $10
  .const VIC_RSEL = 8
  .label D018 = $d018
  // CIA#2 Port A: Serial bus, RS-232, VIC memory bank
  .label CIA2_PORT_A = $dd00
  // CIA #2 Port A data direction register.
  .label CIA2_PORT_A_DDR = $dd02
  .const WHITE = 1
  .label BITMAP_SCREEN = $5c00
  .label BITMAP_GRAPHICS = $6000
  .const MOVE_TO = 0
  .const SPLINE_TO = 1
  .const LINE_TO = 2
  .const SIZEOF_STRUCT_SPLINEVECTOR16 = 4
  .const OFFSET_STRUCT_SPLINEVECTOR16_Y = 2
  .const OFFSET_STRUCT_SEGMENT_TO = 1
  .const OFFSET_STRUCT_SEGMENT_VIA = 5
  .label COS = SIN+$40
  // @begin
__bbegin:
  // [1] phi from @begin to @1 [phi:@begin->@1]
__b1_from___bbegin:
  jmp __b1
  // @1
__b1:
  // [2] call main 
  // [4] phi from @1 to main [phi:@1->main]
main_from___b1:
  jsr main
  // [3] phi from @1 to @end [phi:@1->@end]
__bend_from___b1:
  jmp __bend
  // @end
__bend:
  // main
main: {
    .const vicSelectGfxBank1_toDd001_return = 3^(>BITMAP_SCREEN)/$40
    .const toD0181_return = (>(BITMAP_SCREEN&$3fff)*4)|(>BITMAP_GRAPHICS)/4&$f
    .label w = 3
    .label angle = 2
    // [5] call mulf_init 
    // [309] phi from main to mulf_init [phi:main->mulf_init]
  mulf_init_from_main:
    jsr mulf_init
    // [6] phi from main to main::@8 [phi:main->main::@8]
  __b8_from_main:
    jmp __b8
    // main::@8
  __b8:
    // [7] call bitmap_init 
    // [287] phi from main::@8 to bitmap_init [phi:main::@8->bitmap_init]
  bitmap_init_from___b8:
    jsr bitmap_init
    // [8] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
  __b9_from___b8:
    jmp __b9
    // main::@9
  __b9:
    // [9] call bitmap_clear 
    // [273] phi from main::@9 to bitmap_clear [phi:main::@9->bitmap_clear]
  bitmap_clear_from___b9:
    jsr bitmap_clear
    jmp vicSelectGfxBank1
    // main::vicSelectGfxBank1
  vicSelectGfxBank1:
    // [10] *((const byte*) CIA2_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 
    lda #3
    sta CIA2_PORT_A_DDR
    // [11] phi from main::vicSelectGfxBank1 to main::vicSelectGfxBank1_toDd001 [phi:main::vicSelectGfxBank1->main::vicSelectGfxBank1_toDd001]
  vicSelectGfxBank1_toDd001_from_vicSelectGfxBank1:
    jmp vicSelectGfxBank1_toDd001
    // main::vicSelectGfxBank1_toDd001
  vicSelectGfxBank1_toDd001:
    jmp vicSelectGfxBank1___b1
    // main::vicSelectGfxBank1_@1
  vicSelectGfxBank1___b1:
    // [12] *((const byte*) CIA2_PORT_A) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0 -- _deref_pbuc1=vbuc2 
    lda #vicSelectGfxBank1_toDd001_return
    sta CIA2_PORT_A
    // [13] phi from main::vicSelectGfxBank1_@1 to main::toD0181 [phi:main::vicSelectGfxBank1_@1->main::toD0181]
  toD0181_from_vicSelectGfxBank1___b1:
    jmp toD0181
    // main::toD0181
  toD0181:
    jmp __b7
    // main::@7
  __b7:
    // [14] *((const byte*) D018) ← (const byte) main::toD0181_return#0 -- _deref_pbuc1=vbuc2 
    lda #toD0181_return
    sta D018
    // [15] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2 
    lda #VIC_BMM|VIC_DEN|VIC_RSEL|3
    sta D011
    // [16] phi from main::@7 to main::@1 [phi:main::@7->main::@1]
  __b1_from___b7:
    // [16] phi (byte) main::angle#2 = (byte) 0 [phi:main::@7->main::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z angle
    jmp __b1
    // main::@1
  __b1:
    // [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  __b2_from___b1:
    jmp __b2
    // main::@2
  __b2:
    // [18] call bitmap_clear 
    // [273] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear]
  bitmap_clear_from___b2:
    jsr bitmap_clear
    jmp __b10
    // main::@10
  __b10:
    // [19] (byte) show_letter::angle#0 ← (byte) main::angle#2 -- vbuz1=vbuz2 
    lda.z angle
    sta.z show_letter.angle
    // [20] call show_letter 
    // [27] phi from main::@10 to show_letter [phi:main::@10->show_letter]
  show_letter_from___b10:
    jsr show_letter
    // [21] phi from main::@10 to main::@3 [phi:main::@10->main::@3]
  __b3_from___b10:
    // [21] phi (byte) main::w#4 = (byte) 0 [phi:main::@10->main::@3#0] -- vbuz1=vbuc1 
    lda #0
    sta.z w
    jmp __b3
    // [21] phi from main::@3 main::@5 to main::@3 [phi:main::@3/main::@5->main::@3]
  __b3_from___b3:
  __b3_from___b5:
    // [21] phi (byte) main::w#4 = (byte) main::w#4 [phi:main::@3/main::@5->main::@3#0] -- register_copy 
    jmp __b3
    // main::@3
  __b3:
    // [22] if(*((const byte*) RASTER)!=(byte) $fe) goto main::@3 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$fe
    cmp RASTER
    bne __b3_from___b3
    jmp __b4
    // main::@4
  __b4:
    // [23] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@4 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$ff
    cmp RASTER
    bne __b4
    jmp __b5
    // main::@5
  __b5:
    // [24] (byte) main::w#1 ← ++ (byte) main::w#4 -- vbuz1=_inc_vbuz1 
    inc.z w
    // [25] if((byte) main::w#1!=(byte) $3d) goto main::@3 -- vbuz1_neq_vbuc1_then_la1 
    lda #$3d
    cmp.z w
    bne __b3_from___b5
    jmp __b6
    // main::@6
  __b6:
    // [26] (byte) main::angle#1 ← (byte) main::angle#2 + (byte) 9 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z angle
    axs #-[9]
    stx.z angle
    // [16] phi from main::@6 to main::@1 [phi:main::@6->main::@1]
  __b1_from___b6:
    // [16] phi (byte) main::angle#2 = (byte) main::angle#1 [phi:main::@6->main::@1#0] -- register_copy 
    jmp __b1
}
  // show_letter
// show_letter(byte zp($53) angle)
show_letter: {
    .label __20 = $55
    .label __21 = $6b
    .label __22 = $81
    .label angle = $53
    .label to_x = $56
    .label to_y = $58
    .label to_x_1 = $5a
    .label to_y_1 = $5c
    .label to_x_2 = $62
    .label to_y_2 = $64
    .label via_x = $6c
    .label via_y = $6e
    .label via_x_1 = $70
    .label via_y_1 = $72
    .label via_x_2 = $78
    .label via_y_2 = $7a
    .label segment_type = $82
    .label segment_via_x = $7c
    .label segment_via_y = $7e
    .label i = 4
    .label current_x = 5
    .label current_y = 7
    .label current_x_1 = $66
    .label current_y_1 = $68
    .label __23 = $54
    .label __25 = $6a
    .label __27 = $80
    // [28] phi from show_letter to show_letter::@1 [phi:show_letter->show_letter::@1]
  __b1_from_show_letter:
    // [28] phi (signed word) show_letter::current_y#4 = (signed word) 0 [phi:show_letter->show_letter::@1#0] -- vwsz1=vwsc1 
    lda #<0
    sta.z current_y
    lda #>0
    sta.z current_y+1
    // [28] phi (signed word) show_letter::current_x#4 = (signed word) 0 [phi:show_letter->show_letter::@1#1] -- vwsz1=vwsc1 
    lda #<0
    sta.z current_x
    lda #>0
    sta.z current_x+1
    // [28] phi (byte) show_letter::i#10 = (byte) 0 [phi:show_letter->show_letter::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b1
    // show_letter::@1
  __b1:
    // [29] (byte~) show_letter::$23 ← (byte) show_letter::i#10 << (byte) 3 -- vbuz1=vbuz2_rol_3 
    lda.z i
    asl
    asl
    asl
    sta.z __23
    // [30] (byte~) show_letter::$20 ← (byte~) show_letter::$23 + (byte) show_letter::i#10 -- vbuz1=vbuz2_plus_vbuz3 
    lda.z __23
    clc
    adc.z i
    sta.z __20
    // [31] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$20) -- vwsz1=pwsc1_derefidx_vbuz2 
    ldy.z __20
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO,y
    sta.z to_x
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,y
    sta.z to_x+1
    // [32] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20) -- vwsz1=pwsc1_derefidx_vbuz2 
    ldy.z __20
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,y
    sta.z to_y
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y
    sta.z to_y+1
    // [33] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 -- vwsz1=vwsz2_minus_vbsc1 
    lda.z to_x
    sec
    sbc #$32
    sta.z to_x_1
    lda.z to_x+1
    sbc #>$32
    sta.z to_x_1+1
    // [34] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 -- vwsz1=vwsz2_minus_vwsc1 
    lda.z to_y
    sec
    sbc #<$96
    sta.z to_y_1
    lda.z to_y+1
    sbc #>$96
    sta.z to_y_1+1
    // [35] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 -- vwsz1=vwsz2 
    lda.z to_x_1
    sta.z rotate.vector_x
    lda.z to_x_1+1
    sta.z rotate.vector_x+1
    // [36] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1 -- vwsz1=vwsz2 
    lda.z to_y_1
    sta.z rotate.vector_y
    lda.z to_y_1+1
    sta.z rotate.vector_y+1
    // [37] (byte) rotate::angle#0 ← (byte) show_letter::angle#0 -- vbuz1=vbuz2 
    lda.z angle
    sta.z rotate.angle
    // [38] call rotate 
    // [212] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate]
  rotate_from___b1:
    // [212] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy 
    // [212] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy 
    // [212] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy 
    jsr rotate
    // [39] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 -- vwsz1=vwsz2 
    lda.z rotate.return_x_2
    sta.z rotate.return_x
    lda.z rotate.return_x_2+1
    sta.z rotate.return_x+1
    // [40] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 -- vwsz1=vwsz2 
    lda.z rotate.return_y_2
    sta.z rotate.return_y
    lda.z rotate.return_y_2+1
    sta.z rotate.return_y+1
    jmp __b6
    // show_letter::@6
  __b6:
    // [41] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0 -- vwsz1=vwsz2 
    lda.z rotate.return_x
    sta.z to_x_2
    lda.z rotate.return_x+1
    sta.z to_x_2+1
    // [42] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 -- vwsz1=vwsz2 
    lda.z rotate.return_y
    sta.z to_y_2
    lda.z rotate.return_y+1
    sta.z to_y_2+1
    // [43] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z to_x_2
    clc
    adc #<$64
    sta.z current_x_1
    lda.z to_x_2+1
    adc #>$64
    sta.z current_x_1+1
    // [44] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z to_y_2
    clc
    adc #<$64
    sta.z current_y_1
    lda.z to_y_2+1
    adc #>$64
    sta.z current_y_1+1
    // [45] (byte~) show_letter::$25 ← (byte) show_letter::i#10 << (byte) 3 -- vbuz1=vbuz2_rol_3 
    lda.z i
    asl
    asl
    asl
    sta.z __25
    // [46] (byte~) show_letter::$21 ← (byte~) show_letter::$25 + (byte) show_letter::i#10 -- vbuz1=vbuz2_plus_vbuz3 
    lda.z __25
    clc
    adc.z i
    sta.z __21
    // [47] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$21) -- vwsz1=pwsc1_derefidx_vbuz2 
    ldy.z __21
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,y
    sta.z via_x
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,y
    sta.z via_x+1
    // [48] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21) -- vwsz1=pwsc1_derefidx_vbuz2 
    ldy.z __21
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,y
    sta.z via_y
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y
    sta.z via_y+1
    // [49] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz2_minus_vbsc1 
    lda.z via_x
    sec
    sbc #$32
    sta.z via_x_1
    lda.z via_x+1
    sbc #>$32
    sta.z via_x_1+1
    // [50] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz2_minus_vwsc1 
    lda.z via_y
    sec
    sbc #<$96
    sta.z via_y_1
    lda.z via_y+1
    sbc #>$96
    sta.z via_y_1+1
    // [51] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 -- vwsz1=vwsz2 
    lda.z via_x_1
    sta.z rotate.vector_x
    lda.z via_x_1+1
    sta.z rotate.vector_x+1
    // [52] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 -- vwsz1=vwsz2 
    lda.z via_y_1
    sta.z rotate.vector_y
    lda.z via_y_1+1
    sta.z rotate.vector_y+1
    // [53] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuz1=vbuz2 
    lda.z angle
    sta.z rotate.angle
    // [54] call rotate 
    // [212] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate]
  rotate_from___b6:
    // [212] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy 
    // [212] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy 
    // [212] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy 
    jsr rotate
    // [55] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 -- vwsz1=vwsz2 
    lda.z rotate.return_x_2
    sta.z rotate.return_x_1
    lda.z rotate.return_x_2+1
    sta.z rotate.return_x_1+1
    // [56] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 -- vwsz1=vwsz2 
    lda.z rotate.return_y_2
    sta.z rotate.return_y_1
    lda.z rotate.return_y_2+1
    sta.z rotate.return_y_1+1
    jmp __b7
    // show_letter::@7
  __b7:
    // [57] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 -- vwsz1=vwsz2 
    lda.z rotate.return_x_1
    sta.z via_x_2
    lda.z rotate.return_x_1+1
    sta.z via_x_2+1
    // [58] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 -- vwsz1=vwsz2 
    lda.z rotate.return_y_1
    sta.z via_y_2
    lda.z rotate.return_y_1+1
    sta.z via_y_2+1
    // [59] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z via_x_2
    clc
    adc #<$64
    sta.z segment_via_x
    lda.z via_x_2+1
    adc #>$64
    sta.z segment_via_x+1
    // [60] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z via_y_2
    clc
    adc #<$64
    sta.z segment_via_y
    lda.z via_y_2+1
    adc #>$64
    sta.z segment_via_y+1
    // [61] (byte~) show_letter::$27 ← (byte) show_letter::i#10 << (byte) 3 -- vbuz1=vbuz2_rol_3 
    lda.z i
    asl
    asl
    asl
    sta.z __27
    // [62] (byte~) show_letter::$22 ← (byte~) show_letter::$27 + (byte) show_letter::i#10 -- vbuz1=vbuz2_plus_vbuz3 
    lda.z __27
    clc
    adc.z i
    sta.z __22
    // [63] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$22) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z __22
    lda letter_c,y
    sta.z segment_type
    // [64] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuz1_eq_vbuc1_then_la1 
    lda #MOVE_TO
    cmp.z segment_type
    beq __b3
    jmp __b4
    // show_letter::@4
  __b4:
    // [65] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuz1_eq_vbuc1_then_la1 
    lda #SPLINE_TO
    cmp.z segment_type
    beq __b2
    jmp __b5
    // show_letter::@5
  __b5:
    // [66] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 -- vwuz1=vwuz2 
    lda.z current_x
    sta.z bitmap_line.x1
    lda.z current_x+1
    sta.z bitmap_line.x1+1
    // [67] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 -- vwuz1=vwuz2 
    lda.z current_y
    sta.z bitmap_line.y1
    lda.z current_y+1
    sta.z bitmap_line.y1+1
    // [68] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 
    lda.z current_x_1
    sta.z bitmap_line.x2
    lda.z current_x_1+1
    sta.z bitmap_line.x2+1
    // [69] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 
    lda.z current_y_1
    sta.z bitmap_line.y2
    lda.z current_y_1+1
    sta.z bitmap_line.y2+1
    // [70] call bitmap_line 
    // [100] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line]
  bitmap_line_from___b5:
    // [100] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy 
    // [100] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy 
    // [100] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy 
    // [100] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy 
    jsr bitmap_line
    jmp __b3
    // show_letter::@3
  __b3:
    // [71] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [72] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 
    lda #$16
    cmp.z i
    bne __b9
    jmp __breturn
    // show_letter::@return
  __breturn:
    // [73] return 
    rts
    // show_letter::@9
  __b9:
    // [74] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 
    lda.z current_x_1
    sta.z current_x
    lda.z current_x_1+1
    sta.z current_x+1
    // [75] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 
    lda.z current_y_1
    sta.z current_y
    lda.z current_y_1+1
    sta.z current_y+1
    // [28] phi from show_letter::@9 to show_letter::@1 [phi:show_letter::@9->show_letter::@1]
  __b1_from___b9:
    // [28] phi (signed word) show_letter::current_y#4 = (signed word) show_letter::current_y#11 [phi:show_letter::@9->show_letter::@1#0] -- register_copy 
    // [28] phi (signed word) show_letter::current_x#4 = (signed word) show_letter::current_x#11 [phi:show_letter::@9->show_letter::@1#1] -- register_copy 
    // [28] phi (byte) show_letter::i#10 = (byte) show_letter::i#1 [phi:show_letter::@9->show_letter::@1#2] -- register_copy 
    jmp __b1
    // show_letter::@2
  __b2:
    // [76] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 -- vwsz1=vwsz2 
    lda.z current_x
    sta.z spline_8segB.p0_x
    lda.z current_x+1
    sta.z spline_8segB.p0_x+1
    // [77] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 -- vwsz1=vwsz2 
    lda.z current_y
    sta.z spline_8segB.p0_y
    lda.z current_y+1
    sta.z spline_8segB.p0_y+1
    // [78] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 -- vwsz1=vwsz2 
    lda.z segment_via_x
    sta.z spline_8segB.p1_x
    lda.z segment_via_x+1
    sta.z spline_8segB.p1_x+1
    // [79] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 -- vwsz1=vwsz2 
    lda.z segment_via_y
    sta.z spline_8segB.p1_y
    lda.z segment_via_y+1
    sta.z spline_8segB.p1_y+1
    // [80] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 
    lda.z current_x_1
    sta.z spline_8segB.p2_x
    lda.z current_x_1+1
    sta.z spline_8segB.p2_x+1
    // [81] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 
    lda.z current_y_1
    sta.z spline_8segB.p2_y
    lda.z current_y_1+1
    sta.z spline_8segB.p2_y+1
    // [82] call spline_8segB 
    jsr spline_8segB
    // [83] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8]
  __b8_from___b2:
    jmp __b8
    // show_letter::@8
  __b8:
    // [84] call bitmap_plot_spline_8seg 
    jsr bitmap_plot_spline_8seg
    jmp __b3
}
  // bitmap_plot_spline_8seg
// Plot the spline in the SPLINE_8SEG array
bitmap_plot_spline_8seg: {
    .label __8 = $8f
    .label __9 = $90
    .label current_x = 9
    .label current_y = $b
    .label n = $d
    // [85] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 
    lda SPLINE_8SEG
    sta.z current_x
    lda SPLINE_8SEG+1
    sta.z current_x+1
    // [86] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y
    sta.z current_y
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1
    sta.z current_y+1
    // [87] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1]
  __b1_from_bitmap_plot_spline_8seg:
    // [87] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- vbuz1=vbuc1 
    lda #1
    sta.z n
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- register_copy 
    jmp __b1
    // [87] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1]
  __b1_from___b2:
    // [87] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy 
    jmp __b1
    // bitmap_plot_spline_8seg::@1
  __b1:
    // [88] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 -- vwuz1=vwuz2 
    lda.z current_x
    sta.z bitmap_line.x1
    lda.z current_x+1
    sta.z bitmap_line.x1+1
    // [89] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 -- vwuz1=vwuz2 
    lda.z current_y
    sta.z bitmap_line.y1
    lda.z current_y+1
    sta.z bitmap_line.y1+1
    // [90] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 
    lda.z n
    asl
    asl
    sta.z __8
    // [91] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8) -- vwuz1=pwuc1_derefidx_vbuz2 
    ldy.z __8
    lda SPLINE_8SEG,y
    sta.z bitmap_line.x2
    lda SPLINE_8SEG+1,y
    sta.z bitmap_line.x2+1
    // [92] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8) -- vwuz1=pwuc1_derefidx_vbuz2 
    ldy.z __8
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y
    sta.z bitmap_line.y2
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y
    sta.z bitmap_line.y2+1
    // [93] call bitmap_line 
    // [100] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line]
  bitmap_line_from___b1:
    // [100] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy 
    // [100] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy 
    // [100] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy 
    // [100] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy 
    jsr bitmap_line
    jmp __b2
    // bitmap_plot_spline_8seg::@2
  __b2:
    // [94] (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 
    lda.z n
    asl
    asl
    sta.z __9
    // [95] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$9) -- vwsz1=pwsc1_derefidx_vbuz2 
    ldy.z __9
    lda SPLINE_8SEG,y
    sta.z current_x
    lda SPLINE_8SEG+1,y
    sta.z current_x+1
    // [96] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9) -- vwsz1=pwsc1_derefidx_vbuz2 
    ldy.z __9
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y
    sta.z current_y
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y
    sta.z current_y+1
    // [97] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 
    inc.z n
    // [98] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #9
    cmp.z n
    bne __b1_from___b2
    jmp __breturn
    // bitmap_plot_spline_8seg::@return
  __breturn:
    // [99] return 
    rts
}
  // bitmap_line
// Draw a line on the bitmap using bresenhams algorithm
// bitmap_line(word zp($16) x1, word zp($14) y1, word zp($e) x2, word zp($10) y2)
bitmap_line: {
    .label x = $16
    .label y = $14
    .label dx = $93
    .label dy = $97
    .label sx = $9b
    .label sy = $9f
    .label e1 = $18
    .label e = $12
    .label x1 = $16
    .label y1 = $14
    .label x2 = $e
    .label y2 = $10
    // [101] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z x2
    sec
    sbc.z x
    sta.z abs_u16.w
    lda.z x2+1
    sbc.z x+1
    sta.z abs_u16.w+1
    // [102] call abs_u16 
    // [166] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
  abs_u16_from_bitmap_line:
    // [166] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy 
    jsr abs_u16
    // [103] (word) abs_u16::return#0 ← (word) abs_u16::return#4 -- vwuz1=vwuz2 
    lda.z abs_u16.return_2
    sta.z abs_u16.return
    lda.z abs_u16.return_2+1
    sta.z abs_u16.return+1
    jmp __b12
    // bitmap_line::@12
  __b12:
    // [104] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 
    lda.z abs_u16.return
    sta.z dx
    lda.z abs_u16.return+1
    sta.z dx+1
    // [105] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z y2
    sec
    sbc.z y
    sta.z abs_u16.w
    lda.z y2+1
    sbc.z y+1
    sta.z abs_u16.w+1
    // [106] call abs_u16 
    // [166] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
  abs_u16_from___b12:
    // [166] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy 
    jsr abs_u16
    // [107] (word) abs_u16::return#1 ← (word) abs_u16::return#4 -- vwuz1=vwuz2 
    lda.z abs_u16.return_2
    sta.z abs_u16.return_1
    lda.z abs_u16.return_2+1
    sta.z abs_u16.return_1+1
    jmp __b13
    // bitmap_line::@13
  __b13:
    // [108] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 -- vwuz1=vwuz2 
    lda.z abs_u16.return_1
    sta.z dy
    lda.z abs_u16.return_1+1
    sta.z dy+1
    // [109] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 
    lda.z dx
    bne __b1
    lda.z dx+1
    bne __b1
    jmp __b18
    // bitmap_line::@18
  __b18:
    // [110] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 
    lda.z dy
    bne !+
    lda.z dy+1
    beq __b4
  !:
    jmp __b1
    // bitmap_line::@1
  __b1:
    // [111] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z x2
    sec
    sbc.z x
    sta.z sgn_u16.w
    lda.z x2+1
    sbc.z x+1
    sta.z sgn_u16.w+1
    // [112] call sgn_u16 
    // [159] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
  sgn_u16_from___b1:
    // [159] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy 
    jsr sgn_u16
    // [113] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 -- vwuz1=vwuz2 
    lda.z sgn_u16.return_2
    sta.z sgn_u16.return
    lda.z sgn_u16.return_2+1
    sta.z sgn_u16.return+1
    jmp __b14
    // bitmap_line::@14
  __b14:
    // [114] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 
    lda.z sgn_u16.return
    sta.z sx
    lda.z sgn_u16.return+1
    sta.z sx+1
    // [115] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z y2
    sec
    sbc.z y
    sta.z sgn_u16.w
    lda.z y2+1
    sbc.z y+1
    sta.z sgn_u16.w+1
    // [116] call sgn_u16 
    // [159] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
  sgn_u16_from___b14:
    // [159] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy 
    jsr sgn_u16
    // [117] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 -- vwuz1=vwuz2 
    lda.z sgn_u16.return_2
    sta.z sgn_u16.return_1
    lda.z sgn_u16.return_2+1
    sta.z sgn_u16.return_1+1
    jmp __b15
    // bitmap_line::@15
  __b15:
    // [118] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 -- vwuz1=vwuz2 
    lda.z sgn_u16.return_1
    sta.z sy
    lda.z sgn_u16.return_1+1
    sta.z sy+1
    // [119] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 
    lda.z dy+1
    cmp.z dx+1
    bcc __b2
    bne !+
    lda.z dy
    cmp.z dx
    bcc __b2
  !:
    jmp __b5
    // bitmap_line::@5
  __b5:
    // [120] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z dx+1
    lsr
    sta.z e+1
    lda.z dx
    ror
    sta.z e
    // [121] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6]
  __b6_from___b5:
  __b6_from___b7:
    // [121] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy 
    // [121] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy 
    // [121] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy 
    jmp __b6
    // bitmap_line::@6
  __b6:
    // [122] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuz1=_byte_vwuz2 
    lda.z y
    sta.z bitmap_plot.y
    // [123] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 -- vwuz1=vwuz2 
    lda.z x
    sta.z bitmap_plot.x
    lda.z x+1
    sta.z bitmap_plot.x+1
    // [124] call bitmap_plot 
    // [152] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
  bitmap_plot_from___b6:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __b16
    // bitmap_line::@16
  __b16:
    // [125] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z y
    clc
    adc.z sy
    sta.z y
    lda.z y+1
    adc.z sy+1
    sta.z y+1
    // [126] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z e
    clc
    adc.z dx
    sta.z e
    lda.z e+1
    adc.z dx+1
    sta.z e+1
    // [127] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 
    lda.z e+1
    cmp.z dy+1
    bne !+
    lda.z e
    cmp.z dy
    beq __b7_from___b16
  !:
    bcc __b7_from___b16
    jmp __b8
    // bitmap_line::@8
  __b8:
    // [128] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z x
    clc
    adc.z sx
    sta.z x
    lda.z x+1
    adc.z sx+1
    sta.z x+1
    // [129] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z e
    sec
    sbc.z dy
    sta.z e
    lda.z e+1
    sbc.z dy+1
    sta.z e+1
    // [130] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7]
  __b7_from___b16:
  __b7_from___b8:
    // [130] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy 
    // [130] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy 
    jmp __b7
    // bitmap_line::@7
  __b7:
    // [131] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 
    lda.z y+1
    cmp.z y2+1
    bne __b6_from___b7
    lda.z y
    cmp.z y2
    bne __b6_from___b7
    // [132] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3]
  __b3_from___b10:
  __b3_from___b7:
    // [132] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy 
    // [132] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy 
    jmp __b3
    // bitmap_line::@3
  __b3:
    // [133] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuz1=_byte_vwuz2 
    lda.z y
    sta.z bitmap_plot.y
    // [134] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 -- vwuz1=vwuz2 
    lda.z x
    sta.z bitmap_plot.x
    lda.z x+1
    sta.z bitmap_plot.x+1
    // [135] call bitmap_plot 
    // [152] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
  bitmap_plot_from___b3:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __breturn
    // bitmap_line::@return
  __breturn:
    // [136] return 
    rts
    // bitmap_line::@2
  __b2:
    // [137] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z dy+1
    lsr
    sta.z e1+1
    lda.z dy
    ror
    sta.z e1
    // [138] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9]
  __b9_from___b10:
  __b9_from___b2:
    // [138] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy 
    // [138] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy 
    // [138] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy 
    jmp __b9
    // bitmap_line::@9
  __b9:
    // [139] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuz1=_byte_vwuz2 
    lda.z y
    sta.z bitmap_plot.y
    // [140] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 -- vwuz1=vwuz2 
    lda.z x
    sta.z bitmap_plot.x
    lda.z x+1
    sta.z bitmap_plot.x+1
    // [141] call bitmap_plot 
    // [152] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
  bitmap_plot_from___b9:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __b17
    // bitmap_line::@17
  __b17:
    // [142] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z x
    clc
    adc.z sx
    sta.z x
    lda.z x+1
    adc.z sx+1
    sta.z x+1
    // [143] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z e1
    clc
    adc.z dy
    sta.z e1
    lda.z e1+1
    adc.z dy+1
    sta.z e1+1
    // [144] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 
    lda.z e1+1
    cmp.z dx+1
    bne !+
    lda.z e1
    cmp.z dx
    beq __b10_from___b17
  !:
    bcc __b10_from___b17
    jmp __b11
    // bitmap_line::@11
  __b11:
    // [145] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z y
    clc
    adc.z sy
    sta.z y
    lda.z y+1
    adc.z sy+1
    sta.z y+1
    // [146] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z e1
    sec
    sbc.z dx
    sta.z e1
    lda.z e1+1
    sbc.z dx+1
    sta.z e1+1
    // [147] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10]
  __b10_from___b11:
  __b10_from___b17:
    // [147] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy 
    // [147] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy 
    jmp __b10
    // bitmap_line::@10
  __b10:
    // [148] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 
    lda.z x+1
    cmp.z x2+1
    bne __b9_from___b10
    lda.z x
    cmp.z x2
    bne __b9_from___b10
    jmp __b3_from___b10
    // bitmap_line::@4
  __b4:
    // [149] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuz1=_byte_vwuz2 
    lda.z y
    sta.z bitmap_plot.y
    // [150] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 -- vwuz1=vwuz2 
    lda.z x
    sta.z bitmap_plot.x
    lda.z x+1
    sta.z bitmap_plot.x+1
    // [151] call bitmap_plot 
    // [152] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot]
  bitmap_plot_from___b4:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __breturn
}
  // bitmap_plot
// Plot a single dot in the bitmap
// bitmap_plot(word zp($1b) x, byte zp($1a) y)
bitmap_plot: {
    .label __1 = $a3
    .label __2 = $a7
    .label plotter = $a1
    .label plotter_1 = $a5
    .label x = $1b
    .label y = $1a
    // [153] (word) bitmap_plot::plotter#0 ← *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 
    ldy.z y
    lda bitmap_plot_yhi,y
    sta.z plotter+1
    lda bitmap_plot_ylo,y
    sta.z plotter
    // [154] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 
    lda.z x
    and #<$fff8
    sta.z __1
    lda.z x+1
    and #>$fff8
    sta.z __1+1
    // [155] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$1 -- pbuz1=pbuz2_plus_vwuz3 
    lda.z plotter
    clc
    adc.z __1
    sta.z plotter_1
    lda.z plotter+1
    adc.z __1+1
    sta.z plotter_1+1
    // [156] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#4 -- vbuz1=_lo_vwuz2 
    lda.z x
    sta.z __2
    // [157] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2) -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuz2 
    ldy #0
    lda (plotter_1),y
    ldy.z __2
    ora bitmap_plot_bit,y
    ldy #0
    sta (plotter_1),y
    jmp __breturn
    // bitmap_plot::@return
  __breturn:
    // [158] return 
    rts
}
  // sgn_u16
// Get the sign of a 16-bit unsigned number treated as a signed number.
// Returns unsigned -1 if the number is
// sgn_u16(word zp($1d) w)
sgn_u16: {
    .label __0 = $a8
    .label __1 = $a9
    .label w = $1d
    .label return = $99
    .label return_1 = $9d
    .label return_2 = $1f
    // [160] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuz1=_hi_vwuz2 
    lda.z w+1
    sta.z __0
    // [161] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 
    lda #$80
    and.z __0
    sta.z __1
    // [162] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuz1_then_la1 
    lda #0
    cmp.z __1
    bne __b1_from_sgn_u16
    // [164] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return]
  __breturn_from_sgn_u16:
    // [164] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 
    lda #<1
    sta.z return_2
    lda #>1
    sta.z return_2+1
    jmp __breturn
    // [163] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1]
  __b1_from_sgn_u16:
    jmp __b1
    // sgn_u16::@1
  __b1:
    // [164] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return]
  __breturn_from___b1:
    // [164] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 
    lda #<-1
    sta.z return_2
    lda #>-1
    sta.z return_2+1
    jmp __breturn
    // sgn_u16::@return
  __breturn:
    // [165] return 
    rts
}
  // abs_u16
// Get the absolute value of a 16-bit unsigned number treated as a signed number.
// abs_u16(word zp($21) w)
abs_u16: {
    .label __0 = $aa
    .label __1 = $ab
    .label w = $21
    .label return = $91
    .label return_1 = $95
    .label return_2 = $21
    // [167] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuz1=_hi_vwuz2 
    lda.z w+1
    sta.z __0
    // [168] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 
    lda #$80
    and.z __0
    sta.z __1
    // [169] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuz1_then_la1 
    lda #0
    cmp.z __1
    bne __b1
    // [171] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return]
  __breturn_from_abs_u16:
  __breturn_from___b1:
    // [171] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy 
    jmp __breturn
    // abs_u16::@1
  __b1:
    // [170] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 
    sec
    lda #0
    sbc.z return_2
    sta.z return_2
    lda #0
    sbc.z return_2+1
    sta.z return_2+1
    jmp __breturn_from___b1
    // abs_u16::@return
  __breturn:
    // [172] return 
    rts
}
  // spline_8segB
// Generate a 8-segment quadratic spline using 16-bit fixed point 1/64-format math (6 decimal bits).
// The resulting spline segment points are returned in SPLINE_8SEG[]
// Point values must be within [-200 ; 1ff] for the calculation to not overflow.
// A quadratic spline is a curve defined by 3 points: P0, P1 and P2.
// The curve connects P0 to P2 through a smooth curve that moves towards P1, but does usually not touch it.
// spline_8segB(signed word zp($83) p0_x, signed word zp($85) p0_y, signed word zp($87) p1_x, signed word zp($89) p1_y, signed word zp($8b) p2_x, signed word zp($8d) p2_y)
spline_8segB: {
    .label __0 = $ac
    .label __1 = $ae
    .label __3 = $b2
    .label __4 = $b4
    .label __6 = $b8
    .label __8 = $bc
    .label __10 = $c0
    .label __12 = $c2
    .label __18 = $d1
    .label __19 = $d3
    .label __20 = $d5
    .label __21 = $d7
    .label __22 = $c8
    .label __23 = $ca
    .label __24 = $cc
    .label __25 = $ce
    .label __31 = $d0
    .label a_x = $b0
    .label a_y = $b6
    .label b_x = $ba
    .label b_y = $be
    .label i_x = $28
    .label i_y = $2a
    .label j_x = $c4
    .label j_y = $c6
    .label p_x = $23
    .label p_y = $25
    .label n = $27
    .label p0_x = $83
    .label p0_y = $85
    .label p1_x = $87
    .label p1_y = $89
    .label p2_x = $8b
    .label p2_y = $8d
    // [173] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z p1_x
    asl
    sta.z __0
    lda.z p1_x+1
    rol
    sta.z __0+1
    // [174] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz3 
    lda.z p2_x
    sec
    sbc.z __0
    sta.z __1
    lda.z p2_x+1
    sbc.z __0+1
    sta.z __1+1
    // [175] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz2_plus_vwsz3 
    lda.z __1
    clc
    adc.z p0_x
    sta.z a_x
    lda.z __1+1
    adc.z p0_x+1
    sta.z a_x+1
    // [176] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z p1_y
    asl
    sta.z __3
    lda.z p1_y+1
    rol
    sta.z __3+1
    // [177] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz3 
    lda.z p2_y
    sec
    sbc.z __3
    sta.z __4
    lda.z p2_y+1
    sbc.z __3+1
    sta.z __4+1
    // [178] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz2_plus_vwsz3 
    lda.z __4
    clc
    adc.z p0_y
    sta.z a_y
    lda.z __4+1
    adc.z p0_y+1
    sta.z a_y+1
    // [179] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz2_minus_vwsz3 
    lda.z p1_x
    sec
    sbc.z p0_x
    sta.z __6
    lda.z p1_x+1
    sbc.z p0_x+1
    sta.z __6+1
    // [180] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z __6
    asl
    sta.z b_x
    lda.z __6+1
    rol
    sta.z b_x+1
    // [181] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz2_minus_vwsz3 
    lda.z p1_y
    sec
    sbc.z p0_y
    sta.z __8
    lda.z p1_y+1
    sbc.z p0_y+1
    sta.z __8+1
    // [182] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z __8
    asl
    sta.z b_y
    lda.z __8+1
    rol
    sta.z b_y+1
    // [183] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz2_rol_3 
    lda.z b_x
    asl
    sta.z __10
    lda.z b_x+1
    rol
    sta.z __10+1
    asl.z __10
    rol.z __10+1
    asl.z __10
    rol.z __10+1
    // [184] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz3 
    lda.z a_x
    clc
    adc.z __10
    sta.z i_x
    lda.z a_x+1
    adc.z __10+1
    sta.z i_x+1
    // [185] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz2_rol_3 
    lda.z b_y
    asl
    sta.z __12
    lda.z b_y+1
    rol
    sta.z __12+1
    asl.z __12
    rol.z __12+1
    asl.z __12
    rol.z __12+1
    // [186] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz3 
    lda.z a_y
    clc
    adc.z __12
    sta.z i_y
    lda.z a_y+1
    adc.z __12+1
    sta.z i_y+1
    // [187] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z a_x
    asl
    sta.z j_x
    lda.z a_x+1
    rol
    sta.z j_x+1
    // [188] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z a_y
    asl
    sta.z j_y
    lda.z a_y+1
    rol
    sta.z j_y+1
    // [189] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz2_rol_6 
    lda.z p0_x
    asl
    sta.z p_x
    lda.z p0_x+1
    rol
    sta.z p_x+1
    asl.z p_x
    rol.z p_x+1
    asl.z p_x
    rol.z p_x+1
    asl.z p_x
    rol.z p_x+1
    asl.z p_x
    rol.z p_x+1
    asl.z p_x
    rol.z p_x+1
    // [190] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz2_rol_6 
    lda.z p0_y
    asl
    sta.z p_y
    lda.z p0_y+1
    rol
    sta.z p_y+1
    asl.z p_y
    rol.z p_y+1
    asl.z p_y
    rol.z p_y+1
    asl.z p_y
    rol.z p_y+1
    asl.z p_y
    rol.z p_y+1
    asl.z p_y
    rol.z p_y+1
    // [191] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1]
  __b1_from_spline_8segB:
    // [191] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy 
    // [191] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy 
    // [191] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z n
    // [191] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy 
    jmp __b1
    // [191] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1]
  __b1_from___b1:
    // [191] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy 
    // [191] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy 
    // [191] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy 
    jmp __b1
    // spline_8segB::@1
  __b1:
    // [192] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_x
    clc
    adc #<$20
    sta.z __22
    lda.z p_x+1
    adc #>$20
    sta.z __22+1
    // [193] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz2_ror_6 
    lda.z __22
    sta.z $ff
    lda.z __22+1
    sta.z __23
    lda #0
    bit.z __22+1
    bpl !+
    lda #$ff
  !:
    sta.z __23+1
    rol.z $ff
    rol.z __23
    rol.z __23+1
    rol.z $ff
    rol.z __23
    rol.z __23+1
    // [194] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_y
    clc
    adc #<$20
    sta.z __24
    lda.z p_y+1
    adc #>$20
    sta.z __24+1
    // [195] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz2_ror_6 
    lda.z __24
    sta.z $ff
    lda.z __24+1
    sta.z __25
    lda #0
    bit.z __24+1
    bpl !+
    lda #$ff
  !:
    sta.z __25+1
    rol.z $ff
    rol.z __25
    rol.z __25+1
    rol.z $ff
    rol.z __25
    rol.z __25+1
    // [196] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 
    lda.z n
    asl
    asl
    sta.z __31
    // [197] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuz1=vwsz2 
    ldy.z __31
    lda.z __23
    sta SPLINE_8SEG,y
    lda.z __23+1
    sta SPLINE_8SEG+1,y
    // [198] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuz1=vwsz2 
    ldy.z __31
    lda.z __25
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y
    lda.z __25+1
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y
    // [199] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z p_x
    clc
    adc.z i_x
    sta.z p_x
    lda.z p_x+1
    adc.z i_x+1
    sta.z p_x+1
    // [200] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z p_y
    clc
    adc.z i_y
    sta.z p_y
    lda.z p_y+1
    adc.z i_y+1
    sta.z p_y+1
    // [201] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z i_x
    clc
    adc.z j_x
    sta.z i_x
    lda.z i_x+1
    adc.z j_x+1
    sta.z i_x+1
    // [202] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z i_y
    clc
    adc.z j_y
    sta.z i_y
    lda.z i_y+1
    adc.z j_y+1
    sta.z i_y+1
    // [203] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuz1=_inc_vbuz1 
    inc.z n
    // [204] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #8
    cmp.z n
    bne __b1_from___b1
    jmp __b2
    // spline_8segB::@2
  __b2:
    // [205] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_x
    clc
    adc #<$20
    sta.z __18
    lda.z p_x+1
    adc #>$20
    sta.z __18+1
    // [206] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz2_ror_6 
    lda.z __18
    sta.z $ff
    lda.z __18+1
    sta.z __19
    lda #0
    bit.z __18+1
    bpl !+
    lda #$ff
  !:
    sta.z __19+1
    rol.z $ff
    rol.z __19
    rol.z __19+1
    rol.z $ff
    rol.z __19
    rol.z __19+1
    // [207] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_y
    clc
    adc #<$20
    sta.z __20
    lda.z p_y+1
    adc #>$20
    sta.z __20+1
    // [208] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz2_ror_6 
    lda.z __20
    sta.z $ff
    lda.z __20+1
    sta.z __21
    lda #0
    bit.z __20+1
    bpl !+
    lda #$ff
  !:
    sta.z __21+1
    rol.z $ff
    rol.z __21
    rol.z __21+1
    rol.z $ff
    rol.z __21
    rol.z __21+1
    // [209] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 
    lda.z __19
    sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16
    lda.z __19+1
    sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16+1
    // [210] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 
    lda.z __21
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16
    lda.z __21+1
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16+1
    jmp __breturn
    // spline_8segB::@return
  __breturn:
    // [211] return 
    rts
}
  // rotate
// 2D-rotate a vector by an angle
// rotate(signed word zp($2d) vector_x, signed word zp($2f) vector_y, byte zp($2c) angle)
rotate: {
    .label __1 = $df
    .label __2 = $e3
    .label __4 = $eb
    .label __5 = $ef
    .label __8 = $f9
    .label __9 = $fd
    .label __10 = $ff
    .label __11 = $107
    .label __12 = $10b
    .label __13 = $10d
    .label __15 = $111
    .label __18 = $114
    .label vector_x = $2d
    .label vector_y = $2f
    .label angle = $2c
    .label return_x = $5e
    .label return_y = $60
    .label return_x_1 = $74
    .label return_y_1 = $76
    .label cos_a = $d9
    .label xr = $e5
    .label yr = $f1
    .label sin_a = $f3
    .label xr_1 = $101
    .label yr_1 = $10f
    .label return_x_2 = $112
    .label return_y_2 = $115
    // [213] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuz2 
    ldy.z angle
    lda COS,y
    sta.z cos_a
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z cos_a+1
    // [214] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 -- vwsz1=vwsz2 
    lda.z cos_a
    sta.z mulf16s.a
    lda.z cos_a+1
    sta.z mulf16s.a+1
    // [215] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 
    lda.z vector_x
    sta.z mulf16s.b
    lda.z vector_x+1
    sta.z mulf16s.b+1
    // [216] call mulf16s 
    // [250] phi from rotate to mulf16s [phi:rotate->mulf16s]
  mulf16s_from_rotate:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [217] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 
    lda.z mulf16s.return
    sta.z mulf16s.return_1
    lda.z mulf16s.return+1
    sta.z mulf16s.return_1+1
    lda.z mulf16s.return+2
    sta.z mulf16s.return_1+2
    lda.z mulf16s.return+3
    sta.z mulf16s.return_1+3
    jmp __b1
    // rotate::@1
  __b1:
    // [218] (signed dword~) rotate::$1 ← (signed dword) mulf16s::return#2 -- vdsz1=vdsz2 
    lda.z mulf16s.return_1
    sta.z __1
    lda.z mulf16s.return_1+1
    sta.z __1+1
    lda.z mulf16s.return_1+2
    sta.z __1+2
    lda.z mulf16s.return_1+3
    sta.z __1+3
    // [219] (signed word~) rotate::$2 ← (signed word)(signed dword~) rotate::$1 -- vwsz1=_sword_vdsz2 
    lda.z __1
    sta.z __2
    lda.z __1+1
    sta.z __2+1
    // [220] (signed word) rotate::xr#0 ← (signed word~) rotate::$2 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z __2
    asl
    sta.z xr
    lda.z __2+1
    rol
    sta.z xr+1
    // [221] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 -- vwsz1=vwsz2 
    lda.z cos_a
    sta.z mulf16s.a
    lda.z cos_a+1
    sta.z mulf16s.a+1
    // [222] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 
    lda.z vector_y
    sta.z mulf16s.b
    lda.z vector_y+1
    sta.z mulf16s.b+1
    // [223] call mulf16s 
    // [250] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s]
  mulf16s_from___b1:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [224] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 
    lda.z mulf16s.return
    sta.z mulf16s.return_2
    lda.z mulf16s.return+1
    sta.z mulf16s.return_2+1
    lda.z mulf16s.return+2
    sta.z mulf16s.return_2+2
    lda.z mulf16s.return+3
    sta.z mulf16s.return_2+3
    jmp __b2
    // rotate::@2
  __b2:
    // [225] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#3 -- vdsz1=vdsz2 
    lda.z mulf16s.return_2
    sta.z __4
    lda.z mulf16s.return_2+1
    sta.z __4+1
    lda.z mulf16s.return_2+2
    sta.z __4+2
    lda.z mulf16s.return_2+3
    sta.z __4+3
    // [226] (signed word~) rotate::$5 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 
    lda.z __4
    sta.z __5
    lda.z __4+1
    sta.z __5+1
    // [227] (signed word) rotate::yr#0 ← (signed word~) rotate::$5 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z __5
    asl
    sta.z yr
    lda.z __5+1
    rol
    sta.z yr+1
    // [228] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuz2 
    ldy.z angle
    lda SIN,y
    sta.z sin_a
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z sin_a+1
    // [229] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 -- vwsz1=vwsz2 
    lda.z sin_a
    sta.z mulf16s.a
    lda.z sin_a+1
    sta.z mulf16s.a+1
    // [230] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 
    lda.z vector_y
    sta.z mulf16s.b
    lda.z vector_y+1
    sta.z mulf16s.b+1
    // [231] call mulf16s 
    // [250] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s]
  mulf16s_from___b2:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [232] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 
    lda.z mulf16s.return
    sta.z mulf16s.return_3
    lda.z mulf16s.return+1
    sta.z mulf16s.return_3+1
    lda.z mulf16s.return+2
    sta.z mulf16s.return_3+2
    lda.z mulf16s.return+3
    sta.z mulf16s.return_3+3
    jmp __b3
    // rotate::@3
  __b3:
    // [233] (signed dword~) rotate::$8 ← (signed dword) mulf16s::return#4 -- vdsz1=vdsz2 
    lda.z mulf16s.return_3
    sta.z __8
    lda.z mulf16s.return_3+1
    sta.z __8+1
    lda.z mulf16s.return_3+2
    sta.z __8+2
    lda.z mulf16s.return_3+3
    sta.z __8+3
    // [234] (signed word~) rotate::$9 ← (signed word)(signed dword~) rotate::$8 -- vwsz1=_sword_vdsz2 
    lda.z __8
    sta.z __9
    lda.z __8+1
    sta.z __9+1
    // [235] (signed word~) rotate::$10 ← (signed word~) rotate::$9 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z __9
    asl
    sta.z __10
    lda.z __9+1
    rol
    sta.z __10+1
    // [236] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$10 -- vwsz1=vwsz2_minus_vwsz3 
    // signed fixed[0.7]
    lda.z xr
    sec
    sbc.z __10
    sta.z xr_1
    lda.z xr+1
    sbc.z __10+1
    sta.z xr_1+1
    // [237] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 -- vwsz1=vwsz2 
    lda.z sin_a
    sta.z mulf16s.a
    lda.z sin_a+1
    sta.z mulf16s.a+1
    // [238] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 
    lda.z vector_x
    sta.z mulf16s.b
    lda.z vector_x+1
    sta.z mulf16s.b+1
    // [239] call mulf16s 
    // [250] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s]
  mulf16s_from___b3:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [240] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 
    lda.z mulf16s.return
    sta.z mulf16s.return_4
    lda.z mulf16s.return+1
    sta.z mulf16s.return_4+1
    lda.z mulf16s.return+2
    sta.z mulf16s.return_4+2
    lda.z mulf16s.return+3
    sta.z mulf16s.return_4+3
    jmp __b4
    // rotate::@4
  __b4:
    // [241] (signed dword~) rotate::$11 ← (signed dword) mulf16s::return#10 -- vdsz1=vdsz2 
    lda.z mulf16s.return_4
    sta.z __11
    lda.z mulf16s.return_4+1
    sta.z __11+1
    lda.z mulf16s.return_4+2
    sta.z __11+2
    lda.z mulf16s.return_4+3
    sta.z __11+3
    // [242] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$11 -- vwsz1=_sword_vdsz2 
    lda.z __11
    sta.z __12
    lda.z __11+1
    sta.z __12+1
    // [243] (signed word~) rotate::$13 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z __12
    asl
    sta.z __13
    lda.z __12+1
    rol
    sta.z __13+1
    // [244] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$13 -- vwsz1=vwsz2_plus_vwsz3 
    // signed fixed[8.8]
    lda.z yr
    clc
    adc.z __13
    sta.z yr_1
    lda.z yr+1
    adc.z __13+1
    sta.z yr_1+1
    // [245] (byte~) rotate::$15 ← > (signed word) rotate::xr#1 -- vbuz1=_hi_vwsz2 
    lda.z xr_1+1
    sta.z __15
    // [246] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$15 -- vwsz1=_sword_vbsz2 
    lda.z __15
    sta.z return_x_2
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z return_x_2+1
    // [247] (byte~) rotate::$18 ← > (signed word) rotate::yr#1 -- vbuz1=_hi_vwsz2 
    lda.z yr_1+1
    sta.z __18
    // [248] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$18 -- vwsz1=_sword_vbsz2 
    lda.z __18
    sta.z return_y_2
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z return_y_2+1
    jmp __breturn
    // rotate::@return
  __breturn:
    // [249] return 
    rts
}
  // mulf16s
// Fast multiply two signed words to a signed double word result
// Fixes offsets introduced by using unsigned multiplication
// mulf16s(signed word zp($31) a, signed word zp($33) b)
mulf16s: {
    .label __9 = $11f
    .label __13 = $123
    .label __16 = $121
    .label __17 = $125
    .label m = $35
    .label return = $127
    .label a = $31
    .label b = $33
    .label return_1 = $db
    .label return_2 = $e7
    .label return_3 = $f5
    .label return_4 = $103
    // [251] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 
    lda.z a
    sta.z mulf16u.a
    lda.z a+1
    sta.z mulf16u.a+1
    // [252] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 
    lda.z b
    sta.z mulf16u.b
    lda.z b+1
    sta.z mulf16u.b+1
    // [253] call mulf16u 
    jsr mulf16u
    // [254] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 -- vduz1=vduz2 
    lda.z mulf16u.return
    sta.z mulf16u.return_1
    lda.z mulf16u.return+1
    sta.z mulf16u.return_1+1
    lda.z mulf16u.return+2
    sta.z mulf16u.return_1+2
    lda.z mulf16u.return+3
    sta.z mulf16u.return_1+3
    jmp __b5
    // mulf16s::@5
  __b5:
    // [255] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 -- vduz1=vduz2 
    lda.z mulf16u.return_1
    sta.z m
    lda.z mulf16u.return_1+1
    sta.z m+1
    lda.z mulf16u.return_1+2
    sta.z m+2
    lda.z mulf16u.return_1+3
    sta.z m+3
    // [256] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 
    lda.z a+1
    bpl __b1_from___b5
    jmp __b3
    // mulf16s::@3
  __b3:
    // [257] (word~) mulf16s::$9 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 
    lda.z m+2
    sta.z __9
    lda.z m+3
    sta.z __9+1
    // [258] (word~) mulf16s::$16 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z __9
    sec
    sbc.z b
    sta.z __16
    lda.z __9+1
    sbc.z b+1
    sta.z __16+1
    // [259] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$16 -- vduz1=vduz1_sethi_vwuz2 
    lda.z __16
    sta.z m+2
    lda.z __16+1
    sta.z m+3
    // [260] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1]
  __b1_from___b3:
  __b1_from___b5:
    // [260] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy 
    jmp __b1
    // mulf16s::@1
  __b1:
    // [261] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 
    lda.z b+1
    bpl __b2_from___b1
    jmp __b4
    // mulf16s::@4
  __b4:
    // [262] (word~) mulf16s::$13 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 
    lda.z m+2
    sta.z __13
    lda.z m+3
    sta.z __13+1
    // [263] (word~) mulf16s::$17 ← (word~) mulf16s::$13 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z __13
    sec
    sbc.z a
    sta.z __17
    lda.z __13+1
    sbc.z a+1
    sta.z __17+1
    // [264] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17 -- vduz1=vduz1_sethi_vwuz2 
    lda.z __17
    sta.z m+2
    lda.z __17+1
    sta.z m+3
    // [265] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2]
  __b2_from___b1:
  __b2_from___b4:
    // [265] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy 
    jmp __b2
    // mulf16s::@2
  __b2:
    // [266] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 -- vdsz1=vdsz2 
    lda.z m
    sta.z return
    lda.z m+1
    sta.z return+1
    lda.z m+2
    sta.z return+2
    lda.z m+3
    sta.z return+3
    jmp __breturn
    // mulf16s::@return
  __breturn:
    // [267] return 
    rts
}
  // mulf16u
// Fast multiply two unsigned words to a double word result
// Done in assembler to utilize fast addition A+X
// mulf16u(word zp($117) a, word zp($119) b)
mulf16u: {
    .label memA = $f8
    .label memB = $fa
    .label memR = $fc
    .label return = $12b
    .label a = $117
    .label b = $119
    .label return_1 = $11b
    // [268] *((const word*) mulf16u::memA) ← (word) mulf16u::a#0 -- _deref_pwuc1=vwuz1 
    lda.z a
    sta memA
    lda.z a+1
    sta memA+1
    // [269] *((const word*) mulf16u::memB) ← (word) mulf16u::b#0 -- _deref_pwuc1=vwuz1 
    lda.z b
    sta memB
    lda.z b+1
    sta memB+1
    // asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  }
    lda memA
    sta sm1a+1
    sta sm3a+1
    sta sm5a+1
    sta sm7a+1
    eor #$ff
    sta sm2a+1
    sta sm4a+1
    sta sm6a+1
    sta sm8a+1
    lda memA+1
    sta sm1b+1
    sta sm3b+1
    sta sm5b+1
    sta sm7b+1
    eor #$ff
    sta sm2b+1
    sta sm4b+1
    sta sm6b+1
    sta sm8b+1
    ldx memB
    sec
  sm1a:
    lda mulf_sqr1_lo,x
  sm2a:
    sbc mulf_sqr2_lo,x
    sta memR+0
  sm3a:
    lda mulf_sqr1_hi,x
  sm4a:
    sbc mulf_sqr2_hi,x
    sta _AA+1
    sec
  sm1b:
    lda mulf_sqr1_lo,x
  sm2b:
    sbc mulf_sqr2_lo,x
    sta _cc+1
  sm3b:
    lda mulf_sqr1_hi,x
  sm4b:
    sbc mulf_sqr2_hi,x
    sta _CC+1
    ldx memB+1
    sec
  sm5a:
    lda mulf_sqr1_lo,x
  sm6a:
    sbc mulf_sqr2_lo,x
    sta _bb+1
  sm7a:
    lda mulf_sqr1_hi,x
  sm8a:
    sbc mulf_sqr2_hi,x
    sta _BB+1
    sec
  sm5b:
    lda mulf_sqr1_lo,x
  sm6b:
    sbc mulf_sqr2_lo,x
    sta _dd+1
  sm7b:
    lda mulf_sqr1_hi,x
  sm8b:
    sbc mulf_sqr2_hi,x
    sta memR+3
    clc
  _AA:
    lda #0
  _bb:
    adc #0
    sta memR+1
  _BB:
    lda #0
  _CC:
    adc #0
    sta memR+2
    bcc !+
    inc memR+3
    clc
  !:
  _cc:
    lda #0
    adc memR+1
    sta memR+1
  _dd:
    lda #0
    adc memR+2
    sta memR+2
    bcc !+
    inc memR+3
  !:
    // [271] (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR) -- vduz1=_deref_pduc1 
    lda memR
    sta.z return
    lda memR+1
    sta.z return+1
    lda memR+2
    sta.z return+2
    lda memR+3
    sta.z return+3
    jmp __breturn
    // mulf16u::@return
  __breturn:
    // [272] return 
    rts
}
  // bitmap_clear
// Clear all graphics on the bitmap
// bgcol - the background color to fill the screen with
// fgcol - the foreground color to fill the screen with
bitmap_clear: {
    .const col = WHITE<<4
    // [274] call memset 
    // [278] phi from bitmap_clear to memset [phi:bitmap_clear->memset]
  memset_from_bitmap_clear:
    // [278] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuz1=vbuc1 
    lda #col
    sta.z memset.c
    // [278] phi (void*) memset::str#3 = (void*)(const byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 
    lda #<BITMAP_SCREEN
    sta.z memset.str
    lda #>BITMAP_SCREEN
    sta.z memset.str+1
    // [278] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 
    lda #<$3e8
    sta.z memset.num
    lda #>$3e8
    sta.z memset.num+1
    jsr memset
    // [275] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
  __b1_from_bitmap_clear:
    jmp __b1
    // bitmap_clear::@1
  __b1:
    // [276] call memset 
    // [278] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset]
  memset_from___b1:
    // [278] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuz1=vbuc1 
    lda #0
    sta.z memset.c
    // [278] phi (void*) memset::str#3 = (void*)(const byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 
    lda #<BITMAP_GRAPHICS
    sta.z memset.str
    lda #>BITMAP_GRAPHICS
    sta.z memset.str+1
    // [278] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 
    lda #<$1f40
    sta.z memset.num
    lda #>$1f40
    sta.z memset.num+1
    jsr memset
    jmp __breturn
    // bitmap_clear::@return
  __breturn:
    // [277] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// memset(void* zp($3b) str, byte zp($3d) c, word zp($39) num)
memset: {
    .label end = $12f
    .label dst = $3e
    .label num = $39
    .label str = $3b
    .label c = $3d
    // [279] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 
    lda.z num
    bne !+
    lda.z num+1
    beq __breturn
  !:
    jmp __b1
    // memset::@1
  __b1:
    // [280] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz3 
    lda.z str
    clc
    adc.z num
    sta.z end
    lda.z str+1
    adc.z num+1
    sta.z end+1
    // [281] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 -- pbuz1=pbuz2 
    lda.z str
    sta.z dst
    lda.z str+1
    sta.z dst+1
    // [282] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
  __b2_from___b1:
  __b2_from___b3:
    // [282] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy 
    jmp __b2
    // memset::@2
  __b2:
    // [283] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 
    lda.z dst+1
    cmp.z end+1
    bne __b3
    lda.z dst
    cmp.z end
    bne __b3
    jmp __breturn
    // memset::@return
  __breturn:
    // [284] return 
    rts
    // memset::@3
  __b3:
    // [285] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuz2 
    lda.z c
    ldy #0
    sta (dst),y
    // [286] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp __b2_from___b3
}
  // bitmap_init
// Initialize bitmap plotting tables
bitmap_init: {
    .label __4 = $132
    .label __5 = $133
    .label __6 = $134
    .label __7 = $131
    .label bits = $40
    .label x = $41
    .label y = $42
    .label yoffs = $43
    // [288] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
  __b1_from_bitmap_init:
    // [288] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z x
    // [288] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#1] -- vbuz1=vbuc1 
    lda #$80
    sta.z bits
    jmp __b1
    // [288] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
  __b1_from___b2:
    // [288] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy 
    // [288] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy 
    jmp __b1
    // bitmap_init::@1
  __b1:
    // [289] *((const byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z bits
    ldy.z x
    sta bitmap_plot_bit,y
    // [290] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuz1=vbuz1_ror_1 
    lsr.z bits
    // [291] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuz1_neq_0_then_la1 
    lda.z bits
    cmp #0
    bne __b6_from___b1
    // [293] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
  __b2_from___b1:
    // [293] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1 
    lda #$80
    sta.z bits
    jmp __b2
    // [292] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
  __b6_from___b1:
    jmp __b6
    // bitmap_init::@6
  __b6:
    // [293] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
  __b2_from___b6:
    // [293] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy 
    jmp __b2
    // bitmap_init::@2
  __b2:
    // [294] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1 
    inc.z x
    // [295] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuz1_neq_0_then_la1 
    lda.z x
    cmp #0
    bne __b1_from___b2
    // [296] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
  __b3_from___b2:
    // [296] phi (byte*) bitmap_init::yoffs#2 = (const byte*) BITMAP_GRAPHICS [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 
    lda #<BITMAP_GRAPHICS
    sta.z yoffs
    lda #>BITMAP_GRAPHICS
    sta.z yoffs+1
    // [296] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuz1=vbuc1 
    lda #0
    sta.z y
    jmp __b3
    // [296] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
  __b3_from___b4:
    // [296] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy 
    // [296] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy 
    jmp __b3
    // bitmap_init::@3
  __b3:
    // [297] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuz2_band_vbuc1 
    lda #7
    and.z y
    sta.z __7
    // [298] (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2 
    lda.z yoffs
    sta.z __4
    // [299] (byte~) bitmap_init::$5 ← (byte~) bitmap_init::$7 | (byte~) bitmap_init::$4 -- vbuz1=vbuz2_bor_vbuz3 
    lda.z __7
    ora.z __4
    sta.z __5
    // [300] *((const byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$5 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z __5
    ldy.z y
    sta bitmap_plot_ylo,y
    // [301] (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2 
    lda.z yoffs+1
    sta.z __6
    // [302] *((const byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6 -- pbuc1_derefidx_vbuz1=vbuz2 
    lda.z __6
    ldy.z y
    sta bitmap_plot_yhi,y
    // [303] if((byte~) bitmap_init::$7!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 
    lda #7
    cmp.z __7
    bne __b4_from___b3
    jmp __b5
    // bitmap_init::@5
  __b5:
    // [304] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 
    clc
    lda.z yoffs
    adc #<$28*8
    sta.z yoffs
    lda.z yoffs+1
    adc #>$28*8
    sta.z yoffs+1
    // [305] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
  __b4_from___b3:
  __b4_from___b5:
    // [305] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy 
    jmp __b4
    // bitmap_init::@4
  __b4:
    // [306] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1 
    inc.z y
    // [307] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuz1_neq_0_then_la1 
    lda.z y
    cmp #0
    bne __b3_from___b4
    jmp __breturn
    // bitmap_init::@return
  __breturn:
    // [308] return 
    rts
}
  // mulf_init
// Initialize the mulf_sqr multiplication tables with f(x)=int(x*x/4)
mulf_init: {
    .label __1 = $135
    .label __4 = $136
    .label __5 = $137
    // x/2
    .label c = $47
    // Counter used for determining x%2==0
    .label sqr1_hi = $48
    // Fill mulf_sqr1 = f(x) = int(x*x/4): If f(x) = x*x/4 then f(x+1) = f(x) + x/2 + 1/4
    .label sqr = $51
    .label sqr1_lo = $45
    // sqr = (x*x)/4
    .label x_2 = $4a
    // Decrease or increase x_255 - initially we decrease
    .label sqr2_hi = $4e
    // Fill mulf_sqr2 = g(x) = f(x-255) : If x-255<0 then g(x)=f(255-x) (because x*x = -x*-x)
    // g(0) = f(255), g(1) = f(254), ..., g(254) = f(1), g(255) = f(0), g(256) = f(1), ..., g(510) = f(255), g(511) = f(256)
    .label x_255 = $4d
    .label sqr2_lo = $4b
    //Start with g(0)=f(255)
    .label dir = $50
    // [310] phi from mulf_init to mulf_init::@1 [phi:mulf_init->mulf_init::@1]
  __b1_from_mulf_init:
    // [310] phi (byte) mulf_init::x_2#3 = (byte) 0 [phi:mulf_init->mulf_init::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z x_2
    // [310] phi (byte*) mulf_init::sqr1_hi#2 = (const byte*) mulf_sqr1_hi+(byte) 1 [phi:mulf_init->mulf_init::@1#1] -- pbuz1=pbuc1 
    lda #<mulf_sqr1_hi+1
    sta.z sqr1_hi
    lda #>mulf_sqr1_hi+1
    sta.z sqr1_hi+1
    // [310] phi (word) mulf_init::sqr#4 = (word) 0 [phi:mulf_init->mulf_init::@1#2] -- vwuz1=vwuc1 
    lda #<0
    sta.z sqr
    lda #>0
    sta.z sqr+1
    // [310] phi (byte) mulf_init::c#2 = (byte) 0 [phi:mulf_init->mulf_init::@1#3] -- vbuz1=vbuc1 
    lda #0
    sta.z c
    // [310] phi (byte*) mulf_init::sqr1_lo#2 = (const byte*) mulf_sqr1_lo+(byte) 1 [phi:mulf_init->mulf_init::@1#4] -- pbuz1=pbuc1 
    lda #<mulf_sqr1_lo+1
    sta.z sqr1_lo
    lda #>mulf_sqr1_lo+1
    sta.z sqr1_lo+1
    jmp __b1
    // mulf_init::@1
  __b1:
    // [311] if((byte*) mulf_init::sqr1_lo#2!=(const byte*) mulf_sqr1_lo+(word) $200) goto mulf_init::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z sqr1_lo+1
    cmp #>mulf_sqr1_lo+$200
    bne __b2
    lda.z sqr1_lo
    cmp #<mulf_sqr1_lo+$200
    bne __b2
    // [312] phi from mulf_init::@1 to mulf_init::@5 [phi:mulf_init::@1->mulf_init::@5]
  __b5_from___b1:
    // [312] phi (byte) mulf_init::dir#2 = (byte) $ff [phi:mulf_init::@1->mulf_init::@5#0] -- vbuz1=vbuc1 
    lda #$ff
    sta.z dir
    // [312] phi (byte*) mulf_init::sqr2_hi#2 = (const byte*) mulf_sqr2_hi [phi:mulf_init::@1->mulf_init::@5#1] -- pbuz1=pbuc1 
    lda #<mulf_sqr2_hi
    sta.z sqr2_hi
    lda #>mulf_sqr2_hi
    sta.z sqr2_hi+1
    // [312] phi (byte) mulf_init::x_255#2 = (byte) -1 [phi:mulf_init::@1->mulf_init::@5#2] -- vbuz1=vbuc1 
    lda #-1
    sta.z x_255
    // [312] phi (byte*) mulf_init::sqr2_lo#2 = (const byte*) mulf_sqr2_lo [phi:mulf_init::@1->mulf_init::@5#3] -- pbuz1=pbuc1 
    lda #<mulf_sqr2_lo
    sta.z sqr2_lo
    lda #>mulf_sqr2_lo
    sta.z sqr2_lo+1
    jmp __b5
    // mulf_init::@5
  __b5:
    // [313] if((byte*) mulf_init::sqr2_lo#2!=(const byte*) mulf_sqr2_lo+(word) $1ff) goto mulf_init::@6 -- pbuz1_neq_pbuc1_then_la1 
    lda.z sqr2_lo+1
    cmp #>mulf_sqr2_lo+$1ff
    bne __b6
    lda.z sqr2_lo
    cmp #<mulf_sqr2_lo+$1ff
    bne __b6
    jmp __b7
    // mulf_init::@7
  __b7:
    // [314] *((const byte*) mulf_sqr2_lo+(word) $1ff) ← *((const byte*) mulf_sqr1_lo+(word) $100) -- _deref_pbuc1=_deref_pbuc2 
    // Set the very last value g(511) = f(256)
    lda mulf_sqr1_lo+$100
    sta mulf_sqr2_lo+$1ff
    // [315] *((const byte*) mulf_sqr2_hi+(word) $1ff) ← *((const byte*) mulf_sqr1_hi+(word) $100) -- _deref_pbuc1=_deref_pbuc2 
    lda mulf_sqr1_hi+$100
    sta mulf_sqr2_hi+$1ff
    jmp __breturn
    // mulf_init::@return
  __breturn:
    // [316] return 
    rts
    // mulf_init::@6
  __b6:
    // [317] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte*) mulf_sqr1_lo + (byte) mulf_init::x_255#2) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 
    ldy.z x_255
    lda mulf_sqr1_lo,y
    ldy #0
    sta (sqr2_lo),y
    // [318] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte*) mulf_sqr1_hi + (byte) mulf_init::x_255#2) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 
    ldy.z x_255
    lda mulf_sqr1_hi,y
    ldy #0
    sta (sqr2_hi),y
    // [319] (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr2_hi
    bne !+
    inc.z sqr2_hi+1
  !:
    // [320] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2 -- vbuz1=vbuz1_plus_vbuz2 
    lda.z x_255
    clc
    adc.z dir
    sta.z x_255
    // [321] if((byte) mulf_init::x_255#1!=(byte) 0) goto mulf_init::@9 -- vbuz1_neq_0_then_la1 
    lda.z x_255
    cmp #0
    bne __b9_from___b6
    // [323] phi from mulf_init::@6 to mulf_init::@8 [phi:mulf_init::@6->mulf_init::@8]
  __b8_from___b6:
    // [323] phi (byte) mulf_init::dir#4 = (byte) 1 [phi:mulf_init::@6->mulf_init::@8#0] -- vbuz1=vbuc1 
    lda #1
    sta.z dir
    jmp __b8
    // [322] phi from mulf_init::@6 to mulf_init::@9 [phi:mulf_init::@6->mulf_init::@9]
  __b9_from___b6:
    jmp __b9
    // mulf_init::@9
  __b9:
    // [323] phi from mulf_init::@9 to mulf_init::@8 [phi:mulf_init::@9->mulf_init::@8]
  __b8_from___b9:
    // [323] phi (byte) mulf_init::dir#4 = (byte) mulf_init::dir#2 [phi:mulf_init::@9->mulf_init::@8#0] -- register_copy 
    jmp __b8
    // mulf_init::@8
  __b8:
    // [324] (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr2_lo
    bne !+
    inc.z sqr2_lo+1
  !:
    // [312] phi from mulf_init::@8 to mulf_init::@5 [phi:mulf_init::@8->mulf_init::@5]
  __b5_from___b8:
    // [312] phi (byte) mulf_init::dir#2 = (byte) mulf_init::dir#4 [phi:mulf_init::@8->mulf_init::@5#0] -- register_copy 
    // [312] phi (byte*) mulf_init::sqr2_hi#2 = (byte*) mulf_init::sqr2_hi#1 [phi:mulf_init::@8->mulf_init::@5#1] -- register_copy 
    // [312] phi (byte) mulf_init::x_255#2 = (byte) mulf_init::x_255#1 [phi:mulf_init::@8->mulf_init::@5#2] -- register_copy 
    // [312] phi (byte*) mulf_init::sqr2_lo#2 = (byte*) mulf_init::sqr2_lo#1 [phi:mulf_init::@8->mulf_init::@5#3] -- register_copy 
    jmp __b5
    // mulf_init::@2
  __b2:
    // [325] (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2 -- vbuz1=_inc_vbuz1 
    inc.z c
    // [326] (byte~) mulf_init::$1 ← (byte) mulf_init::c#1 & (byte) 1 -- vbuz1=vbuz2_band_vbuc1 
    lda #1
    and.z c
    sta.z __1
    // [327] if((byte~) mulf_init::$1!=(byte) 0) goto mulf_init::@3 -- vbuz1_neq_0_then_la1 
    lda.z __1
    cmp #0
    bne __b3_from___b2
    jmp __b4
    // mulf_init::@4
  __b4:
    // [328] (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3 -- vbuz1=_inc_vbuz1 
    inc.z x_2
    // [329] (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4 -- vwuz1=_inc_vwuz1 
    inc.z sqr
    bne !+
    inc.z sqr+1
  !:
    // [330] phi from mulf_init::@2 mulf_init::@4 to mulf_init::@3 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3]
  __b3_from___b2:
  __b3_from___b4:
    // [330] phi (byte) mulf_init::x_2#2 = (byte) mulf_init::x_2#3 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#0] -- register_copy 
    // [330] phi (word) mulf_init::sqr#3 = (word) mulf_init::sqr#4 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#1] -- register_copy 
    jmp __b3
    // mulf_init::@3
  __b3:
    // [331] (byte~) mulf_init::$4 ← < (word) mulf_init::sqr#3 -- vbuz1=_lo_vwuz2 
    lda.z sqr
    sta.z __4
    // [332] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$4 -- _deref_pbuz1=vbuz2 
    lda.z __4
    ldy #0
    sta (sqr1_lo),y
    // [333] (byte~) mulf_init::$5 ← > (word) mulf_init::sqr#3 -- vbuz1=_hi_vwuz2 
    lda.z sqr+1
    sta.z __5
    // [334] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$5 -- _deref_pbuz1=vbuz2 
    lda.z __5
    ldy #0
    sta (sqr1_hi),y
    // [335] (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr1_hi
    bne !+
    inc.z sqr1_hi+1
  !:
    // [336] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2 -- vwuz1=vwuz1_plus_vbuz2 
    lda.z x_2
    clc
    adc.z sqr
    sta.z sqr
    bcc !+
    inc.z sqr+1
  !:
    // [337] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr1_lo
    bne !+
    inc.z sqr1_lo+1
  !:
    // [310] phi from mulf_init::@3 to mulf_init::@1 [phi:mulf_init::@3->mulf_init::@1]
  __b1_from___b3:
    // [310] phi (byte) mulf_init::x_2#3 = (byte) mulf_init::x_2#2 [phi:mulf_init::@3->mulf_init::@1#0] -- register_copy 
    // [310] phi (byte*) mulf_init::sqr1_hi#2 = (byte*) mulf_init::sqr1_hi#1 [phi:mulf_init::@3->mulf_init::@1#1] -- register_copy 
    // [310] phi (word) mulf_init::sqr#4 = (word) mulf_init::sqr#1 [phi:mulf_init::@3->mulf_init::@1#2] -- register_copy 
    // [310] phi (byte) mulf_init::c#2 = (byte) mulf_init::c#1 [phi:mulf_init::@3->mulf_init::@1#3] -- register_copy 
    // [310] phi (byte*) mulf_init::sqr1_lo#2 = (byte*) mulf_init::sqr1_lo#1 [phi:mulf_init::@3->mulf_init::@1#4] -- register_copy 
    jmp __b1
}
  // File Data
  // Array filled with spline segment points by splinePlot_8()
  SPLINE_8SEG: .fill 4*9, 0
  // Tables for the plotter - initialized by calling bitmap_init();
  bitmap_plot_ylo: .fill $100, 0
  bitmap_plot_yhi: .fill $100, 0
  bitmap_plot_bit: .fill $100, 0
  // mulf_sqr tables will contain f(x)=int(x*x/4) and g(x) = f(x-255).
  // <f(x) = <(( x * x )/4)
  .align $100
  mulf_sqr1_lo: .fill $200, 0
  // >f(x) = >(( x * x )/4)
  .align $100
  mulf_sqr1_hi: .fill $200, 0
  // <g(x) =  <((( x - 255) * ( x - 255 ))/4)
  .align $100
  mulf_sqr2_lo: .fill $200, 0
  // >g(x) = >((( x - 255) * ( x - 255 ))/4)
  .align $100
  mulf_sqr2_hi: .fill $200, 0
  // True type letter c
  letter_c: .byte MOVE_TO
  .word $6c, $92, 0, 0
  .byte SPLINE_TO
  .word $59, $b6, $67, $a9
  .byte SPLINE_TO
  .word $3b, $c3, $4b, $c3
  .byte SPLINE_TO
  .word $17, $b2, $26, $c3
  .byte SPLINE_TO
  .word 9, $84, 9, $a1
  .byte SPLINE_TO
  .word $19, $57, 9, $68
  .byte SPLINE_TO
  .word $41, $45, $2a, $45
  .byte SPLINE_TO
  .word $5d, $4f, $52, $45
  .byte SPLINE_TO
  .word $69, $62, $69, $58
  .byte SPLINE_TO
  .word $66, $6a, $69, $67
  .byte SPLINE_TO
  .word $5d, $6d, $62, $6d
  .byte SPLINE_TO
  .word $51, $68, $55, $6d
  .byte SPLINE_TO
  .word $4e, $5d, $4f, $65
  .byte SPLINE_TO
  .word $49, $52, $4e, $56
  .byte SPLINE_TO
  .word $3d, $4e, $45, $4e
  .byte SPLINE_TO
  .word $28, $58, $30, $4e
  .byte SPLINE_TO
  .word $1d, $79, $1d, $64
  .byte SPLINE_TO
  .word $28, $9e, $1d, $8e
  .byte SPLINE_TO
  .word $44, $ae, $32, $ae
  .byte SPLINE_TO
  .word $5b, $a6, $50, $ae
  .byte SPLINE_TO
  .word $68, $90, $62, $a0
  .byte LINE_TO
  .word $6c, $92, 0, 0
  // Sine and Cosine tables
  // Angles: $00=0, $80=PI,$100=2*PI
  // Sine/Cosine: signed fixed [-$7f,$7f]
  .align $40
SIN:
.for(var i=0;i<$140;i++)
        .byte >round($7fff*sin(i*2*PI/256))


REGISTER UPLIFT POTENTIAL REGISTERS
Equivalence Class zp[1]:306 [ bitmap_init::$4 ] has ALU potential.
Statement [10] *((const byte*) CIA2_PORT_A_DDR) ← (byte) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [12] *((const byte*) CIA2_PORT_A) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [14] *((const byte*) D018) ← (const byte) main::toD0181_return#0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [15] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [22] if(*((const byte*) RASTER)!=(byte) $fe) goto main::@3 [ main::angle#2 main::w#4 ] ( main:2 [ main::angle#2 main::w#4 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:2 [ main::angle#2 main::angle#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:3 [ main::w#4 main::w#1 ]
Statement [23] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@4 [ main::angle#2 main::w#4 ] ( main:2 [ main::angle#2 main::w#4 ] ) always clobbers reg byte a 
Statement [26] (byte) main::angle#1 ← (byte) main::angle#2 + (byte) 9 [ main::angle#1 ] ( main:2 [ main::angle#1 ] ) always clobbers reg byte a 
Statement [29] (byte~) show_letter::$23 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$23 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$23 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:83 [ show_letter::angle#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:4 [ show_letter::i#10 show_letter::i#1 ]
Statement [30] (byte~) show_letter::$20 ← (byte~) show_letter::$23 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 ] ) always clobbers reg byte a 
Statement [31] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$20) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 show_letter::to_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 show_letter::to_x#0 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:85 [ show_letter::$20 ]
Statement [32] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#0 show_letter::to_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#0 show_letter::to_y#0 ] ) always clobbers reg byte a 
Statement [33] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#0 show_letter::to_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#0 show_letter::to_x#1 ] ) always clobbers reg byte a 
Statement [34] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#1 show_letter::to_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#1 show_letter::to_y#1 ] ) always clobbers reg byte a 
Statement [35] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#1 rotate::vector_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#1 rotate::vector_x#0 ] ) always clobbers reg byte a 
Statement [36] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#0 rotate::vector_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#0 rotate::vector_y#0 ] ) always clobbers reg byte a 
Statement [39] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#2 ] ) always clobbers reg byte a 
Statement [40] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#0 ] ) always clobbers reg byte a 
Statement [41] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#0 show_letter::to_x#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#0 show_letter::to_x#2 ] ) always clobbers reg byte a 
Statement [42] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#2 show_letter::to_y#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#2 show_letter::to_y#2 ] ) always clobbers reg byte a 
Statement [43] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#2 show_letter::current_x#10 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#2 show_letter::current_x#10 ] ) always clobbers reg byte a 
Statement [44] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 ] ) always clobbers reg byte a 
Statement [45] (byte~) show_letter::$25 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$25 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$25 ] ) always clobbers reg byte a 
Statement [46] (byte~) show_letter::$21 ← (byte~) show_letter::$25 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 ] ) always clobbers reg byte a 
Statement [47] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$21) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 show_letter::via_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 show_letter::via_x#0 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:107 [ show_letter::$21 ]
Statement [48] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ) always clobbers reg byte a 
Statement [49] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ) always clobbers reg byte a 
Statement [50] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ) always clobbers reg byte a 
Statement [51] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ) always clobbers reg byte a 
Statement [52] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ) always clobbers reg byte a 
Statement [55] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ) always clobbers reg byte a 
Statement [56] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ) always clobbers reg byte a 
Statement [57] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ) always clobbers reg byte a 
Statement [58] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ) always clobbers reg byte a 
Statement [59] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ) always clobbers reg byte a 
Statement [60] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ) always clobbers reg byte a 
Statement [61] (byte~) show_letter::$27 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$27 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$27 ] ) always clobbers reg byte a 
Statement [62] (byte~) show_letter::$22 ← (byte~) show_letter::$27 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$22 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$22 ] ) always clobbers reg byte a 
Statement [66] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ) always clobbers reg byte a 
Statement [67] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ) always clobbers reg byte a 
Statement [68] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ) always clobbers reg byte a 
Statement [69] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ) always clobbers reg byte a 
Statement [74] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ) always clobbers reg byte a 
Statement [75] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ) always clobbers reg byte a 
Statement [76] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ) always clobbers reg byte a 
Statement [77] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ) always clobbers reg byte a 
Statement [78] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ) always clobbers reg byte a 
Statement [79] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ) always clobbers reg byte a 
Statement [80] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ) always clobbers reg byte a 
Statement [81] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ) always clobbers reg byte a 
Statement [85] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) [ bitmap_plot_spline_8seg::current_x#0 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 ] ) always clobbers reg byte a 
Statement [86] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) [ bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ) always clobbers reg byte a 
Statement [88] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]
Statement [89] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 ] ) always clobbers reg byte a 
Statement [90] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 ] ) always clobbers reg byte a 
Statement [91] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8) [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 bitmap_line::x2#13 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 bitmap_line::x2#13 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:143 [ bitmap_plot_spline_8seg::$8 ]
Statement [92] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8) [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 ] ) always clobbers reg byte a 
Statement [94] (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$9 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$9 ] ) always clobbers reg byte a 
Statement [95] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$9) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$9 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$9 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:144 [ bitmap_plot_spline_8seg::$9 ]
Statement [96] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ) always clobbers reg byte a 
Statement [101] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ) always clobbers reg byte a 
Statement [103] (word) abs_u16::return#0 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ) always clobbers reg byte a 
Statement [104] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ) always clobbers reg byte a 
Statement [105] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ) always clobbers reg byte a 
Statement [107] (word) abs_u16::return#1 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ) always clobbers reg byte a 
Statement [108] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ) always clobbers reg byte a 
Statement [109] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ) always clobbers reg byte a 
Statement [110] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ) always clobbers reg byte a 
Statement [111] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ) always clobbers reg byte a 
Statement [113] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ) always clobbers reg byte a 
Statement [114] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ) always clobbers reg byte a 
Statement [115] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ) always clobbers reg byte a 
Statement [117] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ) always clobbers reg byte a 
Statement [118] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ) always clobbers reg byte a 
Statement [119] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ) always clobbers reg byte a 
Statement [120] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ) always clobbers reg byte a 
Statement [122] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 ] ) always clobbers reg byte a 
Statement [123] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 bitmap_plot::x#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 bitmap_plot::x#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 bitmap_plot::x#1 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:26 [ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ]
Statement [125] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ) always clobbers reg byte a 
Statement [126] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ) always clobbers reg byte a 
Statement [127] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ) always clobbers reg byte a 
Statement [128] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ) always clobbers reg byte a 
Statement [129] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ) always clobbers reg byte a 
Statement [131] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#12 bitmap_line::e#6 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#12 bitmap_line::e#6 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#12 bitmap_line::e#6 ] ) always clobbers reg byte a 
Statement [133] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 [ bitmap_line::x#6 bitmap_plot::y#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#6 bitmap_plot::y#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#6 bitmap_plot::y#2 ] ) always clobbers reg byte a 
Statement [134] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 [ bitmap_plot::y#2 bitmap_plot::x#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::y#2 bitmap_plot::x#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::y#2 bitmap_plot::x#2 ] ) always clobbers reg byte a 
Statement [137] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ) always clobbers reg byte a 
Statement [139] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 ] ) always clobbers reg byte a 
Statement [140] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 bitmap_plot::x#3 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 bitmap_plot::x#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 bitmap_plot::x#3 ] ) always clobbers reg byte a 
Statement [142] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ) always clobbers reg byte a 
Statement [143] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ) always clobbers reg byte a 
Statement [144] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ) always clobbers reg byte a 
Statement [145] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ) always clobbers reg byte a 
Statement [146] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ) always clobbers reg byte a 
Statement [148] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#13 bitmap_line::x#15 bitmap_line::e1#6 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#13 bitmap_line::x#15 bitmap_line::e1#6 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#13 bitmap_line::x#15 bitmap_line::e1#6 ] ) always clobbers reg byte a 
Statement [149] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_plot::y#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_plot::y#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_plot::y#0 ] ) always clobbers reg byte a 
Statement [150] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 [ bitmap_plot::y#0 bitmap_plot::x#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::y#0 bitmap_plot::x#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::y#0 bitmap_plot::x#0 ] ) always clobbers reg byte a 
Statement [153] (word) bitmap_plot::plotter#0 ← *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 ] ) always clobbers reg byte a 
Statement [154] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (word) $fff8 [ bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] ) always clobbers reg byte a 
Statement [155] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$1 [ bitmap_plot::x#4 bitmap_plot::plotter#1 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#1 ] ) always clobbers reg byte a 
Statement [156] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#4 [ bitmap_plot::plotter#1 bitmap_plot::$2 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::plotter#1 bitmap_plot::$2 ] ) always clobbers reg byte a 
Statement [157] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2) [ ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 ] ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:2 [ main::angle#2 main::angle#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:83 [ show_letter::angle#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:4 [ show_letter::i#10 show_letter::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]
Statement [160] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 [ sgn_u16::$0 ] ( main:2::show_letter:20::bitmap_line:70::sgn_u16:112 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::sgn_u16:112 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::$0 ] main:2::show_letter:20::bitmap_line:70::sgn_u16:116 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::sgn_u16:116 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::$0 ] ) always clobbers reg byte a 
Statement [167] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 [ abs_u16::w#2 abs_u16::$0 ] ( main:2::show_letter:20::bitmap_line:70::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#2 abs_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#2 abs_u16::$0 ] main:2::show_letter:20::bitmap_line:70::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#2 abs_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#2 abs_u16::$0 ] ) always clobbers reg byte a 
Statement [170] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 [ abs_u16::return#2 ] ( main:2::show_letter:20::bitmap_line:70::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] main:2::show_letter:20::bitmap_line:70::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] ) always clobbers reg byte a 
Statement [173] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ) always clobbers reg byte a 
Statement [174] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ) always clobbers reg byte a 
Statement [175] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ) always clobbers reg byte a 
Statement [176] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ) always clobbers reg byte a 
Statement [177] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ) always clobbers reg byte a 
Statement [178] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ) always clobbers reg byte a 
Statement [179] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ) always clobbers reg byte a 
Statement [180] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ) always clobbers reg byte a 
Statement [181] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ) always clobbers reg byte a 
Statement [182] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ) always clobbers reg byte a 
Statement [183] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ) always clobbers reg byte a 
Statement [184] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ) always clobbers reg byte a 
Statement [185] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ) always clobbers reg byte a 
Statement [186] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ) always clobbers reg byte a 
Statement [187] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ) always clobbers reg byte a 
Statement [188] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ) always clobbers reg byte a 
Statement [189] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 [ spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ) always clobbers reg byte a 
Statement [190] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 [ spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ) always clobbers reg byte a 
Statement [192] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:39 [ spline_8segB::n#2 spline_8segB::n#1 ]
Statement [193] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ) always clobbers reg byte a 
Statement [194] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ) always clobbers reg byte a 
Statement [195] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ) always clobbers reg byte a 
Statement [196] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ) always clobbers reg byte a 
Statement [197] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:208 [ spline_8segB::$31 ]
Statement [198] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ) always clobbers reg byte a 
Statement [199] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ) always clobbers reg byte a 
Statement [200] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ) always clobbers reg byte a 
Statement [201] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ) always clobbers reg byte a 
Statement [202] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ) always clobbers reg byte a 
Statement [205] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 [ spline_8segB::p_y#1 spline_8segB::$18 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$18 ] ) always clobbers reg byte a 
Statement [206] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 [ spline_8segB::p_y#1 spline_8segB::$19 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$19 ] ) always clobbers reg byte a 
Statement [207] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 [ spline_8segB::$19 spline_8segB::$20 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$20 ] ) always clobbers reg byte a 
Statement [208] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 [ spline_8segB::$19 spline_8segB::$21 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$21 ] ) always clobbers reg byte a 
Statement [209] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 [ spline_8segB::$21 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$21 ] ) always clobbers reg byte a 
Statement [210] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 [ ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] ) always clobbers reg byte a 
Statement [213] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:44 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ]
Statement [214] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ) always clobbers reg byte a 
Statement [215] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ) always clobbers reg byte a 
Statement [217] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ) always clobbers reg byte a 
Statement [218] (signed dword~) rotate::$1 ← (signed dword) mulf16s::return#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$1 ] ) always clobbers reg byte a 
Statement [219] (signed word~) rotate::$2 ← (signed word)(signed dword~) rotate::$1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$2 ] ) always clobbers reg byte a 
Statement [220] (signed word) rotate::xr#0 ← (signed word~) rotate::$2 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ) always clobbers reg byte a 
Statement [221] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ) always clobbers reg byte a 
Statement [222] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ) always clobbers reg byte a 
Statement [224] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ) always clobbers reg byte a 
Statement [225] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#3 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$4 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$4 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$4 ] ) always clobbers reg byte a 
Statement [226] (signed word~) rotate::$5 ← (signed word)(signed dword~) rotate::$4 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$5 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$5 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$5 ] ) always clobbers reg byte a 
Statement [227] (signed word) rotate::yr#0 ← (signed word~) rotate::$5 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ) always clobbers reg byte a 
Statement [228] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ) always clobbers reg byte a 
Statement [229] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ) always clobbers reg byte a 
Statement [230] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ) always clobbers reg byte a 
Statement [232] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ) always clobbers reg byte a 
Statement [233] (signed dword~) rotate::$8 ← (signed dword) mulf16s::return#4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$8 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$8 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$8 ] ) always clobbers reg byte a 
Statement [234] (signed word~) rotate::$9 ← (signed word)(signed dword~) rotate::$8 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$9 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$9 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$9 ] ) always clobbers reg byte a 
Statement [235] (signed word~) rotate::$10 ← (signed word~) rotate::$9 << (byte) 1 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$10 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$10 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$10 ] ) always clobbers reg byte a 
Statement [236] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$10 [ rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ) always clobbers reg byte a 
Statement [237] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ) always clobbers reg byte a 
Statement [238] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 [ rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ) always clobbers reg byte a 
Statement [240] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 [ rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ) always clobbers reg byte a 
Statement [241] (signed dword~) rotate::$11 ← (signed dword) mulf16s::return#10 [ rotate::yr#0 rotate::xr#1 rotate::$11 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 rotate::$11 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$11 ] ) always clobbers reg byte a 
Statement [242] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$11 [ rotate::yr#0 rotate::xr#1 rotate::$12 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 rotate::$12 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$12 ] ) always clobbers reg byte a 
Statement [243] (signed word~) rotate::$13 ← (signed word~) rotate::$12 << (byte) 1 [ rotate::yr#0 rotate::xr#1 rotate::$13 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 rotate::$13 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$13 ] ) always clobbers reg byte a 
Statement [244] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$13 [ rotate::xr#1 rotate::yr#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::xr#1 rotate::yr#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::xr#1 rotate::yr#1 ] ) always clobbers reg byte a 
Statement [245] (byte~) rotate::$15 ← > (signed word) rotate::xr#1 [ rotate::yr#1 rotate::$15 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#1 rotate::$15 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#1 rotate::$15 ] ) always clobbers reg byte a 
Statement [246] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$15 [ rotate::return_x#2 rotate::yr#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#2 rotate::yr#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::yr#1 ] ) always clobbers reg byte a 
Statement [247] (byte~) rotate::$18 ← > (signed word) rotate::yr#1 [ rotate::return_x#2 rotate::$18 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#2 rotate::$18 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::$18 ] ) always clobbers reg byte a 
Statement [248] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$18 [ rotate::return_x#2 rotate::return_y#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#2 rotate::return_y#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::return_y#2 ] ) always clobbers reg byte a 
Statement [251] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ) always clobbers reg byte a 
Statement [252] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ) always clobbers reg byte a 
Statement [254] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 [ mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ) always clobbers reg byte a 
Statement [255] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ) always clobbers reg byte a 
Statement [256] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ) always clobbers reg byte a 
Statement [257] (word~) mulf16s::$9 ← > (dword) mulf16s::m#0 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] ) always clobbers reg byte a 
Statement [258] (word~) mulf16s::$16 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] ) always clobbers reg byte a 
Statement [259] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$16 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ) always clobbers reg byte a 
Statement [261] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 [ mulf16s::a#4 mulf16s::m#5 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] ) always clobbers reg byte a 
Statement [262] (word~) mulf16s::$13 ← > (dword) mulf16s::m#5 [ mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] ) always clobbers reg byte a 
Statement [263] (word~) mulf16s::$17 ← (word~) mulf16s::$13 - (word)(signed word) mulf16s::a#4 [ mulf16s::m#5 mulf16s::$17 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$17 ] ) always clobbers reg byte a 
Statement [264] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17 [ mulf16s::m#2 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] ) always clobbers reg byte a 
Statement [266] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 [ mulf16s::return#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] ) always clobbers reg byte a 
Statement [268] *((const word*) mulf16u::memA) ← (word) mulf16u::a#0 [ mulf16u::b#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] ) always clobbers reg byte a 
Statement [269] *((const word*) mulf16u::memB) ← (word) mulf16u::b#0 [ ] ( main:2::show_letter:20::rotate:38::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:38::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:38::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:38::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] ) always clobbers reg byte a 
Statement asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  } always clobbers reg byte a reg byte x 
Removing always clobbered register reg byte x as potential for zp[1]:2 [ main::angle#2 main::angle#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:83 [ show_letter::angle#0 ]
Removing always clobbered register reg byte x as potential for zp[1]:4 [ show_letter::i#10 show_letter::i#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:44 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ]
Statement [271] (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR) [ mulf16u::return#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] ) always clobbers reg byte a 
Statement [279] if((word) memset::num#2<=(byte) 0) goto memset::@return [ memset::num#2 memset::str#3 memset::c#4 ] ( main:2::bitmap_clear:9::memset:274 [ memset::num#2 memset::str#3 memset::c#4 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] main:2::bitmap_clear:9::memset:276 [ memset::num#2 memset::str#3 memset::c#4 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:61 [ memset::c#4 ]
Statement [280] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 [ memset::str#3 memset::c#4 memset::end#0 ] ( main:2::bitmap_clear:9::memset:274 [ memset::str#3 memset::c#4 memset::end#0 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] main:2::bitmap_clear:9::memset:276 [ memset::str#3 memset::c#4 memset::end#0 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] ) always clobbers reg byte a 
Statement [281] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( main:2::bitmap_clear:9::memset:274 [ memset::c#4 memset::end#0 memset::dst#4 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] main:2::bitmap_clear:9::memset:276 [ memset::c#4 memset::end#0 memset::dst#4 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] ) always clobbers reg byte a 
Statement [283] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:2::bitmap_clear:9::memset:274 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:9::memset:276 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] ) always clobbers reg byte a 
Statement [285] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:2::bitmap_clear:9::memset:274 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:9::memset:276 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:61 [ memset::c#4 ]
Statement [304] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::bitmap_init:7 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:66 [ bitmap_init::y#2 bitmap_init::y#1 ]
Statement [311] if((byte*) mulf_init::sqr1_lo#2!=(const byte*) mulf_sqr1_lo+(word) $200) goto mulf_init::@2 [ mulf_init::sqr1_lo#2 mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:74 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Statement [313] if((byte*) mulf_init::sqr2_lo#2!=(const byte*) mulf_sqr2_lo+(word) $1ff) goto mulf_init::@6 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:77 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ]
Statement [314] *((const byte*) mulf_sqr2_lo+(word) $1ff) ← *((const byte*) mulf_sqr1_lo+(word) $100) [ ] ( main:2::mulf_init:5 [ ] ) always clobbers reg byte a 
Statement [315] *((const byte*) mulf_sqr2_hi+(word) $1ff) ← *((const byte*) mulf_sqr1_hi+(word) $100) [ ] ( main:2::mulf_init:5 [ ] ) always clobbers reg byte a 
Statement [317] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte*) mulf_sqr1_lo + (byte) mulf_init::x_255#2) [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:77 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ]
Statement [318] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte*) mulf_sqr1_hi + (byte) mulf_init::x_255#2) [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ) always clobbers reg byte a reg byte y 
Statement [320] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ) always clobbers reg byte a 
Statement [326] (byte~) mulf_init::$1 ← (byte) mulf_init::c#1 & (byte) 1 [ mulf_init::sqr1_lo#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$1 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$1 ] ) always clobbers reg byte a 
Statement [331] (byte~) mulf_init::$4 ← < (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$4 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$4 ] ) always clobbers reg byte a 
Statement [332] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:74 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Statement [333] (byte~) mulf_init::$5 ← > (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] ) always clobbers reg byte a 
Statement [334] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ) always clobbers reg byte y 
Statement [336] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ) always clobbers reg byte a 
Statement [10] *((const byte*) CIA2_PORT_A_DDR) ← (byte) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [12] *((const byte*) CIA2_PORT_A) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [14] *((const byte*) D018) ← (const byte) main::toD0181_return#0 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [15] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3 [ ] ( main:2 [ ] ) always clobbers reg byte a 
Statement [19] (byte) show_letter::angle#0 ← (byte) main::angle#2 [ main::angle#2 show_letter::angle#0 ] ( main:2 [ main::angle#2 show_letter::angle#0 ] ) always clobbers reg byte a 
Statement [22] if(*((const byte*) RASTER)!=(byte) $fe) goto main::@3 [ main::angle#2 main::w#4 ] ( main:2 [ main::angle#2 main::w#4 ] ) always clobbers reg byte a 
Statement [23] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@4 [ main::angle#2 main::w#4 ] ( main:2 [ main::angle#2 main::w#4 ] ) always clobbers reg byte a 
Statement [26] (byte) main::angle#1 ← (byte) main::angle#2 + (byte) 9 [ main::angle#1 ] ( main:2 [ main::angle#1 ] ) always clobbers reg byte a reg byte x 
Statement [29] (byte~) show_letter::$23 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$23 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$23 ] ) always clobbers reg byte a 
Statement [30] (byte~) show_letter::$20 ← (byte~) show_letter::$23 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 ] ) always clobbers reg byte a 
Statement [31] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$20) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 show_letter::to_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$20 show_letter::to_x#0 ] ) always clobbers reg byte a 
Statement [32] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#0 show_letter::to_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#0 show_letter::to_y#0 ] ) always clobbers reg byte a 
Statement [33] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#0 show_letter::to_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#0 show_letter::to_x#1 ] ) always clobbers reg byte a 
Statement [34] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#1 show_letter::to_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#1 show_letter::to_y#1 ] ) always clobbers reg byte a 
Statement [35] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#1 rotate::vector_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#1 rotate::vector_x#0 ] ) always clobbers reg byte a 
Statement [36] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#0 rotate::vector_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#0 rotate::vector_y#0 ] ) always clobbers reg byte a 
Statement [39] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#2 ] ) always clobbers reg byte a 
Statement [40] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#0 rotate::return_y#0 ] ) always clobbers reg byte a 
Statement [41] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#0 show_letter::to_x#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#0 show_letter::to_x#2 ] ) always clobbers reg byte a 
Statement [42] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#2 show_letter::to_y#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_x#2 show_letter::to_y#2 ] ) always clobbers reg byte a 
Statement [43] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#2 show_letter::current_x#10 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::to_y#2 show_letter::current_x#10 ] ) always clobbers reg byte a 
Statement [44] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 ] ) always clobbers reg byte a 
Statement [45] (byte~) show_letter::$25 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$25 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$25 ] ) always clobbers reg byte a 
Statement [46] (byte~) show_letter::$21 ← (byte~) show_letter::$25 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 ] ) always clobbers reg byte a 
Statement [47] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$21) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 show_letter::via_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::$21 show_letter::via_x#0 ] ) always clobbers reg byte a 
Statement [48] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ) always clobbers reg byte a 
Statement [49] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ) always clobbers reg byte a 
Statement [50] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ) always clobbers reg byte a 
Statement [51] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ) always clobbers reg byte a 
Statement [52] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ) always clobbers reg byte a 
Statement [55] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ) always clobbers reg byte a 
Statement [56] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ) always clobbers reg byte a 
Statement [57] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ) always clobbers reg byte a 
Statement [58] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ) always clobbers reg byte a 
Statement [59] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ) always clobbers reg byte a 
Statement [60] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ) always clobbers reg byte a 
Statement [61] (byte~) show_letter::$27 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$27 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$27 ] ) always clobbers reg byte a 
Statement [62] (byte~) show_letter::$22 ← (byte~) show_letter::$27 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$22 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$22 ] ) always clobbers reg byte a 
Statement [66] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ) always clobbers reg byte a 
Statement [67] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ) always clobbers reg byte a 
Statement [68] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ) always clobbers reg byte a 
Statement [69] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ) always clobbers reg byte a 
Statement [72] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#10 show_letter::current_y#10 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#10 show_letter::current_y#10 ] ) always clobbers reg byte a 
Statement [74] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ) always clobbers reg byte a 
Statement [75] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ) always clobbers reg byte a 
Statement [76] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ) always clobbers reg byte a 
Statement [77] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ) always clobbers reg byte a 
Statement [78] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ) always clobbers reg byte a 
Statement [79] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ) always clobbers reg byte a 
Statement [80] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ) always clobbers reg byte a 
Statement [81] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ( main:2::show_letter:20 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ) always clobbers reg byte a 
Statement [85] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) [ bitmap_plot_spline_8seg::current_x#0 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 ] ) always clobbers reg byte a 
Statement [86] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) [ bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ) always clobbers reg byte a 
Statement [88] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 ] ) always clobbers reg byte a 
Statement [89] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 ] ) always clobbers reg byte a 
Statement [90] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 ] ) always clobbers reg byte a 
Statement [91] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8) [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 bitmap_line::x2#13 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::$8 bitmap_line::x2#13 ] ) always clobbers reg byte a 
Statement [92] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8) [ bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 ] ) always clobbers reg byte a 
Statement [94] (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$9 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$9 ] ) always clobbers reg byte a 
Statement [95] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$9) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$9 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$9 ] ) always clobbers reg byte a 
Statement [96] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ( main:2::show_letter:20::bitmap_plot_spline_8seg:84 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ) always clobbers reg byte a 
Statement [101] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ) always clobbers reg byte a 
Statement [103] (word) abs_u16::return#0 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ) always clobbers reg byte a 
Statement [104] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ) always clobbers reg byte a 
Statement [105] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ) always clobbers reg byte a 
Statement [107] (word) abs_u16::return#1 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ) always clobbers reg byte a 
Statement [108] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ) always clobbers reg byte a 
Statement [109] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ) always clobbers reg byte a 
Statement [110] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ) always clobbers reg byte a 
Statement [111] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ) always clobbers reg byte a 
Statement [113] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ) always clobbers reg byte a 
Statement [114] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ) always clobbers reg byte a 
Statement [115] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ) always clobbers reg byte a 
Statement [117] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ) always clobbers reg byte a 
Statement [118] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ) always clobbers reg byte a 
Statement [119] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ) always clobbers reg byte a 
Statement [120] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ) always clobbers reg byte a 
Statement [122] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 ] ) always clobbers reg byte a 
Statement [123] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 bitmap_plot::x#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 bitmap_plot::x#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::y#1 bitmap_plot::x#1 ] ) always clobbers reg byte a 
Statement [125] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ) always clobbers reg byte a 
Statement [126] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ) always clobbers reg byte a 
Statement [127] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ) always clobbers reg byte a 
Statement [128] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ) always clobbers reg byte a 
Statement [129] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ) always clobbers reg byte a 
Statement [131] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#12 bitmap_line::e#6 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#12 bitmap_line::e#6 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#12 bitmap_line::e#6 ] ) always clobbers reg byte a 
Statement [133] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 [ bitmap_line::x#6 bitmap_plot::y#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#6 bitmap_plot::y#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#6 bitmap_plot::y#2 ] ) always clobbers reg byte a 
Statement [134] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 [ bitmap_plot::y#2 bitmap_plot::x#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::y#2 bitmap_plot::x#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::y#2 bitmap_plot::x#2 ] ) always clobbers reg byte a 
Statement [137] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ) always clobbers reg byte a 
Statement [139] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 ] ) always clobbers reg byte a 
Statement [140] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 bitmap_plot::x#3 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 bitmap_plot::x#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::y#3 bitmap_plot::x#3 ] ) always clobbers reg byte a 
Statement [142] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ) always clobbers reg byte a 
Statement [143] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ) always clobbers reg byte a 
Statement [144] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ) always clobbers reg byte a 
Statement [145] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ) always clobbers reg byte a 
Statement [146] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ) always clobbers reg byte a 
Statement [148] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#13 bitmap_line::x#15 bitmap_line::e1#6 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#13 bitmap_line::x#15 bitmap_line::e1#6 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#13 bitmap_line::x#15 bitmap_line::e1#6 ] ) always clobbers reg byte a 
Statement [149] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_plot::y#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_plot::y#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_plot::y#0 ] ) always clobbers reg byte a 
Statement [150] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 [ bitmap_plot::y#0 bitmap_plot::x#0 ] ( main:2::show_letter:20::bitmap_line:70 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::y#0 bitmap_plot::x#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::y#0 bitmap_plot::x#0 ] ) always clobbers reg byte a 
Statement [153] (word) bitmap_plot::plotter#0 ← *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 ] ) always clobbers reg byte a 
Statement [154] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (word) $fff8 [ bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$1 ] ) always clobbers reg byte a 
Statement [155] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$1 [ bitmap_plot::x#4 bitmap_plot::plotter#1 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::x#4 bitmap_plot::plotter#1 ] ) always clobbers reg byte a 
Statement [156] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#4 [ bitmap_plot::plotter#1 bitmap_plot::$2 ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::plotter#1 bitmap_plot::$2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot::plotter#1 bitmap_plot::$2 ] ) always clobbers reg byte a 
Statement [157] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2) [ ] ( main:2::show_letter:20::bitmap_line:70::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:124 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#4 bitmap_line::x#13 bitmap_line::e#3 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:135 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:141 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#15 bitmap_line::x#7 bitmap_line::e1#3 ] main:2::show_letter:20::bitmap_line:70::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::bitmap_plot:151 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 ] ) always clobbers reg byte a reg byte y 
Statement [160] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 [ sgn_u16::$0 ] ( main:2::show_letter:20::bitmap_line:70::sgn_u16:112 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::sgn_u16:112 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::$0 ] main:2::show_letter:20::bitmap_line:70::sgn_u16:116 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::sgn_u16:116 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::$0 ] ) always clobbers reg byte a 
Statement [167] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 [ abs_u16::w#2 abs_u16::$0 ] ( main:2::show_letter:20::bitmap_line:70::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#2 abs_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#2 abs_u16::$0 ] main:2::show_letter:20::bitmap_line:70::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#2 abs_u16::$0 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#2 abs_u16::$0 ] ) always clobbers reg byte a 
Statement [170] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 [ abs_u16::return#2 ] ( main:2::show_letter:20::bitmap_line:70::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:102 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] main:2::show_letter:20::bitmap_line:70::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] main:2::show_letter:20::bitmap_plot_spline_8seg:84::bitmap_line:93::abs_u16:106 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] ) always clobbers reg byte a 
Statement [173] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ) always clobbers reg byte a 
Statement [174] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ) always clobbers reg byte a 
Statement [175] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ) always clobbers reg byte a 
Statement [176] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ) always clobbers reg byte a 
Statement [177] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ) always clobbers reg byte a 
Statement [178] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ) always clobbers reg byte a 
Statement [179] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ) always clobbers reg byte a 
Statement [180] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ) always clobbers reg byte a 
Statement [181] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ) always clobbers reg byte a 
Statement [182] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ) always clobbers reg byte a 
Statement [183] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ) always clobbers reg byte a 
Statement [184] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ) always clobbers reg byte a 
Statement [185] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ) always clobbers reg byte a 
Statement [186] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ) always clobbers reg byte a 
Statement [187] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ) always clobbers reg byte a 
Statement [188] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ) always clobbers reg byte a 
Statement [189] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 [ spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ) always clobbers reg byte a 
Statement [190] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 [ spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ) always clobbers reg byte a 
Statement [192] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ) always clobbers reg byte a 
Statement [193] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ) always clobbers reg byte a 
Statement [194] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ) always clobbers reg byte a 
Statement [195] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ) always clobbers reg byte a 
Statement [196] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ) always clobbers reg byte a 
Statement [197] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ) always clobbers reg byte a 
Statement [198] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ) always clobbers reg byte a 
Statement [199] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ) always clobbers reg byte a 
Statement [200] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ) always clobbers reg byte a 
Statement [201] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ) always clobbers reg byte a 
Statement [202] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ) always clobbers reg byte a 
Statement [205] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 [ spline_8segB::p_y#1 spline_8segB::$18 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$18 ] ) always clobbers reg byte a 
Statement [206] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 [ spline_8segB::p_y#1 spline_8segB::$19 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$19 ] ) always clobbers reg byte a 
Statement [207] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 [ spline_8segB::$19 spline_8segB::$20 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$20 ] ) always clobbers reg byte a 
Statement [208] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 [ spline_8segB::$19 spline_8segB::$21 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$21 ] ) always clobbers reg byte a 
Statement [209] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 [ spline_8segB::$21 ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$21 ] ) always clobbers reg byte a 
Statement [210] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 [ ] ( main:2::show_letter:20::spline_8segB:82 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] ) always clobbers reg byte a 
Statement [213] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ) always clobbers reg byte a 
Statement [214] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ) always clobbers reg byte a 
Statement [215] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ) always clobbers reg byte a 
Statement [217] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ) always clobbers reg byte a 
Statement [218] (signed dword~) rotate::$1 ← (signed dword) mulf16s::return#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$1 ] ) always clobbers reg byte a 
Statement [219] (signed word~) rotate::$2 ← (signed word)(signed dword~) rotate::$1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$2 ] ) always clobbers reg byte a 
Statement [220] (signed word) rotate::xr#0 ← (signed word~) rotate::$2 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ) always clobbers reg byte a 
Statement [221] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ) always clobbers reg byte a 
Statement [222] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ) always clobbers reg byte a 
Statement [224] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ) always clobbers reg byte a 
Statement [225] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#3 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$4 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$4 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$4 ] ) always clobbers reg byte a 
Statement [226] (signed word~) rotate::$5 ← (signed word)(signed dword~) rotate::$4 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$5 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$5 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$5 ] ) always clobbers reg byte a 
Statement [227] (signed word) rotate::yr#0 ← (signed word~) rotate::$5 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ) always clobbers reg byte a 
Statement [228] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ) always clobbers reg byte a 
Statement [229] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ) always clobbers reg byte a 
Statement [230] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ) always clobbers reg byte a 
Statement [232] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ) always clobbers reg byte a 
Statement [233] (signed dword~) rotate::$8 ← (signed dword) mulf16s::return#4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$8 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$8 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$8 ] ) always clobbers reg byte a 
Statement [234] (signed word~) rotate::$9 ← (signed word)(signed dword~) rotate::$8 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$9 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$9 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$9 ] ) always clobbers reg byte a 
Statement [235] (signed word~) rotate::$10 ← (signed word~) rotate::$9 << (byte) 1 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$10 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$10 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$10 ] ) always clobbers reg byte a 
Statement [236] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$10 [ rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ) always clobbers reg byte a 
Statement [237] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ) always clobbers reg byte a 
Statement [238] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 [ rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ) always clobbers reg byte a 
Statement [240] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 [ rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ) always clobbers reg byte a 
Statement [241] (signed dword~) rotate::$11 ← (signed dword) mulf16s::return#10 [ rotate::yr#0 rotate::xr#1 rotate::$11 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 rotate::$11 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$11 ] ) always clobbers reg byte a 
Statement [242] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$11 [ rotate::yr#0 rotate::xr#1 rotate::$12 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 rotate::$12 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$12 ] ) always clobbers reg byte a 
Statement [243] (signed word~) rotate::$13 ← (signed word~) rotate::$12 << (byte) 1 [ rotate::yr#0 rotate::xr#1 rotate::$13 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 rotate::$13 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$13 ] ) always clobbers reg byte a 
Statement [244] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$13 [ rotate::xr#1 rotate::yr#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::xr#1 rotate::yr#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::xr#1 rotate::yr#1 ] ) always clobbers reg byte a 
Statement [245] (byte~) rotate::$15 ← > (signed word) rotate::xr#1 [ rotate::yr#1 rotate::$15 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#1 rotate::$15 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#1 rotate::$15 ] ) always clobbers reg byte a 
Statement [246] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$15 [ rotate::return_x#2 rotate::yr#1 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#2 rotate::yr#1 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::yr#1 ] ) always clobbers reg byte a 
Statement [247] (byte~) rotate::$18 ← > (signed word) rotate::yr#1 [ rotate::return_x#2 rotate::$18 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#2 rotate::$18 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::$18 ] ) always clobbers reg byte a 
Statement [248] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$18 [ rotate::return_x#2 rotate::return_y#2 ] ( main:2::show_letter:20::rotate:38 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::return_x#2 rotate::return_y#2 ] main:2::show_letter:20::rotate:54 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::return_y#2 ] ) always clobbers reg byte a 
Statement [251] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ) always clobbers reg byte a 
Statement [252] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ) always clobbers reg byte a 
Statement [254] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 [ mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ) always clobbers reg byte a 
Statement [255] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ) always clobbers reg byte a 
Statement [256] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ) always clobbers reg byte a 
Statement [257] (word~) mulf16s::$9 ← > (dword) mulf16s::m#0 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$9 ] ) always clobbers reg byte a 
Statement [258] (word~) mulf16s::$16 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$16 ] ) always clobbers reg byte a 
Statement [259] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$16 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ) always clobbers reg byte a 
Statement [261] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 [ mulf16s::a#4 mulf16s::m#5 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] ) always clobbers reg byte a 
Statement [262] (word~) mulf16s::$13 ← > (dword) mulf16s::m#5 [ mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$13 ] ) always clobbers reg byte a 
Statement [263] (word~) mulf16s::$17 ← (word~) mulf16s::$13 - (word)(signed word) mulf16s::a#4 [ mulf16s::m#5 mulf16s::$17 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$17 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$17 ] ) always clobbers reg byte a 
Statement [264] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17 [ mulf16s::m#2 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] ) always clobbers reg byte a 
Statement [266] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 [ mulf16s::return#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:216 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:239 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] ) always clobbers reg byte a 
Statement [268] *((const word*) mulf16u::memA) ← (word) mulf16u::a#0 [ mulf16u::b#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:38::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] main:2::show_letter:20::rotate:54::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] ) always clobbers reg byte a 
Statement [269] *((const word*) mulf16u::memB) ← (word) mulf16u::b#0 [ ] ( main:2::show_letter:20::rotate:38::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:38::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:38::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:38::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] main:2::show_letter:20::rotate:54::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] ) always clobbers reg byte a 
Statement asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  } always clobbers reg byte a reg byte x 
Statement [271] (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR) [ mulf16u::return#0 ] ( main:2::show_letter:20::rotate:38::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:216::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:223::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:231::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:38::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] main:2::show_letter:20::rotate:54::mulf16s:239::mulf16u:253 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] ) always clobbers reg byte a 
Statement [279] if((word) memset::num#2<=(byte) 0) goto memset::@return [ memset::num#2 memset::str#3 memset::c#4 ] ( main:2::bitmap_clear:9::memset:274 [ memset::num#2 memset::str#3 memset::c#4 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] main:2::bitmap_clear:9::memset:276 [ memset::num#2 memset::str#3 memset::c#4 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] ) always clobbers reg byte a 
Statement [280] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 [ memset::str#3 memset::c#4 memset::end#0 ] ( main:2::bitmap_clear:9::memset:274 [ memset::str#3 memset::c#4 memset::end#0 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] main:2::bitmap_clear:9::memset:276 [ memset::str#3 memset::c#4 memset::end#0 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] ) always clobbers reg byte a 
Statement [281] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( main:2::bitmap_clear:9::memset:274 [ memset::c#4 memset::end#0 memset::dst#4 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] main:2::bitmap_clear:9::memset:276 [ memset::c#4 memset::end#0 memset::dst#4 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] ) always clobbers reg byte a 
Statement [283] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:2::bitmap_clear:9::memset:274 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:9::memset:276 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] ) always clobbers reg byte a 
Statement [285] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( main:2::bitmap_clear:9::memset:274 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:274 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:9::memset:276 [ memset::c#4 memset::end#0 memset::dst#2 ] main:2::bitmap_clear:18::memset:276 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] ) always clobbers reg byte a reg byte y 
Statement [297] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$7 ] ( main:2::bitmap_init:7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$7 ] ) always clobbers reg byte a 
Statement [304] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( main:2::bitmap_init:7 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ) always clobbers reg byte a 
Statement [311] if((byte*) mulf_init::sqr1_lo#2!=(const byte*) mulf_sqr1_lo+(word) $200) goto mulf_init::@2 [ mulf_init::sqr1_lo#2 mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::c#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 ] ) always clobbers reg byte a 
Statement [313] if((byte*) mulf_init::sqr2_lo#2!=(const byte*) mulf_sqr2_lo+(word) $1ff) goto mulf_init::@6 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ) always clobbers reg byte a 
Statement [314] *((const byte*) mulf_sqr2_lo+(word) $1ff) ← *((const byte*) mulf_sqr1_lo+(word) $100) [ ] ( main:2::mulf_init:5 [ ] ) always clobbers reg byte a 
Statement [315] *((const byte*) mulf_sqr2_hi+(word) $1ff) ← *((const byte*) mulf_sqr1_hi+(word) $100) [ ] ( main:2::mulf_init:5 [ ] ) always clobbers reg byte a 
Statement [317] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte*) mulf_sqr1_lo + (byte) mulf_init::x_255#2) [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ) always clobbers reg byte a reg byte y 
Statement [318] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte*) mulf_sqr1_hi + (byte) mulf_init::x_255#2) [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::x_255#2 mulf_init::sqr2_hi#2 mulf_init::dir#2 ] ) always clobbers reg byte a reg byte y 
Statement [320] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ( main:2::mulf_init:5 [ mulf_init::sqr2_lo#2 mulf_init::dir#2 mulf_init::x_255#1 mulf_init::sqr2_hi#1 ] ) always clobbers reg byte a 
Statement [326] (byte~) mulf_init::$1 ← (byte) mulf_init::c#1 & (byte) 1 [ mulf_init::sqr1_lo#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$1 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr#4 mulf_init::sqr1_hi#2 mulf_init::x_2#3 mulf_init::c#1 mulf_init::$1 ] ) always clobbers reg byte a 
Statement [331] (byte~) mulf_init::$4 ← < (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$4 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$4 ] ) always clobbers reg byte a 
Statement [332] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ) always clobbers reg byte y 
Statement [333] (byte~) mulf_init::$5 ← > (word) mulf_init::sqr#3 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 mulf_init::$5 ] ) always clobbers reg byte a 
Statement [334] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_hi#2 mulf_init::c#1 mulf_init::x_2#2 mulf_init::sqr#3 ] ) always clobbers reg byte y 
Statement [336] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr1_lo#2 mulf_init::c#1 mulf_init::sqr#1 mulf_init::sqr1_hi#1 mulf_init::x_2#2 ] ) always clobbers reg byte a 
Potential registers zp[1]:2 [ main::angle#2 main::angle#1 ] : zp[1]:2 , 
Potential registers zp[1]:3 [ main::w#4 main::w#1 ] : zp[1]:3 , reg byte x , reg byte y , 
Potential registers zp[1]:4 [ show_letter::i#10 show_letter::i#1 ] : zp[1]:4 , 
Potential registers zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 ] : zp[2]:5 , 
Potential registers zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 ] : zp[2]:7 , 
Potential registers zp[2]:9 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] : zp[2]:9 , 
Potential registers zp[2]:11 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] : zp[2]:11 , 
Potential registers zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] : zp[1]:13 , reg byte x , 
Potential registers zp[2]:14 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] : zp[2]:14 , 
Potential registers zp[2]:16 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] : zp[2]:16 , 
Potential registers zp[2]:18 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] : zp[2]:18 , 
Potential registers zp[2]:20 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] : zp[2]:20 , 
Potential registers zp[2]:22 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] : zp[2]:22 , 
Potential registers zp[2]:24 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] : zp[2]:24 , 
Potential registers zp[1]:26 [ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ] : zp[1]:26 , reg byte x , reg byte y , 
Potential registers zp[2]:27 [ bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] : zp[2]:27 , 
Potential registers zp[2]:29 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] : zp[2]:29 , 
Potential registers zp[2]:31 [ sgn_u16::return#4 ] : zp[2]:31 , 
Potential registers zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] : zp[2]:33 , 
Potential registers zp[2]:35 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] : zp[2]:35 , 
Potential registers zp[2]:37 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] : zp[2]:37 , 
Potential registers zp[1]:39 [ spline_8segB::n#2 spline_8segB::n#1 ] : zp[1]:39 , reg byte x , reg byte y , 
Potential registers zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] : zp[2]:40 , 
Potential registers zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] : zp[2]:42 , 
Potential registers zp[1]:44 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] : zp[1]:44 , reg byte y , 
Potential registers zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] : zp[2]:45 , 
Potential registers zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] : zp[2]:47 , 
Potential registers zp[2]:49 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] : zp[2]:49 , 
Potential registers zp[2]:51 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] : zp[2]:51 , 
Potential registers zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] : zp[4]:53 , 
Potential registers zp[2]:57 [ memset::num#2 ] : zp[2]:57 , 
Potential registers zp[2]:59 [ memset::str#3 ] : zp[2]:59 , 
Potential registers zp[1]:61 [ memset::c#4 ] : zp[1]:61 , reg byte x , 
Potential registers zp[2]:62 [ memset::dst#2 memset::dst#4 memset::dst#1 ] : zp[2]:62 , 
Potential registers zp[1]:64 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] : zp[1]:64 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:65 [ bitmap_init::x#2 bitmap_init::x#1 ] : zp[1]:65 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:66 [ bitmap_init::y#2 bitmap_init::y#1 ] : zp[1]:66 , reg byte x , reg byte y , 
Potential registers zp[2]:67 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] : zp[2]:67 , 
Potential registers zp[2]:69 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] : zp[2]:69 , 
Potential registers zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ] : zp[1]:71 , reg byte x , 
Potential registers zp[2]:72 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] : zp[2]:72 , 
Potential registers zp[1]:74 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] : zp[1]:74 , reg byte x , 
Potential registers zp[2]:75 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] : zp[2]:75 , 
Potential registers zp[1]:77 [ mulf_init::x_255#2 mulf_init::x_255#1 ] : zp[1]:77 , reg byte x , 
Potential registers zp[2]:78 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] : zp[2]:78 , 
Potential registers zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ] : zp[1]:80 , reg byte x , 
Potential registers zp[2]:81 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] : zp[2]:81 , 
Potential registers zp[1]:83 [ show_letter::angle#0 ] : zp[1]:83 , 
Potential registers zp[1]:84 [ show_letter::$23 ] : zp[1]:84 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:85 [ show_letter::$20 ] : zp[1]:85 , reg byte x , reg byte y , 
Potential registers zp[2]:86 [ show_letter::to_x#0 ] : zp[2]:86 , 
Potential registers zp[2]:88 [ show_letter::to_y#0 ] : zp[2]:88 , 
Potential registers zp[2]:90 [ show_letter::to_x#1 ] : zp[2]:90 , 
Potential registers zp[2]:92 [ show_letter::to_y#1 ] : zp[2]:92 , 
Potential registers zp[2]:94 [ rotate::return_x#0 ] : zp[2]:94 , 
Potential registers zp[2]:96 [ rotate::return_y#0 ] : zp[2]:96 , 
Potential registers zp[2]:98 [ show_letter::to_x#2 ] : zp[2]:98 , 
Potential registers zp[2]:100 [ show_letter::to_y#2 ] : zp[2]:100 , 
Potential registers zp[2]:102 [ show_letter::current_x#10 ] : zp[2]:102 , 
Potential registers zp[2]:104 [ show_letter::current_y#10 ] : zp[2]:104 , 
Potential registers zp[1]:106 [ show_letter::$25 ] : zp[1]:106 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:107 [ show_letter::$21 ] : zp[1]:107 , reg byte x , reg byte y , 
Potential registers zp[2]:108 [ show_letter::via_x#0 ] : zp[2]:108 , 
Potential registers zp[2]:110 [ show_letter::via_y#0 ] : zp[2]:110 , 
Potential registers zp[2]:112 [ show_letter::via_x#1 ] : zp[2]:112 , 
Potential registers zp[2]:114 [ show_letter::via_y#1 ] : zp[2]:114 , 
Potential registers zp[2]:116 [ rotate::return_x#1 ] : zp[2]:116 , 
Potential registers zp[2]:118 [ rotate::return_y#1 ] : zp[2]:118 , 
Potential registers zp[2]:120 [ show_letter::via_x#2 ] : zp[2]:120 , 
Potential registers zp[2]:122 [ show_letter::via_y#2 ] : zp[2]:122 , 
Potential registers zp[2]:124 [ show_letter::segment_via_x#0 ] : zp[2]:124 , 
Potential registers zp[2]:126 [ show_letter::segment_via_y#0 ] : zp[2]:126 , 
Potential registers zp[1]:128 [ show_letter::$27 ] : zp[1]:128 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:129 [ show_letter::$22 ] : zp[1]:129 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:130 [ show_letter::segment_type#0 ] : zp[1]:130 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:131 [ spline_8segB::p0_x#0 ] : zp[2]:131 , 
Potential registers zp[2]:133 [ spline_8segB::p0_y#0 ] : zp[2]:133 , 
Potential registers zp[2]:135 [ spline_8segB::p1_x#0 ] : zp[2]:135 , 
Potential registers zp[2]:137 [ spline_8segB::p1_y#0 ] : zp[2]:137 , 
Potential registers zp[2]:139 [ spline_8segB::p2_x#0 ] : zp[2]:139 , 
Potential registers zp[2]:141 [ spline_8segB::p2_y#0 ] : zp[2]:141 , 
Potential registers zp[1]:143 [ bitmap_plot_spline_8seg::$8 ] : zp[1]:143 , reg byte x , reg byte y , 
Potential registers zp[1]:144 [ bitmap_plot_spline_8seg::$9 ] : zp[1]:144 , reg byte x , reg byte y , 
Potential registers zp[2]:145 [ abs_u16::return#0 ] : zp[2]:145 , 
Potential registers zp[2]:147 [ bitmap_line::dx#0 ] : zp[2]:147 , 
Potential registers zp[2]:149 [ abs_u16::return#1 ] : zp[2]:149 , 
Potential registers zp[2]:151 [ bitmap_line::dy#0 ] : zp[2]:151 , 
Potential registers zp[2]:153 [ sgn_u16::return#0 ] : zp[2]:153 , 
Potential registers zp[2]:155 [ bitmap_line::sx#0 ] : zp[2]:155 , 
Potential registers zp[2]:157 [ sgn_u16::return#1 ] : zp[2]:157 , 
Potential registers zp[2]:159 [ bitmap_line::sy#0 ] : zp[2]:159 , 
Potential registers zp[2]:161 [ bitmap_plot::plotter#0 ] : zp[2]:161 , 
Potential registers zp[2]:163 [ bitmap_plot::$1 ] : zp[2]:163 , 
Potential registers zp[2]:165 [ bitmap_plot::plotter#1 ] : zp[2]:165 , 
Potential registers zp[1]:167 [ bitmap_plot::$2 ] : zp[1]:167 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:168 [ sgn_u16::$0 ] : zp[1]:168 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:169 [ sgn_u16::$1 ] : zp[1]:169 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:170 [ abs_u16::$0 ] : zp[1]:170 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:171 [ abs_u16::$1 ] : zp[1]:171 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:172 [ spline_8segB::$0 ] : zp[2]:172 , 
Potential registers zp[2]:174 [ spline_8segB::$1 ] : zp[2]:174 , 
Potential registers zp[2]:176 [ spline_8segB::a_x#0 ] : zp[2]:176 , 
Potential registers zp[2]:178 [ spline_8segB::$3 ] : zp[2]:178 , 
Potential registers zp[2]:180 [ spline_8segB::$4 ] : zp[2]:180 , 
Potential registers zp[2]:182 [ spline_8segB::a_y#0 ] : zp[2]:182 , 
Potential registers zp[2]:184 [ spline_8segB::$6 ] : zp[2]:184 , 
Potential registers zp[2]:186 [ spline_8segB::b_x#0 ] : zp[2]:186 , 
Potential registers zp[2]:188 [ spline_8segB::$8 ] : zp[2]:188 , 
Potential registers zp[2]:190 [ spline_8segB::b_y#0 ] : zp[2]:190 , 
Potential registers zp[2]:192 [ spline_8segB::$10 ] : zp[2]:192 , 
Potential registers zp[2]:194 [ spline_8segB::$12 ] : zp[2]:194 , 
Potential registers zp[2]:196 [ spline_8segB::j_x#0 ] : zp[2]:196 , 
Potential registers zp[2]:198 [ spline_8segB::j_y#0 ] : zp[2]:198 , 
Potential registers zp[2]:200 [ spline_8segB::$22 ] : zp[2]:200 , 
Potential registers zp[2]:202 [ spline_8segB::$23 ] : zp[2]:202 , 
Potential registers zp[2]:204 [ spline_8segB::$24 ] : zp[2]:204 , 
Potential registers zp[2]:206 [ spline_8segB::$25 ] : zp[2]:206 , 
Potential registers zp[1]:208 [ spline_8segB::$31 ] : zp[1]:208 , reg byte x , reg byte y , 
Potential registers zp[2]:209 [ spline_8segB::$18 ] : zp[2]:209 , 
Potential registers zp[2]:211 [ spline_8segB::$19 ] : zp[2]:211 , 
Potential registers zp[2]:213 [ spline_8segB::$20 ] : zp[2]:213 , 
Potential registers zp[2]:215 [ spline_8segB::$21 ] : zp[2]:215 , 
Potential registers zp[2]:217 [ rotate::cos_a#0 ] : zp[2]:217 , 
Potential registers zp[4]:219 [ mulf16s::return#2 ] : zp[4]:219 , 
Potential registers zp[4]:223 [ rotate::$1 ] : zp[4]:223 , 
Potential registers zp[2]:227 [ rotate::$2 ] : zp[2]:227 , 
Potential registers zp[2]:229 [ rotate::xr#0 ] : zp[2]:229 , 
Potential registers zp[4]:231 [ mulf16s::return#3 ] : zp[4]:231 , 
Potential registers zp[4]:235 [ rotate::$4 ] : zp[4]:235 , 
Potential registers zp[2]:239 [ rotate::$5 ] : zp[2]:239 , 
Potential registers zp[2]:241 [ rotate::yr#0 ] : zp[2]:241 , 
Potential registers zp[2]:243 [ rotate::sin_a#0 ] : zp[2]:243 , 
Potential registers zp[4]:245 [ mulf16s::return#4 ] : zp[4]:245 , 
Potential registers zp[4]:249 [ rotate::$8 ] : zp[4]:249 , 
Potential registers zp[2]:253 [ rotate::$9 ] : zp[2]:253 , 
Potential registers zp[2]:255 [ rotate::$10 ] : zp[2]:255 , 
Potential registers zp[2]:257 [ rotate::xr#1 ] : zp[2]:257 , 
Potential registers zp[4]:259 [ mulf16s::return#10 ] : zp[4]:259 , 
Potential registers zp[4]:263 [ rotate::$11 ] : zp[4]:263 , 
Potential registers zp[2]:267 [ rotate::$12 ] : zp[2]:267 , 
Potential registers zp[2]:269 [ rotate::$13 ] : zp[2]:269 , 
Potential registers zp[2]:271 [ rotate::yr#1 ] : zp[2]:271 , 
Potential registers zp[1]:273 [ rotate::$15 ] : zp[1]:273 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:274 [ rotate::return_x#2 ] : zp[2]:274 , 
Potential registers zp[1]:276 [ rotate::$18 ] : zp[1]:276 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:277 [ rotate::return_y#2 ] : zp[2]:277 , 
Potential registers zp[2]:279 [ mulf16u::a#0 ] : zp[2]:279 , 
Potential registers zp[2]:281 [ mulf16u::b#0 ] : zp[2]:281 , 
Potential registers zp[4]:283 [ mulf16u::return#2 ] : zp[4]:283 , 
Potential registers zp[2]:287 [ mulf16s::$9 ] : zp[2]:287 , 
Potential registers zp[2]:289 [ mulf16s::$16 ] : zp[2]:289 , 
Potential registers zp[2]:291 [ mulf16s::$13 ] : zp[2]:291 , 
Potential registers zp[2]:293 [ mulf16s::$17 ] : zp[2]:293 , 
Potential registers zp[4]:295 [ mulf16s::return#0 ] : zp[4]:295 , 
Potential registers zp[4]:299 [ mulf16u::return#0 ] : zp[4]:299 , 
Potential registers zp[2]:303 [ memset::end#0 ] : zp[2]:303 , 
Potential registers zp[1]:305 [ bitmap_init::$7 ] : zp[1]:305 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:306 [ bitmap_init::$4 ] : zp[1]:306 , reg byte a , reg byte x , reg byte y , reg byte alu , 
Potential registers zp[1]:307 [ bitmap_init::$5 ] : zp[1]:307 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:308 [ bitmap_init::$6 ] : zp[1]:308 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:309 [ mulf_init::$1 ] : zp[1]:309 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:310 [ mulf_init::$4 ] : zp[1]:310 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:311 [ mulf_init::$5 ] : zp[1]:311 , reg byte a , reg byte x , reg byte y , 

REGISTER UPLIFT SCOPES
Uplift Scope [bitmap_line] 7,125.57: zp[2]:20 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] 6,399.78: zp[2]:22 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] 5,242.97: zp[2]:18 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] 5,242.97: zp[2]:24 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] 2,269.84: zp[2]:16 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] 1,167.84: zp[2]:14 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] 83.64: zp[2]:151 [ bitmap_line::dy#0 ] 77.08: zp[2]:159 [ bitmap_line::sy#0 ] 75.28: zp[2]:147 [ bitmap_line::dx#0 ] 66.8: zp[2]:155 [ bitmap_line::sx#0 ] 
Uplift Scope [spline_8segB] 2,002: zp[2]:200 [ spline_8segB::$22 ] 2,002: zp[2]:204 [ spline_8segB::$24 ] 1,751.75: zp[1]:39 [ spline_8segB::n#2 spline_8segB::n#1 ] 1,501.5: zp[1]:208 [ spline_8segB::$31 ] 941.32: zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] 801.57: zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] 711.62: zp[2]:35 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] 667.33: zp[2]:206 [ spline_8segB::$25 ] 624.17: zp[2]:37 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] 500.5: zp[2]:202 [ spline_8segB::$23 ] 59: zp[2]:198 [ spline_8segB::j_y#0 ] 55.72: zp[2]:196 [ spline_8segB::j_x#0 ] 34.33: zp[2]:139 [ spline_8segB::p2_x#0 ] 20.6: zp[2]:141 [ spline_8segB::p2_y#0 ] 10.5: zp[2]:135 [ spline_8segB::p1_x#0 ] 9.55: zp[2]:137 [ spline_8segB::p1_y#0 ] 4.86: zp[2]:131 [ spline_8segB::p0_x#0 ] 4.86: zp[2]:133 [ spline_8segB::p0_y#0 ] 4: zp[2]:172 [ spline_8segB::$0 ] 4: zp[2]:174 [ spline_8segB::$1 ] 4: zp[2]:178 [ spline_8segB::$3 ] 4: zp[2]:180 [ spline_8segB::$4 ] 4: zp[2]:184 [ spline_8segB::$6 ] 4: zp[2]:188 [ spline_8segB::$8 ] 4: zp[2]:192 [ spline_8segB::$10 ] 4: zp[2]:194 [ spline_8segB::$12 ] 4: zp[2]:209 [ spline_8segB::$18 ] 4: zp[2]:213 [ spline_8segB::$20 ] 2: zp[2]:215 [ spline_8segB::$21 ] 1.33: zp[2]:186 [ spline_8segB::b_x#0 ] 1.33: zp[2]:190 [ spline_8segB::b_y#0 ] 1.33: zp[2]:211 [ spline_8segB::$19 ] 0.6: zp[2]:182 [ spline_8segB::a_y#0 ] 0.5: zp[2]:176 [ spline_8segB::a_x#0 ] 
Uplift Scope [bitmap_plot] 4,514.5: zp[2]:27 [ bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] 4,016: zp[1]:26 [ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ] 4: zp[2]:163 [ bitmap_plot::$1 ] 4: zp[1]:167 [ bitmap_plot::$2 ] 3: zp[2]:165 [ bitmap_plot::plotter#1 ] 1: zp[2]:161 [ bitmap_plot::plotter#0 ] 
Uplift Scope [bitmap_plot_spline_8seg] 1,901.9: zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] 1,505.5: zp[2]:9 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] 1,501.5: zp[1]:144 [ bitmap_plot_spline_8seg::$9 ] 1,172.83: zp[2]:11 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] 500.5: zp[1]:143 [ bitmap_plot_spline_8seg::$8 ] 
Uplift Scope [show_letter] 207.05: zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 ] 202: zp[1]:84 [ show_letter::$23 ] 202: zp[1]:106 [ show_letter::$25 ] 202: zp[1]:128 [ show_letter::$27 ] 202: zp[1]:129 [ show_letter::$22 ] 151.5: zp[1]:85 [ show_letter::$20 ] 151.5: zp[1]:107 [ show_letter::$21 ] 151.5: zp[1]:130 [ show_letter::segment_type#0 ] 106.32: zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 ] 101: zp[2]:86 [ show_letter::to_x#0 ] 101: zp[2]:88 [ show_letter::to_y#0 ] 101: zp[2]:90 [ show_letter::to_x#1 ] 101: zp[2]:92 [ show_letter::to_y#1 ] 101: zp[2]:98 [ show_letter::to_x#2 ] 101: zp[2]:100 [ show_letter::to_y#2 ] 101: zp[2]:108 [ show_letter::via_x#0 ] 101: zp[2]:110 [ show_letter::via_y#0 ] 101: zp[2]:112 [ show_letter::via_x#1 ] 101: zp[2]:114 [ show_letter::via_y#1 ] 101: zp[2]:120 [ show_letter::via_x#2 ] 101: zp[2]:122 [ show_letter::via_y#2 ] 91.29: zp[1]:4 [ show_letter::i#10 show_letter::i#1 ] 22.44: zp[2]:124 [ show_letter::segment_via_x#0 ] 22.44: zp[2]:126 [ show_letter::segment_via_y#0 ] 7.77: zp[2]:102 [ show_letter::current_x#10 ] 7.77: zp[2]:104 [ show_letter::current_y#10 ] 3.67: zp[1]:83 [ show_letter::angle#0 ] 
Uplift Scope [rotate] 416.62: zp[1]:44 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] 213.44: zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] 142.59: zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] 101: zp[2]:94 [ rotate::return_x#0 ] 101: zp[2]:96 [ rotate::return_y#0 ] 101: zp[2]:116 [ rotate::return_x#1 ] 101: zp[2]:118 [ rotate::return_y#1 ] 34: zp[2]:274 [ rotate::return_x#2 ] 34: zp[2]:277 [ rotate::return_y#2 ] 4: zp[2]:227 [ rotate::$2 ] 4: zp[2]:239 [ rotate::$5 ] 4: zp[2]:253 [ rotate::$9 ] 4: zp[2]:255 [ rotate::$10 ] 4: zp[2]:267 [ rotate::$12 ] 4: zp[2]:269 [ rotate::$13 ] 2: zp[4]:223 [ rotate::$1 ] 2: zp[4]:235 [ rotate::$4 ] 2: zp[4]:249 [ rotate::$8 ] 2: zp[4]:263 [ rotate::$11 ] 2: zp[1]:273 [ rotate::$15 ] 2: zp[1]:276 [ rotate::$18 ] 1.33: zp[2]:271 [ rotate::yr#1 ] 0.75: zp[2]:217 [ rotate::cos_a#0 ] 0.67: zp[2]:243 [ rotate::sin_a#0 ] 0.44: zp[2]:257 [ rotate::xr#1 ] 0.25: zp[2]:229 [ rotate::xr#0 ] 0.24: zp[2]:241 [ rotate::yr#0 ] 
Uplift Scope [main] 886.17: zp[1]:3 [ main::w#4 main::w#1 ] 25.3: zp[1]:2 [ main::angle#2 main::angle#1 ] 
Uplift Scope [memset] 341.33: zp[2]:62 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 17.17: zp[2]:303 [ memset::end#0 ] 12.62: zp[1]:61 [ memset::c#4 ] 2: zp[2]:57 [ memset::num#2 ] 0: zp[2]:59 [ memset::str#3 ] 
Uplift Scope [mulf_init] 47.67: zp[2]:81 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] 26.89: zp[2]:75 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] 25.14: zp[2]:69 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] 23.1: zp[1]:74 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] 22: zp[1]:309 [ mulf_init::$1 ] 22: zp[1]:310 [ mulf_init::$4 ] 22: zp[1]:311 [ mulf_init::$5 ] 15.4: zp[1]:77 [ mulf_init::x_255#2 mulf_init::x_255#1 ] 15.12: zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ] 13.54: zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ] 11.92: zp[2]:78 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] 10.08: zp[2]:72 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] 
Uplift Scope [bitmap_init] 39.88: zp[2]:67 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 34.83: zp[1]:64 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 22: zp[1]:65 [ bitmap_init::x#2 bitmap_init::x#1 ] 22: zp[1]:66 [ bitmap_init::y#2 bitmap_init::y#1 ] 22: zp[1]:306 [ bitmap_init::$4 ] 22: zp[1]:307 [ bitmap_init::$5 ] 22: zp[1]:308 [ bitmap_init::$6 ] 5.5: zp[1]:305 [ bitmap_init::$7 ] 
Uplift Scope [mulf16s] 16.91: zp[2]:51 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] 16.5: zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] 8.77: zp[2]:49 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] 4: zp[4]:219 [ mulf16s::return#2 ] 4: zp[4]:231 [ mulf16s::return#3 ] 4: zp[4]:245 [ mulf16s::return#4 ] 4: zp[4]:259 [ mulf16s::return#10 ] 4: zp[2]:287 [ mulf16s::$9 ] 4: zp[2]:289 [ mulf16s::$16 ] 4: zp[2]:291 [ mulf16s::$13 ] 4: zp[2]:293 [ mulf16s::$17 ] 1.67: zp[4]:295 [ mulf16s::return#0 ] 
Uplift Scope [abs_u16] 16.5: zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] 4: zp[2]:145 [ abs_u16::return#0 ] 4: zp[2]:149 [ abs_u16::return#1 ] 4: zp[1]:170 [ abs_u16::$0 ] 4: zp[1]:171 [ abs_u16::$1 ] 
Uplift Scope [sgn_u16] 14: zp[2]:29 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] 4: zp[2]:153 [ sgn_u16::return#0 ] 4: zp[2]:157 [ sgn_u16::return#1 ] 4: zp[1]:168 [ sgn_u16::$0 ] 4: zp[1]:169 [ sgn_u16::$1 ] 1: zp[2]:31 [ sgn_u16::return#4 ] 
Uplift Scope [mulf16u] 4: zp[4]:283 [ mulf16u::return#2 ] 2: zp[2]:279 [ mulf16u::a#0 ] 2: zp[2]:281 [ mulf16u::b#0 ] 1.33: zp[4]:299 [ mulf16u::return#0 ] 
Uplift Scope [SplineVector16] 
Uplift Scope [SplineVector32] 
Uplift Scope [bitmap_clear] 
Uplift Scope [RADIX] 
Uplift Scope [Segment] 
Uplift Scope [Segment::SegmentType] 
Uplift Scope [] 

Uplifting [bitmap_line] best 849275 combination zp[2]:20 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] zp[2]:22 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] zp[2]:18 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] zp[2]:24 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] zp[2]:16 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] zp[2]:14 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] zp[2]:151 [ bitmap_line::dy#0 ] zp[2]:159 [ bitmap_line::sy#0 ] zp[2]:147 [ bitmap_line::dx#0 ] zp[2]:155 [ bitmap_line::sx#0 ] 
Uplifting [spline_8segB] best 832275 combination zp[2]:200 [ spline_8segB::$22 ] zp[2]:204 [ spline_8segB::$24 ] reg byte y [ spline_8segB::n#2 spline_8segB::n#1 ] reg byte x [ spline_8segB::$31 ] zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] zp[2]:35 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] zp[2]:206 [ spline_8segB::$25 ] zp[2]:37 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] zp[2]:202 [ spline_8segB::$23 ] zp[2]:198 [ spline_8segB::j_y#0 ] zp[2]:196 [ spline_8segB::j_x#0 ] zp[2]:139 [ spline_8segB::p2_x#0 ] zp[2]:141 [ spline_8segB::p2_y#0 ] zp[2]:135 [ spline_8segB::p1_x#0 ] zp[2]:137 [ spline_8segB::p1_y#0 ] zp[2]:131 [ spline_8segB::p0_x#0 ] zp[2]:133 [ spline_8segB::p0_y#0 ] zp[2]:172 [ spline_8segB::$0 ] zp[2]:174 [ spline_8segB::$1 ] zp[2]:178 [ spline_8segB::$3 ] zp[2]:180 [ spline_8segB::$4 ] zp[2]:184 [ spline_8segB::$6 ] zp[2]:188 [ spline_8segB::$8 ] zp[2]:192 [ spline_8segB::$10 ] zp[2]:194 [ spline_8segB::$12 ] zp[2]:209 [ spline_8segB::$18 ] zp[2]:213 [ spline_8segB::$20 ] zp[2]:215 [ spline_8segB::$21 ] zp[2]:186 [ spline_8segB::b_x#0 ] zp[2]:190 [ spline_8segB::b_y#0 ] zp[2]:211 [ spline_8segB::$19 ] zp[2]:182 [ spline_8segB::a_y#0 ] zp[2]:176 [ spline_8segB::a_x#0 ] 
Uplifting [bitmap_plot] best 830266 combination zp[2]:27 [ bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] reg byte x [ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ] zp[2]:163 [ bitmap_plot::$1 ] reg byte a [ bitmap_plot::$2 ] zp[2]:165 [ bitmap_plot::plotter#1 ] zp[2]:161 [ bitmap_plot::plotter#0 ] 
Uplifting [bitmap_plot_spline_8seg] best 816266 combination zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] zp[2]:9 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] reg byte x [ bitmap_plot_spline_8seg::$9 ] zp[2]:11 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] reg byte x [ bitmap_plot_spline_8seg::$8 ] 
Uplifting [show_letter] best 814066 combination zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 ] reg byte a [ show_letter::$23 ] reg byte a [ show_letter::$25 ] reg byte a [ show_letter::$27 ] reg byte a [ show_letter::$22 ] zp[1]:85 [ show_letter::$20 ] zp[1]:107 [ show_letter::$21 ] zp[1]:130 [ show_letter::segment_type#0 ] zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 ] zp[2]:86 [ show_letter::to_x#0 ] zp[2]:88 [ show_letter::to_y#0 ] zp[2]:90 [ show_letter::to_x#1 ] zp[2]:92 [ show_letter::to_y#1 ] zp[2]:98 [ show_letter::to_x#2 ] zp[2]:100 [ show_letter::to_y#2 ] zp[2]:108 [ show_letter::via_x#0 ] zp[2]:110 [ show_letter::via_y#0 ] zp[2]:112 [ show_letter::via_x#1 ] zp[2]:114 [ show_letter::via_y#1 ] zp[2]:120 [ show_letter::via_x#2 ] zp[2]:122 [ show_letter::via_y#2 ] zp[1]:4 [ show_letter::i#10 show_letter::i#1 ] zp[2]:124 [ show_letter::segment_via_x#0 ] zp[2]:126 [ show_letter::segment_via_y#0 ] zp[2]:102 [ show_letter::current_x#10 ] zp[2]:104 [ show_letter::current_y#10 ] zp[1]:83 [ show_letter::angle#0 ] 
Limited combination testing to 100 combinations of 9216 possible.
Uplifting [rotate] best 813448 combination reg byte y [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] zp[2]:94 [ rotate::return_x#0 ] zp[2]:96 [ rotate::return_y#0 ] zp[2]:116 [ rotate::return_x#1 ] zp[2]:118 [ rotate::return_y#1 ] zp[2]:274 [ rotate::return_x#2 ] zp[2]:277 [ rotate::return_y#2 ] zp[2]:227 [ rotate::$2 ] zp[2]:239 [ rotate::$5 ] zp[2]:253 [ rotate::$9 ] zp[2]:255 [ rotate::$10 ] zp[2]:267 [ rotate::$12 ] zp[2]:269 [ rotate::$13 ] zp[4]:223 [ rotate::$1 ] zp[4]:235 [ rotate::$4 ] zp[4]:249 [ rotate::$8 ] zp[4]:263 [ rotate::$11 ] reg byte a [ rotate::$15 ] reg byte a [ rotate::$18 ] zp[2]:271 [ rotate::yr#1 ] zp[2]:217 [ rotate::cos_a#0 ] zp[2]:243 [ rotate::sin_a#0 ] zp[2]:257 [ rotate::xr#1 ] zp[2]:229 [ rotate::xr#0 ] zp[2]:241 [ rotate::yr#0 ] 
Uplifting [main] best 809848 combination reg byte x [ main::w#4 main::w#1 ] zp[1]:2 [ main::angle#2 main::angle#1 ] 
Uplifting [memset] best 809742 combination zp[2]:62 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:303 [ memset::end#0 ] reg byte x [ memset::c#4 ] zp[2]:57 [ memset::num#2 ] zp[2]:59 [ memset::str#3 ] 
Uplifting [mulf_init] best 809492 combination zp[2]:81 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] zp[2]:75 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp[2]:69 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] reg byte x [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$1 ] reg byte a [ mulf_init::$4 ] reg byte a [ mulf_init::$5 ] zp[1]:77 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ] zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ] zp[2]:78 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp[2]:72 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] 
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [bitmap_init] best 808982 combination zp[2]:67 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte a [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] reg byte a [ bitmap_init::$4 ] zp[1]:307 [ bitmap_init::$5 ] zp[1]:308 [ bitmap_init::$6 ] zp[1]:305 [ bitmap_init::$7 ] 
Limited combination testing to 100 combinations of 15360 possible.
Uplifting [mulf16s] best 808982 combination zp[2]:51 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] zp[2]:49 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] zp[4]:219 [ mulf16s::return#2 ] zp[4]:231 [ mulf16s::return#3 ] zp[4]:245 [ mulf16s::return#4 ] zp[4]:259 [ mulf16s::return#10 ] zp[2]:287 [ mulf16s::$9 ] zp[2]:289 [ mulf16s::$16 ] zp[2]:291 [ mulf16s::$13 ] zp[2]:293 [ mulf16s::$17 ] zp[4]:295 [ mulf16s::return#0 ] 
Uplifting [abs_u16] best 808970 combination zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] zp[2]:145 [ abs_u16::return#0 ] zp[2]:149 [ abs_u16::return#1 ] reg byte a [ abs_u16::$0 ] reg byte a [ abs_u16::$1 ] 
Uplifting [sgn_u16] best 808958 combination zp[2]:29 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] zp[2]:153 [ sgn_u16::return#0 ] zp[2]:157 [ sgn_u16::return#1 ] reg byte a [ sgn_u16::$0 ] reg byte a [ sgn_u16::$1 ] zp[2]:31 [ sgn_u16::return#4 ] 
Uplifting [mulf16u] best 808958 combination zp[4]:283 [ mulf16u::return#2 ] zp[2]:279 [ mulf16u::a#0 ] zp[2]:281 [ mulf16u::b#0 ] zp[4]:299 [ mulf16u::return#0 ] 
Uplifting [SplineVector16] best 808958 combination 
Uplifting [SplineVector32] best 808958 combination 
Uplifting [bitmap_clear] best 808958 combination 
Uplifting [RADIX] best 808958 combination 
Uplifting [Segment] best 808958 combination 
Uplifting [Segment::SegmentType] best 808958 combination 
Uplifting [] best 808958 combination 
Attempting to uplift remaining variables inzp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]
Uplifting [bitmap_plot_spline_8seg] best 808958 combination zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] 
Attempting to uplift remaining variables inzp[1]:85 [ show_letter::$20 ]
Uplifting [show_letter] best 808258 combination reg byte x [ show_letter::$20 ] 
Attempting to uplift remaining variables inzp[1]:107 [ show_letter::$21 ]
Uplifting [show_letter] best 807558 combination reg byte x [ show_letter::$21 ] 
Attempting to uplift remaining variables inzp[1]:130 [ show_letter::segment_type#0 ]
Uplifting [show_letter] best 806658 combination reg byte a [ show_letter::segment_type#0 ] 
Attempting to uplift remaining variables inzp[1]:4 [ show_letter::i#10 show_letter::i#1 ]
Uplifting [show_letter] best 806658 combination zp[1]:4 [ show_letter::i#10 show_letter::i#1 ] 
Attempting to uplift remaining variables inzp[1]:2 [ main::angle#2 main::angle#1 ]
Uplifting [main] best 806658 combination zp[1]:2 [ main::angle#2 main::angle#1 ] 
Attempting to uplift remaining variables inzp[1]:307 [ bitmap_init::$5 ]
Uplifting [bitmap_init] best 806598 combination reg byte a [ bitmap_init::$5 ] 
Attempting to uplift remaining variables inzp[1]:308 [ bitmap_init::$6 ]
Uplifting [bitmap_init] best 806538 combination reg byte a [ bitmap_init::$6 ] 
Attempting to uplift remaining variables inzp[1]:77 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 806398 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ] 
Attempting to uplift remaining variables inzp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ]
Uplifting [mulf_init] best 806398 combination zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ] 
Attempting to uplift remaining variables inzp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ]
Uplifting [mulf_init] best 806398 combination zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ] 
Attempting to uplift remaining variables inzp[1]:305 [ bitmap_init::$7 ]
Uplifting [bitmap_init] best 806398 combination zp[1]:305 [ bitmap_init::$7 ] 
Attempting to uplift remaining variables inzp[1]:83 [ show_letter::angle#0 ]
Uplifting [show_letter] best 806398 combination zp[1]:83 [ show_letter::angle#0 ] 
Coalescing zero page register [ zp[2]:22 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] ] with [ zp[2]:27 [ bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] ] - score: 4
Coalescing zero page register [ zp[2]:49 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] ] with [ zp[2]:217 [ rotate::cos_a#0 ] ] - score: 2
Coalescing zero page register [ zp[2]:49 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 ] ] with [ zp[2]:243 [ rotate::sin_a#0 ] ] - score: 2
Coalescing zero page register [ zp[1]:2 [ main::angle#2 main::angle#1 ] ] with [ zp[1]:83 [ show_letter::angle#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 ] ] with [ zp[2]:22 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 ] ] with [ zp[2]:131 [ spline_8segB::p0_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 ] ] with [ zp[2]:20 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] ] with [ zp[2]:133 [ spline_8segB::p0_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:31 [ sgn_u16::return#4 ] ] with [ zp[2]:153 [ sgn_u16::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:31 [ sgn_u16::return#4 sgn_u16::return#0 ] ] with [ zp[2]:157 [ sgn_u16::return#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] ] with [ zp[2]:145 [ abs_u16::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 ] ] with [ zp[2]:149 [ abs_u16::return#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:35 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] ] with [ zp[2]:209 [ spline_8segB::$18 ] ] - score: 1
Coalescing zero page register [ zp[2]:37 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] ] with [ zp[2]:213 [ spline_8segB::$20 ] ] - score: 1
Coalescing zero page register [ zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] ] with [ zp[2]:192 [ spline_8segB::$10 ] ] - score: 1
Coalescing zero page register [ zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] ] with [ zp[2]:194 [ spline_8segB::$12 ] ] - score: 1
Coalescing zero page register [ zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] ] with [ zp[2]:90 [ show_letter::to_x#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 ] ] with [ zp[2]:112 [ show_letter::via_x#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] ] with [ zp[2]:92 [ show_letter::to_y#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 ] ] with [ zp[2]:114 [ show_letter::via_y#1 ] ] - score: 1
Coalescing zero page register [ zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] ] with [ zp[4]:283 [ mulf16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 ] ] with [ zp[4]:295 [ mulf16s::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:57 [ memset::num#2 ] ] with [ zp[2]:303 [ memset::end#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:59 [ memset::str#3 ] ] with [ zp[2]:62 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:94 [ rotate::return_x#0 ] ] with [ zp[2]:98 [ show_letter::to_x#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:94 [ rotate::return_x#0 show_letter::to_x#2 ] ] with [ zp[2]:274 [ rotate::return_x#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:96 [ rotate::return_y#0 ] ] with [ zp[2]:100 [ show_letter::to_y#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:96 [ rotate::return_y#0 show_letter::to_y#2 ] ] with [ zp[2]:277 [ rotate::return_y#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:102 [ show_letter::current_x#10 ] ] with [ zp[2]:139 [ spline_8segB::p2_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:104 [ show_letter::current_y#10 ] ] with [ zp[2]:141 [ spline_8segB::p2_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:116 [ rotate::return_x#1 ] ] with [ zp[2]:120 [ show_letter::via_x#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:118 [ rotate::return_y#1 ] ] with [ zp[2]:122 [ show_letter::via_y#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:124 [ show_letter::segment_via_x#0 ] ] with [ zp[2]:135 [ spline_8segB::p1_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:126 [ show_letter::segment_via_y#0 ] ] with [ zp[2]:137 [ spline_8segB::p1_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:161 [ bitmap_plot::plotter#0 ] ] with [ zp[2]:165 [ bitmap_plot::plotter#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:172 [ spline_8segB::$0 ] ] with [ zp[2]:174 [ spline_8segB::$1 ] ] - score: 1
Coalescing zero page register [ zp[2]:176 [ spline_8segB::a_x#0 ] ] with [ zp[2]:196 [ spline_8segB::j_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:178 [ spline_8segB::$3 ] ] with [ zp[2]:180 [ spline_8segB::$4 ] ] - score: 1
Coalescing zero page register [ zp[2]:182 [ spline_8segB::a_y#0 ] ] with [ zp[2]:198 [ spline_8segB::j_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:184 [ spline_8segB::$6 ] ] with [ zp[2]:186 [ spline_8segB::b_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:188 [ spline_8segB::$8 ] ] with [ zp[2]:190 [ spline_8segB::b_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:200 [ spline_8segB::$22 ] ] with [ zp[2]:202 [ spline_8segB::$23 ] ] - score: 1
Coalescing zero page register [ zp[2]:204 [ spline_8segB::$24 ] ] with [ zp[2]:206 [ spline_8segB::$25 ] ] - score: 1
Coalescing zero page register [ zp[4]:219 [ mulf16s::return#2 ] ] with [ zp[4]:223 [ rotate::$1 ] ] - score: 1
Coalescing zero page register [ zp[2]:227 [ rotate::$2 ] ] with [ zp[2]:229 [ rotate::xr#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:231 [ mulf16s::return#3 ] ] with [ zp[4]:235 [ rotate::$4 ] ] - score: 1
Coalescing zero page register [ zp[2]:239 [ rotate::$5 ] ] with [ zp[2]:241 [ rotate::yr#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:245 [ mulf16s::return#4 ] ] with [ zp[4]:249 [ rotate::$8 ] ] - score: 1
Coalescing zero page register [ zp[2]:253 [ rotate::$9 ] ] with [ zp[2]:255 [ rotate::$10 ] ] - score: 1
Coalescing zero page register [ zp[4]:259 [ mulf16s::return#10 ] ] with [ zp[4]:263 [ rotate::$11 ] ] - score: 1
Coalescing zero page register [ zp[2]:267 [ rotate::$12 ] ] with [ zp[2]:269 [ rotate::$13 ] ] - score: 1
Coalescing zero page register [ zp[2]:287 [ mulf16s::$9 ] ] with [ zp[2]:289 [ mulf16s::$16 ] ] - score: 1
Coalescing zero page register [ zp[2]:291 [ mulf16s::$13 ] ] with [ zp[2]:293 [ mulf16s::$17 ] ] - score: 1
Coalescing zero page register [ zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 spline_8segB::p0_x#0 ] ] with [ zp[2]:9 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 spline_8segB::p0_x#0 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] ] with [ zp[2]:35 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 ] ] - score: 1
Coalescing zero page register [ zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 ] ] with [ zp[2]:11 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] ] with [ zp[2]:37 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 ] ] - score: 1
Coalescing zero page register [ zp[2]:31 [ sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 ] ] with [ zp[2]:159 [ bitmap_line::sy#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 ] ] with [ zp[2]:151 [ bitmap_line::dy#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 ] ] with [ zp[2]:184 [ spline_8segB::$6 spline_8segB::b_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 ] ] with [ zp[2]:188 [ spline_8segB::$8 spline_8segB::b_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 ] ] with [ zp[2]:86 [ show_letter::to_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 show_letter::to_x#0 ] ] with [ zp[2]:108 [ show_letter::via_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 ] ] with [ zp[2]:88 [ show_letter::to_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 show_letter::to_y#0 ] ] with [ zp[2]:110 [ show_letter::via_y#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 ] ] with [ zp[4]:219 [ mulf16s::return#2 rotate::$1 ] ] - score: 1
Coalescing zero page register [ zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$1 ] ] with [ zp[4]:231 [ mulf16s::return#3 rotate::$4 ] ] - score: 1
Coalescing zero page register [ zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$1 mulf16s::return#3 rotate::$4 ] ] with [ zp[4]:245 [ mulf16s::return#4 rotate::$8 ] ] - score: 1
Coalescing zero page register [ zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$1 mulf16s::return#3 rotate::$4 mulf16s::return#4 rotate::$8 ] ] with [ zp[4]:259 [ mulf16s::return#10 rotate::$11 ] ] - score: 1
Coalescing zero page register [ zp[4]:53 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$1 mulf16s::return#3 rotate::$4 mulf16s::return#4 rotate::$8 mulf16s::return#10 rotate::$11 ] ] with [ zp[4]:299 [ mulf16u::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:94 [ rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 ] ] with [ zp[2]:116 [ rotate::return_x#1 show_letter::via_x#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:96 [ rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 ] ] with [ zp[2]:118 [ rotate::return_y#1 show_letter::via_y#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:172 [ spline_8segB::$0 spline_8segB::$1 ] ] with [ zp[2]:176 [ spline_8segB::a_x#0 spline_8segB::j_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:178 [ spline_8segB::$3 spline_8segB::$4 ] ] with [ zp[2]:182 [ spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:227 [ rotate::$2 rotate::xr#0 ] ] with [ zp[2]:257 [ rotate::xr#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:239 [ rotate::$5 rotate::yr#0 ] ] with [ zp[2]:271 [ rotate::yr#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 spline_8segB::p0_x#0 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 ] ] with [ zp[2]:211 [ spline_8segB::$19 ] ] - score: 1
Coalescing zero page register [ zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 ] ] with [ zp[2]:215 [ spline_8segB::$21 ] ] - score: 1
Coalescing zero page register [ zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 ] ] with [ zp[2]:124 [ show_letter::segment_via_x#0 spline_8segB::p1_x#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 ] ] with [ zp[2]:126 [ show_letter::segment_via_y#0 spline_8segB::p1_y#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 show_letter::segment_via_x#0 spline_8segB::p1_x#0 ] ] with [ zp[2]:94 [ rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 rotate::return_x#1 show_letter::via_x#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 show_letter::segment_via_y#0 spline_8segB::p1_y#0 ] ] with [ zp[2]:96 [ rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 rotate::return_y#1 show_letter::via_y#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:29 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] ] with [ zp[2]:18 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] ]
Coalescing zero page register [ zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 show_letter::segment_via_x#0 spline_8segB::p1_x#0 rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 rotate::return_x#1 show_letter::via_x#2 ] ] with [ zp[2]:14 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] ]
Coalescing zero page register [ zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 show_letter::segment_via_y#0 spline_8segB::p1_y#0 rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 rotate::return_y#1 show_letter::via_y#2 ] ] with [ zp[2]:16 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] ]
Coalescing zero page register [ zp[2]:45 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 show_letter::to_x#0 show_letter::via_x#0 ] ] with [ zp[2]:24 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] ]
Coalescing zero page register [ zp[2]:47 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 show_letter::to_y#0 show_letter::via_y#0 ] ] with [ zp[2]:31 [ sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ] ]
Coalescing zero page register [ zp[2]:49 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 rotate::sin_a#0 ] ] with [ zp[2]:33 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ] ]
Coalescing zero page register [ zp[2]:57 [ memset::num#2 memset::end#0 ] ] with [ zp[2]:5 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 spline_8segB::p0_x#0 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 spline_8segB::$19 ] ]
Coalescing zero page register [ zp[2]:59 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] ] with [ zp[2]:7 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 spline_8segB::$21 ] ]
Coalescing zero page register [ zp[2]:67 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] ] with [ zp[2]:51 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] ]
Coalescing zero page register [ zp[1]:71 [ mulf_init::c#2 mulf_init::c#1 ] ] with [ zp[1]:2 [ main::angle#2 main::angle#1 show_letter::angle#0 ] ]
Coalescing zero page register [ zp[1]:80 [ mulf_init::dir#2 mulf_init::dir#4 ] ] with [ zp[1]:4 [ show_letter::i#10 show_letter::i#1 ] ]
Coalescing zero page register [ zp[2]:102 [ show_letter::current_x#10 spline_8segB::p2_x#0 ] ] with [ zp[2]:69 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] ]
Coalescing zero page register [ zp[2]:104 [ show_letter::current_y#10 spline_8segB::p2_y#0 ] ] with [ zp[2]:72 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] ]
Coalescing zero page register [ zp[2]:147 [ bitmap_line::dx#0 ] ] with [ zp[2]:75 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] ]
Coalescing zero page register [ zp[2]:155 [ bitmap_line::sx#0 ] ] with [ zp[2]:78 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] ]
Coalescing zero page register [ zp[2]:161 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 ] ] with [ zp[2]:81 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] ]
Coalescing zero page register [ zp[2]:172 [ spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 ] ] with [ zp[2]:163 [ bitmap_plot::$1 ] ]
Coalescing zero page register [ zp[2]:227 [ rotate::$2 rotate::xr#0 rotate::xr#1 ] ] with [ zp[2]:178 [ spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] ]
Coalescing zero page register [ zp[2]:239 [ rotate::$5 rotate::yr#0 rotate::yr#1 ] ] with [ zp[2]:200 [ spline_8segB::$22 spline_8segB::$23 ] ]
Coalescing zero page register [ zp[2]:253 [ rotate::$9 rotate::$10 ] ] with [ zp[2]:204 [ spline_8segB::$24 spline_8segB::$25 ] ]
Coalescing zero page register [ zp[2]:279 [ mulf16u::a#0 ] ] with [ zp[2]:267 [ rotate::$12 rotate::$13 ] ]
Coalescing zero page register [ zp[2]:287 [ mulf16s::$9 mulf16s::$16 ] ] with [ zp[2]:281 [ mulf16u::b#0 ] ]
Coalescing zero page register [ zp[1]:305 [ bitmap_init::$7 ] ] with [ zp[1]:13 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] ]
Coalescing zero page register [ zp[2]:67 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] ] with [ zp[2]:29 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] ]
Coalescing zero page register [ zp[2]:227 [ rotate::$2 rotate::xr#0 rotate::xr#1 spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] with [ zp[2]:147 [ bitmap_line::dx#0 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] ]
Coalescing zero page register [ zp[2]:239 [ rotate::$5 rotate::yr#0 rotate::yr#1 spline_8segB::$22 spline_8segB::$23 ] ] with [ zp[2]:155 [ bitmap_line::sx#0 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] ]
Coalescing zero page register [ zp[2]:253 [ rotate::$9 rotate::$10 spline_8segB::$24 spline_8segB::$25 ] ] with [ zp[2]:161 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] ]
Coalescing zero page register [ zp[2]:279 [ mulf16u::a#0 rotate::$12 rotate::$13 ] ] with [ zp[2]:172 [ spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 bitmap_plot::$1 ] ]
Coalescing zero page register [ zp[2]:287 [ mulf16s::$9 mulf16s::$16 mulf16u::b#0 ] ] with [ zp[2]:40 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 show_letter::segment_via_x#0 spline_8segB::p1_x#0 rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 rotate::return_x#1 show_letter::via_x#2 bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] ]
Coalescing zero page register [ zp[2]:291 [ mulf16s::$13 mulf16s::$17 ] ] with [ zp[2]:42 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 show_letter::segment_via_y#0 spline_8segB::p1_y#0 rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 rotate::return_y#1 show_letter::via_y#2 bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] ]
Allocated (was zp[2]:45) zp[2]:2 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 show_letter::to_x#0 show_letter::via_x#0 bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ]
Allocated (was zp[2]:47) zp[2]:4 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 show_letter::to_y#0 show_letter::via_y#0 sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ]
Allocated (was zp[2]:49) zp[2]:6 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 rotate::sin_a#0 abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ]
Allocated (was zp[4]:53) zp[4]:8 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$1 mulf16s::return#3 rotate::$4 mulf16s::return#4 rotate::$8 mulf16s::return#10 rotate::$11 mulf16u::return#0 ]
Allocated (was zp[2]:57) zp[2]:12 [ memset::num#2 memset::end#0 show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 spline_8segB::p0_x#0 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 spline_8segB::$19 ]
Allocated (was zp[2]:59) zp[2]:14 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 spline_8segB::$21 ]
Allocated (was zp[2]:67) zp[2]:16 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ]
Allocated (was zp[1]:71) zp[1]:18 [ mulf_init::c#2 mulf_init::c#1 main::angle#2 main::angle#1 show_letter::angle#0 ]
Allocated (was zp[1]:80) zp[1]:19 [ mulf_init::dir#2 mulf_init::dir#4 show_letter::i#10 show_letter::i#1 ]
Allocated (was zp[2]:102) zp[2]:20 [ show_letter::current_x#10 spline_8segB::p2_x#0 mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
Allocated (was zp[2]:104) zp[2]:22 [ show_letter::current_y#10 spline_8segB::p2_y#0 mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Allocated (was zp[2]:227) zp[2]:24 [ rotate::$2 rotate::xr#0 rotate::xr#1 spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 bitmap_line::dx#0 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
Allocated (was zp[2]:239) zp[2]:26 [ rotate::$5 rotate::yr#0 rotate::yr#1 spline_8segB::$22 spline_8segB::$23 bitmap_line::sx#0 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
Allocated (was zp[2]:253) zp[2]:28 [ rotate::$9 rotate::$10 spline_8segB::$24 spline_8segB::$25 bitmap_plot::plotter#0 bitmap_plot::plotter#1 mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
Allocated (was zp[2]:279) zp[2]:30 [ mulf16u::a#0 rotate::$12 rotate::$13 spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 bitmap_plot::$1 ]
Allocated (was zp[2]:287) zp[2]:32 [ mulf16s::$9 mulf16s::$16 mulf16u::b#0 spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 show_letter::segment_via_x#0 spline_8segB::p1_x#0 rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 rotate::return_x#1 show_letter::via_x#2 bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ]
Allocated (was zp[2]:291) zp[2]:34 [ mulf16s::$13 mulf16s::$17 spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 show_letter::segment_via_y#0 spline_8segB::p1_y#0 rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 rotate::return_y#1 show_letter::via_y#2 bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ]
Allocated (was zp[1]:305) zp[1]:36 [ bitmap_init::$7 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
// Show a few simple splines using the splines library
  // Upstart
.pc = $801 "Basic"
:BasicUpstart(__bbegin)
.pc = $80d "Program"
  // Global Constants & labels
  .label RASTER = $d012
  .label D011 = $d011
  .const VIC_BMM = $20
  .const VIC_DEN = $10
  .const VIC_RSEL = 8
  .label D018 = $d018
  // CIA#2 Port A: Serial bus, RS-232, VIC memory bank
  .label CIA2_PORT_A = $dd00
  // CIA #2 Port A data direction register.
  .label CIA2_PORT_A_DDR = $dd02
  .const WHITE = 1
  .label BITMAP_SCREEN = $5c00
  .label BITMAP_GRAPHICS = $6000
  .const MOVE_TO = 0
  .const SPLINE_TO = 1
  .const LINE_TO = 2
  .const SIZEOF_STRUCT_SPLINEVECTOR16 = 4
  .const OFFSET_STRUCT_SPLINEVECTOR16_Y = 2
  .const OFFSET_STRUCT_SEGMENT_TO = 1
  .const OFFSET_STRUCT_SEGMENT_VIA = 5
  .label COS = SIN+$40
  // @begin
__bbegin:
  // [1] phi from @begin to @1 [phi:@begin->@1]
__b1_from___bbegin:
  jmp __b1
  // @1
__b1:
  // [2] call main 
  // [4] phi from @1 to main [phi:@1->main]
main_from___b1:
  jsr main
  // [3] phi from @1 to @end [phi:@1->@end]
__bend_from___b1:
  jmp __bend
  // @end
__bend:
  // main
main: {
    .const vicSelectGfxBank1_toDd001_return = 3^(>BITMAP_SCREEN)/$40
    .const toD0181_return = (>(BITMAP_SCREEN&$3fff)*4)|(>BITMAP_GRAPHICS)/4&$f
    .label angle = $12
    // [5] call mulf_init 
    // [309] phi from main to mulf_init [phi:main->mulf_init]
  mulf_init_from_main:
    jsr mulf_init
    // [6] phi from main to main::@8 [phi:main->main::@8]
  __b8_from_main:
    jmp __b8
    // main::@8
  __b8:
    // [7] call bitmap_init 
    // [287] phi from main::@8 to bitmap_init [phi:main::@8->bitmap_init]
  bitmap_init_from___b8:
    jsr bitmap_init
    // [8] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
  __b9_from___b8:
    jmp __b9
    // main::@9
  __b9:
    // [9] call bitmap_clear 
    // [273] phi from main::@9 to bitmap_clear [phi:main::@9->bitmap_clear]
  bitmap_clear_from___b9:
    jsr bitmap_clear
    jmp vicSelectGfxBank1
    // main::vicSelectGfxBank1
  vicSelectGfxBank1:
    // [10] *((const byte*) CIA2_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 
    lda #3
    sta CIA2_PORT_A_DDR
    // [11] phi from main::vicSelectGfxBank1 to main::vicSelectGfxBank1_toDd001 [phi:main::vicSelectGfxBank1->main::vicSelectGfxBank1_toDd001]
  vicSelectGfxBank1_toDd001_from_vicSelectGfxBank1:
    jmp vicSelectGfxBank1_toDd001
    // main::vicSelectGfxBank1_toDd001
  vicSelectGfxBank1_toDd001:
    jmp vicSelectGfxBank1___b1
    // main::vicSelectGfxBank1_@1
  vicSelectGfxBank1___b1:
    // [12] *((const byte*) CIA2_PORT_A) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0 -- _deref_pbuc1=vbuc2 
    lda #vicSelectGfxBank1_toDd001_return
    sta CIA2_PORT_A
    // [13] phi from main::vicSelectGfxBank1_@1 to main::toD0181 [phi:main::vicSelectGfxBank1_@1->main::toD0181]
  toD0181_from_vicSelectGfxBank1___b1:
    jmp toD0181
    // main::toD0181
  toD0181:
    jmp __b7
    // main::@7
  __b7:
    // [14] *((const byte*) D018) ← (const byte) main::toD0181_return#0 -- _deref_pbuc1=vbuc2 
    lda #toD0181_return
    sta D018
    // [15] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2 
    lda #VIC_BMM|VIC_DEN|VIC_RSEL|3
    sta D011
    // [16] phi from main::@7 to main::@1 [phi:main::@7->main::@1]
  __b1_from___b7:
    // [16] phi (byte) main::angle#2 = (byte) 0 [phi:main::@7->main::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z angle
    jmp __b1
    // main::@1
  __b1:
    // [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  __b2_from___b1:
    jmp __b2
    // main::@2
  __b2:
    // [18] call bitmap_clear 
    // [273] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear]
  bitmap_clear_from___b2:
    jsr bitmap_clear
    jmp __b10
    // main::@10
  __b10:
    // [19] (byte) show_letter::angle#0 ← (byte) main::angle#2
    // [20] call show_letter 
    // [27] phi from main::@10 to show_letter [phi:main::@10->show_letter]
  show_letter_from___b10:
    jsr show_letter
    // [21] phi from main::@10 to main::@3 [phi:main::@10->main::@3]
  __b3_from___b10:
    // [21] phi (byte) main::w#4 = (byte) 0 [phi:main::@10->main::@3#0] -- vbuxx=vbuc1 
    ldx #0
    jmp __b3
    // [21] phi from main::@3 main::@5 to main::@3 [phi:main::@3/main::@5->main::@3]
  __b3_from___b3:
  __b3_from___b5:
    // [21] phi (byte) main::w#4 = (byte) main::w#4 [phi:main::@3/main::@5->main::@3#0] -- register_copy 
    jmp __b3
    // main::@3
  __b3:
    // [22] if(*((const byte*) RASTER)!=(byte) $fe) goto main::@3 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$fe
    cmp RASTER
    bne __b3_from___b3
    jmp __b4
    // main::@4
  __b4:
    // [23] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@4 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$ff
    cmp RASTER
    bne __b4
    jmp __b5
    // main::@5
  __b5:
    // [24] (byte) main::w#1 ← ++ (byte) main::w#4 -- vbuxx=_inc_vbuxx 
    inx
    // [25] if((byte) main::w#1!=(byte) $3d) goto main::@3 -- vbuxx_neq_vbuc1_then_la1 
    cpx #$3d
    bne __b3_from___b5
    jmp __b6
    // main::@6
  __b6:
    // [26] (byte) main::angle#1 ← (byte) main::angle#2 + (byte) 9 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z angle
    axs #-[9]
    stx.z angle
    // [16] phi from main::@6 to main::@1 [phi:main::@6->main::@1]
  __b1_from___b6:
    // [16] phi (byte) main::angle#2 = (byte) main::angle#1 [phi:main::@6->main::@1#0] -- register_copy 
    jmp __b1
}
  // show_letter
// show_letter(byte zp($12) angle)
show_letter: {
    .label angle = $12
    .label to_x = 2
    .label to_y = 4
    .label to_x_1 = $20
    .label to_y_1 = $22
    .label via_x = 2
    .label via_y = 4
    .label via_x_1 = $20
    .label via_y_1 = $22
    .label segment_via_x = $20
    .label segment_via_y = $22
    .label i = $13
    .label current_x = $c
    .label current_y = $e
    .label current_x_1 = $14
    .label current_y_1 = $16
    // [28] phi from show_letter to show_letter::@1 [phi:show_letter->show_letter::@1]
  __b1_from_show_letter:
    // [28] phi (signed word) show_letter::current_y#4 = (signed word) 0 [phi:show_letter->show_letter::@1#0] -- vwsz1=vwsc1 
    lda #<0
    sta.z current_y
    lda #>0
    sta.z current_y+1
    // [28] phi (signed word) show_letter::current_x#4 = (signed word) 0 [phi:show_letter->show_letter::@1#1] -- vwsz1=vwsc1 
    lda #<0
    sta.z current_x
    lda #>0
    sta.z current_x+1
    // [28] phi (byte) show_letter::i#10 = (byte) 0 [phi:show_letter->show_letter::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b1
    // show_letter::@1
  __b1:
    // [29] (byte~) show_letter::$23 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 
    lda.z i
    asl
    asl
    asl
    // [30] (byte~) show_letter::$20 ← (byte~) show_letter::$23 + (byte) show_letter::i#10 -- vbuxx=vbuaa_plus_vbuz1 
    clc
    adc.z i
    tax
    // [31] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$20) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO,x
    sta.z to_x
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,x
    sta.z to_x+1
    // [32] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z to_y
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z to_y+1
    // [33] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 
    lda.z to_x
    sec
    sbc #$32
    sta.z to_x
    lda.z to_x+1
    sbc #>$32
    sta.z to_x+1
    // [34] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 
    lda.z to_y
    sec
    sbc #<$96
    sta.z to_y
    lda.z to_y+1
    sbc #>$96
    sta.z to_y+1
    // [35] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1
    // [36] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1
    // [37] (byte) rotate::angle#0 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 
    ldy.z angle
    // [38] call rotate 
    // [212] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate]
  rotate_from___b1:
    // [212] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy 
    // [212] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy 
    // [212] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy 
    jsr rotate
    // [39] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2
    // [40] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2
    jmp __b6
    // show_letter::@6
  __b6:
    // [41] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0
    // [42] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0
    // [43] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z to_x_1
    clc
    adc #<$64
    sta.z current_x_1
    lda.z to_x_1+1
    adc #>$64
    sta.z current_x_1+1
    // [44] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z to_y_1
    clc
    adc #<$64
    sta.z current_y_1
    lda.z to_y_1+1
    adc #>$64
    sta.z current_y_1+1
    // [45] (byte~) show_letter::$25 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 
    lda.z i
    asl
    asl
    asl
    // [46] (byte~) show_letter::$21 ← (byte~) show_letter::$25 + (byte) show_letter::i#10 -- vbuxx=vbuaa_plus_vbuz1 
    clc
    adc.z i
    tax
    // [47] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$21) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,x
    sta.z via_x
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,x
    sta.z via_x+1
    // [48] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z via_y
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z via_y+1
    // [49] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 
    lda.z via_x
    sec
    sbc #$32
    sta.z via_x
    lda.z via_x+1
    sbc #>$32
    sta.z via_x+1
    // [50] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 
    lda.z via_y
    sec
    sbc #<$96
    sta.z via_y
    lda.z via_y+1
    sbc #>$96
    sta.z via_y+1
    // [51] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1
    // [52] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1
    // [53] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 
    ldy.z angle
    // [54] call rotate 
    // [212] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate]
  rotate_from___b6:
    // [212] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy 
    // [212] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy 
    // [212] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy 
    jsr rotate
    // [55] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2
    // [56] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2
    jmp __b7
    // show_letter::@7
  __b7:
    // [57] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1
    // [58] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1
    // [59] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z segment_via_x
    clc
    adc #<$64
    sta.z segment_via_x
    lda.z segment_via_x+1
    adc #>$64
    sta.z segment_via_x+1
    // [60] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z segment_via_y
    clc
    adc #<$64
    sta.z segment_via_y
    lda.z segment_via_y+1
    adc #>$64
    sta.z segment_via_y+1
    // [61] (byte~) show_letter::$27 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 
    lda.z i
    asl
    asl
    asl
    // [62] (byte~) show_letter::$22 ← (byte~) show_letter::$27 + (byte) show_letter::i#10 -- vbuaa=vbuaa_plus_vbuz1 
    clc
    adc.z i
    // [63] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$22) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda letter_c,y
    // [64] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuaa_eq_vbuc1_then_la1 
    cmp #MOVE_TO
    beq __b3
    jmp __b4
    // show_letter::@4
  __b4:
    // [65] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuaa_eq_vbuc1_then_la1 
    cmp #SPLINE_TO
    beq __b2
    jmp __b5
    // show_letter::@5
  __b5:
    // [66] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4
    // [67] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4
    // [68] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 
    lda.z current_x_1
    sta.z bitmap_line.x2
    lda.z current_x_1+1
    sta.z bitmap_line.x2+1
    // [69] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 
    lda.z current_y_1
    sta.z bitmap_line.y2
    lda.z current_y_1+1
    sta.z bitmap_line.y2+1
    // [70] call bitmap_line 
    // [100] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line]
  bitmap_line_from___b5:
    // [100] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy 
    // [100] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy 
    // [100] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy 
    // [100] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy 
    jsr bitmap_line
    jmp __b3
    // show_letter::@3
  __b3:
    // [71] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [72] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 
    lda #$16
    cmp.z i
    bne __b9
    jmp __breturn
    // show_letter::@return
  __breturn:
    // [73] return 
    rts
    // show_letter::@9
  __b9:
    // [74] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 
    lda.z current_x_1
    sta.z current_x
    lda.z current_x_1+1
    sta.z current_x+1
    // [75] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 
    lda.z current_y_1
    sta.z current_y
    lda.z current_y_1+1
    sta.z current_y+1
    // [28] phi from show_letter::@9 to show_letter::@1 [phi:show_letter::@9->show_letter::@1]
  __b1_from___b9:
    // [28] phi (signed word) show_letter::current_y#4 = (signed word) show_letter::current_y#11 [phi:show_letter::@9->show_letter::@1#0] -- register_copy 
    // [28] phi (signed word) show_letter::current_x#4 = (signed word) show_letter::current_x#11 [phi:show_letter::@9->show_letter::@1#1] -- register_copy 
    // [28] phi (byte) show_letter::i#10 = (byte) show_letter::i#1 [phi:show_letter::@9->show_letter::@1#2] -- register_copy 
    jmp __b1
    // show_letter::@2
  __b2:
    // [76] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4
    // [77] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4
    // [78] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0
    // [79] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0
    // [80] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10
    // [81] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10
    // [82] call spline_8segB 
    jsr spline_8segB
    // [83] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8]
  __b8_from___b2:
    jmp __b8
    // show_letter::@8
  __b8:
    // [84] call bitmap_plot_spline_8seg 
    jsr bitmap_plot_spline_8seg
    jmp __b3
}
  // bitmap_plot_spline_8seg
// Plot the spline in the SPLINE_8SEG array
bitmap_plot_spline_8seg: {
    .label current_x = $c
    .label current_y = $e
    .label n = $24
    // [85] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 
    lda SPLINE_8SEG
    sta.z current_x
    lda SPLINE_8SEG+1
    sta.z current_x+1
    // [86] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y
    sta.z current_y
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1
    sta.z current_y+1
    // [87] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1]
  __b1_from_bitmap_plot_spline_8seg:
    // [87] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- vbuz1=vbuc1 
    lda #1
    sta.z n
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- register_copy 
    jmp __b1
    // [87] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1]
  __b1_from___b2:
    // [87] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy 
    jmp __b1
    // bitmap_plot_spline_8seg::@1
  __b1:
    // [88] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2
    // [89] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2
    // [90] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuxx=vbuz1_rol_2 
    lda.z n
    asl
    asl
    tax
    // [91] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8) -- vwuz1=pwuc1_derefidx_vbuxx 
    lda SPLINE_8SEG,x
    sta.z bitmap_line.x2
    lda SPLINE_8SEG+1,x
    sta.z bitmap_line.x2+1
    // [92] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8) -- vwuz1=pwuc1_derefidx_vbuxx 
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z bitmap_line.y2
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z bitmap_line.y2+1
    // [93] call bitmap_line 
    // [100] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line]
  bitmap_line_from___b1:
    // [100] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy 
    // [100] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy 
    // [100] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy 
    // [100] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy 
    jsr bitmap_line
    jmp __b2
    // bitmap_plot_spline_8seg::@2
  __b2:
    // [94] (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuxx=vbuz1_rol_2 
    lda.z n
    asl
    asl
    tax
    // [95] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$9) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda SPLINE_8SEG,x
    sta.z current_x
    lda SPLINE_8SEG+1,x
    sta.z current_x+1
    // [96] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z current_y
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z current_y+1
    // [97] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 
    inc.z n
    // [98] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #9
    cmp.z n
    bne __b1_from___b2
    jmp __breturn
    // bitmap_plot_spline_8seg::@return
  __breturn:
    // [99] return 
    rts
}
  // bitmap_line
// Draw a line on the bitmap using bresenhams algorithm
// bitmap_line(word zp($c) x1, word zp($e) y1, word zp($20) x2, word zp($22) y2)
bitmap_line: {
    .label x = $c
    .label y = $e
    .label dx = $18
    .label dy = 6
    .label sx = $1a
    .label sy = 4
    .label e1 = 2
    .label e = $10
    .label x1 = $c
    .label y1 = $e
    .label x2 = $20
    .label y2 = $22
    // [101] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z x2
    sec
    sbc.z x
    sta.z abs_u16.w
    lda.z x2+1
    sbc.z x+1
    sta.z abs_u16.w+1
    // [102] call abs_u16 
    // [166] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
  abs_u16_from_bitmap_line:
    // [166] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy 
    jsr abs_u16
    // [103] (word) abs_u16::return#0 ← (word) abs_u16::return#4
    jmp __b12
    // bitmap_line::@12
  __b12:
    // [104] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 
    lda.z abs_u16.return
    sta.z dx
    lda.z abs_u16.return+1
    sta.z dx+1
    // [105] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z y2
    sec
    sbc.z y
    sta.z abs_u16.w
    lda.z y2+1
    sbc.z y+1
    sta.z abs_u16.w+1
    // [106] call abs_u16 
    // [166] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
  abs_u16_from___b12:
    // [166] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy 
    jsr abs_u16
    // [107] (word) abs_u16::return#1 ← (word) abs_u16::return#4
    jmp __b13
    // bitmap_line::@13
  __b13:
    // [108] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1
    // [109] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 
    lda.z dx
    bne __b1
    lda.z dx+1
    bne __b1
    jmp __b18
    // bitmap_line::@18
  __b18:
    // [110] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 
    lda.z dy
    bne !+
    lda.z dy+1
    beq __b4
  !:
    jmp __b1
    // bitmap_line::@1
  __b1:
    // [111] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z x2
    sec
    sbc.z x
    sta.z sgn_u16.w
    lda.z x2+1
    sbc.z x+1
    sta.z sgn_u16.w+1
    // [112] call sgn_u16 
    // [159] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
  sgn_u16_from___b1:
    // [159] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy 
    jsr sgn_u16
    // [113] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4
    jmp __b14
    // bitmap_line::@14
  __b14:
    // [114] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 
    lda.z sgn_u16.return
    sta.z sx
    lda.z sgn_u16.return+1
    sta.z sx+1
    // [115] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z y2
    sec
    sbc.z y
    sta.z sgn_u16.w
    lda.z y2+1
    sbc.z y+1
    sta.z sgn_u16.w+1
    // [116] call sgn_u16 
    // [159] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
  sgn_u16_from___b14:
    // [159] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy 
    jsr sgn_u16
    // [117] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4
    jmp __b15
    // bitmap_line::@15
  __b15:
    // [118] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1
    // [119] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 
    lda.z dy+1
    cmp.z dx+1
    bcc __b2
    bne !+
    lda.z dy
    cmp.z dx
    bcc __b2
  !:
    jmp __b5
    // bitmap_line::@5
  __b5:
    // [120] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z dx+1
    lsr
    sta.z e+1
    lda.z dx
    ror
    sta.z e
    // [121] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6]
  __b6_from___b5:
  __b6_from___b7:
    // [121] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy 
    // [121] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy 
    // [121] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy 
    jmp __b6
    // bitmap_line::@6
  __b6:
    // [122] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [123] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13
    // [124] call bitmap_plot 
    // [152] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
  bitmap_plot_from___b6:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __b16
    // bitmap_line::@16
  __b16:
    // [125] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z y
    clc
    adc.z sy
    sta.z y
    lda.z y+1
    adc.z sy+1
    sta.z y+1
    // [126] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z e
    clc
    adc.z dx
    sta.z e
    lda.z e+1
    adc.z dx+1
    sta.z e+1
    // [127] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 
    lda.z e+1
    cmp.z dy+1
    bne !+
    lda.z e
    cmp.z dy
    beq __b7_from___b16
  !:
    bcc __b7_from___b16
    jmp __b8
    // bitmap_line::@8
  __b8:
    // [128] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z x
    clc
    adc.z sx
    sta.z x
    lda.z x+1
    adc.z sx+1
    sta.z x+1
    // [129] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z e
    sec
    sbc.z dy
    sta.z e
    lda.z e+1
    sbc.z dy+1
    sta.z e+1
    // [130] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7]
  __b7_from___b16:
  __b7_from___b8:
    // [130] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy 
    // [130] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy 
    jmp __b7
    // bitmap_line::@7
  __b7:
    // [131] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 
    lda.z y+1
    cmp.z y2+1
    bne __b6_from___b7
    lda.z y
    cmp.z y2
    bne __b6_from___b7
    // [132] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3]
  __b3_from___b10:
  __b3_from___b7:
    // [132] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy 
    // [132] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy 
    jmp __b3
    // bitmap_line::@3
  __b3:
    // [133] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [134] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6
    // [135] call bitmap_plot 
    // [152] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
  bitmap_plot_from___b3:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __breturn
    // bitmap_line::@return
  __breturn:
    // [136] return 
    rts
    // bitmap_line::@2
  __b2:
    // [137] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z dy+1
    lsr
    sta.z e1+1
    lda.z dy
    ror
    sta.z e1
    // [138] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9]
  __b9_from___b10:
  __b9_from___b2:
    // [138] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy 
    // [138] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy 
    // [138] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy 
    jmp __b9
    // bitmap_line::@9
  __b9:
    // [139] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [140] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7
    // [141] call bitmap_plot 
    // [152] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
  bitmap_plot_from___b9:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __b17
    // bitmap_line::@17
  __b17:
    // [142] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z x
    clc
    adc.z sx
    sta.z x
    lda.z x+1
    adc.z sx+1
    sta.z x+1
    // [143] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z e1
    clc
    adc.z dy
    sta.z e1
    lda.z e1+1
    adc.z dy+1
    sta.z e1+1
    // [144] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 
    lda.z e1+1
    cmp.z dx+1
    bne !+
    lda.z e1
    cmp.z dx
    beq __b10_from___b17
  !:
    bcc __b10_from___b17
    jmp __b11
    // bitmap_line::@11
  __b11:
    // [145] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z y
    clc
    adc.z sy
    sta.z y
    lda.z y+1
    adc.z sy+1
    sta.z y+1
    // [146] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z e1
    sec
    sbc.z dx
    sta.z e1
    lda.z e1+1
    sbc.z dx+1
    sta.z e1+1
    // [147] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10]
  __b10_from___b11:
  __b10_from___b17:
    // [147] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy 
    // [147] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy 
    jmp __b10
    // bitmap_line::@10
  __b10:
    // [148] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 
    lda.z x+1
    cmp.z x2+1
    bne __b9_from___b10
    lda.z x
    cmp.z x2
    bne __b9_from___b10
    jmp __b3_from___b10
    // bitmap_line::@4
  __b4:
    // [149] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [150] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0
    // [151] call bitmap_plot 
    // [152] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot]
  bitmap_plot_from___b4:
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    jmp __breturn
}
  // bitmap_plot
// Plot a single dot in the bitmap
// bitmap_plot(word zp($c) x, byte register(X) y)
bitmap_plot: {
    .label __1 = $1e
    .label plotter = $1c
    .label x = $c
    // [153] (word) bitmap_plot::plotter#0 ← *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx 
    lda bitmap_plot_yhi,x
    sta.z plotter+1
    lda bitmap_plot_ylo,x
    sta.z plotter
    // [154] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 
    lda.z x
    and #<$fff8
    sta.z __1
    lda.z x+1
    and #>$fff8
    sta.z __1+1
    // [155] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$1 -- pbuz1=pbuz1_plus_vwuz2 
    lda.z plotter
    clc
    adc.z __1
    sta.z plotter
    lda.z plotter+1
    adc.z __1+1
    sta.z plotter+1
    // [156] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#4 -- vbuaa=_lo_vwuz1 
    lda.z x
    // [157] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2) -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuaa 
    tay
    lda bitmap_plot_bit,y
    ldy #0
    ora (plotter),y
    ldy #0
    sta (plotter),y
    jmp __breturn
    // bitmap_plot::@return
  __breturn:
    // [158] return 
    rts
}
  // sgn_u16
// Get the sign of a 16-bit unsigned number treated as a signed number.
// Returns unsigned -1 if the number is
// sgn_u16(word zp($10) w)
sgn_u16: {
    .label w = $10
    .label return = 4
    // [160] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuaa=_hi_vwuz1 
    lda.z w+1
    // [161] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // [162] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuaa_then_la1 
    cmp #0
    bne __b1_from_sgn_u16
    // [164] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return]
  __breturn_from_sgn_u16:
    // [164] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 
    lda #<1
    sta.z return
    lda #>1
    sta.z return+1
    jmp __breturn
    // [163] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1]
  __b1_from_sgn_u16:
    jmp __b1
    // sgn_u16::@1
  __b1:
    // [164] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return]
  __breturn_from___b1:
    // [164] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 
    lda #<-1
    sta.z return
    lda #>-1
    sta.z return+1
    jmp __breturn
    // sgn_u16::@return
  __breturn:
    // [165] return 
    rts
}
  // abs_u16
// Get the absolute value of a 16-bit unsigned number treated as a signed number.
// abs_u16(word zp(6) w)
abs_u16: {
    .label w = 6
    .label return = 6
    // [167] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuaa=_hi_vwuz1 
    lda.z w+1
    // [168] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // [169] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuaa_then_la1 
    cmp #0
    bne __b1
    // [171] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return]
  __breturn_from_abs_u16:
  __breturn_from___b1:
    // [171] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy 
    jmp __breturn
    // abs_u16::@1
  __b1:
    // [170] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 
    sec
    lda #0
    sbc.z return
    sta.z return
    lda #0
    sbc.z return+1
    sta.z return+1
    jmp __breturn_from___b1
    // abs_u16::@return
  __breturn:
    // [172] return 
    rts
}
  // spline_8segB
// Generate a 8-segment quadratic spline using 16-bit fixed point 1/64-format math (6 decimal bits).
// The resulting spline segment points are returned in SPLINE_8SEG[]
// Point values must be within [-200 ; 1ff] for the calculation to not overflow.
// A quadratic spline is a curve defined by 3 points: P0, P1 and P2.
// The curve connects P0 to P2 through a smooth curve that moves towards P1, but does usually not touch it.
// spline_8segB(signed word zp($c) p0_x, signed word zp($e) p0_y, signed word zp($20) p1_x, signed word zp($22) p1_y, signed word zp($14) p2_x, signed word zp($16) p2_y)
spline_8segB: {
    .label __0 = $1e
    .label __1 = $1e
    .label __3 = $18
    .label __4 = $18
    .label __6 = $20
    .label __8 = $22
    .label __10 = $20
    .label __12 = $22
    .label __18 = $c
    .label __19 = $c
    .label __20 = $e
    .label __21 = $e
    .label __22 = $1a
    .label __23 = $1a
    .label __24 = $1c
    .label __25 = $1c
    .label a_x = $1e
    .label a_y = $18
    .label b_x = $20
    .label b_y = $22
    .label i_x = $20
    .label i_y = $22
    .label j_x = $1e
    .label j_y = $18
    .label p_x = $c
    .label p_y = $e
    .label p0_x = $c
    .label p0_y = $e
    .label p1_x = $20
    .label p1_y = $22
    .label p2_x = $14
    .label p2_y = $16
    // [173] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z p1_x
    asl
    sta.z __0
    lda.z p1_x+1
    rol
    sta.z __0+1
    // [174] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz1 
    lda.z p2_x
    sec
    sbc.z __1
    sta.z __1
    lda.z p2_x+1
    sbc.z __1+1
    sta.z __1+1
    // [175] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z a_x
    clc
    adc.z p0_x
    sta.z a_x
    lda.z a_x+1
    adc.z p0_x+1
    sta.z a_x+1
    // [176] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z p1_y
    asl
    sta.z __3
    lda.z p1_y+1
    rol
    sta.z __3+1
    // [177] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz1 
    lda.z p2_y
    sec
    sbc.z __4
    sta.z __4
    lda.z p2_y+1
    sbc.z __4+1
    sta.z __4+1
    // [178] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z a_y
    clc
    adc.z p0_y
    sta.z a_y
    lda.z a_y+1
    adc.z p0_y+1
    sta.z a_y+1
    // [179] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_minus_vwsz2 
    lda.z __6
    sec
    sbc.z p0_x
    sta.z __6
    lda.z __6+1
    sbc.z p0_x+1
    sta.z __6+1
    // [180] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z b_x
    rol.z b_x+1
    // [181] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_minus_vwsz2 
    lda.z __8
    sec
    sbc.z p0_y
    sta.z __8
    lda.z __8+1
    sbc.z p0_y+1
    sta.z __8+1
    // [182] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z b_y
    rol.z b_y+1
    // [183] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 
    asl.z __10
    rol.z __10+1
    asl.z __10
    rol.z __10+1
    asl.z __10
    rol.z __10+1
    // [184] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz1 
    lda.z i_x
    clc
    adc.z a_x
    sta.z i_x
    lda.z i_x+1
    adc.z a_x+1
    sta.z i_x+1
    // [185] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 
    asl.z __12
    rol.z __12+1
    asl.z __12
    rol.z __12+1
    asl.z __12
    rol.z __12+1
    // [186] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz1 
    lda.z i_y
    clc
    adc.z a_y
    sta.z i_y
    lda.z i_y+1
    adc.z a_y+1
    sta.z i_y+1
    // [187] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z j_x
    rol.z j_x+1
    // [188] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z j_y
    rol.z j_y+1
    // [189] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 
    lda.z p_x+1
    sta.z $ff
    lda.z p_x
    sta.z p_x+1
    lda #0
    sta.z p_x
    lsr.z $ff
    ror.z p_x+1
    ror.z p_x
    lsr.z $ff
    ror.z p_x+1
    ror.z p_x
    // [190] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 
    lda.z p_y+1
    sta.z $ff
    lda.z p_y
    sta.z p_y+1
    lda #0
    sta.z p_y
    lsr.z $ff
    ror.z p_y+1
    ror.z p_y
    lsr.z $ff
    ror.z p_y+1
    ror.z p_y
    // [191] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1]
  __b1_from_spline_8segB:
    // [191] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy 
    // [191] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy 
    // [191] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuyy=vbuc1 
    ldy #0
    // [191] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy 
    jmp __b1
    // [191] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1]
  __b1_from___b1:
    // [191] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy 
    // [191] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy 
    // [191] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy 
    jmp __b1
    // spline_8segB::@1
  __b1:
    // [192] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_x
    clc
    adc #<$20
    sta.z __22
    lda.z p_x+1
    adc #>$20
    sta.z __22+1
    // [193] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __23
    sta.z $ff
    lda.z __23+1
    sta.z __23
    lda #0
    bit.z __23+1
    bpl !+
    lda #$ff
  !:
    sta.z __23+1
    rol.z $ff
    rol.z __23
    rol.z __23+1
    rol.z $ff
    rol.z __23
    rol.z __23+1
    // [194] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_y
    clc
    adc #<$20
    sta.z __24
    lda.z p_y+1
    adc #>$20
    sta.z __24+1
    // [195] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __25
    sta.z $ff
    lda.z __25+1
    sta.z __25
    lda #0
    bit.z __25+1
    bpl !+
    lda #$ff
  !:
    sta.z __25+1
    rol.z $ff
    rol.z __25
    rol.z __25+1
    rol.z $ff
    rol.z __25
    rol.z __25+1
    // [196] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuxx=vbuyy_rol_2 
    tya
    asl
    asl
    tax
    // [197] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuxx=vwsz1 
    lda.z __23
    sta SPLINE_8SEG,x
    lda.z __23+1
    sta SPLINE_8SEG+1,x
    // [198] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuxx=vwsz1 
    lda.z __25
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    lda.z __25+1
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    // [199] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z p_x
    clc
    adc.z i_x
    sta.z p_x
    lda.z p_x+1
    adc.z i_x+1
    sta.z p_x+1
    // [200] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z p_y
    clc
    adc.z i_y
    sta.z p_y
    lda.z p_y+1
    adc.z i_y+1
    sta.z p_y+1
    // [201] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z i_x
    clc
    adc.z j_x
    sta.z i_x
    lda.z i_x+1
    adc.z j_x+1
    sta.z i_x+1
    // [202] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z i_y
    clc
    adc.z j_y
    sta.z i_y
    lda.z i_y+1
    adc.z j_y+1
    sta.z i_y+1
    // [203] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuyy=_inc_vbuyy 
    iny
    // [204] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuyy_neq_vbuc1_then_la1 
    cpy #8
    bne __b1_from___b1
    jmp __b2
    // spline_8segB::@2
  __b2:
    // [205] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z __18
    clc
    adc #<$20
    sta.z __18
    lda.z __18+1
    adc #>$20
    sta.z __18+1
    // [206] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __19
    sta.z $ff
    lda.z __19+1
    sta.z __19
    lda #0
    bit.z __19+1
    bpl !+
    lda #$ff
  !:
    sta.z __19+1
    rol.z $ff
    rol.z __19
    rol.z __19+1
    rol.z $ff
    rol.z __19
    rol.z __19+1
    // [207] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z __20
    clc
    adc #<$20
    sta.z __20
    lda.z __20+1
    adc #>$20
    sta.z __20+1
    // [208] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __21
    sta.z $ff
    lda.z __21+1
    sta.z __21
    lda #0
    bit.z __21+1
    bpl !+
    lda #$ff
  !:
    sta.z __21+1
    rol.z $ff
    rol.z __21
    rol.z __21+1
    rol.z $ff
    rol.z __21
    rol.z __21+1
    // [209] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 
    lda.z __19
    sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16
    lda.z __19+1
    sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16+1
    // [210] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 
    lda.z __21
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16
    lda.z __21+1
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16+1
    jmp __breturn
    // spline_8segB::@return
  __breturn:
    // [211] return 
    rts
}
  // rotate
// 2D-rotate a vector by an angle
// rotate(signed word zp(2) vector_x, signed word zp(4) vector_y, byte register(Y) angle)
rotate: {
    .label __1 = 8
    .label __2 = $18
    .label __4 = 8
    .label __5 = $1a
    .label __8 = 8
    .label __9 = $1c
    .label __10 = $1c
    .label __11 = 8
    .label __12 = $1e
    .label __13 = $1e
    .label vector_x = 2
    .label vector_y = 4
    .label return_x = $20
    .label return_y = $22
    .label cos_a = 6
    .label xr = $18
    .label yr = $1a
    .label sin_a = 6
    // [213] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy 
    lda COS,y
    sta.z cos_a
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z cos_a+1
    // [214] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0
    // [215] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 
    lda.z vector_x
    sta.z mulf16s.b
    lda.z vector_x+1
    sta.z mulf16s.b+1
    // [216] call mulf16s 
    // [250] phi from rotate to mulf16s [phi:rotate->mulf16s]
  mulf16s_from_rotate:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [217] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0
    jmp __b1
    // rotate::@1
  __b1:
    // [218] (signed dword~) rotate::$1 ← (signed dword) mulf16s::return#2
    // [219] (signed word~) rotate::$2 ← (signed word)(signed dword~) rotate::$1 -- vwsz1=_sword_vdsz2 
    lda.z __1
    sta.z __2
    lda.z __1+1
    sta.z __2+1
    // [220] (signed word) rotate::xr#0 ← (signed word~) rotate::$2 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z xr
    rol.z xr+1
    // [221] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0
    // [222] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 
    lda.z vector_y
    sta.z mulf16s.b
    lda.z vector_y+1
    sta.z mulf16s.b+1
    // [223] call mulf16s 
    // [250] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s]
  mulf16s_from___b1:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [224] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0
    jmp __b2
    // rotate::@2
  __b2:
    // [225] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#3
    // [226] (signed word~) rotate::$5 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 
    lda.z __4
    sta.z __5
    lda.z __4+1
    sta.z __5+1
    // [227] (signed word) rotate::yr#0 ← (signed word~) rotate::$5 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z yr
    rol.z yr+1
    // [228] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy 
    lda SIN,y
    sta.z sin_a
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z sin_a+1
    // [229] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0
    // [230] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 
    lda.z vector_y
    sta.z mulf16s.b
    lda.z vector_y+1
    sta.z mulf16s.b+1
    // [231] call mulf16s 
    // [250] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s]
  mulf16s_from___b2:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [232] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0
    jmp __b3
    // rotate::@3
  __b3:
    // [233] (signed dword~) rotate::$8 ← (signed dword) mulf16s::return#4
    // [234] (signed word~) rotate::$9 ← (signed word)(signed dword~) rotate::$8 -- vwsz1=_sword_vdsz2 
    lda.z __8
    sta.z __9
    lda.z __8+1
    sta.z __9+1
    // [235] (signed word~) rotate::$10 ← (signed word~) rotate::$9 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z __10
    rol.z __10+1
    // [236] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$10 -- vwsz1=vwsz1_minus_vwsz2 
    // signed fixed[0.7]
    lda.z xr
    sec
    sbc.z __10
    sta.z xr
    lda.z xr+1
    sbc.z __10+1
    sta.z xr+1
    // [237] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0
    // [238] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 
    lda.z vector_x
    sta.z mulf16s.b
    lda.z vector_x+1
    sta.z mulf16s.b+1
    // [239] call mulf16s 
    // [250] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s]
  mulf16s_from___b3:
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy 
    jsr mulf16s
    // [240] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0
    jmp __b4
    // rotate::@4
  __b4:
    // [241] (signed dword~) rotate::$11 ← (signed dword) mulf16s::return#10
    // [242] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$11 -- vwsz1=_sword_vdsz2 
    lda.z __11
    sta.z __12
    lda.z __11+1
    sta.z __12+1
    // [243] (signed word~) rotate::$13 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z __13
    rol.z __13+1
    // [244] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$13 -- vwsz1=vwsz1_plus_vwsz2 
    // signed fixed[8.8]
    lda.z yr
    clc
    adc.z __13
    sta.z yr
    lda.z yr+1
    adc.z __13+1
    sta.z yr+1
    // [245] (byte~) rotate::$15 ← > (signed word) rotate::xr#1 -- vbuaa=_hi_vwsz1 
    lda.z xr+1
    // [246] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$15 -- vwsz1=_sword_vbsaa 
    sta.z return_x
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z return_x+1
    // [247] (byte~) rotate::$18 ← > (signed word) rotate::yr#1 -- vbuaa=_hi_vwsz1 
    lda.z yr+1
    // [248] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$18 -- vwsz1=_sword_vbsaa 
    sta.z return_y
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z return_y+1
    jmp __breturn
    // rotate::@return
  __breturn:
    // [249] return 
    rts
}
  // mulf16s
// Fast multiply two signed words to a signed double word result
// Fixes offsets introduced by using unsigned multiplication
// mulf16s(signed word zp(6) a, signed word zp($10) b)
mulf16s: {
    .label __9 = $20
    .label __13 = $22
    .label __16 = $20
    .label __17 = $22
    .label m = 8
    .label return = 8
    .label a = 6
    .label b = $10
    // [251] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 
    lda.z a
    sta.z mulf16u.a
    lda.z a+1
    sta.z mulf16u.a+1
    // [252] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 
    lda.z b
    sta.z mulf16u.b
    lda.z b+1
    sta.z mulf16u.b+1
    // [253] call mulf16u 
    jsr mulf16u
    // [254] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0
    jmp __b5
    // mulf16s::@5
  __b5:
    // [255] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2
    // [256] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 
    lda.z a+1
    bpl __b1_from___b5
    jmp __b3
    // mulf16s::@3
  __b3:
    // [257] (word~) mulf16s::$9 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 
    lda.z m+2
    sta.z __9
    lda.z m+3
    sta.z __9+1
    // [258] (word~) mulf16s::$16 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z __16
    sec
    sbc.z b
    sta.z __16
    lda.z __16+1
    sbc.z b+1
    sta.z __16+1
    // [259] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$16 -- vduz1=vduz1_sethi_vwuz2 
    lda.z __16
    sta.z m+2
    lda.z __16+1
    sta.z m+3
    // [260] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1]
  __b1_from___b3:
  __b1_from___b5:
    // [260] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy 
    jmp __b1
    // mulf16s::@1
  __b1:
    // [261] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 
    lda.z b+1
    bpl __b2_from___b1
    jmp __b4
    // mulf16s::@4
  __b4:
    // [262] (word~) mulf16s::$13 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 
    lda.z m+2
    sta.z __13
    lda.z m+3
    sta.z __13+1
    // [263] (word~) mulf16s::$17 ← (word~) mulf16s::$13 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z __17
    sec
    sbc.z a
    sta.z __17
    lda.z __17+1
    sbc.z a+1
    sta.z __17+1
    // [264] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17 -- vduz1=vduz1_sethi_vwuz2 
    lda.z __17
    sta.z m+2
    lda.z __17+1
    sta.z m+3
    // [265] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2]
  __b2_from___b1:
  __b2_from___b4:
    // [265] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy 
    jmp __b2
    // mulf16s::@2
  __b2:
    // [266] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4
    jmp __breturn
    // mulf16s::@return
  __breturn:
    // [267] return 
    rts
}
  // mulf16u
// Fast multiply two unsigned words to a double word result
// Done in assembler to utilize fast addition A+X
// mulf16u(word zp($1e) a, word zp($20) b)
mulf16u: {
    .label memA = $f8
    .label memB = $fa
    .label memR = $fc
    .label return = 8
    .label a = $1e
    .label b = $20
    // [268] *((const word*) mulf16u::memA) ← (word) mulf16u::a#0 -- _deref_pwuc1=vwuz1 
    lda.z a
    sta memA
    lda.z a+1
    sta memA+1
    // [269] *((const word*) mulf16u::memB) ← (word) mulf16u::b#0 -- _deref_pwuc1=vwuz1 
    lda.z b
    sta memB
    lda.z b+1
    sta memB+1
    // asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  }
    lda memA
    sta sm1a+1
    sta sm3a+1
    sta sm5a+1
    sta sm7a+1
    eor #$ff
    sta sm2a+1
    sta sm4a+1
    sta sm6a+1
    sta sm8a+1
    lda memA+1
    sta sm1b+1
    sta sm3b+1
    sta sm5b+1
    sta sm7b+1
    eor #$ff
    sta sm2b+1
    sta sm4b+1
    sta sm6b+1
    sta sm8b+1
    ldx memB
    sec
  sm1a:
    lda mulf_sqr1_lo,x
  sm2a:
    sbc mulf_sqr2_lo,x
    sta memR+0
  sm3a:
    lda mulf_sqr1_hi,x
  sm4a:
    sbc mulf_sqr2_hi,x
    sta _AA+1
    sec
  sm1b:
    lda mulf_sqr1_lo,x
  sm2b:
    sbc mulf_sqr2_lo,x
    sta _cc+1
  sm3b:
    lda mulf_sqr1_hi,x
  sm4b:
    sbc mulf_sqr2_hi,x
    sta _CC+1
    ldx memB+1
    sec
  sm5a:
    lda mulf_sqr1_lo,x
  sm6a:
    sbc mulf_sqr2_lo,x
    sta _bb+1
  sm7a:
    lda mulf_sqr1_hi,x
  sm8a:
    sbc mulf_sqr2_hi,x
    sta _BB+1
    sec
  sm5b:
    lda mulf_sqr1_lo,x
  sm6b:
    sbc mulf_sqr2_lo,x
    sta _dd+1
  sm7b:
    lda mulf_sqr1_hi,x
  sm8b:
    sbc mulf_sqr2_hi,x
    sta memR+3
    clc
  _AA:
    lda #0
  _bb:
    adc #0
    sta memR+1
  _BB:
    lda #0
  _CC:
    adc #0
    sta memR+2
    bcc !+
    inc memR+3
    clc
  !:
  _cc:
    lda #0
    adc memR+1
    sta memR+1
  _dd:
    lda #0
    adc memR+2
    sta memR+2
    bcc !+
    inc memR+3
  !:
    // [271] (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR) -- vduz1=_deref_pduc1 
    lda memR
    sta.z return
    lda memR+1
    sta.z return+1
    lda memR+2
    sta.z return+2
    lda memR+3
    sta.z return+3
    jmp __breturn
    // mulf16u::@return
  __breturn:
    // [272] return 
    rts
}
  // bitmap_clear
// Clear all graphics on the bitmap
// bgcol - the background color to fill the screen with
// fgcol - the foreground color to fill the screen with
bitmap_clear: {
    .const col = WHITE<<4
    // [274] call memset 
    // [278] phi from bitmap_clear to memset [phi:bitmap_clear->memset]
  memset_from_bitmap_clear:
    // [278] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuxx=vbuc1 
    ldx #col
    // [278] phi (void*) memset::str#3 = (void*)(const byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 
    lda #<BITMAP_SCREEN
    sta.z memset.str
    lda #>BITMAP_SCREEN
    sta.z memset.str+1
    // [278] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 
    lda #<$3e8
    sta.z memset.num
    lda #>$3e8
    sta.z memset.num+1
    jsr memset
    // [275] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
  __b1_from_bitmap_clear:
    jmp __b1
    // bitmap_clear::@1
  __b1:
    // [276] call memset 
    // [278] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset]
  memset_from___b1:
    // [278] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuxx=vbuc1 
    ldx #0
    // [278] phi (void*) memset::str#3 = (void*)(const byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 
    lda #<BITMAP_GRAPHICS
    sta.z memset.str
    lda #>BITMAP_GRAPHICS
    sta.z memset.str+1
    // [278] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 
    lda #<$1f40
    sta.z memset.num
    lda #>$1f40
    sta.z memset.num+1
    jsr memset
    jmp __breturn
    // bitmap_clear::@return
  __breturn:
    // [277] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// memset(void* zp($e) str, byte register(X) c, word zp($c) num)
memset: {
    .label end = $c
    .label dst = $e
    .label num = $c
    .label str = $e
    // [279] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 
    lda.z num
    bne !+
    lda.z num+1
    beq __breturn
  !:
    jmp __b1
    // memset::@1
  __b1:
    // [280] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 
    lda.z end
    clc
    adc.z str
    sta.z end
    lda.z end+1
    adc.z str+1
    sta.z end+1
    // [281] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3
    // [282] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
  __b2_from___b1:
  __b2_from___b3:
    // [282] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy 
    jmp __b2
    // memset::@2
  __b2:
    // [283] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 
    lda.z dst+1
    cmp.z end+1
    bne __b3
    lda.z dst
    cmp.z end
    bne __b3
    jmp __breturn
    // memset::@return
  __breturn:
    // [284] return 
    rts
    // memset::@3
  __b3:
    // [285] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx 
    txa
    ldy #0
    sta (dst),y
    // [286] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp __b2_from___b3
}
  // bitmap_init
// Initialize bitmap plotting tables
bitmap_init: {
    .label __7 = $24
    .label yoffs = $10
    // [288] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
  __b1_from_bitmap_init:
    // [288] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [288] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#1] -- vbuaa=vbuc1 
    lda #$80
    jmp __b1
    // [288] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
  __b1_from___b2:
    // [288] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy 
    // [288] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy 
    jmp __b1
    // bitmap_init::@1
  __b1:
    // [289] *((const byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta bitmap_plot_bit,x
    // [290] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuaa=vbuaa_ror_1 
    lsr
    // [291] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuaa_neq_0_then_la1 
    cmp #0
    bne __b6_from___b1
    // [293] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
  __b2_from___b1:
    // [293] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuaa=vbuc1 
    lda #$80
    jmp __b2
    // [292] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
  __b6_from___b1:
    jmp __b6
    // bitmap_init::@6
  __b6:
    // [293] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
  __b2_from___b6:
    // [293] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy 
    jmp __b2
    // bitmap_init::@2
  __b2:
    // [294] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx 
    inx
    // [295] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 
    cpx #0
    bne __b1_from___b2
    // [296] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
  __b3_from___b2:
    // [296] phi (byte*) bitmap_init::yoffs#2 = (const byte*) BITMAP_GRAPHICS [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 
    lda #<BITMAP_GRAPHICS
    sta.z yoffs
    lda #>BITMAP_GRAPHICS
    sta.z yoffs+1
    // [296] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 
    ldx #0
    jmp __b3
    // [296] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
  __b3_from___b4:
    // [296] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy 
    // [296] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy 
    jmp __b3
    // bitmap_init::@3
  __b3:
    // [297] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 
    lda #7
    sax.z __7
    // [298] (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 
    lda.z yoffs
    // [299] (byte~) bitmap_init::$5 ← (byte~) bitmap_init::$7 | (byte~) bitmap_init::$4 -- vbuaa=vbuz1_bor_vbuaa 
    ora.z __7
    // [300] *((const byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$5 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta bitmap_plot_ylo,x
    // [301] (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 
    lda.z yoffs+1
    // [302] *((const byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta bitmap_plot_yhi,x
    // [303] if((byte~) bitmap_init::$7!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 
    lda #7
    cmp.z __7
    bne __b4_from___b3
    jmp __b5
    // bitmap_init::@5
  __b5:
    // [304] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 
    clc
    lda.z yoffs
    adc #<$28*8
    sta.z yoffs
    lda.z yoffs+1
    adc #>$28*8
    sta.z yoffs+1
    // [305] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
  __b4_from___b3:
  __b4_from___b5:
    // [305] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy 
    jmp __b4
    // bitmap_init::@4
  __b4:
    // [306] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx 
    inx
    // [307] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 
    cpx #0
    bne __b3_from___b4
    jmp __breturn
    // bitmap_init::@return
  __breturn:
    // [308] return 
    rts
}
  // mulf_init
// Initialize the mulf_sqr multiplication tables with f(x)=int(x*x/4)
mulf_init: {
    // x/2
    .label c = $12
    // Counter used for determining x%2==0
    .label sqr1_hi = $16
    // Fill mulf_sqr1 = f(x) = int(x*x/4): If f(x) = x*x/4 then f(x+1) = f(x) + x/2 + 1/4
    .label sqr = $1c
    .label sqr1_lo = $14
    // Decrease or increase x_255 - initially we decrease
    .label sqr2_hi = $1a
    .label sqr2_lo = $18
    //Start with g(0)=f(255)
    .label dir = $13
    // [310] phi from mulf_init to mulf_init::@1 [phi:mulf_init->mulf_init::@1]
  __b1_from_mulf_init:
    // [310] phi (byte) mulf_init::x_2#3 = (byte) 0 [phi:mulf_init->mulf_init::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [310] phi (byte*) mulf_init::sqr1_hi#2 = (const byte*) mulf_sqr1_hi+(byte) 1 [phi:mulf_init->mulf_init::@1#1] -- pbuz1=pbuc1 
    lda #<mulf_sqr1_hi+1
    sta.z sqr1_hi
    lda #>mulf_sqr1_hi+1
    sta.z sqr1_hi+1
    // [310] phi (word) mulf_init::sqr#4 = (word) 0 [phi:mulf_init->mulf_init::@1#2] -- vwuz1=vwuc1 
    lda #<0
    sta.z sqr
    lda #>0
    sta.z sqr+1
    // [310] phi (byte) mulf_init::c#2 = (byte) 0 [phi:mulf_init->mulf_init::@1#3] -- vbuz1=vbuc1 
    lda #0
    sta.z c
    // [310] phi (byte*) mulf_init::sqr1_lo#2 = (const byte*) mulf_sqr1_lo+(byte) 1 [phi:mulf_init->mulf_init::@1#4] -- pbuz1=pbuc1 
    lda #<mulf_sqr1_lo+1
    sta.z sqr1_lo
    lda #>mulf_sqr1_lo+1
    sta.z sqr1_lo+1
    jmp __b1
    // mulf_init::@1
  __b1:
    // [311] if((byte*) mulf_init::sqr1_lo#2!=(const byte*) mulf_sqr1_lo+(word) $200) goto mulf_init::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z sqr1_lo+1
    cmp #>mulf_sqr1_lo+$200
    bne __b2
    lda.z sqr1_lo
    cmp #<mulf_sqr1_lo+$200
    bne __b2
    // [312] phi from mulf_init::@1 to mulf_init::@5 [phi:mulf_init::@1->mulf_init::@5]
  __b5_from___b1:
    // [312] phi (byte) mulf_init::dir#2 = (byte) $ff [phi:mulf_init::@1->mulf_init::@5#0] -- vbuz1=vbuc1 
    lda #$ff
    sta.z dir
    // [312] phi (byte*) mulf_init::sqr2_hi#2 = (const byte*) mulf_sqr2_hi [phi:mulf_init::@1->mulf_init::@5#1] -- pbuz1=pbuc1 
    lda #<mulf_sqr2_hi
    sta.z sqr2_hi
    lda #>mulf_sqr2_hi
    sta.z sqr2_hi+1
    // [312] phi (byte) mulf_init::x_255#2 = (byte) -1 [phi:mulf_init::@1->mulf_init::@5#2] -- vbuxx=vbuc1 
    ldx #-1
    // [312] phi (byte*) mulf_init::sqr2_lo#2 = (const byte*) mulf_sqr2_lo [phi:mulf_init::@1->mulf_init::@5#3] -- pbuz1=pbuc1 
    lda #<mulf_sqr2_lo
    sta.z sqr2_lo
    lda #>mulf_sqr2_lo
    sta.z sqr2_lo+1
    jmp __b5
    // mulf_init::@5
  __b5:
    // [313] if((byte*) mulf_init::sqr2_lo#2!=(const byte*) mulf_sqr2_lo+(word) $1ff) goto mulf_init::@6 -- pbuz1_neq_pbuc1_then_la1 
    lda.z sqr2_lo+1
    cmp #>mulf_sqr2_lo+$1ff
    bne __b6
    lda.z sqr2_lo
    cmp #<mulf_sqr2_lo+$1ff
    bne __b6
    jmp __b7
    // mulf_init::@7
  __b7:
    // [314] *((const byte*) mulf_sqr2_lo+(word) $1ff) ← *((const byte*) mulf_sqr1_lo+(word) $100) -- _deref_pbuc1=_deref_pbuc2 
    // Set the very last value g(511) = f(256)
    lda mulf_sqr1_lo+$100
    sta mulf_sqr2_lo+$1ff
    // [315] *((const byte*) mulf_sqr2_hi+(word) $1ff) ← *((const byte*) mulf_sqr1_hi+(word) $100) -- _deref_pbuc1=_deref_pbuc2 
    lda mulf_sqr1_hi+$100
    sta mulf_sqr2_hi+$1ff
    jmp __breturn
    // mulf_init::@return
  __breturn:
    // [316] return 
    rts
    // mulf_init::@6
  __b6:
    // [317] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte*) mulf_sqr1_lo + (byte) mulf_init::x_255#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda mulf_sqr1_lo,x
    ldy #0
    sta (sqr2_lo),y
    // [318] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte*) mulf_sqr1_hi + (byte) mulf_init::x_255#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda mulf_sqr1_hi,x
    ldy #0
    sta (sqr2_hi),y
    // [319] (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr2_hi
    bne !+
    inc.z sqr2_hi+1
  !:
    // [320] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2 -- vbuxx=vbuxx_plus_vbuz1 
    txa
    clc
    adc.z dir
    tax
    // [321] if((byte) mulf_init::x_255#1!=(byte) 0) goto mulf_init::@9 -- vbuxx_neq_0_then_la1 
    cpx #0
    bne __b9_from___b6
    // [323] phi from mulf_init::@6 to mulf_init::@8 [phi:mulf_init::@6->mulf_init::@8]
  __b8_from___b6:
    // [323] phi (byte) mulf_init::dir#4 = (byte) 1 [phi:mulf_init::@6->mulf_init::@8#0] -- vbuz1=vbuc1 
    lda #1
    sta.z dir
    jmp __b8
    // [322] phi from mulf_init::@6 to mulf_init::@9 [phi:mulf_init::@6->mulf_init::@9]
  __b9_from___b6:
    jmp __b9
    // mulf_init::@9
  __b9:
    // [323] phi from mulf_init::@9 to mulf_init::@8 [phi:mulf_init::@9->mulf_init::@8]
  __b8_from___b9:
    // [323] phi (byte) mulf_init::dir#4 = (byte) mulf_init::dir#2 [phi:mulf_init::@9->mulf_init::@8#0] -- register_copy 
    jmp __b8
    // mulf_init::@8
  __b8:
    // [324] (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr2_lo
    bne !+
    inc.z sqr2_lo+1
  !:
    // [312] phi from mulf_init::@8 to mulf_init::@5 [phi:mulf_init::@8->mulf_init::@5]
  __b5_from___b8:
    // [312] phi (byte) mulf_init::dir#2 = (byte) mulf_init::dir#4 [phi:mulf_init::@8->mulf_init::@5#0] -- register_copy 
    // [312] phi (byte*) mulf_init::sqr2_hi#2 = (byte*) mulf_init::sqr2_hi#1 [phi:mulf_init::@8->mulf_init::@5#1] -- register_copy 
    // [312] phi (byte) mulf_init::x_255#2 = (byte) mulf_init::x_255#1 [phi:mulf_init::@8->mulf_init::@5#2] -- register_copy 
    // [312] phi (byte*) mulf_init::sqr2_lo#2 = (byte*) mulf_init::sqr2_lo#1 [phi:mulf_init::@8->mulf_init::@5#3] -- register_copy 
    jmp __b5
    // mulf_init::@2
  __b2:
    // [325] (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2 -- vbuz1=_inc_vbuz1 
    inc.z c
    // [326] (byte~) mulf_init::$1 ← (byte) mulf_init::c#1 & (byte) 1 -- vbuaa=vbuz1_band_vbuc1 
    lda #1
    and.z c
    // [327] if((byte~) mulf_init::$1!=(byte) 0) goto mulf_init::@3 -- vbuaa_neq_0_then_la1 
    cmp #0
    bne __b3_from___b2
    jmp __b4
    // mulf_init::@4
  __b4:
    // [328] (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3 -- vbuxx=_inc_vbuxx 
    inx
    // [329] (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4 -- vwuz1=_inc_vwuz1 
    inc.z sqr
    bne !+
    inc.z sqr+1
  !:
    // [330] phi from mulf_init::@2 mulf_init::@4 to mulf_init::@3 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3]
  __b3_from___b2:
  __b3_from___b4:
    // [330] phi (byte) mulf_init::x_2#2 = (byte) mulf_init::x_2#3 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#0] -- register_copy 
    // [330] phi (word) mulf_init::sqr#3 = (word) mulf_init::sqr#4 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#1] -- register_copy 
    jmp __b3
    // mulf_init::@3
  __b3:
    // [331] (byte~) mulf_init::$4 ← < (word) mulf_init::sqr#3 -- vbuaa=_lo_vwuz1 
    lda.z sqr
    // [332] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$4 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (sqr1_lo),y
    // [333] (byte~) mulf_init::$5 ← > (word) mulf_init::sqr#3 -- vbuaa=_hi_vwuz1 
    lda.z sqr+1
    // [334] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$5 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (sqr1_hi),y
    // [335] (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr1_hi
    bne !+
    inc.z sqr1_hi+1
  !:
    // [336] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2 -- vwuz1=vwuz1_plus_vbuxx 
    txa
    clc
    adc.z sqr
    sta.z sqr
    bcc !+
    inc.z sqr+1
  !:
    // [337] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr1_lo
    bne !+
    inc.z sqr1_lo+1
  !:
    // [310] phi from mulf_init::@3 to mulf_init::@1 [phi:mulf_init::@3->mulf_init::@1]
  __b1_from___b3:
    // [310] phi (byte) mulf_init::x_2#3 = (byte) mulf_init::x_2#2 [phi:mulf_init::@3->mulf_init::@1#0] -- register_copy 
    // [310] phi (byte*) mulf_init::sqr1_hi#2 = (byte*) mulf_init::sqr1_hi#1 [phi:mulf_init::@3->mulf_init::@1#1] -- register_copy 
    // [310] phi (word) mulf_init::sqr#4 = (word) mulf_init::sqr#1 [phi:mulf_init::@3->mulf_init::@1#2] -- register_copy 
    // [310] phi (byte) mulf_init::c#2 = (byte) mulf_init::c#1 [phi:mulf_init::@3->mulf_init::@1#3] -- register_copy 
    // [310] phi (byte*) mulf_init::sqr1_lo#2 = (byte*) mulf_init::sqr1_lo#1 [phi:mulf_init::@3->mulf_init::@1#4] -- register_copy 
    jmp __b1
}
  // File Data
  // Array filled with spline segment points by splinePlot_8()
  SPLINE_8SEG: .fill 4*9, 0
  // Tables for the plotter - initialized by calling bitmap_init();
  bitmap_plot_ylo: .fill $100, 0
  bitmap_plot_yhi: .fill $100, 0
  bitmap_plot_bit: .fill $100, 0
  // mulf_sqr tables will contain f(x)=int(x*x/4) and g(x) = f(x-255).
  // <f(x) = <(( x * x )/4)
  .align $100
  mulf_sqr1_lo: .fill $200, 0
  // >f(x) = >(( x * x )/4)
  .align $100
  mulf_sqr1_hi: .fill $200, 0
  // <g(x) =  <((( x - 255) * ( x - 255 ))/4)
  .align $100
  mulf_sqr2_lo: .fill $200, 0
  // >g(x) = >((( x - 255) * ( x - 255 ))/4)
  .align $100
  mulf_sqr2_hi: .fill $200, 0
  // True type letter c
  letter_c: .byte MOVE_TO
  .word $6c, $92, 0, 0
  .byte SPLINE_TO
  .word $59, $b6, $67, $a9
  .byte SPLINE_TO
  .word $3b, $c3, $4b, $c3
  .byte SPLINE_TO
  .word $17, $b2, $26, $c3
  .byte SPLINE_TO
  .word 9, $84, 9, $a1
  .byte SPLINE_TO
  .word $19, $57, 9, $68
  .byte SPLINE_TO
  .word $41, $45, $2a, $45
  .byte SPLINE_TO
  .word $5d, $4f, $52, $45
  .byte SPLINE_TO
  .word $69, $62, $69, $58
  .byte SPLINE_TO
  .word $66, $6a, $69, $67
  .byte SPLINE_TO
  .word $5d, $6d, $62, $6d
  .byte SPLINE_TO
  .word $51, $68, $55, $6d
  .byte SPLINE_TO
  .word $4e, $5d, $4f, $65
  .byte SPLINE_TO
  .word $49, $52, $4e, $56
  .byte SPLINE_TO
  .word $3d, $4e, $45, $4e
  .byte SPLINE_TO
  .word $28, $58, $30, $4e
  .byte SPLINE_TO
  .word $1d, $79, $1d, $64
  .byte SPLINE_TO
  .word $28, $9e, $1d, $8e
  .byte SPLINE_TO
  .word $44, $ae, $32, $ae
  .byte SPLINE_TO
  .word $5b, $a6, $50, $ae
  .byte SPLINE_TO
  .word $68, $90, $62, $a0
  .byte LINE_TO
  .word $6c, $92, 0, 0
  // Sine and Cosine tables
  // Angles: $00=0, $80=PI,$100=2*PI
  // Sine/Cosine: signed fixed [-$7f,$7f]
  .align $40
SIN:
.for(var i=0;i<$140;i++)
        .byte >round($7fff*sin(i*2*PI/256))


ASSEMBLER OPTIMIZATIONS
Removing instruction jmp __b1
Removing instruction jmp __bend
Removing instruction jmp __b8
Removing instruction jmp __b9
Removing instruction jmp vicSelectGfxBank1
Removing instruction jmp vicSelectGfxBank1_toDd001
Removing instruction jmp vicSelectGfxBank1___b1
Removing instruction jmp toD0181
Removing instruction jmp __b7
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b10
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __b6
Removing instruction jmp __b1
Removing instruction jmp __b6
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b8
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b12
Removing instruction jmp __b13
Removing instruction jmp __b18
Removing instruction jmp __b1
Removing instruction jmp __b14
Removing instruction jmp __b15
Removing instruction jmp __b5
Removing instruction jmp __b6
Removing instruction jmp __b16
Removing instruction jmp __b8
Removing instruction jmp __b7
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b9
Removing instruction jmp __b17
Removing instruction jmp __b11
Removing instruction jmp __b10
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __breturn
Removing instruction jmp __b5
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b6
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b5
Removing instruction jmp __b4
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b5
Removing instruction jmp __b7
Removing instruction jmp __breturn
Removing instruction jmp __b9
Removing instruction jmp __b8
Removing instruction jmp __b4
Removing instruction jmp __b3
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #>0
Removing instruction lda #<0
Removing instruction lda #>0
Removing instruction lda #0
Removing instruction lda.z e+1
Removing instruction lda.z e1+1
Removing instruction ldy #0
Removing instruction lda #>-1
Replacing instruction lda #<0 with TXA
Removing instruction lda #>0
Removing instruction lda #0
Removing instruction ldy #0
Removing instruction ldy #0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __bbegin with __b1
Replacing label __b3_from___b3 with __b3
Replacing label __b3_from___b5 with __b3
Replacing label __b1 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b7_from___b16 with __b7
Replacing label __b7_from___b16 with __b7
Replacing label __b6_from___b7 with __b6
Replacing label __b6_from___b7 with __b6
Replacing label __b10_from___b17 with __b10
Replacing label __b10_from___b17 with __b10
Replacing label __b9_from___b10 with __b9
Replacing label __b9_from___b10 with __b9
Replacing label __b3_from___b10 with __b3
Replacing label __b1_from_sgn_u16 with __b1
Replacing label __b1_from___b1 with __b1
Replacing label __b1_from___b5 with __b1
Replacing label __b2_from___b1 with __b2
Replacing label __b2_from___b3 with __b2
Replacing label __b6_from___b1 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b4_from___b3 with __b4
Replacing label __b3_from___b4 with __b3
Replacing label __b9_from___b6 with __b8
Replacing label __b3_from___b2 with __b3
Removing instruction __bbegin:
Removing instruction __b1_from___bbegin:
Removing instruction main_from___b1:
Removing instruction __bend_from___b1:
Removing instruction __b8_from_main:
Removing instruction bitmap_init_from___b8:
Removing instruction __b9_from___b8:
Removing instruction bitmap_clear_from___b9:
Removing instruction vicSelectGfxBank1_toDd001_from_vicSelectGfxBank1:
Removing instruction vicSelectGfxBank1_toDd001:
Removing instruction toD0181_from_vicSelectGfxBank1___b1:
Removing instruction toD0181:
Removing instruction __b1:
Removing instruction __b2_from___b1:
Removing instruction bitmap_clear_from___b2:
Removing instruction show_letter_from___b10:
Removing instruction __b3_from___b3:
Removing instruction __b3_from___b5:
Removing instruction __b8_from___b2:
Removing instruction __b1_from___b2:
Removing instruction __b6_from___b5:
Removing instruction __b6_from___b7:
Removing instruction __b7_from___b16:
Removing instruction __b7_from___b8:
Removing instruction __b3_from___b10:
Removing instruction __b3_from___b7:
Removing instruction __b9_from___b10:
Removing instruction __b9_from___b2:
Removing instruction __b10_from___b11:
Removing instruction __b10_from___b17:
Removing instruction __b1_from_sgn_u16:
Removing instruction __breturn_from___b1:
Removing instruction __breturn_from_abs_u16:
Removing instruction __b1_from___b1:
Removing instruction __b1_from___b3:
Removing instruction __b1_from___b5:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b4:
Removing instruction __breturn:
Removing instruction __b1_from_bitmap_clear:
Removing instruction memset_from___b1:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b3:
Removing instruction __b1_from___b2:
Removing instruction __b6_from___b1:
Removing instruction __b6:
Removing instruction __b2_from___b6:
Removing instruction __b3_from___b4:
Removing instruction __b4_from___b3:
Removing instruction __b4_from___b5:
Removing instruction __b9_from___b6:
Removing instruction __b9:
Removing instruction __b8_from___b9:
Removing instruction __b3_from___b2:
Removing instruction __b3_from___b4:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __bend:
Removing instruction mulf_init_from_main:
Removing instruction __b8:
Removing instruction __b9:
Removing instruction vicSelectGfxBank1:
Removing instruction vicSelectGfxBank1___b1:
Removing instruction __b7:
Removing instruction __b1_from___b7:
Removing instruction __b10:
Removing instruction __b3_from___b10:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction __b1_from___b6:
Removing instruction __b1_from_show_letter:
Removing instruction rotate_from___b1:
Removing instruction __b6:
Removing instruction rotate_from___b6:
Removing instruction __b7:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction bitmap_line_from___b5:
Removing instruction __breturn:
Removing instruction __b1_from___b9:
Removing instruction __b8:
Removing instruction __b1_from_bitmap_plot_spline_8seg:
Removing instruction bitmap_line_from___b1:
Removing instruction __b2:
Removing instruction __breturn:
Removing instruction abs_u16_from_bitmap_line:
Removing instruction __b12:
Removing instruction abs_u16_from___b12:
Removing instruction __b13:
Removing instruction __b18:
Removing instruction sgn_u16_from___b1:
Removing instruction __b14:
Removing instruction sgn_u16_from___b14:
Removing instruction __b15:
Removing instruction __b5:
Removing instruction bitmap_plot_from___b6:
Removing instruction __b16:
Removing instruction __b8:
Removing instruction bitmap_plot_from___b3:
Removing instruction bitmap_plot_from___b9:
Removing instruction __b17:
Removing instruction __b11:
Removing instruction bitmap_plot_from___b4:
Removing instruction __breturn:
Removing instruction __breturn_from_sgn_u16:
Removing instruction __b1_from_spline_8segB:
Removing instruction __b2:
Removing instruction __breturn:
Removing instruction mulf16s_from_rotate:
Removing instruction __b1:
Removing instruction mulf16s_from___b1:
Removing instruction __b2:
Removing instruction mulf16s_from___b2:
Removing instruction __b3:
Removing instruction mulf16s_from___b3:
Removing instruction __b4:
Removing instruction __breturn:
Removing instruction __b5:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction __breturn:
Removing instruction memset_from_bitmap_clear:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b1_from_bitmap_init:
Removing instruction __b2_from___b1:
Removing instruction __b3_from___b2:
Removing instruction __b5:
Removing instruction __breturn:
Removing instruction __b1_from_mulf_init:
Removing instruction __b5_from___b1:
Removing instruction __b7:
Removing instruction __breturn:
Removing instruction __b8_from___b6:
Removing instruction __b5_from___b8:
Removing instruction __b4:
Removing instruction __b1_from___b3:
Succesful ASM optimization Pass5UnusedLabelElimination
Updating BasicUpstart to call main directly
Removing instruction jsr main
Succesful ASM optimization Pass5SkipBegin
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Skipping double jump to __breturn in jmp __breturn_from___b1
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label __breturn_from___b1 to b1
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b8
Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction ldy #0 with TAY
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction b1:
Removing instruction __breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
Fixing long branch [769] bne __b1 to beq
Fixing long branch [308] beq __b4 to bne

FINAL SYMBOL TABLE
(label) @1
(label) @begin
(label) @end
(const byte*) BITMAP_GRAPHICS = (byte*) 24576
(const byte*) BITMAP_SCREEN = (byte*) 23552
(const byte*) CIA2_PORT_A = (byte*) 56576
(const byte*) CIA2_PORT_A_DDR = (byte*) 56578
(const signed byte*) COS = (const signed byte*) SIN+(byte) $40
(const byte*) D011 = (byte*) 53265
(const byte*) D018 = (byte*) 53272
(const byte) LINE_TO = (byte) 2
(const byte) MOVE_TO = (byte) 0
(const byte) OFFSET_STRUCT_SEGMENT_TO = (byte) 1
(const byte) OFFSET_STRUCT_SEGMENT_VIA = (byte) 5
(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y = (byte) 2
(const byte) RADIX::BINARY = (number) 2
(const byte) RADIX::DECIMAL = (number) $a
(const byte) RADIX::HEXADECIMAL = (number) $10
(const byte) RADIX::OCTAL = (number) 8
(const byte*) RASTER = (byte*) 53266
(const signed byte*) SIN[(number) $140]  = kickasm {{ .for(var i=0;i<$140;i++)
        .byte >round($7fff*sin(i*2*PI/256))
 }}
(const byte) SIZEOF_STRUCT_SPLINEVECTOR16 = (byte) 4
(const struct SplineVector16*) SPLINE_8SEG[(number) 9]  = { fill( 9, 0) }
(const byte) SPLINE_TO = (byte) 1
(const byte) Segment::SegmentType::LINE_TO = (byte) 2
(const byte) Segment::SegmentType::MOVE_TO = (byte) 0
(const byte) Segment::SegmentType::SPLINE_TO = (byte) 1
(struct SplineVector16) Segment::to
(byte) Segment::type
(struct SplineVector16) Segment::via
(signed word) SplineVector16::x
(signed word) SplineVector16::y
(signed dword) SplineVector32::x
(signed dword) SplineVector32::y
(const byte) VIC_BMM = (byte) $20
(const byte) VIC_DEN = (byte) $10
(const byte) VIC_RSEL = (byte) 8
(const byte) WHITE = (byte) 1
(word()) abs_u16((word) abs_u16::w)
(byte~) abs_u16::$0 reg byte a 4.0
(byte~) abs_u16::$1 reg byte a 4.0
(label) abs_u16::@1
(label) abs_u16::@return
(word) abs_u16::return
(word) abs_u16::return#0 return zp[2]:6 4.0
(word) abs_u16::return#1 return zp[2]:6 4.0
(word) abs_u16::return#2 return zp[2]:6 4.0
(word) abs_u16::return#4 return zp[2]:6 2.0
(word) abs_u16::w
(word) abs_u16::w#0 w zp[2]:6 4.0
(word) abs_u16::w#1 w zp[2]:6 4.0
(word) abs_u16::w#2 w zp[2]:6 2.5
(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
(label) bitmap_clear::@1
(label) bitmap_clear::@return
(byte) bitmap_clear::bgcol
(byte) bitmap_clear::col
(const byte) bitmap_clear::col#0 col = (const byte) WHITE<<(byte) 4
(byte) bitmap_clear::fgcol
(byte*) bitmap_gfx
(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
(byte~) bitmap_init::$4 reg byte a 22.0
(byte~) bitmap_init::$5 reg byte a 22.0
(byte~) bitmap_init::$6 reg byte a 22.0
(byte~) bitmap_init::$7 zp[1]:36 5.5
(label) bitmap_init::@1
(label) bitmap_init::@2
(label) bitmap_init::@3
(label) bitmap_init::@4
(label) bitmap_init::@5
(label) bitmap_init::@6
(label) bitmap_init::@return
(byte) bitmap_init::bits
(byte) bitmap_init::bits#1 reg byte a 11.0
(byte) bitmap_init::bits#3 reg byte a 16.5
(byte) bitmap_init::bits#4 reg byte a 7.333333333333333
(byte*) bitmap_init::gfx
(byte*) bitmap_init::screen
(byte) bitmap_init::x
(byte) bitmap_init::x#1 reg byte x 16.5
(byte) bitmap_init::x#2 reg byte x 5.5
(byte) bitmap_init::y
(byte) bitmap_init::y#1 reg byte x 16.5
(byte) bitmap_init::y#2 reg byte x 5.5
(byte*) bitmap_init::yoffs
(byte*) bitmap_init::yoffs#1 yoffs zp[2]:16 22.0
(byte*) bitmap_init::yoffs#2 yoffs zp[2]:16 6.875
(byte*) bitmap_init::yoffs#4 yoffs zp[2]:16 11.0
(void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2)
(label) bitmap_line::@1
(label) bitmap_line::@10
(label) bitmap_line::@11
(label) bitmap_line::@12
(label) bitmap_line::@13
(label) bitmap_line::@14
(label) bitmap_line::@15
(label) bitmap_line::@16
(label) bitmap_line::@17
(label) bitmap_line::@18
(label) bitmap_line::@2
(label) bitmap_line::@3
(label) bitmap_line::@4
(label) bitmap_line::@5
(label) bitmap_line::@6
(label) bitmap_line::@7
(label) bitmap_line::@8
(label) bitmap_line::@9
(label) bitmap_line::@return
(word) bitmap_line::dx
(word) bitmap_line::dx#0 dx zp[2]:24 75.275
(word) bitmap_line::dy
(word) bitmap_line::dy#0 dy zp[2]:6 83.6388888888889
(word) bitmap_line::e
(word) bitmap_line::e#0 e zp[2]:16 4.0
(word) bitmap_line::e#1 e zp[2]:16 1334.6666666666667
(word) bitmap_line::e#2 e zp[2]:16 2002.0
(word) bitmap_line::e#3 e zp[2]:16 400.79999999999995
(word) bitmap_line::e#6 e zp[2]:16 1501.5
(word) bitmap_line::e1
(word) bitmap_line::e1#0 e1 zp[2]:2 4.0
(word) bitmap_line::e1#1 e1 zp[2]:2 1334.6666666666667
(word) bitmap_line::e1#2 e1 zp[2]:2 2002.0
(word) bitmap_line::e1#3 e1 zp[2]:2 400.79999999999995
(word) bitmap_line::e1#6 e1 zp[2]:2 1501.5
(word) bitmap_line::sx
(word) bitmap_line::sx#0 sx zp[2]:26 66.80000000000001
(word) bitmap_line::sy
(word) bitmap_line::sy#0 sy zp[2]:4 77.07692307692308
(word) bitmap_line::x
(word) bitmap_line::x#0 x zp[2]:12 48.34782608695653
(word) bitmap_line::x#1 x zp[2]:12 1001.0
(word) bitmap_line::x#12 x zp[2]:12 2002.0
(word) bitmap_line::x#13 x zp[2]:12 572.2857142857142
(word) bitmap_line::x#15 x zp[2]:12 572.0
(word) bitmap_line::x#6 x zp[2]:12 1002.0
(word) bitmap_line::x#7 x zp[2]:12 751.25
(word) bitmap_line::x1
(word) bitmap_line::x1#0 x1 zp[2]:12 50.5
(word) bitmap_line::x1#1 x1 zp[2]:12 400.4
(word) bitmap_line::x2
(word) bitmap_line::x2#0 x2 zp[2]:32 101.0
(word) bitmap_line::x2#10 x2 zp[2]:32 65.84375
(word) bitmap_line::x2#13 x2 zp[2]:32 1001.0
(word) bitmap_line::y
(word) bitmap_line::y#0 y zp[2]:14 50.45454545454547
(word) bitmap_line::y#1 y zp[2]:14 572.0
(word) bitmap_line::y#13 y zp[2]:14 2002.0
(word) bitmap_line::y#15 y zp[2]:14 429.2857142857143
(word) bitmap_line::y#2 y zp[2]:14 1001.0
(word) bitmap_line::y#4 y zp[2]:14 501.0
(word) bitmap_line::y#7 y zp[2]:14 2002.0
(word) bitmap_line::y1
(word) bitmap_line::y1#0 y1 zp[2]:14 67.33333333333333
(word) bitmap_line::y1#1 y1 zp[2]:14 500.5
(word) bitmap_line::y2
(word) bitmap_line::y2#0 y2 zp[2]:34 202.0
(word) bitmap_line::y2#11 y2 zp[2]:34 65.84375
(word) bitmap_line::y2#13 y2 zp[2]:34 2002.0
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
(word~) bitmap_plot::$1 zp[2]:30 4.0
(byte~) bitmap_plot::$2 reg byte a 4.0
(label) bitmap_plot::@return
(byte*) bitmap_plot::plotter
(word) bitmap_plot::plotter#0 plotter zp[2]:28 1.0
(byte*) bitmap_plot::plotter#1 plotter zp[2]:28 3.0
(word) bitmap_plot::x
(word) bitmap_plot::x#0 x zp[2]:12 4.0
(word) bitmap_plot::x#1 x zp[2]:12 2002.0
(word) bitmap_plot::x#2 x zp[2]:12 4.0
(word) bitmap_plot::x#3 x zp[2]:12 2002.0
(word) bitmap_plot::x#4 x zp[2]:12 502.5
(byte) bitmap_plot::y
(byte) bitmap_plot::y#0 reg byte x 2.0
(byte) bitmap_plot::y#1 reg byte x 1001.0
(byte) bitmap_plot::y#2 reg byte x 2.0
(byte) bitmap_plot::y#3 reg byte x 1001.0
(byte) bitmap_plot::y#4 reg byte x 2010.0
(const byte*) bitmap_plot_bit[(number) $100]  = { fill( $100, 0) }
(void()) bitmap_plot_spline_8seg()
(byte~) bitmap_plot_spline_8seg::$8 reg byte x 500.5
(byte~) bitmap_plot_spline_8seg::$9 reg byte x 1501.5
(label) bitmap_plot_spline_8seg::@1
(label) bitmap_plot_spline_8seg::@2
(label) bitmap_plot_spline_8seg::@return
(signed word) bitmap_plot_spline_8seg::current_x
(signed word) bitmap_plot_spline_8seg::current_x#0 current_x zp[2]:12 2.0
(signed word) bitmap_plot_spline_8seg::current_x#1 current_x zp[2]:12 500.5
(signed word) bitmap_plot_spline_8seg::current_x#2 current_x zp[2]:12 1003.0
(signed word) bitmap_plot_spline_8seg::current_y
(signed word) bitmap_plot_spline_8seg::current_y#0 current_y zp[2]:14 4.0
(signed word) bitmap_plot_spline_8seg::current_y#1 current_y zp[2]:14 667.3333333333334
(signed word) bitmap_plot_spline_8seg::current_y#2 current_y zp[2]:14 501.5
(byte) bitmap_plot_spline_8seg::n
(byte) bitmap_plot_spline_8seg::n#1 n zp[1]:36 1501.5
(byte) bitmap_plot_spline_8seg::n#2 n zp[1]:36 400.4
(const byte*) bitmap_plot_yhi[(number) $100]  = { fill( $100, 0) }
(const byte*) bitmap_plot_ylo[(number) $100]  = { fill( $100, 0) }
(byte*) bitmap_screen
(const struct Segment*) letter_c[(number) $16]  = { { type: (const byte) MOVE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $59, y: (signed word) $b6 }, via: { x: (signed word) $67, y: (signed word) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3b, y: (signed word) $c3 }, via: { x: (signed word) $4b, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $17, y: (signed word) $b2 }, via: { x: (signed word) $26, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) 9, y: (signed word) $84 }, via: { x: (signed word) 9, y: (signed word) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $19, y: (signed word) $57 }, via: { x: (signed word) 9, y: (signed word) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $41, y: (signed word) $45 }, via: { x: (signed word) $2a, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $4f }, via: { x: (signed word) $52, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $69, y: (signed word) $62 }, via: { x: (signed word) $69, y: (signed word) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $66, y: (signed word) $6a }, via: { x: (signed word) $69, y: (signed word) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $6d }, via: { x: (signed word) $62, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $51, y: (signed word) $68 }, via: { x: (signed word) $55, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $4e, y: (signed word) $5d }, via: { x: (signed word) $4f, y: (signed word) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $49, y: (signed word) $52 }, via: { x: (signed word) $4e, y: (signed word) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3d, y: (signed word) $4e }, via: { x: (signed word) $45, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $58 }, via: { x: (signed word) $30, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $1d, y: (signed word) $79 }, via: { x: (signed word) $1d, y: (signed word) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $9e }, via: { x: (signed word) $1d, y: (signed word) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $44, y: (signed word) $ae }, via: { x: (signed word) $32, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5b, y: (signed word) $a6 }, via: { x: (signed word) $50, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $68, y: (signed word) $90 }, via: { x: (signed word) $62, y: (signed word) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } } }
(void()) main()
(label) main::@1
(label) main::@10
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@8
(label) main::@9
(byte) main::angle
(byte) main::angle#1 angle zp[1]:18 22.0
(byte) main::angle#2 angle zp[1]:18 3.3000000000000003
(label) main::toD0181
(byte*) main::toD0181_gfx
(byte) main::toD0181_return
(const byte) main::toD0181_return#0 toD0181_return = >(word)(const byte*) BITMAP_SCREEN&(word) $3fff*(byte) 4|>(word)(const byte*) BITMAP_GRAPHICS/(byte) 4&(byte) $f
(byte*) main::toD0181_screen
(label) main::vicSelectGfxBank1
(label) main::vicSelectGfxBank1_@1
(byte*) main::vicSelectGfxBank1_gfx
(label) main::vicSelectGfxBank1_toDd001
(byte*) main::vicSelectGfxBank1_toDd001_gfx
(byte) main::vicSelectGfxBank1_toDd001_return
(const byte) main::vicSelectGfxBank1_toDd001_return#0 vicSelectGfxBank1_toDd001_return = (byte) 3^>(word)(const byte*) BITMAP_SCREEN/(byte) $40
(byte) main::w
(byte) main::w#1 reg byte x 151.5
(byte) main::w#4 reg byte x 734.6666666666666
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(label) memset::@1
(label) memset::@2
(label) memset::@3
(label) memset::@return
(byte) memset::c
(byte) memset::c#4 reg byte x 12.625
(byte*) memset::dst
(byte*) memset::dst#1 dst zp[2]:14 202.0
(byte*) memset::dst#2 dst zp[2]:14 135.33333333333331
(byte*) memset::dst#4 dst zp[2]:14 4.0
(byte*) memset::end
(byte*) memset::end#0 end zp[2]:12 17.166666666666664
(word) memset::num
(word) memset::num#2 num zp[2]:12 2.0
(void*) memset::return
(void*) memset::str
(void*) memset::str#3 str zp[2]:14
(signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b)
(word~) mulf16s::$13 zp[2]:34 4.0
(word~) mulf16s::$16 zp[2]:32 4.0
(word~) mulf16s::$17 zp[2]:34 4.0
(word~) mulf16s::$9 zp[2]:32 4.0
(label) mulf16s::@1
(label) mulf16s::@2
(label) mulf16s::@3
(label) mulf16s::@4
(label) mulf16s::@5
(label) mulf16s::@return
(signed word) mulf16s::a
(signed word) mulf16s::a#0 a zp[2]:6 2.0
(signed word) mulf16s::a#1 a zp[2]:6 2.0
(signed word) mulf16s::a#2 a zp[2]:6 2.0
(signed word) mulf16s::a#3 a zp[2]:6 2.0
(signed word) mulf16s::a#4 a zp[2]:6 0.7692307692307693
(signed word) mulf16s::b
(signed word) mulf16s::b#0 b zp[2]:16 4.0
(signed word) mulf16s::b#1 b zp[2]:16 4.0
(signed word) mulf16s::b#2 b zp[2]:16 4.0
(signed word) mulf16s::b#3 b zp[2]:16 4.0
(signed word) mulf16s::b#4 b zp[2]:16 0.9090909090909092
(dword) mulf16s::m
(dword) mulf16s::m#0 m zp[4]:8 2.0
(dword) mulf16s::m#1 m zp[4]:8 4.0
(dword) mulf16s::m#2 m zp[4]:8 4.0
(dword) mulf16s::m#4 m zp[4]:8 4.0
(dword) mulf16s::m#5 m zp[4]:8 2.5
(signed dword) mulf16s::return
(signed dword) mulf16s::return#0 return zp[4]:8 1.6666666666666665
(signed dword) mulf16s::return#10 return zp[4]:8 4.0
(signed dword) mulf16s::return#2 return zp[4]:8 4.0
(signed dword) mulf16s::return#3 return zp[4]:8 4.0
(signed dword) mulf16s::return#4 return zp[4]:8 4.0
(dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b)
(label) mulf16u::@return
(word) mulf16u::a
(word) mulf16u::a#0 a zp[2]:30 2.0
(word) mulf16u::b
(word) mulf16u::b#0 b zp[2]:32 2.0
(const word*) mulf16u::memA = (word*) 248
(const word*) mulf16u::memB = (word*) 250
(const dword*) mulf16u::memR = (dword*) 252
(dword) mulf16u::return
(dword) mulf16u::return#0 return zp[4]:8 1.3333333333333333
(dword) mulf16u::return#2 return zp[4]:8 4.0
(void()) mulf_init()
(byte~) mulf_init::$1 reg byte a 22.0
(byte~) mulf_init::$4 reg byte a 22.0
(byte~) mulf_init::$5 reg byte a 22.0
(label) mulf_init::@1
(label) mulf_init::@2
(label) mulf_init::@3
(label) mulf_init::@4
(label) mulf_init::@5
(label) mulf_init::@6
(label) mulf_init::@7
(label) mulf_init::@8
(label) mulf_init::@9
(label) mulf_init::@return
(byte) mulf_init::c
(byte) mulf_init::c#1 c zp[1]:18 2.5384615384615383
(byte) mulf_init::c#2 c zp[1]:18 11.0
(byte) mulf_init::dir
(byte) mulf_init::dir#2 dir zp[1]:19 4.125
(byte) mulf_init::dir#4 dir zp[1]:19 11.0
(word) mulf_init::sqr
(word) mulf_init::sqr#1 sqr zp[2]:28 11.0
(word) mulf_init::sqr#2 sqr zp[2]:28 22.0
(word) mulf_init::sqr#3 sqr zp[2]:28 9.166666666666666
(word) mulf_init::sqr#4 sqr zp[2]:28 5.5
(byte*) mulf_init::sqr1_hi
(byte*) mulf_init::sqr1_hi#1 sqr1_hi zp[2]:22 7.333333333333333
(byte*) mulf_init::sqr1_hi#2 sqr1_hi zp[2]:22 2.75
(byte*) mulf_init::sqr1_lo
(byte*) mulf_init::sqr1_lo#1 sqr1_lo zp[2]:20 22.0
(byte*) mulf_init::sqr1_lo#2 sqr1_lo zp[2]:20 3.142857142857143
(byte*) mulf_init::sqr2_hi
(byte*) mulf_init::sqr2_hi#1 sqr2_hi zp[2]:26 3.6666666666666665
(byte*) mulf_init::sqr2_hi#2 sqr2_hi zp[2]:26 8.25
(byte*) mulf_init::sqr2_lo
(byte*) mulf_init::sqr2_lo#1 sqr2_lo zp[2]:24 22.0
(byte*) mulf_init::sqr2_lo#2 sqr2_lo zp[2]:24 4.888888888888889
(byte) mulf_init::x_2
(byte) mulf_init::x_2#1 reg byte x 11.0
(byte) mulf_init::x_2#2 reg byte x 5.5
(byte) mulf_init::x_2#3 reg byte x 6.6000000000000005
(byte) mulf_init::x_255
(byte) mulf_init::x_255#1 reg byte x 6.6000000000000005
(byte) mulf_init::x_255#2 reg byte x 8.8
(const byte*) mulf_sqr1_hi[(number) $200]  = { fill( $200, 0) }
(const byte*) mulf_sqr1_lo[(number) $200]  = { fill( $200, 0) }
(const byte*) mulf_sqr2_hi[(number) $200]  = { fill( $200, 0) }
(const byte*) mulf_sqr2_lo[(number) $200]  = { fill( $200, 0) }
(struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
(signed dword~) rotate::$1 zp[4]:8 2.0
(signed word~) rotate::$10 zp[2]:28 4.0
(signed dword~) rotate::$11 zp[4]:8 2.0
(signed word~) rotate::$12 zp[2]:30 4.0
(signed word~) rotate::$13 zp[2]:30 4.0
(byte~) rotate::$15 reg byte a 2.0
(byte~) rotate::$18 reg byte a 2.0
(signed word~) rotate::$2 zp[2]:24 4.0
(signed dword~) rotate::$4 zp[4]:8 2.0
(signed word~) rotate::$5 zp[2]:26 4.0
(signed dword~) rotate::$8 zp[4]:8 2.0
(signed word~) rotate::$9 zp[2]:28 4.0
(label) rotate::@1
(label) rotate::@2
(label) rotate::@3
(label) rotate::@4
(label) rotate::@return
(byte) rotate::angle
(byte) rotate::angle#0 reg byte y 202.0
(byte) rotate::angle#1 reg byte y 202.0
(byte) rotate::angle#2 reg byte y 12.625
(signed word) rotate::cos_a
(signed word) rotate::cos_a#0 cos_a zp[2]:6 0.75
(struct SplineVector16) rotate::return
(signed word) rotate::return_x
(signed word) rotate::return_x#0 return_x zp[2]:32 101.0
(signed word) rotate::return_x#1 return_x zp[2]:32 101.0
(signed word) rotate::return_x#2 return_x zp[2]:32 34.0
(signed word) rotate::return_y
(signed word) rotate::return_y#0 return_y zp[2]:34 101.0
(signed word) rotate::return_y#1 return_y zp[2]:34 101.0
(signed word) rotate::return_y#2 return_y zp[2]:34 34.0
(signed word) rotate::rotated_x
(signed word) rotate::rotated_y
(signed word) rotate::sin_a
(signed word) rotate::sin_a#0 sin_a zp[2]:6 0.6666666666666666
(struct SplineVector16) rotate::vector
(signed word) rotate::vector_x
(signed word) rotate::vector_x#0 vector_x zp[2]:2 67.33333333333333
(signed word) rotate::vector_x#1 vector_x zp[2]:2 67.33333333333333
(signed word) rotate::vector_x#2 vector_x zp[2]:2 7.9230769230769225
(signed word) rotate::vector_y
(signed word) rotate::vector_y#0 vector_y zp[2]:4 101.0
(signed word) rotate::vector_y#1 vector_y zp[2]:4 101.0
(signed word) rotate::vector_y#2 vector_y zp[2]:4 11.444444444444443
(signed word) rotate::xr
(signed word) rotate::xr#0 xr zp[2]:24 0.25
(signed word) rotate::xr#1 xr zp[2]:24 0.4444444444444444
(signed word) rotate::yr
(signed word) rotate::yr#0 yr zp[2]:26 0.23529411764705882
(signed word) rotate::yr#1 yr zp[2]:26 1.3333333333333333
(word()) sgn_u16((word) sgn_u16::w)
(byte~) sgn_u16::$0 reg byte a 4.0
(byte~) sgn_u16::$1 reg byte a 4.0
(label) sgn_u16::@1
(label) sgn_u16::@return
(word) sgn_u16::return
(word) sgn_u16::return#0 return zp[2]:4 4.0
(word) sgn_u16::return#1 return zp[2]:4 4.0
(word) sgn_u16::return#4 return zp[2]:4 1.0
(word) sgn_u16::w
(word) sgn_u16::w#0 w zp[2]:16 4.0
(word) sgn_u16::w#1 w zp[2]:16 4.0
(word) sgn_u16::w#2 w zp[2]:16 6.0
(void()) show_letter((byte) show_letter::angle)
(struct SplineVector16~) show_letter::$2
(byte~) show_letter::$20 reg byte x 151.5
(byte~) show_letter::$21 reg byte x 151.5
(byte~) show_letter::$22 reg byte a 202.0
(byte~) show_letter::$23 reg byte a 202.0
(byte~) show_letter::$25 reg byte a 202.0
(byte~) show_letter::$27 reg byte a 202.0
(struct SplineVector16~) show_letter::$7
(label) show_letter::@1
(label) show_letter::@2
(label) show_letter::@3
(label) show_letter::@4
(label) show_letter::@5
(label) show_letter::@6
(label) show_letter::@7
(label) show_letter::@8
(label) show_letter::@9
(label) show_letter::@return
(byte) show_letter::angle
(byte) show_letter::angle#0 angle zp[1]:18 3.6724137931034484
(signed word) show_letter::current_x
(signed word) show_letter::current_x#10 current_x_1 zp[2]:20 7.76923076923077
(signed word) show_letter::current_x#11 current_x zp[2]:12 101.0
(signed word) show_letter::current_x#4 current_x zp[2]:12 5.315789473684211
(signed word) show_letter::current_y
(signed word) show_letter::current_y#10 current_y_1 zp[2]:22 7.76923076923077
(signed word) show_letter::current_y#11 current_y zp[2]:14 202.0
(signed word) show_letter::current_y#4 current_y zp[2]:14 5.05
(byte) show_letter::i
(byte) show_letter::i#1 i zp[1]:19 75.75
(byte) show_letter::i#10 i zp[1]:19 15.538461538461537
(struct SplineVector16) show_letter::segment_to
(signed word) show_letter::segment_to_x
(signed word) show_letter::segment_to_y
(byte) show_letter::segment_type
(byte) show_letter::segment_type#0 reg byte a 151.5
(struct SplineVector16) show_letter::segment_via
(signed word) show_letter::segment_via_x
(signed word) show_letter::segment_via_x#0 segment_via_x zp[2]:32 22.444444444444443
(signed word) show_letter::segment_via_y
(signed word) show_letter::segment_via_y#0 segment_via_y zp[2]:34 22.444444444444443
(signed word) show_letter::to_x
(signed word) show_letter::to_x#0 to_x zp[2]:2 101.0
(signed word) show_letter::to_x#1 to_x zp[2]:2 101.0
(signed word) show_letter::to_x#2 to_x_1 zp[2]:32 101.0
(signed word) show_letter::to_y
(signed word) show_letter::to_y#0 to_y zp[2]:4 101.0
(signed word) show_letter::to_y#1 to_y zp[2]:4 101.0
(signed word) show_letter::to_y#2 to_y_1 zp[2]:34 101.0
(signed word) show_letter::via_x
(signed word) show_letter::via_x#0 via_x zp[2]:2 101.0
(signed word) show_letter::via_x#1 via_x zp[2]:2 101.0
(signed word) show_letter::via_x#2 via_x_1 zp[2]:32 101.0
(signed word) show_letter::via_y
(signed word) show_letter::via_y#0 via_y zp[2]:4 101.0
(signed word) show_letter::via_y#1 via_y zp[2]:4 101.0
(signed word) show_letter::via_y#2 via_y_1 zp[2]:34 101.0
(void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
(signed word~) spline_8segB::$0 zp[2]:30 4.0
(signed word~) spline_8segB::$1 zp[2]:30 4.0
(signed word~) spline_8segB::$10 zp[2]:32 4.0
(signed word~) spline_8segB::$12 zp[2]:34 4.0
(signed word~) spline_8segB::$18 zp[2]:12 4.0
(signed word~) spline_8segB::$19 zp[2]:12 1.3333333333333333
(signed word~) spline_8segB::$20 zp[2]:14 4.0
(signed word~) spline_8segB::$21 zp[2]:14 2.0
(signed word~) spline_8segB::$22 zp[2]:26 2002.0
(signed word~) spline_8segB::$23 zp[2]:26 500.5
(signed word~) spline_8segB::$24 zp[2]:28 2002.0
(signed word~) spline_8segB::$25 zp[2]:28 667.3333333333334
(signed word~) spline_8segB::$3 zp[2]:24 4.0
(byte~) spline_8segB::$31 reg byte x 1501.5
(signed word~) spline_8segB::$4 zp[2]:24 4.0
(signed word~) spline_8segB::$6 zp[2]:32 4.0
(signed word~) spline_8segB::$8 zp[2]:34 4.0
(label) spline_8segB::@1
(label) spline_8segB::@2
(label) spline_8segB::@return
(signed word) spline_8segB::a_x
(signed word) spline_8segB::a_x#0 a_x zp[2]:30 0.5
(signed word) spline_8segB::a_y
(signed word) spline_8segB::a_y#0 a_y zp[2]:24 0.6000000000000001
(signed word) spline_8segB::b_x
(signed word) spline_8segB::b_x#0 b_x zp[2]:32 1.3333333333333333
(signed word) spline_8segB::b_y
(signed word) spline_8segB::b_y#0 b_y zp[2]:34 1.3333333333333333
(signed word) spline_8segB::i_x
(signed word) spline_8segB::i_x#0 i_x zp[2]:32 0.5714285714285714
(signed word) spline_8segB::i_x#1 i_x zp[2]:32 500.5
(signed word) spline_8segB::i_x#2 i_x zp[2]:32 300.5
(signed word) spline_8segB::i_y
(signed word) spline_8segB::i_y#0 i_y zp[2]:34 0.8
(signed word) spline_8segB::i_y#1 i_y zp[2]:34 667.3333333333334
(signed word) spline_8segB::i_y#2 i_y zp[2]:34 273.1818181818182
(signed word) spline_8segB::j_x
(signed word) spline_8segB::j_x#0 j_x zp[2]:30 55.72222222222223
(signed word) spline_8segB::j_y
(signed word) spline_8segB::j_y#0 j_y zp[2]:24 59.0
(byte) spline_8segB::n
(byte) spline_8segB::n#1 reg byte y 1501.5
(byte) spline_8segB::n#2 reg byte y 250.25
(struct SplineVector16) spline_8segB::p0
(signed word) spline_8segB::p0_x
(signed word) spline_8segB::p0_x#0 p0_x zp[2]:12 4.863636363636363
(signed word) spline_8segB::p0_y
(signed word) spline_8segB::p0_y#0 p0_y zp[2]:14 4.863636363636363
(struct SplineVector16) spline_8segB::p1
(signed word) spline_8segB::p1_x
(signed word) spline_8segB::p1_x#0 p1_x zp[2]:32 10.499999999999998
(signed word) spline_8segB::p1_y
(signed word) spline_8segB::p1_y#0 p1_y zp[2]:34 9.545454545454545
(struct SplineVector16) spline_8segB::p2
(signed word) spline_8segB::p2_x
(signed word) spline_8segB::p2_x#0 p2_x zp[2]:20 34.33333333333333
(signed word) spline_8segB::p2_y
(signed word) spline_8segB::p2_y#0 p2_y zp[2]:22 20.599999999999998
(signed word) spline_8segB::p_x
(signed word) spline_8segB::p_x#0 p_x zp[2]:12 2.0
(signed word) spline_8segB::p_x#1 p_x zp[2]:12 334.0
(signed word) spline_8segB::p_x#2 p_x zp[2]:12 375.625
(signed word) spline_8segB::p_y
(signed word) spline_8segB::p_y#0 p_y zp[2]:14 4.0
(signed word) spline_8segB::p_y#1 p_y zp[2]:14 286.2857142857143
(signed word) spline_8segB::p_y#2 p_y zp[2]:14 333.8888888888889

reg byte x [ main::w#4 main::w#1 ]
reg byte x [ bitmap_plot::y#4 bitmap_plot::y#3 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 ]
reg byte y [ spline_8segB::n#2 spline_8segB::n#1 ]
reg byte y [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ]
zp[2]:2 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 show_letter::to_x#0 show_letter::via_x#0 bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ]
zp[2]:4 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 show_letter::to_y#0 show_letter::via_y#0 sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ]
zp[2]:6 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 rotate::sin_a#0 abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ]
zp[4]:8 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$1 mulf16s::return#3 rotate::$4 mulf16s::return#4 rotate::$8 mulf16s::return#10 rotate::$11 mulf16u::return#0 ]
zp[2]:12 [ memset::num#2 memset::end#0 show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#3 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 spline_8segB::p0_x#0 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 spline_8segB::$19 ]
zp[2]:14 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 spline_8segB::$21 ]
reg byte x [ memset::c#4 ]
reg byte a [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ]
reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ]
zp[2]:16 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ]
zp[1]:18 [ mulf_init::c#2 mulf_init::c#1 main::angle#2 main::angle#1 show_letter::angle#0 ]
reg byte x [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
zp[1]:19 [ mulf_init::dir#2 mulf_init::dir#4 show_letter::i#10 show_letter::i#1 ]
reg byte a [ show_letter::$23 ]
reg byte x [ show_letter::$20 ]
zp[2]:20 [ show_letter::current_x#10 spline_8segB::p2_x#0 mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
zp[2]:22 [ show_letter::current_y#10 spline_8segB::p2_y#0 mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
reg byte a [ show_letter::$25 ]
reg byte x [ show_letter::$21 ]
reg byte a [ show_letter::$27 ]
reg byte a [ show_letter::$22 ]
reg byte a [ show_letter::segment_type#0 ]
reg byte x [ bitmap_plot_spline_8seg::$8 ]
reg byte x [ bitmap_plot_spline_8seg::$9 ]
reg byte a [ bitmap_plot::$2 ]
reg byte a [ sgn_u16::$0 ]
reg byte a [ sgn_u16::$1 ]
reg byte a [ abs_u16::$0 ]
reg byte a [ abs_u16::$1 ]
reg byte x [ spline_8segB::$31 ]
zp[2]:24 [ rotate::$2 rotate::xr#0 rotate::xr#1 spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 bitmap_line::dx#0 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
zp[2]:26 [ rotate::$5 rotate::yr#0 rotate::yr#1 spline_8segB::$22 spline_8segB::$23 bitmap_line::sx#0 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
zp[2]:28 [ rotate::$9 rotate::$10 spline_8segB::$24 spline_8segB::$25 bitmap_plot::plotter#0 bitmap_plot::plotter#1 mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
reg byte a [ rotate::$15 ]
reg byte a [ rotate::$18 ]
zp[2]:30 [ mulf16u::a#0 rotate::$12 rotate::$13 spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 bitmap_plot::$1 ]
zp[2]:32 [ mulf16s::$9 mulf16s::$16 mulf16u::b#0 spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 show_letter::segment_via_x#0 spline_8segB::p1_x#0 rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 rotate::return_x#1 show_letter::via_x#2 bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ]
zp[2]:34 [ mulf16s::$13 mulf16s::$17 spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 show_letter::segment_via_y#0 spline_8segB::p1_y#0 rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 rotate::return_y#1 show_letter::via_y#2 bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ]
zp[1]:36 [ bitmap_init::$7 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ]
reg byte a [ bitmap_init::$4 ]
reg byte a [ bitmap_init::$5 ]
reg byte a [ bitmap_init::$6 ]
reg byte a [ mulf_init::$1 ]
reg byte a [ mulf_init::$4 ]
reg byte a [ mulf_init::$5 ]


FINAL ASSEMBLER
Score: 678156

  // File Comments
// Show a few simple splines using the splines library
  // Upstart
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
  // Global Constants & labels
  .label RASTER = $d012
  .label D011 = $d011
  .const VIC_BMM = $20
  .const VIC_DEN = $10
  .const VIC_RSEL = 8
  .label D018 = $d018
  // CIA#2 Port A: Serial bus, RS-232, VIC memory bank
  .label CIA2_PORT_A = $dd00
  // CIA #2 Port A data direction register.
  .label CIA2_PORT_A_DDR = $dd02
  .const WHITE = 1
  .label BITMAP_SCREEN = $5c00
  .label BITMAP_GRAPHICS = $6000
  .const MOVE_TO = 0
  .const SPLINE_TO = 1
  .const LINE_TO = 2
  .const SIZEOF_STRUCT_SPLINEVECTOR16 = 4
  .const OFFSET_STRUCT_SPLINEVECTOR16_Y = 2
  .const OFFSET_STRUCT_SEGMENT_TO = 1
  .const OFFSET_STRUCT_SEGMENT_VIA = 5
  .label COS = SIN+$40
  // @begin
  // [1] phi from @begin to @1 [phi:@begin->@1]
  // @1
  // [2] call main 
  // [4] phi from @1 to main [phi:@1->main]
  // [3] phi from @1 to @end [phi:@1->@end]
  // @end
  // main
main: {
    .const vicSelectGfxBank1_toDd001_return = 3^(>BITMAP_SCREEN)/$40
    .const toD0181_return = (>(BITMAP_SCREEN&$3fff)*4)|(>BITMAP_GRAPHICS)/4&$f
    .label angle = $12
    // mulf_init()
    // [5] call mulf_init 
    // [309] phi from main to mulf_init [phi:main->mulf_init]
    jsr mulf_init
    // [6] phi from main to main::@8 [phi:main->main::@8]
    // main::@8
    // bitmap_init(BITMAP_GRAPHICS, BITMAP_SCREEN)
    // [7] call bitmap_init 
    // [287] phi from main::@8 to bitmap_init [phi:main::@8->bitmap_init]
    jsr bitmap_init
    // [8] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
    // main::@9
    // bitmap_clear(BLACK, WHITE)
    // [9] call bitmap_clear 
    // [273] phi from main::@9 to bitmap_clear [phi:main::@9->bitmap_clear]
    jsr bitmap_clear
    // main::vicSelectGfxBank1
    // *CIA2_PORT_A_DDR = %00000011
    // [10] *((const byte*) CIA2_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 
    lda #3
    sta CIA2_PORT_A_DDR
    // [11] phi from main::vicSelectGfxBank1 to main::vicSelectGfxBank1_toDd001 [phi:main::vicSelectGfxBank1->main::vicSelectGfxBank1_toDd001]
    // main::vicSelectGfxBank1_toDd001
    // main::vicSelectGfxBank1_@1
    // *CIA2_PORT_A = toDd00(gfx)
    // [12] *((const byte*) CIA2_PORT_A) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0 -- _deref_pbuc1=vbuc2 
    lda #vicSelectGfxBank1_toDd001_return
    sta CIA2_PORT_A
    // [13] phi from main::vicSelectGfxBank1_@1 to main::toD0181 [phi:main::vicSelectGfxBank1_@1->main::toD0181]
    // main::toD0181
    // main::@7
    // *D018 = toD018(BITMAP_SCREEN, BITMAP_GRAPHICS)
    // [14] *((const byte*) D018) ← (const byte) main::toD0181_return#0 -- _deref_pbuc1=vbuc2 
    lda #toD0181_return
    sta D018
    // *D011 = VIC_BMM|VIC_DEN|VIC_RSEL|3
    // [15] *((const byte*) D011) ← (const byte) VIC_BMM|(const byte) VIC_DEN|(const byte) VIC_RSEL|(byte) 3 -- _deref_pbuc1=vbuc2 
    lda #VIC_BMM|VIC_DEN|VIC_RSEL|3
    sta D011
    // [16] phi from main::@7 to main::@1 [phi:main::@7->main::@1]
    // [16] phi (byte) main::angle#2 = (byte) 0 [phi:main::@7->main::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z angle
    // main::@1
    // [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
    // main::@2
  __b2:
    // bitmap_clear(BLACK, WHITE)
    // [18] call bitmap_clear 
    // [273] phi from main::@2 to bitmap_clear [phi:main::@2->bitmap_clear]
    jsr bitmap_clear
    // main::@10
    // show_letter(angle)
    // [19] (byte) show_letter::angle#0 ← (byte) main::angle#2
    // [20] call show_letter 
    // [27] phi from main::@10 to show_letter [phi:main::@10->show_letter]
    jsr show_letter
    // [21] phi from main::@10 to main::@3 [phi:main::@10->main::@3]
    // [21] phi (byte) main::w#4 = (byte) 0 [phi:main::@10->main::@3#0] -- vbuxx=vbuc1 
    ldx #0
    // [21] phi from main::@3 main::@5 to main::@3 [phi:main::@3/main::@5->main::@3]
    // [21] phi (byte) main::w#4 = (byte) main::w#4 [phi:main::@3/main::@5->main::@3#0] -- register_copy 
    // main::@3
  __b3:
    // while(*RASTER!=0xfe)
    // [22] if(*((const byte*) RASTER)!=(byte) $fe) goto main::@3 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$fe
    cmp RASTER
    bne __b3
    // main::@4
  __b4:
    // while(*RASTER!=0xff)
    // [23] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@4 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$ff
    cmp RASTER
    bne __b4
    // main::@5
    // for ( byte w: 0..60)
    // [24] (byte) main::w#1 ← ++ (byte) main::w#4 -- vbuxx=_inc_vbuxx 
    inx
    // [25] if((byte) main::w#1!=(byte) $3d) goto main::@3 -- vbuxx_neq_vbuc1_then_la1 
    cpx #$3d
    bne __b3
    // main::@6
    // angle += 9
    // [26] (byte) main::angle#1 ← (byte) main::angle#2 + (byte) 9 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z angle
    axs #-[9]
    stx.z angle
    // [16] phi from main::@6 to main::@1 [phi:main::@6->main::@1]
    // [16] phi (byte) main::angle#2 = (byte) main::angle#1 [phi:main::@6->main::@1#0] -- register_copy 
    jmp __b2
}
  // show_letter
// show_letter(byte zp($12) angle)
show_letter: {
    .label angle = $12
    .label to_x = 2
    .label to_y = 4
    .label to_x_1 = $20
    .label to_y_1 = $22
    .label via_x = 2
    .label via_y = 4
    .label via_x_1 = $20
    .label via_y_1 = $22
    .label segment_via_x = $20
    .label segment_via_y = $22
    .label i = $13
    .label current_x = $c
    .label current_y = $e
    .label current_x_1 = $14
    .label current_y_1 = $16
    // [28] phi from show_letter to show_letter::@1 [phi:show_letter->show_letter::@1]
    // [28] phi (signed word) show_letter::current_y#4 = (signed word) 0 [phi:show_letter->show_letter::@1#0] -- vwsz1=vwsc1 
    lda #<0
    sta.z current_y
    sta.z current_y+1
    // [28] phi (signed word) show_letter::current_x#4 = (signed word) 0 [phi:show_letter->show_letter::@1#1] -- vwsz1=vwsc1 
    sta.z current_x
    sta.z current_x+1
    // [28] phi (byte) show_letter::i#10 = (byte) 0 [phi:show_letter->show_letter::@1#2] -- vbuz1=vbuc1 
    sta.z i
    // show_letter::@1
  __b1:
    // to = letter_c[i].to
    // [29] (byte~) show_letter::$23 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 
    lda.z i
    asl
    asl
    asl
    // [30] (byte~) show_letter::$20 ← (byte~) show_letter::$23 + (byte) show_letter::i#10 -- vbuxx=vbuaa_plus_vbuz1 
    clc
    adc.z i
    tax
    // [31] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$20) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO,x
    sta.z to_x
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,x
    sta.z to_x+1
    // [32] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$20) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z to_y
    lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z to_y+1
    // to = { to.x - 50, to.y - 150}
    // [33] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 
    lda.z to_x
    sec
    sbc #$32
    sta.z to_x
    lda.z to_x+1
    sbc #>$32
    sta.z to_x+1
    // [34] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 
    lda.z to_y
    sec
    sbc #<$96
    sta.z to_y
    lda.z to_y+1
    sbc #>$96
    sta.z to_y+1
    // rotate(to, angle)
    // [35] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1
    // [36] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1
    // [37] (byte) rotate::angle#0 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 
    ldy.z angle
    // [38] call rotate 
    // [212] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate]
    // [212] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy 
    // [212] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy 
    // [212] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy 
    jsr rotate
    // rotate(to, angle)
    // [39] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2
    // [40] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2
    // show_letter::@6
    // to = rotate(to, angle)
    // [41] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0
    // [42] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0
    // to.x + 100
    // [43] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z to_x_1
    clc
    adc #<$64
    sta.z current_x_1
    lda.z to_x_1+1
    adc #>$64
    sta.z current_x_1+1
    // to.y + 100
    // [44] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z to_y_1
    clc
    adc #<$64
    sta.z current_y_1
    lda.z to_y_1+1
    adc #>$64
    sta.z current_y_1+1
    // via = letter_c[i].via
    // [45] (byte~) show_letter::$25 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 
    lda.z i
    asl
    asl
    asl
    // [46] (byte~) show_letter::$21 ← (byte~) show_letter::$25 + (byte) show_letter::i#10 -- vbuxx=vbuaa_plus_vbuz1 
    clc
    adc.z i
    tax
    // [47] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$21) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,x
    sta.z via_x
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,x
    sta.z via_x+1
    // [48] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$21) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z via_y
    lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z via_y+1
    // via = { via.x - 50, via.y - 150}
    // [49] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 
    lda.z via_x
    sec
    sbc #$32
    sta.z via_x
    lda.z via_x+1
    sbc #>$32
    sta.z via_x+1
    // [50] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 
    lda.z via_y
    sec
    sbc #<$96
    sta.z via_y
    lda.z via_y+1
    sbc #>$96
    sta.z via_y+1
    // rotate(via, angle)
    // [51] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1
    // [52] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1
    // [53] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 
    ldy.z angle
    // [54] call rotate 
    // [212] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate]
    // [212] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy 
    // [212] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy 
    // [212] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy 
    jsr rotate
    // rotate(via, angle)
    // [55] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2
    // [56] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2
    // show_letter::@7
    // via = rotate(via, angle)
    // [57] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1
    // [58] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1
    // via.x + 100
    // [59] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z segment_via_x
    clc
    adc #<$64
    sta.z segment_via_x
    lda.z segment_via_x+1
    adc #>$64
    sta.z segment_via_x+1
    // via.y + 100
    // [60] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z segment_via_y
    clc
    adc #<$64
    sta.z segment_via_y
    lda.z segment_via_y+1
    adc #>$64
    sta.z segment_via_y+1
    // segment = { letter_c[i].type, to, via}
    // [61] (byte~) show_letter::$27 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 
    lda.z i
    asl
    asl
    asl
    // [62] (byte~) show_letter::$22 ← (byte~) show_letter::$27 + (byte) show_letter::i#10 -- vbuaa=vbuaa_plus_vbuz1 
    clc
    adc.z i
    // [63] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$22) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda letter_c,y
    // if(segment.type==MOVE_TO)
    // [64] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuaa_eq_vbuc1_then_la1 
    cmp #MOVE_TO
    beq __b3
    // show_letter::@4
    // if(segment.type==SPLINE_TO)
    // [65] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuaa_eq_vbuc1_then_la1 
    cmp #SPLINE_TO
    beq __b2
    // show_letter::@5
    // bitmap_line((unsigned int)current.x, (unsigned int)current.y, (unsigned int)segment.to.x, (unsigned int)segment.to.y)
    // [66] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4
    // [67] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4
    // [68] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 
    lda.z current_x_1
    sta.z bitmap_line.x2
    lda.z current_x_1+1
    sta.z bitmap_line.x2+1
    // [69] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 
    lda.z current_y_1
    sta.z bitmap_line.y2
    lda.z current_y_1+1
    sta.z bitmap_line.y2+1
    // [70] call bitmap_line 
    // [100] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line]
    // [100] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy 
    // [100] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy 
    // [100] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy 
    // [100] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy 
    jsr bitmap_line
    // show_letter::@3
  __b3:
    // for( byte i: 0..21)
    // [71] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [72] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 
    lda #$16
    cmp.z i
    bne __b9
    // show_letter::@return
    // }
    // [73] return 
    rts
    // show_letter::@9
  __b9:
    // [74] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 
    lda.z current_x_1
    sta.z current_x
    lda.z current_x_1+1
    sta.z current_x+1
    // [75] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 
    lda.z current_y_1
    sta.z current_y
    lda.z current_y_1+1
    sta.z current_y+1
    // [28] phi from show_letter::@9 to show_letter::@1 [phi:show_letter::@9->show_letter::@1]
    // [28] phi (signed word) show_letter::current_y#4 = (signed word) show_letter::current_y#11 [phi:show_letter::@9->show_letter::@1#0] -- register_copy 
    // [28] phi (signed word) show_letter::current_x#4 = (signed word) show_letter::current_x#11 [phi:show_letter::@9->show_letter::@1#1] -- register_copy 
    // [28] phi (byte) show_letter::i#10 = (byte) show_letter::i#1 [phi:show_letter::@9->show_letter::@1#2] -- register_copy 
    jmp __b1
    // show_letter::@2
  __b2:
    // spline_8segB(current, segment.via, segment.to)
    // [76] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4
    // [77] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4
    // [78] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0
    // [79] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0
    // [80] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10
    // [81] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10
    // [82] call spline_8segB 
    jsr spline_8segB
    // [83] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8]
    // show_letter::@8
    // bitmap_plot_spline_8seg()
    // [84] call bitmap_plot_spline_8seg 
    jsr bitmap_plot_spline_8seg
    jmp __b3
}
  // bitmap_plot_spline_8seg
// Plot the spline in the SPLINE_8SEG array
bitmap_plot_spline_8seg: {
    .label current_x = $c
    .label current_y = $e
    .label n = $24
    // current = SPLINE_8SEG[0]
    // [85] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 
    lda SPLINE_8SEG
    sta.z current_x
    lda SPLINE_8SEG+1
    sta.z current_x+1
    // [86] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y
    sta.z current_y
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1
    sta.z current_y+1
    // [87] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1]
    // [87] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- vbuz1=vbuc1 
    lda #1
    sta.z n
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- register_copy 
    // [87] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1]
    // [87] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy 
    // [87] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy 
    // bitmap_plot_spline_8seg::@1
  __b1:
    // bitmap_line((unsigned int)current.x, (unsigned int)current.y, (unsigned int)SPLINE_8SEG[n].x, (unsigned int)SPLINE_8SEG[n].y)
    // [88] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2
    // [89] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2
    // (unsigned int)SPLINE_8SEG[n].x
    // [90] (byte~) bitmap_plot_spline_8seg::$8 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuxx=vbuz1_rol_2 
    lda.z n
    asl
    asl
    tax
    // [91] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$8) -- vwuz1=pwuc1_derefidx_vbuxx 
    lda SPLINE_8SEG,x
    sta.z bitmap_line.x2
    lda SPLINE_8SEG+1,x
    sta.z bitmap_line.x2+1
    // [92] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$8) -- vwuz1=pwuc1_derefidx_vbuxx 
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z bitmap_line.y2
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z bitmap_line.y2+1
    // bitmap_line((unsigned int)current.x, (unsigned int)current.y, (unsigned int)SPLINE_8SEG[n].x, (unsigned int)SPLINE_8SEG[n].y)
    // [93] call bitmap_line 
    // [100] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line]
    // [100] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy 
    // [100] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy 
    // [100] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy 
    // [100] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy 
    jsr bitmap_line
    // bitmap_plot_spline_8seg::@2
    // current = SPLINE_8SEG[n]
    // [94] (byte~) bitmap_plot_spline_8seg::$9 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuxx=vbuz1_rol_2 
    lda.z n
    asl
    asl
    tax
    // [95] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$9) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda SPLINE_8SEG,x
    sta.z current_x
    lda SPLINE_8SEG+1,x
    sta.z current_x+1
    // [96] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$9) -- vwsz1=pwsc1_derefidx_vbuxx 
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    sta.z current_y
    lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    sta.z current_y+1
    // for(char n:1..8)
    // [97] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 
    inc.z n
    // [98] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #9
    cmp.z n
    bne __b1
    // bitmap_plot_spline_8seg::@return
    // }
    // [99] return 
    rts
}
  // bitmap_line
// Draw a line on the bitmap using bresenhams algorithm
// bitmap_line(word zp($c) x1, word zp($e) y1, word zp($20) x2, word zp($22) y2)
bitmap_line: {
    .label x = $c
    .label y = $e
    .label dx = $18
    .label dy = 6
    .label sx = $1a
    .label sy = 4
    .label e1 = 2
    .label e = $10
    .label x1 = $c
    .label y1 = $e
    .label x2 = $20
    .label y2 = $22
    // abs_u16(x2-x1)
    // [101] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z x2
    sec
    sbc.z x
    sta.z abs_u16.w
    lda.z x2+1
    sbc.z x+1
    sta.z abs_u16.w+1
    // [102] call abs_u16 
    // [166] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16]
    // [166] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy 
    jsr abs_u16
    // abs_u16(x2-x1)
    // [103] (word) abs_u16::return#0 ← (word) abs_u16::return#4
    // bitmap_line::@12
    // dx = abs_u16(x2-x1)
    // [104] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 
    lda.z abs_u16.return
    sta.z dx
    lda.z abs_u16.return+1
    sta.z dx+1
    // abs_u16(y2-y1)
    // [105] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z y2
    sec
    sbc.z y
    sta.z abs_u16.w
    lda.z y2+1
    sbc.z y+1
    sta.z abs_u16.w+1
    // [106] call abs_u16 
    // [166] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16]
    // [166] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy 
    jsr abs_u16
    // abs_u16(y2-y1)
    // [107] (word) abs_u16::return#1 ← (word) abs_u16::return#4
    // bitmap_line::@13
    // dy = abs_u16(y2-y1)
    // [108] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1
    // if(dx==0 && dy==0)
    // [109] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 
    lda.z dx
    bne __b1
    lda.z dx+1
    bne __b1
    // bitmap_line::@18
    // [110] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 
    lda.z dy
    bne !+
    lda.z dy+1
    bne !__b4+
    jmp __b4
  !__b4:
  !:
    // bitmap_line::@1
  __b1:
    // sgn_u16(x2-x1)
    // [111] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z x2
    sec
    sbc.z x
    sta.z sgn_u16.w
    lda.z x2+1
    sbc.z x+1
    sta.z sgn_u16.w+1
    // [112] call sgn_u16 
    // [159] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16]
    // [159] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy 
    jsr sgn_u16
    // sgn_u16(x2-x1)
    // [113] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4
    // bitmap_line::@14
    // sx = sgn_u16(x2-x1)
    // [114] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 
    lda.z sgn_u16.return
    sta.z sx
    lda.z sgn_u16.return+1
    sta.z sx+1
    // sgn_u16(y2-y1)
    // [115] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 
    lda.z y2
    sec
    sbc.z y
    sta.z sgn_u16.w
    lda.z y2+1
    sbc.z y+1
    sta.z sgn_u16.w+1
    // [116] call sgn_u16 
    // [159] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16]
    // [159] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy 
    jsr sgn_u16
    // sgn_u16(y2-y1)
    // [117] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4
    // bitmap_line::@15
    // sy = sgn_u16(y2-y1)
    // [118] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1
    // if(dx > dy)
    // [119] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 
    lda.z dy+1
    cmp.z dx+1
    bcc __b2
    bne !+
    lda.z dy
    cmp.z dx
    bcc __b2
  !:
    // bitmap_line::@5
    // e = dx/2
    // [120] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z dx+1
    lsr
    sta.z e+1
    lda.z dx
    ror
    sta.z e
    // [121] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6]
    // [121] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy 
    // [121] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy 
    // [121] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy 
    // bitmap_line::@6
  __b6:
    // bitmap_plot(x,(byte)y)
    // [122] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [123] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13
    // [124] call bitmap_plot 
    // [152] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot]
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    // bitmap_line::@16
    // y += sy
    // [125] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z y
    clc
    adc.z sy
    sta.z y
    lda.z y+1
    adc.z sy+1
    sta.z y+1
    // e += dx
    // [126] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z e
    clc
    adc.z dx
    sta.z e
    lda.z e+1
    adc.z dx+1
    sta.z e+1
    // if(dy<e)
    // [127] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 
    cmp.z dy+1
    bne !+
    lda.z e
    cmp.z dy
    beq __b7
  !:
    bcc __b7
    // bitmap_line::@8
    // x += sx
    // [128] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z x
    clc
    adc.z sx
    sta.z x
    lda.z x+1
    adc.z sx+1
    sta.z x+1
    // e -= dy
    // [129] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z e
    sec
    sbc.z dy
    sta.z e
    lda.z e+1
    sbc.z dy+1
    sta.z e+1
    // [130] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7]
    // [130] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy 
    // [130] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy 
    // bitmap_line::@7
  __b7:
    // while (y != y2)
    // [131] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 
    lda.z y+1
    cmp.z y2+1
    bne __b6
    lda.z y
    cmp.z y2
    bne __b6
    // [132] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3]
    // [132] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy 
    // [132] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy 
    // bitmap_line::@3
  __b3:
    // bitmap_plot(x,(byte)y)
    // [133] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [134] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6
    // [135] call bitmap_plot 
    // [152] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot]
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    // bitmap_line::@return
    // }
    // [136] return 
    rts
    // bitmap_line::@2
  __b2:
    // e = dy/2
    // [137] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 
    lda.z dy+1
    lsr
    sta.z e1+1
    lda.z dy
    ror
    sta.z e1
    // [138] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9]
    // [138] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy 
    // [138] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy 
    // [138] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy 
    // bitmap_line::@9
  __b9:
    // bitmap_plot(x,(byte)y)
    // [139] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [140] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7
    // [141] call bitmap_plot 
    // [152] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot]
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    // bitmap_line::@17
    // x += sx
    // [142] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z x
    clc
    adc.z sx
    sta.z x
    lda.z x+1
    adc.z sx+1
    sta.z x+1
    // e += dy
    // [143] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z e1
    clc
    adc.z dy
    sta.z e1
    lda.z e1+1
    adc.z dy+1
    sta.z e1+1
    // if(dx < e)
    // [144] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 
    cmp.z dx+1
    bne !+
    lda.z e1
    cmp.z dx
    beq __b10
  !:
    bcc __b10
    // bitmap_line::@11
    // y += sy
    // [145] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 
    lda.z y
    clc
    adc.z sy
    sta.z y
    lda.z y+1
    adc.z sy+1
    sta.z y+1
    // e -= dx
    // [146] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z e1
    sec
    sbc.z dx
    sta.z e1
    lda.z e1+1
    sbc.z dx+1
    sta.z e1+1
    // [147] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10]
    // [147] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy 
    // [147] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy 
    // bitmap_line::@10
  __b10:
    // while (x != x2)
    // [148] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 
    lda.z x+1
    cmp.z x2+1
    bne __b9
    lda.z x
    cmp.z x2
    bne __b9
    jmp __b3
    // bitmap_line::@4
  __b4:
    // bitmap_plot(x,(byte)y)
    // [149] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuxx=_byte_vwuz1 
    lda.z y
    tax
    // [150] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0
    // [151] call bitmap_plot 
    // [152] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot]
    // [152] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy 
    // [152] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy 
    jsr bitmap_plot
    rts
}
  // bitmap_plot
// Plot a single dot in the bitmap
// bitmap_plot(word zp($c) x, byte register(X) y)
bitmap_plot: {
    .label __1 = $1e
    .label plotter = $1c
    .label x = $c
    // (byte*) { bitmap_plot_yhi[y], bitmap_plot_ylo[y] }
    // [153] (word) bitmap_plot::plotter#0 ← *((const byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx 
    lda bitmap_plot_yhi,x
    sta.z plotter+1
    lda bitmap_plot_ylo,x
    sta.z plotter
    // x & $fff8
    // [154] (word~) bitmap_plot::$1 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 
    lda.z x
    and #<$fff8
    sta.z __1
    lda.z x+1
    and #>$fff8
    sta.z __1+1
    // plotter += ( x & $fff8 )
    // [155] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$1 -- pbuz1=pbuz1_plus_vwuz2 
    lda.z plotter
    clc
    adc.z __1
    sta.z plotter
    lda.z plotter+1
    adc.z __1+1
    sta.z plotter+1
    // <x
    // [156] (byte~) bitmap_plot::$2 ← < (word) bitmap_plot::x#4 -- vbuaa=_lo_vwuz1 
    lda.z x
    // *plotter |= bitmap_plot_bit[<x]
    // [157] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const byte*) bitmap_plot_bit + (byte~) bitmap_plot::$2) -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuaa 
    tay
    lda bitmap_plot_bit,y
    ldy #0
    ora (plotter),y
    sta (plotter),y
    // bitmap_plot::@return
    // }
    // [158] return 
    rts
}
  // sgn_u16
// Get the sign of a 16-bit unsigned number treated as a signed number.
// Returns unsigned -1 if the number is
// sgn_u16(word zp($10) w)
sgn_u16: {
    .label w = $10
    .label return = 4
    // >w
    // [160] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuaa=_hi_vwuz1 
    lda.z w+1
    // >w&0x80
    // [161] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // if(>w&0x80)
    // [162] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuaa_then_la1 
    cmp #0
    bne __b1
    // [164] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return]
    // [164] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 
    lda #<1
    sta.z return
    lda #>1
    sta.z return+1
    rts
    // [163] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1]
    // sgn_u16::@1
  __b1:
    // [164] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return]
    // [164] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 
    lda #<-1
    sta.z return
    sta.z return+1
    // sgn_u16::@return
    // }
    // [165] return 
    rts
}
  // abs_u16
// Get the absolute value of a 16-bit unsigned number treated as a signed number.
// abs_u16(word zp(6) w)
abs_u16: {
    .label w = 6
    .label return = 6
    // >w
    // [167] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuaa=_hi_vwuz1 
    lda.z w+1
    // >w&0x80
    // [168] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // if(>w&0x80)
    // [169] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuaa_then_la1 
    cmp #0
    bne __b1
    // [171] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return]
    // [171] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy 
    rts
    // abs_u16::@1
  __b1:
    // return -w;
    // [170] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 
    sec
    lda #0
    sbc.z return
    sta.z return
    lda #0
    sbc.z return+1
    sta.z return+1
    // abs_u16::@return
    // }
    // [172] return 
    rts
}
  // spline_8segB
// Generate a 8-segment quadratic spline using 16-bit fixed point 1/64-format math (6 decimal bits).
// The resulting spline segment points are returned in SPLINE_8SEG[]
// Point values must be within [-200 ; 1ff] for the calculation to not overflow.
// A quadratic spline is a curve defined by 3 points: P0, P1 and P2.
// The curve connects P0 to P2 through a smooth curve that moves towards P1, but does usually not touch it.
// spline_8segB(signed word zp($c) p0_x, signed word zp($e) p0_y, signed word zp($20) p1_x, signed word zp($22) p1_y, signed word zp($14) p2_x, signed word zp($16) p2_y)
spline_8segB: {
    .label __0 = $1e
    .label __1 = $1e
    .label __3 = $18
    .label __4 = $18
    .label __6 = $20
    .label __8 = $22
    .label __10 = $20
    .label __12 = $22
    .label __18 = $c
    .label __19 = $c
    .label __20 = $e
    .label __21 = $e
    .label __22 = $1a
    .label __23 = $1a
    .label __24 = $1c
    .label __25 = $1c
    .label a_x = $1e
    .label a_y = $18
    .label b_x = $20
    .label b_y = $22
    .label i_x = $20
    .label i_y = $22
    .label j_x = $1e
    .label j_y = $18
    .label p_x = $c
    .label p_y = $e
    .label p0_x = $c
    .label p0_y = $e
    .label p1_x = $20
    .label p1_y = $22
    .label p2_x = $14
    .label p2_y = $16
    // p1.x*2
    // [173] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z p1_x
    asl
    sta.z __0
    lda.z p1_x+1
    rol
    sta.z __0+1
    // p2.x - p1.x*2
    // [174] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz1 
    lda.z p2_x
    sec
    sbc.z __1
    sta.z __1
    lda.z p2_x+1
    sbc.z __1+1
    sta.z __1+1
    // a = { p2.x - p1.x*2 + p0.x, p2.y - p1.y*2 + p0.y}
    // [175] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z a_x
    clc
    adc.z p0_x
    sta.z a_x
    lda.z a_x+1
    adc.z p0_x+1
    sta.z a_x+1
    // p1.y*2
    // [176] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 
    lda.z p1_y
    asl
    sta.z __3
    lda.z p1_y+1
    rol
    sta.z __3+1
    // p2.y - p1.y*2
    // [177] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz1 
    lda.z p2_y
    sec
    sbc.z __4
    sta.z __4
    lda.z p2_y+1
    sbc.z __4+1
    sta.z __4+1
    // a = { p2.x - p1.x*2 + p0.x, p2.y - p1.y*2 + p0.y}
    // [178] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z a_y
    clc
    adc.z p0_y
    sta.z a_y
    lda.z a_y+1
    adc.z p0_y+1
    sta.z a_y+1
    // p1.x - p0.x
    // [179] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_minus_vwsz2 
    lda.z __6
    sec
    sbc.z p0_x
    sta.z __6
    lda.z __6+1
    sbc.z p0_x+1
    sta.z __6+1
    // b = { (p1.x - p0.x)*2, (p1.y - p0.y)*2 }
    // [180] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z b_x
    rol.z b_x+1
    // p1.y - p0.y
    // [181] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_minus_vwsz2 
    lda.z __8
    sec
    sbc.z p0_y
    sta.z __8
    lda.z __8+1
    sbc.z p0_y+1
    sta.z __8+1
    // b = { (p1.x - p0.x)*2, (p1.y - p0.y)*2 }
    // [182] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z b_y
    rol.z b_y+1
    // b.x*8
    // [183] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 
    asl.z __10
    rol.z __10+1
    asl.z __10
    rol.z __10+1
    asl.z __10
    rol.z __10+1
    // i = { a.x + b.x*8, a.y + b.y*8}
    // [184] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz1 
    lda.z i_x
    clc
    adc.z a_x
    sta.z i_x
    lda.z i_x+1
    adc.z a_x+1
    sta.z i_x+1
    // b.y*8
    // [185] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 
    asl.z __12
    rol.z __12+1
    asl.z __12
    rol.z __12+1
    asl.z __12
    rol.z __12+1
    // i = { a.x + b.x*8, a.y + b.y*8}
    // [186] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz1 
    lda.z i_y
    clc
    adc.z a_y
    sta.z i_y
    lda.z i_y+1
    adc.z a_y+1
    sta.z i_y+1
    // j = { a.x*2, a.y*2 }
    // [187] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z j_x
    rol.z j_x+1
    // [188] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z j_y
    rol.z j_y+1
    // p = { p0.x*0x40, p0.y*0x40 }
    // [189] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 
    lda.z p_x+1
    sta.z $ff
    lda.z p_x
    sta.z p_x+1
    lda #0
    sta.z p_x
    lsr.z $ff
    ror.z p_x+1
    ror.z p_x
    lsr.z $ff
    ror.z p_x+1
    ror.z p_x
    // [190] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 
    lda.z p_y+1
    sta.z $ff
    lda.z p_y
    sta.z p_y+1
    lda #0
    sta.z p_y
    lsr.z $ff
    ror.z p_y+1
    ror.z p_y
    lsr.z $ff
    ror.z p_y+1
    ror.z p_y
    // [191] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1]
    // [191] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy 
    // [191] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy 
    // [191] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuyy=vbuc1 
    tay
    // [191] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy 
    // [191] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1]
    // [191] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy 
    // [191] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy 
    // [191] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy 
    // [191] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy 
    // spline_8segB::@1
  __b1:
    // p.x+0x20
    // [192] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_x
    clc
    adc #<$20
    sta.z __22
    lda.z p_x+1
    adc #>$20
    sta.z __22+1
    // (p.x+0x20)/0x40
    // [193] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __23
    sta.z $ff
    lda.z __23+1
    sta.z __23
    lda #0
    bit.z __23+1
    bpl !+
    lda #$ff
  !:
    sta.z __23+1
    rol.z $ff
    rol.z __23
    rol.z __23+1
    rol.z $ff
    rol.z __23
    rol.z __23+1
    // p.y+0x20
    // [194] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 
    lda.z p_y
    clc
    adc #<$20
    sta.z __24
    lda.z p_y+1
    adc #>$20
    sta.z __24+1
    // (p.y+0x20)/0x40
    // [195] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __25
    sta.z $ff
    lda.z __25+1
    sta.z __25
    lda #0
    bit.z __25+1
    bpl !+
    lda #$ff
  !:
    sta.z __25+1
    rol.z $ff
    rol.z __25
    rol.z __25+1
    rol.z $ff
    rol.z __25
    rol.z __25+1
    // SPLINE_8SEG[n] = { (p.x+0x20)/0x40, (p.y+0x20)/0x40 }
    // [196] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuxx=vbuyy_rol_2 
    tya
    asl
    asl
    tax
    // [197] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuxx=vwsz1 
    lda.z __23
    sta SPLINE_8SEG,x
    lda.z __23+1
    sta SPLINE_8SEG+1,x
    // [198] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuxx=vwsz1 
    lda.z __25
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x
    lda.z __25+1
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x
    // p = { p.x+i.x, p.y+i.y }
    // [199] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z p_x
    clc
    adc.z i_x
    sta.z p_x
    lda.z p_x+1
    adc.z i_x+1
    sta.z p_x+1
    // [200] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z p_y
    clc
    adc.z i_y
    sta.z p_y
    lda.z p_y+1
    adc.z i_y+1
    sta.z p_y+1
    // i = { i.x+j.x, i.y+j.y }
    // [201] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z i_x
    clc
    adc.z j_x
    sta.z i_x
    lda.z i_x+1
    adc.z j_x+1
    sta.z i_x+1
    // [202] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 
    lda.z i_y
    clc
    adc.z j_y
    sta.z i_y
    lda.z i_y+1
    adc.z j_y+1
    sta.z i_y+1
    // for( char n: 0..7)
    // [203] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuyy=_inc_vbuyy 
    iny
    // [204] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuyy_neq_vbuc1_then_la1 
    cpy #8
    beq !__b1+
    jmp __b1
  !__b1:
    // spline_8segB::@2
    // p.x+0x20
    // [205] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z __18
    clc
    adc #<$20
    sta.z __18
    lda.z __18+1
    adc #>$20
    sta.z __18+1
    // (p.x+0x20)/0x40
    // [206] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __19
    sta.z $ff
    lda.z __19+1
    sta.z __19
    lda #0
    bit.z __19+1
    bpl !+
    lda #$ff
  !:
    sta.z __19+1
    rol.z $ff
    rol.z __19
    rol.z __19+1
    rol.z $ff
    rol.z __19
    rol.z __19+1
    // p.y+0x20
    // [207] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 
    lda.z __20
    clc
    adc #<$20
    sta.z __20
    lda.z __20+1
    adc #>$20
    sta.z __20+1
    // (p.y+0x20)/0x40
    // [208] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz1_ror_6 
    lda.z __21
    sta.z $ff
    lda.z __21+1
    sta.z __21
    lda #0
    bit.z __21+1
    bpl !+
    lda #$ff
  !:
    sta.z __21+1
    rol.z $ff
    rol.z __21
    rol.z __21+1
    rol.z $ff
    rol.z __21
    rol.z __21+1
    // SPLINE_8SEG[8] = { (p.x+0x20)/0x40, (p.y+0x20)/0x40 }
    // [209] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 
    lda.z __19
    sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16
    lda.z __19+1
    sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16+1
    // [210] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 
    lda.z __21
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16
    lda.z __21+1
    sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16+1
    // spline_8segB::@return
    // }
    // [211] return 
    rts
}
  // rotate
// 2D-rotate a vector by an angle
// rotate(signed word zp(2) vector_x, signed word zp(4) vector_y, byte register(Y) angle)
rotate: {
    .label __1 = 8
    .label __2 = $18
    .label __4 = 8
    .label __5 = $1a
    .label __8 = 8
    .label __9 = $1c
    .label __10 = $1c
    .label __11 = 8
    .label __12 = $1e
    .label __13 = $1e
    .label vector_x = 2
    .label vector_y = 4
    .label return_x = $20
    .label return_y = $22
    .label cos_a = 6
    .label xr = $18
    .label yr = $1a
    .label sin_a = 6
    // cos_a = (signed int) COS[angle]
    // [213] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy 
    lda COS,y
    sta.z cos_a
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z cos_a+1
    // mulf16s(cos_a, vector.x)
    // [214] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0
    // [215] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 
    lda.z vector_x
    sta.z mulf16s.b
    lda.z vector_x+1
    sta.z mulf16s.b+1
    // [216] call mulf16s 
    // [250] phi from rotate to mulf16s [phi:rotate->mulf16s]
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy 
    jsr mulf16s
    // mulf16s(cos_a, vector.x)
    // [217] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0
    // rotate::@1
    // [218] (signed dword~) rotate::$1 ← (signed dword) mulf16s::return#2
    // (signed int )mulf16s(cos_a, vector.x)
    // [219] (signed word~) rotate::$2 ← (signed word)(signed dword~) rotate::$1 -- vwsz1=_sword_vdsz2 
    lda.z __1
    sta.z __2
    lda.z __1+1
    sta.z __2+1
    // xr = (signed int )mulf16s(cos_a, vector.x)*2
    // [220] (signed word) rotate::xr#0 ← (signed word~) rotate::$2 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z xr
    rol.z xr+1
    // mulf16s(cos_a, vector.y)
    // [221] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0
    // [222] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 
    lda.z vector_y
    sta.z mulf16s.b
    lda.z vector_y+1
    sta.z mulf16s.b+1
    // [223] call mulf16s 
    // [250] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s]
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy 
    jsr mulf16s
    // mulf16s(cos_a, vector.y)
    // [224] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0
    // rotate::@2
    // [225] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#3
    // (signed int )mulf16s(cos_a, vector.y)
    // [226] (signed word~) rotate::$5 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 
    lda.z __4
    sta.z __5
    lda.z __4+1
    sta.z __5+1
    // yr = (signed int )mulf16s(cos_a, vector.y)*2
    // [227] (signed word) rotate::yr#0 ← (signed word~) rotate::$5 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z yr
    rol.z yr+1
    // sin_a = (signed int) SIN[angle]
    // [228] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy 
    lda SIN,y
    sta.z sin_a
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z sin_a+1
    // mulf16s(sin_a, vector.y)
    // [229] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0
    // [230] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 
    lda.z vector_y
    sta.z mulf16s.b
    lda.z vector_y+1
    sta.z mulf16s.b+1
    // [231] call mulf16s 
    // [250] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s]
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy 
    jsr mulf16s
    // mulf16s(sin_a, vector.y)
    // [232] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0
    // rotate::@3
    // [233] (signed dword~) rotate::$8 ← (signed dword) mulf16s::return#4
    // (signed int)mulf16s(sin_a, vector.y)
    // [234] (signed word~) rotate::$9 ← (signed word)(signed dword~) rotate::$8 -- vwsz1=_sword_vdsz2 
    lda.z __8
    sta.z __9
    lda.z __8+1
    sta.z __9+1
    // (signed int)mulf16s(sin_a, vector.y)*2
    // [235] (signed word~) rotate::$10 ← (signed word~) rotate::$9 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z __10
    rol.z __10+1
    // xr -= (signed int)mulf16s(sin_a, vector.y)*2
    // [236] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$10 -- vwsz1=vwsz1_minus_vwsz2 
    // signed fixed[0.7]
    lda.z xr
    sec
    sbc.z __10
    sta.z xr
    lda.z xr+1
    sbc.z __10+1
    sta.z xr+1
    // mulf16s(sin_a, vector.x)
    // [237] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0
    // [238] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 
    lda.z vector_x
    sta.z mulf16s.b
    lda.z vector_x+1
    sta.z mulf16s.b+1
    // [239] call mulf16s 
    // [250] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s]
    // [250] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy 
    // [250] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy 
    jsr mulf16s
    // mulf16s(sin_a, vector.x)
    // [240] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0
    // rotate::@4
    // [241] (signed dword~) rotate::$11 ← (signed dword) mulf16s::return#10
    // (signed int)mulf16s(sin_a, vector.x)
    // [242] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$11 -- vwsz1=_sword_vdsz2 
    lda.z __11
    sta.z __12
    lda.z __11+1
    sta.z __12+1
    // (signed int)mulf16s(sin_a, vector.x)*2
    // [243] (signed word~) rotate::$13 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz1_rol_1 
    asl.z __13
    rol.z __13+1
    // yr += (signed int)mulf16s(sin_a, vector.x)*2
    // [244] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$13 -- vwsz1=vwsz1_plus_vwsz2 
    // signed fixed[8.8]
    lda.z yr
    clc
    adc.z __13
    sta.z yr
    lda.z yr+1
    adc.z __13+1
    sta.z yr+1
    // >xr
    // [245] (byte~) rotate::$15 ← > (signed word) rotate::xr#1 -- vbuaa=_hi_vwsz1 
    lda.z xr+1
    // (signed int)(signed char)>xr
    // [246] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$15 -- vwsz1=_sword_vbsaa 
    sta.z return_x
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z return_x+1
    // >yr
    // [247] (byte~) rotate::$18 ← > (signed word) rotate::yr#1 -- vbuaa=_hi_vwsz1 
    lda.z yr+1
    // (signed int)(signed char)>yr
    // [248] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$18 -- vwsz1=_sword_vbsaa 
    sta.z return_y
    ora #$7f
    bmi !+
    lda #0
  !:
    sta.z return_y+1
    // rotate::@return
    // }
    // [249] return 
    rts
}
  // mulf16s
// Fast multiply two signed words to a signed double word result
// Fixes offsets introduced by using unsigned multiplication
// mulf16s(signed word zp(6) a, signed word zp($10) b)
mulf16s: {
    .label __9 = $20
    .label __13 = $22
    .label __16 = $20
    .label __17 = $22
    .label m = 8
    .label return = 8
    .label a = 6
    .label b = $10
    // mulf16u((word)a, (word)b)
    // [251] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 
    lda.z a
    sta.z mulf16u.a
    lda.z a+1
    sta.z mulf16u.a+1
    // [252] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 
    lda.z b
    sta.z mulf16u.b
    lda.z b+1
    sta.z mulf16u.b+1
    // [253] call mulf16u 
    jsr mulf16u
    // [254] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0
    // mulf16s::@5
    // m = mulf16u((word)a, (word)b)
    // [255] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2
    // if(a<0)
    // [256] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 
    lda.z a+1
    bpl __b1
    // mulf16s::@3
    // >m
    // [257] (word~) mulf16s::$9 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 
    lda.z m+2
    sta.z __9
    lda.z m+3
    sta.z __9+1
    // >m = (>m)-(word)b
    // [258] (word~) mulf16s::$16 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z __16
    sec
    sbc.z b
    sta.z __16
    lda.z __16+1
    sbc.z b+1
    sta.z __16+1
    // [259] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$16 -- vduz1=vduz1_sethi_vwuz2 
    lda.z __16
    sta.z m+2
    lda.z __16+1
    sta.z m+3
    // [260] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1]
    // [260] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy 
    // mulf16s::@1
  __b1:
    // if(b<0)
    // [261] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 
    lda.z b+1
    bpl __b2
    // mulf16s::@4
    // >m
    // [262] (word~) mulf16s::$13 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 
    lda.z m+2
    sta.z __13
    lda.z m+3
    sta.z __13+1
    // >m = (>m)-(word)a
    // [263] (word~) mulf16s::$17 ← (word~) mulf16s::$13 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z __17
    sec
    sbc.z a
    sta.z __17
    lda.z __17+1
    sbc.z a+1
    sta.z __17+1
    // [264] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17 -- vduz1=vduz1_sethi_vwuz2 
    lda.z __17
    sta.z m+2
    lda.z __17+1
    sta.z m+3
    // [265] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2]
    // [265] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy 
    // mulf16s::@2
  __b2:
    // (signed dword)m
    // [266] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4
    // mulf16s::@return
    // }
    // [267] return 
    rts
}
  // mulf16u
// Fast multiply two unsigned words to a double word result
// Done in assembler to utilize fast addition A+X
// mulf16u(word zp($1e) a, word zp($20) b)
mulf16u: {
    .label memA = $f8
    .label memB = $fa
    .label memR = $fc
    .label return = 8
    .label a = $1e
    .label b = $20
    // *memA = a
    // [268] *((const word*) mulf16u::memA) ← (word) mulf16u::a#0 -- _deref_pwuc1=vwuz1 
    lda.z a
    sta memA
    lda.z a+1
    sta memA+1
    // *memB = b
    // [269] *((const word*) mulf16u::memB) ← (word) mulf16u::b#0 -- _deref_pwuc1=vwuz1 
    lda.z b
    sta memB
    lda.z b+1
    sta memB+1
    // asm
    // asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  }
    lda memA
    sta sm1a+1
    sta sm3a+1
    sta sm5a+1
    sta sm7a+1
    eor #$ff
    sta sm2a+1
    sta sm4a+1
    sta sm6a+1
    sta sm8a+1
    lda memA+1
    sta sm1b+1
    sta sm3b+1
    sta sm5b+1
    sta sm7b+1
    eor #$ff
    sta sm2b+1
    sta sm4b+1
    sta sm6b+1
    sta sm8b+1
    ldx memB
    sec
  sm1a:
    lda mulf_sqr1_lo,x
  sm2a:
    sbc mulf_sqr2_lo,x
    sta memR+0
  sm3a:
    lda mulf_sqr1_hi,x
  sm4a:
    sbc mulf_sqr2_hi,x
    sta _AA+1
    sec
  sm1b:
    lda mulf_sqr1_lo,x
  sm2b:
    sbc mulf_sqr2_lo,x
    sta _cc+1
  sm3b:
    lda mulf_sqr1_hi,x
  sm4b:
    sbc mulf_sqr2_hi,x
    sta _CC+1
    ldx memB+1
    sec
  sm5a:
    lda mulf_sqr1_lo,x
  sm6a:
    sbc mulf_sqr2_lo,x
    sta _bb+1
  sm7a:
    lda mulf_sqr1_hi,x
  sm8a:
    sbc mulf_sqr2_hi,x
    sta _BB+1
    sec
  sm5b:
    lda mulf_sqr1_lo,x
  sm6b:
    sbc mulf_sqr2_lo,x
    sta _dd+1
  sm7b:
    lda mulf_sqr1_hi,x
  sm8b:
    sbc mulf_sqr2_hi,x
    sta memR+3
    clc
  _AA:
    lda #0
  _bb:
    adc #0
    sta memR+1
  _BB:
    lda #0
  _CC:
    adc #0
    sta memR+2
    bcc !+
    inc memR+3
    clc
  !:
  _cc:
    lda #0
    adc memR+1
    sta memR+1
  _dd:
    lda #0
    adc memR+2
    sta memR+2
    bcc !+
    inc memR+3
  !:
    // return *memR;
    // [271] (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR) -- vduz1=_deref_pduc1 
    lda memR
    sta.z return
    lda memR+1
    sta.z return+1
    lda memR+2
    sta.z return+2
    lda memR+3
    sta.z return+3
    // mulf16u::@return
    // }
    // [272] return 
    rts
}
  // bitmap_clear
// Clear all graphics on the bitmap
// bgcol - the background color to fill the screen with
// fgcol - the foreground color to fill the screen with
bitmap_clear: {
    .const col = WHITE<<4
    // memset(bitmap_screen, col, 1000uw)
    // [274] call memset 
    // [278] phi from bitmap_clear to memset [phi:bitmap_clear->memset]
    // [278] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuxx=vbuc1 
    ldx #col
    // [278] phi (void*) memset::str#3 = (void*)(const byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 
    lda #<BITMAP_SCREEN
    sta.z memset.str
    lda #>BITMAP_SCREEN
    sta.z memset.str+1
    // [278] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 
    lda #<$3e8
    sta.z memset.num
    lda #>$3e8
    sta.z memset.num+1
    jsr memset
    // [275] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1]
    // bitmap_clear::@1
    // memset(bitmap_gfx, 0, 8000uw)
    // [276] call memset 
    // [278] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset]
    // [278] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuxx=vbuc1 
    ldx #0
    // [278] phi (void*) memset::str#3 = (void*)(const byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 
    lda #<BITMAP_GRAPHICS
    sta.z memset.str
    lda #>BITMAP_GRAPHICS
    sta.z memset.str+1
    // [278] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 
    lda #<$1f40
    sta.z memset.num
    lda #>$1f40
    sta.z memset.num+1
    jsr memset
    // bitmap_clear::@return
    // }
    // [277] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// memset(void* zp($e) str, byte register(X) c, word zp($c) num)
memset: {
    .label end = $c
    .label dst = $e
    .label num = $c
    .label str = $e
    // if(num>0)
    // [279] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 
    lda.z num
    bne !+
    lda.z num+1
    beq __breturn
  !:
    // memset::@1
    // end = (char*)str + num
    // [280] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 
    lda.z end
    clc
    adc.z str
    sta.z end
    lda.z end+1
    adc.z str+1
    sta.z end+1
    // [281] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3
    // [282] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
    // [282] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy 
    // memset::@2
  __b2:
    // for(char* dst = str; dst!=end; dst++)
    // [283] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 
    lda.z dst+1
    cmp.z end+1
    bne __b3
    lda.z dst
    cmp.z end
    bne __b3
    // memset::@return
  __breturn:
    // }
    // [284] return 
    rts
    // memset::@3
  __b3:
    // *dst = c
    // [285] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx 
    txa
    ldy #0
    sta (dst),y
    // for(char* dst = str; dst!=end; dst++)
    // [286] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp __b2
}
  // bitmap_init
// Initialize bitmap plotting tables
bitmap_init: {
    .label __7 = $24
    .label yoffs = $10
    // [288] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1]
    // [288] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [288] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#1] -- vbuaa=vbuc1 
    lda #$80
    // [288] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1]
    // [288] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy 
    // [288] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy 
    // bitmap_init::@1
  __b1:
    // bitmap_plot_bit[x] = bits
    // [289] *((const byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta bitmap_plot_bit,x
    // bits >>= 1
    // [290] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuaa=vbuaa_ror_1 
    lsr
    // if(bits==0)
    // [291] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuaa_neq_0_then_la1 
    cmp #0
    bne __b2
    // [293] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2]
    // [293] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuaa=vbuc1 
    lda #$80
    // [292] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6]
    // bitmap_init::@6
    // [293] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2]
    // [293] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy 
    // bitmap_init::@2
  __b2:
    // for(byte x : 0..255)
    // [294] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx 
    inx
    // [295] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 
    cpx #0
    bne __b1
    // [296] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3]
    // [296] phi (byte*) bitmap_init::yoffs#2 = (const byte*) BITMAP_GRAPHICS [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 
    lda #<BITMAP_GRAPHICS
    sta.z yoffs
    lda #>BITMAP_GRAPHICS
    sta.z yoffs+1
    // [296] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 
    ldx #0
    // [296] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3]
    // [296] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy 
    // [296] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy 
    // bitmap_init::@3
  __b3:
    // y&$7
    // [297] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 
    lda #7
    sax.z __7
    // <yoffs
    // [298] (byte~) bitmap_init::$4 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 
    lda.z yoffs
    // y&$7 | <yoffs
    // [299] (byte~) bitmap_init::$5 ← (byte~) bitmap_init::$7 | (byte~) bitmap_init::$4 -- vbuaa=vbuz1_bor_vbuaa 
    ora.z __7
    // bitmap_plot_ylo[y] = y&$7 | <yoffs
    // [300] *((const byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$5 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta bitmap_plot_ylo,x
    // >yoffs
    // [301] (byte~) bitmap_init::$6 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 
    lda.z yoffs+1
    // bitmap_plot_yhi[y] = >yoffs
    // [302] *((const byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$6 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta bitmap_plot_yhi,x
    // if((y&$7)==7)
    // [303] if((byte~) bitmap_init::$7!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 
    lda #7
    cmp.z __7
    bne __b4
    // bitmap_init::@5
    // yoffs = yoffs + 40*8
    // [304] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 
    clc
    lda.z yoffs
    adc #<$28*8
    sta.z yoffs
    lda.z yoffs+1
    adc #>$28*8
    sta.z yoffs+1
    // [305] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4]
    // [305] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy 
    // bitmap_init::@4
  __b4:
    // for(byte y : 0..255)
    // [306] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx 
    inx
    // [307] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 
    cpx #0
    bne __b3
    // bitmap_init::@return
    // }
    // [308] return 
    rts
}
  // mulf_init
// Initialize the mulf_sqr multiplication tables with f(x)=int(x*x/4)
mulf_init: {
    // x/2
    .label c = $12
    // Counter used for determining x%2==0
    .label sqr1_hi = $16
    // Fill mulf_sqr1 = f(x) = int(x*x/4): If f(x) = x*x/4 then f(x+1) = f(x) + x/2 + 1/4
    .label sqr = $1c
    .label sqr1_lo = $14
    // Decrease or increase x_255 - initially we decrease
    .label sqr2_hi = $1a
    .label sqr2_lo = $18
    //Start with g(0)=f(255)
    .label dir = $13
    // [310] phi from mulf_init to mulf_init::@1 [phi:mulf_init->mulf_init::@1]
    // [310] phi (byte) mulf_init::x_2#3 = (byte) 0 [phi:mulf_init->mulf_init::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [310] phi (byte*) mulf_init::sqr1_hi#2 = (const byte*) mulf_sqr1_hi+(byte) 1 [phi:mulf_init->mulf_init::@1#1] -- pbuz1=pbuc1 
    lda #<mulf_sqr1_hi+1
    sta.z sqr1_hi
    lda #>mulf_sqr1_hi+1
    sta.z sqr1_hi+1
    // [310] phi (word) mulf_init::sqr#4 = (word) 0 [phi:mulf_init->mulf_init::@1#2] -- vwuz1=vwuc1 
    txa
    sta.z sqr
    sta.z sqr+1
    // [310] phi (byte) mulf_init::c#2 = (byte) 0 [phi:mulf_init->mulf_init::@1#3] -- vbuz1=vbuc1 
    sta.z c
    // [310] phi (byte*) mulf_init::sqr1_lo#2 = (const byte*) mulf_sqr1_lo+(byte) 1 [phi:mulf_init->mulf_init::@1#4] -- pbuz1=pbuc1 
    lda #<mulf_sqr1_lo+1
    sta.z sqr1_lo
    lda #>mulf_sqr1_lo+1
    sta.z sqr1_lo+1
    // mulf_init::@1
  __b1:
    // for(byte* sqr1_lo = mulf_sqr1_lo+1; sqr1_lo!=mulf_sqr1_lo+512; sqr1_lo++)
    // [311] if((byte*) mulf_init::sqr1_lo#2!=(const byte*) mulf_sqr1_lo+(word) $200) goto mulf_init::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z sqr1_lo+1
    cmp #>mulf_sqr1_lo+$200
    bne __b2
    lda.z sqr1_lo
    cmp #<mulf_sqr1_lo+$200
    bne __b2
    // [312] phi from mulf_init::@1 to mulf_init::@5 [phi:mulf_init::@1->mulf_init::@5]
    // [312] phi (byte) mulf_init::dir#2 = (byte) $ff [phi:mulf_init::@1->mulf_init::@5#0] -- vbuz1=vbuc1 
    lda #$ff
    sta.z dir
    // [312] phi (byte*) mulf_init::sqr2_hi#2 = (const byte*) mulf_sqr2_hi [phi:mulf_init::@1->mulf_init::@5#1] -- pbuz1=pbuc1 
    lda #<mulf_sqr2_hi
    sta.z sqr2_hi
    lda #>mulf_sqr2_hi
    sta.z sqr2_hi+1
    // [312] phi (byte) mulf_init::x_255#2 = (byte) -1 [phi:mulf_init::@1->mulf_init::@5#2] -- vbuxx=vbuc1 
    ldx #-1
    // [312] phi (byte*) mulf_init::sqr2_lo#2 = (const byte*) mulf_sqr2_lo [phi:mulf_init::@1->mulf_init::@5#3] -- pbuz1=pbuc1 
    lda #<mulf_sqr2_lo
    sta.z sqr2_lo
    lda #>mulf_sqr2_lo
    sta.z sqr2_lo+1
    // mulf_init::@5
  __b5:
    // for(byte* sqr2_lo = mulf_sqr2_lo; sqr2_lo!=mulf_sqr2_lo+511; sqr2_lo++)
    // [313] if((byte*) mulf_init::sqr2_lo#2!=(const byte*) mulf_sqr2_lo+(word) $1ff) goto mulf_init::@6 -- pbuz1_neq_pbuc1_then_la1 
    lda.z sqr2_lo+1
    cmp #>mulf_sqr2_lo+$1ff
    bne __b6
    lda.z sqr2_lo
    cmp #<mulf_sqr2_lo+$1ff
    bne __b6
    // mulf_init::@7
    // *(mulf_sqr2_lo+511) = *(mulf_sqr1_lo+256)
    // [314] *((const byte*) mulf_sqr2_lo+(word) $1ff) ← *((const byte*) mulf_sqr1_lo+(word) $100) -- _deref_pbuc1=_deref_pbuc2 
    // Set the very last value g(511) = f(256)
    lda mulf_sqr1_lo+$100
    sta mulf_sqr2_lo+$1ff
    // *(mulf_sqr2_hi+511) = *(mulf_sqr1_hi+256)
    // [315] *((const byte*) mulf_sqr2_hi+(word) $1ff) ← *((const byte*) mulf_sqr1_hi+(word) $100) -- _deref_pbuc1=_deref_pbuc2 
    lda mulf_sqr1_hi+$100
    sta mulf_sqr2_hi+$1ff
    // mulf_init::@return
    // }
    // [316] return 
    rts
    // mulf_init::@6
  __b6:
    // *sqr2_lo = mulf_sqr1_lo[x_255]
    // [317] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte*) mulf_sqr1_lo + (byte) mulf_init::x_255#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda mulf_sqr1_lo,x
    ldy #0
    sta (sqr2_lo),y
    // *sqr2_hi++ = mulf_sqr1_hi[x_255]
    // [318] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte*) mulf_sqr1_hi + (byte) mulf_init::x_255#2) -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda mulf_sqr1_hi,x
    sta (sqr2_hi),y
    // *sqr2_hi++ = mulf_sqr1_hi[x_255];
    // [319] (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr2_hi
    bne !+
    inc.z sqr2_hi+1
  !:
    // x_255 = x_255 + dir
    // [320] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2 -- vbuxx=vbuxx_plus_vbuz1 
    txa
    clc
    adc.z dir
    tax
    // if(x_255==0)
    // [321] if((byte) mulf_init::x_255#1!=(byte) 0) goto mulf_init::@9 -- vbuxx_neq_0_then_la1 
    cpx #0
    bne __b8
    // [323] phi from mulf_init::@6 to mulf_init::@8 [phi:mulf_init::@6->mulf_init::@8]
    // [323] phi (byte) mulf_init::dir#4 = (byte) 1 [phi:mulf_init::@6->mulf_init::@8#0] -- vbuz1=vbuc1 
    lda #1
    sta.z dir
    // [322] phi from mulf_init::@6 to mulf_init::@9 [phi:mulf_init::@6->mulf_init::@9]
    // mulf_init::@9
    // [323] phi from mulf_init::@9 to mulf_init::@8 [phi:mulf_init::@9->mulf_init::@8]
    // [323] phi (byte) mulf_init::dir#4 = (byte) mulf_init::dir#2 [phi:mulf_init::@9->mulf_init::@8#0] -- register_copy 
    // mulf_init::@8
  __b8:
    // for(byte* sqr2_lo = mulf_sqr2_lo; sqr2_lo!=mulf_sqr2_lo+511; sqr2_lo++)
    // [324] (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr2_lo
    bne !+
    inc.z sqr2_lo+1
  !:
    // [312] phi from mulf_init::@8 to mulf_init::@5 [phi:mulf_init::@8->mulf_init::@5]
    // [312] phi (byte) mulf_init::dir#2 = (byte) mulf_init::dir#4 [phi:mulf_init::@8->mulf_init::@5#0] -- register_copy 
    // [312] phi (byte*) mulf_init::sqr2_hi#2 = (byte*) mulf_init::sqr2_hi#1 [phi:mulf_init::@8->mulf_init::@5#1] -- register_copy 
    // [312] phi (byte) mulf_init::x_255#2 = (byte) mulf_init::x_255#1 [phi:mulf_init::@8->mulf_init::@5#2] -- register_copy 
    // [312] phi (byte*) mulf_init::sqr2_lo#2 = (byte*) mulf_init::sqr2_lo#1 [phi:mulf_init::@8->mulf_init::@5#3] -- register_copy 
    jmp __b5
    // mulf_init::@2
  __b2:
    // if((++c&1)==0)
    // [325] (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2 -- vbuz1=_inc_vbuz1 
    inc.z c
    // ++c&1
    // [326] (byte~) mulf_init::$1 ← (byte) mulf_init::c#1 & (byte) 1 -- vbuaa=vbuz1_band_vbuc1 
    lda #1
    and.z c
    // if((++c&1)==0)
    // [327] if((byte~) mulf_init::$1!=(byte) 0) goto mulf_init::@3 -- vbuaa_neq_0_then_la1 
    cmp #0
    bne __b3
    // mulf_init::@4
    // x_2++;
    // [328] (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3 -- vbuxx=_inc_vbuxx 
    inx
    // sqr++;
    // [329] (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4 -- vwuz1=_inc_vwuz1 
    inc.z sqr
    bne !+
    inc.z sqr+1
  !:
    // [330] phi from mulf_init::@2 mulf_init::@4 to mulf_init::@3 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3]
    // [330] phi (byte) mulf_init::x_2#2 = (byte) mulf_init::x_2#3 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#0] -- register_copy 
    // [330] phi (word) mulf_init::sqr#3 = (word) mulf_init::sqr#4 [phi:mulf_init::@2/mulf_init::@4->mulf_init::@3#1] -- register_copy 
    // mulf_init::@3
  __b3:
    // <sqr
    // [331] (byte~) mulf_init::$4 ← < (word) mulf_init::sqr#3 -- vbuaa=_lo_vwuz1 
    lda.z sqr
    // *sqr1_lo = <sqr
    // [332] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$4 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (sqr1_lo),y
    // >sqr
    // [333] (byte~) mulf_init::$5 ← > (word) mulf_init::sqr#3 -- vbuaa=_hi_vwuz1 
    lda.z sqr+1
    // *sqr1_hi++ = >sqr
    // [334] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$5 -- _deref_pbuz1=vbuaa 
    sta (sqr1_hi),y
    // *sqr1_hi++ = >sqr;
    // [335] (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr1_hi
    bne !+
    inc.z sqr1_hi+1
  !:
    // sqr = sqr + x_2
    // [336] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2 -- vwuz1=vwuz1_plus_vbuxx 
    txa
    clc
    adc.z sqr
    sta.z sqr
    bcc !+
    inc.z sqr+1
  !:
    // for(byte* sqr1_lo = mulf_sqr1_lo+1; sqr1_lo!=mulf_sqr1_lo+512; sqr1_lo++)
    // [337] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1 
    inc.z sqr1_lo
    bne !+
    inc.z sqr1_lo+1
  !:
    // [310] phi from mulf_init::@3 to mulf_init::@1 [phi:mulf_init::@3->mulf_init::@1]
    // [310] phi (byte) mulf_init::x_2#3 = (byte) mulf_init::x_2#2 [phi:mulf_init::@3->mulf_init::@1#0] -- register_copy 
    // [310] phi (byte*) mulf_init::sqr1_hi#2 = (byte*) mulf_init::sqr1_hi#1 [phi:mulf_init::@3->mulf_init::@1#1] -- register_copy 
    // [310] phi (word) mulf_init::sqr#4 = (word) mulf_init::sqr#1 [phi:mulf_init::@3->mulf_init::@1#2] -- register_copy 
    // [310] phi (byte) mulf_init::c#2 = (byte) mulf_init::c#1 [phi:mulf_init::@3->mulf_init::@1#3] -- register_copy 
    // [310] phi (byte*) mulf_init::sqr1_lo#2 = (byte*) mulf_init::sqr1_lo#1 [phi:mulf_init::@3->mulf_init::@1#4] -- register_copy 
    jmp __b1
}
  // File Data
  // Array filled with spline segment points by splinePlot_8()
  SPLINE_8SEG: .fill 4*9, 0
  // Tables for the plotter - initialized by calling bitmap_init();
  bitmap_plot_ylo: .fill $100, 0
  bitmap_plot_yhi: .fill $100, 0
  bitmap_plot_bit: .fill $100, 0
  // mulf_sqr tables will contain f(x)=int(x*x/4) and g(x) = f(x-255).
  // <f(x) = <(( x * x )/4)
  .align $100
  mulf_sqr1_lo: .fill $200, 0
  // >f(x) = >(( x * x )/4)
  .align $100
  mulf_sqr1_hi: .fill $200, 0
  // <g(x) =  <((( x - 255) * ( x - 255 ))/4)
  .align $100
  mulf_sqr2_lo: .fill $200, 0
  // >g(x) = >((( x - 255) * ( x - 255 ))/4)
  .align $100
  mulf_sqr2_hi: .fill $200, 0
  // True type letter c
  letter_c: .byte MOVE_TO
  .word $6c, $92, 0, 0
  .byte SPLINE_TO
  .word $59, $b6, $67, $a9
  .byte SPLINE_TO
  .word $3b, $c3, $4b, $c3
  .byte SPLINE_TO
  .word $17, $b2, $26, $c3
  .byte SPLINE_TO
  .word 9, $84, 9, $a1
  .byte SPLINE_TO
  .word $19, $57, 9, $68
  .byte SPLINE_TO
  .word $41, $45, $2a, $45
  .byte SPLINE_TO
  .word $5d, $4f, $52, $45
  .byte SPLINE_TO
  .word $69, $62, $69, $58
  .byte SPLINE_TO
  .word $66, $6a, $69, $67
  .byte SPLINE_TO
  .word $5d, $6d, $62, $6d
  .byte SPLINE_TO
  .word $51, $68, $55, $6d
  .byte SPLINE_TO
  .word $4e, $5d, $4f, $65
  .byte SPLINE_TO
  .word $49, $52, $4e, $56
  .byte SPLINE_TO
  .word $3d, $4e, $45, $4e
  .byte SPLINE_TO
  .word $28, $58, $30, $4e
  .byte SPLINE_TO
  .word $1d, $79, $1d, $64
  .byte SPLINE_TO
  .word $28, $9e, $1d, $8e
  .byte SPLINE_TO
  .word $44, $ae, $32, $ae
  .byte SPLINE_TO
  .word $5b, $a6, $50, $ae
  .byte SPLINE_TO
  .word $68, $90, $62, $a0
  .byte LINE_TO
  .word $6c, $92, 0, 0
  // Sine and Cosine tables
  // Angles: $00=0, $80=PI,$100=2*PI
  // Sine/Cosine: signed fixed [-$7f,$7f]
  .align $40
SIN:
.for(var i=0;i<$140;i++)
        .byte >round($7fff*sin(i*2*PI/256))


