Resolved forward reference mulf_sqr1 to mulf_sqr1
Resolved forward reference mulf_sqr2 to mulf_sqr2
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference rotation_matrix to rotation_matrix
Resolved forward reference SPRITE to SPRITE
Resolved forward reference COSH to COSH
Resolved forward reference COSH to COSH
Resolved forward reference SINH to SINH
Resolved forward reference SINH to SINH
Resolved forward reference SINH to SINH
Resolved forward reference SINH to SINH
Resolved forward reference SINH to SINH
Resolved forward reference SINH to SINH
Resolved forward reference COSQ to COSQ
Resolved forward reference COSQ to COSQ
Resolved forward reference COSQ to COSQ
Resolved forward reference COSQ to COSQ
Resolved forward reference COSH to COSH
Resolved forward reference COSH to COSH
Resolved forward reference SINQ to SINQ
Resolved forward reference SINQ to SINQ
Resolved forward reference SINQ to SINQ
Resolved forward reference SINQ to SINQ
Resolved forward reference SINH to SINH
Resolved forward reference SINH to SINH
Resolved forward reference COSH to COSH
Resolved forward reference COSH to COSH
Resolved forward reference SINQ to SINQ
Resolved forward reference SINQ to SINQ
Resolved forward reference SINQ to SINQ
Resolved forward reference SINQ to SINQ
Resolved forward reference SINH to SINH
Resolved forward reference SINH to SINH
Resolved forward reference COSQ to COSQ
Resolved forward reference COSQ to COSQ
Resolved forward reference COSQ to COSQ
Resolved forward reference COSQ to COSQ
Resolved forward reference COSH to COSH
Resolved forward reference COSH to COSH
Resolved forward reference COSH_HI to COSH_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference COSH_HI to COSH_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference SINH_HI to SINH_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINH_HI to SINH_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINH_HI to SINH_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINH_HI to SINH_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINH_HI to SINH_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference COSQ_HI to COSQ_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference COSQ_HI to COSQ_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference COSQ_HI to COSQ_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference COSQ_HI to COSQ_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference COSH_HI to COSH_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference COSH_HI to COSH_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference SINQ_HI to SINQ_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINQ_HI to SINQ_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINQ_HI to SINQ_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINQ_HI to SINQ_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINH_HI to SINH_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference SINH_HI to SINH_HI
Resolved forward reference SINH_LO to SINH_LO
Resolved forward reference COSH_HI to COSH_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference COSH_HI to COSH_HI
Resolved forward reference COSH_LO to COSH_LO
Resolved forward reference mulf_sqr1 to mulf_sqr1
Resolved forward reference mulf_sqr2 to mulf_sqr2
Resolved forward reference PERSP_Z to PERSP_Z
Setting inferred volatile on symbol affected by address-of: zr in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Setting inferred volatile on symbol affected by address-of: xr in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Setting inferred volatile on symbol affected by address-of: yr in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Setting inferred volatile on symbol affected by address-of: pp in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Setting inferred volatile on symbol affected by address-of: psp1 in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Setting inferred volatile on symbol affected by address-of: psp2 in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Setting inferred volatile on symbol affected by address-of: yp in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Setting inferred volatile on symbol affected by address-of: xp in asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
Inlined call vicSelectGfxBank::$0 = call toDd00(vicSelectGfxBank::gfx)
Inlined call call print_schar_pos(sx, 0, $25)
Inlined call call print_schar_pos(sy, 1, $25)
Inlined call call print_schar_pos(sz, 2, $25)
Inlined call call print_schar_pos(rotation_matrix[0], 4, $1d)
Inlined call call print_schar_pos(rotation_matrix[1], 4, $21)
Inlined call call print_schar_pos(rotation_matrix[2], 4, $25)
Inlined call call print_schar_pos(rotation_matrix[3], 5, $1d)
Inlined call call print_schar_pos(rotation_matrix[4], 5, $21)
Inlined call call print_schar_pos(rotation_matrix[5], 5, $25)
Inlined call call print_schar_pos(rotation_matrix[6], 6, $1d)
Inlined call call print_schar_pos(rotation_matrix[7], 6, $21)
Inlined call call print_schar_pos(rotation_matrix[8], 6, $25)
Inlined call call __init
Eliminating unused variable with no statement memset::$2
Eliminating unused variable with no statement anim::$8
Eliminating unused variable with no statement debug_print_init::$28
Eliminating unused variable with no statement debug_print_init::$29
Eliminating unused variable with no statement debug_print_init::$39
Eliminating unused variable with no statement debug_print::$12
Eliminating unused variable with no statement sprites_init::$0
Eliminating unused variable with no statement calculate_matrix::$0
Eliminating unused variable with no statement calculate_matrix::$1
Eliminating unused variable with no statement calculate_matrix::$2
Eliminating unused variable with no statement calculate_matrix::$3
Eliminating unused variable with no statement calculate_matrix::$4
Eliminating unused variable with no statement calculate_matrix::$5
Eliminating unused variable with no statement calculate_matrix::$6
Eliminating unused variable with no statement calculate_matrix::$7
Eliminating unused variable with no statement calculate_matrix::$8
Eliminating unused variable with no statement calculate_matrix::$9

CONTROL FLOW GRAPH SSA

void print_str_at(char *str , char *at)
print_str_at: scope:[print_str_at]  from debug_print_init::@10 debug_print_init::@11 debug_print_init::@12 debug_print_init::@13 debug_print_init::@14 debug_print_init::@15 debug_print_init::@4 debug_print_init::@5 debug_print_init::@6 debug_print_init::@7 debug_print_init::@8 debug_print_init::@9
  print_str_at::at#15 = phi( debug_print_init::@10/print_str_at::at#7, debug_print_init::@11/print_str_at::at#8, debug_print_init::@12/print_str_at::at#9, debug_print_init::@13/print_str_at::at#10, debug_print_init::@14/print_str_at::at#11, debug_print_init::@15/print_str_at::at#12, debug_print_init::@4/print_str_at::at#1, debug_print_init::@5/print_str_at::at#2, debug_print_init::@6/print_str_at::at#3, debug_print_init::@7/print_str_at::at#4, debug_print_init::@8/print_str_at::at#5, debug_print_init::@9/print_str_at::at#6 )
  print_str_at::str#15 = phi( debug_print_init::@10/print_str_at::str#7, debug_print_init::@11/print_str_at::str#8, debug_print_init::@12/print_str_at::str#9, debug_print_init::@13/print_str_at::str#10, debug_print_init::@14/print_str_at::str#11, debug_print_init::@15/print_str_at::str#12, debug_print_init::@4/print_str_at::str#1, debug_print_init::@5/print_str_at::str#2, debug_print_init::@6/print_str_at::str#3, debug_print_init::@7/print_str_at::str#4, debug_print_init::@8/print_str_at::str#5, debug_print_init::@9/print_str_at::str#6 )
  to:print_str_at::@1
print_str_at::@1: scope:[print_str_at]  from print_str_at print_str_at::@2
  print_str_at::at#14 = phi( print_str_at/print_str_at::at#15, print_str_at::@2/print_str_at::at#0 )
  print_str_at::str#13 = phi( print_str_at/print_str_at::str#15, print_str_at::@2/print_str_at::str#0 )
  print_str_at::$0 = 0 != *print_str_at::str#13
  if(print_str_at::$0) goto print_str_at::@2
  to:print_str_at::@return
print_str_at::@2: scope:[print_str_at]  from print_str_at::@1
  print_str_at::at#13 = phi( print_str_at::@1/print_str_at::at#14 )
  print_str_at::str#14 = phi( print_str_at::@1/print_str_at::str#13 )
  *print_str_at::at#13 = *print_str_at::str#14
  print_str_at::at#0 = ++ print_str_at::at#13
  print_str_at::str#0 = ++ print_str_at::str#14
  to:print_str_at::@1
print_str_at::@return: scope:[print_str_at]  from print_str_at::@1
  return 
  to:@return

void print_schar_at(signed char b , char *at)
print_schar_at: scope:[print_schar_at]  from debug_print::@1 debug_print::@26 debug_print::@27 debug_print::@28 debug_print::@29 debug_print::@30 debug_print::print_schar_pos1 debug_print::print_schar_pos10 debug_print::print_schar_pos11 debug_print::print_schar_pos12 debug_print::print_schar_pos2 debug_print::print_schar_pos3 debug_print::print_schar_pos4 debug_print::print_schar_pos5 debug_print::print_schar_pos6 debug_print::print_schar_pos7 debug_print::print_schar_pos8 debug_print::print_schar_pos9 debug_print_init::@1 debug_print_init::@17 debug_print_init::@18
  print_schar_at::at#24 = phi( debug_print::@1/print_schar_at::at#15, debug_print::@26/print_schar_at::at#16, debug_print::@27/print_schar_at::at#17, debug_print::@28/print_schar_at::at#18, debug_print::@29/print_schar_at::at#19, debug_print::@30/print_schar_at::at#20, debug_print::print_schar_pos1/print_schar_at::at#3, debug_print::print_schar_pos10/print_schar_at::at#12, debug_print::print_schar_pos11/print_schar_at::at#13, debug_print::print_schar_pos12/print_schar_at::at#14, debug_print::print_schar_pos2/print_schar_at::at#4, debug_print::print_schar_pos3/print_schar_at::at#5, debug_print::print_schar_pos4/print_schar_at::at#6, debug_print::print_schar_pos5/print_schar_at::at#7, debug_print::print_schar_pos6/print_schar_at::at#8, debug_print::print_schar_pos7/print_schar_at::at#9, debug_print::print_schar_pos8/print_schar_at::at#10, debug_print::print_schar_pos9/print_schar_at::at#11, debug_print_init::@1/print_schar_at::at#0, debug_print_init::@17/print_schar_at::at#1, debug_print_init::@18/print_schar_at::at#2 )
  print_schar_at::b#22 = phi( debug_print::@1/print_schar_at::b#16, debug_print::@26/print_schar_at::b#17, debug_print::@27/print_schar_at::b#18, debug_print::@28/print_schar_at::b#19, debug_print::@29/print_schar_at::b#20, debug_print::@30/print_schar_at::b#21, debug_print::print_schar_pos1/print_schar_at::b#4, debug_print::print_schar_pos10/print_schar_at::b#13, debug_print::print_schar_pos11/print_schar_at::b#14, debug_print::print_schar_pos12/print_schar_at::b#15, debug_print::print_schar_pos2/print_schar_at::b#5, debug_print::print_schar_pos3/print_schar_at::b#6, debug_print::print_schar_pos4/print_schar_at::b#7, debug_print::print_schar_pos5/print_schar_at::b#8, debug_print::print_schar_pos6/print_schar_at::b#9, debug_print::print_schar_pos7/print_schar_at::b#10, debug_print::print_schar_pos8/print_schar_at::b#11, debug_print::print_schar_pos9/print_schar_at::b#12, debug_print_init::@1/print_schar_at::b#1, debug_print_init::@17/print_schar_at::b#2, debug_print_init::@18/print_schar_at::b#3 )
  print_schar_at::$0 = print_schar_at::b#22 < 0
  if(print_schar_at::$0) goto print_schar_at::@1
  to:print_schar_at::@3
print_schar_at::@1: scope:[print_schar_at]  from print_schar_at
  print_schar_at::b#25 = phi( print_schar_at/print_schar_at::b#22 )
  print_schar_at::at#21 = phi( print_schar_at/print_schar_at::at#24 )
  print_char_at::ch#0 = '-'
  print_char_at::at#0 = print_schar_at::at#21
  call print_char_at
  to:print_schar_at::@4
print_schar_at::@4: scope:[print_schar_at]  from print_schar_at::@1
  print_schar_at::at#25 = phi( print_schar_at::@1/print_schar_at::at#21 )
  print_schar_at::b#23 = phi( print_schar_at::@1/print_schar_at::b#25 )
  print_schar_at::$5 = - print_schar_at::b#23
  print_schar_at::b#0 = print_schar_at::$5
  to:print_schar_at::@2
print_schar_at::@3: scope:[print_schar_at]  from print_schar_at
  print_schar_at::b#27 = phi( print_schar_at/print_schar_at::b#22 )
  print_schar_at::at#22 = phi( print_schar_at/print_schar_at::at#24 )
  print_char_at::ch#1 = ' '
  print_char_at::at#1 = print_schar_at::at#22
  call print_char_at
  to:print_schar_at::@5
print_schar_at::@5: scope:[print_schar_at]  from print_schar_at::@3
  print_schar_at::b#26 = phi( print_schar_at::@3/print_schar_at::b#27 )
  print_schar_at::at#26 = phi( print_schar_at::@3/print_schar_at::at#22 )
  to:print_schar_at::@2
print_schar_at::@2: scope:[print_schar_at]  from print_schar_at::@4 print_schar_at::@5
  print_schar_at::b#24 = phi( print_schar_at::@4/print_schar_at::b#0, print_schar_at::@5/print_schar_at::b#26 )
  print_schar_at::at#23 = phi( print_schar_at::@4/print_schar_at::at#25, print_schar_at::@5/print_schar_at::at#26 )
  print_schar_at::$1 = print_schar_at::at#23 + 1
  print_uchar_at::b#0 = (char)print_schar_at::b#24
  print_uchar_at::at#0 = print_schar_at::$1
  call print_uchar_at
  to:print_schar_at::@6
print_schar_at::@6: scope:[print_schar_at]  from print_schar_at::@2
  to:print_schar_at::@return
print_schar_at::@return: scope:[print_schar_at]  from print_schar_at::@6
  return 
  to:@return

void print_uchar_at(char b , char *at)
print_uchar_at: scope:[print_uchar_at]  from print_schar_at::@2
  print_uchar_at::at#1 = phi( print_schar_at::@2/print_uchar_at::at#0 )
  print_uchar_at::b#1 = phi( print_schar_at::@2/print_uchar_at::b#0 )
  print_uchar_at::$0 = print_uchar_at::b#1 >> 4
  print_char_at::ch#2 = print_hextab[print_uchar_at::$0]
  print_char_at::at#2 = print_uchar_at::at#1
  call print_char_at
  to:print_uchar_at::@1
print_uchar_at::@1: scope:[print_uchar_at]  from print_uchar_at
  print_uchar_at::at#2 = phi( print_uchar_at/print_uchar_at::at#1 )
  print_uchar_at::b#2 = phi( print_uchar_at/print_uchar_at::b#1 )
  print_uchar_at::$2 = print_uchar_at::b#2 & $f
  print_uchar_at::$3 = print_uchar_at::at#2 + 1
  print_char_at::ch#3 = print_hextab[print_uchar_at::$2]
  print_char_at::at#3 = print_uchar_at::$3
  call print_char_at
  to:print_uchar_at::@2
print_uchar_at::@2: scope:[print_uchar_at]  from print_uchar_at::@1
  to:print_uchar_at::@return
print_uchar_at::@return: scope:[print_uchar_at]  from print_uchar_at::@2
  return 
  to:@return

void print_char_at(char ch , char *at)
print_char_at: scope:[print_char_at]  from print_schar_at::@1 print_schar_at::@3 print_uchar_at print_uchar_at::@1
  print_char_at::at#4 = phi( print_schar_at::@1/print_char_at::at#0, print_schar_at::@3/print_char_at::at#1, print_uchar_at/print_char_at::at#2, print_uchar_at::@1/print_char_at::at#3 )
  print_char_at::ch#4 = phi( print_schar_at::@1/print_char_at::ch#0, print_schar_at::@3/print_char_at::ch#1, print_uchar_at/print_char_at::ch#2, print_uchar_at::@1/print_char_at::ch#3 )
  *print_char_at::at#4 = print_char_at::ch#4
  to:print_char_at::@return
print_char_at::@return: scope:[print_char_at]  from print_char_at
  return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from debug_print_init
  print_screen#2 = phi( debug_print_init/print_screen#16 )
  memset::str#0 = (void *)print_screen#2
  memset::c#0 = ' '
  memset::num#0 = $3e8
  call memset
  memset::return#0 = memset::return#2
  to:print_cls::@1
print_cls::@1: scope:[print_cls]  from print_cls
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls::@1
  return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  memset::c#4 = phi( print_cls/memset::c#0 )
  memset::str#3 = phi( print_cls/memset::str#0 )
  memset::num#1 = phi( print_cls/memset::num#0 )
  memset::$0 = memset::num#1 > 0
  memset::$1 = ! memset::$0
  if(memset::$1) goto memset::@1
  to:memset::@2
memset::@1: scope:[memset]  from memset memset::@3
  memset::str#1 = phi( memset/memset::str#3, memset::@3/memset::str#4 )
  memset::return#1 = memset::str#1
  to:memset::@return
memset::@2: scope:[memset]  from memset
  memset::c#3 = phi( memset/memset::c#4 )
  memset::num#2 = phi( memset/memset::num#1 )
  memset::str#2 = phi( memset/memset::str#3 )
  memset::$4 = (char *)memset::str#2
  memset::end#0 = memset::$4 + memset::num#2
  memset::dst#0 = ((char *)) memset::str#2
  to:memset::@3
memset::@3: scope:[memset]  from memset::@2 memset::@4
  memset::c#2 = phi( memset::@2/memset::c#3, memset::@4/memset::c#1 )
  memset::str#4 = phi( memset::@2/memset::str#2, memset::@4/memset::str#5 )
  memset::end#1 = phi( memset::@2/memset::end#0, memset::@4/memset::end#2 )
  memset::dst#2 = phi( memset::@2/memset::dst#0, memset::@4/memset::dst#1 )
  memset::$3 = memset::dst#2 != memset::end#1
  if(memset::$3) goto memset::@4
  to:memset::@1
memset::@4: scope:[memset]  from memset::@3
  memset::str#5 = phi( memset::@3/memset::str#4 )
  memset::end#2 = phi( memset::@3/memset::end#1 )
  memset::dst#3 = phi( memset::@3/memset::dst#2 )
  memset::c#1 = phi( memset::@3/memset::c#2 )
  *memset::dst#3 = memset::c#1
  memset::dst#1 = ++ memset::dst#3
  to:memset::@3
memset::@return: scope:[memset]  from memset::@1
  memset::return#3 = phi( memset::@1/memset::return#1 )
  memset::return#2 = memset::return#3
  return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  print_screen#44 = phi( __start::@1/print_screen#43 )
  sy#26 = phi( __start::@1/sy#20 )
  sx#24 = phi( __start::@1/sx#19 )
  asm { sei  }
  call sprites_init
  to:main::@1
main::@1: scope:[main]  from main
  print_screen#30 = phi( main/print_screen#44 )
  sy#21 = phi( main/sy#26 )
  sx#20 = phi( main/sx#24 )
  psp1 = (unsigned int)mulf_sqr1
  psp2 = (unsigned int)mulf_sqr2
  call debug_print_init
  to:main::@2
main::@2: scope:[main]  from main::@1
  print_screen#56 = phi( main::@1/print_screen#30 )
  sy#15 = phi( main::@1/sy#21 )
  sx#15 = phi( main::@1/sx#20 )
  call anim
  to:main::@3
main::@3: scope:[main]  from main::@2
  sy#7 = phi( main::@2/sy#3 )
  sx#7 = phi( main::@2/sx#3 )
  sx#0 = sx#7
  sy#0 = sy#7
  to:main::@return
main::@return: scope:[main]  from main::@3
  sy#8 = phi( main::@3/sy#0 )
  sx#8 = phi( main::@3/sx#0 )
  sx#1 = sx#8
  sy#1 = sy#8
  return 
  to:@return

void anim()
anim: scope:[anim]  from main::@2
  print_screen#54 = phi( main::@2/print_screen#56 )
  sy#22 = phi( main::@2/sy#15 )
  sx#21 = phi( main::@2/sx#15 )
  to:anim::@1
anim::@1: scope:[anim]  from anim anim::@11
  print_screen#53 = phi( anim/print_screen#54, anim::@11/print_screen#55 )
  sy#18 = phi( anim/sy#22, anim::@11/sy#2 )
  sx#18 = phi( anim/sx#21, anim::@11/sx#2 )
  if(true) goto anim::@2
  to:anim::@return
anim::@2: scope:[anim]  from anim::@1 anim::@2
  print_screen#52 = phi( anim::@1/print_screen#53, anim::@2/print_screen#52 )
  sy#27 = phi( anim::@1/sy#18, anim::@2/sy#27 )
  sx#25 = phi( anim::@1/sx#18, anim::@2/sx#25 )
  anim::$0 = *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER) != $ff
  if(anim::$0) goto anim::@2
  to:anim::@3
anim::@3: scope:[anim]  from anim::@2 anim::@3
  print_screen#51 = phi( anim::@2/print_screen#52, anim::@3/print_screen#51 )
  sy#23 = phi( anim::@2/sy#27, anim::@3/sy#23 )
  sx#22 = phi( anim::@2/sx#25, anim::@3/sx#22 )
  anim::$1 = *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER) != $fe
  if(anim::$1) goto anim::@3
  to:anim::@4
anim::@4: scope:[anim]  from anim::@3 anim::@4
  print_screen#50 = phi( anim::@3/print_screen#51, anim::@4/print_screen#50 )
  sy#16 = phi( anim::@3/sy#23, anim::@4/sy#16 )
  sx#16 = phi( anim::@3/sx#22, anim::@4/sx#16 )
  anim::$2 = *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER) != $fd
  if(anim::$2) goto anim::@4
  to:anim::@5
anim::@5: scope:[anim]  from anim::@4
  print_screen#49 = phi( anim::@4/print_screen#50 )
  sy#9 = phi( anim::@4/sy#16 )
  sx#9 = phi( anim::@4/sx#16 )
  *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  calculate_matrix::sx#0 = sx#9
  calculate_matrix::sy#0 = sy#9
  calculate_matrix::sz#0 = sz
  call calculate_matrix
  to:anim::@8
anim::@8: scope:[anim]  from anim::@5
  print_screen#48 = phi( anim::@5/print_screen#49 )
  sy#31 = phi( anim::@5/sy#9 )
  sx#28 = phi( anim::@5/sx#9 )
  call store_matrix
  to:anim::@9
anim::@9: scope:[anim]  from anim::@8
  print_screen#47 = phi( anim::@8/print_screen#48 )
  sy#30 = phi( anim::@8/sy#31 )
  sx#27 = phi( anim::@8/sx#28 )
  anim::i#0 = 0
  to:anim::@6
anim::@6: scope:[anim]  from anim::@10 anim::@9
  print_screen#46 = phi( anim::@10/print_screen#45, anim::@9/print_screen#47 )
  sy#28 = phi( anim::@10/sy#24, anim::@9/sy#30 )
  sx#26 = phi( anim::@10/sx#23, anim::@9/sx#27 )
  anim::i#2 = phi( anim::@10/anim::i#1, anim::@9/anim::i#0 )
  *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  rotate_matrix::x#0 = xs[anim::i#2]
  rotate_matrix::y#0 = ys[anim::i#2]
  rotate_matrix::z#0 = zs[anim::i#2]
  call rotate_matrix
  to:anim::@10
anim::@10: scope:[anim]  from anim::@6
  print_screen#45 = phi( anim::@6/print_screen#46 )
  sy#24 = phi( anim::@6/sy#28 )
  sx#23 = phi( anim::@6/sx#26 )
  anim::i#3 = phi( anim::@6/anim::i#2 )
  xrs[anim::i#3] = xr
  yrs[anim::i#3] = yr
  zrs[anim::i#3] = zr
  pps[anim::i#3] = pp
  xps[anim::i#3] = xp
  yps[anim::i#3] = yp
  anim::i2#0 = anim::i#3 * 2
  anim::$13 = (char)xp
  anim::$9 = $80 + anim::$13
  SPRITES_XPOS[anim::i2#0] = anim::$9
  anim::$14 = (char)yp
  anim::$10 = $80 + anim::$14
  SPRITES_YPOS[anim::i2#0] = anim::$10
  anim::i#1 = anim::i#3 + rangenext(0,7)
  anim::$11 = anim::i#1 != rangelast(0,7)
  if(anim::$11) goto anim::@6
  to:anim::@7
anim::@7: scope:[anim]  from anim::@10
  print_screen#31 = phi( anim::@10/print_screen#45 )
  sy#17 = phi( anim::@10/sy#24 )
  sx#17 = phi( anim::@10/sx#23 )
  *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY
  call debug_print
  to:anim::@11
anim::@11: scope:[anim]  from anim::@7
  print_screen#55 = phi( anim::@7/print_screen#31 )
  sy#10 = phi( anim::@7/sy#17 )
  sx#10 = phi( anim::@7/sx#17 )
  *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE
  sx#2 = sx#10 + 2
  sy#2 = sy#10 - 3
  to:anim::@1
anim::@return: scope:[anim]  from anim::@1
  sy#11 = phi( anim::@1/sy#18 )
  sx#11 = phi( anim::@1/sx#18 )
  sx#3 = sx#11
  sy#3 = sy#11
  return 
  to:@return

void debug_print_init()
debug_print_init: scope:[debug_print_init]  from main::@1
  print_screen#16 = phi( main::@1/print_screen#30 )
  call print_cls
  to:debug_print_init::@4
debug_print_init::@4: scope:[debug_print_init]  from debug_print_init
  debug_print_init::$1 = SCREEN + $28*0
  debug_print_init::$2 = debug_print_init::$1 + $22
  print_str_at::str#1 = debug_print_init::str
  print_str_at::at#1 = debug_print_init::$2
  call print_str_at
  to:debug_print_init::@5
debug_print_init::@5: scope:[debug_print_init]  from debug_print_init::@4
  debug_print_init::$4 = SCREEN + $28*1
  debug_print_init::$5 = debug_print_init::$4 + $22
  print_str_at::str#2 = debug_print_init::str1
  print_str_at::at#2 = debug_print_init::$5
  call print_str_at
  to:debug_print_init::@6
debug_print_init::@6: scope:[debug_print_init]  from debug_print_init::@5
  debug_print_init::$7 = SCREEN + $28*2
  debug_print_init::$8 = debug_print_init::$7 + $22
  print_str_at::str#3 = debug_print_init::str2
  print_str_at::at#3 = debug_print_init::$8
  call print_str_at
  to:debug_print_init::@7
debug_print_init::@7: scope:[debug_print_init]  from debug_print_init::@6
  debug_print_init::$10 = SCREEN + $28*$10
  print_str_at::str#4 = debug_print_init::str3
  print_str_at::at#4 = debug_print_init::$10
  call print_str_at
  to:debug_print_init::@8
debug_print_init::@8: scope:[debug_print_init]  from debug_print_init::@7
  debug_print_init::$12 = SCREEN + $28*$11
  print_str_at::str#5 = debug_print_init::str4
  print_str_at::at#5 = debug_print_init::$12
  call print_str_at
  to:debug_print_init::@9
debug_print_init::@9: scope:[debug_print_init]  from debug_print_init::@8
  debug_print_init::$14 = SCREEN + $28*$12
  print_str_at::str#6 = debug_print_init::str5
  print_str_at::at#6 = debug_print_init::$14
  call print_str_at
  to:debug_print_init::@10
debug_print_init::@10: scope:[debug_print_init]  from debug_print_init::@9
  debug_print_init::$16 = SCREEN + $28*$13
  print_str_at::str#7 = debug_print_init::str6
  print_str_at::at#7 = debug_print_init::$16
  call print_str_at
  to:debug_print_init::@11
debug_print_init::@11: scope:[debug_print_init]  from debug_print_init::@10
  debug_print_init::$18 = SCREEN + $28*$14
  print_str_at::str#8 = debug_print_init::str7
  print_str_at::at#8 = debug_print_init::$18
  call print_str_at
  to:debug_print_init::@12
debug_print_init::@12: scope:[debug_print_init]  from debug_print_init::@11
  debug_print_init::$20 = SCREEN + $28*$15
  print_str_at::str#9 = debug_print_init::str8
  print_str_at::at#9 = debug_print_init::$20
  call print_str_at
  to:debug_print_init::@13
debug_print_init::@13: scope:[debug_print_init]  from debug_print_init::@12
  debug_print_init::$22 = SCREEN + $28*$16
  print_str_at::str#10 = debug_print_init::str9
  print_str_at::at#10 = debug_print_init::$22
  call print_str_at
  to:debug_print_init::@14
debug_print_init::@14: scope:[debug_print_init]  from debug_print_init::@13
  debug_print_init::$24 = SCREEN + $28*$17
  print_str_at::str#11 = debug_print_init::str10
  print_str_at::at#11 = debug_print_init::$24
  call print_str_at
  to:debug_print_init::@15
debug_print_init::@15: scope:[debug_print_init]  from debug_print_init::@14
  debug_print_init::$26 = SCREEN + $28*$18
  print_str_at::str#12 = debug_print_init::str11
  print_str_at::at#12 = debug_print_init::$26
  call print_str_at
  to:debug_print_init::@16
debug_print_init::@16: scope:[debug_print_init]  from debug_print_init::@15
  debug_print_init::at_line#0 = SCREEN + $10*$28
  debug_print_init::c#0 = 4
  debug_print_init::at_cols#0 = debug_print_init::COLS + $10*$28
  debug_print_init::i#0 = 0
  to:debug_print_init::@1
debug_print_init::@1: scope:[debug_print_init]  from debug_print_init::@16 debug_print_init::@3
  debug_print_init::at_cols#5 = phi( debug_print_init::@16/debug_print_init::at_cols#0, debug_print_init::@3/debug_print_init::at_cols#6 )
  debug_print_init::i#2 = phi( debug_print_init::@16/debug_print_init::i#0, debug_print_init::@3/debug_print_init::i#1 )
  debug_print_init::c#2 = phi( debug_print_init::@16/debug_print_init::c#0, debug_print_init::@3/debug_print_init::c#1 )
  debug_print_init::at_line#1 = phi( debug_print_init::@16/debug_print_init::at_line#0, debug_print_init::@3/debug_print_init::at_line#4 )
  debug_print_init::$30 = debug_print_init::at_line#1 + $28*0
  debug_print_init::$31 = debug_print_init::$30 + debug_print_init::c#2
  print_schar_at::b#1 = xs[debug_print_init::i#2]
  print_schar_at::at#0 = debug_print_init::$31
  call print_schar_at
  to:debug_print_init::@17
debug_print_init::@17: scope:[debug_print_init]  from debug_print_init::@1
  debug_print_init::at_cols#4 = phi( debug_print_init::@1/debug_print_init::at_cols#5 )
  debug_print_init::i#3 = phi( debug_print_init::@1/debug_print_init::i#2 )
  debug_print_init::c#3 = phi( debug_print_init::@1/debug_print_init::c#2 )
  debug_print_init::at_line#2 = phi( debug_print_init::@1/debug_print_init::at_line#1 )
  debug_print_init::$33 = debug_print_init::at_line#2 + $28*1
  debug_print_init::$34 = debug_print_init::$33 + debug_print_init::c#3
  print_schar_at::b#2 = ys[debug_print_init::i#3]
  print_schar_at::at#1 = debug_print_init::$34
  call print_schar_at
  to:debug_print_init::@18
debug_print_init::@18: scope:[debug_print_init]  from debug_print_init::@17
  debug_print_init::at_cols#3 = phi( debug_print_init::@17/debug_print_init::at_cols#4 )
  debug_print_init::i#4 = phi( debug_print_init::@17/debug_print_init::i#3 )
  debug_print_init::c#4 = phi( debug_print_init::@17/debug_print_init::c#3 )
  debug_print_init::at_line#3 = phi( debug_print_init::@17/debug_print_init::at_line#2 )
  debug_print_init::$36 = debug_print_init::at_line#3 + $28*2
  debug_print_init::$37 = debug_print_init::$36 + debug_print_init::c#4
  print_schar_at::b#3 = zs[debug_print_init::i#4]
  print_schar_at::at#2 = debug_print_init::$37
  call print_schar_at
  to:debug_print_init::@19
debug_print_init::@19: scope:[debug_print_init]  from debug_print_init::@18
  debug_print_init::at_line#6 = phi( debug_print_init::@18/debug_print_init::at_line#3 )
  debug_print_init::c#7 = phi( debug_print_init::@18/debug_print_init::c#4 )
  debug_print_init::at_cols#2 = phi( debug_print_init::@18/debug_print_init::at_cols#3 )
  debug_print_init::i#7 = phi( debug_print_init::@18/debug_print_init::i#4 )
  debug_print_init::j#0 = 0
  to:debug_print_init::@2
debug_print_init::@2: scope:[debug_print_init]  from debug_print_init::@19 debug_print_init::@2
  debug_print_init::at_line#5 = phi( debug_print_init::@19/debug_print_init::at_line#6, debug_print_init::@2/debug_print_init::at_line#5 )
  debug_print_init::j#2 = phi( debug_print_init::@19/debug_print_init::j#0, debug_print_init::@2/debug_print_init::j#1 )
  debug_print_init::c#5 = phi( debug_print_init::@19/debug_print_init::c#7, debug_print_init::@2/debug_print_init::c#5 )
  debug_print_init::at_cols#1 = phi( debug_print_init::@19/debug_print_init::at_cols#2, debug_print_init::@2/debug_print_init::at_cols#1 )
  debug_print_init::i#5 = phi( debug_print_init::@19/debug_print_init::i#7, debug_print_init::@2/debug_print_init::i#5 )
  debug_print_init::col#0 = 8 + debug_print_init::i#5
  debug_print_init::$40 = debug_print_init::at_cols#1 + $28*0
  debug_print_init::$41 = debug_print_init::$40 + debug_print_init::c#5
  debug_print_init::$42 = debug_print_init::$41 + debug_print_init::j#2
  *debug_print_init::$42 = debug_print_init::col#0
  debug_print_init::$43 = debug_print_init::at_cols#1 + $28*1
  debug_print_init::$44 = debug_print_init::$43 + debug_print_init::c#5
  debug_print_init::$45 = debug_print_init::$44 + debug_print_init::j#2
  *debug_print_init::$45 = debug_print_init::col#0
  debug_print_init::$46 = debug_print_init::at_cols#1 + $28*2
  debug_print_init::$47 = debug_print_init::$46 + debug_print_init::c#5
  debug_print_init::$48 = debug_print_init::$47 + debug_print_init::j#2
  *debug_print_init::$48 = debug_print_init::col#0
  debug_print_init::$49 = debug_print_init::at_cols#1 + $28*3
  debug_print_init::$50 = debug_print_init::$49 + debug_print_init::c#5
  debug_print_init::$51 = debug_print_init::$50 + debug_print_init::j#2
  *debug_print_init::$51 = debug_print_init::col#0
  debug_print_init::$52 = debug_print_init::at_cols#1 + $28*4
  debug_print_init::$53 = debug_print_init::$52 + debug_print_init::c#5
  debug_print_init::$54 = debug_print_init::$53 + debug_print_init::j#2
  *debug_print_init::$54 = debug_print_init::col#0
  debug_print_init::$55 = debug_print_init::at_cols#1 + $28*5
  debug_print_init::$56 = debug_print_init::$55 + debug_print_init::c#5
  debug_print_init::$57 = debug_print_init::$56 + debug_print_init::j#2
  *debug_print_init::$57 = debug_print_init::col#0
  debug_print_init::$58 = debug_print_init::at_cols#1 + $28*6
  debug_print_init::$59 = debug_print_init::$58 + debug_print_init::c#5
  debug_print_init::$60 = debug_print_init::$59 + debug_print_init::j#2
  *debug_print_init::$60 = debug_print_init::col#0
  debug_print_init::$61 = debug_print_init::at_cols#1 + $28*7
  debug_print_init::$62 = debug_print_init::$61 + debug_print_init::c#5
  debug_print_init::$63 = debug_print_init::$62 + debug_print_init::j#2
  *debug_print_init::$63 = debug_print_init::col#0
  debug_print_init::$64 = debug_print_init::at_cols#1 + $28*8
  debug_print_init::$65 = debug_print_init::$64 + debug_print_init::c#5
  debug_print_init::$66 = debug_print_init::$65 + debug_print_init::j#2
  *debug_print_init::$66 = debug_print_init::col#0
  debug_print_init::j#1 = debug_print_init::j#2 + rangenext(0,3)
  debug_print_init::$67 = debug_print_init::j#1 != rangelast(0,3)
  if(debug_print_init::$67) goto debug_print_init::@2
  to:debug_print_init::@3
debug_print_init::@3: scope:[debug_print_init]  from debug_print_init::@2
  debug_print_init::at_cols#6 = phi( debug_print_init::@2/debug_print_init::at_cols#1 )
  debug_print_init::at_line#4 = phi( debug_print_init::@2/debug_print_init::at_line#5 )
  debug_print_init::i#6 = phi( debug_print_init::@2/debug_print_init::i#5 )
  debug_print_init::c#6 = phi( debug_print_init::@2/debug_print_init::c#5 )
  debug_print_init::c#1 = debug_print_init::c#6 + 4
  debug_print_init::i#1 = debug_print_init::i#6 + rangenext(0,7)
  debug_print_init::$68 = debug_print_init::i#1 != rangelast(0,7)
  if(debug_print_init::$68) goto debug_print_init::@1
  to:debug_print_init::@return
debug_print_init::@return: scope:[debug_print_init]  from debug_print_init::@3
  return 
  to:@return

void debug_print()
debug_print: scope:[debug_print]  from anim::@7
  sy#29 = phi( anim::@7/sy#17 )
  print_screen#17 = phi( anim::@7/print_screen#31 )
  sx#12 = phi( anim::@7/sx#17 )
  debug_print::print_schar_pos1_sb#0 = sx#12
  debug_print::print_schar_pos1_row#0 = 0
  debug_print::print_schar_pos1_col#0 = $25
  to:debug_print::print_schar_pos1
debug_print::print_schar_pos1: scope:[debug_print]  from debug_print
  sy#25 = phi( debug_print/sy#29 )
  debug_print::print_schar_pos1_sb#1 = phi( debug_print/debug_print::print_schar_pos1_sb#0 )
  debug_print::print_schar_pos1_col#1 = phi( debug_print/debug_print::print_schar_pos1_col#0 )
  print_screen#3 = phi( debug_print/print_screen#17 )
  debug_print::print_schar_pos1_row#1 = phi( debug_print/debug_print::print_schar_pos1_row#0 )
  debug_print::print_schar_pos1_$0 = debug_print::print_schar_pos1_row#1 * $28
  debug_print::print_schar_pos1_$1 = print_screen#3 + debug_print::print_schar_pos1_$0
  debug_print::print_schar_pos1_$2 = debug_print::print_schar_pos1_$1 + debug_print::print_schar_pos1_col#1
  print_schar_at::b#4 = debug_print::print_schar_pos1_sb#1
  print_schar_at::at#3 = debug_print::print_schar_pos1_$2
  call print_schar_at
  to:debug_print::@14
debug_print::@14: scope:[debug_print]  from debug_print::print_schar_pos1
  print_screen#32 = phi( debug_print::print_schar_pos1/print_screen#3 )
  sy#19 = phi( debug_print::print_schar_pos1/sy#25 )
  to:debug_print::@2
debug_print::@2: scope:[debug_print]  from debug_print::@14
  print_screen#18 = phi( debug_print::@14/print_screen#32 )
  sy#12 = phi( debug_print::@14/sy#19 )
  debug_print::print_schar_pos2_sb#0 = sy#12
  debug_print::print_schar_pos2_row#0 = 1
  debug_print::print_schar_pos2_col#0 = $25
  to:debug_print::print_schar_pos2
debug_print::print_schar_pos2: scope:[debug_print]  from debug_print::@2
  debug_print::print_schar_pos2_sb#1 = phi( debug_print::@2/debug_print::print_schar_pos2_sb#0 )
  debug_print::print_schar_pos2_col#1 = phi( debug_print::@2/debug_print::print_schar_pos2_col#0 )
  print_screen#4 = phi( debug_print::@2/print_screen#18 )
  debug_print::print_schar_pos2_row#1 = phi( debug_print::@2/debug_print::print_schar_pos2_row#0 )
  debug_print::print_schar_pos2_$0 = debug_print::print_schar_pos2_row#1 * $28
  debug_print::print_schar_pos2_$1 = print_screen#4 + debug_print::print_schar_pos2_$0
  debug_print::print_schar_pos2_$2 = debug_print::print_schar_pos2_$1 + debug_print::print_schar_pos2_col#1
  print_schar_at::b#5 = debug_print::print_schar_pos2_sb#1
  print_schar_at::at#4 = debug_print::print_schar_pos2_$2
  call print_schar_at
  to:debug_print::@15
debug_print::@15: scope:[debug_print]  from debug_print::print_schar_pos2
  print_screen#33 = phi( debug_print::print_schar_pos2/print_screen#4 )
  to:debug_print::@3
debug_print::@3: scope:[debug_print]  from debug_print::@15
  print_screen#19 = phi( debug_print::@15/print_screen#33 )
  debug_print::print_schar_pos3_sb#0 = sz
  debug_print::print_schar_pos3_row#0 = 2
  debug_print::print_schar_pos3_col#0 = $25
  to:debug_print::print_schar_pos3
debug_print::print_schar_pos3: scope:[debug_print]  from debug_print::@3
  debug_print::print_schar_pos3_sb#1 = phi( debug_print::@3/debug_print::print_schar_pos3_sb#0 )
  debug_print::print_schar_pos3_col#1 = phi( debug_print::@3/debug_print::print_schar_pos3_col#0 )
  print_screen#5 = phi( debug_print::@3/print_screen#19 )
  debug_print::print_schar_pos3_row#1 = phi( debug_print::@3/debug_print::print_schar_pos3_row#0 )
  debug_print::print_schar_pos3_$0 = debug_print::print_schar_pos3_row#1 * $28
  debug_print::print_schar_pos3_$1 = print_screen#5 + debug_print::print_schar_pos3_$0
  debug_print::print_schar_pos3_$2 = debug_print::print_schar_pos3_$1 + debug_print::print_schar_pos3_col#1
  print_schar_at::b#6 = debug_print::print_schar_pos3_sb#1
  print_schar_at::at#5 = debug_print::print_schar_pos3_$2
  call print_schar_at
  to:debug_print::@16
debug_print::@16: scope:[debug_print]  from debug_print::print_schar_pos3
  print_screen#34 = phi( debug_print::print_schar_pos3/print_screen#5 )
  to:debug_print::@4
debug_print::@4: scope:[debug_print]  from debug_print::@16
  print_screen#20 = phi( debug_print::@16/print_screen#34 )
  debug_print::print_schar_pos4_sb#0 = rotation_matrix[0]
  debug_print::print_schar_pos4_row#0 = 4
  debug_print::print_schar_pos4_col#0 = $1d
  to:debug_print::print_schar_pos4
debug_print::print_schar_pos4: scope:[debug_print]  from debug_print::@4
  debug_print::print_schar_pos4_sb#1 = phi( debug_print::@4/debug_print::print_schar_pos4_sb#0 )
  debug_print::print_schar_pos4_col#1 = phi( debug_print::@4/debug_print::print_schar_pos4_col#0 )
  print_screen#6 = phi( debug_print::@4/print_screen#20 )
  debug_print::print_schar_pos4_row#1 = phi( debug_print::@4/debug_print::print_schar_pos4_row#0 )
  debug_print::print_schar_pos4_$0 = debug_print::print_schar_pos4_row#1 * $28
  debug_print::print_schar_pos4_$1 = print_screen#6 + debug_print::print_schar_pos4_$0
  debug_print::print_schar_pos4_$2 = debug_print::print_schar_pos4_$1 + debug_print::print_schar_pos4_col#1
  print_schar_at::b#7 = debug_print::print_schar_pos4_sb#1
  print_schar_at::at#6 = debug_print::print_schar_pos4_$2
  call print_schar_at
  to:debug_print::@17
debug_print::@17: scope:[debug_print]  from debug_print::print_schar_pos4
  print_screen#35 = phi( debug_print::print_schar_pos4/print_screen#6 )
  to:debug_print::@5
debug_print::@5: scope:[debug_print]  from debug_print::@17
  print_screen#21 = phi( debug_print::@17/print_screen#35 )
  debug_print::print_schar_pos5_sb#0 = rotation_matrix[1]
  debug_print::print_schar_pos5_row#0 = 4
  debug_print::print_schar_pos5_col#0 = $21
  to:debug_print::print_schar_pos5
debug_print::print_schar_pos5: scope:[debug_print]  from debug_print::@5
  debug_print::print_schar_pos5_sb#1 = phi( debug_print::@5/debug_print::print_schar_pos5_sb#0 )
  debug_print::print_schar_pos5_col#1 = phi( debug_print::@5/debug_print::print_schar_pos5_col#0 )
  print_screen#7 = phi( debug_print::@5/print_screen#21 )
  debug_print::print_schar_pos5_row#1 = phi( debug_print::@5/debug_print::print_schar_pos5_row#0 )
  debug_print::print_schar_pos5_$0 = debug_print::print_schar_pos5_row#1 * $28
  debug_print::print_schar_pos5_$1 = print_screen#7 + debug_print::print_schar_pos5_$0
  debug_print::print_schar_pos5_$2 = debug_print::print_schar_pos5_$1 + debug_print::print_schar_pos5_col#1
  print_schar_at::b#8 = debug_print::print_schar_pos5_sb#1
  print_schar_at::at#7 = debug_print::print_schar_pos5_$2
  call print_schar_at
  to:debug_print::@18
debug_print::@18: scope:[debug_print]  from debug_print::print_schar_pos5
  print_screen#36 = phi( debug_print::print_schar_pos5/print_screen#7 )
  to:debug_print::@6
debug_print::@6: scope:[debug_print]  from debug_print::@18
  print_screen#22 = phi( debug_print::@18/print_screen#36 )
  debug_print::print_schar_pos6_sb#0 = rotation_matrix[2]
  debug_print::print_schar_pos6_row#0 = 4
  debug_print::print_schar_pos6_col#0 = $25
  to:debug_print::print_schar_pos6
debug_print::print_schar_pos6: scope:[debug_print]  from debug_print::@6
  debug_print::print_schar_pos6_sb#1 = phi( debug_print::@6/debug_print::print_schar_pos6_sb#0 )
  debug_print::print_schar_pos6_col#1 = phi( debug_print::@6/debug_print::print_schar_pos6_col#0 )
  print_screen#8 = phi( debug_print::@6/print_screen#22 )
  debug_print::print_schar_pos6_row#1 = phi( debug_print::@6/debug_print::print_schar_pos6_row#0 )
  debug_print::print_schar_pos6_$0 = debug_print::print_schar_pos6_row#1 * $28
  debug_print::print_schar_pos6_$1 = print_screen#8 + debug_print::print_schar_pos6_$0
  debug_print::print_schar_pos6_$2 = debug_print::print_schar_pos6_$1 + debug_print::print_schar_pos6_col#1
  print_schar_at::b#9 = debug_print::print_schar_pos6_sb#1
  print_schar_at::at#8 = debug_print::print_schar_pos6_$2
  call print_schar_at
  to:debug_print::@19
debug_print::@19: scope:[debug_print]  from debug_print::print_schar_pos6
  print_screen#37 = phi( debug_print::print_schar_pos6/print_screen#8 )
  to:debug_print::@7
debug_print::@7: scope:[debug_print]  from debug_print::@19
  print_screen#23 = phi( debug_print::@19/print_screen#37 )
  debug_print::print_schar_pos7_sb#0 = rotation_matrix[3]
  debug_print::print_schar_pos7_row#0 = 5
  debug_print::print_schar_pos7_col#0 = $1d
  to:debug_print::print_schar_pos7
debug_print::print_schar_pos7: scope:[debug_print]  from debug_print::@7
  debug_print::print_schar_pos7_sb#1 = phi( debug_print::@7/debug_print::print_schar_pos7_sb#0 )
  debug_print::print_schar_pos7_col#1 = phi( debug_print::@7/debug_print::print_schar_pos7_col#0 )
  print_screen#9 = phi( debug_print::@7/print_screen#23 )
  debug_print::print_schar_pos7_row#1 = phi( debug_print::@7/debug_print::print_schar_pos7_row#0 )
  debug_print::print_schar_pos7_$0 = debug_print::print_schar_pos7_row#1 * $28
  debug_print::print_schar_pos7_$1 = print_screen#9 + debug_print::print_schar_pos7_$0
  debug_print::print_schar_pos7_$2 = debug_print::print_schar_pos7_$1 + debug_print::print_schar_pos7_col#1
  print_schar_at::b#10 = debug_print::print_schar_pos7_sb#1
  print_schar_at::at#9 = debug_print::print_schar_pos7_$2
  call print_schar_at
  to:debug_print::@20
debug_print::@20: scope:[debug_print]  from debug_print::print_schar_pos7
  print_screen#38 = phi( debug_print::print_schar_pos7/print_screen#9 )
  to:debug_print::@8
debug_print::@8: scope:[debug_print]  from debug_print::@20
  print_screen#24 = phi( debug_print::@20/print_screen#38 )
  debug_print::print_schar_pos8_sb#0 = rotation_matrix[4]
  debug_print::print_schar_pos8_row#0 = 5
  debug_print::print_schar_pos8_col#0 = $21
  to:debug_print::print_schar_pos8
debug_print::print_schar_pos8: scope:[debug_print]  from debug_print::@8
  debug_print::print_schar_pos8_sb#1 = phi( debug_print::@8/debug_print::print_schar_pos8_sb#0 )
  debug_print::print_schar_pos8_col#1 = phi( debug_print::@8/debug_print::print_schar_pos8_col#0 )
  print_screen#10 = phi( debug_print::@8/print_screen#24 )
  debug_print::print_schar_pos8_row#1 = phi( debug_print::@8/debug_print::print_schar_pos8_row#0 )
  debug_print::print_schar_pos8_$0 = debug_print::print_schar_pos8_row#1 * $28
  debug_print::print_schar_pos8_$1 = print_screen#10 + debug_print::print_schar_pos8_$0
  debug_print::print_schar_pos8_$2 = debug_print::print_schar_pos8_$1 + debug_print::print_schar_pos8_col#1
  print_schar_at::b#11 = debug_print::print_schar_pos8_sb#1
  print_schar_at::at#10 = debug_print::print_schar_pos8_$2
  call print_schar_at
  to:debug_print::@21
debug_print::@21: scope:[debug_print]  from debug_print::print_schar_pos8
  print_screen#39 = phi( debug_print::print_schar_pos8/print_screen#10 )
  to:debug_print::@9
debug_print::@9: scope:[debug_print]  from debug_print::@21
  print_screen#25 = phi( debug_print::@21/print_screen#39 )
  debug_print::print_schar_pos9_sb#0 = rotation_matrix[5]
  debug_print::print_schar_pos9_row#0 = 5
  debug_print::print_schar_pos9_col#0 = $25
  to:debug_print::print_schar_pos9
debug_print::print_schar_pos9: scope:[debug_print]  from debug_print::@9
  debug_print::print_schar_pos9_sb#1 = phi( debug_print::@9/debug_print::print_schar_pos9_sb#0 )
  debug_print::print_schar_pos9_col#1 = phi( debug_print::@9/debug_print::print_schar_pos9_col#0 )
  print_screen#11 = phi( debug_print::@9/print_screen#25 )
  debug_print::print_schar_pos9_row#1 = phi( debug_print::@9/debug_print::print_schar_pos9_row#0 )
  debug_print::print_schar_pos9_$0 = debug_print::print_schar_pos9_row#1 * $28
  debug_print::print_schar_pos9_$1 = print_screen#11 + debug_print::print_schar_pos9_$0
  debug_print::print_schar_pos9_$2 = debug_print::print_schar_pos9_$1 + debug_print::print_schar_pos9_col#1
  print_schar_at::b#12 = debug_print::print_schar_pos9_sb#1
  print_schar_at::at#11 = debug_print::print_schar_pos9_$2
  call print_schar_at
  to:debug_print::@22
debug_print::@22: scope:[debug_print]  from debug_print::print_schar_pos9
  print_screen#40 = phi( debug_print::print_schar_pos9/print_screen#11 )
  to:debug_print::@10
debug_print::@10: scope:[debug_print]  from debug_print::@22
  print_screen#26 = phi( debug_print::@22/print_screen#40 )
  debug_print::print_schar_pos10_sb#0 = rotation_matrix[6]
  debug_print::print_schar_pos10_row#0 = 6
  debug_print::print_schar_pos10_col#0 = $1d
  to:debug_print::print_schar_pos10
debug_print::print_schar_pos10: scope:[debug_print]  from debug_print::@10
  debug_print::print_schar_pos10_sb#1 = phi( debug_print::@10/debug_print::print_schar_pos10_sb#0 )
  debug_print::print_schar_pos10_col#1 = phi( debug_print::@10/debug_print::print_schar_pos10_col#0 )
  print_screen#12 = phi( debug_print::@10/print_screen#26 )
  debug_print::print_schar_pos10_row#1 = phi( debug_print::@10/debug_print::print_schar_pos10_row#0 )
  debug_print::print_schar_pos10_$0 = debug_print::print_schar_pos10_row#1 * $28
  debug_print::print_schar_pos10_$1 = print_screen#12 + debug_print::print_schar_pos10_$0
  debug_print::print_schar_pos10_$2 = debug_print::print_schar_pos10_$1 + debug_print::print_schar_pos10_col#1
  print_schar_at::b#13 = debug_print::print_schar_pos10_sb#1
  print_schar_at::at#12 = debug_print::print_schar_pos10_$2
  call print_schar_at
  to:debug_print::@23
debug_print::@23: scope:[debug_print]  from debug_print::print_schar_pos10
  print_screen#41 = phi( debug_print::print_schar_pos10/print_screen#12 )
  to:debug_print::@11
debug_print::@11: scope:[debug_print]  from debug_print::@23
  print_screen#27 = phi( debug_print::@23/print_screen#41 )
  debug_print::print_schar_pos11_sb#0 = rotation_matrix[7]
  debug_print::print_schar_pos11_row#0 = 6
  debug_print::print_schar_pos11_col#0 = $21
  to:debug_print::print_schar_pos11
debug_print::print_schar_pos11: scope:[debug_print]  from debug_print::@11
  debug_print::print_schar_pos11_sb#1 = phi( debug_print::@11/debug_print::print_schar_pos11_sb#0 )
  debug_print::print_schar_pos11_col#1 = phi( debug_print::@11/debug_print::print_schar_pos11_col#0 )
  print_screen#13 = phi( debug_print::@11/print_screen#27 )
  debug_print::print_schar_pos11_row#1 = phi( debug_print::@11/debug_print::print_schar_pos11_row#0 )
  debug_print::print_schar_pos11_$0 = debug_print::print_schar_pos11_row#1 * $28
  debug_print::print_schar_pos11_$1 = print_screen#13 + debug_print::print_schar_pos11_$0
  debug_print::print_schar_pos11_$2 = debug_print::print_schar_pos11_$1 + debug_print::print_schar_pos11_col#1
  print_schar_at::b#14 = debug_print::print_schar_pos11_sb#1
  print_schar_at::at#13 = debug_print::print_schar_pos11_$2
  call print_schar_at
  to:debug_print::@24
debug_print::@24: scope:[debug_print]  from debug_print::print_schar_pos11
  print_screen#42 = phi( debug_print::print_schar_pos11/print_screen#13 )
  to:debug_print::@12
debug_print::@12: scope:[debug_print]  from debug_print::@24
  print_screen#28 = phi( debug_print::@24/print_screen#42 )
  debug_print::print_schar_pos12_sb#0 = rotation_matrix[8]
  debug_print::print_schar_pos12_row#0 = 6
  debug_print::print_schar_pos12_col#0 = $25
  to:debug_print::print_schar_pos12
debug_print::print_schar_pos12: scope:[debug_print]  from debug_print::@12
  debug_print::print_schar_pos12_sb#1 = phi( debug_print::@12/debug_print::print_schar_pos12_sb#0 )
  debug_print::print_schar_pos12_col#1 = phi( debug_print::@12/debug_print::print_schar_pos12_col#0 )
  print_screen#14 = phi( debug_print::@12/print_screen#28 )
  debug_print::print_schar_pos12_row#1 = phi( debug_print::@12/debug_print::print_schar_pos12_row#0 )
  debug_print::print_schar_pos12_$0 = debug_print::print_schar_pos12_row#1 * $28
  debug_print::print_schar_pos12_$1 = print_screen#14 + debug_print::print_schar_pos12_$0
  debug_print::print_schar_pos12_$2 = debug_print::print_schar_pos12_$1 + debug_print::print_schar_pos12_col#1
  print_schar_at::b#15 = debug_print::print_schar_pos12_sb#1
  print_schar_at::at#14 = debug_print::print_schar_pos12_$2
  call print_schar_at
  to:debug_print::@25
debug_print::@25: scope:[debug_print]  from debug_print::print_schar_pos12
  to:debug_print::@13
debug_print::@13: scope:[debug_print]  from debug_print::@25
  debug_print::at_line#0 = SCREEN + $13*$28
  debug_print::c#0 = 4
  debug_print::i#0 = 0
  to:debug_print::@1
debug_print::@1: scope:[debug_print]  from debug_print::@13 debug_print::@31
  debug_print::i#2 = phi( debug_print::@13/debug_print::i#0, debug_print::@31/debug_print::i#1 )
  debug_print::c#2 = phi( debug_print::@13/debug_print::c#0, debug_print::@31/debug_print::c#1 )
  debug_print::at_line#1 = phi( debug_print::@13/debug_print::at_line#0, debug_print::@31/debug_print::at_line#7 )
  debug_print::$13 = debug_print::at_line#1 + $28*0
  debug_print::$14 = debug_print::$13 + debug_print::c#2
  print_schar_at::b#16 = xrs[debug_print::i#2]
  print_schar_at::at#15 = debug_print::$14
  call print_schar_at
  to:debug_print::@26
debug_print::@26: scope:[debug_print]  from debug_print::@1
  debug_print::i#3 = phi( debug_print::@1/debug_print::i#2 )
  debug_print::c#3 = phi( debug_print::@1/debug_print::c#2 )
  debug_print::at_line#2 = phi( debug_print::@1/debug_print::at_line#1 )
  debug_print::$16 = debug_print::at_line#2 + $28*1
  debug_print::$17 = debug_print::$16 + debug_print::c#3
  print_schar_at::b#17 = yrs[debug_print::i#3]
  print_schar_at::at#16 = debug_print::$17
  call print_schar_at
  to:debug_print::@27
debug_print::@27: scope:[debug_print]  from debug_print::@26
  debug_print::i#4 = phi( debug_print::@26/debug_print::i#3 )
  debug_print::c#4 = phi( debug_print::@26/debug_print::c#3 )
  debug_print::at_line#3 = phi( debug_print::@26/debug_print::at_line#2 )
  debug_print::$19 = debug_print::at_line#3 + $28*2
  debug_print::$20 = debug_print::$19 + debug_print::c#4
  print_schar_at::b#18 = zrs[debug_print::i#4]
  print_schar_at::at#17 = debug_print::$20
  call print_schar_at
  to:debug_print::@28
debug_print::@28: scope:[debug_print]  from debug_print::@27
  debug_print::i#5 = phi( debug_print::@27/debug_print::i#4 )
  debug_print::c#5 = phi( debug_print::@27/debug_print::c#4 )
  debug_print::at_line#4 = phi( debug_print::@27/debug_print::at_line#3 )
  debug_print::$22 = debug_print::at_line#4 + $28*3
  debug_print::$23 = debug_print::$22 + debug_print::c#5
  print_schar_at::b#19 = pps[debug_print::i#5]
  print_schar_at::at#18 = debug_print::$23
  call print_schar_at
  to:debug_print::@29
debug_print::@29: scope:[debug_print]  from debug_print::@28
  debug_print::i#6 = phi( debug_print::@28/debug_print::i#5 )
  debug_print::c#6 = phi( debug_print::@28/debug_print::c#5 )
  debug_print::at_line#5 = phi( debug_print::@28/debug_print::at_line#4 )
  debug_print::$25 = debug_print::at_line#5 + $28*4
  debug_print::$26 = debug_print::$25 + debug_print::c#6
  print_schar_at::b#20 = xps[debug_print::i#6]
  print_schar_at::at#19 = debug_print::$26
  call print_schar_at
  to:debug_print::@30
debug_print::@30: scope:[debug_print]  from debug_print::@29
  debug_print::i#7 = phi( debug_print::@29/debug_print::i#6 )
  debug_print::c#7 = phi( debug_print::@29/debug_print::c#6 )
  debug_print::at_line#6 = phi( debug_print::@29/debug_print::at_line#5 )
  debug_print::$28 = debug_print::at_line#6 + $28*5
  debug_print::$29 = debug_print::$28 + debug_print::c#7
  print_schar_at::b#21 = yps[debug_print::i#7]
  print_schar_at::at#20 = debug_print::$29
  call print_schar_at
  to:debug_print::@31
debug_print::@31: scope:[debug_print]  from debug_print::@30
  debug_print::at_line#7 = phi( debug_print::@30/debug_print::at_line#6 )
  debug_print::i#8 = phi( debug_print::@30/debug_print::i#7 )
  debug_print::c#8 = phi( debug_print::@30/debug_print::c#7 )
  debug_print::c#1 = debug_print::c#8 + 4
  debug_print::i#1 = debug_print::i#8 + rangenext(0,7)
  debug_print::$31 = debug_print::i#1 != rangelast(0,7)
  if(debug_print::$31) goto debug_print::@1
  to:debug_print::@return
debug_print::@return: scope:[debug_print]  from debug_print::@31
  return 
  to:@return

void sprites_init()
sprites_init: scope:[sprites_init]  from main
  *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff
  sprites_init::sprites_ptr#0 = sprites_init::SCREEN + $3f8
  sprites_init::i#0 = 0
  to:sprites_init::@1
sprites_init::@1: scope:[sprites_init]  from sprites_init sprites_init::@1
  sprites_init::i#2 = phi( sprites_init/sprites_init::i#0, sprites_init::@1/sprites_init::i#1 )
  sprites_init::sprites_ptr#1 = phi( sprites_init/sprites_init::sprites_ptr#0, sprites_init::@1/sprites_init::sprites_ptr#1 )
  sprites_init::$1 = SPRITE / $40
  sprites_init::sprites_ptr#1[sprites_init::i#2] = (char)sprites_init::$1
  SPRITES_COLOR[sprites_init::i#2] = GREEN
  sprites_init::i#1 = sprites_init::i#2 + rangenext(0,7)
  sprites_init::$2 = sprites_init::i#1 != rangelast(0,7)
  if(sprites_init::$2) goto sprites_init::@1
  to:sprites_init::@return
sprites_init::@return: scope:[sprites_init]  from sprites_init::@1
  return 
  to:@return

void calculate_matrix(signed char sx , signed char sy , signed char sz)
calculate_matrix: scope:[calculate_matrix]  from anim::@5
  calculate_matrix::sx#1 = phi( anim::@5/calculate_matrix::sx#0 )
  calculate_matrix::sz#1 = phi( anim::@5/calculate_matrix::sz#0 )
  calculate_matrix::sy#1 = phi( anim::@5/calculate_matrix::sy#0 )
  calculate_matrix::t1#0 = calculate_matrix::sy#1 - calculate_matrix::sz#1
  calculate_matrix::t2#0 = calculate_matrix::sy#1 + calculate_matrix::sz#1
  calculate_matrix::t3#0 = calculate_matrix::sx#1 + calculate_matrix::sz#1
  calculate_matrix::t4#0 = calculate_matrix::sx#1 - calculate_matrix::sz#1
  calculate_matrix::t5#0 = calculate_matrix::sx#1 + calculate_matrix::t2#0
  calculate_matrix::t6#0 = calculate_matrix::sx#1 - calculate_matrix::t1#0
  calculate_matrix::t7#0 = calculate_matrix::sx#1 + calculate_matrix::t1#0
  calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#1
  calculate_matrix::t9#0 = calculate_matrix::sy#1 - calculate_matrix::sx#1
  calculate_matrix::t10#0 = calculate_matrix::sy#1 + calculate_matrix::sx#1
  calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0]
  rotation_matrix[0] = calculate_matrix::$10
  calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0]
  rotation_matrix[1] = calculate_matrix::$11
  calculate_matrix::$12 = SINH[calculate_matrix::sy#1] + SINH[calculate_matrix::sy#1]
  rotation_matrix[2] = calculate_matrix::$12
  calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0]
  calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0]
  calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0]
  calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0]
  calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0]
  rotation_matrix[3] = calculate_matrix::$17
  calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0]
  calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0]
  calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0]
  calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0]
  calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0]
  rotation_matrix[4] = calculate_matrix::$22
  calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0]
  rotation_matrix[5] = calculate_matrix::$23
  calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0]
  calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0]
  calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0]
  calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0]
  calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0]
  rotation_matrix[6] = calculate_matrix::$28
  calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0]
  calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0]
  calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0]
  calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0]
  calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0]
  rotation_matrix[7] = calculate_matrix::$33
  calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0]
  rotation_matrix[8] = calculate_matrix::$34
  to:calculate_matrix::@return
calculate_matrix::@return: scope:[calculate_matrix]  from calculate_matrix
  return 
  to:@return

void store_matrix()
store_matrix: scope:[store_matrix]  from anim::@8
  asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  }
  to:store_matrix::@return
store_matrix::@return: scope:[store_matrix]  from store_matrix
  return 
  to:@return

void rotate_matrix(signed char x , signed char y , signed char z)
rotate_matrix: scope:[rotate_matrix]  from anim::@6
  rotate_matrix::z#1 = phi( anim::@6/rotate_matrix::z#0 )
  rotate_matrix::y#1 = phi( anim::@6/rotate_matrix::y#0 )
  rotate_matrix::x#1 = phi( anim::@6/rotate_matrix::x#0 )
  xr = rotate_matrix::x#1
  yr = rotate_matrix::y#1
  zr = rotate_matrix::z#1
  asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
  to:rotate_matrix::@return
rotate_matrix::@return: scope:[rotate_matrix]  from rotate_matrix
  return 
  to:@return

void __start()
__start: scope:[__start]  from
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  print_screen#0 = (char *)$400
  xr = 0
  yr = 0
  zr = 0
  pp = 0
  xp = 0
  yp = 0
  psp1 = 0
  psp2 = 0
  sx#4 = 0
  sy#4 = 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  print_screen#43 = phi( __start::__init1/print_screen#0 )
  sy#20 = phi( __start::__init1/sy#4 )
  sx#19 = phi( __start::__init1/sx#4 )
  call main
  to:__start::@2
__start::@2: scope:[__start]  from __start::@1
  print_screen#29 = phi( __start::@1/print_screen#43 )
  sy#13 = phi( __start::@1/sy#1 )
  sx#13 = phi( __start::@1/sx#1 )
  sx#5 = sx#13
  sy#5 = sy#13
  to:__start::@return
__start::@return: scope:[__start]  from __start::@2
  sy#14 = phi( __start::@2/sy#5 )
  sx#14 = phi( __start::@2/sx#5 )
  print_screen#15 = phi( __start::@2/print_screen#29 )
  print_screen#1 = print_screen#15
  sx#6 = sx#14
  sy#6 = sy#14
  return 
  to:@return

SYMBOL TABLE SSA
__constant signed char *COSH = SINH+$40
__constant signed char *COSQ = SINQ+$40
__constant const char GREEN = 5
__constant const char LIGHT_BLUE = $e
__constant const char LIGHT_GREY = $f
__constant char OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
__constant char OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
__constant char OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE = $15
__constant signed char PERSP_Z[$100] = kickasm {{ {
    .var d = 256.0	
    .var z0 = 6.0	
    // These values of d/z0 result in table values from $20 to $40 (effectively max is $3f)
    .for(var z=0;z<$100;z++) {
    	.if(z>127) {
    		.byte round(d / (z0 - ((z - 256) / 64.0)));
    	} else {
    		.byte round(d / (z0 - (z / 64.0)));
    	}
    }
	}
 }}
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant char *SCREEN = (char *)$400
__constant signed char SINH[$140] = kickasm {{ {
    .var min = -$2000
    .var max = $2000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }
 }}
__constant signed char SINQ[$140] = kickasm {{ {
    .var min = -$1000
    .var max = $1000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }
 }}
__constant char SPRITE[] = kickasm {{ .var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
    .for (var y=0; y<21; y++)
        .for (var x=0;x<3; x++)
            .byte pic.getSinglecolorByte(x,y)
 }}
__constant char * const SPRITES_COLOR = (char *)$d027
__constant char * const SPRITES_XPOS = (char *)$d000
__constant char * const SPRITES_YPOS = (char *)$d001
__constant struct MOS6569_VICII * const VICII = (struct MOS6569_VICII *)$d000
void __start()
void anim()
bool anim::$0
bool anim::$1
number anim::$10
bool anim::$11
char anim::$13
char anim::$14
bool anim::$2
number anim::$9
char anim::i
char anim::i#0
char anim::i#1
char anim::i#2
char anim::i#3
char anim::i2
char anim::i2#0
void calculate_matrix(signed char sx , signed char sy , signed char sz)
signed char calculate_matrix::$10
signed char calculate_matrix::$11
signed char calculate_matrix::$12
signed char calculate_matrix::$13
signed char calculate_matrix::$14
signed char calculate_matrix::$15
signed char calculate_matrix::$16
signed char calculate_matrix::$17
signed char calculate_matrix::$18
signed char calculate_matrix::$19
signed char calculate_matrix::$20
signed char calculate_matrix::$21
signed char calculate_matrix::$22
signed char calculate_matrix::$23
signed char calculate_matrix::$24
signed char calculate_matrix::$25
signed char calculate_matrix::$26
signed char calculate_matrix::$27
signed char calculate_matrix::$28
signed char calculate_matrix::$29
signed char calculate_matrix::$30
signed char calculate_matrix::$31
signed char calculate_matrix::$32
signed char calculate_matrix::$33
signed char calculate_matrix::$34
signed char calculate_matrix::sx
signed char calculate_matrix::sx#0
signed char calculate_matrix::sx#1
signed char calculate_matrix::sy
signed char calculate_matrix::sy#0
signed char calculate_matrix::sy#1
signed char calculate_matrix::sz
signed char calculate_matrix::sz#0
signed char calculate_matrix::sz#1
signed char calculate_matrix::t1
signed char calculate_matrix::t1#0
signed char calculate_matrix::t10
signed char calculate_matrix::t10#0
signed char calculate_matrix::t2
signed char calculate_matrix::t2#0
signed char calculate_matrix::t3
signed char calculate_matrix::t3#0
signed char calculate_matrix::t4
signed char calculate_matrix::t4#0
signed char calculate_matrix::t5
signed char calculate_matrix::t5#0
signed char calculate_matrix::t6
signed char calculate_matrix::t6#0
signed char calculate_matrix::t7
signed char calculate_matrix::t7#0
signed char calculate_matrix::t8
signed char calculate_matrix::t8#0
signed char calculate_matrix::t9
signed char calculate_matrix::t9#0
void debug_print()
char *debug_print::$13
char *debug_print::$14
char *debug_print::$16
char *debug_print::$17
char *debug_print::$19
char *debug_print::$20
char *debug_print::$22
char *debug_print::$23
char *debug_print::$25
char *debug_print::$26
char *debug_print::$28
char *debug_print::$29
bool debug_print::$31
char *debug_print::at_line
char *debug_print::at_line#0
char *debug_print::at_line#1
char *debug_print::at_line#2
char *debug_print::at_line#3
char *debug_print::at_line#4
char *debug_print::at_line#5
char *debug_print::at_line#6
char *debug_print::at_line#7
char debug_print::c
char debug_print::c#0
char debug_print::c#1
char debug_print::c#2
char debug_print::c#3
char debug_print::c#4
char debug_print::c#5
char debug_print::c#6
char debug_print::c#7
char debug_print::c#8
char debug_print::i
char debug_print::i#0
char debug_print::i#1
char debug_print::i#2
char debug_print::i#3
char debug_print::i#4
char debug_print::i#5
char debug_print::i#6
char debug_print::i#7
char debug_print::i#8
number debug_print::print_schar_pos10_$0
char *debug_print::print_schar_pos10_$1
char *debug_print::print_schar_pos10_$2
char debug_print::print_schar_pos10_col
char debug_print::print_schar_pos10_col#0
char debug_print::print_schar_pos10_col#1
char debug_print::print_schar_pos10_row
char debug_print::print_schar_pos10_row#0
char debug_print::print_schar_pos10_row#1
signed char debug_print::print_schar_pos10_sb
signed char debug_print::print_schar_pos10_sb#0
signed char debug_print::print_schar_pos10_sb#1
number debug_print::print_schar_pos11_$0
char *debug_print::print_schar_pos11_$1
char *debug_print::print_schar_pos11_$2
char debug_print::print_schar_pos11_col
char debug_print::print_schar_pos11_col#0
char debug_print::print_schar_pos11_col#1
char debug_print::print_schar_pos11_row
char debug_print::print_schar_pos11_row#0
char debug_print::print_schar_pos11_row#1
signed char debug_print::print_schar_pos11_sb
signed char debug_print::print_schar_pos11_sb#0
signed char debug_print::print_schar_pos11_sb#1
number debug_print::print_schar_pos12_$0
char *debug_print::print_schar_pos12_$1
char *debug_print::print_schar_pos12_$2
char debug_print::print_schar_pos12_col
char debug_print::print_schar_pos12_col#0
char debug_print::print_schar_pos12_col#1
char debug_print::print_schar_pos12_row
char debug_print::print_schar_pos12_row#0
char debug_print::print_schar_pos12_row#1
signed char debug_print::print_schar_pos12_sb
signed char debug_print::print_schar_pos12_sb#0
signed char debug_print::print_schar_pos12_sb#1
number debug_print::print_schar_pos1_$0
char *debug_print::print_schar_pos1_$1
char *debug_print::print_schar_pos1_$2
char debug_print::print_schar_pos1_col
char debug_print::print_schar_pos1_col#0
char debug_print::print_schar_pos1_col#1
char debug_print::print_schar_pos1_row
char debug_print::print_schar_pos1_row#0
char debug_print::print_schar_pos1_row#1
signed char debug_print::print_schar_pos1_sb
signed char debug_print::print_schar_pos1_sb#0
signed char debug_print::print_schar_pos1_sb#1
number debug_print::print_schar_pos2_$0
char *debug_print::print_schar_pos2_$1
char *debug_print::print_schar_pos2_$2
char debug_print::print_schar_pos2_col
char debug_print::print_schar_pos2_col#0
char debug_print::print_schar_pos2_col#1
char debug_print::print_schar_pos2_row
char debug_print::print_schar_pos2_row#0
char debug_print::print_schar_pos2_row#1
signed char debug_print::print_schar_pos2_sb
signed char debug_print::print_schar_pos2_sb#0
signed char debug_print::print_schar_pos2_sb#1
number debug_print::print_schar_pos3_$0
char *debug_print::print_schar_pos3_$1
char *debug_print::print_schar_pos3_$2
char debug_print::print_schar_pos3_col
char debug_print::print_schar_pos3_col#0
char debug_print::print_schar_pos3_col#1
char debug_print::print_schar_pos3_row
char debug_print::print_schar_pos3_row#0
char debug_print::print_schar_pos3_row#1
signed char debug_print::print_schar_pos3_sb
signed char debug_print::print_schar_pos3_sb#0
signed char debug_print::print_schar_pos3_sb#1
number debug_print::print_schar_pos4_$0
char *debug_print::print_schar_pos4_$1
char *debug_print::print_schar_pos4_$2
char debug_print::print_schar_pos4_col
char debug_print::print_schar_pos4_col#0
char debug_print::print_schar_pos4_col#1
char debug_print::print_schar_pos4_row
char debug_print::print_schar_pos4_row#0
char debug_print::print_schar_pos4_row#1
signed char debug_print::print_schar_pos4_sb
signed char debug_print::print_schar_pos4_sb#0
signed char debug_print::print_schar_pos4_sb#1
number debug_print::print_schar_pos5_$0
char *debug_print::print_schar_pos5_$1
char *debug_print::print_schar_pos5_$2
char debug_print::print_schar_pos5_col
char debug_print::print_schar_pos5_col#0
char debug_print::print_schar_pos5_col#1
char debug_print::print_schar_pos5_row
char debug_print::print_schar_pos5_row#0
char debug_print::print_schar_pos5_row#1
signed char debug_print::print_schar_pos5_sb
signed char debug_print::print_schar_pos5_sb#0
signed char debug_print::print_schar_pos5_sb#1
number debug_print::print_schar_pos6_$0
char *debug_print::print_schar_pos6_$1
char *debug_print::print_schar_pos6_$2
char debug_print::print_schar_pos6_col
char debug_print::print_schar_pos6_col#0
char debug_print::print_schar_pos6_col#1
char debug_print::print_schar_pos6_row
char debug_print::print_schar_pos6_row#0
char debug_print::print_schar_pos6_row#1
signed char debug_print::print_schar_pos6_sb
signed char debug_print::print_schar_pos6_sb#0
signed char debug_print::print_schar_pos6_sb#1
number debug_print::print_schar_pos7_$0
char *debug_print::print_schar_pos7_$1
char *debug_print::print_schar_pos7_$2
char debug_print::print_schar_pos7_col
char debug_print::print_schar_pos7_col#0
char debug_print::print_schar_pos7_col#1
char debug_print::print_schar_pos7_row
char debug_print::print_schar_pos7_row#0
char debug_print::print_schar_pos7_row#1
signed char debug_print::print_schar_pos7_sb
signed char debug_print::print_schar_pos7_sb#0
signed char debug_print::print_schar_pos7_sb#1
number debug_print::print_schar_pos8_$0
char *debug_print::print_schar_pos8_$1
char *debug_print::print_schar_pos8_$2
char debug_print::print_schar_pos8_col
char debug_print::print_schar_pos8_col#0
char debug_print::print_schar_pos8_col#1
char debug_print::print_schar_pos8_row
char debug_print::print_schar_pos8_row#0
char debug_print::print_schar_pos8_row#1
signed char debug_print::print_schar_pos8_sb
signed char debug_print::print_schar_pos8_sb#0
signed char debug_print::print_schar_pos8_sb#1
number debug_print::print_schar_pos9_$0
char *debug_print::print_schar_pos9_$1
char *debug_print::print_schar_pos9_$2
char debug_print::print_schar_pos9_col
char debug_print::print_schar_pos9_col#0
char debug_print::print_schar_pos9_col#1
char debug_print::print_schar_pos9_row
char debug_print::print_schar_pos9_row#0
char debug_print::print_schar_pos9_row#1
signed char debug_print::print_schar_pos9_sb
signed char debug_print::print_schar_pos9_sb#0
signed char debug_print::print_schar_pos9_sb#1
void debug_print_init()
char *debug_print_init::$1
char *debug_print_init::$10
char *debug_print_init::$12
char *debug_print_init::$14
char *debug_print_init::$16
char *debug_print_init::$18
char *debug_print_init::$2
char *debug_print_init::$20
char *debug_print_init::$22
char *debug_print_init::$24
char *debug_print_init::$26
char *debug_print_init::$30
char *debug_print_init::$31
char *debug_print_init::$33
char *debug_print_init::$34
char *debug_print_init::$36
char *debug_print_init::$37
char *debug_print_init::$4
char *debug_print_init::$40
char *debug_print_init::$41
char *debug_print_init::$42
char *debug_print_init::$43
char *debug_print_init::$44
char *debug_print_init::$45
char *debug_print_init::$46
char *debug_print_init::$47
char *debug_print_init::$48
char *debug_print_init::$49
char *debug_print_init::$5
char *debug_print_init::$50
char *debug_print_init::$51
char *debug_print_init::$52
char *debug_print_init::$53
char *debug_print_init::$54
char *debug_print_init::$55
char *debug_print_init::$56
char *debug_print_init::$57
char *debug_print_init::$58
char *debug_print_init::$59
char *debug_print_init::$60
char *debug_print_init::$61
char *debug_print_init::$62
char *debug_print_init::$63
char *debug_print_init::$64
char *debug_print_init::$65
char *debug_print_init::$66
bool debug_print_init::$67
bool debug_print_init::$68
char *debug_print_init::$7
char *debug_print_init::$8
__constant char *debug_print_init::COLS = (char *)$d800
char *debug_print_init::at_cols
char *debug_print_init::at_cols#0
char *debug_print_init::at_cols#1
char *debug_print_init::at_cols#2
char *debug_print_init::at_cols#3
char *debug_print_init::at_cols#4
char *debug_print_init::at_cols#5
char *debug_print_init::at_cols#6
char *debug_print_init::at_line
char *debug_print_init::at_line#0
char *debug_print_init::at_line#1
char *debug_print_init::at_line#2
char *debug_print_init::at_line#3
char *debug_print_init::at_line#4
char *debug_print_init::at_line#5
char *debug_print_init::at_line#6
char debug_print_init::c
char debug_print_init::c#0
char debug_print_init::c#1
char debug_print_init::c#2
char debug_print_init::c#3
char debug_print_init::c#4
char debug_print_init::c#5
char debug_print_init::c#6
char debug_print_init::c#7
char debug_print_init::col
char debug_print_init::col#0
char debug_print_init::i
char debug_print_init::i#0
char debug_print_init::i#1
char debug_print_init::i#2
char debug_print_init::i#3
char debug_print_init::i#4
char debug_print_init::i#5
char debug_print_init::i#6
char debug_print_init::i#7
char debug_print_init::j
char debug_print_init::j#0
char debug_print_init::j#1
char debug_print_init::j#2
__constant char debug_print_init::str[3] = "sx"
__constant char debug_print_init::str1[3] = "sy"
__constant char debug_print_init::str10[3] = "xp"
__constant char debug_print_init::str11[3] = "yp"
__constant char debug_print_init::str2[3] = "sz"
__constant char debug_print_init::str3[2] = "x"
__constant char debug_print_init::str4[2] = "y"
__constant char debug_print_init::str5[2] = "z"
__constant char debug_print_init::str6[3] = "xr"
__constant char debug_print_init::str7[3] = "yr"
__constant char debug_print_init::str8[3] = "zr"
__constant char debug_print_init::str9[3] = "pp"
void main()
void * memset(void *str , char c , unsigned int num)
bool memset::$0
bool memset::$1
bool memset::$3
char *memset::$4
char memset::c
char memset::c#0
char memset::c#1
char memset::c#2
char memset::c#3
char memset::c#4
char *memset::dst
char *memset::dst#0
char *memset::dst#1
char *memset::dst#2
char *memset::dst#3
char *memset::end
char *memset::end#0
char *memset::end#1
char *memset::end#2
unsigned int memset::num
unsigned int memset::num#0
unsigned int memset::num#1
unsigned int memset::num#2
void *memset::return
void *memset::return#0
void *memset::return#1
void *memset::return#2
void *memset::return#3
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
__constant char mulf_sqr1[$200] = kickasm {{ .for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((i*i)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) }
    	.if(i>351) { .byte round(((512-i)*(512-i))/256) }
    }
 }}
__constant char mulf_sqr2[$200] = kickasm {{ .for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((-i-1)*(-i-1)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) }
    	.if(i>351) { .byte round(((i-511)*(i-511))/256) }  
    }
 }}
__loadstore volatile signed char pp
__constant signed char pps[8] = { fill( 8, 0) }
void print_char_at(char ch , char *at)
char *print_char_at::at
char *print_char_at::at#0
char *print_char_at::at#1
char *print_char_at::at#2
char *print_char_at::at#3
char *print_char_at::at#4
char print_char_at::ch
char print_char_at::ch#0
char print_char_at::ch#1
char print_char_at::ch#2
char print_char_at::ch#3
char print_char_at::ch#4
void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z
void print_schar_at(signed char b , char *at)
bool print_schar_at::$0
char *print_schar_at::$1
signed char print_schar_at::$5
char *print_schar_at::at
char *print_schar_at::at#0
char *print_schar_at::at#1
char *print_schar_at::at#10
char *print_schar_at::at#11
char *print_schar_at::at#12
char *print_schar_at::at#13
char *print_schar_at::at#14
char *print_schar_at::at#15
char *print_schar_at::at#16
char *print_schar_at::at#17
char *print_schar_at::at#18
char *print_schar_at::at#19
char *print_schar_at::at#2
char *print_schar_at::at#20
char *print_schar_at::at#21
char *print_schar_at::at#22
char *print_schar_at::at#23
char *print_schar_at::at#24
char *print_schar_at::at#25
char *print_schar_at::at#26
char *print_schar_at::at#3
char *print_schar_at::at#4
char *print_schar_at::at#5
char *print_schar_at::at#6
char *print_schar_at::at#7
char *print_schar_at::at#8
char *print_schar_at::at#9
signed char print_schar_at::b
signed char print_schar_at::b#0
signed char print_schar_at::b#1
signed char print_schar_at::b#10
signed char print_schar_at::b#11
signed char print_schar_at::b#12
signed char print_schar_at::b#13
signed char print_schar_at::b#14
signed char print_schar_at::b#15
signed char print_schar_at::b#16
signed char print_schar_at::b#17
signed char print_schar_at::b#18
signed char print_schar_at::b#19
signed char print_schar_at::b#2
signed char print_schar_at::b#20
signed char print_schar_at::b#21
signed char print_schar_at::b#22
signed char print_schar_at::b#23
signed char print_schar_at::b#24
signed char print_schar_at::b#25
signed char print_schar_at::b#26
signed char print_schar_at::b#27
signed char print_schar_at::b#3
signed char print_schar_at::b#4
signed char print_schar_at::b#5
signed char print_schar_at::b#6
signed char print_schar_at::b#7
signed char print_schar_at::b#8
signed char print_schar_at::b#9
char *print_screen
char *print_screen#0
char *print_screen#1
char *print_screen#10
char *print_screen#11
char *print_screen#12
char *print_screen#13
char *print_screen#14
char *print_screen#15
char *print_screen#16
char *print_screen#17
char *print_screen#18
char *print_screen#19
char *print_screen#2
char *print_screen#20
char *print_screen#21
char *print_screen#22
char *print_screen#23
char *print_screen#24
char *print_screen#25
char *print_screen#26
char *print_screen#27
char *print_screen#28
char *print_screen#29
char *print_screen#3
char *print_screen#30
char *print_screen#31
char *print_screen#32
char *print_screen#33
char *print_screen#34
char *print_screen#35
char *print_screen#36
char *print_screen#37
char *print_screen#38
char *print_screen#39
char *print_screen#4
char *print_screen#40
char *print_screen#41
char *print_screen#42
char *print_screen#43
char *print_screen#44
char *print_screen#45
char *print_screen#46
char *print_screen#47
char *print_screen#48
char *print_screen#49
char *print_screen#5
char *print_screen#50
char *print_screen#51
char *print_screen#52
char *print_screen#53
char *print_screen#54
char *print_screen#55
char *print_screen#56
char *print_screen#6
char *print_screen#7
char *print_screen#8
char *print_screen#9
void print_str_at(char *str , char *at)
bool print_str_at::$0
char *print_str_at::at
char *print_str_at::at#0
char *print_str_at::at#1
char *print_str_at::at#10
char *print_str_at::at#11
char *print_str_at::at#12
char *print_str_at::at#13
char *print_str_at::at#14
char *print_str_at::at#15
char *print_str_at::at#2
char *print_str_at::at#3
char *print_str_at::at#4
char *print_str_at::at#5
char *print_str_at::at#6
char *print_str_at::at#7
char *print_str_at::at#8
char *print_str_at::at#9
char *print_str_at::str
char *print_str_at::str#0
char *print_str_at::str#1
char *print_str_at::str#10
char *print_str_at::str#11
char *print_str_at::str#12
char *print_str_at::str#13
char *print_str_at::str#14
char *print_str_at::str#15
char *print_str_at::str#2
char *print_str_at::str#3
char *print_str_at::str#4
char *print_str_at::str#5
char *print_str_at::str#6
char *print_str_at::str#7
char *print_str_at::str#8
char *print_str_at::str#9
void print_uchar_at(char b , char *at)
char print_uchar_at::$0
number print_uchar_at::$2
char *print_uchar_at::$3
char *print_uchar_at::at
char *print_uchar_at::at#0
char *print_uchar_at::at#1
char *print_uchar_at::at#2
char print_uchar_at::b
char print_uchar_at::b#0
char print_uchar_at::b#1
char print_uchar_at::b#2
__loadstore volatile unsigned int psp1
__loadstore volatile unsigned int psp2
void rotate_matrix(signed char x , signed char y , signed char z)
signed char rotate_matrix::x
signed char rotate_matrix::x#0
signed char rotate_matrix::x#1
signed char rotate_matrix::y
signed char rotate_matrix::y#0
signed char rotate_matrix::y#1
signed char rotate_matrix::z
signed char rotate_matrix::z#0
signed char rotate_matrix::z#1
__constant signed char rotation_matrix[9] = { fill( 9, 0) }
void sprites_init()
char *sprites_init::$1
bool sprites_init::$2
__constant char *sprites_init::SCREEN = (char *)$400
char sprites_init::i
char sprites_init::i#0
char sprites_init::i#1
char sprites_init::i#2
char *sprites_init::sprites_ptr
char *sprites_init::sprites_ptr#0
char *sprites_init::sprites_ptr#1
void store_matrix()
signed char sx
signed char sx#0
signed char sx#1
signed char sx#10
signed char sx#11
signed char sx#12
signed char sx#13
signed char sx#14
signed char sx#15
signed char sx#16
signed char sx#17
signed char sx#18
signed char sx#19
signed char sx#2
signed char sx#20
signed char sx#21
signed char sx#22
signed char sx#23
signed char sx#24
signed char sx#25
signed char sx#26
signed char sx#27
signed char sx#28
signed char sx#3
signed char sx#4
signed char sx#5
signed char sx#6
signed char sx#7
signed char sx#8
signed char sx#9
signed char sy
signed char sy#0
signed char sy#1
signed char sy#10
signed char sy#11
signed char sy#12
signed char sy#13
signed char sy#14
signed char sy#15
signed char sy#16
signed char sy#17
signed char sy#18
signed char sy#19
signed char sy#2
signed char sy#20
signed char sy#21
signed char sy#22
signed char sy#23
signed char sy#24
signed char sy#25
signed char sy#26
signed char sy#27
signed char sy#28
signed char sy#29
signed char sy#3
signed char sy#30
signed char sy#31
signed char sy#4
signed char sy#5
signed char sy#6
signed char sy#7
signed char sy#8
signed char sy#9
__constant signed char sz = 0
__loadstore volatile signed char xp
__constant signed char xps[8] = { fill( 8, 0) }
__loadstore volatile signed char xr
__constant signed char xrs[8] = { fill( 8, 0) }
__constant signed char xs[8] = { -$34, -$34, -$34, 0, 0, $34, $34, $34 }
__loadstore volatile signed char yp
__constant signed char yps[8] = { fill( 8, 0) }
__loadstore volatile signed char yr
__constant signed char yrs[8] = { fill( 8, 0) }
__constant signed char ys[8] = { -$34, 0, $34, -$34, $34, -$34, 0, $34 }
__loadstore volatile signed char zr
__constant signed char zrs[8] = { fill( 8, 0) }
__constant signed char zs[8] = { $34, $34, $34, $34, $34, $34, $34, $34 }

Adding number conversion cast (unumber) $40 in 
Adding number conversion cast (unumber) $40 in 
Adding number conversion cast (unumber) 0 in print_str_at::$0 = 0 != *print_str_at::str#13
Adding number conversion cast (snumber) 0 in print_schar_at::$0 = print_schar_at::b#22 < 0
Adding number conversion cast (unumber) 1 in print_schar_at::$1 = print_schar_at::at#23 + 1
Adding number conversion cast (unumber) 4 in print_uchar_at::$0 = print_uchar_at::b#1 >> 4
Adding number conversion cast (unumber) $f in print_uchar_at::$2 = print_uchar_at::b#2 & $f
Adding number conversion cast (unumber) print_uchar_at::$2 in print_uchar_at::$2 = print_uchar_at::b#2 & (unumber)$f
Adding number conversion cast (unumber) 1 in print_uchar_at::$3 = print_uchar_at::at#2 + 1
Adding number conversion cast (unumber) $3e8 in memset::num#0 = $3e8
Adding number conversion cast (unumber) 0 in memset::$0 = memset::num#1 > 0
Adding number conversion cast (unumber) $ff in anim::$0 = *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER) != $ff
Adding number conversion cast (unumber) $fe in anim::$1 = *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER) != $fe
Adding number conversion cast (unumber) $fd in anim::$2 = *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER) != $fd
Adding number conversion cast (unumber) 2 in anim::i2#0 = anim::i#3 * 2
Adding number conversion cast (unumber) $80 in anim::$9 = $80 + anim::$13
Adding number conversion cast (unumber) anim::$9 in anim::$9 = (unumber)$80 + anim::$13
Adding number conversion cast (unumber) $80 in anim::$10 = $80 + anim::$14
Adding number conversion cast (unumber) anim::$10 in anim::$10 = (unumber)$80 + anim::$14
Adding number conversion cast (snumber) 2 in sx#2 = sx#10 + 2
Adding number conversion cast (snumber) 3 in sy#2 = sy#10 - 3
Adding number conversion cast (unumber) $28*0 in debug_print_init::$1 = SCREEN + $28*0
Adding number conversion cast (unumber) $22 in debug_print_init::$2 = debug_print_init::$1 + $22
Adding number conversion cast (unumber) $28*1 in debug_print_init::$4 = SCREEN + $28*1
Adding number conversion cast (unumber) $22 in debug_print_init::$5 = debug_print_init::$4 + $22
Adding number conversion cast (unumber) $28*2 in debug_print_init::$7 = SCREEN + $28*2
Adding number conversion cast (unumber) $22 in debug_print_init::$8 = debug_print_init::$7 + $22
Adding number conversion cast (unumber) $28*$10 in debug_print_init::$10 = SCREEN + $28*$10
Adding number conversion cast (unumber) $28*$11 in debug_print_init::$12 = SCREEN + $28*$11
Adding number conversion cast (unumber) $28*$12 in debug_print_init::$14 = SCREEN + $28*$12
Adding number conversion cast (unumber) $28*$13 in debug_print_init::$16 = SCREEN + $28*$13
Adding number conversion cast (unumber) $28*$14 in debug_print_init::$18 = SCREEN + $28*$14
Adding number conversion cast (unumber) $28*$15 in debug_print_init::$20 = SCREEN + $28*$15
Adding number conversion cast (unumber) $28*$16 in debug_print_init::$22 = SCREEN + $28*$16
Adding number conversion cast (unumber) $28*$17 in debug_print_init::$24 = SCREEN + $28*$17
Adding number conversion cast (unumber) $28*$18 in debug_print_init::$26 = SCREEN + $28*$18
Adding number conversion cast (unumber) $10*$28 in debug_print_init::at_line#0 = SCREEN + $10*$28
Adding number conversion cast (unumber) $10*$28 in debug_print_init::at_cols#0 = debug_print_init::COLS + $10*$28
Adding number conversion cast (unumber) $28*0 in debug_print_init::$30 = debug_print_init::at_line#1 + $28*0
Adding number conversion cast (unumber) $28*1 in debug_print_init::$33 = debug_print_init::at_line#2 + $28*1
Adding number conversion cast (unumber) $28*2 in debug_print_init::$36 = debug_print_init::at_line#3 + $28*2
Adding number conversion cast (unumber) 8 in debug_print_init::col#0 = 8 + debug_print_init::i#5
Adding number conversion cast (unumber) $28*0 in debug_print_init::$40 = debug_print_init::at_cols#1 + $28*0
Adding number conversion cast (unumber) $28*1 in debug_print_init::$43 = debug_print_init::at_cols#1 + $28*1
Adding number conversion cast (unumber) $28*2 in debug_print_init::$46 = debug_print_init::at_cols#1 + $28*2
Adding number conversion cast (unumber) $28*3 in debug_print_init::$49 = debug_print_init::at_cols#1 + $28*3
Adding number conversion cast (unumber) $28*4 in debug_print_init::$52 = debug_print_init::at_cols#1 + $28*4
Adding number conversion cast (unumber) $28*5 in debug_print_init::$55 = debug_print_init::at_cols#1 + $28*5
Adding number conversion cast (unumber) $28*6 in debug_print_init::$58 = debug_print_init::at_cols#1 + $28*6
Adding number conversion cast (unumber) $28*7 in debug_print_init::$61 = debug_print_init::at_cols#1 + $28*7
Adding number conversion cast (unumber) $28*8 in debug_print_init::$64 = debug_print_init::at_cols#1 + $28*8
Adding number conversion cast (unumber) 4 in debug_print_init::c#1 = debug_print_init::c#6 + 4
Adding number conversion cast (unumber) 0 in debug_print::print_schar_pos1_row#0 = 0
Adding number conversion cast (unumber) $25 in debug_print::print_schar_pos1_col#0 = $25
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos1_$0 = debug_print::print_schar_pos1_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos1_$0 in debug_print::print_schar_pos1_$0 = debug_print::print_schar_pos1_row#1 * (unumber)$28
Adding number conversion cast (unumber) 1 in debug_print::print_schar_pos2_row#0 = 1
Adding number conversion cast (unumber) $25 in debug_print::print_schar_pos2_col#0 = $25
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos2_$0 = debug_print::print_schar_pos2_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos2_$0 in debug_print::print_schar_pos2_$0 = debug_print::print_schar_pos2_row#1 * (unumber)$28
Adding number conversion cast (unumber) 2 in debug_print::print_schar_pos3_row#0 = 2
Adding number conversion cast (unumber) $25 in debug_print::print_schar_pos3_col#0 = $25
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos3_$0 = debug_print::print_schar_pos3_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos3_$0 in debug_print::print_schar_pos3_$0 = debug_print::print_schar_pos3_row#1 * (unumber)$28
Adding number conversion cast (unumber) 0 in debug_print::print_schar_pos4_sb#0 = rotation_matrix[0]
Adding number conversion cast (unumber) 4 in debug_print::print_schar_pos4_row#0 = 4
Adding number conversion cast (unumber) $1d in debug_print::print_schar_pos4_col#0 = $1d
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos4_$0 = debug_print::print_schar_pos4_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos4_$0 in debug_print::print_schar_pos4_$0 = debug_print::print_schar_pos4_row#1 * (unumber)$28
Adding number conversion cast (unumber) 1 in debug_print::print_schar_pos5_sb#0 = rotation_matrix[1]
Adding number conversion cast (unumber) 4 in debug_print::print_schar_pos5_row#0 = 4
Adding number conversion cast (unumber) $21 in debug_print::print_schar_pos5_col#0 = $21
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos5_$0 = debug_print::print_schar_pos5_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos5_$0 in debug_print::print_schar_pos5_$0 = debug_print::print_schar_pos5_row#1 * (unumber)$28
Adding number conversion cast (unumber) 2 in debug_print::print_schar_pos6_sb#0 = rotation_matrix[2]
Adding number conversion cast (unumber) 4 in debug_print::print_schar_pos6_row#0 = 4
Adding number conversion cast (unumber) $25 in debug_print::print_schar_pos6_col#0 = $25
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos6_$0 = debug_print::print_schar_pos6_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos6_$0 in debug_print::print_schar_pos6_$0 = debug_print::print_schar_pos6_row#1 * (unumber)$28
Adding number conversion cast (unumber) 3 in debug_print::print_schar_pos7_sb#0 = rotation_matrix[3]
Adding number conversion cast (unumber) 5 in debug_print::print_schar_pos7_row#0 = 5
Adding number conversion cast (unumber) $1d in debug_print::print_schar_pos7_col#0 = $1d
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos7_$0 = debug_print::print_schar_pos7_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos7_$0 in debug_print::print_schar_pos7_$0 = debug_print::print_schar_pos7_row#1 * (unumber)$28
Adding number conversion cast (unumber) 4 in debug_print::print_schar_pos8_sb#0 = rotation_matrix[4]
Adding number conversion cast (unumber) 5 in debug_print::print_schar_pos8_row#0 = 5
Adding number conversion cast (unumber) $21 in debug_print::print_schar_pos8_col#0 = $21
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos8_$0 = debug_print::print_schar_pos8_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos8_$0 in debug_print::print_schar_pos8_$0 = debug_print::print_schar_pos8_row#1 * (unumber)$28
Adding number conversion cast (unumber) 5 in debug_print::print_schar_pos9_sb#0 = rotation_matrix[5]
Adding number conversion cast (unumber) 5 in debug_print::print_schar_pos9_row#0 = 5
Adding number conversion cast (unumber) $25 in debug_print::print_schar_pos9_col#0 = $25
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos9_$0 = debug_print::print_schar_pos9_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos9_$0 in debug_print::print_schar_pos9_$0 = debug_print::print_schar_pos9_row#1 * (unumber)$28
Adding number conversion cast (unumber) 6 in debug_print::print_schar_pos10_sb#0 = rotation_matrix[6]
Adding number conversion cast (unumber) 6 in debug_print::print_schar_pos10_row#0 = 6
Adding number conversion cast (unumber) $1d in debug_print::print_schar_pos10_col#0 = $1d
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos10_$0 = debug_print::print_schar_pos10_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos10_$0 in debug_print::print_schar_pos10_$0 = debug_print::print_schar_pos10_row#1 * (unumber)$28
Adding number conversion cast (unumber) 7 in debug_print::print_schar_pos11_sb#0 = rotation_matrix[7]
Adding number conversion cast (unumber) 6 in debug_print::print_schar_pos11_row#0 = 6
Adding number conversion cast (unumber) $21 in debug_print::print_schar_pos11_col#0 = $21
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos11_$0 = debug_print::print_schar_pos11_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos11_$0 in debug_print::print_schar_pos11_$0 = debug_print::print_schar_pos11_row#1 * (unumber)$28
Adding number conversion cast (unumber) 8 in debug_print::print_schar_pos12_sb#0 = rotation_matrix[8]
Adding number conversion cast (unumber) 6 in debug_print::print_schar_pos12_row#0 = 6
Adding number conversion cast (unumber) $25 in debug_print::print_schar_pos12_col#0 = $25
Adding number conversion cast (unumber) $28 in debug_print::print_schar_pos12_$0 = debug_print::print_schar_pos12_row#1 * $28
Adding number conversion cast (unumber) debug_print::print_schar_pos12_$0 in debug_print::print_schar_pos12_$0 = debug_print::print_schar_pos12_row#1 * (unumber)$28
Adding number conversion cast (unumber) $13*$28 in debug_print::at_line#0 = SCREEN + $13*$28
Adding number conversion cast (unumber) $28*0 in debug_print::$13 = debug_print::at_line#1 + $28*0
Adding number conversion cast (unumber) $28*1 in debug_print::$16 = debug_print::at_line#2 + $28*1
Adding number conversion cast (unumber) $28*2 in debug_print::$19 = debug_print::at_line#3 + $28*2
Adding number conversion cast (unumber) $28*3 in debug_print::$22 = debug_print::at_line#4 + $28*3
Adding number conversion cast (unumber) $28*4 in debug_print::$25 = debug_print::at_line#5 + $28*4
Adding number conversion cast (unumber) $28*5 in debug_print::$28 = debug_print::at_line#6 + $28*5
Adding number conversion cast (unumber) 4 in debug_print::c#1 = debug_print::c#8 + 4
Adding number conversion cast (unumber) $ff in *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff
Adding number conversion cast (unumber) $3f8 in sprites_init::sprites_ptr#0 = sprites_init::SCREEN + $3f8
Adding number conversion cast (unumber) $40 in sprites_init::$1 = SPRITE / $40
Adding number conversion cast (unumber) 0 in rotation_matrix[0] = calculate_matrix::$10
Adding number conversion cast (unumber) 1 in rotation_matrix[1] = calculate_matrix::$11
Adding number conversion cast (unumber) 2 in rotation_matrix[2] = calculate_matrix::$12
Adding number conversion cast (unumber) 3 in rotation_matrix[3] = calculate_matrix::$17
Adding number conversion cast (unumber) 4 in rotation_matrix[4] = calculate_matrix::$22
Adding number conversion cast (unumber) 5 in rotation_matrix[5] = calculate_matrix::$23
Adding number conversion cast (unumber) 6 in rotation_matrix[6] = calculate_matrix::$28
Adding number conversion cast (unumber) 7 in rotation_matrix[7] = calculate_matrix::$33
Adding number conversion cast (unumber) 8 in rotation_matrix[8] = calculate_matrix::$34
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast memset::num#0 = (unumber)$3e8
Inlining cast memset::dst#0 = (char *)memset::str#2
Inlining cast debug_print::print_schar_pos1_row#0 = (unumber)0
Inlining cast debug_print::print_schar_pos1_col#0 = (unumber)$25
Inlining cast debug_print::print_schar_pos2_row#0 = (unumber)1
Inlining cast debug_print::print_schar_pos2_col#0 = (unumber)$25
Inlining cast debug_print::print_schar_pos3_row#0 = (unumber)2
Inlining cast debug_print::print_schar_pos3_col#0 = (unumber)$25
Inlining cast debug_print::print_schar_pos4_row#0 = (unumber)4
Inlining cast debug_print::print_schar_pos4_col#0 = (unumber)$1d
Inlining cast debug_print::print_schar_pos5_row#0 = (unumber)4
Inlining cast debug_print::print_schar_pos5_col#0 = (unumber)$21
Inlining cast debug_print::print_schar_pos6_row#0 = (unumber)4
Inlining cast debug_print::print_schar_pos6_col#0 = (unumber)$25
Inlining cast debug_print::print_schar_pos7_row#0 = (unumber)5
Inlining cast debug_print::print_schar_pos7_col#0 = (unumber)$1d
Inlining cast debug_print::print_schar_pos8_row#0 = (unumber)5
Inlining cast debug_print::print_schar_pos8_col#0 = (unumber)$21
Inlining cast debug_print::print_schar_pos9_row#0 = (unumber)5
Inlining cast debug_print::print_schar_pos9_col#0 = (unumber)$25
Inlining cast debug_print::print_schar_pos10_row#0 = (unumber)6
Inlining cast debug_print::print_schar_pos10_col#0 = (unumber)$1d
Inlining cast debug_print::print_schar_pos11_row#0 = (unumber)6
Inlining cast debug_print::print_schar_pos11_col#0 = (unumber)$21
Inlining cast debug_print::print_schar_pos12_row#0 = (unumber)6
Inlining cast debug_print::print_schar_pos12_col#0 = (unumber)$25
Inlining cast *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = (unumber)$ff
Successful SSA optimization Pass2InlineCast
Simplifying constant pointer cast (char *) 53248
Simplifying constant pointer cast (char *) 53249
Simplifying constant pointer cast (char *) 53287
Simplifying constant pointer cast (struct MOS6569_VICII *) 53248
Simplifying constant pointer cast (char *) 55296
Simplifying constant pointer cast (char *) 1024
Simplifying constant pointer cast (char *) 1024
Simplifying constant integer cast $40
Simplifying constant integer cast $40
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 4
Simplifying constant integer cast $f
Simplifying constant integer cast 1
Simplifying constant integer cast $3e8
Simplifying constant integer cast 0
Simplifying constant integer cast $ff
Simplifying constant integer cast $fe
Simplifying constant integer cast $fd
Simplifying constant integer cast 2
Simplifying constant integer cast $80
Simplifying constant integer cast $80
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Simplifying constant integer cast $22
Simplifying constant integer cast $22
Simplifying constant integer cast $22
Simplifying constant integer cast 8
Simplifying constant integer cast 4
Simplifying constant integer cast 0
Simplifying constant integer cast $25
Simplifying constant integer cast $28
Simplifying constant integer cast 1
Simplifying constant integer cast $25
Simplifying constant integer cast $28
Simplifying constant integer cast 2
Simplifying constant integer cast $25
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast 4
Simplifying constant integer cast $1d
Simplifying constant integer cast $28
Simplifying constant integer cast 1
Simplifying constant integer cast 4
Simplifying constant integer cast $21
Simplifying constant integer cast $28
Simplifying constant integer cast 2
Simplifying constant integer cast 4
Simplifying constant integer cast $25
Simplifying constant integer cast $28
Simplifying constant integer cast 3
Simplifying constant integer cast 5
Simplifying constant integer cast $1d
Simplifying constant integer cast $28
Simplifying constant integer cast 4
Simplifying constant integer cast 5
Simplifying constant integer cast $21
Simplifying constant integer cast $28
Simplifying constant integer cast 5
Simplifying constant integer cast 5
Simplifying constant integer cast $25
Simplifying constant integer cast $28
Simplifying constant integer cast 6
Simplifying constant integer cast 6
Simplifying constant integer cast $1d
Simplifying constant integer cast $28
Simplifying constant integer cast 7
Simplifying constant integer cast 6
Simplifying constant integer cast $21
Simplifying constant integer cast $28
Simplifying constant integer cast 8
Simplifying constant integer cast 6
Simplifying constant integer cast $25
Simplifying constant integer cast $28
Simplifying constant integer cast 4
Simplifying constant integer cast $ff
Simplifying constant integer cast $3f8
Simplifying constant integer cast $40
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Simplifying constant integer cast 4
Simplifying constant integer cast 5
Simplifying constant integer cast 6
Simplifying constant integer cast 7
Simplifying constant integer cast 8
Simplifying constant pointer cast (char *) 1024
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) $40
Finalized unsigned number type (char) $40
Finalized unsigned number type (char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $f
Finalized unsigned number type (char) 1
Finalized unsigned number type (unsigned int) $3e8
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $ff
Finalized unsigned number type (char) $fe
Finalized unsigned number type (char) $fd
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $80
Finalized unsigned number type (char) $80
Finalized signed number type (signed char) 2
Finalized signed number type (signed char) 3
Finalized unsigned number type (char) $22
Finalized unsigned number type (char) $22
Finalized unsigned number type (char) $22
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $25
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $25
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $25
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $1d
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $21
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $25
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) $1d
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) $21
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) $25
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) $1d
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) $21
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) $25
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $ff
Finalized unsigned number type (unsigned int) $3f8
Finalized unsigned number type (char) $40
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) 8
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to char in print_uchar_at::$2 = print_uchar_at::b#2 & $f
Inferred type updated to char in anim::$9 = $80 + anim::$13
Inferred type updated to char in anim::$10 = $80 + anim::$14
Inferred type updated to char in debug_print::print_schar_pos1_$0 = debug_print::print_schar_pos1_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos2_$0 = debug_print::print_schar_pos2_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos3_$0 = debug_print::print_schar_pos3_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos4_$0 = debug_print::print_schar_pos4_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos5_$0 = debug_print::print_schar_pos5_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos6_$0 = debug_print::print_schar_pos6_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos7_$0 = debug_print::print_schar_pos7_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos8_$0 = debug_print::print_schar_pos8_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos9_$0 = debug_print::print_schar_pos9_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos10_$0 = debug_print::print_schar_pos10_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos11_$0 = debug_print::print_schar_pos11_row#1 * $28
Inferred type updated to char in debug_print::print_schar_pos12_$0 = debug_print::print_schar_pos12_row#1 * $28
Inversing boolean not [54] memset::$1 = memset::num#1 <= 0 from [53] memset::$0 = memset::num#1 > 0
Successful SSA optimization Pass2UnaryNotSimplification
Alias print_str_at::str#13 = print_str_at::str#14 
Alias print_str_at::at#13 = print_str_at::at#14 
Alias print_schar_at::at#21 = print_schar_at::at#24 print_schar_at::at#25 print_schar_at::at#22 print_schar_at::at#26 
Alias print_schar_at::b#22 = print_schar_at::b#25 print_schar_at::b#23 print_schar_at::b#27 print_schar_at::b#26 
Alias print_schar_at::b#0 = print_schar_at::$5 
Alias print_uchar_at::at#0 = print_schar_at::$1 
Alias print_uchar_at::b#1 = print_uchar_at::b#2 
Alias print_uchar_at::at#1 = print_uchar_at::at#2 
Alias print_char_at::at#3 = print_uchar_at::$3 
Alias memset::return#1 = memset::str#1 memset::return#3 memset::return#2 
Alias memset::str#2 = memset::str#3 
Alias memset::num#1 = memset::num#2 
Alias memset::c#3 = memset::c#4 
Alias memset::c#1 = memset::c#2 
Alias memset::dst#2 = memset::dst#3 
Alias memset::end#1 = memset::end#2 
Alias memset::str#4 = memset::str#5 
Alias sx#15 = sx#20 sx#24 
Alias sy#15 = sy#21 sy#26 
Alias print_screen#30 = print_screen#44 print_screen#56 
Alias sx#0 = sx#7 sx#8 sx#1 
Alias sy#0 = sy#7 sy#8 sy#1 
Alias sx#16 = sx#9 sx#28 sx#27 
Alias sy#16 = sy#9 sy#31 sy#30 
Alias print_screen#47 = print_screen#49 print_screen#50 print_screen#48 
Alias anim::i#2 = anim::i#3 
Alias sx#10 = sx#23 sx#26 sx#17 
Alias sy#10 = sy#24 sy#28 sy#17 
Alias print_screen#31 = print_screen#45 print_screen#46 print_screen#55 
Alias sx#11 = sx#18 sx#3 
Alias sy#11 = sy#18 sy#3 
Alias print_str_at::at#1 = debug_print_init::$2 
Alias print_str_at::at#2 = debug_print_init::$5 
Alias print_str_at::at#3 = debug_print_init::$8 
Alias print_str_at::at#4 = debug_print_init::$10 
Alias print_str_at::at#5 = debug_print_init::$12 
Alias print_str_at::at#6 = debug_print_init::$14 
Alias print_str_at::at#7 = debug_print_init::$16 
Alias print_str_at::at#8 = debug_print_init::$18 
Alias print_str_at::at#9 = debug_print_init::$20 
Alias print_str_at::at#10 = debug_print_init::$22 
Alias print_str_at::at#11 = debug_print_init::$24 
Alias print_str_at::at#12 = debug_print_init::$26 
Alias print_schar_at::at#0 = debug_print_init::$31 
Alias debug_print_init::at_line#1 = debug_print_init::at_line#2 debug_print_init::at_line#3 debug_print_init::at_line#6 
Alias debug_print_init::c#2 = debug_print_init::c#3 debug_print_init::c#4 debug_print_init::c#7 
Alias debug_print_init::i#2 = debug_print_init::i#3 debug_print_init::i#4 debug_print_init::i#7 
Alias debug_print_init::at_cols#2 = debug_print_init::at_cols#4 debug_print_init::at_cols#5 debug_print_init::at_cols#3 
Alias print_schar_at::at#1 = debug_print_init::$34 
Alias print_schar_at::at#2 = debug_print_init::$37 
Alias debug_print_init::c#5 = debug_print_init::c#6 
Alias debug_print_init::i#5 = debug_print_init::i#6 
Alias debug_print_init::at_line#4 = debug_print_init::at_line#5 
Alias debug_print_init::at_cols#1 = debug_print_init::at_cols#6 
Alias debug_print::print_schar_pos1_row#0 = debug_print::print_schar_pos1_row#1 
Alias print_screen#10 = print_screen#3 print_screen#17 print_screen#32 print_screen#18 print_screen#4 print_screen#33 print_screen#19 print_screen#5 print_screen#34 print_screen#20 print_screen#6 print_screen#35 print_screen#21 print_screen#7 print_screen#36 print_screen#22 print_screen#8 print_screen#37 print_screen#23 print_screen#9 print_screen#38 print_screen#24 print_screen#39 print_screen#25 print_screen#11 print_screen#40 print_screen#26 print_screen#12 print_screen#41 print_screen#27 print_screen#13 print_screen#42 print_screen#28 print_screen#14 
Alias debug_print::print_schar_pos1_col#0 = debug_print::print_schar_pos1_col#1 
Alias debug_print::print_schar_pos1_sb#0 = debug_print::print_schar_pos1_sb#1 
Alias sy#12 = sy#25 sy#29 sy#19 
Alias print_schar_at::at#3 = debug_print::print_schar_pos1_$2 
Alias debug_print::print_schar_pos2_row#0 = debug_print::print_schar_pos2_row#1 
Alias debug_print::print_schar_pos2_col#0 = debug_print::print_schar_pos2_col#1 
Alias debug_print::print_schar_pos2_sb#0 = debug_print::print_schar_pos2_sb#1 
Alias print_schar_at::at#4 = debug_print::print_schar_pos2_$2 
Alias debug_print::print_schar_pos3_row#0 = debug_print::print_schar_pos3_row#1 
Alias debug_print::print_schar_pos3_col#0 = debug_print::print_schar_pos3_col#1 
Alias debug_print::print_schar_pos3_sb#0 = debug_print::print_schar_pos3_sb#1 
Alias print_schar_at::at#5 = debug_print::print_schar_pos3_$2 
Alias debug_print::print_schar_pos4_row#0 = debug_print::print_schar_pos4_row#1 
Alias debug_print::print_schar_pos4_col#0 = debug_print::print_schar_pos4_col#1 
Alias debug_print::print_schar_pos4_sb#0 = debug_print::print_schar_pos4_sb#1 
Alias print_schar_at::at#6 = debug_print::print_schar_pos4_$2 
Alias debug_print::print_schar_pos5_row#0 = debug_print::print_schar_pos5_row#1 
Alias debug_print::print_schar_pos5_col#0 = debug_print::print_schar_pos5_col#1 
Alias debug_print::print_schar_pos5_sb#0 = debug_print::print_schar_pos5_sb#1 
Alias print_schar_at::at#7 = debug_print::print_schar_pos5_$2 
Alias debug_print::print_schar_pos6_row#0 = debug_print::print_schar_pos6_row#1 
Alias debug_print::print_schar_pos6_col#0 = debug_print::print_schar_pos6_col#1 
Alias debug_print::print_schar_pos6_sb#0 = debug_print::print_schar_pos6_sb#1 
Alias print_schar_at::at#8 = debug_print::print_schar_pos6_$2 
Alias debug_print::print_schar_pos7_row#0 = debug_print::print_schar_pos7_row#1 
Alias debug_print::print_schar_pos7_col#0 = debug_print::print_schar_pos7_col#1 
Alias debug_print::print_schar_pos7_sb#0 = debug_print::print_schar_pos7_sb#1 
Alias print_schar_at::at#9 = debug_print::print_schar_pos7_$2 
Alias debug_print::print_schar_pos8_row#0 = debug_print::print_schar_pos8_row#1 
Alias debug_print::print_schar_pos8_col#0 = debug_print::print_schar_pos8_col#1 
Alias debug_print::print_schar_pos8_sb#0 = debug_print::print_schar_pos8_sb#1 
Alias print_schar_at::at#10 = debug_print::print_schar_pos8_$2 
Alias debug_print::print_schar_pos9_row#0 = debug_print::print_schar_pos9_row#1 
Alias debug_print::print_schar_pos9_col#0 = debug_print::print_schar_pos9_col#1 
Alias debug_print::print_schar_pos9_sb#0 = debug_print::print_schar_pos9_sb#1 
Alias print_schar_at::at#11 = debug_print::print_schar_pos9_$2 
Alias debug_print::print_schar_pos10_row#0 = debug_print::print_schar_pos10_row#1 
Alias debug_print::print_schar_pos10_col#0 = debug_print::print_schar_pos10_col#1 
Alias debug_print::print_schar_pos10_sb#0 = debug_print::print_schar_pos10_sb#1 
Alias print_schar_at::at#12 = debug_print::print_schar_pos10_$2 
Alias debug_print::print_schar_pos11_row#0 = debug_print::print_schar_pos11_row#1 
Alias debug_print::print_schar_pos11_col#0 = debug_print::print_schar_pos11_col#1 
Alias debug_print::print_schar_pos11_sb#0 = debug_print::print_schar_pos11_sb#1 
Alias print_schar_at::at#13 = debug_print::print_schar_pos11_$2 
Alias debug_print::print_schar_pos12_row#0 = debug_print::print_schar_pos12_row#1 
Alias debug_print::print_schar_pos12_col#0 = debug_print::print_schar_pos12_col#1 
Alias debug_print::print_schar_pos12_sb#0 = debug_print::print_schar_pos12_sb#1 
Alias print_schar_at::at#14 = debug_print::print_schar_pos12_$2 
Alias print_schar_at::at#15 = debug_print::$14 
Alias debug_print::at_line#1 = debug_print::at_line#2 debug_print::at_line#3 debug_print::at_line#4 debug_print::at_line#5 debug_print::at_line#6 debug_print::at_line#7 
Alias debug_print::c#2 = debug_print::c#3 debug_print::c#4 debug_print::c#5 debug_print::c#6 debug_print::c#7 debug_print::c#8 
Alias debug_print::i#2 = debug_print::i#3 debug_print::i#4 debug_print::i#5 debug_print::i#6 debug_print::i#7 debug_print::i#8 
Alias print_schar_at::at#16 = debug_print::$17 
Alias print_schar_at::at#17 = debug_print::$20 
Alias print_schar_at::at#18 = debug_print::$23 
Alias print_schar_at::at#19 = debug_print::$26 
Alias print_schar_at::at#20 = debug_print::$29 
Alias sx#19 = sx#4 
Alias sy#20 = sy#4 
Alias print_screen#0 = print_screen#43 print_screen#29 print_screen#15 print_screen#1 
Alias sx#13 = sx#5 sx#14 sx#6 
Alias sy#13 = sy#5 sy#14 sy#6 
Successful SSA optimization Pass2AliasElimination
Alias print_schar_at::at#21 = print_schar_at::at#23 
Successful SSA optimization Pass2AliasElimination
Identical Phi Values print_uchar_at::b#1 print_uchar_at::b#0
Identical Phi Values print_uchar_at::at#1 print_uchar_at::at#0
Identical Phi Values print_screen#2 print_screen#16
Identical Phi Values memset::num#1 memset::num#0
Identical Phi Values memset::str#2 memset::str#0
Identical Phi Values memset::c#3 memset::c#0
Identical Phi Values memset::end#1 memset::end#0
Identical Phi Values memset::str#4 memset::str#2
Identical Phi Values memset::c#1 memset::c#3
Identical Phi Values sx#15 sx#19
Identical Phi Values sy#15 sy#20
Identical Phi Values print_screen#30 print_screen#0
Identical Phi Values sx#0 sx#11
Identical Phi Values sy#0 sy#11
Identical Phi Values sx#21 sx#15
Identical Phi Values sy#22 sy#15
Identical Phi Values print_screen#54 print_screen#30
Identical Phi Values sx#25 sx#11
Identical Phi Values sy#27 sy#11
Identical Phi Values print_screen#52 print_screen#53
Identical Phi Values sx#22 sx#25
Identical Phi Values sy#23 sy#27
Identical Phi Values print_screen#51 print_screen#52
Identical Phi Values sx#16 sx#22
Identical Phi Values sy#16 sy#23
Identical Phi Values print_screen#47 print_screen#51
Identical Phi Values sx#10 sx#16
Identical Phi Values sy#10 sy#16
Identical Phi Values print_screen#31 print_screen#47
Identical Phi Values print_screen#16 print_screen#30
Identical Phi Values debug_print_init::i#5 debug_print_init::i#2
Identical Phi Values debug_print_init::at_cols#1 debug_print_init::at_cols#2
Identical Phi Values debug_print_init::c#5 debug_print_init::c#2
Identical Phi Values debug_print_init::at_line#4 debug_print_init::at_line#1
Identical Phi Values sx#12 sx#10
Identical Phi Values print_screen#10 print_screen#31
Identical Phi Values sy#12 sy#10
Identical Phi Values debug_print::at_line#1 debug_print::at_line#0
Identical Phi Values sprites_init::sprites_ptr#1 sprites_init::sprites_ptr#0
Identical Phi Values calculate_matrix::sy#1 calculate_matrix::sy#0
Identical Phi Values calculate_matrix::sz#1 calculate_matrix::sz#0
Identical Phi Values calculate_matrix::sx#1 calculate_matrix::sx#0
Identical Phi Values rotate_matrix::x#1 rotate_matrix::x#0
Identical Phi Values rotate_matrix::y#1 rotate_matrix::y#0
Identical Phi Values rotate_matrix::z#1 rotate_matrix::z#0
Identical Phi Values sx#13 sx#0
Identical Phi Values sy#13 sy#0
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values memset::return#1 memset::str#0
Identical Phi Values print_screen#53 print_screen#0
Identical Phi Values debug_print_init::at_line#1 debug_print_init::at_line#0
Identical Phi Values debug_print_init::at_cols#2 debug_print_init::at_cols#0
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition print_str_at::$0 [3] if(0!=*print_str_at::str#13) goto print_str_at::@2
Simple Condition print_schar_at::$0 [10] if(print_schar_at::b#22<0) goto print_schar_at::@1
Simple Condition memset::$1 [45] if(memset::num#0<=0) goto memset::@1
Simple Condition memset::$3 [52] if(memset::dst#2!=memset::end#0) goto memset::@4
Simple Condition anim::$0 [70] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2
Simple Condition anim::$1 [73] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3
Simple Condition anim::$2 [76] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4
Simple Condition anim::$11 [105] if(anim::i#1!=rangelast(0,7)) goto anim::@6
Simple Condition debug_print_init::$67 [211] if(debug_print_init::j#1!=rangelast(0,3)) goto debug_print_init::@2
Simple Condition debug_print_init::$68 [215] if(debug_print_init::i#1!=rangelast(0,7)) goto debug_print_init::@1
Simple Condition debug_print::$31 [345] if(debug_print::i#1!=rangelast(0,7)) goto debug_print::@1
Simple Condition sprites_init::$2 [356] if(sprites_init::i#1!=rangelast(0,7)) goto sprites_init::@1
Successful SSA optimization Pass2ConditionalJumpSimplification
Constant right-side identified [59] psp1 = (unsigned int)mulf_sqr1
Constant right-side identified [60] psp2 = (unsigned int)mulf_sqr2
Constant right-side identified [114] debug_print_init::$1 = SCREEN + (char)$28*0
Constant right-side identified [118] debug_print_init::$4 = SCREEN + (char)$28*1
Constant right-side identified [122] debug_print_init::$7 = SCREEN + (char)$28*2
Constant right-side identified [126] print_str_at::at#4 = SCREEN + (unsigned int)$28*$10
Constant right-side identified [129] print_str_at::at#5 = SCREEN + (unsigned int)$28*$11
Constant right-side identified [132] print_str_at::at#6 = SCREEN + (unsigned int)$28*$12
Constant right-side identified [135] print_str_at::at#7 = SCREEN + (unsigned int)$28*$13
Constant right-side identified [138] print_str_at::at#8 = SCREEN + (unsigned int)$28*$14
Constant right-side identified [141] print_str_at::at#9 = SCREEN + (unsigned int)$28*$15
Constant right-side identified [144] print_str_at::at#10 = SCREEN + (unsigned int)$28*$16
Constant right-side identified [147] print_str_at::at#11 = SCREEN + (unsigned int)$28*$17
Constant right-side identified [150] print_str_at::at#12 = SCREEN + (unsigned int)$28*$18
Constant right-side identified [153] debug_print_init::at_line#0 = SCREEN + (unsigned int)$10*$28
Constant right-side identified [155] debug_print_init::at_cols#0 = debug_print_init::COLS + (unsigned int)$10*$28
Constant right-side identified [314] debug_print::at_line#0 = SCREEN + (unsigned int)$13*$28
Constant right-side identified [348] sprites_init::sprites_ptr#0 = sprites_init::SCREEN + $3f8
Constant right-side identified [351] sprites_init::$1 = SPRITE / $40
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant print_char_at::ch#0 = '-'
Constant print_char_at::ch#1 = ' '
Constant memset::c#0 = ' '
Constant memset::num#0 = $3e8
Constant calculate_matrix::sz#0 = sz
Constant anim::i#0 = 0
Constant debug_print_init::$1 = SCREEN+(char)$28*0
Constant print_str_at::str#1 = debug_print_init::str
Constant debug_print_init::$4 = SCREEN+(char)$28*1
Constant print_str_at::str#2 = debug_print_init::str1
Constant debug_print_init::$7 = SCREEN+(char)$28*2
Constant print_str_at::str#3 = debug_print_init::str2
Constant print_str_at::at#4 = SCREEN+(unsigned int)$28*$10
Constant print_str_at::str#4 = debug_print_init::str3
Constant print_str_at::at#5 = SCREEN+(unsigned int)$28*$11
Constant print_str_at::str#5 = debug_print_init::str4
Constant print_str_at::at#6 = SCREEN+(unsigned int)$28*$12
Constant print_str_at::str#6 = debug_print_init::str5
Constant print_str_at::at#7 = SCREEN+(unsigned int)$28*$13
Constant print_str_at::str#7 = debug_print_init::str6
Constant print_str_at::at#8 = SCREEN+(unsigned int)$28*$14
Constant print_str_at::str#8 = debug_print_init::str7
Constant print_str_at::at#9 = SCREEN+(unsigned int)$28*$15
Constant print_str_at::str#9 = debug_print_init::str8
Constant print_str_at::at#10 = SCREEN+(unsigned int)$28*$16
Constant print_str_at::str#10 = debug_print_init::str9
Constant print_str_at::at#11 = SCREEN+(unsigned int)$28*$17
Constant print_str_at::str#11 = debug_print_init::str10
Constant print_str_at::at#12 = SCREEN+(unsigned int)$28*$18
Constant print_str_at::str#12 = debug_print_init::str11
Constant debug_print_init::at_line#0 = SCREEN+(unsigned int)$10*$28
Constant debug_print_init::c#0 = 4
Constant debug_print_init::at_cols#0 = debug_print_init::COLS+(unsigned int)$10*$28
Constant debug_print_init::i#0 = 0
Constant debug_print_init::j#0 = 0
Constant debug_print::print_schar_pos1_row#0 = 0
Constant debug_print::print_schar_pos1_col#0 = $25
Constant debug_print::print_schar_pos2_row#0 = 1
Constant debug_print::print_schar_pos2_col#0 = $25
Constant debug_print::print_schar_pos3_sb#0 = sz
Constant debug_print::print_schar_pos3_row#0 = 2
Constant debug_print::print_schar_pos3_col#0 = $25
Constant debug_print::print_schar_pos4_row#0 = 4
Constant debug_print::print_schar_pos4_col#0 = $1d
Constant debug_print::print_schar_pos5_row#0 = 4
Constant debug_print::print_schar_pos5_col#0 = $21
Constant debug_print::print_schar_pos6_row#0 = 4
Constant debug_print::print_schar_pos6_col#0 = $25
Constant debug_print::print_schar_pos7_row#0 = 5
Constant debug_print::print_schar_pos7_col#0 = $1d
Constant debug_print::print_schar_pos8_row#0 = 5
Constant debug_print::print_schar_pos8_col#0 = $21
Constant debug_print::print_schar_pos9_row#0 = 5
Constant debug_print::print_schar_pos9_col#0 = $25
Constant debug_print::print_schar_pos10_row#0 = 6
Constant debug_print::print_schar_pos10_col#0 = $1d
Constant debug_print::print_schar_pos11_row#0 = 6
Constant debug_print::print_schar_pos11_col#0 = $21
Constant debug_print::print_schar_pos12_row#0 = 6
Constant debug_print::print_schar_pos12_col#0 = $25
Constant debug_print::at_line#0 = SCREEN+(unsigned int)$13*$28
Constant debug_print::c#0 = 4
Constant debug_print::i#0 = 0
Constant sprites_init::sprites_ptr#0 = sprites_init::SCREEN+$3f8
Constant sprites_init::i#0 = 0
Constant sprites_init::$1 = SPRITE/$40
Constant print_screen#0 = (char *) 1024
Constant sx#19 = 0
Constant sy#20 = 0
Successful SSA optimization Pass2ConstantIdentification
Constant memset::str#0 = (void *)print_screen#0
Constant print_schar_at::b#6 = debug_print::print_schar_pos3_sb#0
Successful SSA optimization Pass2ConstantIdentification
Constant memset::return#0 = memset::str#0
Constant memset::$4 = (char *)memset::str#0
Constant memset::dst#0 = (char *)memset::str#0
Successful SSA optimization Pass2ConstantIdentification
Constant value identified (char)sprites_init::$1 in [352] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)sprites_init::$1
Successful SSA optimization Pass2ConstantValues
if() condition always false - eliminating [45] if(memset::num#0<=0) goto memset::@1
if() condition always true - replacing block destination [67] if(true) goto anim::@2
Successful SSA optimization Pass2ConstantIfs
Resolved ranged next value [103] anim::i#1 = ++ anim::i#2 to ++
Resolved ranged comparison value [105] if(anim::i#1!=rangelast(0,7)) goto anim::@6 to 8
Resolved ranged next value [209] debug_print_init::j#1 = ++ debug_print_init::j#2 to ++
Resolved ranged comparison value [211] if(debug_print_init::j#1!=rangelast(0,3)) goto debug_print_init::@2 to 4
Resolved ranged next value [213] debug_print_init::i#1 = ++ debug_print_init::i#2 to ++
Resolved ranged comparison value [215] if(debug_print_init::i#1!=rangelast(0,7)) goto debug_print_init::@1 to 8
Resolved ranged next value [343] debug_print::i#1 = ++ debug_print::i#2 to ++
Resolved ranged comparison value [345] if(debug_print::i#1!=rangelast(0,7)) goto debug_print::@1 to 8
Resolved ranged next value [354] sprites_init::i#1 = ++ sprites_init::i#2 to ++
Resolved ranged comparison value [356] if(sprites_init::i#1!=rangelast(0,7)) goto sprites_init::@1 to 8
Converting *(pointer+n) to pointer[n] [176] *debug_print_init::$42 = debug_print_init::col#0  -- debug_print_init::$41[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [180] *debug_print_init::$45 = debug_print_init::col#0  -- debug_print_init::$44[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [184] *debug_print_init::$48 = debug_print_init::col#0  -- debug_print_init::$47[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [188] *debug_print_init::$51 = debug_print_init::col#0  -- debug_print_init::$50[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [192] *debug_print_init::$54 = debug_print_init::col#0  -- debug_print_init::$53[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [196] *debug_print_init::$57 = debug_print_init::col#0  -- debug_print_init::$56[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [200] *debug_print_init::$60 = debug_print_init::col#0  -- debug_print_init::$59[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [204] *debug_print_init::$63 = debug_print_init::col#0  -- debug_print_init::$62[debug_print_init::j#2]
Converting *(pointer+n) to pointer[n] [208] *debug_print_init::$66 = debug_print_init::col#0  -- debug_print_init::$65[debug_print_init::j#2]
Successful SSA optimization Pass2InlineDerefIdx
Simplifying constant evaluating to zero (char)$28*0 in 
Simplifying constant evaluating to zero (char)$28*0 in [158] debug_print_init::$30 = debug_print_init::at_line#0 + (char)$28*0
Simplifying constant evaluating to zero (char)$28*0 in [173] debug_print_init::$40 = debug_print_init::at_cols#0 + (char)$28*0
Simplifying constant evaluating to zero (char)$28*0 in [318] debug_print::$13 = debug_print::at_line#0 + (char)$28*0
Successful SSA optimization PassNSimplifyConstantZero
Simplifying expression containing zero SCREEN in 
Simplifying expression containing zero debug_print_init::at_line#0 in [158] debug_print_init::$30 = debug_print_init::at_line#0 + 0
Simplifying expression containing zero debug_print_init::at_cols#0 in [173] debug_print_init::$40 = debug_print_init::at_cols#0 + 0
Simplifying expression containing zero rotation_matrix in [242] debug_print::print_schar_pos4_sb#0 = rotation_matrix[0]
Simplifying expression containing zero debug_print::at_line#0 in [318] debug_print::$13 = debug_print::at_line#0 + 0
Simplifying expression containing zero calculate_matrix::sy#0 in [359] calculate_matrix::t1#0 = calculate_matrix::sy#0 - calculate_matrix::sz#0
Simplifying expression containing zero calculate_matrix::sy#0 in [360] calculate_matrix::t2#0 = calculate_matrix::sy#0 + calculate_matrix::sz#0
Simplifying expression containing zero calculate_matrix::sx#0 in [361] calculate_matrix::t3#0 = calculate_matrix::sx#0 + calculate_matrix::sz#0
Simplifying expression containing zero calculate_matrix::sx#0 in [362] calculate_matrix::t4#0 = calculate_matrix::sx#0 - calculate_matrix::sz#0
Simplifying expression containing zero rotation_matrix in [370] rotation_matrix[0] = calculate_matrix::$10
Successful SSA optimization PassNSimplifyExpressionWithZero
Removing unused block anim::@return
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused variable debug_print_init::$42 and assignment [114] debug_print_init::$42 = debug_print_init::$41 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$45 and assignment [118] debug_print_init::$45 = debug_print_init::$44 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$48 and assignment [122] debug_print_init::$48 = debug_print_init::$47 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$51 and assignment [126] debug_print_init::$51 = debug_print_init::$50 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$54 and assignment [130] debug_print_init::$54 = debug_print_init::$53 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$57 and assignment [134] debug_print_init::$57 = debug_print_init::$56 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$60 and assignment [138] debug_print_init::$60 = debug_print_init::$59 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$63 and assignment [142] debug_print_init::$63 = debug_print_init::$62 + debug_print_init::j#2
Eliminating unused variable debug_print_init::$66 and assignment [146] debug_print_init::$66 = debug_print_init::$65 + debug_print_init::j#2
Eliminating unused constant memset::return#0
Eliminating unused constant calculate_matrix::sz#0
Successful SSA optimization PassNEliminateUnusedVars
Adding number conversion cast (unumber) 8 in if(anim::i#1!=8) goto anim::@6
Adding number conversion cast (unumber) 4 in if(debug_print_init::j#1!=4) goto debug_print_init::@2
Adding number conversion cast (unumber) 8 in if(debug_print_init::i#1!=8) goto debug_print_init::@1
Adding number conversion cast (unumber) 8 in if(debug_print::i#1!=8) goto debug_print::@1
Adding number conversion cast (unumber) 8 in if(sprites_init::i#1!=8) goto sprites_init::@1
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 8
Simplifying constant integer cast 4
Simplifying constant integer cast 8
Simplifying constant integer cast 8
Simplifying constant integer cast 8
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Successful SSA optimization PassNFinalizeNumberTypeConversions
Constant right-side identified [33] memset::end#0 = memset::$4 + memset::num#0
Constant right-side identified [82] print_str_at::at#1 = debug_print_init::$1 + $22
Constant right-side identified [84] print_str_at::at#2 = debug_print_init::$4 + $22
Constant right-side identified [86] print_str_at::at#3 = debug_print_init::$7 + $22
Constant right-side identified [102] debug_print_init::$33 = debug_print_init::at_line#0 + (char)$28*1
Constant right-side identified [106] debug_print_init::$36 = debug_print_init::at_line#0 + (char)$28*2
Constant right-side identified [115] debug_print_init::$43 = debug_print_init::at_cols#0 + (char)$28*1
Constant right-side identified [118] debug_print_init::$46 = debug_print_init::at_cols#0 + (char)$28*2
Constant right-side identified [121] debug_print_init::$49 = debug_print_init::at_cols#0 + (char)$28*3
Constant right-side identified [124] debug_print_init::$52 = debug_print_init::at_cols#0 + (char)$28*4
Constant right-side identified [127] debug_print_init::$55 = debug_print_init::at_cols#0 + (char)$28*5
Constant right-side identified [130] debug_print_init::$58 = debug_print_init::at_cols#0 + (char)$28*6
Constant right-side identified [133] debug_print_init::$61 = debug_print_init::at_cols#0 + (unsigned int)$28*7
Constant right-side identified [136] debug_print_init::$64 = debug_print_init::at_cols#0 + (unsigned int)$28*8
Constant right-side identified [146] debug_print::print_schar_pos1_$0 = debug_print::print_schar_pos1_row#0 * $28
Constant right-side identified [152] debug_print::print_schar_pos2_$0 = debug_print::print_schar_pos2_row#0 * $28
Constant right-side identified [157] debug_print::print_schar_pos3_$0 = debug_print::print_schar_pos3_row#0 * $28
Constant right-side identified [162] debug_print::print_schar_pos4_$0 = debug_print::print_schar_pos4_row#0 * $28
Constant right-side identified [168] debug_print::print_schar_pos5_$0 = debug_print::print_schar_pos5_row#0 * $28
Constant right-side identified [174] debug_print::print_schar_pos6_$0 = debug_print::print_schar_pos6_row#0 * $28
Constant right-side identified [180] debug_print::print_schar_pos7_$0 = debug_print::print_schar_pos7_row#0 * $28
Constant right-side identified [186] debug_print::print_schar_pos8_$0 = debug_print::print_schar_pos8_row#0 * $28
Constant right-side identified [192] debug_print::print_schar_pos9_$0 = debug_print::print_schar_pos9_row#0 * $28
Constant right-side identified [198] debug_print::print_schar_pos10_$0 = debug_print::print_schar_pos10_row#0 * $28
Constant right-side identified [204] debug_print::print_schar_pos11_$0 = debug_print::print_schar_pos11_row#0 * $28
Constant right-side identified [210] debug_print::print_schar_pos12_$0 = debug_print::print_schar_pos12_row#0 * $28
Constant right-side identified [220] debug_print::$16 = debug_print::at_line#0 + (char)$28*1
Constant right-side identified [224] debug_print::$19 = debug_print::at_line#0 + (char)$28*2
Constant right-side identified [228] debug_print::$22 = debug_print::at_line#0 + (char)$28*3
Constant right-side identified [232] debug_print::$25 = debug_print::at_line#0 + (char)$28*4
Constant right-side identified [236] debug_print::$28 = debug_print::at_line#0 + (char)$28*5
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant memset::end#0 = memset::$4+memset::num#0
Constant print_str_at::at#1 = debug_print_init::$1+$22
Constant print_str_at::at#2 = debug_print_init::$4+$22
Constant print_str_at::at#3 = debug_print_init::$7+$22
Constant debug_print_init::$30 = debug_print_init::at_line#0
Constant debug_print_init::$33 = debug_print_init::at_line#0+(char)$28*1
Constant debug_print_init::$36 = debug_print_init::at_line#0+(char)$28*2
Constant debug_print_init::$40 = debug_print_init::at_cols#0
Constant debug_print_init::$43 = debug_print_init::at_cols#0+(char)$28*1
Constant debug_print_init::$46 = debug_print_init::at_cols#0+(char)$28*2
Constant debug_print_init::$49 = debug_print_init::at_cols#0+(char)$28*3
Constant debug_print_init::$52 = debug_print_init::at_cols#0+(char)$28*4
Constant debug_print_init::$55 = debug_print_init::at_cols#0+(char)$28*5
Constant debug_print_init::$58 = debug_print_init::at_cols#0+(char)$28*6
Constant debug_print_init::$61 = debug_print_init::at_cols#0+(unsigned int)$28*7
Constant debug_print_init::$64 = debug_print_init::at_cols#0+(unsigned int)$28*8
Constant debug_print::print_schar_pos1_$0 = debug_print::print_schar_pos1_row#0*$28
Constant debug_print::print_schar_pos2_$0 = debug_print::print_schar_pos2_row#0*$28
Constant debug_print::print_schar_pos3_$0 = debug_print::print_schar_pos3_row#0*$28
Constant debug_print::print_schar_pos4_$0 = debug_print::print_schar_pos4_row#0*$28
Constant debug_print::print_schar_pos5_$0 = debug_print::print_schar_pos5_row#0*$28
Constant debug_print::print_schar_pos6_$0 = debug_print::print_schar_pos6_row#0*$28
Constant debug_print::print_schar_pos7_$0 = debug_print::print_schar_pos7_row#0*$28
Constant debug_print::print_schar_pos8_$0 = debug_print::print_schar_pos8_row#0*$28
Constant debug_print::print_schar_pos9_$0 = debug_print::print_schar_pos9_row#0*$28
Constant debug_print::print_schar_pos10_$0 = debug_print::print_schar_pos10_row#0*$28
Constant debug_print::print_schar_pos11_$0 = debug_print::print_schar_pos11_row#0*$28
Constant debug_print::print_schar_pos12_$0 = debug_print::print_schar_pos12_row#0*$28
Constant debug_print::$13 = debug_print::at_line#0
Constant debug_print::$16 = debug_print::at_line#0+(char)$28*1
Constant debug_print::$19 = debug_print::at_line#0+(char)$28*2
Constant debug_print::$22 = debug_print::at_line#0+(char)$28*3
Constant debug_print::$25 = debug_print::at_line#0+(char)$28*4
Constant debug_print::$28 = debug_print::at_line#0+(char)$28*5
Successful SSA optimization Pass2ConstantIdentification
Simplifying constant evaluating to zero debug_print::print_schar_pos1_row#0*$28 in 
Successful SSA optimization PassNSimplifyConstantZero
Simplifying expression containing zero print_screen#0 in [147] debug_print::print_schar_pos1_$1 = print_screen#0 + debug_print::print_schar_pos1_$0
Successful SSA optimization PassNSimplifyExpressionWithZero
Eliminating unused constant debug_print::print_schar_pos1_row#0
Eliminating unused constant debug_print::print_schar_pos1_$0
Successful SSA optimization PassNEliminateUnusedVars
Constant right-side identified [135] debug_print::print_schar_pos2_$1 = print_screen#0 + debug_print::print_schar_pos2_$0
Constant right-side identified [139] debug_print::print_schar_pos3_$1 = print_screen#0 + debug_print::print_schar_pos3_$0
Constant right-side identified [143] debug_print::print_schar_pos4_$1 = print_screen#0 + debug_print::print_schar_pos4_$0
Constant right-side identified [148] debug_print::print_schar_pos5_$1 = print_screen#0 + debug_print::print_schar_pos5_$0
Constant right-side identified [153] debug_print::print_schar_pos6_$1 = print_screen#0 + debug_print::print_schar_pos6_$0
Constant right-side identified [158] debug_print::print_schar_pos7_$1 = print_screen#0 + debug_print::print_schar_pos7_$0
Constant right-side identified [163] debug_print::print_schar_pos8_$1 = print_screen#0 + debug_print::print_schar_pos8_$0
Constant right-side identified [168] debug_print::print_schar_pos9_$1 = print_screen#0 + debug_print::print_schar_pos9_$0
Constant right-side identified [173] debug_print::print_schar_pos10_$1 = print_screen#0 + debug_print::print_schar_pos10_$0
Constant right-side identified [178] debug_print::print_schar_pos11_$1 = print_screen#0 + debug_print::print_schar_pos11_$0
Constant right-side identified [183] debug_print::print_schar_pos12_$1 = print_screen#0 + debug_print::print_schar_pos12_$0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant debug_print::print_schar_pos1_$1 = print_screen#0
Constant debug_print::print_schar_pos2_$1 = print_screen#0+debug_print::print_schar_pos2_$0
Constant debug_print::print_schar_pos3_$1 = print_screen#0+debug_print::print_schar_pos3_$0
Constant debug_print::print_schar_pos4_$1 = print_screen#0+debug_print::print_schar_pos4_$0
Constant debug_print::print_schar_pos5_$1 = print_screen#0+debug_print::print_schar_pos5_$0
Constant debug_print::print_schar_pos6_$1 = print_screen#0+debug_print::print_schar_pos6_$0
Constant debug_print::print_schar_pos7_$1 = print_screen#0+debug_print::print_schar_pos7_$0
Constant debug_print::print_schar_pos8_$1 = print_screen#0+debug_print::print_schar_pos8_$0
Constant debug_print::print_schar_pos9_$1 = print_screen#0+debug_print::print_schar_pos9_$0
Constant debug_print::print_schar_pos10_$1 = print_screen#0+debug_print::print_schar_pos10_$0
Constant debug_print::print_schar_pos11_$1 = print_screen#0+debug_print::print_schar_pos11_$0
Constant debug_print::print_schar_pos12_$1 = print_screen#0+debug_print::print_schar_pos12_$0
Successful SSA optimization Pass2ConstantIdentification
Constant right-side identified [130] print_schar_at::at#3 = debug_print::print_schar_pos1_$1 + debug_print::print_schar_pos1_col#0
Constant right-side identified [134] print_schar_at::at#4 = debug_print::print_schar_pos2_$1 + debug_print::print_schar_pos2_col#0
Constant right-side identified [137] print_schar_at::at#5 = debug_print::print_schar_pos3_$1 + debug_print::print_schar_pos3_col#0
Constant right-side identified [140] print_schar_at::at#6 = debug_print::print_schar_pos4_$1 + debug_print::print_schar_pos4_col#0
Constant right-side identified [144] print_schar_at::at#7 = debug_print::print_schar_pos5_$1 + debug_print::print_schar_pos5_col#0
Constant right-side identified [148] print_schar_at::at#8 = debug_print::print_schar_pos6_$1 + debug_print::print_schar_pos6_col#0
Constant right-side identified [152] print_schar_at::at#9 = debug_print::print_schar_pos7_$1 + debug_print::print_schar_pos7_col#0
Constant right-side identified [156] print_schar_at::at#10 = debug_print::print_schar_pos8_$1 + debug_print::print_schar_pos8_col#0
Constant right-side identified [160] print_schar_at::at#11 = debug_print::print_schar_pos9_$1 + debug_print::print_schar_pos9_col#0
Constant right-side identified [164] print_schar_at::at#12 = debug_print::print_schar_pos10_$1 + debug_print::print_schar_pos10_col#0
Constant right-side identified [168] print_schar_at::at#13 = debug_print::print_schar_pos11_$1 + debug_print::print_schar_pos11_col#0
Constant right-side identified [172] print_schar_at::at#14 = debug_print::print_schar_pos12_$1 + debug_print::print_schar_pos12_col#0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant print_schar_at::at#3 = debug_print::print_schar_pos1_$1+debug_print::print_schar_pos1_col#0
Constant print_schar_at::at#4 = debug_print::print_schar_pos2_$1+debug_print::print_schar_pos2_col#0
Constant print_schar_at::at#5 = debug_print::print_schar_pos3_$1+debug_print::print_schar_pos3_col#0
Constant print_schar_at::at#6 = debug_print::print_schar_pos4_$1+debug_print::print_schar_pos4_col#0
Constant print_schar_at::at#7 = debug_print::print_schar_pos5_$1+debug_print::print_schar_pos5_col#0
Constant print_schar_at::at#8 = debug_print::print_schar_pos6_$1+debug_print::print_schar_pos6_col#0
Constant print_schar_at::at#9 = debug_print::print_schar_pos7_$1+debug_print::print_schar_pos7_col#0
Constant print_schar_at::at#10 = debug_print::print_schar_pos8_$1+debug_print::print_schar_pos8_col#0
Constant print_schar_at::at#11 = debug_print::print_schar_pos9_$1+debug_print::print_schar_pos9_col#0
Constant print_schar_at::at#12 = debug_print::print_schar_pos10_$1+debug_print::print_schar_pos10_col#0
Constant print_schar_at::at#13 = debug_print::print_schar_pos11_$1+debug_print::print_schar_pos11_col#0
Constant print_schar_at::at#14 = debug_print::print_schar_pos12_$1+debug_print::print_schar_pos12_col#0
Successful SSA optimization Pass2ConstantIdentification
Rewriting multiplication to use shift [66] anim::i2#0 = anim::i#2 * 2
Successful SSA optimization Pass2MultiplyToShiftRewriting
Inlining constant with var siblings print_str_at::str#1
Inlining constant with var siblings print_str_at::str#2
Inlining constant with var siblings print_str_at::str#3
Inlining constant with var siblings print_str_at::at#4
Inlining constant with var siblings print_str_at::str#4
Inlining constant with var siblings print_str_at::at#5
Inlining constant with var siblings print_str_at::str#5
Inlining constant with var siblings print_str_at::at#6
Inlining constant with var siblings print_str_at::str#6
Inlining constant with var siblings print_str_at::at#7
Inlining constant with var siblings print_str_at::str#7
Inlining constant with var siblings print_str_at::at#8
Inlining constant with var siblings print_str_at::str#8
Inlining constant with var siblings print_str_at::at#9
Inlining constant with var siblings print_str_at::str#9
Inlining constant with var siblings print_str_at::at#10
Inlining constant with var siblings print_str_at::str#10
Inlining constant with var siblings print_str_at::at#11
Inlining constant with var siblings print_str_at::str#11
Inlining constant with var siblings print_str_at::at#12
Inlining constant with var siblings print_str_at::str#12
Inlining constant with var siblings print_str_at::at#1
Inlining constant with var siblings print_str_at::at#2
Inlining constant with var siblings print_str_at::at#3
Inlining constant with var siblings print_schar_at::b#6
Inlining constant with var siblings print_schar_at::at#3
Inlining constant with var siblings print_schar_at::at#4
Inlining constant with var siblings print_schar_at::at#5
Inlining constant with var siblings print_schar_at::at#6
Inlining constant with var siblings print_schar_at::at#7
Inlining constant with var siblings print_schar_at::at#8
Inlining constant with var siblings print_schar_at::at#9
Inlining constant with var siblings print_schar_at::at#10
Inlining constant with var siblings print_schar_at::at#11
Inlining constant with var siblings print_schar_at::at#12
Inlining constant with var siblings print_schar_at::at#13
Inlining constant with var siblings print_schar_at::at#14
Inlining constant with var siblings print_char_at::ch#0
Inlining constant with var siblings print_char_at::ch#1
Inlining constant with var siblings memset::dst#0
Inlining constant with var siblings anim::i#0
Inlining constant with var siblings debug_print_init::c#0
Inlining constant with var siblings debug_print_init::i#0
Inlining constant with var siblings debug_print_init::j#0
Inlining constant with var siblings debug_print::c#0
Inlining constant with var siblings debug_print::i#0
Inlining constant with var siblings sprites_init::i#0
Inlining constant with var siblings sx#19
Inlining constant with var siblings sy#20
Constant inlined print_str_at::at#4 = SCREEN+(unsigned int)$28*$10
Constant inlined print_str_at::at#3 = SCREEN+(char)$28*2+$22
Constant inlined print_str_at::at#2 = SCREEN+(char)$28*1+$22
Constant inlined print_str_at::at#1 = SCREEN+$22
Constant inlined debug_print::print_schar_pos4_$1 = print_screen#0+debug_print::print_schar_pos4_row#0*$28
Constant inlined debug_print::print_schar_pos4_$0 = debug_print::print_schar_pos4_row#0*$28
Constant inlined debug_print_init::$7 = SCREEN+(char)$28*2
Constant inlined print_str_at::at#9 = SCREEN+(unsigned int)$28*$15
Constant inlined print_str_at::at#8 = SCREEN+(unsigned int)$28*$14
Constant inlined print_str_at::at#7 = SCREEN+(unsigned int)$28*$13
Constant inlined sx#19 = 0
Constant inlined debug_print::print_schar_pos12_$0 = debug_print::print_schar_pos12_row#0*$28
Constant inlined print_str_at::at#6 = SCREEN+(unsigned int)$28*$12
Constant inlined anim::i#0 = 0
Constant inlined print_str_at::at#5 = SCREEN+(unsigned int)$28*$11
Constant inlined print_str_at::str#12 = debug_print_init::str11
Constant inlined print_str_at::str#11 = debug_print_init::str10
Constant inlined debug_print::print_schar_pos7_$0 = debug_print::print_schar_pos7_row#0*$28
Constant inlined print_str_at::str#10 = debug_print_init::str9
Constant inlined debug_print_init::$36 = debug_print_init::at_line#0+(char)$28*2
Constant inlined print_schar_at::at#9 = print_screen#0+debug_print::print_schar_pos7_row#0*$28+debug_print::print_schar_pos7_col#0
Constant inlined debug_print_init::$33 = debug_print_init::at_line#0+(char)$28*1
Constant inlined debug_print_init::$30 = debug_print_init::at_line#0
Constant inlined print_schar_at::at#5 = print_screen#0+debug_print::print_schar_pos3_row#0*$28+debug_print::print_schar_pos3_col#0
Constant inlined print_schar_at::at#6 = print_screen#0+debug_print::print_schar_pos4_row#0*$28+debug_print::print_schar_pos4_col#0
Constant inlined print_schar_at::at#7 = print_screen#0+debug_print::print_schar_pos5_row#0*$28+debug_print::print_schar_pos5_col#0
Constant inlined print_schar_at::at#8 = print_screen#0+debug_print::print_schar_pos6_row#0*$28+debug_print::print_schar_pos6_col#0
Constant inlined print_schar_at::at#3 = print_screen#0+debug_print::print_schar_pos1_col#0
Constant inlined print_schar_at::at#4 = print_screen#0+debug_print::print_schar_pos2_row#0*$28+debug_print::print_schar_pos2_col#0
Constant inlined debug_print::$19 = debug_print::at_line#0+(char)$28*2
Constant inlined debug_print::$16 = debug_print::at_line#0+(char)$28*1
Constant inlined sprites_init::i#0 = 0
Constant inlined debug_print::$13 = debug_print::at_line#0
Constant inlined debug_print::print_schar_pos1_$1 = print_screen#0
Constant inlined debug_print::print_schar_pos5_$0 = debug_print::print_schar_pos5_row#0*$28
Constant inlined debug_print::print_schar_pos5_$1 = print_screen#0+debug_print::print_schar_pos5_row#0*$28
Constant inlined debug_print_init::$1 = SCREEN
Constant inlined debug_print::print_schar_pos12_$1 = print_screen#0+debug_print::print_schar_pos12_row#0*$28
Constant inlined debug_print::print_schar_pos8_$1 = print_screen#0+debug_print::print_schar_pos8_row#0*$28
Constant inlined debug_print::print_schar_pos8_$0 = debug_print::print_schar_pos8_row#0*$28
Constant inlined debug_print_init::$4 = SCREEN+(char)$28*1
Constant inlined sprites_init::$1 = SPRITE/$40
Constant inlined debug_print_init::j#0 = 0
Constant inlined memset::dst#0 = (char *)memset::str#0
Constant inlined debug_print_init::$64 = debug_print_init::at_cols#0+(unsigned int)$28*8
Constant inlined debug_print_init::$61 = debug_print_init::at_cols#0+(unsigned int)$28*7
Constant inlined print_str_at::str#1 = debug_print_init::str
Constant inlined print_str_at::str#2 = debug_print_init::str1
Constant inlined print_str_at::str#3 = debug_print_init::str2
Constant inlined print_str_at::str#4 = debug_print_init::str3
Constant inlined debug_print::$28 = debug_print::at_line#0+(char)$28*5
Constant inlined debug_print::$25 = debug_print::at_line#0+(char)$28*4
Constant inlined debug_print::print_schar_pos6_$0 = debug_print::print_schar_pos6_row#0*$28
Constant inlined debug_print::$22 = debug_print::at_line#0+(char)$28*3
Constant inlined debug_print::print_schar_pos6_$1 = print_screen#0+debug_print::print_schar_pos6_row#0*$28
Constant inlined debug_print::print_schar_pos2_$0 = debug_print::print_schar_pos2_row#0*$28
Constant inlined debug_print::print_schar_pos2_$1 = print_screen#0+debug_print::print_schar_pos2_row#0*$28
Constant inlined debug_print::print_schar_pos11_$0 = debug_print::print_schar_pos11_row#0*$28
Constant inlined debug_print::print_schar_pos9_$1 = print_screen#0+debug_print::print_schar_pos9_row#0*$28
Constant inlined print_str_at::at#11 = SCREEN+(unsigned int)$28*$17
Constant inlined print_schar_at::at#11 = print_screen#0+debug_print::print_schar_pos9_row#0*$28+debug_print::print_schar_pos9_col#0
Constant inlined debug_print::print_schar_pos11_$1 = print_screen#0+debug_print::print_schar_pos11_row#0*$28
Constant inlined print_str_at::at#10 = SCREEN+(unsigned int)$28*$16
Constant inlined print_schar_at::at#10 = print_screen#0+debug_print::print_schar_pos8_row#0*$28+debug_print::print_schar_pos8_col#0
Constant inlined print_schar_at::at#13 = print_screen#0+debug_print::print_schar_pos11_row#0*$28+debug_print::print_schar_pos11_col#0
Constant inlined debug_print::print_schar_pos9_$0 = debug_print::print_schar_pos9_row#0*$28
Constant inlined print_str_at::at#12 = SCREEN+(unsigned int)$28*$18
Constant inlined print_schar_at::at#12 = print_screen#0+debug_print::print_schar_pos10_row#0*$28+debug_print::print_schar_pos10_col#0
Constant inlined memset::$4 = (char *)memset::str#0
Constant inlined debug_print_init::$58 = debug_print_init::at_cols#0+(char)$28*6
Constant inlined print_char_at::ch#0 = '-'
Constant inlined print_char_at::ch#1 = ' '
Constant inlined print_str_at::str#9 = debug_print_init::str8
Constant inlined debug_print_init::$55 = debug_print_init::at_cols#0+(char)$28*5
Constant inlined print_str_at::str#5 = debug_print_init::str4
Constant inlined debug_print_init::$52 = debug_print_init::at_cols#0+(char)$28*4
Constant inlined print_str_at::str#6 = debug_print_init::str5
Constant inlined print_schar_at::at#14 = print_screen#0+debug_print::print_schar_pos12_row#0*$28+debug_print::print_schar_pos12_col#0
Constant inlined print_str_at::str#7 = debug_print_init::str6
Constant inlined print_str_at::str#8 = debug_print_init::str7
Constant inlined print_schar_at::b#6 = sz
Constant inlined debug_print::c#0 = 4
Constant inlined debug_print::print_schar_pos3_$0 = debug_print::print_schar_pos3_row#0*$28
Constant inlined debug_print::print_schar_pos7_$1 = print_screen#0+debug_print::print_schar_pos7_row#0*$28
Constant inlined debug_print::print_schar_pos3_$1 = print_screen#0+debug_print::print_schar_pos3_row#0*$28
Constant inlined debug_print::print_schar_pos10_$0 = debug_print::print_schar_pos10_row#0*$28
Constant inlined debug_print::print_schar_pos10_$1 = print_screen#0+debug_print::print_schar_pos10_row#0*$28
Constant inlined debug_print_init::c#0 = 4
Constant inlined debug_print::print_schar_pos3_sb#0 = sz
Constant inlined debug_print_init::$49 = debug_print_init::at_cols#0+(char)$28*3
Constant inlined debug_print_init::$46 = debug_print_init::at_cols#0+(char)$28*2
Constant inlined sy#20 = 0
Constant inlined debug_print_init::i#0 = 0
Constant inlined debug_print_init::$43 = debug_print_init::at_cols#0+(char)$28*1
Constant inlined debug_print::i#0 = 0
Constant inlined debug_print_init::$40 = debug_print_init::at_cols#0
Successful SSA optimization Pass2ConstantInlining
Consolidated array index constant in *(rotation_matrix+1)
Consolidated array index constant in *(rotation_matrix+2)
Consolidated array index constant in *(rotation_matrix+3)
Consolidated array index constant in *(rotation_matrix+4)
Consolidated array index constant in *(rotation_matrix+5)
Consolidated array index constant in *(rotation_matrix+6)
Consolidated array index constant in *(rotation_matrix+7)
Consolidated array index constant in *(rotation_matrix+8)
Consolidated array index constant in *(rotation_matrix+1)
Consolidated array index constant in *(rotation_matrix+2)
Consolidated array index constant in *(rotation_matrix+3)
Consolidated array index constant in *(rotation_matrix+4)
Consolidated array index constant in *(rotation_matrix+5)
Consolidated array index constant in *(rotation_matrix+6)
Consolidated array index constant in *(rotation_matrix+7)
Consolidated array index constant in *(rotation_matrix+8)
Successful SSA optimization Pass2ConstantAdditionElimination
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $13
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 9
Finalized unsigned number type (char) 9
Finalized unsigned number type (unsigned int) $200
Finalized unsigned number type (unsigned int) $200
Finalized unsigned number type (unsigned int) $3000
Finalized unsigned number type (unsigned int) $100
Finalized unsigned number type (unsigned int) $140
Finalized unsigned number type (unsigned int) $140
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $13
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $14
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $15
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $16
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $17
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $18
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $11
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $12
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 7
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 5
Successful SSA optimization PassNFinalizeNumberTypeConversions
Simplifying constant integer cast $28*1
Simplifying constant integer cast $28*2
Simplifying constant integer cast $28*1
Simplifying constant integer cast $28*2
Simplifying constant integer cast $28*1
Simplifying constant integer cast $28*2
Simplifying constant integer cast $28*3
Simplifying constant integer cast $28*4
Simplifying constant integer cast $28*5
Simplifying constant integer cast $28*6
Simplifying constant integer cast $28*1
Simplifying constant integer cast $28*2
Simplifying constant integer cast $28*3
Simplifying constant integer cast $28*4
Simplifying constant integer cast $28*5
Successful SSA optimization PassNCastSimplification
Added new block during phi lifting anim::@12(between anim::@10 and anim::@6)
Added new block during phi lifting debug_print_init::@20(between debug_print_init::@3 and debug_print_init::@1)
Added new block during phi lifting debug_print_init::@21(between debug_print_init::@2 and debug_print_init::@2)
Added new block during phi lifting debug_print::@32(between debug_print::@31 and debug_print::@1)
Added new block during phi lifting sprites_init::@2(between sprites_init::@1 and sprites_init::@1)
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of __start::@2
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of debug_print_init
Adding NOP phi() at start of debug_print_init::@4
Adding NOP phi() at start of debug_print_init::@5
Adding NOP phi() at start of debug_print_init::@6
Adding NOP phi() at start of debug_print_init::@7
Adding NOP phi() at start of debug_print_init::@8
Adding NOP phi() at start of debug_print_init::@9
Adding NOP phi() at start of debug_print_init::@10
Adding NOP phi() at start of debug_print_init::@11
Adding NOP phi() at start of debug_print_init::@12
Adding NOP phi() at start of debug_print_init::@13
Adding NOP phi() at start of debug_print_init::@14
Adding NOP phi() at start of debug_print_init::@15
Adding NOP phi() at start of debug_print_init::@16
Adding NOP phi() at start of debug_print_init::@19
Adding NOP phi() at start of anim
Adding NOP phi() at start of anim::@8
Adding NOP phi() at start of anim::@9
Adding NOP phi() at start of print_cls
Adding NOP phi() at start of print_cls::@1
Adding NOP phi() at start of print_schar_at::@6
Adding NOP phi() at start of debug_print::@14
Adding NOP phi() at start of debug_print::@15
Adding NOP phi() at start of debug_print::@3
Adding NOP phi() at start of debug_print::print_schar_pos3
Adding NOP phi() at start of debug_print::@16
Adding NOP phi() at start of debug_print::@17
Adding NOP phi() at start of debug_print::@18
Adding NOP phi() at start of debug_print::@19
Adding NOP phi() at start of debug_print::@20
Adding NOP phi() at start of debug_print::@21
Adding NOP phi() at start of debug_print::@22
Adding NOP phi() at start of debug_print::@23
Adding NOP phi() at start of debug_print::@24
Adding NOP phi() at start of debug_print::@25
Adding NOP phi() at start of debug_print::@13
Adding NOP phi() at start of memset
Adding NOP phi() at start of memset::@2
Adding NOP phi() at start of memset::@1
Adding NOP phi() at start of print_uchar_at::@2
CALL GRAPH
Calls in [__start] to main:10 
Calls in [main] to sprites_init:14 debug_print_init:17 anim:19 
Calls in [debug_print_init] to print_cls:31 print_str_at:33 print_str_at:35 print_str_at:37 print_str_at:39 print_str_at:41 print_str_at:43 print_str_at:45 print_str_at:47 print_str_at:49 print_str_at:51 print_str_at:53 print_str_at:55 print_schar_at:62 print_schar_at:67 print_schar_at:72 
Calls in [anim] to calculate_matrix:111 store_matrix:113 rotate_matrix:120 debug_print:137 
Calls in [print_cls] to memset:145 
Calls in [print_schar_at] to print_char_at:163 print_uchar_at:168 print_char_at:173 
Calls in [debug_print] to print_schar_at:231 print_schar_at:236 print_schar_at:240 print_schar_at:245 print_schar_at:250 print_schar_at:255 print_schar_at:260 print_schar_at:265 print_schar_at:270 print_schar_at:275 print_schar_at:280 print_schar_at:285 print_schar_at:293 print_schar_at:298 print_schar_at:303 print_schar_at:308 print_schar_at:313 print_schar_at:318 
Calls in [print_uchar_at] to print_char_at:342 print_char_at:348 

Created 19 initial phi equivalence classes
Coalesced [29] sprites_init::i#3 = sprites_init::i#1
Coalesced [60] print_schar_at::b#45 = print_schar_at::b#1
Coalesced [61] print_schar_at::at#33 = print_schar_at::at#0
Coalesced [65] print_schar_at::b#46 = print_schar_at::b#2
Coalesced [66] print_schar_at::at#34 = print_schar_at::at#1
Coalesced [70] print_schar_at::b#47 = print_schar_at::b#3
Coalesced [71] print_schar_at::at#35 = print_schar_at::at#2
Coalesced [100] debug_print_init::c#8 = debug_print_init::c#1
Coalesced [101] debug_print_init::i#8 = debug_print_init::i#1
Coalesced [102] debug_print_init::j#3 = debug_print_init::j#1
Coalesced [141] sx#29 = sx#2
Coalesced [142] sy#32 = sy#2
Coalesced [143] anim::i#4 = anim::i#1
Coalesced [149] print_str_at::str#16 = print_str_at::str#15
Coalesced [150] print_str_at::at#16 = print_str_at::at#15
Coalesced [157] print_str_at::str#17 = print_str_at::str#0
Coalesced [158] print_str_at::at#17 = print_str_at::at#0
Coalesced [162] print_char_at::at#6 = print_char_at::at#1
Coalesced [164] print_schar_at::b#49 = print_schar_at::b#22
Coalesced [172] print_char_at::at#5 = print_char_at::at#0
Coalesced [175] print_schar_at::b#48 = print_schar_at::b#0
Coalesced [230] print_schar_at::b#34 = print_schar_at::b#4
Coalesced [235] print_schar_at::b#38 = print_schar_at::b#5
Coalesced [244] print_schar_at::b#39 = print_schar_at::b#7
Coalesced [249] print_schar_at::b#40 = print_schar_at::b#8
Coalesced [254] print_schar_at::b#41 = print_schar_at::b#9
Coalesced [259] print_schar_at::b#42 = print_schar_at::b#10
Coalesced [264] print_schar_at::b#43 = print_schar_at::b#11
Coalesced [269] print_schar_at::b#44 = print_schar_at::b#12
Coalesced [274] print_schar_at::b#35 = print_schar_at::b#13
Coalesced [279] print_schar_at::b#36 = print_schar_at::b#14
Coalesced [284] print_schar_at::b#37 = print_schar_at::b#15
Coalesced [291] print_schar_at::b#28 = print_schar_at::b#16
Coalesced [292] print_schar_at::at#27 = print_schar_at::at#15
Coalesced [296] print_schar_at::b#29 = print_schar_at::b#17
Coalesced [297] print_schar_at::at#28 = print_schar_at::at#16
Coalesced [301] print_schar_at::b#30 = print_schar_at::b#18
Coalesced [302] print_schar_at::at#29 = print_schar_at::at#17
Coalesced [306] print_schar_at::b#31 = print_schar_at::b#19
Coalesced [307] print_schar_at::at#30 = print_schar_at::at#18
Coalesced [311] print_schar_at::b#32 = print_schar_at::b#20
Coalesced [312] print_schar_at::at#31 = print_schar_at::at#19
Coalesced [316] print_schar_at::b#33 = print_schar_at::b#21
Coalesced [317] print_schar_at::at#32 = print_schar_at::at#20
Coalesced [323] debug_print::c#9 = debug_print::c#1
Coalesced [324] debug_print::i#9 = debug_print::i#1
Coalesced [333] memset::dst#4 = memset::dst#1
Coalesced [340] print_char_at::ch#5 = print_char_at::ch#2
Coalesced [341] print_char_at::at#7 = print_char_at::at#2
Coalesced [346] print_char_at::ch#6 = print_char_at::ch#3
Coalesced [347] print_char_at::at#8 = print_char_at::at#3
Coalesced down to 16 phi equivalence classes
Culled Empty Block label __start::@2
Culled Empty Block label main::@3
Culled Empty Block label sprites_init::@2
Culled Empty Block label debug_print_init::@16
Culled Empty Block label debug_print_init::@19
Culled Empty Block label debug_print_init::@20
Culled Empty Block label debug_print_init::@21
Culled Empty Block label anim::@9
Culled Empty Block label anim::@12
Culled Empty Block label print_cls::@1
Culled Empty Block label print_schar_at::@5
Culled Empty Block label print_schar_at::@6
Culled Empty Block label debug_print::@14
Culled Empty Block label debug_print::@15
Culled Empty Block label debug_print::@3
Culled Empty Block label debug_print::@16
Culled Empty Block label debug_print::@17
Culled Empty Block label debug_print::@18
Culled Empty Block label debug_print::@19
Culled Empty Block label debug_print::@20
Culled Empty Block label debug_print::@21
Culled Empty Block label debug_print::@22
Culled Empty Block label debug_print::@23
Culled Empty Block label debug_print::@24
Culled Empty Block label debug_print::@25
Culled Empty Block label debug_print::@13
Culled Empty Block label debug_print::@32
Culled Empty Block label memset::@2
Culled Empty Block label memset::@1
Culled Empty Block label print_uchar_at::@2
Renumbering block memset::@3 to memset::@1
Renumbering block memset::@4 to memset::@2
Renumbering block anim::@10 to anim::@9
Renumbering block anim::@11 to anim::@10
Renumbering block debug_print_init::@17 to debug_print_init::@16
Renumbering block debug_print_init::@18 to debug_print_init::@17
Renumbering block debug_print::@4 to debug_print::@3
Renumbering block debug_print::@5 to debug_print::@4
Renumbering block debug_print::@6 to debug_print::@5
Renumbering block debug_print::@7 to debug_print::@6
Renumbering block debug_print::@8 to debug_print::@7
Renumbering block debug_print::@9 to debug_print::@8
Renumbering block debug_print::@10 to debug_print::@9
Renumbering block debug_print::@11 to debug_print::@10
Renumbering block debug_print::@12 to debug_print::@11
Renumbering block debug_print::@26 to debug_print::@12
Renumbering block debug_print::@27 to debug_print::@13
Renumbering block debug_print::@28 to debug_print::@14
Renumbering block debug_print::@29 to debug_print::@15
Renumbering block debug_print::@30 to debug_print::@16
Renumbering block debug_print::@31 to debug_print::@17
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of debug_print_init
Adding NOP phi() at start of debug_print_init::@4
Adding NOP phi() at start of debug_print_init::@5
Adding NOP phi() at start of debug_print_init::@6
Adding NOP phi() at start of debug_print_init::@7
Adding NOP phi() at start of debug_print_init::@8
Adding NOP phi() at start of debug_print_init::@9
Adding NOP phi() at start of debug_print_init::@10
Adding NOP phi() at start of debug_print_init::@11
Adding NOP phi() at start of debug_print_init::@12
Adding NOP phi() at start of debug_print_init::@13
Adding NOP phi() at start of debug_print_init::@14
Adding NOP phi() at start of debug_print_init::@15
Adding NOP phi() at start of anim
Adding NOP phi() at start of anim::@8
Adding NOP phi() at start of print_cls
Adding NOP phi() at start of debug_print::print_schar_pos3
Adding NOP phi() at start of memset

FINAL CONTROL FLOW GRAPH

void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] xr = 0
  [2] yr = 0
  [3] zr = 0
  [4] pp = 0
  [5] xp = 0
  [6] yp = 0
  [7] psp1 = 0
  [8] psp2 = 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [9] phi()
  [10] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [11] return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  asm { sei  }
  [13] call sprites_init
  to:main::@1
main::@1: scope:[main]  from main
  [14] psp1 = (unsigned int)mulf_sqr1
  [15] psp2 = (unsigned int)mulf_sqr2
  [16] call debug_print_init
  to:main::@2
main::@2: scope:[main]  from main::@1
  [17] phi()
  [18] call anim
  to:main::@return
main::@return: scope:[main]  from main::@2
  [19] return 
  to:@return

void sprites_init()
sprites_init: scope:[sprites_init]  from main
  [20] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff
  to:sprites_init::@1
sprites_init::@1: scope:[sprites_init]  from sprites_init sprites_init::@1
  [21] sprites_init::i#2 = phi( sprites_init/0, sprites_init::@1/sprites_init::i#1 )
  [22] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)SPRITE/$40
  [23] SPRITES_COLOR[sprites_init::i#2] = GREEN
  [24] sprites_init::i#1 = ++ sprites_init::i#2
  [25] if(sprites_init::i#1!=8) goto sprites_init::@1
  to:sprites_init::@return
sprites_init::@return: scope:[sprites_init]  from sprites_init::@1
  [26] return 
  to:@return

void debug_print_init()
debug_print_init: scope:[debug_print_init]  from main::@1
  [27] phi()
  [28] call print_cls
  to:debug_print_init::@4
debug_print_init::@4: scope:[debug_print_init]  from debug_print_init
  [29] phi()
  [30] call print_str_at
  to:debug_print_init::@5
debug_print_init::@5: scope:[debug_print_init]  from debug_print_init::@4
  [31] phi()
  [32] call print_str_at
  to:debug_print_init::@6
debug_print_init::@6: scope:[debug_print_init]  from debug_print_init::@5
  [33] phi()
  [34] call print_str_at
  to:debug_print_init::@7
debug_print_init::@7: scope:[debug_print_init]  from debug_print_init::@6
  [35] phi()
  [36] call print_str_at
  to:debug_print_init::@8
debug_print_init::@8: scope:[debug_print_init]  from debug_print_init::@7
  [37] phi()
  [38] call print_str_at
  to:debug_print_init::@9
debug_print_init::@9: scope:[debug_print_init]  from debug_print_init::@8
  [39] phi()
  [40] call print_str_at
  to:debug_print_init::@10
debug_print_init::@10: scope:[debug_print_init]  from debug_print_init::@9
  [41] phi()
  [42] call print_str_at
  to:debug_print_init::@11
debug_print_init::@11: scope:[debug_print_init]  from debug_print_init::@10
  [43] phi()
  [44] call print_str_at
  to:debug_print_init::@12
debug_print_init::@12: scope:[debug_print_init]  from debug_print_init::@11
  [45] phi()
  [46] call print_str_at
  to:debug_print_init::@13
debug_print_init::@13: scope:[debug_print_init]  from debug_print_init::@12
  [47] phi()
  [48] call print_str_at
  to:debug_print_init::@14
debug_print_init::@14: scope:[debug_print_init]  from debug_print_init::@13
  [49] phi()
  [50] call print_str_at
  to:debug_print_init::@15
debug_print_init::@15: scope:[debug_print_init]  from debug_print_init::@14
  [51] phi()
  [52] call print_str_at
  to:debug_print_init::@1
debug_print_init::@1: scope:[debug_print_init]  from debug_print_init::@15 debug_print_init::@3
  [53] debug_print_init::i#2 = phi( debug_print_init::@15/0, debug_print_init::@3/debug_print_init::i#1 )
  [53] debug_print_init::c#2 = phi( debug_print_init::@15/4, debug_print_init::@3/debug_print_init::c#1 )
  [54] print_schar_at::at#0 = debug_print_init::at_line#0 + debug_print_init::c#2
  [55] print_schar_at::b#1 = xs[debug_print_init::i#2]
  [56] call print_schar_at
  to:debug_print_init::@16
debug_print_init::@16: scope:[debug_print_init]  from debug_print_init::@1
  [57] print_schar_at::at#1 = debug_print_init::at_line#0+$28*1 + debug_print_init::c#2
  [58] print_schar_at::b#2 = ys[debug_print_init::i#2]
  [59] call print_schar_at
  to:debug_print_init::@17
debug_print_init::@17: scope:[debug_print_init]  from debug_print_init::@16
  [60] print_schar_at::at#2 = debug_print_init::at_line#0+$28*2 + debug_print_init::c#2
  [61] print_schar_at::b#3 = zs[debug_print_init::i#2]
  [62] call print_schar_at
  to:debug_print_init::@2
debug_print_init::@2: scope:[debug_print_init]  from debug_print_init::@17 debug_print_init::@2
  [63] debug_print_init::j#2 = phi( debug_print_init::@17/0, debug_print_init::@2/debug_print_init::j#1 )
  [64] debug_print_init::col#0 = 8 + debug_print_init::i#2
  [65] debug_print_init::$41 = debug_print_init::at_cols#0 + debug_print_init::c#2
  [66] debug_print_init::$41[debug_print_init::j#2] = debug_print_init::col#0
  [67] debug_print_init::$44 = debug_print_init::at_cols#0+$28*1 + debug_print_init::c#2
  [68] debug_print_init::$44[debug_print_init::j#2] = debug_print_init::col#0
  [69] debug_print_init::$47 = debug_print_init::at_cols#0+$28*2 + debug_print_init::c#2
  [70] debug_print_init::$47[debug_print_init::j#2] = debug_print_init::col#0
  [71] debug_print_init::$50 = debug_print_init::at_cols#0+$28*3 + debug_print_init::c#2
  [72] debug_print_init::$50[debug_print_init::j#2] = debug_print_init::col#0
  [73] debug_print_init::$53 = debug_print_init::at_cols#0+$28*4 + debug_print_init::c#2
  [74] debug_print_init::$53[debug_print_init::j#2] = debug_print_init::col#0
  [75] debug_print_init::$56 = debug_print_init::at_cols#0+$28*5 + debug_print_init::c#2
  [76] debug_print_init::$56[debug_print_init::j#2] = debug_print_init::col#0
  [77] debug_print_init::$59 = debug_print_init::at_cols#0+$28*6 + debug_print_init::c#2
  [78] debug_print_init::$59[debug_print_init::j#2] = debug_print_init::col#0
  [79] debug_print_init::$62 = debug_print_init::at_cols#0+(unsigned int)$28*7 + debug_print_init::c#2
  [80] debug_print_init::$62[debug_print_init::j#2] = debug_print_init::col#0
  [81] debug_print_init::$65 = debug_print_init::at_cols#0+(unsigned int)$28*8 + debug_print_init::c#2
  [82] debug_print_init::$65[debug_print_init::j#2] = debug_print_init::col#0
  [83] debug_print_init::j#1 = ++ debug_print_init::j#2
  [84] if(debug_print_init::j#1!=4) goto debug_print_init::@2
  to:debug_print_init::@3
debug_print_init::@3: scope:[debug_print_init]  from debug_print_init::@2
  [85] debug_print_init::c#1 = debug_print_init::c#2 + 4
  [86] debug_print_init::i#1 = ++ debug_print_init::i#2
  [87] if(debug_print_init::i#1!=8) goto debug_print_init::@1
  to:debug_print_init::@return
debug_print_init::@return: scope:[debug_print_init]  from debug_print_init::@3
  [88] return 
  to:@return

void anim()
anim: scope:[anim]  from main::@2
  [89] phi()
  to:anim::@1
anim::@1: scope:[anim]  from anim anim::@10
  [90] sy#11 = phi( anim/0, anim::@10/sy#2 )
  [90] sx#11 = phi( anim/0, anim::@10/sx#2 )
  to:anim::@2
anim::@2: scope:[anim]  from anim::@1 anim::@2
  [91] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2
  to:anim::@3
anim::@3: scope:[anim]  from anim::@2 anim::@3
  [92] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3
  to:anim::@4
anim::@4: scope:[anim]  from anim::@3 anim::@4
  [93] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4
  to:anim::@5
anim::@5: scope:[anim]  from anim::@4
  [94] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  [95] calculate_matrix::sx#0 = sx#11
  [96] calculate_matrix::sy#0 = sy#11
  [97] call calculate_matrix
  to:anim::@8
anim::@8: scope:[anim]  from anim::@5
  [98] phi()
  [99] call store_matrix
  to:anim::@6
anim::@6: scope:[anim]  from anim::@8 anim::@9
  [100] anim::i#2 = phi( anim::@9/anim::i#1, anim::@8/0 )
  [101] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  [102] rotate_matrix::x#0 = xs[anim::i#2]
  [103] rotate_matrix::y#0 = ys[anim::i#2]
  [104] rotate_matrix::z#0 = zs[anim::i#2]
  [105] call rotate_matrix
  to:anim::@9
anim::@9: scope:[anim]  from anim::@6
  [106] xrs[anim::i#2] = xr
  [107] yrs[anim::i#2] = yr
  [108] zrs[anim::i#2] = zr
  [109] pps[anim::i#2] = pp
  [110] xps[anim::i#2] = xp
  [111] yps[anim::i#2] = yp
  [112] anim::i2#0 = anim::i#2 << 1
  [113] anim::$13 = (char)xp
  [114] anim::$9 = $80 + anim::$13
  [115] SPRITES_XPOS[anim::i2#0] = anim::$9
  [116] anim::$14 = (char)yp
  [117] anim::$10 = $80 + anim::$14
  [118] SPRITES_YPOS[anim::i2#0] = anim::$10
  [119] anim::i#1 = ++ anim::i#2
  [120] if(anim::i#1!=8) goto anim::@6
  to:anim::@7
anim::@7: scope:[anim]  from anim::@9
  [121] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY
  [122] call debug_print
  to:anim::@10
anim::@10: scope:[anim]  from anim::@7
  [123] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE
  [124] sx#2 = sx#11 + 2
  [125] sy#2 = sy#11 - 3
  to:anim::@1

void print_cls()
print_cls: scope:[print_cls]  from debug_print_init
  [126] phi()
  [127] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [128] return 
  to:@return

void print_str_at(char *str , char *at)
print_str_at: scope:[print_str_at]  from debug_print_init::@10 debug_print_init::@11 debug_print_init::@12 debug_print_init::@13 debug_print_init::@14 debug_print_init::@15 debug_print_init::@4 debug_print_init::@5 debug_print_init::@6 debug_print_init::@7 debug_print_init::@8 debug_print_init::@9
  [129] print_str_at::at#15 = phi( debug_print_init::@10/SCREEN+(unsigned int)$28*$13, debug_print_init::@11/SCREEN+(unsigned int)$28*$14, debug_print_init::@12/SCREEN+(unsigned int)$28*$15, debug_print_init::@13/SCREEN+(unsigned int)$28*$16, debug_print_init::@14/SCREEN+(unsigned int)$28*$17, debug_print_init::@15/SCREEN+(unsigned int)$28*$18, debug_print_init::@4/SCREEN+$22, debug_print_init::@5/SCREEN+$28*1+$22, debug_print_init::@6/SCREEN+$28*2+$22, debug_print_init::@7/SCREEN+(unsigned int)$28*$10, debug_print_init::@8/SCREEN+(unsigned int)$28*$11, debug_print_init::@9/SCREEN+(unsigned int)$28*$12 )
  [129] print_str_at::str#15 = phi( debug_print_init::@10/debug_print_init::str6, debug_print_init::@11/debug_print_init::str7, debug_print_init::@12/debug_print_init::str8, debug_print_init::@13/debug_print_init::str9, debug_print_init::@14/debug_print_init::str10, debug_print_init::@15/debug_print_init::str11, debug_print_init::@4/debug_print_init::str, debug_print_init::@5/debug_print_init::str1, debug_print_init::@6/debug_print_init::str2, debug_print_init::@7/debug_print_init::str3, debug_print_init::@8/debug_print_init::str4, debug_print_init::@9/debug_print_init::str5 )
  to:print_str_at::@1
print_str_at::@1: scope:[print_str_at]  from print_str_at print_str_at::@2
  [130] print_str_at::at#13 = phi( print_str_at/print_str_at::at#15, print_str_at::@2/print_str_at::at#0 )
  [130] print_str_at::str#13 = phi( print_str_at/print_str_at::str#15, print_str_at::@2/print_str_at::str#0 )
  [131] if(0!=*print_str_at::str#13) goto print_str_at::@2
  to:print_str_at::@return
print_str_at::@return: scope:[print_str_at]  from print_str_at::@1
  [132] return 
  to:@return
print_str_at::@2: scope:[print_str_at]  from print_str_at::@1
  [133] *print_str_at::at#13 = *print_str_at::str#13
  [134] print_str_at::at#0 = ++ print_str_at::at#13
  [135] print_str_at::str#0 = ++ print_str_at::str#13
  to:print_str_at::@1

void print_schar_at(signed char b , char *at)
print_schar_at: scope:[print_schar_at]  from debug_print::@1 debug_print::@12 debug_print::@13 debug_print::@14 debug_print::@15 debug_print::@16 debug_print::print_schar_pos1 debug_print::print_schar_pos10 debug_print::print_schar_pos11 debug_print::print_schar_pos12 debug_print::print_schar_pos2 debug_print::print_schar_pos3 debug_print::print_schar_pos4 debug_print::print_schar_pos5 debug_print::print_schar_pos6 debug_print::print_schar_pos7 debug_print::print_schar_pos8 debug_print::print_schar_pos9 debug_print_init::@1 debug_print_init::@16 debug_print_init::@17
  [136] print_schar_at::at#21 = phi( debug_print::@1/print_schar_at::at#15, debug_print::@12/print_schar_at::at#16, debug_print::@13/print_schar_at::at#17, debug_print::@14/print_schar_at::at#18, debug_print::@15/print_schar_at::at#19, debug_print::@16/print_schar_at::at#20, debug_print::print_schar_pos1/print_screen#0+debug_print::print_schar_pos1_col#0, debug_print::print_schar_pos10/print_screen#0+debug_print::print_schar_pos10_row#0*$28+debug_print::print_schar_pos10_col#0, debug_print::print_schar_pos11/print_screen#0+debug_print::print_schar_pos11_row#0*$28+debug_print::print_schar_pos11_col#0, debug_print::print_schar_pos12/print_screen#0+debug_print::print_schar_pos12_row#0*$28+debug_print::print_schar_pos12_col#0, debug_print::print_schar_pos2/print_screen#0+debug_print::print_schar_pos2_row#0*$28+debug_print::print_schar_pos2_col#0, debug_print::print_schar_pos3/print_screen#0+debug_print::print_schar_pos3_row#0*$28+debug_print::print_schar_pos3_col#0, debug_print::print_schar_pos4/print_screen#0+debug_print::print_schar_pos4_row#0*$28+debug_print::print_schar_pos4_col#0, debug_print::print_schar_pos5/print_screen#0+debug_print::print_schar_pos5_row#0*$28+debug_print::print_schar_pos5_col#0, debug_print::print_schar_pos6/print_screen#0+debug_print::print_schar_pos6_row#0*$28+debug_print::print_schar_pos6_col#0, debug_print::print_schar_pos7/print_screen#0+debug_print::print_schar_pos7_row#0*$28+debug_print::print_schar_pos7_col#0, debug_print::print_schar_pos8/print_screen#0+debug_print::print_schar_pos8_row#0*$28+debug_print::print_schar_pos8_col#0, debug_print::print_schar_pos9/print_screen#0+debug_print::print_schar_pos9_row#0*$28+debug_print::print_schar_pos9_col#0, debug_print_init::@1/print_schar_at::at#0, debug_print_init::@16/print_schar_at::at#1, debug_print_init::@17/print_schar_at::at#2 )
  [136] print_schar_at::b#22 = phi( debug_print::@1/print_schar_at::b#16, debug_print::@12/print_schar_at::b#17, debug_print::@13/print_schar_at::b#18, debug_print::@14/print_schar_at::b#19, debug_print::@15/print_schar_at::b#20, debug_print::@16/print_schar_at::b#21, debug_print::print_schar_pos1/print_schar_at::b#4, debug_print::print_schar_pos10/print_schar_at::b#13, debug_print::print_schar_pos11/print_schar_at::b#14, debug_print::print_schar_pos12/print_schar_at::b#15, debug_print::print_schar_pos2/print_schar_at::b#5, debug_print::print_schar_pos3/sz, debug_print::print_schar_pos4/print_schar_at::b#7, debug_print::print_schar_pos5/print_schar_at::b#8, debug_print::print_schar_pos6/print_schar_at::b#9, debug_print::print_schar_pos7/print_schar_at::b#10, debug_print::print_schar_pos8/print_schar_at::b#11, debug_print::print_schar_pos9/print_schar_at::b#12, debug_print_init::@1/print_schar_at::b#1, debug_print_init::@16/print_schar_at::b#2, debug_print_init::@17/print_schar_at::b#3 )
  [137] if(print_schar_at::b#22<0) goto print_schar_at::@1
  to:print_schar_at::@3
print_schar_at::@3: scope:[print_schar_at]  from print_schar_at
  [138] print_char_at::at#1 = print_schar_at::at#21
  [139] call print_char_at
  to:print_schar_at::@2
print_schar_at::@2: scope:[print_schar_at]  from print_schar_at::@3 print_schar_at::@4
  [140] print_schar_at::b#24 = phi( print_schar_at::@4/print_schar_at::b#0, print_schar_at::@3/print_schar_at::b#22 )
  [141] print_uchar_at::at#0 = print_schar_at::at#21 + 1
  [142] print_uchar_at::b#0 = (char)print_schar_at::b#24
  [143] call print_uchar_at
  to:print_schar_at::@return
print_schar_at::@return: scope:[print_schar_at]  from print_schar_at::@2
  [144] return 
  to:@return
print_schar_at::@1: scope:[print_schar_at]  from print_schar_at
  [145] print_char_at::at#0 = print_schar_at::at#21
  [146] call print_char_at
  to:print_schar_at::@4
print_schar_at::@4: scope:[print_schar_at]  from print_schar_at::@1
  [147] print_schar_at::b#0 = - print_schar_at::b#22
  to:print_schar_at::@2

void calculate_matrix(signed char sx , signed char sy , signed char sz)
calculate_matrix: scope:[calculate_matrix]  from anim::@5
  [148] calculate_matrix::t1#0 = calculate_matrix::sy#0
  [149] calculate_matrix::t2#0 = calculate_matrix::sy#0
  [150] calculate_matrix::t3#0 = calculate_matrix::sx#0
  [151] calculate_matrix::t4#0 = calculate_matrix::sx#0
  [152] calculate_matrix::t5#0 = calculate_matrix::sx#0 + calculate_matrix::t2#0
  [153] calculate_matrix::t6#0 = calculate_matrix::sx#0 - calculate_matrix::t1#0
  [154] calculate_matrix::t7#0 = calculate_matrix::sx#0 + calculate_matrix::t1#0
  [155] calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#0
  [156] calculate_matrix::t9#0 = calculate_matrix::sy#0 - calculate_matrix::sx#0
  [157] calculate_matrix::t10#0 = calculate_matrix::sy#0 + calculate_matrix::sx#0
  [158] calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0]
  [159] *rotation_matrix = calculate_matrix::$10
  [160] calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0]
  [161] *(rotation_matrix+1) = calculate_matrix::$11
  [162] calculate_matrix::$12 = SINH[calculate_matrix::sy#0] + SINH[calculate_matrix::sy#0]
  [163] *(rotation_matrix+2) = calculate_matrix::$12
  [164] calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0]
  [165] calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0]
  [166] calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0]
  [167] calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0]
  [168] calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0]
  [169] *(rotation_matrix+3) = calculate_matrix::$17
  [170] calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0]
  [171] calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0]
  [172] calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0]
  [173] calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0]
  [174] calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0]
  [175] *(rotation_matrix+4) = calculate_matrix::$22
  [176] calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0]
  [177] *(rotation_matrix+5) = calculate_matrix::$23
  [178] calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0]
  [179] calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0]
  [180] calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0]
  [181] calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0]
  [182] calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0]
  [183] *(rotation_matrix+6) = calculate_matrix::$28
  [184] calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0]
  [185] calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0]
  [186] calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0]
  [187] calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0]
  [188] calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0]
  [189] *(rotation_matrix+7) = calculate_matrix::$33
  [190] calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0]
  [191] *(rotation_matrix+8) = calculate_matrix::$34
  to:calculate_matrix::@return
calculate_matrix::@return: scope:[calculate_matrix]  from calculate_matrix
  [192] return 
  to:@return

void store_matrix()
store_matrix: scope:[store_matrix]  from anim::@8
  asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  }
  to:store_matrix::@return
store_matrix::@return: scope:[store_matrix]  from store_matrix
  [194] return 
  to:@return

void rotate_matrix(signed char x , signed char y , signed char z)
rotate_matrix: scope:[rotate_matrix]  from anim::@6
  [195] xr = rotate_matrix::x#0
  [196] yr = rotate_matrix::y#0
  [197] zr = rotate_matrix::z#0
  asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
  to:rotate_matrix::@return
rotate_matrix::@return: scope:[rotate_matrix]  from rotate_matrix
  [199] return 
  to:@return

void debug_print()
debug_print: scope:[debug_print]  from anim::@7
  [200] debug_print::print_schar_pos1_sb#0 = sx#11
  to:debug_print::print_schar_pos1
debug_print::print_schar_pos1: scope:[debug_print]  from debug_print
  [201] print_schar_at::b#4 = debug_print::print_schar_pos1_sb#0
  [202] call print_schar_at
  to:debug_print::@2
debug_print::@2: scope:[debug_print]  from debug_print::print_schar_pos1
  [203] debug_print::print_schar_pos2_sb#0 = sy#11
  to:debug_print::print_schar_pos2
debug_print::print_schar_pos2: scope:[debug_print]  from debug_print::@2
  [204] print_schar_at::b#5 = debug_print::print_schar_pos2_sb#0
  [205] call print_schar_at
  to:debug_print::print_schar_pos3
debug_print::print_schar_pos3: scope:[debug_print]  from debug_print::print_schar_pos2
  [206] phi()
  [207] call print_schar_at
  to:debug_print::@3
debug_print::@3: scope:[debug_print]  from debug_print::print_schar_pos3
  [208] debug_print::print_schar_pos4_sb#0 = *rotation_matrix
  to:debug_print::print_schar_pos4
debug_print::print_schar_pos4: scope:[debug_print]  from debug_print::@3
  [209] print_schar_at::b#7 = debug_print::print_schar_pos4_sb#0
  [210] call print_schar_at
  to:debug_print::@4
debug_print::@4: scope:[debug_print]  from debug_print::print_schar_pos4
  [211] debug_print::print_schar_pos5_sb#0 = *(rotation_matrix+1)
  to:debug_print::print_schar_pos5
debug_print::print_schar_pos5: scope:[debug_print]  from debug_print::@4
  [212] print_schar_at::b#8 = debug_print::print_schar_pos5_sb#0
  [213] call print_schar_at
  to:debug_print::@5
debug_print::@5: scope:[debug_print]  from debug_print::print_schar_pos5
  [214] debug_print::print_schar_pos6_sb#0 = *(rotation_matrix+2)
  to:debug_print::print_schar_pos6
debug_print::print_schar_pos6: scope:[debug_print]  from debug_print::@5
  [215] print_schar_at::b#9 = debug_print::print_schar_pos6_sb#0
  [216] call print_schar_at
  to:debug_print::@6
debug_print::@6: scope:[debug_print]  from debug_print::print_schar_pos6
  [217] debug_print::print_schar_pos7_sb#0 = *(rotation_matrix+3)
  to:debug_print::print_schar_pos7
debug_print::print_schar_pos7: scope:[debug_print]  from debug_print::@6
  [218] print_schar_at::b#10 = debug_print::print_schar_pos7_sb#0
  [219] call print_schar_at
  to:debug_print::@7
debug_print::@7: scope:[debug_print]  from debug_print::print_schar_pos7
  [220] debug_print::print_schar_pos8_sb#0 = *(rotation_matrix+4)
  to:debug_print::print_schar_pos8
debug_print::print_schar_pos8: scope:[debug_print]  from debug_print::@7
  [221] print_schar_at::b#11 = debug_print::print_schar_pos8_sb#0
  [222] call print_schar_at
  to:debug_print::@8
debug_print::@8: scope:[debug_print]  from debug_print::print_schar_pos8
  [223] debug_print::print_schar_pos9_sb#0 = *(rotation_matrix+5)
  to:debug_print::print_schar_pos9
debug_print::print_schar_pos9: scope:[debug_print]  from debug_print::@8
  [224] print_schar_at::b#12 = debug_print::print_schar_pos9_sb#0
  [225] call print_schar_at
  to:debug_print::@9
debug_print::@9: scope:[debug_print]  from debug_print::print_schar_pos9
  [226] debug_print::print_schar_pos10_sb#0 = *(rotation_matrix+6)
  to:debug_print::print_schar_pos10
debug_print::print_schar_pos10: scope:[debug_print]  from debug_print::@9
  [227] print_schar_at::b#13 = debug_print::print_schar_pos10_sb#0
  [228] call print_schar_at
  to:debug_print::@10
debug_print::@10: scope:[debug_print]  from debug_print::print_schar_pos10
  [229] debug_print::print_schar_pos11_sb#0 = *(rotation_matrix+7)
  to:debug_print::print_schar_pos11
debug_print::print_schar_pos11: scope:[debug_print]  from debug_print::@10
  [230] print_schar_at::b#14 = debug_print::print_schar_pos11_sb#0
  [231] call print_schar_at
  to:debug_print::@11
debug_print::@11: scope:[debug_print]  from debug_print::print_schar_pos11
  [232] debug_print::print_schar_pos12_sb#0 = *(rotation_matrix+8)
  to:debug_print::print_schar_pos12
debug_print::print_schar_pos12: scope:[debug_print]  from debug_print::@11
  [233] print_schar_at::b#15 = debug_print::print_schar_pos12_sb#0
  [234] call print_schar_at
  to:debug_print::@1
debug_print::@1: scope:[debug_print]  from debug_print::@17 debug_print::print_schar_pos12
  [235] debug_print::i#2 = phi( debug_print::print_schar_pos12/0, debug_print::@17/debug_print::i#1 )
  [235] debug_print::c#2 = phi( debug_print::print_schar_pos12/4, debug_print::@17/debug_print::c#1 )
  [236] print_schar_at::at#15 = debug_print::at_line#0 + debug_print::c#2
  [237] print_schar_at::b#16 = xrs[debug_print::i#2]
  [238] call print_schar_at
  to:debug_print::@12
debug_print::@12: scope:[debug_print]  from debug_print::@1
  [239] print_schar_at::at#16 = debug_print::at_line#0+$28*1 + debug_print::c#2
  [240] print_schar_at::b#17 = yrs[debug_print::i#2]
  [241] call print_schar_at
  to:debug_print::@13
debug_print::@13: scope:[debug_print]  from debug_print::@12
  [242] print_schar_at::at#17 = debug_print::at_line#0+$28*2 + debug_print::c#2
  [243] print_schar_at::b#18 = zrs[debug_print::i#2]
  [244] call print_schar_at
  to:debug_print::@14
debug_print::@14: scope:[debug_print]  from debug_print::@13
  [245] print_schar_at::at#18 = debug_print::at_line#0+$28*3 + debug_print::c#2
  [246] print_schar_at::b#19 = pps[debug_print::i#2]
  [247] call print_schar_at
  to:debug_print::@15
debug_print::@15: scope:[debug_print]  from debug_print::@14
  [248] print_schar_at::at#19 = debug_print::at_line#0+$28*4 + debug_print::c#2
  [249] print_schar_at::b#20 = xps[debug_print::i#2]
  [250] call print_schar_at
  to:debug_print::@16
debug_print::@16: scope:[debug_print]  from debug_print::@15
  [251] print_schar_at::at#20 = debug_print::at_line#0+$28*5 + debug_print::c#2
  [252] print_schar_at::b#21 = yps[debug_print::i#2]
  [253] call print_schar_at
  to:debug_print::@17
debug_print::@17: scope:[debug_print]  from debug_print::@16
  [254] debug_print::c#1 = debug_print::c#2 + 4
  [255] debug_print::i#1 = ++ debug_print::i#2
  [256] if(debug_print::i#1!=8) goto debug_print::@1
  to:debug_print::@return
debug_print::@return: scope:[debug_print]  from debug_print::@17
  [257] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [258] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [259] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [260] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [261] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [262] *memset::dst#2 = memset::c#0
  [263] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

void print_char_at(char ch , char *at)
print_char_at: scope:[print_char_at]  from print_schar_at::@1 print_schar_at::@3 print_uchar_at print_uchar_at::@1
  [264] print_char_at::at#4 = phi( print_schar_at::@1/print_char_at::at#0, print_schar_at::@3/print_char_at::at#1, print_uchar_at/print_char_at::at#2, print_uchar_at::@1/print_char_at::at#3 )
  [264] print_char_at::ch#4 = phi( print_schar_at::@1/'-', print_schar_at::@3/' ', print_uchar_at/print_char_at::ch#2, print_uchar_at::@1/print_char_at::ch#3 )
  [265] *print_char_at::at#4 = print_char_at::ch#4
  to:print_char_at::@return
print_char_at::@return: scope:[print_char_at]  from print_char_at
  [266] return 
  to:@return

void print_uchar_at(char b , char *at)
print_uchar_at: scope:[print_uchar_at]  from print_schar_at::@2
  [267] print_uchar_at::$0 = print_uchar_at::b#0 >> 4
  [268] print_char_at::ch#2 = print_hextab[print_uchar_at::$0]
  [269] print_char_at::at#2 = print_uchar_at::at#0
  [270] call print_char_at
  to:print_uchar_at::@1
print_uchar_at::@1: scope:[print_uchar_at]  from print_uchar_at
  [271] print_uchar_at::$2 = print_uchar_at::b#0 & $f
  [272] print_char_at::at#3 = print_uchar_at::at#0 + 1
  [273] print_char_at::ch#3 = print_hextab[print_uchar_at::$2]
  [274] call print_char_at
  to:print_uchar_at::@return
print_uchar_at::@return: scope:[print_uchar_at]  from print_uchar_at::@1
  [275] return 
  to:@return

null depth in calling loop Loop head: debug_print::@1 tails: debug_print::@17 blocks: debug_print::@17 debug_print::@16 debug_print::@15 debug_print::@14 debug_print::@13 debug_print::@12 debug_print::@1  in scope print_schar_at
null depth in calling loop Loop head: debug_print::@1 tails: debug_print::@17 blocks: debug_print::@17 debug_print::@16 debug_print::@15 debug_print::@14 debug_print::@13 debug_print::@12 debug_print::@1  in scope print_schar_at
null depth in calling loop Loop head: debug_print::@1 tails: debug_print::@17 blocks: debug_print::@17 debug_print::@16 debug_print::@15 debug_print::@14 debug_print::@13 debug_print::@12 debug_print::@1  in scope print_schar_at
null depth in calling loop Loop head: debug_print::@1 tails: debug_print::@17 blocks: debug_print::@17 debug_print::@16 debug_print::@15 debug_print::@14 debug_print::@13 debug_print::@12 debug_print::@1  in scope print_schar_at
null depth in calling loop Loop head: debug_print::@1 tails: debug_print::@17 blocks: debug_print::@17 debug_print::@16 debug_print::@15 debug_print::@14 debug_print::@13 debug_print::@12 debug_print::@1  in scope print_schar_at
null depth in calling loop Loop head: debug_print::@1 tails: debug_print::@17 blocks: debug_print::@17 debug_print::@16 debug_print::@15 debug_print::@14 debug_print::@13 debug_print::@12 debug_print::@1  in scope print_schar_at

VARIABLE REGISTER WEIGHTS
void __start()
void anim()
char anim::$10 // 20002.0
char anim::$13 // 20002.0
char anim::$14 // 20002.0
char anim::$9 // 20002.0
char anim::i
char anim::i#1 // 15001.5
char anim::i#2 // 6316.421052631579
char anim::i2
char anim::i2#0 // 5000.5
void calculate_matrix(signed char sx , signed char sy , signed char sz)
signed char calculate_matrix::$10 // 20002.0
signed char calculate_matrix::$11 // 20002.0
signed char calculate_matrix::$12 // 20002.0
signed char calculate_matrix::$13 // 20002.0
signed char calculate_matrix::$14 // 20002.0
signed char calculate_matrix::$15 // 20002.0
signed char calculate_matrix::$16 // 20002.0
signed char calculate_matrix::$17 // 20002.0
signed char calculate_matrix::$18 // 20002.0
signed char calculate_matrix::$19 // 20002.0
signed char calculate_matrix::$20 // 20002.0
signed char calculate_matrix::$21 // 20002.0
signed char calculate_matrix::$22 // 20002.0
signed char calculate_matrix::$23 // 20002.0
signed char calculate_matrix::$24 // 20002.0
signed char calculate_matrix::$25 // 20002.0
signed char calculate_matrix::$26 // 20002.0
signed char calculate_matrix::$27 // 20002.0
signed char calculate_matrix::$28 // 20002.0
signed char calculate_matrix::$29 // 20002.0
signed char calculate_matrix::$30 // 20002.0
signed char calculate_matrix::$31 // 20002.0
signed char calculate_matrix::$32 // 20002.0
signed char calculate_matrix::$33 // 20002.0
signed char calculate_matrix::$34 // 20002.0
signed char calculate_matrix::sx
signed char calculate_matrix::sx#0 // 7364.454545454545
signed char calculate_matrix::sy
signed char calculate_matrix::sy#0 // 4067.133333333334
signed char calculate_matrix::sz
signed char calculate_matrix::t1
signed char calculate_matrix::t1#0 // 4167.083333333333
signed char calculate_matrix::t10
signed char calculate_matrix::t10#0 // 909.1818181818182
signed char calculate_matrix::t2
signed char calculate_matrix::t2#0 // 4545.909090909091
signed char calculate_matrix::t3
signed char calculate_matrix::t3#0 // 1470.7352941176468
signed char calculate_matrix::t4
signed char calculate_matrix::t4#0 // 1515.3030303030303
signed char calculate_matrix::t5
signed char calculate_matrix::t5#0 // 1470.7352941176468
signed char calculate_matrix::t6
signed char calculate_matrix::t6#0 // 1562.65625
signed char calculate_matrix::t7
signed char calculate_matrix::t7#0 // 1515.3030303030303
signed char calculate_matrix::t8
signed char calculate_matrix::t8#0 // 1515.3030303030303
signed char calculate_matrix::t9
signed char calculate_matrix::t9#0 // 882.4411764705882
void debug_print()
char *debug_print::at_line
char debug_print::c
char debug_print::c#1 // 666667.3333333334
char debug_print::c#2 // 421053.05263157893
char debug_print::i
char debug_print::i#1 // 1500001.5
char debug_print::i#2 // 400000.39999999997
char debug_print::print_schar_pos10_col
char debug_print::print_schar_pos10_row
signed char debug_print::print_schar_pos10_sb
signed char debug_print::print_schar_pos10_sb#0 // 20002.0
char debug_print::print_schar_pos11_col
char debug_print::print_schar_pos11_row
signed char debug_print::print_schar_pos11_sb
signed char debug_print::print_schar_pos11_sb#0 // 20002.0
char debug_print::print_schar_pos12_col
char debug_print::print_schar_pos12_row
signed char debug_print::print_schar_pos12_sb
signed char debug_print::print_schar_pos12_sb#0 // 20002.0
char debug_print::print_schar_pos1_col
char debug_print::print_schar_pos1_row
signed char debug_print::print_schar_pos1_sb
signed char debug_print::print_schar_pos1_sb#0 // 20002.0
char debug_print::print_schar_pos2_col
char debug_print::print_schar_pos2_row
signed char debug_print::print_schar_pos2_sb
signed char debug_print::print_schar_pos2_sb#0 // 20002.0
char debug_print::print_schar_pos3_col
char debug_print::print_schar_pos3_row
signed char debug_print::print_schar_pos3_sb
char debug_print::print_schar_pos4_col
char debug_print::print_schar_pos4_row
signed char debug_print::print_schar_pos4_sb
signed char debug_print::print_schar_pos4_sb#0 // 20002.0
char debug_print::print_schar_pos5_col
char debug_print::print_schar_pos5_row
signed char debug_print::print_schar_pos5_sb
signed char debug_print::print_schar_pos5_sb#0 // 20002.0
char debug_print::print_schar_pos6_col
char debug_print::print_schar_pos6_row
signed char debug_print::print_schar_pos6_sb
signed char debug_print::print_schar_pos6_sb#0 // 20002.0
char debug_print::print_schar_pos7_col
char debug_print::print_schar_pos7_row
signed char debug_print::print_schar_pos7_sb
signed char debug_print::print_schar_pos7_sb#0 // 20002.0
char debug_print::print_schar_pos8_col
char debug_print::print_schar_pos8_row
signed char debug_print::print_schar_pos8_sb
signed char debug_print::print_schar_pos8_sb#0 // 20002.0
char debug_print::print_schar_pos9_col
char debug_print::print_schar_pos9_row
signed char debug_print::print_schar_pos9_sb
signed char debug_print::print_schar_pos9_sb#0 // 20002.0
void debug_print_init()
char *debug_print_init::$41 // 20002.0
char *debug_print_init::$44 // 20002.0
char *debug_print_init::$47 // 20002.0
char *debug_print_init::$50 // 20002.0
char *debug_print_init::$53 // 20002.0
char *debug_print_init::$56 // 20002.0
char *debug_print_init::$59 // 20002.0
char *debug_print_init::$62 // 20002.0
char *debug_print_init::$65 // 20002.0
char *debug_print_init::at_cols
char *debug_print_init::at_line
char debug_print_init::c
char debug_print_init::c#1 // 667.3333333333334
char debug_print_init::c#2 // 2969.1875
char debug_print_init::col
char debug_print_init::col#0 // 5556.111111111112
char debug_print_init::i
char debug_print_init::i#1 // 1501.5
char debug_print_init::i#2 // 454.7272727272727
char debug_print_init::j
char debug_print_init::j#1 // 15001.5
char debug_print_init::j#2 // 5500.550000000001
void main()
void * memset(void *str , char c , unsigned int num)
char memset::c
char *memset::dst
char *memset::dst#1 // 200002.0
char *memset::dst#2 // 133334.66666666666
char *memset::end
unsigned int memset::num
void *memset::return
void *memset::str
__loadstore volatile signed char pp // 185.24074074074073
void print_char_at(char ch , char *at)
char *print_char_at::at
char *print_char_at::at#0 // 2.0000002E7
char *print_char_at::at#1 // 2.0000002E7
char *print_char_at::at#2 // 2.00000002E8
char *print_char_at::at#3 // 1.00000001E8
char *print_char_at::at#4 // 1.220000005E9
char print_char_at::ch
char print_char_at::ch#2 // 1.00000001E8
char print_char_at::ch#3 // 2.00000002E8
char print_char_at::ch#4 // 1.200000003E9
void print_cls()
void print_schar_at(signed char b , char *at)
char *print_schar_at::at
char *print_schar_at::at#0 // 1001.0
char *print_schar_at::at#1 // 1001.0
char *print_schar_at::at#15 // 1000001.0
char *print_schar_at::at#16 // 1000001.0
char *print_schar_at::at#17 // 1000001.0
char *print_schar_at::at#18 // 1000001.0
char *print_schar_at::at#19 // 1000001.0
char *print_schar_at::at#2 // 1001.0
char *print_schar_at::at#20 // 1000001.0
char *print_schar_at::at#21 // 4500376.5
signed char print_schar_at::b
signed char print_schar_at::b#0 // 2.0000002E7
signed char print_schar_at::b#1 // 2002.0
signed char print_schar_at::b#10 // 20002.0
signed char print_schar_at::b#11 // 20002.0
signed char print_schar_at::b#12 // 20002.0
signed char print_schar_at::b#13 // 20002.0
signed char print_schar_at::b#14 // 20002.0
signed char print_schar_at::b#15 // 20002.0
signed char print_schar_at::b#16 // 2000002.0
signed char print_schar_at::b#17 // 2000002.0
signed char print_schar_at::b#18 // 2000002.0
signed char print_schar_at::b#19 // 2000002.0
signed char print_schar_at::b#2 // 2002.0
signed char print_schar_at::b#20 // 2000002.0
signed char print_schar_at::b#21 // 2000002.0
signed char print_schar_at::b#22 // 6018837.166666667
signed char print_schar_at::b#24 // 1.0000001E7
signed char print_schar_at::b#3 // 2002.0
signed char print_schar_at::b#4 // 20002.0
signed char print_schar_at::b#5 // 20002.0
signed char print_schar_at::b#7 // 20002.0
signed char print_schar_at::b#8 // 20002.0
signed char print_schar_at::b#9 // 20002.0
char *print_screen
void print_str_at(char *str , char *at)
char *print_str_at::at
char *print_str_at::at#0 // 10001.0
char *print_str_at::at#13 // 10334.666666666666
char *print_str_at::at#15 // 1001.0
char *print_str_at::str
char *print_str_at::str#0 // 20002.0
char *print_str_at::str#13 // 10251.25
char *print_str_at::str#15 // 1001.0
void print_uchar_at(char b , char *at)
char print_uchar_at::$0 // 2.00000002E8
char print_uchar_at::$2 // 1.00000001E8
char *print_uchar_at::at
char *print_uchar_at::at#0 // 3.000000042857143E7
char print_uchar_at::b
char print_uchar_at::b#0 // 4.2000000599999994E7
__loadstore volatile unsigned int psp1 // 0.28260869565217395
__loadstore volatile unsigned int psp2 // 0.28888888888888886
void rotate_matrix(signed char x , signed char y , signed char z)
signed char rotate_matrix::x
signed char rotate_matrix::x#0 // 36667.33333333333
signed char rotate_matrix::y
signed char rotate_matrix::y#0 // 36667.33333333333
signed char rotate_matrix::z
signed char rotate_matrix::z#0 // 36667.33333333333
void sprites_init()
char sprites_init::i
char sprites_init::i#1 // 1501.5
char sprites_init::i#2 // 1334.6666666666667
char *sprites_init::sprites_ptr
void store_matrix()
signed char sx
signed char sx#11 // 141.34782608695653
signed char sx#2 // 1001.0
signed char sy
signed char sy#11 // 139.8279569892473
signed char sy#2 // 2002.0
__loadstore volatile signed char xp // 188.7358490566038
__loadstore volatile signed char xr // 18334.0
__loadstore volatile signed char yp // 192.3653846153846
__loadstore volatile signed char yr // 18334.0
__loadstore volatile signed char zr // 18334.0

Initial phi equivalence classes
[ sprites_init::i#2 sprites_init::i#1 ]
[ debug_print_init::c#2 debug_print_init::c#1 ]
[ debug_print_init::i#2 debug_print_init::i#1 ]
[ debug_print_init::j#2 debug_print_init::j#1 ]
[ sx#11 sx#2 ]
[ sy#11 sy#2 ]
[ anim::i#2 anim::i#1 ]
[ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ]
[ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ]
[ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 ]
[ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ]
[ debug_print::c#2 debug_print::c#1 ]
[ debug_print::i#2 debug_print::i#1 ]
[ memset::dst#2 memset::dst#1 ]
[ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ]
[ print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ]
Added variable xr to live range equivalence class [ xr ]
Added variable yr to live range equivalence class [ yr ]
Added variable zr to live range equivalence class [ zr ]
Added variable pp to live range equivalence class [ pp ]
Added variable xp to live range equivalence class [ xp ]
Added variable yp to live range equivalence class [ yp ]
Added variable psp1 to live range equivalence class [ psp1 ]
Added variable psp2 to live range equivalence class [ psp2 ]
Added variable debug_print_init::col#0 to live range equivalence class [ debug_print_init::col#0 ]
Added variable debug_print_init::$41 to live range equivalence class [ debug_print_init::$41 ]
Added variable debug_print_init::$44 to live range equivalence class [ debug_print_init::$44 ]
Added variable debug_print_init::$47 to live range equivalence class [ debug_print_init::$47 ]
Added variable debug_print_init::$50 to live range equivalence class [ debug_print_init::$50 ]
Added variable debug_print_init::$53 to live range equivalence class [ debug_print_init::$53 ]
Added variable debug_print_init::$56 to live range equivalence class [ debug_print_init::$56 ]
Added variable debug_print_init::$59 to live range equivalence class [ debug_print_init::$59 ]
Added variable debug_print_init::$62 to live range equivalence class [ debug_print_init::$62 ]
Added variable debug_print_init::$65 to live range equivalence class [ debug_print_init::$65 ]
Added variable calculate_matrix::sx#0 to live range equivalence class [ calculate_matrix::sx#0 ]
Added variable calculate_matrix::sy#0 to live range equivalence class [ calculate_matrix::sy#0 ]
Added variable rotate_matrix::x#0 to live range equivalence class [ rotate_matrix::x#0 ]
Added variable rotate_matrix::y#0 to live range equivalence class [ rotate_matrix::y#0 ]
Added variable rotate_matrix::z#0 to live range equivalence class [ rotate_matrix::z#0 ]
Added variable anim::i2#0 to live range equivalence class [ anim::i2#0 ]
Added variable anim::$13 to live range equivalence class [ anim::$13 ]
Added variable anim::$9 to live range equivalence class [ anim::$9 ]
Added variable anim::$14 to live range equivalence class [ anim::$14 ]
Added variable anim::$10 to live range equivalence class [ anim::$10 ]
Added variable print_uchar_at::at#0 to live range equivalence class [ print_uchar_at::at#0 ]
Added variable print_uchar_at::b#0 to live range equivalence class [ print_uchar_at::b#0 ]
Added variable calculate_matrix::t1#0 to live range equivalence class [ calculate_matrix::t1#0 ]
Added variable calculate_matrix::t2#0 to live range equivalence class [ calculate_matrix::t2#0 ]
Added variable calculate_matrix::t3#0 to live range equivalence class [ calculate_matrix::t3#0 ]
Added variable calculate_matrix::t4#0 to live range equivalence class [ calculate_matrix::t4#0 ]
Added variable calculate_matrix::t5#0 to live range equivalence class [ calculate_matrix::t5#0 ]
Added variable calculate_matrix::t6#0 to live range equivalence class [ calculate_matrix::t6#0 ]
Added variable calculate_matrix::t7#0 to live range equivalence class [ calculate_matrix::t7#0 ]
Added variable calculate_matrix::t8#0 to live range equivalence class [ calculate_matrix::t8#0 ]
Added variable calculate_matrix::t9#0 to live range equivalence class [ calculate_matrix::t9#0 ]
Added variable calculate_matrix::t10#0 to live range equivalence class [ calculate_matrix::t10#0 ]
Added variable calculate_matrix::$10 to live range equivalence class [ calculate_matrix::$10 ]
Added variable calculate_matrix::$11 to live range equivalence class [ calculate_matrix::$11 ]
Added variable calculate_matrix::$12 to live range equivalence class [ calculate_matrix::$12 ]
Added variable calculate_matrix::$13 to live range equivalence class [ calculate_matrix::$13 ]
Added variable calculate_matrix::$14 to live range equivalence class [ calculate_matrix::$14 ]
Added variable calculate_matrix::$15 to live range equivalence class [ calculate_matrix::$15 ]
Added variable calculate_matrix::$16 to live range equivalence class [ calculate_matrix::$16 ]
Added variable calculate_matrix::$17 to live range equivalence class [ calculate_matrix::$17 ]
Added variable calculate_matrix::$18 to live range equivalence class [ calculate_matrix::$18 ]
Added variable calculate_matrix::$19 to live range equivalence class [ calculate_matrix::$19 ]
Added variable calculate_matrix::$20 to live range equivalence class [ calculate_matrix::$20 ]
Added variable calculate_matrix::$21 to live range equivalence class [ calculate_matrix::$21 ]
Added variable calculate_matrix::$22 to live range equivalence class [ calculate_matrix::$22 ]
Added variable calculate_matrix::$23 to live range equivalence class [ calculate_matrix::$23 ]
Added variable calculate_matrix::$24 to live range equivalence class [ calculate_matrix::$24 ]
Added variable calculate_matrix::$25 to live range equivalence class [ calculate_matrix::$25 ]
Added variable calculate_matrix::$26 to live range equivalence class [ calculate_matrix::$26 ]
Added variable calculate_matrix::$27 to live range equivalence class [ calculate_matrix::$27 ]
Added variable calculate_matrix::$28 to live range equivalence class [ calculate_matrix::$28 ]
Added variable calculate_matrix::$29 to live range equivalence class [ calculate_matrix::$29 ]
Added variable calculate_matrix::$30 to live range equivalence class [ calculate_matrix::$30 ]
Added variable calculate_matrix::$31 to live range equivalence class [ calculate_matrix::$31 ]
Added variable calculate_matrix::$32 to live range equivalence class [ calculate_matrix::$32 ]
Added variable calculate_matrix::$33 to live range equivalence class [ calculate_matrix::$33 ]
Added variable calculate_matrix::$34 to live range equivalence class [ calculate_matrix::$34 ]
Added variable debug_print::print_schar_pos1_sb#0 to live range equivalence class [ debug_print::print_schar_pos1_sb#0 ]
Added variable debug_print::print_schar_pos2_sb#0 to live range equivalence class [ debug_print::print_schar_pos2_sb#0 ]
Added variable debug_print::print_schar_pos4_sb#0 to live range equivalence class [ debug_print::print_schar_pos4_sb#0 ]
Added variable debug_print::print_schar_pos5_sb#0 to live range equivalence class [ debug_print::print_schar_pos5_sb#0 ]
Added variable debug_print::print_schar_pos6_sb#0 to live range equivalence class [ debug_print::print_schar_pos6_sb#0 ]
Added variable debug_print::print_schar_pos7_sb#0 to live range equivalence class [ debug_print::print_schar_pos7_sb#0 ]
Added variable debug_print::print_schar_pos8_sb#0 to live range equivalence class [ debug_print::print_schar_pos8_sb#0 ]
Added variable debug_print::print_schar_pos9_sb#0 to live range equivalence class [ debug_print::print_schar_pos9_sb#0 ]
Added variable debug_print::print_schar_pos10_sb#0 to live range equivalence class [ debug_print::print_schar_pos10_sb#0 ]
Added variable debug_print::print_schar_pos11_sb#0 to live range equivalence class [ debug_print::print_schar_pos11_sb#0 ]
Added variable debug_print::print_schar_pos12_sb#0 to live range equivalence class [ debug_print::print_schar_pos12_sb#0 ]
Added variable print_uchar_at::$0 to live range equivalence class [ print_uchar_at::$0 ]
Added variable print_uchar_at::$2 to live range equivalence class [ print_uchar_at::$2 ]
Complete equivalence classes
[ sprites_init::i#2 sprites_init::i#1 ]
[ debug_print_init::c#2 debug_print_init::c#1 ]
[ debug_print_init::i#2 debug_print_init::i#1 ]
[ debug_print_init::j#2 debug_print_init::j#1 ]
[ sx#11 sx#2 ]
[ sy#11 sy#2 ]
[ anim::i#2 anim::i#1 ]
[ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ]
[ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ]
[ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 ]
[ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ]
[ debug_print::c#2 debug_print::c#1 ]
[ debug_print::i#2 debug_print::i#1 ]
[ memset::dst#2 memset::dst#1 ]
[ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ]
[ print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ]
[ xr ]
[ yr ]
[ zr ]
[ pp ]
[ xp ]
[ yp ]
[ psp1 ]
[ psp2 ]
[ debug_print_init::col#0 ]
[ debug_print_init::$41 ]
[ debug_print_init::$44 ]
[ debug_print_init::$47 ]
[ debug_print_init::$50 ]
[ debug_print_init::$53 ]
[ debug_print_init::$56 ]
[ debug_print_init::$59 ]
[ debug_print_init::$62 ]
[ debug_print_init::$65 ]
[ calculate_matrix::sx#0 ]
[ calculate_matrix::sy#0 ]
[ rotate_matrix::x#0 ]
[ rotate_matrix::y#0 ]
[ rotate_matrix::z#0 ]
[ anim::i2#0 ]
[ anim::$13 ]
[ anim::$9 ]
[ anim::$14 ]
[ anim::$10 ]
[ print_uchar_at::at#0 ]
[ print_uchar_at::b#0 ]
[ calculate_matrix::t1#0 ]
[ calculate_matrix::t2#0 ]
[ calculate_matrix::t3#0 ]
[ calculate_matrix::t4#0 ]
[ calculate_matrix::t5#0 ]
[ calculate_matrix::t6#0 ]
[ calculate_matrix::t7#0 ]
[ calculate_matrix::t8#0 ]
[ calculate_matrix::t9#0 ]
[ calculate_matrix::t10#0 ]
[ calculate_matrix::$10 ]
[ calculate_matrix::$11 ]
[ calculate_matrix::$12 ]
[ calculate_matrix::$13 ]
[ calculate_matrix::$14 ]
[ calculate_matrix::$15 ]
[ calculate_matrix::$16 ]
[ calculate_matrix::$17 ]
[ calculate_matrix::$18 ]
[ calculate_matrix::$19 ]
[ calculate_matrix::$20 ]
[ calculate_matrix::$21 ]
[ calculate_matrix::$22 ]
[ calculate_matrix::$23 ]
[ calculate_matrix::$24 ]
[ calculate_matrix::$25 ]
[ calculate_matrix::$26 ]
[ calculate_matrix::$27 ]
[ calculate_matrix::$28 ]
[ calculate_matrix::$29 ]
[ calculate_matrix::$30 ]
[ calculate_matrix::$31 ]
[ calculate_matrix::$32 ]
[ calculate_matrix::$33 ]
[ calculate_matrix::$34 ]
[ debug_print::print_schar_pos1_sb#0 ]
[ debug_print::print_schar_pos2_sb#0 ]
[ debug_print::print_schar_pos4_sb#0 ]
[ debug_print::print_schar_pos5_sb#0 ]
[ debug_print::print_schar_pos6_sb#0 ]
[ debug_print::print_schar_pos7_sb#0 ]
[ debug_print::print_schar_pos8_sb#0 ]
[ debug_print::print_schar_pos9_sb#0 ]
[ debug_print::print_schar_pos10_sb#0 ]
[ debug_print::print_schar_pos11_sb#0 ]
[ debug_print::print_schar_pos12_sb#0 ]
[ print_uchar_at::$0 ]
[ print_uchar_at::$2 ]
Allocated zp[1]:2 [ sprites_init::i#2 sprites_init::i#1 ]
Allocated zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ]
Allocated zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ]
Allocated zp[1]:5 [ debug_print_init::j#2 debug_print_init::j#1 ]
Allocated zp[1]:6 [ sx#11 sx#2 ]
Allocated zp[1]:7 [ sy#11 sy#2 ]
Allocated zp[1]:8 [ anim::i#2 anim::i#1 ]
Allocated zp[2]:9 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ]
Allocated zp[2]:11 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ]
Allocated zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 ]
Allocated zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ]
Allocated zp[1]:16 [ debug_print::c#2 debug_print::c#1 ]
Allocated zp[1]:17 [ debug_print::i#2 debug_print::i#1 ]
Allocated zp[2]:18 [ memset::dst#2 memset::dst#1 ]
Allocated zp[1]:20 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ]
Allocated zp[2]:21 [ print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ]
Allocated zp[1]:23 [ xr ]
Allocated zp[1]:24 [ yr ]
Allocated zp[1]:25 [ zr ]
Allocated zp[1]:26 [ pp ]
Allocated zp[1]:27 [ xp ]
Allocated zp[1]:28 [ yp ]
Allocated zp[2]:29 [ psp1 ]
Allocated zp[2]:31 [ psp2 ]
Allocated zp[1]:33 [ debug_print_init::col#0 ]
Allocated zp[2]:34 [ debug_print_init::$41 ]
Allocated zp[2]:36 [ debug_print_init::$44 ]
Allocated zp[2]:38 [ debug_print_init::$47 ]
Allocated zp[2]:40 [ debug_print_init::$50 ]
Allocated zp[2]:42 [ debug_print_init::$53 ]
Allocated zp[2]:44 [ debug_print_init::$56 ]
Allocated zp[2]:46 [ debug_print_init::$59 ]
Allocated zp[2]:48 [ debug_print_init::$62 ]
Allocated zp[2]:50 [ debug_print_init::$65 ]
Allocated zp[1]:52 [ calculate_matrix::sx#0 ]
Allocated zp[1]:53 [ calculate_matrix::sy#0 ]
Allocated zp[1]:54 [ rotate_matrix::x#0 ]
Allocated zp[1]:55 [ rotate_matrix::y#0 ]
Allocated zp[1]:56 [ rotate_matrix::z#0 ]
Allocated zp[1]:57 [ anim::i2#0 ]
Allocated zp[1]:58 [ anim::$13 ]
Allocated zp[1]:59 [ anim::$9 ]
Allocated zp[1]:60 [ anim::$14 ]
Allocated zp[1]:61 [ anim::$10 ]
Allocated zp[2]:62 [ print_uchar_at::at#0 ]
Allocated zp[1]:64 [ print_uchar_at::b#0 ]
Allocated zp[1]:65 [ calculate_matrix::t1#0 ]
Allocated zp[1]:66 [ calculate_matrix::t2#0 ]
Allocated zp[1]:67 [ calculate_matrix::t3#0 ]
Allocated zp[1]:68 [ calculate_matrix::t4#0 ]
Allocated zp[1]:69 [ calculate_matrix::t5#0 ]
Allocated zp[1]:70 [ calculate_matrix::t6#0 ]
Allocated zp[1]:71 [ calculate_matrix::t7#0 ]
Allocated zp[1]:72 [ calculate_matrix::t8#0 ]
Allocated zp[1]:73 [ calculate_matrix::t9#0 ]
Allocated zp[1]:74 [ calculate_matrix::t10#0 ]
Allocated zp[1]:75 [ calculate_matrix::$10 ]
Allocated zp[1]:76 [ calculate_matrix::$11 ]
Allocated zp[1]:77 [ calculate_matrix::$12 ]
Allocated zp[1]:78 [ calculate_matrix::$13 ]
Allocated zp[1]:79 [ calculate_matrix::$14 ]
Allocated zp[1]:80 [ calculate_matrix::$15 ]
Allocated zp[1]:81 [ calculate_matrix::$16 ]
Allocated zp[1]:82 [ calculate_matrix::$17 ]
Allocated zp[1]:83 [ calculate_matrix::$18 ]
Allocated zp[1]:84 [ calculate_matrix::$19 ]
Allocated zp[1]:85 [ calculate_matrix::$20 ]
Allocated zp[1]:86 [ calculate_matrix::$21 ]
Allocated zp[1]:87 [ calculate_matrix::$22 ]
Allocated zp[1]:88 [ calculate_matrix::$23 ]
Allocated zp[1]:89 [ calculate_matrix::$24 ]
Allocated zp[1]:90 [ calculate_matrix::$25 ]
Allocated zp[1]:91 [ calculate_matrix::$26 ]
Allocated zp[1]:92 [ calculate_matrix::$27 ]
Allocated zp[1]:93 [ calculate_matrix::$28 ]
Allocated zp[1]:94 [ calculate_matrix::$29 ]
Allocated zp[1]:95 [ calculate_matrix::$30 ]
Allocated zp[1]:96 [ calculate_matrix::$31 ]
Allocated zp[1]:97 [ calculate_matrix::$32 ]
Allocated zp[1]:98 [ calculate_matrix::$33 ]
Allocated zp[1]:99 [ calculate_matrix::$34 ]
Allocated zp[1]:100 [ debug_print::print_schar_pos1_sb#0 ]
Allocated zp[1]:101 [ debug_print::print_schar_pos2_sb#0 ]
Allocated zp[1]:102 [ debug_print::print_schar_pos4_sb#0 ]
Allocated zp[1]:103 [ debug_print::print_schar_pos5_sb#0 ]
Allocated zp[1]:104 [ debug_print::print_schar_pos6_sb#0 ]
Allocated zp[1]:105 [ debug_print::print_schar_pos7_sb#0 ]
Allocated zp[1]:106 [ debug_print::print_schar_pos8_sb#0 ]
Allocated zp[1]:107 [ debug_print::print_schar_pos9_sb#0 ]
Allocated zp[1]:108 [ debug_print::print_schar_pos10_sb#0 ]
Allocated zp[1]:109 [ debug_print::print_schar_pos11_sb#0 ]
Allocated zp[1]:110 [ debug_print::print_schar_pos12_sb#0 ]
Allocated zp[1]:111 [ print_uchar_at::$0 ]
Allocated zp[1]:112 [ print_uchar_at::$2 ]
REGISTER UPLIFT POTENTIAL REGISTERS
Statement [1] xr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [2] yr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [3] zr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [4] pp = 0 [ pp ] (  [ pp ] { }  ) always clobbers reg byte a 
Statement [5] xp = 0 [ pp xp ] (  [ pp xp ] { }  ) always clobbers reg byte a 
Statement [6] yp = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [7] psp1 = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [8] psp2 = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [14] psp1 = (unsigned int)mulf_sqr1 [ pp xp yp psp1 ] ( main:10 [ pp xp yp psp1 ] { }  ) always clobbers reg byte a 
Statement [15] psp2 = (unsigned int)mulf_sqr2 [ pp xp yp psp1 psp2 ] ( main:10 [ pp xp yp psp1 psp2 ] { }  ) always clobbers reg byte a 
Statement [20] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff [ ] ( main:10::sprites_init:13 [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [22] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)SPRITE/$40 [ sprites_init::i#2 ] ( main:10::sprites_init:13 [ pp xp yp sprites_init::i#2 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:2 [ sprites_init::i#2 sprites_init::i#1 ]
Statement [23] SPRITES_COLOR[sprites_init::i#2] = GREEN [ sprites_init::i#2 ] ( main:10::sprites_init:13 [ pp xp yp sprites_init::i#2 ] { }  ) always clobbers reg byte a 
Statement [54] print_schar_at::at#0 = debug_print_init::at_line#0 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ]
Statement [57] print_schar_at::at#1 = debug_print_init::at_line#0+$28*1 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [60] print_schar_at::at#2 = debug_print_init::at_line#0+$28*2 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [64] debug_print_init::col#0 = 8 + debug_print_init::i#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:5 [ debug_print_init::j#2 debug_print_init::j#1 ]
Statement [65] debug_print_init::$41 = debug_print_init::at_cols#0 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$41 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$41 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:33 [ debug_print_init::col#0 ]
Statement [66] debug_print_init::$41[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [67] debug_print_init::$44 = debug_print_init::at_cols#0+$28*1 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$44 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$44 ] { }  ) always clobbers reg byte a 
Statement [68] debug_print_init::$44[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [69] debug_print_init::$47 = debug_print_init::at_cols#0+$28*2 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$47 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$47 ] { }  ) always clobbers reg byte a 
Statement [70] debug_print_init::$47[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [71] debug_print_init::$50 = debug_print_init::at_cols#0+$28*3 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$50 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$50 ] { }  ) always clobbers reg byte a 
Statement [72] debug_print_init::$50[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [73] debug_print_init::$53 = debug_print_init::at_cols#0+$28*4 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$53 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$53 ] { }  ) always clobbers reg byte a 
Statement [74] debug_print_init::$53[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [75] debug_print_init::$56 = debug_print_init::at_cols#0+$28*5 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$56 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$56 ] { }  ) always clobbers reg byte a 
Statement [76] debug_print_init::$56[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [77] debug_print_init::$59 = debug_print_init::at_cols#0+$28*6 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] { }  ) always clobbers reg byte a 
Statement [78] debug_print_init::$59[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [79] debug_print_init::$62 = debug_print_init::at_cols#0+(unsigned int)$28*7 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$62 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$62 ] { }  ) always clobbers reg byte a 
Statement [80] debug_print_init::$62[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [81] debug_print_init::$65 = debug_print_init::at_cols#0+(unsigned int)$28*8 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$65 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$65 ] { }  ) always clobbers reg byte a 
Statement [82] debug_print_init::$65[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] { }  ) always clobbers reg byte a 
Statement [85] debug_print_init::c#1 = debug_print_init::c#2 + 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::i#2 debug_print_init::c#1 ] { }  ) always clobbers reg byte a 
Statement [91] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:6 [ sx#11 sx#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:7 [ sy#11 sy#2 ]
Statement [92] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [93] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [106] xrs[anim::i#2] = xr [ yr zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ yr zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:8 [ anim::i#2 anim::i#1 ]
Statement [107] yrs[anim::i#2] = yr [ zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a 
Statement [108] zrs[anim::i#2] = zr [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a 
Statement [109] pps[anim::i#2] = pp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a 
Statement [110] xps[anim::i#2] = xp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a 
Statement [111] yps[anim::i#2] = yp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a 
Statement [112] anim::i2#0 = anim::i#2 << 1 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 anim::i2#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 anim::i2#0 ] { }  ) always clobbers reg byte a 
Statement [121] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [123] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [125] sy#2 = sy#11 - 3 [ pp xp yp psp1 psp2 sx#2 sy#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#2 sy#2 ] { }  ) always clobbers reg byte a 
Statement [131] if(0!=*print_str_at::str#13) goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:10::debug_print_init:16::print_str_at:30 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:32 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:34 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:36 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:38 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:40 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:42 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:44 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:46 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:48 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:50 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:52 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [133] *print_str_at::at#13 = *print_str_at::str#13 [ print_str_at::str#13 print_str_at::at#13 ] ( main:10::debug_print_init:16::print_str_at:30 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:32 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:34 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:36 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:38 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:40 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:42 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:44 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:46 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:48 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:50 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:52 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [138] print_char_at::at#1 = print_schar_at::at#21 [ print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ]
Removing always clobbered register reg byte a as potential for zp[1]:16 [ debug_print::c#2 debug_print::c#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:17 [ debug_print::i#2 debug_print::i#1 ]
Statement [141] print_uchar_at::at#0 = print_schar_at::at#21 + 1 [ print_schar_at::b#24 print_uchar_at::at#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [145] print_char_at::at#0 = print_schar_at::at#21 [ print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  ) always clobbers reg byte a 
Statement [147] print_schar_at::b#0 = - print_schar_at::b#22 [ print_schar_at::at#21 print_schar_at::b#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [152] calculate_matrix::t5#0 = calculate_matrix::sx#0 + calculate_matrix::t2#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:52 [ calculate_matrix::sx#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:53 [ calculate_matrix::sy#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:65 [ calculate_matrix::t1#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:66 [ calculate_matrix::t2#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:67 [ calculate_matrix::t3#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:68 [ calculate_matrix::t4#0 ]
Statement [153] calculate_matrix::t6#0 = calculate_matrix::sx#0 - calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:69 [ calculate_matrix::t5#0 ]
Statement [154] calculate_matrix::t7#0 = calculate_matrix::sx#0 + calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:70 [ calculate_matrix::t6#0 ]
Statement [155] calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:71 [ calculate_matrix::t7#0 ]
Statement [156] calculate_matrix::t9#0 = calculate_matrix::sy#0 - calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:72 [ calculate_matrix::t8#0 ]
Statement [157] calculate_matrix::t10#0 = calculate_matrix::sy#0 + calculate_matrix::sx#0 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:73 [ calculate_matrix::t9#0 ]
Statement [158] calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0] [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:74 [ calculate_matrix::t10#0 ]
Statement [160] calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0] [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [162] calculate_matrix::$12 = SINH[calculate_matrix::sy#0] + SINH[calculate_matrix::sy#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [164] calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [165] calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [166] calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [167] calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [168] calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [170] calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [171] calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [172] calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [173] calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [174] calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [176] calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [178] calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [179] calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [180] calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [181] calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [182] calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [184] calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0] [ calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [185] calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0] [ calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [186] calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0] [ calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [187] calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0] [ calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [188] calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0] [ calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [190] calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0] [ calculate_matrix::$34 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::$34 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  } always clobbers reg byte a 
Statement asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  } always clobbers reg byte a reg byte x reg byte y 
Removing always clobbered register reg byte x as potential for zp[1]:6 [ sx#11 sx#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:6 [ sx#11 sx#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:7 [ sy#11 sy#2 ]
Removing always clobbered register reg byte y as potential for zp[1]:7 [ sy#11 sy#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:8 [ anim::i#2 anim::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:8 [ anim::i#2 anim::i#1 ]
Statement [236] print_schar_at::at#15 = debug_print::at_line#0 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [239] print_schar_at::at#16 = debug_print::at_line#0+$28*1 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [242] print_schar_at::at#17 = debug_print::at_line#0+$28*2 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [245] print_schar_at::at#18 = debug_print::at_line#0+$28*3 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [248] print_schar_at::at#19 = debug_print::at_line#0+$28*4 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [251] print_schar_at::at#20 = debug_print::at_line#0+$28*5 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [254] debug_print::c#1 = debug_print::c#2 + 4 [ sx#11 sy#11 debug_print::i#2 debug_print::c#1 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::i#2 debug_print::c#1 ] { }  ) always clobbers reg byte a 
Statement [260] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( main:10::debug_print_init:16::print_cls:28::memset:127 [ pp xp yp psp1 psp2 memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [262] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( main:10::debug_print_init:16::print_cls:28::memset:127 [ pp xp yp psp1 psp2 memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [265] *print_char_at::at#4 = print_char_at::ch#4 [ ] ( main:10::debug_print_init:16::print_schar_at:56::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  main:10::debug_print_init:16::print_schar_at:56::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ]
Removing always clobbered register reg byte y as potential for zp[1]:16 [ debug_print::c#2 debug_print::c#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:17 [ debug_print::i#2 debug_print::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:64 [ print_uchar_at::b#0 ]
Statement [267] print_uchar_at::$0 = print_uchar_at::b#0 >> 4 [ print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:64 [ print_uchar_at::b#0 ]
Statement [269] print_char_at::at#2 = print_uchar_at::at#0 [ print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:20 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ]
Statement [271] print_uchar_at::$2 = print_uchar_at::b#0 & $f [ print_uchar_at::at#0 print_uchar_at::$2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a 
Statement [272] print_char_at::at#3 = print_uchar_at::at#0 + 1 [ print_char_at::at#3 print_uchar_at::$2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:112 [ print_uchar_at::$2 ]
Statement [1] xr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [2] yr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [3] zr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [4] pp = 0 [ pp ] (  [ pp ] { }  ) always clobbers reg byte a 
Statement [5] xp = 0 [ pp xp ] (  [ pp xp ] { }  ) always clobbers reg byte a 
Statement [6] yp = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [7] psp1 = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [8] psp2 = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [14] psp1 = (unsigned int)mulf_sqr1 [ pp xp yp psp1 ] ( main:10 [ pp xp yp psp1 ] { }  ) always clobbers reg byte a 
Statement [15] psp2 = (unsigned int)mulf_sqr2 [ pp xp yp psp1 psp2 ] ( main:10 [ pp xp yp psp1 psp2 ] { }  ) always clobbers reg byte a 
Statement [20] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff [ ] ( main:10::sprites_init:13 [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [22] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)SPRITE/$40 [ sprites_init::i#2 ] ( main:10::sprites_init:13 [ pp xp yp sprites_init::i#2 ] { }  ) always clobbers reg byte a 
Statement [23] SPRITES_COLOR[sprites_init::i#2] = GREEN [ sprites_init::i#2 ] ( main:10::sprites_init:13 [ pp xp yp sprites_init::i#2 ] { }  ) always clobbers reg byte a 
Statement [54] print_schar_at::at#0 = debug_print_init::at_line#0 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [57] print_schar_at::at#1 = debug_print_init::at_line#0+$28*1 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [60] print_schar_at::at#2 = debug_print_init::at_line#0+$28*2 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [64] debug_print_init::col#0 = 8 + debug_print_init::i#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [65] debug_print_init::$41 = debug_print_init::at_cols#0 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$41 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$41 ] { }  ) always clobbers reg byte a 
Statement [66] debug_print_init::$41[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [67] debug_print_init::$44 = debug_print_init::at_cols#0+$28*1 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$44 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$44 ] { }  ) always clobbers reg byte a 
Statement [68] debug_print_init::$44[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [69] debug_print_init::$47 = debug_print_init::at_cols#0+$28*2 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$47 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$47 ] { }  ) always clobbers reg byte a 
Statement [70] debug_print_init::$47[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [71] debug_print_init::$50 = debug_print_init::at_cols#0+$28*3 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$50 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$50 ] { }  ) always clobbers reg byte a 
Statement [72] debug_print_init::$50[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [73] debug_print_init::$53 = debug_print_init::at_cols#0+$28*4 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$53 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$53 ] { }  ) always clobbers reg byte a 
Statement [74] debug_print_init::$53[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [75] debug_print_init::$56 = debug_print_init::at_cols#0+$28*5 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$56 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$56 ] { }  ) always clobbers reg byte a 
Statement [76] debug_print_init::$56[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [77] debug_print_init::$59 = debug_print_init::at_cols#0+$28*6 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] { }  ) always clobbers reg byte a 
Statement [78] debug_print_init::$59[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [79] debug_print_init::$62 = debug_print_init::at_cols#0+(unsigned int)$28*7 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$62 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$62 ] { }  ) always clobbers reg byte a 
Statement [80] debug_print_init::$62[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [81] debug_print_init::$65 = debug_print_init::at_cols#0+(unsigned int)$28*8 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$65 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$65 ] { }  ) always clobbers reg byte a 
Statement [82] debug_print_init::$65[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] { }  ) always clobbers reg byte a 
Statement [85] debug_print_init::c#1 = debug_print_init::c#2 + 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::i#2 debug_print_init::c#1 ] { }  ) always clobbers reg byte a reg byte x 
Removing always clobbered register reg byte x as potential for zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ]
Statement [87] if(debug_print_init::i#1!=8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#1 debug_print_init::i#1 ] { }  ) always clobbers reg byte a 
Statement [91] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [92] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [93] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [102] rotate_matrix::x#0 = xs[anim::i#2] [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 ] { }  ) always clobbers reg byte y 
Statement [103] rotate_matrix::y#0 = ys[anim::i#2] [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] { }  ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:54 [ rotate_matrix::x#0 ]
Statement [104] rotate_matrix::z#0 = zs[anim::i#2] [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] { }  ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:55 [ rotate_matrix::y#0 ]
Statement [106] xrs[anim::i#2] = xr [ yr zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ yr zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [107] yrs[anim::i#2] = yr [ zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [108] zrs[anim::i#2] = zr [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [109] pps[anim::i#2] = pp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [110] xps[anim::i#2] = xp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [111] yps[anim::i#2] = yp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [112] anim::i2#0 = anim::i#2 << 1 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 anim::i2#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 anim::i2#0 ] { }  ) always clobbers reg byte a 
Statement [120] if(anim::i#1!=8) goto anim::@6 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#1 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#1 ] { }  ) always clobbers reg byte a 
Statement [121] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [123] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [125] sy#2 = sy#11 - 3 [ pp xp yp psp1 psp2 sx#2 sy#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#2 sy#2 ] { }  ) always clobbers reg byte a reg byte x 
Statement [131] if(0!=*print_str_at::str#13) goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:10::debug_print_init:16::print_str_at:30 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:32 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:34 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:36 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:38 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:40 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:42 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:44 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:46 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:48 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:50 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:52 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [133] *print_str_at::at#13 = *print_str_at::str#13 [ print_str_at::str#13 print_str_at::at#13 ] ( main:10::debug_print_init:16::print_str_at:30 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:32 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:34 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:36 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:38 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:40 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:42 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:44 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:46 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:48 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:50 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:52 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [138] print_char_at::at#1 = print_schar_at::at#21 [ print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  ) always clobbers reg byte a 
Statement [141] print_uchar_at::at#0 = print_schar_at::at#21 + 1 [ print_schar_at::b#24 print_uchar_at::at#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [145] print_char_at::at#0 = print_schar_at::at#21 [ print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  ) always clobbers reg byte a 
Statement [147] print_schar_at::b#0 = - print_schar_at::b#22 [ print_schar_at::at#21 print_schar_at::b#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [152] calculate_matrix::t5#0 = calculate_matrix::sx#0 + calculate_matrix::t2#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [153] calculate_matrix::t6#0 = calculate_matrix::sx#0 - calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [154] calculate_matrix::t7#0 = calculate_matrix::sx#0 + calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [155] calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [156] calculate_matrix::t9#0 = calculate_matrix::sy#0 - calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [157] calculate_matrix::t10#0 = calculate_matrix::sy#0 + calculate_matrix::sx#0 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [158] calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0] [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [160] calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0] [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [162] calculate_matrix::$12 = SINH[calculate_matrix::sy#0] + SINH[calculate_matrix::sy#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [164] calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [165] calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [166] calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [167] calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [168] calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [170] calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [171] calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [172] calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [173] calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [174] calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [176] calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [178] calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [179] calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [180] calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [181] calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [182] calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [184] calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0] [ calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [185] calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0] [ calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [186] calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0] [ calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [187] calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0] [ calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [188] calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0] [ calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [190] calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0] [ calculate_matrix::$34 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::$34 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  } always clobbers reg byte a 
Statement asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  } always clobbers reg byte a reg byte x reg byte y 
Statement [236] print_schar_at::at#15 = debug_print::at_line#0 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [239] print_schar_at::at#16 = debug_print::at_line#0+$28*1 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [242] print_schar_at::at#17 = debug_print::at_line#0+$28*2 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [245] print_schar_at::at#18 = debug_print::at_line#0+$28*3 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [248] print_schar_at::at#19 = debug_print::at_line#0+$28*4 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [251] print_schar_at::at#20 = debug_print::at_line#0+$28*5 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [254] debug_print::c#1 = debug_print::c#2 + 4 [ sx#11 sy#11 debug_print::i#2 debug_print::c#1 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::i#2 debug_print::c#1 ] { }  ) always clobbers reg byte a reg byte x 
Removing always clobbered register reg byte x as potential for zp[1]:17 [ debug_print::i#2 debug_print::i#1 ]
Statement [256] if(debug_print::i#1!=8) goto debug_print::@1 [ sx#11 sy#11 debug_print::c#1 debug_print::i#1 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#1 debug_print::i#1 ] { }  ) always clobbers reg byte a 
Statement [260] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( main:10::debug_print_init:16::print_cls:28::memset:127 [ pp xp yp psp1 psp2 memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [262] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( main:10::debug_print_init:16::print_cls:28::memset:127 [ pp xp yp psp1 psp2 memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [265] *print_char_at::at#4 = print_char_at::ch#4 [ ] ( main:10::debug_print_init:16::print_schar_at:56::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  main:10::debug_print_init:16::print_schar_at:56::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a reg byte y 
Statement [267] print_uchar_at::$0 = print_uchar_at::b#0 >> 4 [ print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  ) always clobbers reg byte a 
Statement [269] print_char_at::at#2 = print_uchar_at::at#0 [ print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  ) always clobbers reg byte a 
Statement [271] print_uchar_at::$2 = print_uchar_at::b#0 & $f [ print_uchar_at::at#0 print_uchar_at::$2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a 
Statement [272] print_char_at::at#3 = print_uchar_at::at#0 + 1 [ print_char_at::at#3 print_uchar_at::$2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a 
Statement [1] xr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [2] yr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [3] zr = 0 [ ] (  [ ] { }  ) always clobbers reg byte a 
Statement [4] pp = 0 [ pp ] (  [ pp ] { }  ) always clobbers reg byte a 
Statement [5] xp = 0 [ pp xp ] (  [ pp xp ] { }  ) always clobbers reg byte a 
Statement [6] yp = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [7] psp1 = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [8] psp2 = 0 [ pp xp yp ] (  [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [14] psp1 = (unsigned int)mulf_sqr1 [ pp xp yp psp1 ] ( main:10 [ pp xp yp psp1 ] { }  ) always clobbers reg byte a 
Statement [15] psp2 = (unsigned int)mulf_sqr2 [ pp xp yp psp1 psp2 ] ( main:10 [ pp xp yp psp1 psp2 ] { }  ) always clobbers reg byte a 
Statement [20] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff [ ] ( main:10::sprites_init:13 [ pp xp yp ] { }  ) always clobbers reg byte a 
Statement [22] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)SPRITE/$40 [ sprites_init::i#2 ] ( main:10::sprites_init:13 [ pp xp yp sprites_init::i#2 ] { }  ) always clobbers reg byte a 
Statement [23] SPRITES_COLOR[sprites_init::i#2] = GREEN [ sprites_init::i#2 ] ( main:10::sprites_init:13 [ pp xp yp sprites_init::i#2 ] { }  ) always clobbers reg byte a 
Statement [54] print_schar_at::at#0 = debug_print_init::at_line#0 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [55] print_schar_at::b#1 = xs[debug_print_init::i#2] [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 print_schar_at::b#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#0 print_schar_at::b#1 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [57] print_schar_at::at#1 = debug_print_init::at_line#0+$28*1 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [58] print_schar_at::b#2 = ys[debug_print_init::i#2] [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 print_schar_at::b#2 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#1 print_schar_at::b#2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [60] print_schar_at::at#2 = debug_print_init::at_line#0+$28*2 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [61] print_schar_at::b#3 = zs[debug_print_init::i#2] [ debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 print_schar_at::b#3 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#2 print_schar_at::b#3 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [64] debug_print_init::col#0 = 8 + debug_print_init::i#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [65] debug_print_init::$41 = debug_print_init::at_cols#0 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$41 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$41 ] { }  ) always clobbers reg byte a 
Statement [66] debug_print_init::$41[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [67] debug_print_init::$44 = debug_print_init::at_cols#0+$28*1 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$44 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$44 ] { }  ) always clobbers reg byte a 
Statement [68] debug_print_init::$44[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [69] debug_print_init::$47 = debug_print_init::at_cols#0+$28*2 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$47 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$47 ] { }  ) always clobbers reg byte a 
Statement [70] debug_print_init::$47[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [71] debug_print_init::$50 = debug_print_init::at_cols#0+$28*3 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$50 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$50 ] { }  ) always clobbers reg byte a 
Statement [72] debug_print_init::$50[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [73] debug_print_init::$53 = debug_print_init::at_cols#0+$28*4 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$53 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$53 ] { }  ) always clobbers reg byte a 
Statement [74] debug_print_init::$53[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [75] debug_print_init::$56 = debug_print_init::at_cols#0+$28*5 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$56 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$56 ] { }  ) always clobbers reg byte a 
Statement [76] debug_print_init::$56[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [77] debug_print_init::$59 = debug_print_init::at_cols#0+$28*6 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$59 ] { }  ) always clobbers reg byte a 
Statement [78] debug_print_init::$59[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [79] debug_print_init::$62 = debug_print_init::at_cols#0+(unsigned int)$28*7 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$62 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$62 ] { }  ) always clobbers reg byte a 
Statement [80] debug_print_init::$62[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 ] { }  ) always clobbers reg byte a 
Statement [81] debug_print_init::$65 = debug_print_init::at_cols#0+(unsigned int)$28*8 + debug_print_init::c#2 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$65 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 debug_print_init::col#0 debug_print_init::$65 ] { }  ) always clobbers reg byte a 
Statement [82] debug_print_init::$65[debug_print_init::j#2] = debug_print_init::col#0 [ debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 debug_print_init::j#2 ] { }  ) always clobbers reg byte a 
Statement [85] debug_print_init::c#1 = debug_print_init::c#2 + 4 [ debug_print_init::i#2 debug_print_init::c#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::i#2 debug_print_init::c#1 ] { }  ) always clobbers reg byte a reg byte x 
Statement [87] if(debug_print_init::i#1!=8) goto debug_print_init::@1 [ debug_print_init::c#1 debug_print_init::i#1 ] ( main:10::debug_print_init:16 [ pp xp yp psp1 psp2 debug_print_init::c#1 debug_print_init::i#1 ] { }  ) always clobbers reg byte a 
Statement [91] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [92] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [93] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4 [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [102] rotate_matrix::x#0 = xs[anim::i#2] [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 ] { }  ) always clobbers reg byte y 
Statement [103] rotate_matrix::y#0 = ys[anim::i#2] [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] { }  ) always clobbers reg byte y 
Statement [104] rotate_matrix::z#0 = zs[anim::i#2] [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] { }  ) always clobbers reg byte y 
Statement [106] xrs[anim::i#2] = xr [ yr zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ yr zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [107] yrs[anim::i#2] = yr [ zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ zr pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [108] zrs[anim::i#2] = zr [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [109] pps[anim::i#2] = pp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [110] xps[anim::i#2] = xp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [111] yps[anim::i#2] = yp [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [112] anim::i2#0 = anim::i#2 << 1 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 anim::i2#0 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#2 anim::i2#0 ] { }  ) always clobbers reg byte a 
Statement [120] if(anim::i#1!=8) goto anim::@6 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#1 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 anim::i#1 ] { }  ) always clobbers reg byte a 
Statement [121] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [123] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE [ pp xp yp psp1 psp2 sx#11 sy#11 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { }  ) always clobbers reg byte a 
Statement [125] sy#2 = sy#11 - 3 [ pp xp yp psp1 psp2 sx#2 sy#2 ] ( main:10::anim:18 [ pp xp yp psp1 psp2 sx#2 sy#2 ] { }  ) always clobbers reg byte a reg byte x 
Statement [131] if(0!=*print_str_at::str#13) goto print_str_at::@2 [ print_str_at::str#13 print_str_at::at#13 ] ( main:10::debug_print_init:16::print_str_at:30 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:32 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:34 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:36 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:38 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:40 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:42 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:44 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:46 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:48 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:50 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:52 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [133] *print_str_at::at#13 = *print_str_at::str#13 [ print_str_at::str#13 print_str_at::at#13 ] ( main:10::debug_print_init:16::print_str_at:30 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:32 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:34 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:36 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:38 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:40 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:42 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:44 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:46 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:48 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:50 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  main:10::debug_print_init:16::print_str_at:52 [ pp xp yp psp1 psp2 print_str_at::str#13 print_str_at::at#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [138] print_char_at::at#1 = print_schar_at::at#21 [ print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#1 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  ) always clobbers reg byte a 
Statement [141] print_uchar_at::at#0 = print_schar_at::at#21 + 1 [ print_schar_at::b#24 print_uchar_at::at#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#24 print_uchar_at::at#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [145] print_char_at::at#0 = print_schar_at::at#21 [ print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 print_char_at::at#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  ) always clobbers reg byte a 
Statement [147] print_schar_at::b#0 = - print_schar_at::b#22 [ print_schar_at::at#21 print_schar_at::b#0 ] ( main:10::debug_print_init:16::print_schar_at:56 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:59 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } }  main:10::debug_print_init:16::print_schar_at:62 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:202 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { }  main:10::anim:18::debug_print:122::print_schar_at:210 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:241 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:244 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:247 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:250 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:253 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::at#21 print_schar_at::b#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [152] calculate_matrix::t5#0 = calculate_matrix::sx#0 + calculate_matrix::t2#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [153] calculate_matrix::t6#0 = calculate_matrix::sx#0 - calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [154] calculate_matrix::t7#0 = calculate_matrix::sx#0 + calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [155] calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [156] calculate_matrix::t9#0 = calculate_matrix::sy#0 - calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [157] calculate_matrix::t10#0 = calculate_matrix::sy#0 + calculate_matrix::sx#0 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [158] calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0] [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [160] calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0] [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [162] calculate_matrix::$12 = SINH[calculate_matrix::sy#0] + SINH[calculate_matrix::sy#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [164] calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [165] calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [166] calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [167] calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [168] calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [170] calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [171] calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [172] calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [173] calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [174] calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [176] calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [178] calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [179] calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [180] calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [181] calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [182] calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0] [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [184] calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0] [ calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [185] calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0] [ calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [186] calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0] [ calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [187] calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0] [ calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [188] calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0] [ calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement [190] calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0] [ calculate_matrix::$34 ] ( main:10::anim:18::calculate_matrix:97 [ pp xp yp psp1 psp2 sx#11 sy#11 calculate_matrix::$34 ] { { sx#11 = calculate_matrix::sx#0 } { sy#11 = calculate_matrix::sy#0 } }  ) always clobbers reg byte a 
Statement asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  } always clobbers reg byte a 
Statement asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  } always clobbers reg byte a reg byte x reg byte y 
Statement [236] print_schar_at::at#15 = debug_print::at_line#0 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [237] print_schar_at::b#16 = xrs[debug_print::i#2] [ sx#11 sy#11 print_schar_at::b#16 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#16 print_schar_at::at#15 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [239] print_schar_at::at#16 = debug_print::at_line#0+$28*1 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [240] print_schar_at::b#17 = yrs[debug_print::i#2] [ sx#11 sy#11 print_schar_at::b#17 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#17 print_schar_at::at#16 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [242] print_schar_at::at#17 = debug_print::at_line#0+$28*2 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [243] print_schar_at::b#18 = zrs[debug_print::i#2] [ sx#11 sy#11 print_schar_at::b#18 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#18 print_schar_at::at#17 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [245] print_schar_at::at#18 = debug_print::at_line#0+$28*3 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [246] print_schar_at::b#19 = pps[debug_print::i#2] [ sx#11 sy#11 print_schar_at::b#19 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#19 print_schar_at::at#18 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [248] print_schar_at::at#19 = debug_print::at_line#0+$28*4 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [249] print_schar_at::b#20 = xps[debug_print::i#2] [ sx#11 sy#11 print_schar_at::b#20 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#20 print_schar_at::at#19 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [251] print_schar_at::at#20 = debug_print::at_line#0+$28*5 + debug_print::c#2 [ sx#11 sy#11 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte a 
Statement [252] print_schar_at::b#21 = yps[debug_print::i#2] [ sx#11 sy#11 print_schar_at::b#21 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#21 print_schar_at::at#20 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } }  ) always clobbers reg byte y 
Statement [254] debug_print::c#1 = debug_print::c#2 + 4 [ sx#11 sy#11 debug_print::i#2 debug_print::c#1 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::i#2 debug_print::c#1 ] { }  ) always clobbers reg byte a reg byte x 
Statement [256] if(debug_print::i#1!=8) goto debug_print::@1 [ sx#11 sy#11 debug_print::c#1 debug_print::i#1 ] ( main:10::anim:18::debug_print:122 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#1 debug_print::i#1 ] { }  ) always clobbers reg byte a 
Statement [260] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( main:10::debug_print_init:16::print_cls:28::memset:127 [ pp xp yp psp1 psp2 memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [262] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( main:10::debug_print_init:16::print_cls:28::memset:127 [ pp xp yp psp1 psp2 memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [265] *print_char_at::at#4 = print_char_at::ch#4 [ ] ( main:10::debug_print_init:16::print_schar_at:56::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62::print_char_at:139 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_char_at:139 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#1 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  main:10::debug_print_init:16::print_schar_at:56::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#1 } }  main:10::debug_print_init:16::print_schar_at:62::print_char_at:146 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#2 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#15 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#16 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#17 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#18 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#19 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_char_at:146 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_schar_at::b#22 print_schar_at::at#21 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_char_at::at#0 = print_char_at::at#4 print_schar_at::at#21 print_schar_at::at#20 } }  main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143::print_char_at:270 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143::print_char_at:274 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a reg byte y 
Statement [267] print_uchar_at::$0 = print_uchar_at::b#0 >> 4 [ print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_uchar_at::$0 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  ) always clobbers reg byte a 
Statement [269] print_char_at::at#2 = print_uchar_at::at#0 [ print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::b#0 print_char_at::ch#2 print_char_at::at#2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#2 = print_char_at::ch#4 } { print_char_at::at#2 = print_char_at::at#4 print_uchar_at::at#0 } }  ) always clobbers reg byte a 
Statement [271] print_uchar_at::$2 = print_uchar_at::b#0 & $f [ print_uchar_at::at#0 print_uchar_at::$2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_uchar_at::at#0 print_uchar_at::$2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a 
Statement [272] print_char_at::at#3 = print_uchar_at::at#0 + 1 [ print_char_at::at#3 print_uchar_at::$2 ] ( main:10::debug_print_init:16::print_schar_at:56::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#1 = print_schar_at::b#22 } { print_schar_at::at#0 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:59::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#2 = print_schar_at::b#22 } { print_schar_at::at#1 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::debug_print_init:16::print_schar_at:62::print_uchar_at:143 [ pp xp yp psp1 psp2 debug_print_init::c#2 debug_print_init::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#3 } { print_schar_at::at#2 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:202::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#4 debug_print::print_schar_pos1_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:205::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#5 debug_print::print_schar_pos2_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:207::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:210::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#7 debug_print::print_schar_pos4_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:213::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#8 debug_print::print_schar_pos5_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:216::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#22 = print_schar_at::b#9 debug_print::print_schar_pos6_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:219::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#10 = print_schar_at::b#22 debug_print::print_schar_pos7_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:222::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#11 = print_schar_at::b#22 debug_print::print_schar_pos8_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:225::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#12 = print_schar_at::b#22 debug_print::print_schar_pos9_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:228::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#13 = print_schar_at::b#22 debug_print::print_schar_pos10_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:231::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#14 = print_schar_at::b#22 debug_print::print_schar_pos11_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:234::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#15 = print_schar_at::b#22 debug_print::print_schar_pos12_sb#0 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:238::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#16 = print_schar_at::b#22 } { print_schar_at::at#15 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:241::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#17 = print_schar_at::b#22 } { print_schar_at::at#16 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:244::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#18 = print_schar_at::b#22 } { print_schar_at::at#17 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:247::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#19 = print_schar_at::b#22 } { print_schar_at::at#18 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:250::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#20 = print_schar_at::b#22 } { print_schar_at::at#19 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  main:10::anim:18::debug_print:122::print_schar_at:253::print_uchar_at:143 [ pp xp yp psp1 psp2 sx#11 sy#11 debug_print::c#2 debug_print::i#2 print_char_at::at#3 print_uchar_at::$2 ] { { print_schar_at::b#21 = print_schar_at::b#22 } { print_schar_at::at#20 = print_schar_at::at#21 } { print_char_at::ch#3 = print_char_at::ch#4 } { print_char_at::at#3 = print_char_at::at#4 } }  ) always clobbers reg byte a 
Potential registers zp[1]:2 [ sprites_init::i#2 sprites_init::i#1 ] : zp[1]:2 , reg byte x , reg byte y , 
Potential registers zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ] : zp[1]:3 , reg byte x , 
Potential registers zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ] : zp[1]:4 , 
Potential registers zp[1]:5 [ debug_print_init::j#2 debug_print_init::j#1 ] : zp[1]:5 , reg byte x , reg byte y , 
Potential registers zp[1]:6 [ sx#11 sx#2 ] : zp[1]:6 , 
Potential registers zp[1]:7 [ sy#11 sy#2 ] : zp[1]:7 , 
Potential registers zp[1]:8 [ anim::i#2 anim::i#1 ] : zp[1]:8 , 
Potential registers zp[2]:9 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] : zp[2]:9 , 
Potential registers zp[2]:11 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] : zp[2]:11 , 
Potential registers zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 ] : zp[2]:13 , 
Potential registers zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ] : zp[1]:15 , reg byte x , 
Potential registers zp[1]:16 [ debug_print::c#2 debug_print::c#1 ] : zp[1]:16 , reg byte x , 
Potential registers zp[1]:17 [ debug_print::i#2 debug_print::i#1 ] : zp[1]:17 , 
Potential registers zp[2]:18 [ memset::dst#2 memset::dst#1 ] : zp[2]:18 , 
Potential registers zp[1]:20 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] : zp[1]:20 , reg byte x , reg byte y , 
Potential registers zp[2]:21 [ print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ] : zp[2]:21 , 
Potential registers zp[1]:23 [ xr ] : zp[1]:23 , 
Potential registers zp[1]:24 [ yr ] : zp[1]:24 , 
Potential registers zp[1]:25 [ zr ] : zp[1]:25 , 
Potential registers zp[1]:26 [ pp ] : zp[1]:26 , 
Potential registers zp[1]:27 [ xp ] : zp[1]:27 , 
Potential registers zp[1]:28 [ yp ] : zp[1]:28 , 
Potential registers zp[2]:29 [ psp1 ] : zp[2]:29 , 
Potential registers zp[2]:31 [ psp2 ] : zp[2]:31 , 
Potential registers zp[1]:33 [ debug_print_init::col#0 ] : zp[1]:33 , reg byte x , reg byte y , 
Potential registers zp[2]:34 [ debug_print_init::$41 ] : zp[2]:34 , 
Potential registers zp[2]:36 [ debug_print_init::$44 ] : zp[2]:36 , 
Potential registers zp[2]:38 [ debug_print_init::$47 ] : zp[2]:38 , 
Potential registers zp[2]:40 [ debug_print_init::$50 ] : zp[2]:40 , 
Potential registers zp[2]:42 [ debug_print_init::$53 ] : zp[2]:42 , 
Potential registers zp[2]:44 [ debug_print_init::$56 ] : zp[2]:44 , 
Potential registers zp[2]:46 [ debug_print_init::$59 ] : zp[2]:46 , 
Potential registers zp[2]:48 [ debug_print_init::$62 ] : zp[2]:48 , 
Potential registers zp[2]:50 [ debug_print_init::$65 ] : zp[2]:50 , 
Potential registers zp[1]:52 [ calculate_matrix::sx#0 ] : zp[1]:52 , reg byte x , reg byte y , 
Potential registers zp[1]:53 [ calculate_matrix::sy#0 ] : zp[1]:53 , reg byte x , reg byte y , 
Potential registers zp[1]:54 [ rotate_matrix::x#0 ] : zp[1]:54 , reg byte a , reg byte x , 
Potential registers zp[1]:55 [ rotate_matrix::y#0 ] : zp[1]:55 , reg byte a , reg byte x , 
Potential registers zp[1]:56 [ rotate_matrix::z#0 ] : zp[1]:56 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:57 [ anim::i2#0 ] : zp[1]:57 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:58 [ anim::$13 ] : zp[1]:58 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:59 [ anim::$9 ] : zp[1]:59 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:60 [ anim::$14 ] : zp[1]:60 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:61 [ anim::$10 ] : zp[1]:61 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:62 [ print_uchar_at::at#0 ] : zp[2]:62 , 
Potential registers zp[1]:64 [ print_uchar_at::b#0 ] : zp[1]:64 , reg byte x , 
Potential registers zp[1]:65 [ calculate_matrix::t1#0 ] : zp[1]:65 , reg byte x , reg byte y , 
Potential registers zp[1]:66 [ calculate_matrix::t2#0 ] : zp[1]:66 , reg byte x , reg byte y , 
Potential registers zp[1]:67 [ calculate_matrix::t3#0 ] : zp[1]:67 , reg byte x , reg byte y , 
Potential registers zp[1]:68 [ calculate_matrix::t4#0 ] : zp[1]:68 , reg byte x , reg byte y , 
Potential registers zp[1]:69 [ calculate_matrix::t5#0 ] : zp[1]:69 , reg byte x , reg byte y , 
Potential registers zp[1]:70 [ calculate_matrix::t6#0 ] : zp[1]:70 , reg byte x , reg byte y , 
Potential registers zp[1]:71 [ calculate_matrix::t7#0 ] : zp[1]:71 , reg byte x , reg byte y , 
Potential registers zp[1]:72 [ calculate_matrix::t8#0 ] : zp[1]:72 , reg byte x , reg byte y , 
Potential registers zp[1]:73 [ calculate_matrix::t9#0 ] : zp[1]:73 , reg byte x , reg byte y , 
Potential registers zp[1]:74 [ calculate_matrix::t10#0 ] : zp[1]:74 , reg byte x , reg byte y , 
Potential registers zp[1]:75 [ calculate_matrix::$10 ] : zp[1]:75 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:76 [ calculate_matrix::$11 ] : zp[1]:76 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:77 [ calculate_matrix::$12 ] : zp[1]:77 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:78 [ calculate_matrix::$13 ] : zp[1]:78 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:79 [ calculate_matrix::$14 ] : zp[1]:79 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:80 [ calculate_matrix::$15 ] : zp[1]:80 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:81 [ calculate_matrix::$16 ] : zp[1]:81 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:82 [ calculate_matrix::$17 ] : zp[1]:82 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:83 [ calculate_matrix::$18 ] : zp[1]:83 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:84 [ calculate_matrix::$19 ] : zp[1]:84 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:85 [ calculate_matrix::$20 ] : zp[1]:85 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:86 [ calculate_matrix::$21 ] : zp[1]:86 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:87 [ calculate_matrix::$22 ] : zp[1]:87 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:88 [ calculate_matrix::$23 ] : zp[1]:88 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:89 [ calculate_matrix::$24 ] : zp[1]:89 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:90 [ calculate_matrix::$25 ] : zp[1]:90 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:91 [ calculate_matrix::$26 ] : zp[1]:91 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:92 [ calculate_matrix::$27 ] : zp[1]:92 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:93 [ calculate_matrix::$28 ] : zp[1]:93 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:94 [ calculate_matrix::$29 ] : zp[1]:94 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:95 [ calculate_matrix::$30 ] : zp[1]:95 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:96 [ calculate_matrix::$31 ] : zp[1]:96 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:97 [ calculate_matrix::$32 ] : zp[1]:97 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:98 [ calculate_matrix::$33 ] : zp[1]:98 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:99 [ calculate_matrix::$34 ] : zp[1]:99 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:100 [ debug_print::print_schar_pos1_sb#0 ] : zp[1]:100 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:101 [ debug_print::print_schar_pos2_sb#0 ] : zp[1]:101 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:102 [ debug_print::print_schar_pos4_sb#0 ] : zp[1]:102 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:103 [ debug_print::print_schar_pos5_sb#0 ] : zp[1]:103 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:104 [ debug_print::print_schar_pos6_sb#0 ] : zp[1]:104 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:105 [ debug_print::print_schar_pos7_sb#0 ] : zp[1]:105 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:106 [ debug_print::print_schar_pos8_sb#0 ] : zp[1]:106 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:107 [ debug_print::print_schar_pos9_sb#0 ] : zp[1]:107 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:108 [ debug_print::print_schar_pos10_sb#0 ] : zp[1]:108 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:109 [ debug_print::print_schar_pos11_sb#0 ] : zp[1]:109 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:110 [ debug_print::print_schar_pos12_sb#0 ] : zp[1]:110 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:111 [ print_uchar_at::$0 ] : zp[1]:111 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:112 [ print_uchar_at::$2 ] : zp[1]:112 , reg byte x , reg byte y , 

REGISTER UPLIFT SCOPES
Uplift Scope [print_char_at] 1,560,000,012: zp[2]:21 [ print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ] 1,500,000,006: zp[1]:20 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] 
Uplift Scope [print_uchar_at] 200,000,002: zp[1]:111 [ print_uchar_at::$0 ] 100,000,001: zp[1]:112 [ print_uchar_at::$2 ] 42,000,000.6: zp[1]:64 [ print_uchar_at::b#0 ] 30,000,000.43: zp[2]:62 [ print_uchar_at::at#0 ] 
Uplift Scope [print_schar_at] 48,244,880.17: zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ] 10,503,385.5: zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 ] 
Uplift Scope [debug_print] 1,900,001.9: zp[1]:17 [ debug_print::i#2 debug_print::i#1 ] 1,087,720.39: zp[1]:16 [ debug_print::c#2 debug_print::c#1 ] 20,002: zp[1]:100 [ debug_print::print_schar_pos1_sb#0 ] 20,002: zp[1]:101 [ debug_print::print_schar_pos2_sb#0 ] 20,002: zp[1]:102 [ debug_print::print_schar_pos4_sb#0 ] 20,002: zp[1]:103 [ debug_print::print_schar_pos5_sb#0 ] 20,002: zp[1]:104 [ debug_print::print_schar_pos6_sb#0 ] 20,002: zp[1]:105 [ debug_print::print_schar_pos7_sb#0 ] 20,002: zp[1]:106 [ debug_print::print_schar_pos8_sb#0 ] 20,002: zp[1]:107 [ debug_print::print_schar_pos9_sb#0 ] 20,002: zp[1]:108 [ debug_print::print_schar_pos10_sb#0 ] 20,002: zp[1]:109 [ debug_print::print_schar_pos11_sb#0 ] 20,002: zp[1]:110 [ debug_print::print_schar_pos12_sb#0 ] 
Uplift Scope [calculate_matrix] 20,002: zp[1]:75 [ calculate_matrix::$10 ] 20,002: zp[1]:76 [ calculate_matrix::$11 ] 20,002: zp[1]:77 [ calculate_matrix::$12 ] 20,002: zp[1]:78 [ calculate_matrix::$13 ] 20,002: zp[1]:79 [ calculate_matrix::$14 ] 20,002: zp[1]:80 [ calculate_matrix::$15 ] 20,002: zp[1]:81 [ calculate_matrix::$16 ] 20,002: zp[1]:82 [ calculate_matrix::$17 ] 20,002: zp[1]:83 [ calculate_matrix::$18 ] 20,002: zp[1]:84 [ calculate_matrix::$19 ] 20,002: zp[1]:85 [ calculate_matrix::$20 ] 20,002: zp[1]:86 [ calculate_matrix::$21 ] 20,002: zp[1]:87 [ calculate_matrix::$22 ] 20,002: zp[1]:88 [ calculate_matrix::$23 ] 20,002: zp[1]:89 [ calculate_matrix::$24 ] 20,002: zp[1]:90 [ calculate_matrix::$25 ] 20,002: zp[1]:91 [ calculate_matrix::$26 ] 20,002: zp[1]:92 [ calculate_matrix::$27 ] 20,002: zp[1]:93 [ calculate_matrix::$28 ] 20,002: zp[1]:94 [ calculate_matrix::$29 ] 20,002: zp[1]:95 [ calculate_matrix::$30 ] 20,002: zp[1]:96 [ calculate_matrix::$31 ] 20,002: zp[1]:97 [ calculate_matrix::$32 ] 20,002: zp[1]:98 [ calculate_matrix::$33 ] 20,002: zp[1]:99 [ calculate_matrix::$34 ] 7,364.45: zp[1]:52 [ calculate_matrix::sx#0 ] 4,545.91: zp[1]:66 [ calculate_matrix::t2#0 ] 4,167.08: zp[1]:65 [ calculate_matrix::t1#0 ] 4,067.13: zp[1]:53 [ calculate_matrix::sy#0 ] 1,562.66: zp[1]:70 [ calculate_matrix::t6#0 ] 1,515.3: zp[1]:68 [ calculate_matrix::t4#0 ] 1,515.3: zp[1]:71 [ calculate_matrix::t7#0 ] 1,515.3: zp[1]:72 [ calculate_matrix::t8#0 ] 1,470.74: zp[1]:67 [ calculate_matrix::t3#0 ] 1,470.74: zp[1]:69 [ calculate_matrix::t5#0 ] 909.18: zp[1]:74 [ calculate_matrix::t10#0 ] 882.44: zp[1]:73 [ calculate_matrix::t9#0 ] 
Uplift Scope [memset] 333,336.67: zp[2]:18 [ memset::dst#2 memset::dst#1 ] 
Uplift Scope [debug_print_init] 20,502.05: zp[1]:5 [ debug_print_init::j#2 debug_print_init::j#1 ] 20,002: zp[2]:34 [ debug_print_init::$41 ] 20,002: zp[2]:36 [ debug_print_init::$44 ] 20,002: zp[2]:38 [ debug_print_init::$47 ] 20,002: zp[2]:40 [ debug_print_init::$50 ] 20,002: zp[2]:42 [ debug_print_init::$53 ] 20,002: zp[2]:44 [ debug_print_init::$56 ] 20,002: zp[2]:46 [ debug_print_init::$59 ] 20,002: zp[2]:48 [ debug_print_init::$62 ] 20,002: zp[2]:50 [ debug_print_init::$65 ] 5,556.11: zp[1]:33 [ debug_print_init::col#0 ] 3,636.52: zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ] 1,956.23: zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ] 
Uplift Scope [rotate_matrix] 36,667.33: zp[1]:54 [ rotate_matrix::x#0 ] 36,667.33: zp[1]:55 [ rotate_matrix::y#0 ] 36,667.33: zp[1]:56 [ rotate_matrix::z#0 ] 
Uplift Scope [anim] 21,317.92: zp[1]:8 [ anim::i#2 anim::i#1 ] 20,002: zp[1]:58 [ anim::$13 ] 20,002: zp[1]:59 [ anim::$9 ] 20,002: zp[1]:60 [ anim::$14 ] 20,002: zp[1]:61 [ anim::$10 ] 5,000.5: zp[1]:57 [ anim::i2#0 ] 
Uplift Scope [] 18,334: zp[1]:23 [ xr ] 18,334: zp[1]:24 [ yr ] 18,334: zp[1]:25 [ zr ] 2,141.83: zp[1]:7 [ sy#11 sy#2 ] 1,142.35: zp[1]:6 [ sx#11 sx#2 ] 192.37: zp[1]:28 [ yp ] 188.74: zp[1]:27 [ xp ] 185.24: zp[1]:26 [ pp ] 0.29: zp[2]:31 [ psp2 ] 0.28: zp[2]:29 [ psp1 ] 
Uplift Scope [print_str_at] 31,254.25: zp[2]:9 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] 21,336.67: zp[2]:11 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] 
Uplift Scope [sprites_init] 2,836.17: zp[1]:2 [ sprites_init::i#2 sprites_init::i#1 ] 
Uplift Scope [MOS6526_CIA] 
Uplift Scope [MOS6569_VICII] 
Uplift Scope [MOS6581_SID] 
Uplift Scope [print_cls] 
Uplift Scope [RADIX] 
Uplift Scope [main] 
Uplift Scope [store_matrix] 
Uplift Scope [__start] 

Uplifting [print_char_at] best 79142 combination zp[2]:21 [ print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ] reg byte x [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] 
Uplifting [print_uchar_at] best 79134 combination reg byte a [ print_uchar_at::$0 ] reg byte y [ print_uchar_at::$2 ] zp[1]:64 [ print_uchar_at::b#0 ] zp[2]:62 [ print_uchar_at::at#0 ] 
Uplifting [print_schar_at] best 79134 combination zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ] zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 ] 
Uplifting [debug_print] best 79116 combination zp[1]:17 [ debug_print::i#2 debug_print::i#1 ] zp[1]:16 [ debug_print::c#2 debug_print::c#1 ] reg byte a [ debug_print::print_schar_pos1_sb#0 ] reg byte a [ debug_print::print_schar_pos2_sb#0 ] reg byte a [ debug_print::print_schar_pos4_sb#0 ] zp[1]:103 [ debug_print::print_schar_pos5_sb#0 ] zp[1]:104 [ debug_print::print_schar_pos6_sb#0 ] zp[1]:105 [ debug_print::print_schar_pos7_sb#0 ] zp[1]:106 [ debug_print::print_schar_pos8_sb#0 ] zp[1]:107 [ debug_print::print_schar_pos9_sb#0 ] zp[1]:108 [ debug_print::print_schar_pos10_sb#0 ] zp[1]:109 [ debug_print::print_schar_pos11_sb#0 ] zp[1]:110 [ debug_print::print_schar_pos12_sb#0 ] 
Limited combination testing to 100 combinations of 8388608 possible.
Uplifting [memset] best 79116 combination zp[2]:18 [ memset::dst#2 memset::dst#1 ] 
Uplifting [debug_print_init] best 74316 combination reg byte y [ debug_print_init::j#2 debug_print_init::j#1 ] zp[2]:34 [ debug_print_init::$41 ] zp[2]:36 [ debug_print_init::$44 ] zp[2]:38 [ debug_print_init::$47 ] zp[2]:40 [ debug_print_init::$50 ] zp[2]:42 [ debug_print_init::$53 ] zp[2]:44 [ debug_print_init::$56 ] zp[2]:46 [ debug_print_init::$59 ] zp[2]:48 [ debug_print_init::$62 ] zp[2]:50 [ debug_print_init::$65 ] reg byte x [ debug_print_init::col#0 ] zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ] zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ] 
Uplifting [rotate_matrix] best 74013 combination reg byte x [ rotate_matrix::x#0 ] zp[1]:55 [ rotate_matrix::y#0 ] zp[1]:56 [ rotate_matrix::z#0 ] 
Uplifting [anim] best 72013 combination zp[1]:8 [ anim::i#2 anim::i#1 ] reg byte a [ anim::$13 ] reg byte a [ anim::$9 ] reg byte a [ anim::$14 ] reg byte a [ anim::$10 ] zp[1]:57 [ anim::i2#0 ] 
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [] best 72013 combination zp[1]:23 [ xr ] zp[1]:24 [ yr ] zp[1]:25 [ zr ] zp[1]:7 [ sy#11 sy#2 ] zp[1]:6 [ sx#11 sx#2 ] zp[1]:28 [ yp ] zp[1]:27 [ xp ] zp[1]:26 [ pp ] zp[2]:31 [ psp2 ] zp[2]:29 [ psp1 ] 
Uplifting [print_str_at] best 72013 combination zp[2]:9 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] zp[2]:11 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] 
Uplifting [sprites_init] best 71863 combination reg byte x [ sprites_init::i#2 sprites_init::i#1 ] 
Uplifting [MOS6526_CIA] best 71863 combination 
Uplifting [MOS6569_VICII] best 71863 combination 
Uplifting [MOS6581_SID] best 71863 combination 
Uplifting [print_cls] best 71863 combination 
Uplifting [RADIX] best 71863 combination 
Uplifting [main] best 71863 combination 
Uplifting [store_matrix] best 71863 combination 
Uplifting [__start] best 71863 combination 
Attempting to uplift remaining variables inzp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ]
Uplifting [print_schar_at] best 71863 combination zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ] 
Attempting to uplift remaining variables inzp[1]:64 [ print_uchar_at::b#0 ]
Uplifting [print_uchar_at] best 71863 combination zp[1]:64 [ print_uchar_at::b#0 ] 
Attempting to uplift remaining variables inzp[1]:17 [ debug_print::i#2 debug_print::i#1 ]
Uplifting [debug_print] best 71863 combination zp[1]:17 [ debug_print::i#2 debug_print::i#1 ] 
Attempting to uplift remaining variables inzp[1]:16 [ debug_print::c#2 debug_print::c#1 ]
Uplifting [debug_print] best 71863 combination zp[1]:16 [ debug_print::c#2 debug_print::c#1 ] 
Attempting to uplift remaining variables inzp[1]:55 [ rotate_matrix::y#0 ]
Uplifting [rotate_matrix] best 71863 combination zp[1]:55 [ rotate_matrix::y#0 ] 
Attempting to uplift remaining variables inzp[1]:56 [ rotate_matrix::z#0 ]
Uplifting [rotate_matrix] best 71863 combination zp[1]:56 [ rotate_matrix::z#0 ] 
Attempting to uplift remaining variables inzp[1]:8 [ anim::i#2 anim::i#1 ]
Uplifting [anim] best 71863 combination zp[1]:8 [ anim::i#2 anim::i#1 ] 
Attempting to uplift remaining variables inzp[1]:75 [ calculate_matrix::$10 ]
Uplifting [calculate_matrix] best 71857 combination reg byte a [ calculate_matrix::$10 ] 
Attempting to uplift remaining variables inzp[1]:76 [ calculate_matrix::$11 ]
Uplifting [calculate_matrix] best 71851 combination reg byte a [ calculate_matrix::$11 ] 
Attempting to uplift remaining variables inzp[1]:77 [ calculate_matrix::$12 ]
Uplifting [calculate_matrix] best 71845 combination reg byte a [ calculate_matrix::$12 ] 
Attempting to uplift remaining variables inzp[1]:78 [ calculate_matrix::$13 ]
Uplifting [calculate_matrix] best 71839 combination reg byte a [ calculate_matrix::$13 ] 
Attempting to uplift remaining variables inzp[1]:79 [ calculate_matrix::$14 ]
Uplifting [calculate_matrix] best 71833 combination reg byte a [ calculate_matrix::$14 ] 
Attempting to uplift remaining variables inzp[1]:80 [ calculate_matrix::$15 ]
Uplifting [calculate_matrix] best 71827 combination reg byte a [ calculate_matrix::$15 ] 
Attempting to uplift remaining variables inzp[1]:81 [ calculate_matrix::$16 ]
Uplifting [calculate_matrix] best 71821 combination reg byte a [ calculate_matrix::$16 ] 
Attempting to uplift remaining variables inzp[1]:82 [ calculate_matrix::$17 ]
Uplifting [calculate_matrix] best 71815 combination reg byte a [ calculate_matrix::$17 ] 
Attempting to uplift remaining variables inzp[1]:83 [ calculate_matrix::$18 ]
Uplifting [calculate_matrix] best 71809 combination reg byte a [ calculate_matrix::$18 ] 
Attempting to uplift remaining variables inzp[1]:84 [ calculate_matrix::$19 ]
Uplifting [calculate_matrix] best 71803 combination reg byte a [ calculate_matrix::$19 ] 
Attempting to uplift remaining variables inzp[1]:85 [ calculate_matrix::$20 ]
Uplifting [calculate_matrix] best 71797 combination reg byte a [ calculate_matrix::$20 ] 
Attempting to uplift remaining variables inzp[1]:86 [ calculate_matrix::$21 ]
Uplifting [calculate_matrix] best 71791 combination reg byte a [ calculate_matrix::$21 ] 
Attempting to uplift remaining variables inzp[1]:87 [ calculate_matrix::$22 ]
Uplifting [calculate_matrix] best 71785 combination reg byte a [ calculate_matrix::$22 ] 
Attempting to uplift remaining variables inzp[1]:88 [ calculate_matrix::$23 ]
Uplifting [calculate_matrix] best 71779 combination reg byte a [ calculate_matrix::$23 ] 
Attempting to uplift remaining variables inzp[1]:89 [ calculate_matrix::$24 ]
Uplifting [calculate_matrix] best 71773 combination reg byte a [ calculate_matrix::$24 ] 
Attempting to uplift remaining variables inzp[1]:90 [ calculate_matrix::$25 ]
Uplifting [calculate_matrix] best 71767 combination reg byte a [ calculate_matrix::$25 ] 
Attempting to uplift remaining variables inzp[1]:91 [ calculate_matrix::$26 ]
Uplifting [calculate_matrix] best 71761 combination reg byte a [ calculate_matrix::$26 ] 
Attempting to uplift remaining variables inzp[1]:92 [ calculate_matrix::$27 ]
Uplifting [calculate_matrix] best 71755 combination reg byte a [ calculate_matrix::$27 ] 
Attempting to uplift remaining variables inzp[1]:93 [ calculate_matrix::$28 ]
Uplifting [calculate_matrix] best 71749 combination reg byte a [ calculate_matrix::$28 ] 
Attempting to uplift remaining variables inzp[1]:94 [ calculate_matrix::$29 ]
Uplifting [calculate_matrix] best 71743 combination reg byte a [ calculate_matrix::$29 ] 
Attempting to uplift remaining variables inzp[1]:95 [ calculate_matrix::$30 ]
Uplifting [calculate_matrix] best 71737 combination reg byte a [ calculate_matrix::$30 ] 
Attempting to uplift remaining variables inzp[1]:96 [ calculate_matrix::$31 ]
Uplifting [calculate_matrix] best 71731 combination reg byte a [ calculate_matrix::$31 ] 
Attempting to uplift remaining variables inzp[1]:97 [ calculate_matrix::$32 ]
Uplifting [calculate_matrix] best 71725 combination reg byte a [ calculate_matrix::$32 ] 
Attempting to uplift remaining variables inzp[1]:98 [ calculate_matrix::$33 ]
Uplifting [calculate_matrix] best 71719 combination reg byte a [ calculate_matrix::$33 ] 
Attempting to uplift remaining variables inzp[1]:99 [ calculate_matrix::$34 ]
Uplifting [calculate_matrix] best 71713 combination reg byte a [ calculate_matrix::$34 ] 
Attempting to uplift remaining variables inzp[1]:103 [ debug_print::print_schar_pos5_sb#0 ]
Uplifting [debug_print] best 71707 combination reg byte a [ debug_print::print_schar_pos5_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:104 [ debug_print::print_schar_pos6_sb#0 ]
Uplifting [debug_print] best 71701 combination reg byte a [ debug_print::print_schar_pos6_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:105 [ debug_print::print_schar_pos7_sb#0 ]
Uplifting [debug_print] best 71695 combination reg byte a [ debug_print::print_schar_pos7_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:106 [ debug_print::print_schar_pos8_sb#0 ]
Uplifting [debug_print] best 71689 combination reg byte a [ debug_print::print_schar_pos8_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:107 [ debug_print::print_schar_pos9_sb#0 ]
Uplifting [debug_print] best 71683 combination reg byte a [ debug_print::print_schar_pos9_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:108 [ debug_print::print_schar_pos10_sb#0 ]
Uplifting [debug_print] best 71677 combination reg byte a [ debug_print::print_schar_pos10_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:109 [ debug_print::print_schar_pos11_sb#0 ]
Uplifting [debug_print] best 71671 combination reg byte a [ debug_print::print_schar_pos11_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:110 [ debug_print::print_schar_pos12_sb#0 ]
Uplifting [debug_print] best 71665 combination reg byte a [ debug_print::print_schar_pos12_sb#0 ] 
Attempting to uplift remaining variables inzp[1]:23 [ xr ]
Uplifting [] best 71665 combination zp[1]:23 [ xr ] 
Attempting to uplift remaining variables inzp[1]:24 [ yr ]
Uplifting [] best 71665 combination zp[1]:24 [ yr ] 
Attempting to uplift remaining variables inzp[1]:25 [ zr ]
Uplifting [] best 71665 combination zp[1]:25 [ zr ] 
Attempting to uplift remaining variables inzp[1]:52 [ calculate_matrix::sx#0 ]
Uplifting [calculate_matrix] best 71627 combination reg byte x [ calculate_matrix::sx#0 ] 
Attempting to uplift remaining variables inzp[1]:57 [ anim::i2#0 ]
Uplifting [anim] best 70927 combination reg byte x [ anim::i2#0 ] 
Attempting to uplift remaining variables inzp[1]:66 [ calculate_matrix::t2#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:66 [ calculate_matrix::t2#0 ] 
Attempting to uplift remaining variables inzp[1]:65 [ calculate_matrix::t1#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:65 [ calculate_matrix::t1#0 ] 
Attempting to uplift remaining variables inzp[1]:53 [ calculate_matrix::sy#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:53 [ calculate_matrix::sy#0 ] 
Attempting to uplift remaining variables inzp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ]
Uplifting [debug_print_init] best 70927 combination zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ] 
Attempting to uplift remaining variables inzp[1]:7 [ sy#11 sy#2 ]
Uplifting [] best 70927 combination zp[1]:7 [ sy#11 sy#2 ] 
Attempting to uplift remaining variables inzp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ]
Uplifting [debug_print_init] best 70927 combination zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ] 
Attempting to uplift remaining variables inzp[1]:70 [ calculate_matrix::t6#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:70 [ calculate_matrix::t6#0 ] 
Attempting to uplift remaining variables inzp[1]:68 [ calculate_matrix::t4#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:68 [ calculate_matrix::t4#0 ] 
Attempting to uplift remaining variables inzp[1]:71 [ calculate_matrix::t7#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:71 [ calculate_matrix::t7#0 ] 
Attempting to uplift remaining variables inzp[1]:72 [ calculate_matrix::t8#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:72 [ calculate_matrix::t8#0 ] 
Attempting to uplift remaining variables inzp[1]:67 [ calculate_matrix::t3#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:67 [ calculate_matrix::t3#0 ] 
Attempting to uplift remaining variables inzp[1]:69 [ calculate_matrix::t5#0 ]
Uplifting [calculate_matrix] best 70927 combination zp[1]:69 [ calculate_matrix::t5#0 ] 
Attempting to uplift remaining variables inzp[1]:6 [ sx#11 sx#2 ]
Uplifting [] best 70927 combination zp[1]:6 [ sx#11 sx#2 ] 
Attempting to uplift remaining variables inzp[1]:74 [ calculate_matrix::t10#0 ]
Uplifting [calculate_matrix] best 70920 combination reg byte x [ calculate_matrix::t10#0 ] 
Attempting to uplift remaining variables inzp[1]:73 [ calculate_matrix::t9#0 ]
Uplifting [calculate_matrix] best 70920 combination zp[1]:73 [ calculate_matrix::t9#0 ] 
Attempting to uplift remaining variables inzp[1]:28 [ yp ]
Uplifting [] best 70920 combination zp[1]:28 [ yp ] 
Attempting to uplift remaining variables inzp[1]:27 [ xp ]
Uplifting [] best 70920 combination zp[1]:27 [ xp ] 
Attempting to uplift remaining variables inzp[1]:26 [ pp ]
Uplifting [] best 70920 combination zp[1]:26 [ pp ] 
Coalescing zero page register [ zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 ] ] with [ zp[2]:21 [ print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ] ] - score: 2
Coalescing zero page register [ zp[1]:7 [ sy#11 sy#2 ] ] with [ zp[1]:53 [ calculate_matrix::sy#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 ] ] with [ zp[2]:62 [ print_uchar_at::at#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 ] ] with [ zp[1]:64 [ print_uchar_at::b#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:6 [ sx#11 sx#2 ] ] with [ zp[1]:3 [ debug_print_init::c#2 debug_print_init::c#1 ] ]
Coalescing zero page register [ zp[1]:7 [ sy#11 sy#2 calculate_matrix::sy#0 ] ] with [ zp[1]:4 [ debug_print_init::i#2 debug_print_init::i#1 ] ]
Coalescing zero page register [ zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 print_uchar_at::at#0 ] ] with [ zp[2]:9 [ print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] ]
Coalescing zero page register [ zp[2]:18 [ memset::dst#2 memset::dst#1 ] ] with [ zp[2]:11 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] ]
Coalescing zero page register [ zp[1]:55 [ rotate_matrix::y#0 ] ] with [ zp[1]:15 [ print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 print_uchar_at::b#0 ] ]
Coalescing zero page register [ zp[1]:56 [ rotate_matrix::z#0 ] ] with [ zp[1]:16 [ debug_print::c#2 debug_print::c#1 ] ]
Coalescing zero page register [ zp[1]:65 [ calculate_matrix::t1#0 ] ] with [ zp[1]:17 [ debug_print::i#2 debug_print::i#1 ] ]
Coalescing zero page register [ zp[2]:34 [ debug_print_init::$41 ] ] with [ zp[2]:13 [ print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 print_uchar_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ] ]
Coalescing zero page register [ zp[2]:36 [ debug_print_init::$44 ] ] with [ zp[2]:18 [ memset::dst#2 memset::dst#1 print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ] ]
Coalescing zero page register [ zp[1]:66 [ calculate_matrix::t2#0 ] ] with [ zp[1]:55 [ rotate_matrix::y#0 print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 print_uchar_at::b#0 ] ]
Coalescing zero page register [ zp[1]:67 [ calculate_matrix::t3#0 ] ] with [ zp[1]:56 [ rotate_matrix::z#0 debug_print::c#2 debug_print::c#1 ] ]
Allocated (was zp[1]:6) zp[1]:2 [ sx#11 sx#2 debug_print_init::c#2 debug_print_init::c#1 ]
Allocated (was zp[1]:7) zp[1]:3 [ sy#11 sy#2 calculate_matrix::sy#0 debug_print_init::i#2 debug_print_init::i#1 ]
Allocated (was zp[1]:8) zp[1]:4 [ anim::i#2 anim::i#1 ]
Allocated (was zp[1]:23) zp[1]:5 [ xr ]
Allocated (was zp[1]:24) zp[1]:6 [ yr ]
Allocated (was zp[1]:25) zp[1]:7 [ zr ]
Allocated (was zp[1]:26) zp[1]:8 [ pp ]
Allocated (was zp[1]:27) zp[1]:9 [ xp ]
Allocated (was zp[1]:28) zp[1]:10 [ yp ]
Allocated (was zp[2]:29) zp[2]:11 [ psp1 ]
Allocated (was zp[2]:31) zp[2]:13 [ psp2 ]
Allocated (was zp[2]:34) zp[2]:15 [ debug_print_init::$41 print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 print_uchar_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ]
Allocated (was zp[2]:36) zp[2]:17 [ debug_print_init::$44 memset::dst#2 memset::dst#1 print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ]
Allocated (was zp[2]:38) zp[2]:19 [ debug_print_init::$47 ]
Allocated (was zp[2]:40) zp[2]:21 [ debug_print_init::$50 ]
Allocated (was zp[2]:42) zp[2]:23 [ debug_print_init::$53 ]
Allocated (was zp[2]:44) zp[2]:25 [ debug_print_init::$56 ]
Allocated (was zp[2]:46) zp[2]:27 [ debug_print_init::$59 ]
Allocated (was zp[2]:48) zp[2]:29 [ debug_print_init::$62 ]
Allocated (was zp[2]:50) zp[2]:31 [ debug_print_init::$65 ]
Allocated (was zp[1]:65) zp[1]:33 [ calculate_matrix::t1#0 debug_print::i#2 debug_print::i#1 ]
Allocated (was zp[1]:66) zp[1]:34 [ calculate_matrix::t2#0 rotate_matrix::y#0 print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 print_uchar_at::b#0 ]
Allocated (was zp[1]:67) zp[1]:35 [ calculate_matrix::t3#0 rotate_matrix::z#0 debug_print::c#2 debug_print::c#1 ]
Allocated (was zp[1]:68) zp[1]:36 [ calculate_matrix::t4#0 ]
Allocated (was zp[1]:69) zp[1]:37 [ calculate_matrix::t5#0 ]
Allocated (was zp[1]:70) zp[1]:38 [ calculate_matrix::t6#0 ]
Allocated (was zp[1]:71) zp[1]:39 [ calculate_matrix::t7#0 ]
Allocated (was zp[1]:72) zp[1]:40 [ calculate_matrix::t8#0 ]
Allocated (was zp[1]:73) zp[1]:41 [ calculate_matrix::t9#0 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
// 3D Rotation using a Rotation Matrix
// Based on: 
// - C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt
// - Codebase64 Article http://codebase64.org/doku.php?id=base:3d_rotation  
/// @file
/// Commodore 64 Registers and Constants
/// @file
/// The MOS 6526 Complex Interface Adapter (CIA)
///
/// http://archive.6502.org/datasheets/mos_6526_cia_recreated.pdf
  // Upstart
  // Commodore 64 PRG executable file
.file [name="3d.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
  // Global Constants & labels
  .const GREEN = 5
  .const LIGHT_BLUE = $e
  .const LIGHT_GREY = $f
  .const OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
  .const OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
  .const OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE = $15
  .const sz = 0
  /// Sprite X position register for sprite #0
  .label SPRITES_XPOS = $d000
  /// Sprite Y position register for sprite #0
  .label SPRITES_YPOS = $d001
  /// Sprite colors register for sprite #0
  .label SPRITES_COLOR = $d027
  /// The VIC-II MOS 6567/6569
  .label VICII = $d000
  .label SCREEN = $400
  .label COSH = SINH+$40
  .label COSQ = SINQ+$40
  .label print_screen = $400
  // The rotated point - updated by calling rotate_matrix()
  .label xr = 5
  .label yr = 6
  .label zr = 7
  // The rotated point with perspective
  .label pp = 8
  .label xp = 9
  .label yp = $a
  // Pointers used to multiply perspective (d/z0-z) onto x- & y-coordinates. Points into mulf_sqr1 / mulf_sqr2  
  .label psp1 = $b
  .label psp2 = $d
  .label sx = 2
  .label sy = 3
.segment Code
  // __start
__start: {
    jmp __init1
    // __start::__init1
  __init1:
    // [1] xr = 0 -- vbsz1=vbsc1 
    lda #0
    sta.z xr
    // [2] yr = 0 -- vbsz1=vbsc1 
    lda #0
    sta.z yr
    // [3] zr = 0 -- vbsz1=vbsc1 
    lda #0
    sta.z zr
    // [4] pp = 0 -- vbsz1=vbsc1 
    lda #0
    sta.z pp
    // [5] xp = 0 -- vbsz1=vbsc1 
    lda #0
    sta.z xp
    // [6] yp = 0 -- vbsz1=vbsc1 
    lda #0
    sta.z yp
    // [7] psp1 = 0 -- vwuz1=vwuc1 
    lda #<0
    sta.z psp1
    lda #>0
    sta.z psp1+1
    // [8] psp2 = 0 -- vwuz1=vwuc1 
    lda #<0
    sta.z psp2
    lda #>0
    sta.z psp2+1
    // [9] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
  __b1_from___init1:
    jmp __b1
    // __start::@1
  __b1:
    // [10] call main
    jsr main
    jmp __breturn
    // __start::@return
  __breturn:
    // [11] return 
    rts
}
  // main
main: {
    // asm { sei  }
    sei
    // [13] call sprites_init
    jsr sprites_init
    jmp __b1
    // main::@1
  __b1:
    // [14] psp1 = (unsigned int)mulf_sqr1 -- vwuz1=vwuc1 
    //mulf_init();
    lda #<mulf_sqr1
    sta.z psp1
    lda #>mulf_sqr1
    sta.z psp1+1
    // [15] psp2 = (unsigned int)mulf_sqr2 -- vwuz1=vwuc1 
    lda #<mulf_sqr2
    sta.z psp2
    lda #>mulf_sqr2
    sta.z psp2+1
    // [16] call debug_print_init
    // [27] phi from main::@1 to debug_print_init [phi:main::@1->debug_print_init]
  debug_print_init_from___b1:
    jsr debug_print_init
    // [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  __b2_from___b1:
    jmp __b2
    // main::@2
  __b2:
    // [18] call anim
  //calculate_matrix(1,1,1);
    // [89] phi from main::@2 to anim [phi:main::@2->anim]
  anim_from___b2:
    jsr anim
    jmp __breturn
    // main::@return
  __breturn:
    // [19] return 
    rts
}
  // sprites_init
// Initialize sprites
sprites_init: {
    .label SCREEN = $400
    .label sprites_ptr = SCREEN+$3f8
    // [20] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff -- _deref_pbuc1=vbuc2 
    lda #$ff
    sta VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE
    // [21] phi from sprites_init to sprites_init::@1 [phi:sprites_init->sprites_init::@1]
  __b1_from_sprites_init:
    // [21] phi sprites_init::i#2 = 0 [phi:sprites_init->sprites_init::@1#0] -- vbuxx=vbuc1 
    ldx #0
    jmp __b1
    // [21] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1]
  __b1_from___b1:
    // [21] phi sprites_init::i#2 = sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy 
    jmp __b1
    // sprites_init::@1
  __b1:
    // [22] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)SPRITE/$40 -- pbuc1_derefidx_vbuxx=vbuc2 
    lda #$ff&SPRITE/$40
    sta sprites_ptr,x
    // [23] SPRITES_COLOR[sprites_init::i#2] = GREEN -- pbuc1_derefidx_vbuxx=vbuc2 
    lda #GREEN
    sta SPRITES_COLOR,x
    // [24] sprites_init::i#1 = ++ sprites_init::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [25] if(sprites_init::i#1!=8) goto sprites_init::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #8
    bne __b1_from___b1
    jmp __breturn
    // sprites_init::@return
  __breturn:
    // [26] return 
    rts
}
  // debug_print_init
debug_print_init: {
    .label COLS = $d800
    .label at_line = SCREEN+$10*$28
    .label at_cols = COLS+$10*$28
    .label __41 = $f
    .label __44 = $11
    .label __47 = $13
    .label __50 = $15
    .label __53 = $17
    .label __56 = $19
    .label __59 = $1b
    .label __62 = $1d
    .label __65 = $1f
    .label c = 2
    .label i = 3
    // [28] call print_cls
    // [126] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls]
  print_cls_from_debug_print_init:
    jsr print_cls
    // [29] phi from debug_print_init to debug_print_init::@4 [phi:debug_print_init->debug_print_init::@4]
  __b4_from_debug_print_init:
    jmp __b4
    // debug_print_init::@4
  __b4:
    // [30] call print_str_at
    // [129] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at]
  print_str_at_from___b4:
    // [129] phi print_str_at::at#15 = SCREEN+$22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$22
    sta.z print_str_at.at
    lda #>SCREEN+$22
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str_at.str
    lda #>str
    sta.z print_str_at.str+1
    jsr print_str_at
    // [31] phi from debug_print_init::@4 to debug_print_init::@5 [phi:debug_print_init::@4->debug_print_init::@5]
  __b5_from___b4:
    jmp __b5
    // debug_print_init::@5
  __b5:
    // [32] call print_str_at
    // [129] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at]
  print_str_at_from___b5:
    // [129] phi print_str_at::at#15 = SCREEN+$28*1+$22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*1+$22
    sta.z print_str_at.at
    lda #>SCREEN+$28*1+$22
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str_at.str
    lda #>str1
    sta.z print_str_at.str+1
    jsr print_str_at
    // [33] phi from debug_print_init::@5 to debug_print_init::@6 [phi:debug_print_init::@5->debug_print_init::@6]
  __b6_from___b5:
    jmp __b6
    // debug_print_init::@6
  __b6:
    // [34] call print_str_at
    // [129] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at]
  print_str_at_from___b6:
    // [129] phi print_str_at::at#15 = SCREEN+$28*2+$22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*2+$22
    sta.z print_str_at.at
    lda #>SCREEN+$28*2+$22
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str_at.str
    lda #>str2
    sta.z print_str_at.str+1
    jsr print_str_at
    // [35] phi from debug_print_init::@6 to debug_print_init::@7 [phi:debug_print_init::@6->debug_print_init::@7]
  __b7_from___b6:
    jmp __b7
    // debug_print_init::@7
  __b7:
    // [36] call print_str_at
    // [129] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at]
  print_str_at_from___b7:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$10
    sta.z print_str_at.at
    lda #>SCREEN+$28*$10
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str3
    sta.z print_str_at.str
    lda #>str3
    sta.z print_str_at.str+1
    jsr print_str_at
    // [37] phi from debug_print_init::@7 to debug_print_init::@8 [phi:debug_print_init::@7->debug_print_init::@8]
  __b8_from___b7:
    jmp __b8
    // debug_print_init::@8
  __b8:
    // [38] call print_str_at
    // [129] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at]
  print_str_at_from___b8:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$11
    sta.z print_str_at.at
    lda #>SCREEN+$28*$11
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str4
    sta.z print_str_at.str
    lda #>str4
    sta.z print_str_at.str+1
    jsr print_str_at
    // [39] phi from debug_print_init::@8 to debug_print_init::@9 [phi:debug_print_init::@8->debug_print_init::@9]
  __b9_from___b8:
    jmp __b9
    // debug_print_init::@9
  __b9:
    // [40] call print_str_at
    // [129] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at]
  print_str_at_from___b9:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$12
    sta.z print_str_at.at
    lda #>SCREEN+$28*$12
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str5
    sta.z print_str_at.str
    lda #>str5
    sta.z print_str_at.str+1
    jsr print_str_at
    // [41] phi from debug_print_init::@9 to debug_print_init::@10 [phi:debug_print_init::@9->debug_print_init::@10]
  __b10_from___b9:
    jmp __b10
    // debug_print_init::@10
  __b10:
    // [42] call print_str_at
    // [129] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at]
  print_str_at_from___b10:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$13
    sta.z print_str_at.at
    lda #>SCREEN+$28*$13
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str6
    sta.z print_str_at.str
    lda #>str6
    sta.z print_str_at.str+1
    jsr print_str_at
    // [43] phi from debug_print_init::@10 to debug_print_init::@11 [phi:debug_print_init::@10->debug_print_init::@11]
  __b11_from___b10:
    jmp __b11
    // debug_print_init::@11
  __b11:
    // [44] call print_str_at
    // [129] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at]
  print_str_at_from___b11:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$14
    sta.z print_str_at.at
    lda #>SCREEN+$28*$14
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str7
    sta.z print_str_at.str
    lda #>str7
    sta.z print_str_at.str+1
    jsr print_str_at
    // [45] phi from debug_print_init::@11 to debug_print_init::@12 [phi:debug_print_init::@11->debug_print_init::@12]
  __b12_from___b11:
    jmp __b12
    // debug_print_init::@12
  __b12:
    // [46] call print_str_at
    // [129] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at]
  print_str_at_from___b12:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$15
    sta.z print_str_at.at
    lda #>SCREEN+$28*$15
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str8
    sta.z print_str_at.str
    lda #>str8
    sta.z print_str_at.str+1
    jsr print_str_at
    // [47] phi from debug_print_init::@12 to debug_print_init::@13 [phi:debug_print_init::@12->debug_print_init::@13]
  __b13_from___b12:
    jmp __b13
    // debug_print_init::@13
  __b13:
    // [48] call print_str_at
    // [129] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at]
  print_str_at_from___b13:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$16
    sta.z print_str_at.at
    lda #>SCREEN+$28*$16
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str9
    sta.z print_str_at.str
    lda #>str9
    sta.z print_str_at.str+1
    jsr print_str_at
    // [49] phi from debug_print_init::@13 to debug_print_init::@14 [phi:debug_print_init::@13->debug_print_init::@14]
  __b14_from___b13:
    jmp __b14
    // debug_print_init::@14
  __b14:
    // [50] call print_str_at
    // [129] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at]
  print_str_at_from___b14:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$17
    sta.z print_str_at.at
    lda #>SCREEN+$28*$17
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str10
    sta.z print_str_at.str
    lda #>str10
    sta.z print_str_at.str+1
    jsr print_str_at
    // [51] phi from debug_print_init::@14 to debug_print_init::@15 [phi:debug_print_init::@14->debug_print_init::@15]
  __b15_from___b14:
    jmp __b15
    // debug_print_init::@15
  __b15:
    // [52] call print_str_at
    // [129] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at]
  print_str_at_from___b15:
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$18
    sta.z print_str_at.at
    lda #>SCREEN+$28*$18
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str11
    sta.z print_str_at.str
    lda #>str11
    sta.z print_str_at.str+1
    jsr print_str_at
    // [53] phi from debug_print_init::@15 to debug_print_init::@1 [phi:debug_print_init::@15->debug_print_init::@1]
  __b1_from___b15:
    // [53] phi debug_print_init::i#2 = 0 [phi:debug_print_init::@15->debug_print_init::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [53] phi debug_print_init::c#2 = 4 [phi:debug_print_init::@15->debug_print_init::@1#1] -- vbuz1=vbuc1 
    lda #4
    sta.z c
    jmp __b1
    // [53] phi from debug_print_init::@3 to debug_print_init::@1 [phi:debug_print_init::@3->debug_print_init::@1]
  __b1_from___b3:
    // [53] phi debug_print_init::i#2 = debug_print_init::i#1 [phi:debug_print_init::@3->debug_print_init::@1#0] -- register_copy 
    // [53] phi debug_print_init::c#2 = debug_print_init::c#1 [phi:debug_print_init::@3->debug_print_init::@1#1] -- register_copy 
    jmp __b1
    // debug_print_init::@1
  __b1:
    // [54] print_schar_at::at#0 = debug_print_init::at_line#0 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line
    sta.z print_schar_at.at
    lda #>at_line
    adc #0
    sta.z print_schar_at.at+1
    // [55] print_schar_at::b#1 = xs[debug_print_init::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda xs,y
    sta.z print_schar_at.b
    // [56] call print_schar_at
    // [136] phi from debug_print_init::@1 to print_schar_at [phi:debug_print_init::@1->print_schar_at]
  print_schar_at_from___b1:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#0 [phi:debug_print_init::@1->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#1 [phi:debug_print_init::@1->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b16
    // debug_print_init::@16
  __b16:
    // [57] print_schar_at::at#1 = debug_print_init::at_line#0+$28*1 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*1
    sta.z print_schar_at.at
    lda #>at_line+$28*1
    adc #0
    sta.z print_schar_at.at+1
    // [58] print_schar_at::b#2 = ys[debug_print_init::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda ys,y
    sta.z print_schar_at.b
    // [59] call print_schar_at
    // [136] phi from debug_print_init::@16 to print_schar_at [phi:debug_print_init::@16->print_schar_at]
  print_schar_at_from___b16:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#1 [phi:debug_print_init::@16->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#2 [phi:debug_print_init::@16->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b17
    // debug_print_init::@17
  __b17:
    // [60] print_schar_at::at#2 = debug_print_init::at_line#0+$28*2 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*2
    sta.z print_schar_at.at
    lda #>at_line+$28*2
    adc #0
    sta.z print_schar_at.at+1
    // [61] print_schar_at::b#3 = zs[debug_print_init::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda zs,y
    sta.z print_schar_at.b
    // [62] call print_schar_at
    // [136] phi from debug_print_init::@17 to print_schar_at [phi:debug_print_init::@17->print_schar_at]
  print_schar_at_from___b17:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#2 [phi:debug_print_init::@17->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#3 [phi:debug_print_init::@17->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // [63] phi from debug_print_init::@17 to debug_print_init::@2 [phi:debug_print_init::@17->debug_print_init::@2]
  __b2_from___b17:
    // [63] phi debug_print_init::j#2 = 0 [phi:debug_print_init::@17->debug_print_init::@2#0] -- vbuyy=vbuc1 
    ldy #0
    jmp __b2
    // [63] phi from debug_print_init::@2 to debug_print_init::@2 [phi:debug_print_init::@2->debug_print_init::@2]
  __b2_from___b2:
    // [63] phi debug_print_init::j#2 = debug_print_init::j#1 [phi:debug_print_init::@2->debug_print_init::@2#0] -- register_copy 
    jmp __b2
    // debug_print_init::@2
  __b2:
    // [64] debug_print_init::col#0 = 8 + debug_print_init::i#2 -- vbuxx=vbuc1_plus_vbuz1 
    lax.z i
    axs #-[8]
    // [65] debug_print_init::$41 = debug_print_init::at_cols#0 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols
    sta.z __41
    lda #>at_cols
    adc #0
    sta.z __41+1
    // [66] debug_print_init::$41[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__41),y
    // [67] debug_print_init::$44 = debug_print_init::at_cols#0+$28*1 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*1
    sta.z __44
    lda #>at_cols+$28*1
    adc #0
    sta.z __44+1
    // [68] debug_print_init::$44[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__44),y
    // [69] debug_print_init::$47 = debug_print_init::at_cols#0+$28*2 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*2
    sta.z __47
    lda #>at_cols+$28*2
    adc #0
    sta.z __47+1
    // [70] debug_print_init::$47[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__47),y
    // [71] debug_print_init::$50 = debug_print_init::at_cols#0+$28*3 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*3
    sta.z __50
    lda #>at_cols+$28*3
    adc #0
    sta.z __50+1
    // [72] debug_print_init::$50[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__50),y
    // [73] debug_print_init::$53 = debug_print_init::at_cols#0+$28*4 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*4
    sta.z __53
    lda #>at_cols+$28*4
    adc #0
    sta.z __53+1
    // [74] debug_print_init::$53[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__53),y
    // [75] debug_print_init::$56 = debug_print_init::at_cols#0+$28*5 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*5
    sta.z __56
    lda #>at_cols+$28*5
    adc #0
    sta.z __56+1
    // [76] debug_print_init::$56[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__56),y
    // [77] debug_print_init::$59 = debug_print_init::at_cols#0+$28*6 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*6
    sta.z __59
    lda #>at_cols+$28*6
    adc #0
    sta.z __59+1
    // [78] debug_print_init::$59[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__59),y
    // [79] debug_print_init::$62 = debug_print_init::at_cols#0+(unsigned int)$28*7 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*7
    sta.z __62
    lda #>at_cols+$28*7
    adc #0
    sta.z __62+1
    // [80] debug_print_init::$62[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__62),y
    // [81] debug_print_init::$65 = debug_print_init::at_cols#0+(unsigned int)$28*8 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*8
    sta.z __65
    lda #>at_cols+$28*8
    adc #0
    sta.z __65+1
    // [82] debug_print_init::$65[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__65),y
    // [83] debug_print_init::j#1 = ++ debug_print_init::j#2 -- vbuyy=_inc_vbuyy 
    iny
    // [84] if(debug_print_init::j#1!=4) goto debug_print_init::@2 -- vbuyy_neq_vbuc1_then_la1 
    cpy #4
    bne __b2_from___b2
    jmp __b3
    // debug_print_init::@3
  __b3:
    // [85] debug_print_init::c#1 = debug_print_init::c#2 + 4 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z c
    axs #-[4]
    stx.z c
    // [86] debug_print_init::i#1 = ++ debug_print_init::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [87] if(debug_print_init::i#1!=8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #8
    cmp.z i
    bne __b1_from___b3
    jmp __breturn
    // debug_print_init::@return
  __breturn:
    // [88] return 
    rts
  .segment Data
    str: .text "sx"
    .byte 0
    str1: .text "sy"
    .byte 0
    str2: .text "sz"
    .byte 0
    str3: .text "x"
    .byte 0
    str4: .text "y"
    .byte 0
    str5: .text "z"
    .byte 0
    str6: .text "xr"
    .byte 0
    str7: .text "yr"
    .byte 0
    str8: .text "zr"
    .byte 0
    str9: .text "pp"
    .byte 0
    str10: .text "xp"
    .byte 0
    str11: .text "yp"
    .byte 0
}
.segment Code
  // anim
anim: {
    .label i = 4
    // [90] phi from anim to anim::@1 [phi:anim->anim::@1]
  __b1_from_anim:
    // [90] phi sy#11 = 0 [phi:anim->anim::@1#0] -- vbsz1=vbsc1 
    lda #0
    sta.z sy
    // [90] phi sx#11 = 0 [phi:anim->anim::@1#1] -- vbsz1=vbsc1 
    lda #0
    sta.z sx
    jmp __b1
    // anim::@1
  __b1:
    jmp __b2
    // anim::@2
  __b2:
    // [91] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$ff
    cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
    bne __b2
    jmp __b3
    // anim::@3
  __b3:
    // [92] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$fe
    cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
    bne __b3
    jmp __b4
    // anim::@4
  __b4:
    // [93] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$fd
    cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
    bne __b4
    jmp __b5
    // anim::@5
  __b5:
    // [94] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // [95] calculate_matrix::sx#0 = sx#11 -- vbsxx=vbsz1 
    ldx.z sx
    // [96] calculate_matrix::sy#0 = sy#11
    // [97] call calculate_matrix
    //calculate_matrix_16(sx,sy,sz);
    jsr calculate_matrix
    // [98] phi from anim::@5 to anim::@8 [phi:anim::@5->anim::@8]
  __b8_from___b5:
    jmp __b8
    // anim::@8
  __b8:
    // [99] call store_matrix
    jsr store_matrix
    // [100] phi from anim::@8 to anim::@6 [phi:anim::@8->anim::@6]
  __b6_from___b8:
    // [100] phi anim::i#2 = 0 [phi:anim::@8->anim::@6#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b6
    // [100] phi from anim::@9 to anim::@6 [phi:anim::@9->anim::@6]
  __b6_from___b9:
    // [100] phi anim::i#2 = anim::i#1 [phi:anim::@9->anim::@6#0] -- register_copy 
    jmp __b6
    // anim::@6
  __b6:
    // [101] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // [102] rotate_matrix::x#0 = xs[anim::i#2] -- vbsxx=pbsc1_derefidx_vbuz1 
    ldy.z i
    ldx xs,y
    // [103] rotate_matrix::y#0 = ys[anim::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda ys,y
    sta.z rotate_matrix.y
    // [104] rotate_matrix::z#0 = zs[anim::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda zs,y
    sta.z rotate_matrix.z
    // [105] call rotate_matrix
    jsr rotate_matrix
    jmp __b9
    // anim::@9
  __b9:
    // [106] xrs[anim::i#2] = xr -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z xr
    ldy.z i
    sta xrs,y
    // [107] yrs[anim::i#2] = yr -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z yr
    ldy.z i
    sta yrs,y
    // [108] zrs[anim::i#2] = zr -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z zr
    ldy.z i
    sta zrs,y
    // [109] pps[anim::i#2] = pp -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z pp
    ldy.z i
    sta pps,y
    // [110] xps[anim::i#2] = xp -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z xp
    ldy.z i
    sta xps,y
    // [111] yps[anim::i#2] = yp -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z yp
    ldy.z i
    sta yps,y
    // [112] anim::i2#0 = anim::i#2 << 1 -- vbuxx=vbuz1_rol_1 
    lda.z i
    asl
    tax
    // [113] anim::$13 = (char)xp -- vbuaa=vbuz1 
    lda.z xp
    // [114] anim::$9 = $80 + anim::$13 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #$80
    // [115] SPRITES_XPOS[anim::i2#0] = anim::$9 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta SPRITES_XPOS,x
    // [116] anim::$14 = (char)yp -- vbuaa=vbuz1 
    lda.z yp
    // [117] anim::$10 = $80 + anim::$14 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #$80
    // [118] SPRITES_YPOS[anim::i2#0] = anim::$10 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta SPRITES_YPOS,x
    // [119] anim::i#1 = ++ anim::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [120] if(anim::i#1!=8) goto anim::@6 -- vbuz1_neq_vbuc1_then_la1 
    lda #8
    cmp.z i
    bne __b6_from___b9
    jmp __b7
    // anim::@7
  __b7:
    // [121] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY -- _deref_pbuc1=vbuc2 
    lda #LIGHT_GREY
    sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // [122] call debug_print
    jsr debug_print
    jmp __b10
    // anim::@10
  __b10:
    // [123] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE -- _deref_pbuc1=vbuc2 
    lda #LIGHT_BLUE
    sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // [124] sx#2 = sx#11 + 2 -- vbsz1=vbsz1_plus_2 
    // Increment angles        
    inc.z sx
    inc.z sx
    // [125] sy#2 = sy#11 - 3 -- vbsz1=vbsz1_minus_vbsc1 
    lax.z sy
    axs #3
    stx.z sy
    // [90] phi from anim::@10 to anim::@1 [phi:anim::@10->anim::@1]
  __b1_from___b10:
    // [90] phi sy#11 = sy#2 [phi:anim::@10->anim::@1#0] -- register_copy 
    // [90] phi sx#11 = sx#2 [phi:anim::@10->anim::@1#1] -- register_copy 
    jmp __b1
}
  // print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    // [127] call memset
    // [258] phi from print_cls to memset [phi:print_cls->memset]
  memset_from_print_cls:
    jsr memset
    jmp __breturn
    // print_cls::@return
  __breturn:
    // [128] return 
    rts
}
  // print_str_at
// Print a string at a specific screen position
// void print_str_at(__zp($f) char *str, __zp($11) char *at)
print_str_at: {
    .label at = $11
    .label str = $f
    // [130] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1]
  __b1_from_print_str_at:
  __b1_from___b2:
    // [130] phi print_str_at::at#13 = print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy 
    // [130] phi print_str_at::str#13 = print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy 
    jmp __b1
    // print_str_at::@1
  __b1:
    // [131] if(0!=*print_str_at::str#13) goto print_str_at::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    jmp __breturn
    // print_str_at::@return
  __breturn:
    // [132] return 
    rts
    // print_str_at::@2
  __b2:
    // [133] *print_str_at::at#13 = *print_str_at::str#13 -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (str),y
    ldy #0
    sta (at),y
    // [134] print_str_at::at#0 = ++ print_str_at::at#13 -- pbuz1=_inc_pbuz1 
    inc.z at
    bne !+
    inc.z at+1
  !:
    // [135] print_str_at::str#0 = ++ print_str_at::str#13 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp __b1_from___b2
}
  // print_schar_at
// Print a signed char as hex at a specific screen position
// void print_schar_at(__zp($22) signed char b, __zp($f) char *at)
print_schar_at: {
    .label b = $22
    .label at = $f
    // [137] if(print_schar_at::b#22<0) goto print_schar_at::@1 -- vbsz1_lt_0_then_la1 
    lda.z b
    bmi __b1
    jmp __b3
    // print_schar_at::@3
  __b3:
    // [138] print_char_at::at#1 = print_schar_at::at#21
    // [139] call print_char_at
    // [264] phi from print_schar_at::@3 to print_char_at [phi:print_schar_at::@3->print_char_at]
  print_char_at_from___b3:
    // [264] phi print_char_at::at#4 = print_char_at::at#1 [phi:print_schar_at::@3->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = ' ' [phi:print_schar_at::@3->print_char_at#1] -- vbuxx=vbuc1 
    ldx #' '
    jsr print_char_at
    // [140] phi from print_schar_at::@3 print_schar_at::@4 to print_schar_at::@2 [phi:print_schar_at::@3/print_schar_at::@4->print_schar_at::@2]
  __b2_from___b3:
  __b2_from___b4:
    // [140] phi print_schar_at::b#24 = print_schar_at::b#22 [phi:print_schar_at::@3/print_schar_at::@4->print_schar_at::@2#0] -- register_copy 
    jmp __b2
    // print_schar_at::@2
  __b2:
    // [141] print_uchar_at::at#0 = print_schar_at::at#21 + 1 -- pbuz1=pbuz1_plus_1 
    inc.z print_uchar_at.at
    bne !+
    inc.z print_uchar_at.at+1
  !:
    // [142] print_uchar_at::b#0 = (char)print_schar_at::b#24
    // [143] call print_uchar_at
    jsr print_uchar_at
    jmp __breturn
    // print_schar_at::@return
  __breturn:
    // [144] return 
    rts
    // print_schar_at::@1
  __b1:
    // [145] print_char_at::at#0 = print_schar_at::at#21
    // [146] call print_char_at
    // [264] phi from print_schar_at::@1 to print_char_at [phi:print_schar_at::@1->print_char_at]
  print_char_at_from___b1:
    // [264] phi print_char_at::at#4 = print_char_at::at#0 [phi:print_schar_at::@1->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = '-' [phi:print_schar_at::@1->print_char_at#1] -- vbuxx=vbuc1 
    ldx #'-'
    jsr print_char_at
    jmp __b4
    // print_schar_at::@4
  __b4:
    // [147] print_schar_at::b#0 = - print_schar_at::b#22 -- vbsz1=_neg_vbsz1 
    lda.z b
    eor #$ff
    clc
    adc #1
    sta.z b
    jmp __b2_from___b4
}
  // calculate_matrix
// Prepare the 3x3 rotation matrix into rotation_matrix[]
// Angles sx, sy, sz are based on 2*PI=$100 
// Method described in C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt
// void calculate_matrix(__register(X) signed char sx, __zp(3) signed char sy, signed char sz)
calculate_matrix: {
    .label sy = 3
    .label t1 = $21
    .label t2 = $22
    .label t3 = $23
    .label t4 = $24
    .label t5 = $25
    .label t6 = $26
    .label t7 = $27
    .label t8 = $28
    .label t9 = $29
    // [148] calculate_matrix::t1#0 = calculate_matrix::sy#0 -- vbsz1=vbsz2 
    lda.z sy
    sta.z t1
    // [149] calculate_matrix::t2#0 = calculate_matrix::sy#0 -- vbsz1=vbsz2 
    lda.z sy
    sta.z t2
    // [150] calculate_matrix::t3#0 = calculate_matrix::sx#0 -- vbsz1=vbsxx 
    stx.z t3
    // [151] calculate_matrix::t4#0 = calculate_matrix::sx#0 -- vbsz1=vbsxx 
    stx.z t4
    // [152] calculate_matrix::t5#0 = calculate_matrix::sx#0 + calculate_matrix::t2#0 -- vbsz1=vbsxx_plus_vbsz2 
    txa
    clc
    adc.z t2
    sta.z t5
    // [153] calculate_matrix::t6#0 = calculate_matrix::sx#0 - calculate_matrix::t1#0 -- vbsz1=vbsxx_minus_vbsz2 
    // = sx+sy+sz
    txa
    sec
    sbc.z t1
    sta.z t6
    // [154] calculate_matrix::t7#0 = calculate_matrix::sx#0 + calculate_matrix::t1#0 -- vbsz1=vbsxx_plus_vbsz2 
    // = sx-sy+sz
    txa
    clc
    adc.z t1
    sta.z t7
    // [155] calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#0 -- vbsz1=vbsz2_minus_vbsxx 
    // = sx+sy-sz
    txa
    eor #$ff
    sec
    adc.z t2
    sta.z t8
    // [156] calculate_matrix::t9#0 = calculate_matrix::sy#0 - calculate_matrix::sx#0 -- vbsz1=vbsz2_minus_vbsxx 
    // = sy+sz-sx
    txa
    eor #$ff
    sec
    adc.z sy
    sta.z t9
    // [157] calculate_matrix::t10#0 = calculate_matrix::sy#0 + calculate_matrix::sx#0 -- vbsxx=vbsz1_plus_vbsxx 
    txa
    clc
    adc.z sy
    tax
    // [158] calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 
    ldy.z t1
    lda COSH,y
    ldy.z t2
    clc
    adc COSH,y
    // [159] *rotation_matrix = calculate_matrix::$10 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix
    // [160] calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 
    ldy.z t1
    lda SINH,y
    ldy.z t2
    sec
    sbc SINH,y
    // [161] *(rotation_matrix+1) = calculate_matrix::$11 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+1
    // [162] calculate_matrix::$12 = SINH[calculate_matrix::sy#0] + SINH[calculate_matrix::sy#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz1 
    ldy.z sy
    lda SINH,y
    clc
    adc SINH,y
    // [163] *(rotation_matrix+2) = calculate_matrix::$12 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+2
    // [164] calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 
    ldy.z t3
    lda SINH,y
    ldy.z t4
    sec
    sbc SINH,y
    // [165] calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    clc
    adc COSQ,y
    // [166] calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    sec
    sbc COSQ,y
    // [167] calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    clc
    adc COSQ,y
    // [168] calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    sec
    sbc COSQ,y
    // [169] *(rotation_matrix+3) = calculate_matrix::$17 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+3
    // [170] calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 
    ldy.z t3
    lda COSH,y
    ldy.z t4
    clc
    adc COSH,y
    // [171] calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    clc
    adc SINQ,y
    // [172] calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    sec
    sbc SINQ,y
    // [173] calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    sec
    sbc SINQ,y
    // [174] calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    sec
    sbc SINQ,y
    // [175] *(rotation_matrix+4) = calculate_matrix::$22 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+4
    // [176] calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsxx 
    ldy.z t9
    lda SINH,y
    sec
    sbc SINH,x
    // [177] *(rotation_matrix+5) = calculate_matrix::$23 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+5
    // [178] calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 
    ldy.z t4
    lda COSH,y
    ldy.z t3
    sec
    sbc COSH,y
    // [179] calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    clc
    adc SINQ,y
    // [180] calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    sec
    sbc SINQ,y
    // [181] calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    sec
    sbc SINQ,y
    // [182] calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    sec
    sbc SINQ,y
    // [183] *(rotation_matrix+6) = calculate_matrix::$28 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+6
    // [184] calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 
    ldy.z t3
    lda SINH,y
    ldy.z t4
    clc
    adc SINH,y
    // [185] calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    clc
    adc COSQ,y
    // [186] calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    sec
    sbc COSQ,y
    // [187] calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    clc
    adc COSQ,y
    // [188] calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    sec
    sbc COSQ,y
    // [189] *(rotation_matrix+7) = calculate_matrix::$33 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+7
    // [190] calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsxx 
    lda COSH,x
    ldy.z t9
    clc
    adc COSH,y
    // [191] *(rotation_matrix+8) = calculate_matrix::$34 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+8
    jmp __breturn
    // calculate_matrix::@return
  __breturn:
    // [192] return 
    rts
}
  // store_matrix
// Store the rotation matrix into the rotation routine rotate()
// After this each call to rotate() will rotate a point with the matrix
// Implemented in assembler to utilize seriously fast multiplication 
store_matrix: {
    // asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  }
    lda rotation_matrix+0
    sta rotate_matrix.A1+1
    eor #$ff
    sta rotate_matrix.A2+1
    lda rotation_matrix+1
    sta rotate_matrix.B1+1
    eor #$ff
    sta rotate_matrix.B2+1
    lda rotation_matrix+2
    sta rotate_matrix.C1+1
    eor #$ff
    sta rotate_matrix.C2+1
    lda rotation_matrix+3
    sta rotate_matrix.D1+1
    eor #$ff
    sta rotate_matrix.D2+1
    lda rotation_matrix+4
    sta rotate_matrix.E1+1
    eor #$ff
    sta rotate_matrix.E2+1
    lda rotation_matrix+5
    sta rotate_matrix.F1+1
    eor #$ff
    sta rotate_matrix.F2+1
    lda rotation_matrix+6
    sta rotate_matrix.G1+1
    eor #$ff
    sta rotate_matrix.G2+1
    lda rotation_matrix+7
    sta rotate_matrix.H1+1
    eor #$ff
    sta rotate_matrix.H2+1
    lda rotation_matrix+8
    sta rotate_matrix.I1+1
    eor #$ff
    sta rotate_matrix.I2+1
    jmp __breturn
    // store_matrix::@return
  __breturn:
    // [194] return 
    rts
}
  // rotate_matrix
// Rotate a 3D point (x,y,z) using the rotation matrix
// The rotation matrix is prepared by calling prepare_matrix() 
// The passed points must be in the interval [-$3f;$3f].
// Implemented in assembler to utilize seriously fast multiplication 
// void rotate_matrix(__register(X) signed char x, __zp($22) signed char y, __zp($23) signed char z)
rotate_matrix: {
    .label y = $22
    .label z = $23
    // [195] xr = rotate_matrix::x#0 -- vbsz1=vbsxx 
    stx.z xr
    // [196] yr = rotate_matrix::y#0 -- vbsz1=vbsz2 
    lda.z y
    sta.z yr
    // [197] zr = rotate_matrix::z#0 -- vbsz1=vbsz2 
    lda.z z
    sta.z zr
    // asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
    ldx zr
  C1:
    lda mulf_sqr1,x
    sec
  C2:
    sbc mulf_sqr2,x
    sta C3+1
  F1:
    lda mulf_sqr1,x
    sec
  F2:
    sbc mulf_sqr2,x
    sta F3+1
  I1:
    lda mulf_sqr1,x
    sec
  I2:
    sbc mulf_sqr2,x
    sta I3+1
    ldx xr
    ldy yr
  I3:
    lda #0
    clc
  G1:
    adc mulf_sqr1,x
    sec
  G2:
    sbc mulf_sqr2,x
    clc
  H1:
    adc mulf_sqr1,y
    sec
  H2:
    sbc mulf_sqr2,y
    sta zr
    sta PP+1
  PP:
    lda PERSP_Z
    sta pp
    sta psp1
    eor #$ff
    sta psp2
  C3:
    lda #0
    clc
  A1:
    adc mulf_sqr1,x
    sec
  A2:
    sbc mulf_sqr2,x
    clc
  B1:
    adc mulf_sqr1,y
    sec
  B2:
    sbc mulf_sqr2,y
    sta xr
    sta XX+1
    clc
  F3:
    lda #0
    clc
  D1:
    adc mulf_sqr1,x
    sec
  D2:
    sbc mulf_sqr2,x
    clc
  E1:
    adc mulf_sqr1,y
    sec
  E2:
    sbc mulf_sqr2,y
    sta yr
    tay
    lda (psp1),y
    sec
    sbc (psp2),y
    sta yp
  XX:
    ldy #0
    lda (psp1),y
    sec
    sbc (psp2),y
    sta xp
    jmp __breturn
    // rotate_matrix::@return
  __breturn:
    // [199] return 
    rts
}
  // debug_print
debug_print: {
    .const print_schar_pos1_col = $25
    .const print_schar_pos2_row = 1
    .const print_schar_pos2_col = $25
    .const print_schar_pos3_row = 2
    .const print_schar_pos3_col = $25
    .const print_schar_pos4_row = 4
    .const print_schar_pos4_col = $1d
    .const print_schar_pos5_row = 4
    .const print_schar_pos5_col = $21
    .const print_schar_pos6_row = 4
    .const print_schar_pos6_col = $25
    .const print_schar_pos7_row = 5
    .const print_schar_pos7_col = $1d
    .const print_schar_pos8_row = 5
    .const print_schar_pos8_col = $21
    .const print_schar_pos9_row = 5
    .const print_schar_pos9_col = $25
    .const print_schar_pos10_row = 6
    .const print_schar_pos10_col = $1d
    .const print_schar_pos11_row = 6
    .const print_schar_pos11_col = $21
    .const print_schar_pos12_row = 6
    .const print_schar_pos12_col = $25
    .label at_line = SCREEN+$13*$28
    .label c = $23
    .label i = $21
    // [200] debug_print::print_schar_pos1_sb#0 = sx#11 -- vbsaa=vbsz1 
    lda.z sx
    jmp print_schar_pos1
    // debug_print::print_schar_pos1
  print_schar_pos1:
    // [201] print_schar_at::b#4 = debug_print::print_schar_pos1_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [202] call print_schar_at
    // [136] phi from debug_print::print_schar_pos1 to print_schar_at [phi:debug_print::print_schar_pos1->print_schar_at]
  print_schar_at_from_print_schar_pos1:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos1_col#0 [phi:debug_print::print_schar_pos1->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos1_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos1_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#4 [phi:debug_print::print_schar_pos1->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b2
    // debug_print::@2
  __b2:
    // [203] debug_print::print_schar_pos2_sb#0 = sy#11 -- vbsaa=vbsz1 
    lda.z sy
    jmp print_schar_pos2
    // debug_print::print_schar_pos2
  print_schar_pos2:
    // [204] print_schar_at::b#5 = debug_print::print_schar_pos2_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [205] call print_schar_at
    // [136] phi from debug_print::print_schar_pos2 to print_schar_at [phi:debug_print::print_schar_pos2->print_schar_at]
  print_schar_at_from_print_schar_pos2:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos2_row#0*$28+debug_print::print_schar_pos2_col#0 [phi:debug_print::print_schar_pos2->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos2_row*$28+print_schar_pos2_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos2_row*$28+print_schar_pos2_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#5 [phi:debug_print::print_schar_pos2->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // [206] phi from debug_print::print_schar_pos2 to debug_print::print_schar_pos3 [phi:debug_print::print_schar_pos2->debug_print::print_schar_pos3]
  print_schar_pos3_from_print_schar_pos2:
    jmp print_schar_pos3
    // debug_print::print_schar_pos3
  print_schar_pos3:
    // [207] call print_schar_at
    // [136] phi from debug_print::print_schar_pos3 to print_schar_at [phi:debug_print::print_schar_pos3->print_schar_at]
  print_schar_at_from_print_schar_pos3:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos3_row#0*$28+debug_print::print_schar_pos3_col#0 [phi:debug_print::print_schar_pos3->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos3_row*$28+print_schar_pos3_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos3_row*$28+print_schar_pos3_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = sz [phi:debug_print::print_schar_pos3->print_schar_at#1] -- vbsz1=vbsc1 
    lda #sz
    sta.z print_schar_at.b
    jsr print_schar_at
    jmp __b3
    // debug_print::@3
  __b3:
    // [208] debug_print::print_schar_pos4_sb#0 = *rotation_matrix -- vbsaa=_deref_pbsc1 
    lda rotation_matrix
    jmp print_schar_pos4
    // debug_print::print_schar_pos4
  print_schar_pos4:
    // [209] print_schar_at::b#7 = debug_print::print_schar_pos4_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [210] call print_schar_at
    // [136] phi from debug_print::print_schar_pos4 to print_schar_at [phi:debug_print::print_schar_pos4->print_schar_at]
  print_schar_at_from_print_schar_pos4:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos4_row#0*$28+debug_print::print_schar_pos4_col#0 [phi:debug_print::print_schar_pos4->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos4_row*$28+print_schar_pos4_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos4_row*$28+print_schar_pos4_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#7 [phi:debug_print::print_schar_pos4->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b4
    // debug_print::@4
  __b4:
    // [211] debug_print::print_schar_pos5_sb#0 = *(rotation_matrix+1) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+1
    jmp print_schar_pos5
    // debug_print::print_schar_pos5
  print_schar_pos5:
    // [212] print_schar_at::b#8 = debug_print::print_schar_pos5_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [213] call print_schar_at
    // [136] phi from debug_print::print_schar_pos5 to print_schar_at [phi:debug_print::print_schar_pos5->print_schar_at]
  print_schar_at_from_print_schar_pos5:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos5_row#0*$28+debug_print::print_schar_pos5_col#0 [phi:debug_print::print_schar_pos5->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos5_row*$28+print_schar_pos5_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos5_row*$28+print_schar_pos5_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#8 [phi:debug_print::print_schar_pos5->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b5
    // debug_print::@5
  __b5:
    // [214] debug_print::print_schar_pos6_sb#0 = *(rotation_matrix+2) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+2
    jmp print_schar_pos6
    // debug_print::print_schar_pos6
  print_schar_pos6:
    // [215] print_schar_at::b#9 = debug_print::print_schar_pos6_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [216] call print_schar_at
    // [136] phi from debug_print::print_schar_pos6 to print_schar_at [phi:debug_print::print_schar_pos6->print_schar_at]
  print_schar_at_from_print_schar_pos6:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos6_row#0*$28+debug_print::print_schar_pos6_col#0 [phi:debug_print::print_schar_pos6->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos6_row*$28+print_schar_pos6_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos6_row*$28+print_schar_pos6_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#9 [phi:debug_print::print_schar_pos6->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b6
    // debug_print::@6
  __b6:
    // [217] debug_print::print_schar_pos7_sb#0 = *(rotation_matrix+3) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+3
    jmp print_schar_pos7
    // debug_print::print_schar_pos7
  print_schar_pos7:
    // [218] print_schar_at::b#10 = debug_print::print_schar_pos7_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [219] call print_schar_at
    // [136] phi from debug_print::print_schar_pos7 to print_schar_at [phi:debug_print::print_schar_pos7->print_schar_at]
  print_schar_at_from_print_schar_pos7:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos7_row#0*$28+debug_print::print_schar_pos7_col#0 [phi:debug_print::print_schar_pos7->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos7_row*$28+print_schar_pos7_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos7_row*$28+print_schar_pos7_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#10 [phi:debug_print::print_schar_pos7->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b7
    // debug_print::@7
  __b7:
    // [220] debug_print::print_schar_pos8_sb#0 = *(rotation_matrix+4) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+4
    jmp print_schar_pos8
    // debug_print::print_schar_pos8
  print_schar_pos8:
    // [221] print_schar_at::b#11 = debug_print::print_schar_pos8_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [222] call print_schar_at
    // [136] phi from debug_print::print_schar_pos8 to print_schar_at [phi:debug_print::print_schar_pos8->print_schar_at]
  print_schar_at_from_print_schar_pos8:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos8_row#0*$28+debug_print::print_schar_pos8_col#0 [phi:debug_print::print_schar_pos8->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos8_row*$28+print_schar_pos8_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos8_row*$28+print_schar_pos8_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#11 [phi:debug_print::print_schar_pos8->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b8
    // debug_print::@8
  __b8:
    // [223] debug_print::print_schar_pos9_sb#0 = *(rotation_matrix+5) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+5
    jmp print_schar_pos9
    // debug_print::print_schar_pos9
  print_schar_pos9:
    // [224] print_schar_at::b#12 = debug_print::print_schar_pos9_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [225] call print_schar_at
    // [136] phi from debug_print::print_schar_pos9 to print_schar_at [phi:debug_print::print_schar_pos9->print_schar_at]
  print_schar_at_from_print_schar_pos9:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos9_row#0*$28+debug_print::print_schar_pos9_col#0 [phi:debug_print::print_schar_pos9->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos9_row*$28+print_schar_pos9_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos9_row*$28+print_schar_pos9_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#12 [phi:debug_print::print_schar_pos9->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b9
    // debug_print::@9
  __b9:
    // [226] debug_print::print_schar_pos10_sb#0 = *(rotation_matrix+6) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+6
    jmp print_schar_pos10
    // debug_print::print_schar_pos10
  print_schar_pos10:
    // [227] print_schar_at::b#13 = debug_print::print_schar_pos10_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [228] call print_schar_at
    // [136] phi from debug_print::print_schar_pos10 to print_schar_at [phi:debug_print::print_schar_pos10->print_schar_at]
  print_schar_at_from_print_schar_pos10:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos10_row#0*$28+debug_print::print_schar_pos10_col#0 [phi:debug_print::print_schar_pos10->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos10_row*$28+print_schar_pos10_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos10_row*$28+print_schar_pos10_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#13 [phi:debug_print::print_schar_pos10->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b10
    // debug_print::@10
  __b10:
    // [229] debug_print::print_schar_pos11_sb#0 = *(rotation_matrix+7) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+7
    jmp print_schar_pos11
    // debug_print::print_schar_pos11
  print_schar_pos11:
    // [230] print_schar_at::b#14 = debug_print::print_schar_pos11_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [231] call print_schar_at
    // [136] phi from debug_print::print_schar_pos11 to print_schar_at [phi:debug_print::print_schar_pos11->print_schar_at]
  print_schar_at_from_print_schar_pos11:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos11_row#0*$28+debug_print::print_schar_pos11_col#0 [phi:debug_print::print_schar_pos11->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos11_row*$28+print_schar_pos11_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos11_row*$28+print_schar_pos11_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#14 [phi:debug_print::print_schar_pos11->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b11
    // debug_print::@11
  __b11:
    // [232] debug_print::print_schar_pos12_sb#0 = *(rotation_matrix+8) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+8
    jmp print_schar_pos12
    // debug_print::print_schar_pos12
  print_schar_pos12:
    // [233] print_schar_at::b#15 = debug_print::print_schar_pos12_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [234] call print_schar_at
    // [136] phi from debug_print::print_schar_pos12 to print_schar_at [phi:debug_print::print_schar_pos12->print_schar_at]
  print_schar_at_from_print_schar_pos12:
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos12_row#0*$28+debug_print::print_schar_pos12_col#0 [phi:debug_print::print_schar_pos12->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos12_row*$28+print_schar_pos12_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos12_row*$28+print_schar_pos12_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#15 [phi:debug_print::print_schar_pos12->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // [235] phi from debug_print::print_schar_pos12 to debug_print::@1 [phi:debug_print::print_schar_pos12->debug_print::@1]
  __b1_from_print_schar_pos12:
    // [235] phi debug_print::i#2 = 0 [phi:debug_print::print_schar_pos12->debug_print::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [235] phi debug_print::c#2 = 4 [phi:debug_print::print_schar_pos12->debug_print::@1#1] -- vbuz1=vbuc1 
    lda #4
    sta.z c
    jmp __b1
    // [235] phi from debug_print::@17 to debug_print::@1 [phi:debug_print::@17->debug_print::@1]
  __b1_from___b17:
    // [235] phi debug_print::i#2 = debug_print::i#1 [phi:debug_print::@17->debug_print::@1#0] -- register_copy 
    // [235] phi debug_print::c#2 = debug_print::c#1 [phi:debug_print::@17->debug_print::@1#1] -- register_copy 
    jmp __b1
    // debug_print::@1
  __b1:
    // [236] print_schar_at::at#15 = debug_print::at_line#0 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line
    sta.z print_schar_at.at
    lda #>at_line
    adc #0
    sta.z print_schar_at.at+1
    // [237] print_schar_at::b#16 = xrs[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda xrs,y
    sta.z print_schar_at.b
    // [238] call print_schar_at
    // [136] phi from debug_print::@1 to print_schar_at [phi:debug_print::@1->print_schar_at]
  print_schar_at_from___b1:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#15 [phi:debug_print::@1->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#16 [phi:debug_print::@1->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b12
    // debug_print::@12
  __b12:
    // [239] print_schar_at::at#16 = debug_print::at_line#0+$28*1 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*1
    sta.z print_schar_at.at
    lda #>at_line+$28*1
    adc #0
    sta.z print_schar_at.at+1
    // [240] print_schar_at::b#17 = yrs[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda yrs,y
    sta.z print_schar_at.b
    // [241] call print_schar_at
    // [136] phi from debug_print::@12 to print_schar_at [phi:debug_print::@12->print_schar_at]
  print_schar_at_from___b12:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#16 [phi:debug_print::@12->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#17 [phi:debug_print::@12->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b13
    // debug_print::@13
  __b13:
    // [242] print_schar_at::at#17 = debug_print::at_line#0+$28*2 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*2
    sta.z print_schar_at.at
    lda #>at_line+$28*2
    adc #0
    sta.z print_schar_at.at+1
    // [243] print_schar_at::b#18 = zrs[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda zrs,y
    sta.z print_schar_at.b
    // [244] call print_schar_at
    // [136] phi from debug_print::@13 to print_schar_at [phi:debug_print::@13->print_schar_at]
  print_schar_at_from___b13:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#17 [phi:debug_print::@13->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#18 [phi:debug_print::@13->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b14
    // debug_print::@14
  __b14:
    // [245] print_schar_at::at#18 = debug_print::at_line#0+$28*3 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*3
    sta.z print_schar_at.at
    lda #>at_line+$28*3
    adc #0
    sta.z print_schar_at.at+1
    // [246] print_schar_at::b#19 = pps[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda pps,y
    sta.z print_schar_at.b
    // [247] call print_schar_at
    // [136] phi from debug_print::@14 to print_schar_at [phi:debug_print::@14->print_schar_at]
  print_schar_at_from___b14:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#18 [phi:debug_print::@14->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#19 [phi:debug_print::@14->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b15
    // debug_print::@15
  __b15:
    // [248] print_schar_at::at#19 = debug_print::at_line#0+$28*4 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*4
    sta.z print_schar_at.at
    lda #>at_line+$28*4
    adc #0
    sta.z print_schar_at.at+1
    // [249] print_schar_at::b#20 = xps[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda xps,y
    sta.z print_schar_at.b
    // [250] call print_schar_at
    // [136] phi from debug_print::@15 to print_schar_at [phi:debug_print::@15->print_schar_at]
  print_schar_at_from___b15:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#19 [phi:debug_print::@15->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#20 [phi:debug_print::@15->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b16
    // debug_print::@16
  __b16:
    // [251] print_schar_at::at#20 = debug_print::at_line#0+$28*5 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*5
    sta.z print_schar_at.at
    lda #>at_line+$28*5
    adc #0
    sta.z print_schar_at.at+1
    // [252] print_schar_at::b#21 = yps[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda yps,y
    sta.z print_schar_at.b
    // [253] call print_schar_at
    // [136] phi from debug_print::@16 to print_schar_at [phi:debug_print::@16->print_schar_at]
  print_schar_at_from___b16:
    // [136] phi print_schar_at::at#21 = print_schar_at::at#20 [phi:debug_print::@16->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#21 [phi:debug_print::@16->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    jmp __b17
    // debug_print::@17
  __b17:
    // [254] debug_print::c#1 = debug_print::c#2 + 4 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z c
    axs #-[4]
    stx.z c
    // [255] debug_print::i#1 = ++ debug_print::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [256] if(debug_print::i#1!=8) goto debug_print::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #8
    cmp.z i
    bne __b1_from___b17
    jmp __breturn
    // debug_print::@return
  __breturn:
    // [257] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(void *str, char c, unsigned int num)
memset: {
    .const c = ' '
    .const num = $3e8
    .label str = print_screen
    .label end = str+num
    .label dst = $11
    // [259] phi from memset to memset::@1 [phi:memset->memset::@1]
  __b1_from_memset:
    // [259] phi memset::dst#2 = (char *)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z dst
    lda #>str
    sta.z dst+1
    jmp __b1
    // memset::@1
  __b1:
    // [260] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z dst+1
    cmp #>end
    bne __b2
    lda.z dst
    cmp #<end
    bne __b2
    jmp __breturn
    // memset::@return
  __breturn:
    // [261] return 
    rts
    // memset::@2
  __b2:
    // [262] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
    lda #c
    ldy #0
    sta (dst),y
    // [263] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [259] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
  __b1_from___b2:
    // [259] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
    jmp __b1
}
  // print_char_at
// Print a single char
// void print_char_at(__register(X) char ch, __zp($f) char *at)
print_char_at: {
    .label at = $f
    // [265] *print_char_at::at#4 = print_char_at::ch#4 -- _deref_pbuz1=vbuxx 
    txa
    ldy #0
    sta (at),y
    jmp __breturn
    // print_char_at::@return
  __breturn:
    // [266] return 
    rts
}
  // print_uchar_at
// Print a char as HEX at a specific position
// void print_uchar_at(__zp($22) char b, __zp($f) char *at)
print_uchar_at: {
    .label b = $22
    .label at = $f
    // [267] print_uchar_at::$0 = print_uchar_at::b#0 >> 4 -- vbuaa=vbuz1_ror_4 
    lda.z b
    lsr
    lsr
    lsr
    lsr
    // [268] print_char_at::ch#2 = print_hextab[print_uchar_at::$0] -- vbuxx=pbuc1_derefidx_vbuaa 
    tay
    ldx print_hextab,y
    // [269] print_char_at::at#2 = print_uchar_at::at#0
    // [270] call print_char_at
  // Table of hexadecimal digits
    // [264] phi from print_uchar_at to print_char_at [phi:print_uchar_at->print_char_at]
  print_char_at_from_print_uchar_at:
    // [264] phi print_char_at::at#4 = print_char_at::at#2 [phi:print_uchar_at->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = print_char_at::ch#2 [phi:print_uchar_at->print_char_at#1] -- register_copy 
    jsr print_char_at
    jmp __b1
    // print_uchar_at::@1
  __b1:
    // [271] print_uchar_at::$2 = print_uchar_at::b#0 & $f -- vbuyy=vbuz1_band_vbuc1 
    lda #$f
    and.z b
    tay
    // [272] print_char_at::at#3 = print_uchar_at::at#0 + 1 -- pbuz1=pbuz1_plus_1 
    inc.z print_char_at.at
    bne !+
    inc.z print_char_at.at+1
  !:
    // [273] print_char_at::ch#3 = print_hextab[print_uchar_at::$2] -- vbuxx=pbuc1_derefidx_vbuyy 
    ldx print_hextab,y
    // [274] call print_char_at
    // [264] phi from print_uchar_at::@1 to print_char_at [phi:print_uchar_at::@1->print_char_at]
  print_char_at_from___b1:
    // [264] phi print_char_at::at#4 = print_char_at::at#3 [phi:print_uchar_at::@1->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = print_char_at::ch#3 [phi:print_uchar_at::@1->print_char_at#1] -- register_copy 
    jsr print_char_at
    jmp __breturn
    // print_uchar_at::@return
  __breturn:
    // [275] return 
    rts
}
  // File Data
.segment Data
  print_hextab: .text "0123456789abcdef"
  // Positions to rotate
  xs: .byte -$34, -$34, -$34, 0, 0, $34, $34, $34
  ys: .byte -$34, 0, $34, -$34, $34, -$34, 0, $34
  zs: .byte $34, $34, $34, $34, $34, $34, $34, $34
  // Rotated positions
  xrs: .fill 8, 0
  yrs: .fill 8, 0
  zrs: .fill 8, 0
  // Perspective factors (from zrs)
  pps: .fill 8, 0
  // Rotated positions with perspective
  xps: .fill 8, 0
  yps: .fill 8, 0
  // The rotation matrix
  rotation_matrix: .fill 9, 0
  // mulf_sqr tables will contain f(x)=int(x*x) and g(x) = f(1-x).
  // f(x) = >(( x * x ))
  .align $100
mulf_sqr1:
.for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((i*i)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) }
    	.if(i>351) { .byte round(((512-i)*(512-i))/256) }
    }

  // g(x) =  >((( 1 - x ) * ( 1 - x )))
  .align $100
mulf_sqr2:
.for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((-i-1)*(-i-1)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) }
    	.if(i>351) { .byte round(((i-511)*(i-511))/256) }  
    }

  // Perspective multiplication table containing (d/(z0-z)[z] for each z-value   
  .align $100
PERSP_Z:
{
    .var d = 256.0	
    .var z0 = 6.0	
    // These values of d/z0 result in table values from $20 to $40 (effectively max is $3f)
    .for(var z=0;z<$100;z++) {
    	.if(z>127) {
    		.byte round(d / (z0 - ((z - 256) / 64.0)));
    	} else {
    		.byte round(d / (z0 - (z / 64.0)));
    	}
    }
	}

  // Sine and Cosine Tables   
  // Angles: $00=0, $80=PI,$100=2*PI
  // Half Sine/Cosine: signed fixed [-$20;20]
  .align $40
SINH:
{
    .var min = -$2000
    .var max = $2000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }

  // Quarter Sine/Cosine: signed fixed [-$10,$10]
  .align $40
SINQ:
{
    .var min = -$1000
    .var max = $1000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }

.pc = $3000 "SPRITE"
// A single sprite
SPRITE:
.var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
    .for (var y=0; y<21; y++)
        .for (var x=0;x<3; x++)
            .byte pic.getSinglecolorByte(x,y)


ASSEMBLER OPTIMIZATIONS
Removing instruction jmp __init1
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 __breturn
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __b6
Removing instruction jmp __b7
Removing instruction jmp __b8
Removing instruction jmp __b9
Removing instruction jmp __b10
Removing instruction jmp __b11
Removing instruction jmp __b12
Removing instruction jmp __b13
Removing instruction jmp __b14
Removing instruction jmp __b15
Removing instruction jmp __b1
Removing instruction jmp __b16
Removing instruction jmp __b17
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __b8
Removing instruction jmp __b6
Removing instruction jmp __b9
Removing instruction jmp __b7
Removing instruction jmp __b10
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b4
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp print_schar_pos1
Removing instruction jmp __b2
Removing instruction jmp print_schar_pos2
Removing instruction jmp print_schar_pos3
Removing instruction jmp __b3
Removing instruction jmp print_schar_pos4
Removing instruction jmp __b4
Removing instruction jmp print_schar_pos5
Removing instruction jmp __b5
Removing instruction jmp print_schar_pos6
Removing instruction jmp __b6
Removing instruction jmp print_schar_pos7
Removing instruction jmp __b7
Removing instruction jmp print_schar_pos8
Removing instruction jmp __b8
Removing instruction jmp print_schar_pos9
Removing instruction jmp __b9
Removing instruction jmp print_schar_pos10
Removing instruction jmp __b10
Removing instruction jmp print_schar_pos11
Removing instruction jmp __b11
Removing instruction jmp print_schar_pos12
Removing instruction jmp __b1
Removing instruction jmp __b12
Removing instruction jmp __b13
Removing instruction jmp __b14
Removing instruction jmp __b15
Removing instruction jmp __b16
Removing instruction jmp __b17
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #0
Removing instruction lda #<0
Removing instruction lda #>0
Removing instruction lda #<0
Removing instruction lda #>0
Removing instruction lda #0
Removing instruction ldy.z i
Removing instruction ldy.z i
Removing instruction ldy.z i
Removing instruction ldy.z i
Removing instruction ldy.z i
Removing instruction ldy.z i
Removing instruction ldy.z i
Replacing instruction lda.z i with TYA
Removing instruction ldy #0
Replacing instruction ldx zr with TAX
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __b1_from___b1 with __b1
Replacing label __b2_from___b2 with __b2
Replacing label __b1_from___b3 with __b1
Replacing label __b6_from___b9 with __b6
Replacing label __b1 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b4 with __b2
Replacing label __b1_from___b17 with __b1
Removing instruction __b1_from___init1:
Removing instruction __b2_from___b1:
Removing instruction __b1_from___b1:
Removing instruction __b4_from_debug_print_init:
Removing instruction print_str_at_from___b4:
Removing instruction __b5_from___b4:
Removing instruction print_str_at_from___b5:
Removing instruction __b6_from___b5:
Removing instruction print_str_at_from___b6:
Removing instruction __b7_from___b6:
Removing instruction print_str_at_from___b7:
Removing instruction __b8_from___b7:
Removing instruction print_str_at_from___b8:
Removing instruction __b9_from___b8:
Removing instruction print_str_at_from___b9:
Removing instruction __b10_from___b9:
Removing instruction print_str_at_from___b10:
Removing instruction __b11_from___b10:
Removing instruction print_str_at_from___b11:
Removing instruction __b12_from___b11:
Removing instruction print_str_at_from___b12:
Removing instruction __b13_from___b12:
Removing instruction print_str_at_from___b13:
Removing instruction __b14_from___b13:
Removing instruction print_str_at_from___b14:
Removing instruction __b15_from___b14:
Removing instruction print_str_at_from___b15:
Removing instruction __b1_from___b3:
Removing instruction __b2_from___b2:
Removing instruction __b1:
Removing instruction __b8_from___b5:
Removing instruction __b6_from___b9:
Removing instruction __b1_from_print_str_at:
Removing instruction __b1_from___b2:
Removing instruction print_char_at_from___b3:
Removing instruction __b2_from___b3:
Removing instruction __b2_from___b4:
Removing instruction print_char_at_from___b1:
Removing instruction print_schar_pos3_from_print_schar_pos2:
Removing instruction print_schar_at_from_print_schar_pos3:
Removing instruction __b1_from___b17:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __init1:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction debug_print_init_from___b1:
Removing instruction __b2:
Removing instruction anim_from___b2:
Removing instruction __breturn:
Removing instruction __b1_from_sprites_init:
Removing instruction __breturn:
Removing instruction print_cls_from_debug_print_init:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction __b8:
Removing instruction __b9:
Removing instruction __b10:
Removing instruction __b11:
Removing instruction __b12:
Removing instruction __b13:
Removing instruction __b14:
Removing instruction __b15:
Removing instruction __b1_from___b15:
Removing instruction print_schar_at_from___b1:
Removing instruction __b16:
Removing instruction print_schar_at_from___b16:
Removing instruction __b17:
Removing instruction print_schar_at_from___b17:
Removing instruction __b2_from___b17:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from_anim:
Removing instruction __b5:
Removing instruction __b8:
Removing instruction __b6_from___b8:
Removing instruction __b9:
Removing instruction __b7:
Removing instruction __b10:
Removing instruction __b1_from___b10:
Removing instruction memset_from_print_cls:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b4:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction print_schar_pos1:
Removing instruction print_schar_at_from_print_schar_pos1:
Removing instruction __b2:
Removing instruction print_schar_pos2:
Removing instruction print_schar_at_from_print_schar_pos2:
Removing instruction print_schar_pos3:
Removing instruction __b3:
Removing instruction print_schar_pos4:
Removing instruction print_schar_at_from_print_schar_pos4:
Removing instruction __b4:
Removing instruction print_schar_pos5:
Removing instruction print_schar_at_from_print_schar_pos5:
Removing instruction __b5:
Removing instruction print_schar_pos6:
Removing instruction print_schar_at_from_print_schar_pos6:
Removing instruction __b6:
Removing instruction print_schar_pos7:
Removing instruction print_schar_at_from_print_schar_pos7:
Removing instruction __b7:
Removing instruction print_schar_pos8:
Removing instruction print_schar_at_from_print_schar_pos8:
Removing instruction __b8:
Removing instruction print_schar_pos9:
Removing instruction print_schar_at_from_print_schar_pos9:
Removing instruction __b9:
Removing instruction print_schar_pos10:
Removing instruction print_schar_at_from_print_schar_pos10:
Removing instruction __b10:
Removing instruction print_schar_pos11:
Removing instruction print_schar_at_from_print_schar_pos11:
Removing instruction __b11:
Removing instruction print_schar_pos12:
Removing instruction print_schar_at_from_print_schar_pos12:
Removing instruction __b1_from_print_schar_pos12:
Removing instruction print_schar_at_from___b1:
Removing instruction __b12:
Removing instruction print_schar_at_from___b12:
Removing instruction __b13:
Removing instruction print_schar_at_from___b13:
Removing instruction __b14:
Removing instruction print_schar_at_from___b14:
Removing instruction __b15:
Removing instruction print_schar_at_from___b15:
Removing instruction __b16:
Removing instruction print_schar_at_from___b16:
Removing instruction __b17:
Removing instruction __breturn:
Removing instruction __b1_from_memset:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __breturn:
Removing instruction print_char_at_from_print_uchar_at:
Removing instruction __b1:
Removing instruction print_char_at_from___b1:
Removing instruction __breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b6
Removing instruction jmp __b1
Succesful ASM optimization Pass5NextJumpElimination
Fixing long branch [349] bne __b2 to beq
Fixing long branch [358] bne __b1 to beq
Fixing long branch [1002] bne __b1 to beq

FINAL SYMBOL TABLE
__constant signed char *COSH = SINH+$40
__constant signed char *COSQ = SINQ+$40
__constant const char GREEN = 5
__constant const char LIGHT_BLUE = $e
__constant const char LIGHT_GREY = $f
__constant char OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
__constant char OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
__constant char OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE = $15
__constant signed char PERSP_Z[$100] = kickasm {{ {
    .var d = 256.0	
    .var z0 = 6.0	
    // These values of d/z0 result in table values from $20 to $40 (effectively max is $3f)
    .for(var z=0;z<$100;z++) {
    	.if(z>127) {
    		.byte round(d / (z0 - ((z - 256) / 64.0)));
    	} else {
    		.byte round(d / (z0 - (z / 64.0)));
    	}
    }
	}
 }}
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant char *SCREEN = (char *) 1024
__constant signed char SINH[$140] = kickasm {{ {
    .var min = -$2000
    .var max = $2000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }
 }}
__constant signed char SINQ[$140] = kickasm {{ {
    .var min = -$1000
    .var max = $1000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }
 }}
__constant char SPRITE[] = kickasm {{ .var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
    .for (var y=0; y<21; y++)
        .for (var x=0;x<3; x++)
            .byte pic.getSinglecolorByte(x,y)
 }}
__constant char * const SPRITES_COLOR = (char *) 53287
__constant char * const SPRITES_XPOS = (char *) 53248
__constant char * const SPRITES_YPOS = (char *) 53249
__constant struct MOS6569_VICII * const VICII = (struct MOS6569_VICII *) 53248
void __start()
void anim()
char anim::$10 // reg byte a 20002.0
char anim::$13 // reg byte a 20002.0
char anim::$14 // reg byte a 20002.0
char anim::$9 // reg byte a 20002.0
char anim::i
char anim::i#1 // i zp[1]:4 15001.5
char anim::i#2 // i zp[1]:4 6316.421052631579
char anim::i2
char anim::i2#0 // reg byte x 5000.5
void calculate_matrix(signed char sx , signed char sy , signed char sz)
signed char calculate_matrix::$10 // reg byte a 20002.0
signed char calculate_matrix::$11 // reg byte a 20002.0
signed char calculate_matrix::$12 // reg byte a 20002.0
signed char calculate_matrix::$13 // reg byte a 20002.0
signed char calculate_matrix::$14 // reg byte a 20002.0
signed char calculate_matrix::$15 // reg byte a 20002.0
signed char calculate_matrix::$16 // reg byte a 20002.0
signed char calculate_matrix::$17 // reg byte a 20002.0
signed char calculate_matrix::$18 // reg byte a 20002.0
signed char calculate_matrix::$19 // reg byte a 20002.0
signed char calculate_matrix::$20 // reg byte a 20002.0
signed char calculate_matrix::$21 // reg byte a 20002.0
signed char calculate_matrix::$22 // reg byte a 20002.0
signed char calculate_matrix::$23 // reg byte a 20002.0
signed char calculate_matrix::$24 // reg byte a 20002.0
signed char calculate_matrix::$25 // reg byte a 20002.0
signed char calculate_matrix::$26 // reg byte a 20002.0
signed char calculate_matrix::$27 // reg byte a 20002.0
signed char calculate_matrix::$28 // reg byte a 20002.0
signed char calculate_matrix::$29 // reg byte a 20002.0
signed char calculate_matrix::$30 // reg byte a 20002.0
signed char calculate_matrix::$31 // reg byte a 20002.0
signed char calculate_matrix::$32 // reg byte a 20002.0
signed char calculate_matrix::$33 // reg byte a 20002.0
signed char calculate_matrix::$34 // reg byte a 20002.0
signed char calculate_matrix::sx
signed char calculate_matrix::sx#0 // reg byte x 7364.454545454545
signed char calculate_matrix::sy
signed char calculate_matrix::sy#0 // sy zp[1]:3 4067.133333333334
signed char calculate_matrix::sz
signed char calculate_matrix::t1
signed char calculate_matrix::t1#0 // t1 zp[1]:33 4167.083333333333
signed char calculate_matrix::t10
signed char calculate_matrix::t10#0 // reg byte x 909.1818181818182
signed char calculate_matrix::t2
signed char calculate_matrix::t2#0 // t2 zp[1]:34 4545.909090909091
signed char calculate_matrix::t3
signed char calculate_matrix::t3#0 // t3 zp[1]:35 1470.7352941176468
signed char calculate_matrix::t4
signed char calculate_matrix::t4#0 // t4 zp[1]:36 1515.3030303030303
signed char calculate_matrix::t5
signed char calculate_matrix::t5#0 // t5 zp[1]:37 1470.7352941176468
signed char calculate_matrix::t6
signed char calculate_matrix::t6#0 // t6 zp[1]:38 1562.65625
signed char calculate_matrix::t7
signed char calculate_matrix::t7#0 // t7 zp[1]:39 1515.3030303030303
signed char calculate_matrix::t8
signed char calculate_matrix::t8#0 // t8 zp[1]:40 1515.3030303030303
signed char calculate_matrix::t9
signed char calculate_matrix::t9#0 // t9 zp[1]:41 882.4411764705882
void debug_print()
char *debug_print::at_line
__constant char *debug_print::at_line#0 = SCREEN+(unsigned int)$13*$28 // at_line
char debug_print::c
char debug_print::c#1 // c zp[1]:35 666667.3333333334
char debug_print::c#2 // c zp[1]:35 421053.05263157893
char debug_print::i
char debug_print::i#1 // i zp[1]:33 1500001.5
char debug_print::i#2 // i zp[1]:33 400000.39999999997
char debug_print::print_schar_pos10_col
__constant char debug_print::print_schar_pos10_col#0 = $1d // print_schar_pos10_col
char debug_print::print_schar_pos10_row
__constant char debug_print::print_schar_pos10_row#0 = 6 // print_schar_pos10_row
signed char debug_print::print_schar_pos10_sb
signed char debug_print::print_schar_pos10_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos11_col
__constant char debug_print::print_schar_pos11_col#0 = $21 // print_schar_pos11_col
char debug_print::print_schar_pos11_row
__constant char debug_print::print_schar_pos11_row#0 = 6 // print_schar_pos11_row
signed char debug_print::print_schar_pos11_sb
signed char debug_print::print_schar_pos11_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos12_col
__constant char debug_print::print_schar_pos12_col#0 = $25 // print_schar_pos12_col
char debug_print::print_schar_pos12_row
__constant char debug_print::print_schar_pos12_row#0 = 6 // print_schar_pos12_row
signed char debug_print::print_schar_pos12_sb
signed char debug_print::print_schar_pos12_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos1_col
__constant char debug_print::print_schar_pos1_col#0 = $25 // print_schar_pos1_col
char debug_print::print_schar_pos1_row
signed char debug_print::print_schar_pos1_sb
signed char debug_print::print_schar_pos1_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos2_col
__constant char debug_print::print_schar_pos2_col#0 = $25 // print_schar_pos2_col
char debug_print::print_schar_pos2_row
__constant char debug_print::print_schar_pos2_row#0 = 1 // print_schar_pos2_row
signed char debug_print::print_schar_pos2_sb
signed char debug_print::print_schar_pos2_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos3_col
__constant char debug_print::print_schar_pos3_col#0 = $25 // print_schar_pos3_col
char debug_print::print_schar_pos3_row
__constant char debug_print::print_schar_pos3_row#0 = 2 // print_schar_pos3_row
signed char debug_print::print_schar_pos3_sb
char debug_print::print_schar_pos4_col
__constant char debug_print::print_schar_pos4_col#0 = $1d // print_schar_pos4_col
char debug_print::print_schar_pos4_row
__constant char debug_print::print_schar_pos4_row#0 = 4 // print_schar_pos4_row
signed char debug_print::print_schar_pos4_sb
signed char debug_print::print_schar_pos4_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos5_col
__constant char debug_print::print_schar_pos5_col#0 = $21 // print_schar_pos5_col
char debug_print::print_schar_pos5_row
__constant char debug_print::print_schar_pos5_row#0 = 4 // print_schar_pos5_row
signed char debug_print::print_schar_pos5_sb
signed char debug_print::print_schar_pos5_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos6_col
__constant char debug_print::print_schar_pos6_col#0 = $25 // print_schar_pos6_col
char debug_print::print_schar_pos6_row
__constant char debug_print::print_schar_pos6_row#0 = 4 // print_schar_pos6_row
signed char debug_print::print_schar_pos6_sb
signed char debug_print::print_schar_pos6_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos7_col
__constant char debug_print::print_schar_pos7_col#0 = $1d // print_schar_pos7_col
char debug_print::print_schar_pos7_row
__constant char debug_print::print_schar_pos7_row#0 = 5 // print_schar_pos7_row
signed char debug_print::print_schar_pos7_sb
signed char debug_print::print_schar_pos7_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos8_col
__constant char debug_print::print_schar_pos8_col#0 = $21 // print_schar_pos8_col
char debug_print::print_schar_pos8_row
__constant char debug_print::print_schar_pos8_row#0 = 5 // print_schar_pos8_row
signed char debug_print::print_schar_pos8_sb
signed char debug_print::print_schar_pos8_sb#0 // reg byte a 20002.0
char debug_print::print_schar_pos9_col
__constant char debug_print::print_schar_pos9_col#0 = $25 // print_schar_pos9_col
char debug_print::print_schar_pos9_row
__constant char debug_print::print_schar_pos9_row#0 = 5 // print_schar_pos9_row
signed char debug_print::print_schar_pos9_sb
signed char debug_print::print_schar_pos9_sb#0 // reg byte a 20002.0
void debug_print_init()
char *debug_print_init::$41 // zp[2]:15 20002.0
char *debug_print_init::$44 // zp[2]:17 20002.0
char *debug_print_init::$47 // zp[2]:19 20002.0
char *debug_print_init::$50 // zp[2]:21 20002.0
char *debug_print_init::$53 // zp[2]:23 20002.0
char *debug_print_init::$56 // zp[2]:25 20002.0
char *debug_print_init::$59 // zp[2]:27 20002.0
char *debug_print_init::$62 // zp[2]:29 20002.0
char *debug_print_init::$65 // zp[2]:31 20002.0
__constant char *debug_print_init::COLS = (char *) 55296
char *debug_print_init::at_cols
__constant char *debug_print_init::at_cols#0 = debug_print_init::COLS+(unsigned int)$10*$28 // at_cols
char *debug_print_init::at_line
__constant char *debug_print_init::at_line#0 = SCREEN+(unsigned int)$10*$28 // at_line
char debug_print_init::c
char debug_print_init::c#1 // c zp[1]:2 667.3333333333334
char debug_print_init::c#2 // c zp[1]:2 2969.1875
char debug_print_init::col
char debug_print_init::col#0 // reg byte x 5556.111111111112
char debug_print_init::i
char debug_print_init::i#1 // i zp[1]:3 1501.5
char debug_print_init::i#2 // i zp[1]:3 454.7272727272727
char debug_print_init::j
char debug_print_init::j#1 // reg byte y 15001.5
char debug_print_init::j#2 // reg byte y 5500.550000000001
__constant char debug_print_init::str[3] = "sx"
__constant char debug_print_init::str1[3] = "sy"
__constant char debug_print_init::str10[3] = "xp"
__constant char debug_print_init::str11[3] = "yp"
__constant char debug_print_init::str2[3] = "sz"
__constant char debug_print_init::str3[2] = "x"
__constant char debug_print_init::str4[2] = "y"
__constant char debug_print_init::str5[2] = "z"
__constant char debug_print_init::str6[3] = "xr"
__constant char debug_print_init::str7[3] = "yr"
__constant char debug_print_init::str8[3] = "zr"
__constant char debug_print_init::str9[3] = "pp"
void main()
void * memset(void *str , char c , unsigned int num)
char memset::c
__constant char memset::c#0 = ' ' // c
char *memset::dst
char *memset::dst#1 // dst zp[2]:17 200002.0
char *memset::dst#2 // dst zp[2]:17 133334.66666666666
char *memset::end
__constant char *memset::end#0 = (char *)memset::str#0+memset::num#0 // end
unsigned int memset::num
__constant unsigned int memset::num#0 = $3e8 // num
void *memset::return
void *memset::str
__constant void *memset::str#0 = (void *)print_screen#0 // str
__constant char mulf_sqr1[$200] = kickasm {{ .for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((i*i)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) }
    	.if(i>351) { .byte round(((512-i)*(512-i))/256) }
    }
 }}
__constant char mulf_sqr2[$200] = kickasm {{ .for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((-i-1)*(-i-1)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) }
    	.if(i>351) { .byte round(((i-511)*(i-511))/256) }  
    }
 }}
__loadstore volatile signed char pp // zp[1]:8 185.24074074074073
__constant signed char pps[8] = { fill( 8, 0) }
void print_char_at(char ch , char *at)
char *print_char_at::at
char *print_char_at::at#0 // at zp[2]:15 2.0000002E7
char *print_char_at::at#1 // at zp[2]:15 2.0000002E7
char *print_char_at::at#2 // at zp[2]:15 2.00000002E8
char *print_char_at::at#3 // at zp[2]:15 1.00000001E8
char *print_char_at::at#4 // at zp[2]:15 1.220000005E9
char print_char_at::ch
char print_char_at::ch#2 // reg byte x 1.00000001E8
char print_char_at::ch#3 // reg byte x 2.00000002E8
char print_char_at::ch#4 // reg byte x 1.200000003E9
void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z
void print_schar_at(signed char b , char *at)
char *print_schar_at::at
char *print_schar_at::at#0 // at zp[2]:15 1001.0
char *print_schar_at::at#1 // at zp[2]:15 1001.0
char *print_schar_at::at#15 // at zp[2]:15 1000001.0
char *print_schar_at::at#16 // at zp[2]:15 1000001.0
char *print_schar_at::at#17 // at zp[2]:15 1000001.0
char *print_schar_at::at#18 // at zp[2]:15 1000001.0
char *print_schar_at::at#19 // at zp[2]:15 1000001.0
char *print_schar_at::at#2 // at zp[2]:15 1001.0
char *print_schar_at::at#20 // at zp[2]:15 1000001.0
char *print_schar_at::at#21 // at zp[2]:15 4500376.5
signed char print_schar_at::b
signed char print_schar_at::b#0 // b zp[1]:34 2.0000002E7
signed char print_schar_at::b#1 // b zp[1]:34 2002.0
signed char print_schar_at::b#10 // b zp[1]:34 20002.0
signed char print_schar_at::b#11 // b zp[1]:34 20002.0
signed char print_schar_at::b#12 // b zp[1]:34 20002.0
signed char print_schar_at::b#13 // b zp[1]:34 20002.0
signed char print_schar_at::b#14 // b zp[1]:34 20002.0
signed char print_schar_at::b#15 // b zp[1]:34 20002.0
signed char print_schar_at::b#16 // b zp[1]:34 2000002.0
signed char print_schar_at::b#17 // b zp[1]:34 2000002.0
signed char print_schar_at::b#18 // b zp[1]:34 2000002.0
signed char print_schar_at::b#19 // b zp[1]:34 2000002.0
signed char print_schar_at::b#2 // b zp[1]:34 2002.0
signed char print_schar_at::b#20 // b zp[1]:34 2000002.0
signed char print_schar_at::b#21 // b zp[1]:34 2000002.0
signed char print_schar_at::b#22 // b zp[1]:34 6018837.166666667
signed char print_schar_at::b#24 // b zp[1]:34 1.0000001E7
signed char print_schar_at::b#3 // b zp[1]:34 2002.0
signed char print_schar_at::b#4 // b zp[1]:34 20002.0
signed char print_schar_at::b#5 // b zp[1]:34 20002.0
signed char print_schar_at::b#7 // b zp[1]:34 20002.0
signed char print_schar_at::b#8 // b zp[1]:34 20002.0
signed char print_schar_at::b#9 // b zp[1]:34 20002.0
char *print_screen
__constant char *print_screen#0 = (char *) 1024 // print_screen
void print_str_at(char *str , char *at)
char *print_str_at::at
char *print_str_at::at#0 // at zp[2]:17 10001.0
char *print_str_at::at#13 // at zp[2]:17 10334.666666666666
char *print_str_at::at#15 // at zp[2]:17 1001.0
char *print_str_at::str
char *print_str_at::str#0 // str zp[2]:15 20002.0
char *print_str_at::str#13 // str zp[2]:15 10251.25
char *print_str_at::str#15 // str zp[2]:15 1001.0
void print_uchar_at(char b , char *at)
char print_uchar_at::$0 // reg byte a 2.00000002E8
char print_uchar_at::$2 // reg byte y 1.00000001E8
char *print_uchar_at::at
char *print_uchar_at::at#0 // at zp[2]:15 3.000000042857143E7
char print_uchar_at::b
char print_uchar_at::b#0 // b zp[1]:34 4.2000000599999994E7
__loadstore volatile unsigned int psp1 // zp[2]:11 0.28260869565217395
__loadstore volatile unsigned int psp2 // zp[2]:13 0.28888888888888886
void rotate_matrix(signed char x , signed char y , signed char z)
signed char rotate_matrix::x
signed char rotate_matrix::x#0 // reg byte x 36667.33333333333
signed char rotate_matrix::y
signed char rotate_matrix::y#0 // y zp[1]:34 36667.33333333333
signed char rotate_matrix::z
signed char rotate_matrix::z#0 // z zp[1]:35 36667.33333333333
__constant signed char rotation_matrix[9] = { fill( 9, 0) }
void sprites_init()
__constant char *sprites_init::SCREEN = (char *) 1024
char sprites_init::i
char sprites_init::i#1 // reg byte x 1501.5
char sprites_init::i#2 // reg byte x 1334.6666666666667
char *sprites_init::sprites_ptr
__constant char *sprites_init::sprites_ptr#0 = sprites_init::SCREEN+$3f8 // sprites_ptr
void store_matrix()
signed char sx
signed char sx#11 // sx zp[1]:2 141.34782608695653
signed char sx#2 // sx zp[1]:2 1001.0
signed char sy
signed char sy#11 // sy zp[1]:3 139.8279569892473
signed char sy#2 // sy zp[1]:3 2002.0
__constant signed char sz = 0
__loadstore volatile signed char xp // zp[1]:9 188.7358490566038
__constant signed char xps[8] = { fill( 8, 0) }
__loadstore volatile signed char xr // zp[1]:5 18334.0
__constant signed char xrs[8] = { fill( 8, 0) }
__constant signed char xs[8] = { -$34, -$34, -$34, 0, 0, $34, $34, $34 }
__loadstore volatile signed char yp // zp[1]:10 192.3653846153846
__constant signed char yps[8] = { fill( 8, 0) }
__loadstore volatile signed char yr // zp[1]:6 18334.0
__constant signed char yrs[8] = { fill( 8, 0) }
__constant signed char ys[8] = { -$34, 0, $34, -$34, $34, -$34, 0, $34 }
__loadstore volatile signed char zr // zp[1]:7 18334.0
__constant signed char zrs[8] = { fill( 8, 0) }
__constant signed char zs[8] = { $34, $34, $34, $34, $34, $34, $34, $34 }

reg byte x [ sprites_init::i#2 sprites_init::i#1 ]
reg byte y [ debug_print_init::j#2 debug_print_init::j#1 ]
zp[1]:2 [ sx#11 sx#2 debug_print_init::c#2 debug_print_init::c#1 ]
zp[1]:3 [ sy#11 sy#2 calculate_matrix::sy#0 debug_print_init::i#2 debug_print_init::i#1 ]
zp[1]:4 [ anim::i#2 anim::i#1 ]
reg byte x [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ]
zp[1]:5 [ xr ]
zp[1]:6 [ yr ]
zp[1]:7 [ zr ]
zp[1]:8 [ pp ]
zp[1]:9 [ xp ]
zp[1]:10 [ yp ]
zp[2]:11 [ psp1 ]
zp[2]:13 [ psp2 ]
reg byte x [ debug_print_init::col#0 ]
zp[2]:15 [ debug_print_init::$41 print_schar_at::at#21 print_schar_at::at#15 print_schar_at::at#16 print_schar_at::at#17 print_schar_at::at#18 print_schar_at::at#19 print_schar_at::at#20 print_schar_at::at#0 print_schar_at::at#1 print_schar_at::at#2 print_char_at::at#4 print_char_at::at#0 print_char_at::at#1 print_char_at::at#2 print_char_at::at#3 print_uchar_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 ]
zp[2]:17 [ debug_print_init::$44 memset::dst#2 memset::dst#1 print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 ]
zp[2]:19 [ debug_print_init::$47 ]
zp[2]:21 [ debug_print_init::$50 ]
zp[2]:23 [ debug_print_init::$53 ]
zp[2]:25 [ debug_print_init::$56 ]
zp[2]:27 [ debug_print_init::$59 ]
zp[2]:29 [ debug_print_init::$62 ]
zp[2]:31 [ debug_print_init::$65 ]
reg byte x [ calculate_matrix::sx#0 ]
reg byte x [ rotate_matrix::x#0 ]
reg byte x [ anim::i2#0 ]
reg byte a [ anim::$13 ]
reg byte a [ anim::$9 ]
reg byte a [ anim::$14 ]
reg byte a [ anim::$10 ]
zp[1]:33 [ calculate_matrix::t1#0 debug_print::i#2 debug_print::i#1 ]
zp[1]:34 [ calculate_matrix::t2#0 rotate_matrix::y#0 print_schar_at::b#24 print_schar_at::b#0 print_schar_at::b#22 print_schar_at::b#16 print_schar_at::b#17 print_schar_at::b#18 print_schar_at::b#19 print_schar_at::b#20 print_schar_at::b#21 print_schar_at::b#4 print_schar_at::b#13 print_schar_at::b#14 print_schar_at::b#15 print_schar_at::b#5 print_schar_at::b#7 print_schar_at::b#8 print_schar_at::b#9 print_schar_at::b#10 print_schar_at::b#11 print_schar_at::b#12 print_schar_at::b#1 print_schar_at::b#2 print_schar_at::b#3 print_uchar_at::b#0 ]
zp[1]:35 [ calculate_matrix::t3#0 rotate_matrix::z#0 debug_print::c#2 debug_print::c#1 ]
zp[1]:36 [ calculate_matrix::t4#0 ]
zp[1]:37 [ calculate_matrix::t5#0 ]
zp[1]:38 [ calculate_matrix::t6#0 ]
zp[1]:39 [ calculate_matrix::t7#0 ]
zp[1]:40 [ calculate_matrix::t8#0 ]
zp[1]:41 [ calculate_matrix::t9#0 ]
reg byte x [ calculate_matrix::t10#0 ]
reg byte a [ calculate_matrix::$10 ]
reg byte a [ calculate_matrix::$11 ]
reg byte a [ calculate_matrix::$12 ]
reg byte a [ calculate_matrix::$13 ]
reg byte a [ calculate_matrix::$14 ]
reg byte a [ calculate_matrix::$15 ]
reg byte a [ calculate_matrix::$16 ]
reg byte a [ calculate_matrix::$17 ]
reg byte a [ calculate_matrix::$18 ]
reg byte a [ calculate_matrix::$19 ]
reg byte a [ calculate_matrix::$20 ]
reg byte a [ calculate_matrix::$21 ]
reg byte a [ calculate_matrix::$22 ]
reg byte a [ calculate_matrix::$23 ]
reg byte a [ calculate_matrix::$24 ]
reg byte a [ calculate_matrix::$25 ]
reg byte a [ calculate_matrix::$26 ]
reg byte a [ calculate_matrix::$27 ]
reg byte a [ calculate_matrix::$28 ]
reg byte a [ calculate_matrix::$29 ]
reg byte a [ calculate_matrix::$30 ]
reg byte a [ calculate_matrix::$31 ]
reg byte a [ calculate_matrix::$32 ]
reg byte a [ calculate_matrix::$33 ]
reg byte a [ calculate_matrix::$34 ]
reg byte a [ debug_print::print_schar_pos1_sb#0 ]
reg byte a [ debug_print::print_schar_pos2_sb#0 ]
reg byte a [ debug_print::print_schar_pos4_sb#0 ]
reg byte a [ debug_print::print_schar_pos5_sb#0 ]
reg byte a [ debug_print::print_schar_pos6_sb#0 ]
reg byte a [ debug_print::print_schar_pos7_sb#0 ]
reg byte a [ debug_print::print_schar_pos8_sb#0 ]
reg byte a [ debug_print::print_schar_pos9_sb#0 ]
reg byte a [ debug_print::print_schar_pos10_sb#0 ]
reg byte a [ debug_print::print_schar_pos11_sb#0 ]
reg byte a [ debug_print::print_schar_pos12_sb#0 ]
reg byte a [ print_uchar_at::$0 ]
reg byte y [ print_uchar_at::$2 ]


FINAL ASSEMBLER
Score: 64652

  // File Comments
// 3D Rotation using a Rotation Matrix
// Based on: 
// - C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt
// - Codebase64 Article http://codebase64.org/doku.php?id=base:3d_rotation  
/// @file
/// Commodore 64 Registers and Constants
/// @file
/// The MOS 6526 Complex Interface Adapter (CIA)
///
/// http://archive.6502.org/datasheets/mos_6526_cia_recreated.pdf
  // Upstart
  // Commodore 64 PRG executable file
.file [name="3d.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
  // Global Constants & labels
  .const GREEN = 5
  .const LIGHT_BLUE = $e
  .const LIGHT_GREY = $f
  .const OFFSET_STRUCT_MOS6569_VICII_RASTER = $12
  .const OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR = $20
  .const OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE = $15
  .const sz = 0
  /// Sprite X position register for sprite #0
  .label SPRITES_XPOS = $d000
  /// Sprite Y position register for sprite #0
  .label SPRITES_YPOS = $d001
  /// Sprite colors register for sprite #0
  .label SPRITES_COLOR = $d027
  /// The VIC-II MOS 6567/6569
  .label VICII = $d000
  .label SCREEN = $400
  .label COSH = SINH+$40
  .label COSQ = SINQ+$40
  .label print_screen = $400
  // The rotated point - updated by calling rotate_matrix()
  .label xr = 5
  .label yr = 6
  .label zr = 7
  // The rotated point with perspective
  .label pp = 8
  .label xp = 9
  .label yp = $a
  // Pointers used to multiply perspective (d/z0-z) onto x- & y-coordinates. Points into mulf_sqr1 / mulf_sqr2  
  .label psp1 = $b
  .label psp2 = $d
  .label sx = 2
  .label sy = 3
.segment Code
  // __start
__start: {
    // __start::__init1
    // signed char xr
    // [1] xr = 0 -- vbsz1=vbsc1 
    lda #0
    sta.z xr
    // signed char yr
    // [2] yr = 0 -- vbsz1=vbsc1 
    sta.z yr
    // signed char zr
    // [3] zr = 0 -- vbsz1=vbsc1 
    sta.z zr
    // signed char pp
    // [4] pp = 0 -- vbsz1=vbsc1 
    sta.z pp
    // signed char xp
    // [5] xp = 0 -- vbsz1=vbsc1 
    sta.z xp
    // signed char yp
    // [6] yp = 0 -- vbsz1=vbsc1 
    sta.z yp
    // unsigned int psp1
    // [7] psp1 = 0 -- vwuz1=vwuc1 
    sta.z psp1
    sta.z psp1+1
    // unsigned int psp2
    // [8] psp2 = 0 -- vwuz1=vwuc1 
    sta.z psp2
    sta.z psp2+1
    // [9] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
    // __start::@1
    // [10] call main
    jsr main
    // __start::@return
    // [11] return 
    rts
}
  // main
main: {
    // asm
    // asm { sei  }
    sei
    // sprites_init()
    // [13] call sprites_init
    jsr sprites_init
    // main::@1
    // psp1 = (unsigned int)mulf_sqr1
    // [14] psp1 = (unsigned int)mulf_sqr1 -- vwuz1=vwuc1 
    //mulf_init();
    lda #<mulf_sqr1
    sta.z psp1
    lda #>mulf_sqr1
    sta.z psp1+1
    // psp2 = (unsigned int)mulf_sqr2
    // [15] psp2 = (unsigned int)mulf_sqr2 -- vwuz1=vwuc1 
    lda #<mulf_sqr2
    sta.z psp2
    lda #>mulf_sqr2
    sta.z psp2+1
    // debug_print_init()
    // [16] call debug_print_init
    // [27] phi from main::@1 to debug_print_init [phi:main::@1->debug_print_init]
    jsr debug_print_init
    // [17] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
    // main::@2
    // anim()
    // [18] call anim
  //calculate_matrix(1,1,1);
    // [89] phi from main::@2 to anim [phi:main::@2->anim]
    jsr anim
    // main::@return
    // }
    // [19] return 
    rts
}
  // sprites_init
// Initialize sprites
sprites_init: {
    .label SCREEN = $400
    .label sprites_ptr = SCREEN+$3f8
    // VICII->SPRITES_ENABLE = %11111111
    // [20] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff -- _deref_pbuc1=vbuc2 
    lda #$ff
    sta VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE
    // [21] phi from sprites_init to sprites_init::@1 [phi:sprites_init->sprites_init::@1]
    // [21] phi sprites_init::i#2 = 0 [phi:sprites_init->sprites_init::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [21] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1]
    // [21] phi sprites_init::i#2 = sprites_init::i#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy 
    // sprites_init::@1
  __b1:
    // sprites_ptr[i] = (char)(SPRITE/$40)
    // [22] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)SPRITE/$40 -- pbuc1_derefidx_vbuxx=vbuc2 
    lda #$ff&SPRITE/$40
    sta sprites_ptr,x
    // SPRITES_COLOR[i] = GREEN
    // [23] SPRITES_COLOR[sprites_init::i#2] = GREEN -- pbuc1_derefidx_vbuxx=vbuc2 
    lda #GREEN
    sta SPRITES_COLOR,x
    // for(char i: 0..7)
    // [24] sprites_init::i#1 = ++ sprites_init::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [25] if(sprites_init::i#1!=8) goto sprites_init::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #8
    bne __b1
    // sprites_init::@return
    // }
    // [26] return 
    rts
}
  // debug_print_init
debug_print_init: {
    .label COLS = $d800
    .label at_line = SCREEN+$10*$28
    .label at_cols = COLS+$10*$28
    .label __41 = $f
    .label __44 = $11
    .label __47 = $13
    .label __50 = $15
    .label __53 = $17
    .label __56 = $19
    .label __59 = $1b
    .label __62 = $1d
    .label __65 = $1f
    .label c = 2
    .label i = 3
    // print_cls()
    // [28] call print_cls
    // [126] phi from debug_print_init to print_cls [phi:debug_print_init->print_cls]
    jsr print_cls
    // [29] phi from debug_print_init to debug_print_init::@4 [phi:debug_print_init->debug_print_init::@4]
    // debug_print_init::@4
    // print_str_at("sx", SCREEN+40*0+34)
    // [30] call print_str_at
    // [129] phi from debug_print_init::@4 to print_str_at [phi:debug_print_init::@4->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+$22 [phi:debug_print_init::@4->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$22
    sta.z print_str_at.at
    lda #>SCREEN+$22
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str [phi:debug_print_init::@4->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str_at.str
    lda #>str
    sta.z print_str_at.str+1
    jsr print_str_at
    // [31] phi from debug_print_init::@4 to debug_print_init::@5 [phi:debug_print_init::@4->debug_print_init::@5]
    // debug_print_init::@5
    // print_str_at("sy", SCREEN+40*1+34)
    // [32] call print_str_at
    // [129] phi from debug_print_init::@5 to print_str_at [phi:debug_print_init::@5->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+$28*1+$22 [phi:debug_print_init::@5->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*1+$22
    sta.z print_str_at.at
    lda #>SCREEN+$28*1+$22
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str1 [phi:debug_print_init::@5->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str_at.str
    lda #>str1
    sta.z print_str_at.str+1
    jsr print_str_at
    // [33] phi from debug_print_init::@5 to debug_print_init::@6 [phi:debug_print_init::@5->debug_print_init::@6]
    // debug_print_init::@6
    // print_str_at("sz", SCREEN+40*2+34)
    // [34] call print_str_at
    // [129] phi from debug_print_init::@6 to print_str_at [phi:debug_print_init::@6->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+$28*2+$22 [phi:debug_print_init::@6->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*2+$22
    sta.z print_str_at.at
    lda #>SCREEN+$28*2+$22
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str2 [phi:debug_print_init::@6->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str_at.str
    lda #>str2
    sta.z print_str_at.str+1
    jsr print_str_at
    // [35] phi from debug_print_init::@6 to debug_print_init::@7 [phi:debug_print_init::@6->debug_print_init::@7]
    // debug_print_init::@7
    // print_str_at("x", SCREEN+40*16)
    // [36] call print_str_at
    // [129] phi from debug_print_init::@7 to print_str_at [phi:debug_print_init::@7->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$10 [phi:debug_print_init::@7->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$10
    sta.z print_str_at.at
    lda #>SCREEN+$28*$10
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str3 [phi:debug_print_init::@7->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str3
    sta.z print_str_at.str
    lda #>str3
    sta.z print_str_at.str+1
    jsr print_str_at
    // [37] phi from debug_print_init::@7 to debug_print_init::@8 [phi:debug_print_init::@7->debug_print_init::@8]
    // debug_print_init::@8
    // print_str_at("y", SCREEN+40*17)
    // [38] call print_str_at
    // [129] phi from debug_print_init::@8 to print_str_at [phi:debug_print_init::@8->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$11 [phi:debug_print_init::@8->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$11
    sta.z print_str_at.at
    lda #>SCREEN+$28*$11
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str4 [phi:debug_print_init::@8->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str4
    sta.z print_str_at.str
    lda #>str4
    sta.z print_str_at.str+1
    jsr print_str_at
    // [39] phi from debug_print_init::@8 to debug_print_init::@9 [phi:debug_print_init::@8->debug_print_init::@9]
    // debug_print_init::@9
    // print_str_at("z", SCREEN+40*18)
    // [40] call print_str_at
    // [129] phi from debug_print_init::@9 to print_str_at [phi:debug_print_init::@9->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$12 [phi:debug_print_init::@9->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$12
    sta.z print_str_at.at
    lda #>SCREEN+$28*$12
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str5 [phi:debug_print_init::@9->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str5
    sta.z print_str_at.str
    lda #>str5
    sta.z print_str_at.str+1
    jsr print_str_at
    // [41] phi from debug_print_init::@9 to debug_print_init::@10 [phi:debug_print_init::@9->debug_print_init::@10]
    // debug_print_init::@10
    // print_str_at("xr", SCREEN+40*19)
    // [42] call print_str_at
    // [129] phi from debug_print_init::@10 to print_str_at [phi:debug_print_init::@10->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$13 [phi:debug_print_init::@10->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$13
    sta.z print_str_at.at
    lda #>SCREEN+$28*$13
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str6 [phi:debug_print_init::@10->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str6
    sta.z print_str_at.str
    lda #>str6
    sta.z print_str_at.str+1
    jsr print_str_at
    // [43] phi from debug_print_init::@10 to debug_print_init::@11 [phi:debug_print_init::@10->debug_print_init::@11]
    // debug_print_init::@11
    // print_str_at("yr", SCREEN+40*20)
    // [44] call print_str_at
    // [129] phi from debug_print_init::@11 to print_str_at [phi:debug_print_init::@11->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$14 [phi:debug_print_init::@11->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$14
    sta.z print_str_at.at
    lda #>SCREEN+$28*$14
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str7 [phi:debug_print_init::@11->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str7
    sta.z print_str_at.str
    lda #>str7
    sta.z print_str_at.str+1
    jsr print_str_at
    // [45] phi from debug_print_init::@11 to debug_print_init::@12 [phi:debug_print_init::@11->debug_print_init::@12]
    // debug_print_init::@12
    // print_str_at("zr", SCREEN+40*21)
    // [46] call print_str_at
    // [129] phi from debug_print_init::@12 to print_str_at [phi:debug_print_init::@12->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$15 [phi:debug_print_init::@12->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$15
    sta.z print_str_at.at
    lda #>SCREEN+$28*$15
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str8 [phi:debug_print_init::@12->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str8
    sta.z print_str_at.str
    lda #>str8
    sta.z print_str_at.str+1
    jsr print_str_at
    // [47] phi from debug_print_init::@12 to debug_print_init::@13 [phi:debug_print_init::@12->debug_print_init::@13]
    // debug_print_init::@13
    // print_str_at("pp", SCREEN+40*22)
    // [48] call print_str_at
    // [129] phi from debug_print_init::@13 to print_str_at [phi:debug_print_init::@13->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$16 [phi:debug_print_init::@13->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$16
    sta.z print_str_at.at
    lda #>SCREEN+$28*$16
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str9 [phi:debug_print_init::@13->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str9
    sta.z print_str_at.str
    lda #>str9
    sta.z print_str_at.str+1
    jsr print_str_at
    // [49] phi from debug_print_init::@13 to debug_print_init::@14 [phi:debug_print_init::@13->debug_print_init::@14]
    // debug_print_init::@14
    // print_str_at("xp", SCREEN+40*23)
    // [50] call print_str_at
    // [129] phi from debug_print_init::@14 to print_str_at [phi:debug_print_init::@14->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$17 [phi:debug_print_init::@14->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$17
    sta.z print_str_at.at
    lda #>SCREEN+$28*$17
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str10 [phi:debug_print_init::@14->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str10
    sta.z print_str_at.str
    lda #>str10
    sta.z print_str_at.str+1
    jsr print_str_at
    // [51] phi from debug_print_init::@14 to debug_print_init::@15 [phi:debug_print_init::@14->debug_print_init::@15]
    // debug_print_init::@15
    // print_str_at("yp", SCREEN+40*24)
    // [52] call print_str_at
    // [129] phi from debug_print_init::@15 to print_str_at [phi:debug_print_init::@15->print_str_at]
    // [129] phi print_str_at::at#15 = SCREEN+(unsigned int)$28*$18 [phi:debug_print_init::@15->print_str_at#0] -- pbuz1=pbuc1 
    lda #<SCREEN+$28*$18
    sta.z print_str_at.at
    lda #>SCREEN+$28*$18
    sta.z print_str_at.at+1
    // [129] phi print_str_at::str#15 = debug_print_init::str11 [phi:debug_print_init::@15->print_str_at#1] -- pbuz1=pbuc1 
    lda #<str11
    sta.z print_str_at.str
    lda #>str11
    sta.z print_str_at.str+1
    jsr print_str_at
    // [53] phi from debug_print_init::@15 to debug_print_init::@1 [phi:debug_print_init::@15->debug_print_init::@1]
    // [53] phi debug_print_init::i#2 = 0 [phi:debug_print_init::@15->debug_print_init::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [53] phi debug_print_init::c#2 = 4 [phi:debug_print_init::@15->debug_print_init::@1#1] -- vbuz1=vbuc1 
    lda #4
    sta.z c
    // [53] phi from debug_print_init::@3 to debug_print_init::@1 [phi:debug_print_init::@3->debug_print_init::@1]
    // [53] phi debug_print_init::i#2 = debug_print_init::i#1 [phi:debug_print_init::@3->debug_print_init::@1#0] -- register_copy 
    // [53] phi debug_print_init::c#2 = debug_print_init::c#1 [phi:debug_print_init::@3->debug_print_init::@1#1] -- register_copy 
    // debug_print_init::@1
  __b1:
    // print_schar_at(xs[i], at_line+40*0+c)
    // [54] print_schar_at::at#0 = debug_print_init::at_line#0 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line
    sta.z print_schar_at.at
    lda #>at_line
    adc #0
    sta.z print_schar_at.at+1
    // [55] print_schar_at::b#1 = xs[debug_print_init::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda xs,y
    sta.z print_schar_at.b
    // [56] call print_schar_at
    // [136] phi from debug_print_init::@1 to print_schar_at [phi:debug_print_init::@1->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#0 [phi:debug_print_init::@1->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#1 [phi:debug_print_init::@1->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print_init::@16
    // print_schar_at(ys[i], at_line+40*1+c)
    // [57] print_schar_at::at#1 = debug_print_init::at_line#0+$28*1 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*1
    sta.z print_schar_at.at
    lda #>at_line+$28*1
    adc #0
    sta.z print_schar_at.at+1
    // [58] print_schar_at::b#2 = ys[debug_print_init::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda ys,y
    sta.z print_schar_at.b
    // [59] call print_schar_at
    // [136] phi from debug_print_init::@16 to print_schar_at [phi:debug_print_init::@16->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#1 [phi:debug_print_init::@16->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#2 [phi:debug_print_init::@16->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print_init::@17
    // print_schar_at(zs[i], at_line+40*2+c)
    // [60] print_schar_at::at#2 = debug_print_init::at_line#0+$28*2 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*2
    sta.z print_schar_at.at
    lda #>at_line+$28*2
    adc #0
    sta.z print_schar_at.at+1
    // [61] print_schar_at::b#3 = zs[debug_print_init::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda zs,y
    sta.z print_schar_at.b
    // [62] call print_schar_at
    // [136] phi from debug_print_init::@17 to print_schar_at [phi:debug_print_init::@17->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#2 [phi:debug_print_init::@17->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#3 [phi:debug_print_init::@17->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // [63] phi from debug_print_init::@17 to debug_print_init::@2 [phi:debug_print_init::@17->debug_print_init::@2]
    // [63] phi debug_print_init::j#2 = 0 [phi:debug_print_init::@17->debug_print_init::@2#0] -- vbuyy=vbuc1 
    ldy #0
    // [63] phi from debug_print_init::@2 to debug_print_init::@2 [phi:debug_print_init::@2->debug_print_init::@2]
    // [63] phi debug_print_init::j#2 = debug_print_init::j#1 [phi:debug_print_init::@2->debug_print_init::@2#0] -- register_copy 
    // debug_print_init::@2
  __b2:
    // char col = 8+i
    // [64] debug_print_init::col#0 = 8 + debug_print_init::i#2 -- vbuxx=vbuc1_plus_vbuz1 
    lax.z i
    axs #-[8]
    // at_cols+40*0+c
    // [65] debug_print_init::$41 = debug_print_init::at_cols#0 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols
    sta.z __41
    lda #>at_cols
    adc #0
    sta.z __41+1
    // *(at_cols+40*0+c+j) = col
    // [66] debug_print_init::$41[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__41),y
    // at_cols+40*1+c
    // [67] debug_print_init::$44 = debug_print_init::at_cols#0+$28*1 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*1
    sta.z __44
    lda #>at_cols+$28*1
    adc #0
    sta.z __44+1
    // *(at_cols+40*1+c+j) = col
    // [68] debug_print_init::$44[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__44),y
    // at_cols+40*2+c
    // [69] debug_print_init::$47 = debug_print_init::at_cols#0+$28*2 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*2
    sta.z __47
    lda #>at_cols+$28*2
    adc #0
    sta.z __47+1
    // *(at_cols+40*2+c+j) = col
    // [70] debug_print_init::$47[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__47),y
    // at_cols+40*3+c
    // [71] debug_print_init::$50 = debug_print_init::at_cols#0+$28*3 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*3
    sta.z __50
    lda #>at_cols+$28*3
    adc #0
    sta.z __50+1
    // *(at_cols+40*3+c+j) = col
    // [72] debug_print_init::$50[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__50),y
    // at_cols+40*4+c
    // [73] debug_print_init::$53 = debug_print_init::at_cols#0+$28*4 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*4
    sta.z __53
    lda #>at_cols+$28*4
    adc #0
    sta.z __53+1
    // *(at_cols+40*4+c+j) = col
    // [74] debug_print_init::$53[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__53),y
    // at_cols+40*5+c
    // [75] debug_print_init::$56 = debug_print_init::at_cols#0+$28*5 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*5
    sta.z __56
    lda #>at_cols+$28*5
    adc #0
    sta.z __56+1
    // *(at_cols+40*5+c+j) = col
    // [76] debug_print_init::$56[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__56),y
    // at_cols+40*6+c
    // [77] debug_print_init::$59 = debug_print_init::at_cols#0+$28*6 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*6
    sta.z __59
    lda #>at_cols+$28*6
    adc #0
    sta.z __59+1
    // *(at_cols+40*6+c+j) = col
    // [78] debug_print_init::$59[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__59),y
    // at_cols+40*7+c
    // [79] debug_print_init::$62 = debug_print_init::at_cols#0+(unsigned int)$28*7 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*7
    sta.z __62
    lda #>at_cols+$28*7
    adc #0
    sta.z __62+1
    // *(at_cols+40*7+c+j) = col
    // [80] debug_print_init::$62[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__62),y
    // at_cols+40*8+c
    // [81] debug_print_init::$65 = debug_print_init::at_cols#0+(unsigned int)$28*8 + debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_cols+$28*8
    sta.z __65
    lda #>at_cols+$28*8
    adc #0
    sta.z __65+1
    // *(at_cols+40*8+c+j) = col
    // [82] debug_print_init::$65[debug_print_init::j#2] = debug_print_init::col#0 -- pbuz1_derefidx_vbuyy=vbuxx 
    txa
    sta (__65),y
    // for( char j: 0..3)
    // [83] debug_print_init::j#1 = ++ debug_print_init::j#2 -- vbuyy=_inc_vbuyy 
    iny
    // [84] if(debug_print_init::j#1!=4) goto debug_print_init::@2 -- vbuyy_neq_vbuc1_then_la1 
    cpy #4
    beq !__b2+
    jmp __b2
  !__b2:
    // debug_print_init::@3
    // c += 4
    // [85] debug_print_init::c#1 = debug_print_init::c#2 + 4 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z c
    axs #-[4]
    stx.z c
    // for( char i: 0..7)
    // [86] debug_print_init::i#1 = ++ debug_print_init::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [87] if(debug_print_init::i#1!=8) goto debug_print_init::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #8
    cmp.z i
    beq !__b1+
    jmp __b1
  !__b1:
    // debug_print_init::@return
    // }
    // [88] return 
    rts
  .segment Data
    str: .text "sx"
    .byte 0
    str1: .text "sy"
    .byte 0
    str2: .text "sz"
    .byte 0
    str3: .text "x"
    .byte 0
    str4: .text "y"
    .byte 0
    str5: .text "z"
    .byte 0
    str6: .text "xr"
    .byte 0
    str7: .text "yr"
    .byte 0
    str8: .text "zr"
    .byte 0
    str9: .text "pp"
    .byte 0
    str10: .text "xp"
    .byte 0
    str11: .text "yp"
    .byte 0
}
.segment Code
  // anim
anim: {
    .label i = 4
    // [90] phi from anim to anim::@1 [phi:anim->anim::@1]
    // [90] phi sy#11 = 0 [phi:anim->anim::@1#0] -- vbsz1=vbsc1 
    lda #0
    sta.z sy
    // [90] phi sx#11 = 0 [phi:anim->anim::@1#1] -- vbsz1=vbsc1 
    sta.z sx
    // anim::@1
    // anim::@2
  __b2:
    // while(VICII->RASTER!=$ff)
    // [91] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$ff
    cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
    bne __b2
    // anim::@3
  __b3:
    // while(VICII->RASTER!=$fe)
    // [92] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$fe
    cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
    bne __b3
    // anim::@4
  __b4:
    // while(VICII->RASTER!=$fd)
    // [93] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4 -- _deref_pbuc1_neq_vbuc2_then_la1 
    lda #$fd
    cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER
    bne __b4
    // anim::@5
    // (VICII->BORDER_COLOR)++;
    // [94] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // calculate_matrix(sx,sy,sz)
    // [95] calculate_matrix::sx#0 = sx#11 -- vbsxx=vbsz1 
    ldx.z sx
    // [96] calculate_matrix::sy#0 = sy#11
    // [97] call calculate_matrix
    //calculate_matrix_16(sx,sy,sz);
    jsr calculate_matrix
    // [98] phi from anim::@5 to anim::@8 [phi:anim::@5->anim::@8]
    // anim::@8
    // store_matrix()
    // [99] call store_matrix
    jsr store_matrix
    // [100] phi from anim::@8 to anim::@6 [phi:anim::@8->anim::@6]
    // [100] phi anim::i#2 = 0 [phi:anim::@8->anim::@6#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [100] phi from anim::@9 to anim::@6 [phi:anim::@9->anim::@6]
    // [100] phi anim::i#2 = anim::i#1 [phi:anim::@9->anim::@6#0] -- register_copy 
    // anim::@6
  __b6:
    // (VICII->BORDER_COLOR)++;
    // [101] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) -- _deref_pbuc1=_inc__deref_pbuc1 
    inc VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // rotate_matrix(xs[i], ys[i], zs[i])
    // [102] rotate_matrix::x#0 = xs[anim::i#2] -- vbsxx=pbsc1_derefidx_vbuz1 
    ldy.z i
    ldx xs,y
    // [103] rotate_matrix::y#0 = ys[anim::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    lda ys,y
    sta.z rotate_matrix.y
    // [104] rotate_matrix::z#0 = zs[anim::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    lda zs,y
    sta.z rotate_matrix.z
    // [105] call rotate_matrix
    jsr rotate_matrix
    // anim::@9
    // xrs[i] = xr
    // [106] xrs[anim::i#2] = xr -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z xr
    ldy.z i
    sta xrs,y
    // yrs[i] = yr
    // [107] yrs[anim::i#2] = yr -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z yr
    sta yrs,y
    // zrs[i] = zr
    // [108] zrs[anim::i#2] = zr -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z zr
    sta zrs,y
    // pps[i] = pp
    // [109] pps[anim::i#2] = pp -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z pp
    sta pps,y
    // xps[i] = xp
    // [110] xps[anim::i#2] = xp -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z xp
    sta xps,y
    // yps[i] = yp
    // [111] yps[anim::i#2] = yp -- pbsc1_derefidx_vbuz1=vbsz2 
    lda.z yp
    sta yps,y
    // char i2 = i*2
    // [112] anim::i2#0 = anim::i#2 << 1 -- vbuxx=vbuz1_rol_1 
    tya
    asl
    tax
    // $80+(char)(xp)
    // [113] anim::$13 = (char)xp -- vbuaa=vbuz1 
    lda.z xp
    // [114] anim::$9 = $80 + anim::$13 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #$80
    // SPRITES_XPOS[i2] = $80+(char)(xp)
    // [115] SPRITES_XPOS[anim::i2#0] = anim::$9 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta SPRITES_XPOS,x
    // $80+(char)(yp)
    // [116] anim::$14 = (char)yp -- vbuaa=vbuz1 
    lda.z yp
    // [117] anim::$10 = $80 + anim::$14 -- vbuaa=vbuc1_plus_vbuaa 
    clc
    adc #$80
    // SPRITES_YPOS[i2] = $80+(char)(yp)
    // [118] SPRITES_YPOS[anim::i2#0] = anim::$10 -- pbuc1_derefidx_vbuxx=vbuaa 
    sta SPRITES_YPOS,x
    // for(char i: 0..7)
    // [119] anim::i#1 = ++ anim::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [120] if(anim::i#1!=8) goto anim::@6 -- vbuz1_neq_vbuc1_then_la1 
    lda #8
    cmp.z i
    bne __b6
    // anim::@7
    // VICII->BORDER_COLOR = LIGHT_GREY
    // [121] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY -- _deref_pbuc1=vbuc2 
    lda #LIGHT_GREY
    sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // debug_print()
    // [122] call debug_print
    jsr debug_print
    // anim::@10
    // VICII->BORDER_COLOR = LIGHT_BLUE
    // [123] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE -- _deref_pbuc1=vbuc2 
    lda #LIGHT_BLUE
    sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR
    // sx +=2
    // [124] sx#2 = sx#11 + 2 -- vbsz1=vbsz1_plus_2 
    // Increment angles        
    inc.z sx
    inc.z sx
    // sy -=3
    // [125] sy#2 = sy#11 - 3 -- vbsz1=vbsz1_minus_vbsc1 
    lax.z sy
    axs #3
    stx.z sy
    // [90] phi from anim::@10 to anim::@1 [phi:anim::@10->anim::@1]
    // [90] phi sy#11 = sy#2 [phi:anim::@10->anim::@1#0] -- register_copy 
    // [90] phi sx#11 = sx#2 [phi:anim::@10->anim::@1#1] -- register_copy 
    jmp __b2
}
  // print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    // memset(print_screen, ' ', 1000)
    // [127] call memset
    // [258] phi from print_cls to memset [phi:print_cls->memset]
    jsr memset
    // print_cls::@return
    // }
    // [128] return 
    rts
}
  // print_str_at
// Print a string at a specific screen position
// void print_str_at(__zp($f) char *str, __zp($11) char *at)
print_str_at: {
    .label at = $11
    .label str = $f
    // [130] phi from print_str_at print_str_at::@2 to print_str_at::@1 [phi:print_str_at/print_str_at::@2->print_str_at::@1]
    // [130] phi print_str_at::at#13 = print_str_at::at#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#0] -- register_copy 
    // [130] phi print_str_at::str#13 = print_str_at::str#15 [phi:print_str_at/print_str_at::@2->print_str_at::@1#1] -- register_copy 
    // print_str_at::@1
  __b1:
    // while(*str)
    // [131] if(0!=*print_str_at::str#13) goto print_str_at::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    // print_str_at::@return
    // }
    // [132] return 
    rts
    // print_str_at::@2
  __b2:
    // *(at++) = *(str++)
    // [133] *print_str_at::at#13 = *print_str_at::str#13 -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (str),y
    sta (at),y
    // *(at++) = *(str++);
    // [134] print_str_at::at#0 = ++ print_str_at::at#13 -- pbuz1=_inc_pbuz1 
    inc.z at
    bne !+
    inc.z at+1
  !:
    // [135] print_str_at::str#0 = ++ print_str_at::str#13 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp __b1
}
  // print_schar_at
// Print a signed char as hex at a specific screen position
// void print_schar_at(__zp($22) signed char b, __zp($f) char *at)
print_schar_at: {
    .label b = $22
    .label at = $f
    // if(b<0)
    // [137] if(print_schar_at::b#22<0) goto print_schar_at::@1 -- vbsz1_lt_0_then_la1 
    lda.z b
    bmi __b1
    // print_schar_at::@3
    // print_char_at(' ', at)
    // [138] print_char_at::at#1 = print_schar_at::at#21
    // [139] call print_char_at
    // [264] phi from print_schar_at::@3 to print_char_at [phi:print_schar_at::@3->print_char_at]
    // [264] phi print_char_at::at#4 = print_char_at::at#1 [phi:print_schar_at::@3->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = ' ' [phi:print_schar_at::@3->print_char_at#1] -- vbuxx=vbuc1 
    ldx #' '
    jsr print_char_at
    // [140] phi from print_schar_at::@3 print_schar_at::@4 to print_schar_at::@2 [phi:print_schar_at::@3/print_schar_at::@4->print_schar_at::@2]
    // [140] phi print_schar_at::b#24 = print_schar_at::b#22 [phi:print_schar_at::@3/print_schar_at::@4->print_schar_at::@2#0] -- register_copy 
    // print_schar_at::@2
  __b2:
    // print_uchar_at((char)b, at+1)
    // [141] print_uchar_at::at#0 = print_schar_at::at#21 + 1 -- pbuz1=pbuz1_plus_1 
    inc.z print_uchar_at.at
    bne !+
    inc.z print_uchar_at.at+1
  !:
    // [142] print_uchar_at::b#0 = (char)print_schar_at::b#24
    // [143] call print_uchar_at
    jsr print_uchar_at
    // print_schar_at::@return
    // }
    // [144] return 
    rts
    // print_schar_at::@1
  __b1:
    // print_char_at('-', at)
    // [145] print_char_at::at#0 = print_schar_at::at#21
    // [146] call print_char_at
    // [264] phi from print_schar_at::@1 to print_char_at [phi:print_schar_at::@1->print_char_at]
    // [264] phi print_char_at::at#4 = print_char_at::at#0 [phi:print_schar_at::@1->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = '-' [phi:print_schar_at::@1->print_char_at#1] -- vbuxx=vbuc1 
    ldx #'-'
    jsr print_char_at
    // print_schar_at::@4
    // b = -b
    // [147] print_schar_at::b#0 = - print_schar_at::b#22 -- vbsz1=_neg_vbsz1 
    lda.z b
    eor #$ff
    clc
    adc #1
    sta.z b
    jmp __b2
}
  // calculate_matrix
// Prepare the 3x3 rotation matrix into rotation_matrix[]
// Angles sx, sy, sz are based on 2*PI=$100 
// Method described in C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt
// void calculate_matrix(__register(X) signed char sx, __zp(3) signed char sy, signed char sz)
calculate_matrix: {
    .label sy = 3
    .label t1 = $21
    .label t2 = $22
    .label t3 = $23
    .label t4 = $24
    .label t5 = $25
    .label t6 = $26
    .label t7 = $27
    .label t8 = $28
    .label t9 = $29
    // signed char t1 = sy-sz
    // [148] calculate_matrix::t1#0 = calculate_matrix::sy#0 -- vbsz1=vbsz2 
    lda.z sy
    sta.z t1
    // signed char t2 = sy+sz
    // [149] calculate_matrix::t2#0 = calculate_matrix::sy#0 -- vbsz1=vbsz2 
    lda.z sy
    sta.z t2
    // signed char t3 = sx+sz
    // [150] calculate_matrix::t3#0 = calculate_matrix::sx#0 -- vbsz1=vbsxx 
    stx.z t3
    // signed char t4 = sx-sz
    // [151] calculate_matrix::t4#0 = calculate_matrix::sx#0 -- vbsz1=vbsxx 
    stx.z t4
    // signed char t5 = sx+t2
    // [152] calculate_matrix::t5#0 = calculate_matrix::sx#0 + calculate_matrix::t2#0 -- vbsz1=vbsxx_plus_vbsz2 
    txa
    clc
    adc.z t2
    sta.z t5
    // signed char t6 = sx-t1
    // [153] calculate_matrix::t6#0 = calculate_matrix::sx#0 - calculate_matrix::t1#0 -- vbsz1=vbsxx_minus_vbsz2 
    // = sx+sy+sz
    txa
    sec
    sbc.z t1
    sta.z t6
    // signed char t7 = sx+t1
    // [154] calculate_matrix::t7#0 = calculate_matrix::sx#0 + calculate_matrix::t1#0 -- vbsz1=vbsxx_plus_vbsz2 
    // = sx-sy+sz
    txa
    clc
    adc.z t1
    sta.z t7
    // signed char t8 = t2-sx
    // [155] calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#0 -- vbsz1=vbsz2_minus_vbsxx 
    // = sx+sy-sz
    txa
    eor #$ff
    sec
    adc.z t2
    sta.z t8
    // signed char t9 = sy-sx
    // [156] calculate_matrix::t9#0 = calculate_matrix::sy#0 - calculate_matrix::sx#0 -- vbsz1=vbsz2_minus_vbsxx 
    // = sy+sz-sx
    txa
    eor #$ff
    sec
    adc.z sy
    sta.z t9
    // signed char t10 = sy+sx
    // [157] calculate_matrix::t10#0 = calculate_matrix::sy#0 + calculate_matrix::sx#0 -- vbsxx=vbsz1_plus_vbsxx 
    txa
    clc
    adc.z sy
    tax
    // COSH[t1]+COSH[t2]
    // [158] calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 
    ldy.z t1
    lda COSH,y
    ldy.z t2
    clc
    adc COSH,y
    // rotation_matrix[0] = COSH[t1]+COSH[t2]
    // [159] *rotation_matrix = calculate_matrix::$10 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix
    // SINH[t1]-SINH[t2]
    // [160] calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 
    ldy.z t1
    lda SINH,y
    ldy.z t2
    sec
    sbc SINH,y
    // rotation_matrix[1] = SINH[t1]-SINH[t2]
    // [161] *(rotation_matrix+1) = calculate_matrix::$11 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+1
    // SINH[sy]+SINH[sy]
    // [162] calculate_matrix::$12 = SINH[calculate_matrix::sy#0] + SINH[calculate_matrix::sy#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz1 
    ldy.z sy
    lda SINH,y
    clc
    adc SINH,y
    // rotation_matrix[2] = SINH[sy]+SINH[sy]
    // [163] *(rotation_matrix+2) = calculate_matrix::$12 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+2
    // SINH[t3]-SINH[t4]
    // [164] calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 
    ldy.z t3
    lda SINH,y
    ldy.z t4
    sec
    sbc SINH,y
    // SINH[t3]-SINH[t4] + COSQ[t6]
    // [165] calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    clc
    adc COSQ,y
    // SINH[t3]-SINH[t4] + COSQ[t6]-COSQ[t5]
    // [166] calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    sec
    sbc COSQ,y
    // SINH[t3]-SINH[t4] + COSQ[t6]-COSQ[t5]+COSQ[t8]
    // [167] calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    clc
    adc COSQ,y
    // SINH[t3]-SINH[t4] + COSQ[t6]-COSQ[t5]+COSQ[t8]-COSQ[t7]
    // [168] calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    sec
    sbc COSQ,y
    // rotation_matrix[3] = SINH[t3]-SINH[t4] + COSQ[t6]-COSQ[t5]+COSQ[t8]-COSQ[t7]
    // [169] *(rotation_matrix+3) = calculate_matrix::$17 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+3
    // COSH[t3]+COSH[t4]
    // [170] calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 
    ldy.z t3
    lda COSH,y
    ldy.z t4
    clc
    adc COSH,y
    // COSH[t3]+COSH[t4] + SINQ[t5]
    // [171] calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    clc
    adc SINQ,y
    // COSH[t3]+COSH[t4] + SINQ[t5]-SINQ[t6]
    // [172] calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    sec
    sbc SINQ,y
    // COSH[t3]+COSH[t4] + SINQ[t5]-SINQ[t6]-SINQ[t7]
    // [173] calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    sec
    sbc SINQ,y
    // COSH[t3]+COSH[t4] + SINQ[t5]-SINQ[t6]-SINQ[t7]-SINQ[t8]
    // [174] calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    sec
    sbc SINQ,y
    // rotation_matrix[4] = COSH[t3]+COSH[t4] + SINQ[t5]-SINQ[t6]-SINQ[t7]-SINQ[t8]
    // [175] *(rotation_matrix+4) = calculate_matrix::$22 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+4
    // SINH[t9]-SINH[t10]
    // [176] calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsxx 
    ldy.z t9
    lda SINH,y
    sec
    sbc SINH,x
    // rotation_matrix[5] = SINH[t9]-SINH[t10]
    // [177] *(rotation_matrix+5) = calculate_matrix::$23 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+5
    // COSH[t4]-COSH[t3]
    // [178] calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0] -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 
    ldy.z t4
    lda COSH,y
    ldy.z t3
    sec
    sbc COSH,y
    // COSH[t4]-COSH[t3] + SINQ[t6]
    // [179] calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    clc
    adc SINQ,y
    // COSH[t4]-COSH[t3] + SINQ[t6]-SINQ[t5]
    // [180] calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    sec
    sbc SINQ,y
    // COSH[t4]-COSH[t3] + SINQ[t6]-SINQ[t5]-SINQ[t8]
    // [181] calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    sec
    sbc SINQ,y
    // COSH[t4]-COSH[t3] + SINQ[t6]-SINQ[t5]-SINQ[t8]-SINQ[t7]
    // [182] calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    sec
    sbc SINQ,y
    // rotation_matrix[6] = COSH[t4]-COSH[t3] + SINQ[t6]-SINQ[t5]-SINQ[t8]-SINQ[t7]
    // [183] *(rotation_matrix+6) = calculate_matrix::$28 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+6
    // SINH[t3]+SINH[t4]
    // [184] calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 
    ldy.z t3
    lda SINH,y
    ldy.z t4
    clc
    adc SINH,y
    // SINH[t3]+SINH[t4] + COSQ[t6]
    // [185] calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t6
    clc
    adc COSQ,y
    // SINH[t3]+SINH[t4] + COSQ[t6]-COSQ[t5]
    // [186] calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t5
    sec
    sbc COSQ,y
    // SINH[t3]+SINH[t4] + COSQ[t6]-COSQ[t5]+COSQ[t7]
    // [187] calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0] -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 
    ldy.z t7
    clc
    adc COSQ,y
    // SINH[t3]+SINH[t4] + COSQ[t6]-COSQ[t5]+COSQ[t7]-COSQ[t8]
    // [188] calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0] -- vbsaa=vbsaa_minus_pbsc1_derefidx_vbsz1 
    ldy.z t8
    sec
    sbc COSQ,y
    // rotation_matrix[7] = SINH[t3]+SINH[t4] + COSQ[t6]-COSQ[t5]+COSQ[t7]-COSQ[t8]
    // [189] *(rotation_matrix+7) = calculate_matrix::$33 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+7
    // COSH[t9]+COSH[t10]
    // [190] calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0] -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsxx 
    lda COSH,x
    ldy.z t9
    clc
    adc COSH,y
    // rotation_matrix[8] = COSH[t9]+COSH[t10]
    // [191] *(rotation_matrix+8) = calculate_matrix::$34 -- _deref_pbsc1=vbsaa 
    sta rotation_matrix+8
    // calculate_matrix::@return
    // }
    // [192] return 
    rts
}
  // store_matrix
// Store the rotation matrix into the rotation routine rotate()
// After this each call to rotate() will rotate a point with the matrix
// Implemented in assembler to utilize seriously fast multiplication 
store_matrix: {
    // asm
    // asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  }
    lda rotation_matrix+0
    sta rotate_matrix.A1+1
    eor #$ff
    sta rotate_matrix.A2+1
    lda rotation_matrix+1
    sta rotate_matrix.B1+1
    eor #$ff
    sta rotate_matrix.B2+1
    lda rotation_matrix+2
    sta rotate_matrix.C1+1
    eor #$ff
    sta rotate_matrix.C2+1
    lda rotation_matrix+3
    sta rotate_matrix.D1+1
    eor #$ff
    sta rotate_matrix.D2+1
    lda rotation_matrix+4
    sta rotate_matrix.E1+1
    eor #$ff
    sta rotate_matrix.E2+1
    lda rotation_matrix+5
    sta rotate_matrix.F1+1
    eor #$ff
    sta rotate_matrix.F2+1
    lda rotation_matrix+6
    sta rotate_matrix.G1+1
    eor #$ff
    sta rotate_matrix.G2+1
    lda rotation_matrix+7
    sta rotate_matrix.H1+1
    eor #$ff
    sta rotate_matrix.H2+1
    lda rotation_matrix+8
    sta rotate_matrix.I1+1
    eor #$ff
    sta rotate_matrix.I2+1
    // store_matrix::@return
    // }
    // [194] return 
    rts
}
  // rotate_matrix
// Rotate a 3D point (x,y,z) using the rotation matrix
// The rotation matrix is prepared by calling prepare_matrix() 
// The passed points must be in the interval [-$3f;$3f].
// Implemented in assembler to utilize seriously fast multiplication 
// void rotate_matrix(__register(X) signed char x, __zp($22) signed char y, __zp($23) signed char z)
rotate_matrix: {
    .label y = $22
    .label z = $23
    // xr = x
    // [195] xr = rotate_matrix::x#0 -- vbsz1=vbsxx 
    stx.z xr
    // yr = y
    // [196] yr = rotate_matrix::y#0 -- vbsz1=vbsz2 
    lda.z y
    sta.z yr
    // zr = z
    // [197] zr = rotate_matrix::z#0 -- vbsz1=vbsz2 
    lda.z z
    sta.z zr
    // asm
    // asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
    tax
  C1:
    lda mulf_sqr1,x
    sec
  C2:
    sbc mulf_sqr2,x
    sta C3+1
  F1:
    lda mulf_sqr1,x
    sec
  F2:
    sbc mulf_sqr2,x
    sta F3+1
  I1:
    lda mulf_sqr1,x
    sec
  I2:
    sbc mulf_sqr2,x
    sta I3+1
    ldx xr
    ldy yr
  I3:
    lda #0
    clc
  G1:
    adc mulf_sqr1,x
    sec
  G2:
    sbc mulf_sqr2,x
    clc
  H1:
    adc mulf_sqr1,y
    sec
  H2:
    sbc mulf_sqr2,y
    sta zr
    sta PP+1
  PP:
    lda PERSP_Z
    sta pp
    sta psp1
    eor #$ff
    sta psp2
  C3:
    lda #0
    clc
  A1:
    adc mulf_sqr1,x
    sec
  A2:
    sbc mulf_sqr2,x
    clc
  B1:
    adc mulf_sqr1,y
    sec
  B2:
    sbc mulf_sqr2,y
    sta xr
    sta XX+1
    clc
  F3:
    lda #0
    clc
  D1:
    adc mulf_sqr1,x
    sec
  D2:
    sbc mulf_sqr2,x
    clc
  E1:
    adc mulf_sqr1,y
    sec
  E2:
    sbc mulf_sqr2,y
    sta yr
    tay
    lda (psp1),y
    sec
    sbc (psp2),y
    sta yp
  XX:
    ldy #0
    lda (psp1),y
    sec
    sbc (psp2),y
    sta xp
    // rotate_matrix::@return
    // }
    // [199] return 
    rts
}
  // debug_print
debug_print: {
    .const print_schar_pos1_col = $25
    .const print_schar_pos2_row = 1
    .const print_schar_pos2_col = $25
    .const print_schar_pos3_row = 2
    .const print_schar_pos3_col = $25
    .const print_schar_pos4_row = 4
    .const print_schar_pos4_col = $1d
    .const print_schar_pos5_row = 4
    .const print_schar_pos5_col = $21
    .const print_schar_pos6_row = 4
    .const print_schar_pos6_col = $25
    .const print_schar_pos7_row = 5
    .const print_schar_pos7_col = $1d
    .const print_schar_pos8_row = 5
    .const print_schar_pos8_col = $21
    .const print_schar_pos9_row = 5
    .const print_schar_pos9_col = $25
    .const print_schar_pos10_row = 6
    .const print_schar_pos10_col = $1d
    .const print_schar_pos11_row = 6
    .const print_schar_pos11_col = $21
    .const print_schar_pos12_row = 6
    .const print_schar_pos12_col = $25
    .label at_line = SCREEN+$13*$28
    .label c = $23
    .label i = $21
    // print_schar_pos(sx, 0, 37)
    // [200] debug_print::print_schar_pos1_sb#0 = sx#11 -- vbsaa=vbsz1 
    lda.z sx
    // debug_print::print_schar_pos1
    // print_schar_at(sb, print_screen+row*40+col)
    // [201] print_schar_at::b#4 = debug_print::print_schar_pos1_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [202] call print_schar_at
    // [136] phi from debug_print::print_schar_pos1 to print_schar_at [phi:debug_print::print_schar_pos1->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos1_col#0 [phi:debug_print::print_schar_pos1->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos1_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos1_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#4 [phi:debug_print::print_schar_pos1->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@2
    // print_schar_pos(sy, 1, 37)
    // [203] debug_print::print_schar_pos2_sb#0 = sy#11 -- vbsaa=vbsz1 
    lda.z sy
    // debug_print::print_schar_pos2
    // print_schar_at(sb, print_screen+row*40+col)
    // [204] print_schar_at::b#5 = debug_print::print_schar_pos2_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [205] call print_schar_at
    // [136] phi from debug_print::print_schar_pos2 to print_schar_at [phi:debug_print::print_schar_pos2->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos2_row#0*$28+debug_print::print_schar_pos2_col#0 [phi:debug_print::print_schar_pos2->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos2_row*$28+print_schar_pos2_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos2_row*$28+print_schar_pos2_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#5 [phi:debug_print::print_schar_pos2->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // [206] phi from debug_print::print_schar_pos2 to debug_print::print_schar_pos3 [phi:debug_print::print_schar_pos2->debug_print::print_schar_pos3]
    // debug_print::print_schar_pos3
    // print_schar_at(sb, print_screen+row*40+col)
    // [207] call print_schar_at
    // [136] phi from debug_print::print_schar_pos3 to print_schar_at [phi:debug_print::print_schar_pos3->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos3_row#0*$28+debug_print::print_schar_pos3_col#0 [phi:debug_print::print_schar_pos3->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos3_row*$28+print_schar_pos3_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos3_row*$28+print_schar_pos3_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = sz [phi:debug_print::print_schar_pos3->print_schar_at#1] -- vbsz1=vbsc1 
    lda #sz
    sta.z print_schar_at.b
    jsr print_schar_at
    // debug_print::@3
    // print_schar_pos(rotation_matrix[0], 4, 29)
    // [208] debug_print::print_schar_pos4_sb#0 = *rotation_matrix -- vbsaa=_deref_pbsc1 
    lda rotation_matrix
    // debug_print::print_schar_pos4
    // print_schar_at(sb, print_screen+row*40+col)
    // [209] print_schar_at::b#7 = debug_print::print_schar_pos4_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [210] call print_schar_at
    // [136] phi from debug_print::print_schar_pos4 to print_schar_at [phi:debug_print::print_schar_pos4->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos4_row#0*$28+debug_print::print_schar_pos4_col#0 [phi:debug_print::print_schar_pos4->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos4_row*$28+print_schar_pos4_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos4_row*$28+print_schar_pos4_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#7 [phi:debug_print::print_schar_pos4->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@4
    // print_schar_pos(rotation_matrix[1], 4, 33)
    // [211] debug_print::print_schar_pos5_sb#0 = *(rotation_matrix+1) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+1
    // debug_print::print_schar_pos5
    // print_schar_at(sb, print_screen+row*40+col)
    // [212] print_schar_at::b#8 = debug_print::print_schar_pos5_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [213] call print_schar_at
    // [136] phi from debug_print::print_schar_pos5 to print_schar_at [phi:debug_print::print_schar_pos5->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos5_row#0*$28+debug_print::print_schar_pos5_col#0 [phi:debug_print::print_schar_pos5->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos5_row*$28+print_schar_pos5_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos5_row*$28+print_schar_pos5_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#8 [phi:debug_print::print_schar_pos5->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@5
    // print_schar_pos(rotation_matrix[2], 4, 37)
    // [214] debug_print::print_schar_pos6_sb#0 = *(rotation_matrix+2) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+2
    // debug_print::print_schar_pos6
    // print_schar_at(sb, print_screen+row*40+col)
    // [215] print_schar_at::b#9 = debug_print::print_schar_pos6_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [216] call print_schar_at
    // [136] phi from debug_print::print_schar_pos6 to print_schar_at [phi:debug_print::print_schar_pos6->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos6_row#0*$28+debug_print::print_schar_pos6_col#0 [phi:debug_print::print_schar_pos6->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos6_row*$28+print_schar_pos6_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos6_row*$28+print_schar_pos6_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#9 [phi:debug_print::print_schar_pos6->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@6
    // print_schar_pos(rotation_matrix[3], 5, 29)
    // [217] debug_print::print_schar_pos7_sb#0 = *(rotation_matrix+3) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+3
    // debug_print::print_schar_pos7
    // print_schar_at(sb, print_screen+row*40+col)
    // [218] print_schar_at::b#10 = debug_print::print_schar_pos7_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [219] call print_schar_at
    // [136] phi from debug_print::print_schar_pos7 to print_schar_at [phi:debug_print::print_schar_pos7->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos7_row#0*$28+debug_print::print_schar_pos7_col#0 [phi:debug_print::print_schar_pos7->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos7_row*$28+print_schar_pos7_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos7_row*$28+print_schar_pos7_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#10 [phi:debug_print::print_schar_pos7->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@7
    // print_schar_pos(rotation_matrix[4], 5, 33)
    // [220] debug_print::print_schar_pos8_sb#0 = *(rotation_matrix+4) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+4
    // debug_print::print_schar_pos8
    // print_schar_at(sb, print_screen+row*40+col)
    // [221] print_schar_at::b#11 = debug_print::print_schar_pos8_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [222] call print_schar_at
    // [136] phi from debug_print::print_schar_pos8 to print_schar_at [phi:debug_print::print_schar_pos8->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos8_row#0*$28+debug_print::print_schar_pos8_col#0 [phi:debug_print::print_schar_pos8->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos8_row*$28+print_schar_pos8_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos8_row*$28+print_schar_pos8_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#11 [phi:debug_print::print_schar_pos8->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@8
    // print_schar_pos(rotation_matrix[5], 5, 37)
    // [223] debug_print::print_schar_pos9_sb#0 = *(rotation_matrix+5) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+5
    // debug_print::print_schar_pos9
    // print_schar_at(sb, print_screen+row*40+col)
    // [224] print_schar_at::b#12 = debug_print::print_schar_pos9_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [225] call print_schar_at
    // [136] phi from debug_print::print_schar_pos9 to print_schar_at [phi:debug_print::print_schar_pos9->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos9_row#0*$28+debug_print::print_schar_pos9_col#0 [phi:debug_print::print_schar_pos9->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos9_row*$28+print_schar_pos9_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos9_row*$28+print_schar_pos9_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#12 [phi:debug_print::print_schar_pos9->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@9
    // print_schar_pos(rotation_matrix[6], 6, 29)
    // [226] debug_print::print_schar_pos10_sb#0 = *(rotation_matrix+6) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+6
    // debug_print::print_schar_pos10
    // print_schar_at(sb, print_screen+row*40+col)
    // [227] print_schar_at::b#13 = debug_print::print_schar_pos10_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [228] call print_schar_at
    // [136] phi from debug_print::print_schar_pos10 to print_schar_at [phi:debug_print::print_schar_pos10->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos10_row#0*$28+debug_print::print_schar_pos10_col#0 [phi:debug_print::print_schar_pos10->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos10_row*$28+print_schar_pos10_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos10_row*$28+print_schar_pos10_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#13 [phi:debug_print::print_schar_pos10->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@10
    // print_schar_pos(rotation_matrix[7], 6, 33)
    // [229] debug_print::print_schar_pos11_sb#0 = *(rotation_matrix+7) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+7
    // debug_print::print_schar_pos11
    // print_schar_at(sb, print_screen+row*40+col)
    // [230] print_schar_at::b#14 = debug_print::print_schar_pos11_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [231] call print_schar_at
    // [136] phi from debug_print::print_schar_pos11 to print_schar_at [phi:debug_print::print_schar_pos11->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos11_row#0*$28+debug_print::print_schar_pos11_col#0 [phi:debug_print::print_schar_pos11->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos11_row*$28+print_schar_pos11_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos11_row*$28+print_schar_pos11_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#14 [phi:debug_print::print_schar_pos11->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@11
    // print_schar_pos(rotation_matrix[8], 6, 37)
    // [232] debug_print::print_schar_pos12_sb#0 = *(rotation_matrix+8) -- vbsaa=_deref_pbsc1 
    lda rotation_matrix+8
    // debug_print::print_schar_pos12
    // print_schar_at(sb, print_screen+row*40+col)
    // [233] print_schar_at::b#15 = debug_print::print_schar_pos12_sb#0 -- vbsz1=vbsaa 
    sta.z print_schar_at.b
    // [234] call print_schar_at
    // [136] phi from debug_print::print_schar_pos12 to print_schar_at [phi:debug_print::print_schar_pos12->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_screen#0+debug_print::print_schar_pos12_row#0*$28+debug_print::print_schar_pos12_col#0 [phi:debug_print::print_schar_pos12->print_schar_at#0] -- pbuz1=pbuc1 
    lda #<print_screen+print_schar_pos12_row*$28+print_schar_pos12_col
    sta.z print_schar_at.at
    lda #>print_screen+print_schar_pos12_row*$28+print_schar_pos12_col
    sta.z print_schar_at.at+1
    // [136] phi print_schar_at::b#22 = print_schar_at::b#15 [phi:debug_print::print_schar_pos12->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // [235] phi from debug_print::print_schar_pos12 to debug_print::@1 [phi:debug_print::print_schar_pos12->debug_print::@1]
    // [235] phi debug_print::i#2 = 0 [phi:debug_print::print_schar_pos12->debug_print::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [235] phi debug_print::c#2 = 4 [phi:debug_print::print_schar_pos12->debug_print::@1#1] -- vbuz1=vbuc1 
    lda #4
    sta.z c
    // [235] phi from debug_print::@17 to debug_print::@1 [phi:debug_print::@17->debug_print::@1]
    // [235] phi debug_print::i#2 = debug_print::i#1 [phi:debug_print::@17->debug_print::@1#0] -- register_copy 
    // [235] phi debug_print::c#2 = debug_print::c#1 [phi:debug_print::@17->debug_print::@1#1] -- register_copy 
    // debug_print::@1
  __b1:
    // print_schar_at(xrs[i], at_line+40*0+c)
    // [236] print_schar_at::at#15 = debug_print::at_line#0 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line
    sta.z print_schar_at.at
    lda #>at_line
    adc #0
    sta.z print_schar_at.at+1
    // [237] print_schar_at::b#16 = xrs[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda xrs,y
    sta.z print_schar_at.b
    // [238] call print_schar_at
    // [136] phi from debug_print::@1 to print_schar_at [phi:debug_print::@1->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#15 [phi:debug_print::@1->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#16 [phi:debug_print::@1->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@12
    // print_schar_at(yrs[i], at_line+40*1+c)
    // [239] print_schar_at::at#16 = debug_print::at_line#0+$28*1 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*1
    sta.z print_schar_at.at
    lda #>at_line+$28*1
    adc #0
    sta.z print_schar_at.at+1
    // [240] print_schar_at::b#17 = yrs[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda yrs,y
    sta.z print_schar_at.b
    // [241] call print_schar_at
    // [136] phi from debug_print::@12 to print_schar_at [phi:debug_print::@12->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#16 [phi:debug_print::@12->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#17 [phi:debug_print::@12->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@13
    // print_schar_at(zrs[i], at_line+40*2+c)
    // [242] print_schar_at::at#17 = debug_print::at_line#0+$28*2 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*2
    sta.z print_schar_at.at
    lda #>at_line+$28*2
    adc #0
    sta.z print_schar_at.at+1
    // [243] print_schar_at::b#18 = zrs[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda zrs,y
    sta.z print_schar_at.b
    // [244] call print_schar_at
    // [136] phi from debug_print::@13 to print_schar_at [phi:debug_print::@13->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#17 [phi:debug_print::@13->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#18 [phi:debug_print::@13->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@14
    // print_schar_at(pps[i], at_line+40*3+c)
    // [245] print_schar_at::at#18 = debug_print::at_line#0+$28*3 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*3
    sta.z print_schar_at.at
    lda #>at_line+$28*3
    adc #0
    sta.z print_schar_at.at+1
    // [246] print_schar_at::b#19 = pps[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda pps,y
    sta.z print_schar_at.b
    // [247] call print_schar_at
    // [136] phi from debug_print::@14 to print_schar_at [phi:debug_print::@14->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#18 [phi:debug_print::@14->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#19 [phi:debug_print::@14->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@15
    // print_schar_at(xps[i], at_line+40*4+c)
    // [248] print_schar_at::at#19 = debug_print::at_line#0+$28*4 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*4
    sta.z print_schar_at.at
    lda #>at_line+$28*4
    adc #0
    sta.z print_schar_at.at+1
    // [249] print_schar_at::b#20 = xps[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda xps,y
    sta.z print_schar_at.b
    // [250] call print_schar_at
    // [136] phi from debug_print::@15 to print_schar_at [phi:debug_print::@15->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#19 [phi:debug_print::@15->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#20 [phi:debug_print::@15->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@16
    // print_schar_at(yps[i], at_line+40*5+c)
    // [251] print_schar_at::at#20 = debug_print::at_line#0+$28*5 + debug_print::c#2 -- pbuz1=pbuc1_plus_vbuz2 
    lda.z c
    clc
    adc #<at_line+$28*5
    sta.z print_schar_at.at
    lda #>at_line+$28*5
    adc #0
    sta.z print_schar_at.at+1
    // [252] print_schar_at::b#21 = yps[debug_print::i#2] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda yps,y
    sta.z print_schar_at.b
    // [253] call print_schar_at
    // [136] phi from debug_print::@16 to print_schar_at [phi:debug_print::@16->print_schar_at]
    // [136] phi print_schar_at::at#21 = print_schar_at::at#20 [phi:debug_print::@16->print_schar_at#0] -- register_copy 
    // [136] phi print_schar_at::b#22 = print_schar_at::b#21 [phi:debug_print::@16->print_schar_at#1] -- register_copy 
    jsr print_schar_at
    // debug_print::@17
    // c += 4
    // [254] debug_print::c#1 = debug_print::c#2 + 4 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z c
    axs #-[4]
    stx.z c
    // for( char i: 0..7)
    // [255] debug_print::i#1 = ++ debug_print::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [256] if(debug_print::i#1!=8) goto debug_print::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #8
    cmp.z i
    beq !__b1+
    jmp __b1
  !__b1:
    // debug_print::@return
    // }
    // [257] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(void *str, char c, unsigned int num)
memset: {
    .const c = ' '
    .const num = $3e8
    .label str = print_screen
    .label end = str+num
    .label dst = $11
    // [259] phi from memset to memset::@1 [phi:memset->memset::@1]
    // [259] phi memset::dst#2 = (char *)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z dst
    lda #>str
    sta.z dst+1
    // memset::@1
  __b1:
    // for(char* dst = str; dst!=end; dst++)
    // [260] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z dst+1
    cmp #>end
    bne __b2
    lda.z dst
    cmp #<end
    bne __b2
    // memset::@return
    // }
    // [261] return 
    rts
    // memset::@2
  __b2:
    // *dst = c
    // [262] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
    lda #c
    ldy #0
    sta (dst),y
    // for(char* dst = str; dst!=end; dst++)
    // [263] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [259] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
    // [259] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
    jmp __b1
}
  // print_char_at
// Print a single char
// void print_char_at(__register(X) char ch, __zp($f) char *at)
print_char_at: {
    .label at = $f
    // *(at) = ch
    // [265] *print_char_at::at#4 = print_char_at::ch#4 -- _deref_pbuz1=vbuxx 
    txa
    ldy #0
    sta (at),y
    // print_char_at::@return
    // }
    // [266] return 
    rts
}
  // print_uchar_at
// Print a char as HEX at a specific position
// void print_uchar_at(__zp($22) char b, __zp($f) char *at)
print_uchar_at: {
    .label b = $22
    .label at = $f
    // b>>4
    // [267] print_uchar_at::$0 = print_uchar_at::b#0 >> 4 -- vbuaa=vbuz1_ror_4 
    lda.z b
    lsr
    lsr
    lsr
    lsr
    // print_char_at(print_hextab[b>>4], at)
    // [268] print_char_at::ch#2 = print_hextab[print_uchar_at::$0] -- vbuxx=pbuc1_derefidx_vbuaa 
    tay
    ldx print_hextab,y
    // [269] print_char_at::at#2 = print_uchar_at::at#0
    // [270] call print_char_at
  // Table of hexadecimal digits
    // [264] phi from print_uchar_at to print_char_at [phi:print_uchar_at->print_char_at]
    // [264] phi print_char_at::at#4 = print_char_at::at#2 [phi:print_uchar_at->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = print_char_at::ch#2 [phi:print_uchar_at->print_char_at#1] -- register_copy 
    jsr print_char_at
    // print_uchar_at::@1
    // b&$f
    // [271] print_uchar_at::$2 = print_uchar_at::b#0 & $f -- vbuyy=vbuz1_band_vbuc1 
    lda #$f
    and.z b
    tay
    // print_char_at(print_hextab[b&$f], at+1)
    // [272] print_char_at::at#3 = print_uchar_at::at#0 + 1 -- pbuz1=pbuz1_plus_1 
    inc.z print_char_at.at
    bne !+
    inc.z print_char_at.at+1
  !:
    // [273] print_char_at::ch#3 = print_hextab[print_uchar_at::$2] -- vbuxx=pbuc1_derefidx_vbuyy 
    ldx print_hextab,y
    // [274] call print_char_at
    // [264] phi from print_uchar_at::@1 to print_char_at [phi:print_uchar_at::@1->print_char_at]
    // [264] phi print_char_at::at#4 = print_char_at::at#3 [phi:print_uchar_at::@1->print_char_at#0] -- register_copy 
    // [264] phi print_char_at::ch#4 = print_char_at::ch#3 [phi:print_uchar_at::@1->print_char_at#1] -- register_copy 
    jsr print_char_at
    // print_uchar_at::@return
    // }
    // [275] return 
    rts
}
  // File Data
.segment Data
  print_hextab: .text "0123456789abcdef"
  // Positions to rotate
  xs: .byte -$34, -$34, -$34, 0, 0, $34, $34, $34
  ys: .byte -$34, 0, $34, -$34, $34, -$34, 0, $34
  zs: .byte $34, $34, $34, $34, $34, $34, $34, $34
  // Rotated positions
  xrs: .fill 8, 0
  yrs: .fill 8, 0
  zrs: .fill 8, 0
  // Perspective factors (from zrs)
  pps: .fill 8, 0
  // Rotated positions with perspective
  xps: .fill 8, 0
  yps: .fill 8, 0
  // The rotation matrix
  rotation_matrix: .fill 9, 0
  // mulf_sqr tables will contain f(x)=int(x*x) and g(x) = f(1-x).
  // f(x) = >(( x * x ))
  .align $100
mulf_sqr1:
.for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((i*i)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) }
    	.if(i>351) { .byte round(((512-i)*(512-i))/256) }
    }

  // g(x) =  >((( 1 - x ) * ( 1 - x )))
  .align $100
mulf_sqr2:
.for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((-i-1)*(-i-1)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) }
    	.if(i>351) { .byte round(((i-511)*(i-511))/256) }  
    }

  // Perspective multiplication table containing (d/(z0-z)[z] for each z-value   
  .align $100
PERSP_Z:
{
    .var d = 256.0	
    .var z0 = 6.0	
    // These values of d/z0 result in table values from $20 to $40 (effectively max is $3f)
    .for(var z=0;z<$100;z++) {
    	.if(z>127) {
    		.byte round(d / (z0 - ((z - 256) / 64.0)));
    	} else {
    		.byte round(d / (z0 - (z / 64.0)));
    	}
    }
	}

  // Sine and Cosine Tables   
  // Angles: $00=0, $80=PI,$100=2*PI
  // Half Sine/Cosine: signed fixed [-$20;20]
  .align $40
SINH:
{
    .var min = -$2000
    .var max = $2000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }

  // Quarter Sine/Cosine: signed fixed [-$10,$10]
  .align $40
SINQ:
{
    .var min = -$1000
    .var max = $1000
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte round((min+(ampl/2)+(ampl/2)*sin(rad))/256)
    }
    }

.pc = $3000 "SPRITE"
// A single sprite
SPRITE:
.var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
    .for (var y=0; y<21; y++)
        .for (var x=0;x<3; x++)
            .byte pic.getSinglecolorByte(x,y)


