Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] View of /branches/vis12/test/square-detect/square_score-30.log
ViewVC logotype

View of /branches/vis12/test/square-detect/square_score-30.log

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1817 - (download) (annotate)
Tue Apr 10 16:12:03 2012 UTC (7 years, 5 months ago) by nseltzer
File size: 1568397 byte(s)
Performance issue examples.
/* Program start */
field#2(2)[] T = ⊛<#2; %2; $[]> (bspln3, load<%2; $[]> ("square-template.nrrd"));
field#2(2)[] F = ⊛<#2; %2; $[]> (bspln3, load<%2; $[]> ("square-rotate.nrrd"));
vec2 v00 = [unary -<$[]> (0.5e0), unary -<$[]> (0.5e0)];
vec2 v01 = [unary -<$[]> (0.5e0), unary -<$[]> (0.25e0)];
vec2 v02 = [unary -<$[]> (0.5e0), 0.0];
vec2 v03 = [unary -<$[]> (0.5e0), 0.25e0];
vec2 v04 = [unary -<$[]> (0.5e0), 0.5e0];
vec2 v05 = [unary -<$[]> (0.3e0), unary -<$[]> (0.5e0)];
vec2 v06 = [unary -<$[]> (0.3e0), unary -<$[]> (0.25e0)];
vec2 v07 = [unary -<$[]> (0.3e0), 0.0];
vec2 v08 = [unary -<$[]> (0.3e0), 0.25e0];
vec2 v09 = [unary -<$[]> (0.3e0), 0.5e0];
vec2 v10 = [unary -<$[]> (0.1e0), unary -<$[]> (0.5e0)];
vec2 v11 = [unary -<$[]> (0.1e0), unary -<$[]> (0.25e0)];
vec2 v12 = [unary -<$[]> (0.1e0), 0.0];
vec2 v13 = [unary -<$[]> (0.1e0), 0.25e0];
vec2 v14 = [unary -<$[]> (0.1e0), 0.5e0];
vec2 v15 = [0.1e0, unary -<$[]> (0.5e0)];
vec2 v16 = [0.1e0, unary -<$[]> (0.25e0)];
vec2 v17 = [0.1e0, 0.0];
vec2 v18 = [0.1e0, 0.25e0];
vec2 v19 = [0.1e0, 0.5e0];
vec2 v20 = [0.3e0, unary -<$[]> (0.5e0)];
vec2 v21 = [0.3e0, unary -<$[]> (0.25e0)];
vec2 v22 = [0.3e0, 0.0];
vec2 v23 = [0.3e0, 0.25e0];
vec2 v24 = [0.3e0, 0.5e0];
vec2 v25 = [0.5e0, unary -<$[]> (0.5e0)];
vec2 v26 = [0.5e0, unary -<$[]> (0.25e0)];
vec2 v27 = [0.5e0, 0.0];
vec2 v28 = [0.5e0, 0.25e0];
vec2 v29 = [0.5e0, 0.5e0];
strand R (int i, int j, int k)
{
  vec3 t = [-<$[]> (/ ($i2r (i), 0.60e2), 0.5e0), -<$[]> (/ ($i2r (j), 0.60e2), 0.5e0), -<$[]> (/ ($i2r (k), 0.60e2), 0.5e0)];
  output real score = 0.0;
  vec2 r0 = [0.0, 0.0];
  vec2 r1 = [0.0, 0.0];
  vec2 pos = [0.0, 0.0];
  Update
  {
  r0 = [-<$[]> (0.1e1, * (* (0.2e1, t[2]), t[2])), * (* (unary -<$[]> (0.2e1), sqrt (-<$[]> (0.1e1, * (t[2], t[2])))), t[2])];
    r1 = [* (* (0.2e1, sqrt (-<$[]> (0.1e1, * (t[2], t[2])))), t[2]), -<$[]> (0.1e1, * (* (0.2e1, t[2]), t[2]))];
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v00), •<$[2]; $[2]; $[]> (r1, v00)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v00, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v00)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v00))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v01), •<$[2]; $[2]; $[]> (r1, v01)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v01, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v01)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v01))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v02), •<$[2]; $[2]; $[]> (r1, v02)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v02, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v02)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v02))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v03), •<$[2]; $[2]; $[]> (r1, v03)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v03, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v03)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v03))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v04), •<$[2]; $[2]; $[]> (r1, v04)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v04, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v04)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v04))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v05), •<$[2]; $[2]; $[]> (r1, v05)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v05, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v05)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v05))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v06), •<$[2]; $[2]; $[]> (r1, v06)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v06, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v06)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v06))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v07), •<$[2]; $[2]; $[]> (r1, v07)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v07, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v07)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v07))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v08), •<$[2]; $[2]; $[]> (r1, v08)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v08, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v08)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v08))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v09), •<$[2]; $[2]; $[]> (r1, v09)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v09, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v09)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v09))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v10), •<$[2]; $[2]; $[]> (r1, v10)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v10, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v10)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v10))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v11), •<$[2]; $[2]; $[]> (r1, v11)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v11, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v11)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v11))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v12), •<$[2]; $[2]; $[]> (r1, v12)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v12, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v12)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v12))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v13), •<$[2]; $[2]; $[]> (r1, v13)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v13, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v13)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v13))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v14), •<$[2]; $[2]; $[]> (r1, v14)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v14, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v14)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v14))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v15), •<$[2]; $[2]; $[]> (r1, v15)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v15, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v15)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v15))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v16), •<$[2]; $[2]; $[]> (r1, v16)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v16, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v16)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v16))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v17), •<$[2]; $[2]; $[]> (r1, v17)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v17, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v17)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v17))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v18), •<$[2]; $[2]; $[]> (r1, v18)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v18, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v18)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v18))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v19), •<$[2]; $[2]; $[]> (r1, v19)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v19, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v19)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v19))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v20), •<$[2]; $[2]; $[]> (r1, v20)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v20, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v20)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v20))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v21), •<$[2]; $[2]; $[]> (r1, v21)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v21, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v21)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v21))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v22), •<$[2]; $[2]; $[]> (r1, v22)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v22, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v22)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v22))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v23), •<$[2]; $[2]; $[]> (r1, v23)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v23, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v23)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v23))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v24), •<$[2]; $[2]; $[]> (r1, v24)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v24, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v24)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v24))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v25), •<$[2]; $[2]; $[]> (r1, v25)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v25, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v25)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v25))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v26), •<$[2]; $[2]; $[]> (r1, v26)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v26, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v26)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v26))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v27), •<$[2]; $[2]; $[]> (r1, v27)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v27, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v27)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v27))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v28), •<$[2]; $[2]; $[]> (r1, v28)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v28, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v28)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v28))));
      }
    pos = +<$[2]> ([•<$[2]; $[2]; $[]> (r0, v29), •<$[2]; $[2]; $[]> (r1, v29)], [t[0], t[1]]);
    if inside<#2; %2; $[]> (v29, T) if inside<#2; %2; $[]> (pos, F) else false {
    score = +<$[]> (score, * (-<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v29)), -<$[]> (@<#2; %2; $[]> (F, pos), @<#2; %2; $[]> (T, v29))));
      }
    stabilize;
    }
  
  Stabilize
  {
  }
  
}
/* Program end */
/* Simplified Program start */
{
  field#2(2)[] T00A3;
  field#2(2)[] F00AC;
  vec2 v0000B5;
  vec2 v0100B8;
  vec2 v0200BB;
  vec2 v0300BD;
  vec2 v0400BF;
  vec2 v0500C1;
  vec2 v0600C4;
  vec2 v0700C7;
  vec2 v0800C9;
  vec2 v0900CB;
  vec2 v1000CD;
  vec2 v1100D0;
  vec2 v1200D3;
  vec2 v1300D5;
  vec2 v1400D7;
  vec2 v1500D9;
  vec2 v1600DB;
  vec2 v1700DD;
  vec2 v1800DE;
  vec2 v1900DF;
  vec2 v2000E0;
  vec2 v2100E2;
  vec2 v2200E4;
  vec2 v2300E5;
  vec2 v2400E6;
  vec2 v2500E7;
  vec2 v2600E9;
  vec2 v2700EB;
  vec2 v2800EC;
  vec2 v2900ED;
  _t048F = bspln30095 ();
  _t0490 = "square-template.nrrd";
  _t0491 = load0080<%2; $[]> (_t0490);
  T00A3 = ⊛003A<#2; %2; $[]> (_t048F, _t0491);
  _t0492 = bspln30095 ();
  _t0493 = "square-rotate.nrrd";
  _t0494 = load0080<%2; $[]> (_t0493);
  F00AC = ⊛003A<#2; %2; $[]> (_t0492, _t0494);
  _t0495 = 0.5e0;
  _t0496 = unary -004D<$[]> (_t0495);
  _t0497 = 0.5e0;
  _t0498 = unary -004D<$[]> (_t0497);
  v0000B5 = [_t0496, _t0498];
  _t0499 = 0.5e0;
  _t049A = unary -004D<$[]> (_t0499);
  _t049B = 0.25e0;
  _t049C = unary -004D<$[]> (_t049B);
  v0100B8 = [_t049A, _t049C];
  _t049D = 0.5e0;
  _t049E = unary -004D<$[]> (_t049D);
  _t049F = 0.0;
  v0200BB = [_t049E, _t049F];
  _t04A0 = 0.5e0;
  _t04A1 = unary -004D<$[]> (_t04A0);
  _t04A2 = 0.25e0;
  v0300BD = [_t04A1, _t04A2];
  _t04A3 = 0.5e0;
  _t04A4 = unary -004D<$[]> (_t04A3);
  _t04A5 = 0.5e0;
  v0400BF = [_t04A4, _t04A5];
  _t04A6 = 0.3e0;
  _t04A7 = unary -004D<$[]> (_t04A6);
  _t04A8 = 0.5e0;
  _t04A9 = unary -004D<$[]> (_t04A8);
  v0500C1 = [_t04A7, _t04A9];
  _t04AA = 0.3e0;
  _t04AB = unary -004D<$[]> (_t04AA);
  _t04AC = 0.25e0;
  _t04AD = unary -004D<$[]> (_t04AC);
  v0600C4 = [_t04AB, _t04AD];
  _t04AE = 0.3e0;
  _t04AF = unary -004D<$[]> (_t04AE);
  _t04B0 = 0.0;
  v0700C7 = [_t04AF, _t04B0];
  _t04B1 = 0.3e0;
  _t04B2 = unary -004D<$[]> (_t04B1);
  _t04B3 = 0.25e0;
  v0800C9 = [_t04B2, _t04B3];
  _t04B4 = 0.3e0;
  _t04B5 = unary -004D<$[]> (_t04B4);
  _t04B6 = 0.5e0;
  v0900CB = [_t04B5, _t04B6];
  _t04B7 = 0.1e0;
  _t04B8 = unary -004D<$[]> (_t04B7);
  _t04B9 = 0.5e0;
  _t04BA = unary -004D<$[]> (_t04B9);
  v1000CD = [_t04B8, _t04BA];
  _t04BB = 0.1e0;
  _t04BC = unary -004D<$[]> (_t04BB);
  _t04BD = 0.25e0;
  _t04BE = unary -004D<$[]> (_t04BD);
  v1100D0 = [_t04BC, _t04BE];
  _t04BF = 0.1e0;
  _t04C0 = unary -004D<$[]> (_t04BF);
  _t04C1 = 0.0;
  v1200D3 = [_t04C0, _t04C1];
  _t04C2 = 0.1e0;
  _t04C3 = unary -004D<$[]> (_t04C2);
  _t04C4 = 0.25e0;
  v1300D5 = [_t04C3, _t04C4];
  _t04C5 = 0.1e0;
  _t04C6 = unary -004D<$[]> (_t04C5);
  _t04C7 = 0.5e0;
  v1400D7 = [_t04C6, _t04C7];
  _t04C8 = 0.1e0;
  _t04C9 = 0.5e0;
  _t04CA = unary -004D<$[]> (_t04C9);
  v1500D9 = [_t04C8, _t04CA];
  _t04CB = 0.1e0;
  _t04CC = 0.25e0;
  _t04CD = unary -004D<$[]> (_t04CC);
  v1600DB = [_t04CB, _t04CD];
  _t04CE = 0.1e0;
  _t04CF = 0.0;
  v1700DD = [_t04CE, _t04CF];
  _t04D0 = 0.1e0;
  _t04D1 = 0.25e0;
  v1800DE = [_t04D0, _t04D1];
  _t04D2 = 0.1e0;
  _t04D3 = 0.5e0;
  v1900DF = [_t04D2, _t04D3];
  _t04D4 = 0.3e0;
  _t04D5 = 0.5e0;
  _t04D6 = unary -004D<$[]> (_t04D5);
  v2000E0 = [_t04D4, _t04D6];
  _t04D7 = 0.3e0;
  _t04D8 = 0.25e0;
  _t04D9 = unary -004D<$[]> (_t04D8);
  v2100E2 = [_t04D7, _t04D9];
  _t04DA = 0.3e0;
  _t04DB = 0.0;
  v2200E4 = [_t04DA, _t04DB];
  _t04DC = 0.3e0;
  _t04DD = 0.25e0;
  v2300E5 = [_t04DC, _t04DD];
  _t04DE = 0.3e0;
  _t04DF = 0.5e0;
  v2400E6 = [_t04DE, _t04DF];
  _t04E0 = 0.5e0;
  _t04E1 = 0.5e0;
  _t04E2 = unary -004D<$[]> (_t04E1);
  v2500E7 = [_t04E0, _t04E2];
  _t04E3 = 0.5e0;
  _t04E4 = 0.25e0;
  _t04E5 = unary -004D<$[]> (_t04E4);
  v2600E9 = [_t04E3, _t04E5];
  _t04E6 = 0.5e0;
  _t04E7 = 0.0;
  v2700EB = [_t04E6, _t04E7];
  _t04E8 = 0.5e0;
  _t04E9 = 0.25e0;
  v2800EC = [_t04E8, _t04E9];
  _t04EA = 0.5e0;
  _t04EB = 0.5e0;
  v2900ED = [_t04EA, _t04EB];
}
Array
  {
    _t072C = 0;
    _t072D = 60;
    _t072E = 0;
    _t072F = 60;
    _t0730 = 0;
    _t0731 = 60;
  }
  for int i048C = _t072C .. _t072D
    for int j048D = _t072E .. _t072F
      for int k048E = _t0730 .. _t0731
        { }
        new R(i048C, j048D, k048E);
strand R (int i00F0, int j00EF, int k00EE)
{{
    vec3 t00F1;
    output real score00F5;
    vec2 r000F6;
    vec2 r100F7;
    vec2 pos00F8;
    _t04EC = $i2r009B (i00F0);
    _t04ED = 0.60e2;
    _t04EE = /002A (_t04EC, _t04ED);
    _t04EF = 0.5e0;
    _t04F0 = -0016<$[]> (_t04EE, _t04EF);
    _t04F1 = $i2r009B (j00EF);
    _t04F2 = 0.60e2;
    _t04F3 = /002A (_t04F1, _t04F2);
    _t04F4 = 0.5e0;
    _t04F5 = -0016<$[]> (_t04F3, _t04F4);
    _t04F6 = $i2r009B (k00EE);
    _t04F7 = 0.60e2;
    _t04F8 = /002A (_t04F6, _t04F7);
    _t04F9 = 0.5e0;
    _t04FA = -0016<$[]> (_t04F8, _t04F9);
    t00F1 = [_t04F0, _t04F5, _t04FA];
    score00F5 = 0.0;
    _t04FB = 0.0;
    _t04FC = 0.0;
    r000F6 = [_t04FB, _t04FC];
    _t04FD = 0.0;
    _t04FE = 0.0;
    r100F7 = [_t04FD, _t04FE];
    _t04FF = 0.0;
    _t0500 = 0.0;
    pos00F8 = [_t04FF, _t0500];
  }
  Update
  {
    _t0501 = 0.1e1;
    _t0502 = 0.2e1;
    _t0503 = 2;
    _t0504 = t00F1[_t0503];
    _t0505 = *001C (_t0502, _t0504);
    _t0506 = 2;
    _t0507 = t00F1[_t0506];
    _t0508 = *001C (_t0505, _t0507);
    _t0509 = -0016<$[]> (_t0501, _t0508);
    _t050A = 0.2e1;
    _t050B = unary -004D<$[]> (_t050A);
    _t050C = 0.1e1;
    _t050D = 2;
    _t050E = t00F1[_t050D];
    _t050F = 2;
    _t0510 = t00F1[_t050F];
    _t0511 = *001C (_t050E, _t0510);
    _t0512 = -0016<$[]> (_t050C, _t0511);
    _t0513 = sqrt0091 (_t0512);
    _t0514 = *001C (_t050B, _t0513);
    _t0515 = 2;
    _t0516 = t00F1[_t0515];
    _t0517 = *001C (_t0514, _t0516);
    r000F6 = [_t0509, _t0517];
    _t0518 = 0.2e1;
    _t0519 = 0.1e1;
    _t051A = 2;
    _t051B = t00F1[_t051A];
    _t051C = 2;
    _t051D = t00F1[_t051C];
    _t051E = *001C (_t051B, _t051D);
    _t051F = -0016<$[]> (_t0519, _t051E);
    _t0520 = sqrt0091 (_t051F);
    _t0521 = *001C (_t0518, _t0520);
    _t0522 = 2;
    _t0523 = t00F1[_t0522];
    _t0524 = *001C (_t0521, _t0523);
    _t0525 = 0.1e1;
    _t0526 = 0.2e1;
    _t0527 = 2;
    _t0528 = t00F1[_t0527];
    _t0529 = *001C (_t0526, _t0528);
    _t052A = 2;
    _t052B = t00F1[_t052A];
    _t052C = *001C (_t0529, _t052B);
    _t052D = -0016<$[]> (_t0525, _t052C);
    r100F7 = [_t0524, _t052D];
    _t052E = •0079<$[2]; $[2]; $[]> (r000F6, v0000B5);
    _t052F = •0079<$[2]; $[2]; $[]> (r100F7, v0000B5);
    _t0530 = [_t052E, _t052F];
    _t0531 = 0;
    _t0532 = t00F1[_t0531];
    _t0533 = 1;
    _t0534 = t00F1[_t0533];
    _t0535 = [_t0532, _t0534];
    pos00F8 = +000F<$[2]> (_t0530, _t0535);
    bool _t0536;
    _t0537 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0537
      _t0536 = inside007D<#2; %2; $[]> (v0000B5, T00A3);
    else
      _t0536 = false;
    if _t0536 {
      _t0538 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0539 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t053A = -0016<$[]> (_t0538, _t0539);
      _t053B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t053C = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t053D = -0016<$[]> (_t053B, _t053C);
      _t053E = *001C (_t053A, _t053D);
      score00F5 = +000F<$[]> (score00F5, _t053E);
    }
    _t053F = •0079<$[2]; $[2]; $[]> (r000F6, v0100B8);
    _t0540 = •0079<$[2]; $[2]; $[]> (r100F7, v0100B8);
    _t0541 = [_t053F, _t0540];
    _t0542 = 0;
    _t0543 = t00F1[_t0542];
    _t0544 = 1;
    _t0545 = t00F1[_t0544];
    _t0546 = [_t0543, _t0545];
    pos00F8 = +000F<$[2]> (_t0541, _t0546);
    bool _t0547;
    _t0548 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0548
      _t0547 = inside007D<#2; %2; $[]> (v0100B8, T00A3);
    else
      _t0547 = false;
    if _t0547 {
      _t0549 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t054A = @0060<#2; %2; $[]> (T00A3, v0100B8);
      _t054B = -0016<$[]> (_t0549, _t054A);
      _t054C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t054D = @0060<#2; %2; $[]> (T00A3, v0100B8);
      _t054E = -0016<$[]> (_t054C, _t054D);
      _t054F = *001C (_t054B, _t054E);
      score00F5 = +000F<$[]> (score00F5, _t054F);
    }
    _t0550 = •0079<$[2]; $[2]; $[]> (r000F6, v0200BB);
    _t0551 = •0079<$[2]; $[2]; $[]> (r100F7, v0200BB);
    _t0552 = [_t0550, _t0551];
    _t0553 = 0;
    _t0554 = t00F1[_t0553];
    _t0555 = 1;
    _t0556 = t00F1[_t0555];
    _t0557 = [_t0554, _t0556];
    pos00F8 = +000F<$[2]> (_t0552, _t0557);
    bool _t0558;
    _t0559 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0559
      _t0558 = inside007D<#2; %2; $[]> (v0200BB, T00A3);
    else
      _t0558 = false;
    if _t0558 {
      _t055A = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t055B = @0060<#2; %2; $[]> (T00A3, v0200BB);
      _t055C = -0016<$[]> (_t055A, _t055B);
      _t055D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t055E = @0060<#2; %2; $[]> (T00A3, v0200BB);
      _t055F = -0016<$[]> (_t055D, _t055E);
      _t0560 = *001C (_t055C, _t055F);
      score00F5 = +000F<$[]> (score00F5, _t0560);
    }
    _t0561 = •0079<$[2]; $[2]; $[]> (r000F6, v0300BD);
    _t0562 = •0079<$[2]; $[2]; $[]> (r100F7, v0300BD);
    _t0563 = [_t0561, _t0562];
    _t0564 = 0;
    _t0565 = t00F1[_t0564];
    _t0566 = 1;
    _t0567 = t00F1[_t0566];
    _t0568 = [_t0565, _t0567];
    pos00F8 = +000F<$[2]> (_t0563, _t0568);
    bool _t0569;
    _t056A = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t056A
      _t0569 = inside007D<#2; %2; $[]> (v0300BD, T00A3);
    else
      _t0569 = false;
    if _t0569 {
      _t056B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t056C = @0060<#2; %2; $[]> (T00A3, v0300BD);
      _t056D = -0016<$[]> (_t056B, _t056C);
      _t056E = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t056F = @0060<#2; %2; $[]> (T00A3, v0300BD);
      _t0570 = -0016<$[]> (_t056E, _t056F);
      _t0571 = *001C (_t056D, _t0570);
      score00F5 = +000F<$[]> (score00F5, _t0571);
    }
    _t0572 = •0079<$[2]; $[2]; $[]> (r000F6, v0400BF);
    _t0573 = •0079<$[2]; $[2]; $[]> (r100F7, v0400BF);
    _t0574 = [_t0572, _t0573];
    _t0575 = 0;
    _t0576 = t00F1[_t0575];
    _t0577 = 1;
    _t0578 = t00F1[_t0577];
    _t0579 = [_t0576, _t0578];
    pos00F8 = +000F<$[2]> (_t0574, _t0579);
    bool _t057A;
    _t057B = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t057B
      _t057A = inside007D<#2; %2; $[]> (v0400BF, T00A3);
    else
      _t057A = false;
    if _t057A {
      _t057C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t057D = @0060<#2; %2; $[]> (T00A3, v0400BF);
      _t057E = -0016<$[]> (_t057C, _t057D);
      _t057F = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0580 = @0060<#2; %2; $[]> (T00A3, v0400BF);
      _t0581 = -0016<$[]> (_t057F, _t0580);
      _t0582 = *001C (_t057E, _t0581);
      score00F5 = +000F<$[]> (score00F5, _t0582);
    }
    _t0583 = •0079<$[2]; $[2]; $[]> (r000F6, v0500C1);
    _t0584 = •0079<$[2]; $[2]; $[]> (r100F7, v0500C1);
    _t0585 = [_t0583, _t0584];
    _t0586 = 0;
    _t0587 = t00F1[_t0586];
    _t0588 = 1;
    _t0589 = t00F1[_t0588];
    _t058A = [_t0587, _t0589];
    pos00F8 = +000F<$[2]> (_t0585, _t058A);
    bool _t058B;
    _t058C = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t058C
      _t058B = inside007D<#2; %2; $[]> (v0500C1, T00A3);
    else
      _t058B = false;
    if _t058B {
      _t058D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t058E = @0060<#2; %2; $[]> (T00A3, v0500C1);
      _t058F = -0016<$[]> (_t058D, _t058E);
      _t0590 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0591 = @0060<#2; %2; $[]> (T00A3, v0500C1);
      _t0592 = -0016<$[]> (_t0590, _t0591);
      _t0593 = *001C (_t058F, _t0592);
      score00F5 = +000F<$[]> (score00F5, _t0593);
    }
    _t0594 = •0079<$[2]; $[2]; $[]> (r000F6, v0600C4);
    _t0595 = •0079<$[2]; $[2]; $[]> (r100F7, v0600C4);
    _t0596 = [_t0594, _t0595];
    _t0597 = 0;
    _t0598 = t00F1[_t0597];
    _t0599 = 1;
    _t059A = t00F1[_t0599];
    _t059B = [_t0598, _t059A];
    pos00F8 = +000F<$[2]> (_t0596, _t059B);
    bool _t059C;
    _t059D = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t059D
      _t059C = inside007D<#2; %2; $[]> (v0600C4, T00A3);
    else
      _t059C = false;
    if _t059C {
      _t059E = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t059F = @0060<#2; %2; $[]> (T00A3, v0600C4);
      _t05A0 = -0016<$[]> (_t059E, _t059F);
      _t05A1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05A2 = @0060<#2; %2; $[]> (T00A3, v0600C4);
      _t05A3 = -0016<$[]> (_t05A1, _t05A2);
      _t05A4 = *001C (_t05A0, _t05A3);
      score00F5 = +000F<$[]> (score00F5, _t05A4);
    }
    _t05A5 = •0079<$[2]; $[2]; $[]> (r000F6, v0700C7);
    _t05A6 = •0079<$[2]; $[2]; $[]> (r100F7, v0700C7);
    _t05A7 = [_t05A5, _t05A6];
    _t05A8 = 0;
    _t05A9 = t00F1[_t05A8];
    _t05AA = 1;
    _t05AB = t00F1[_t05AA];
    _t05AC = [_t05A9, _t05AB];
    pos00F8 = +000F<$[2]> (_t05A7, _t05AC);
    bool _t05AD;
    _t05AE = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05AE
      _t05AD = inside007D<#2; %2; $[]> (v0700C7, T00A3);
    else
      _t05AD = false;
    if _t05AD {
      _t05AF = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05B0 = @0060<#2; %2; $[]> (T00A3, v0700C7);
      _t05B1 = -0016<$[]> (_t05AF, _t05B0);
      _t05B2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05B3 = @0060<#2; %2; $[]> (T00A3, v0700C7);
      _t05B4 = -0016<$[]> (_t05B2, _t05B3);
      _t05B5 = *001C (_t05B1, _t05B4);
      score00F5 = +000F<$[]> (score00F5, _t05B5);
    }
    _t05B6 = •0079<$[2]; $[2]; $[]> (r000F6, v0800C9);
    _t05B7 = •0079<$[2]; $[2]; $[]> (r100F7, v0800C9);
    _t05B8 = [_t05B6, _t05B7];
    _t05B9 = 0;
    _t05BA = t00F1[_t05B9];
    _t05BB = 1;
    _t05BC = t00F1[_t05BB];
    _t05BD = [_t05BA, _t05BC];
    pos00F8 = +000F<$[2]> (_t05B8, _t05BD);
    bool _t05BE;
    _t05BF = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05BF
      _t05BE = inside007D<#2; %2; $[]> (v0800C9, T00A3);
    else
      _t05BE = false;
    if _t05BE {
      _t05C0 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05C1 = @0060<#2; %2; $[]> (T00A3, v0800C9);
      _t05C2 = -0016<$[]> (_t05C0, _t05C1);
      _t05C3 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05C4 = @0060<#2; %2; $[]> (T00A3, v0800C9);
      _t05C5 = -0016<$[]> (_t05C3, _t05C4);
      _t05C6 = *001C (_t05C2, _t05C5);
      score00F5 = +000F<$[]> (score00F5, _t05C6);
    }
    _t05C7 = •0079<$[2]; $[2]; $[]> (r000F6, v0900CB);
    _t05C8 = •0079<$[2]; $[2]; $[]> (r100F7, v0900CB);
    _t05C9 = [_t05C7, _t05C8];
    _t05CA = 0;
    _t05CB = t00F1[_t05CA];
    _t05CC = 1;
    _t05CD = t00F1[_t05CC];
    _t05CE = [_t05CB, _t05CD];
    pos00F8 = +000F<$[2]> (_t05C9, _t05CE);
    bool _t05CF;
    _t05D0 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05D0
      _t05CF = inside007D<#2; %2; $[]> (v0900CB, T00A3);
    else
      _t05CF = false;
    if _t05CF {
      _t05D1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05D2 = @0060<#2; %2; $[]> (T00A3, v0900CB);
      _t05D3 = -0016<$[]> (_t05D1, _t05D2);
      _t05D4 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05D5 = @0060<#2; %2; $[]> (T00A3, v0900CB);
      _t05D6 = -0016<$[]> (_t05D4, _t05D5);
      _t05D7 = *001C (_t05D3, _t05D6);
      score00F5 = +000F<$[]> (score00F5, _t05D7);
    }
    _t05D8 = •0079<$[2]; $[2]; $[]> (r000F6, v1000CD);
    _t05D9 = •0079<$[2]; $[2]; $[]> (r100F7, v1000CD);
    _t05DA = [_t05D8, _t05D9];
    _t05DB = 0;
    _t05DC = t00F1[_t05DB];
    _t05DD = 1;
    _t05DE = t00F1[_t05DD];
    _t05DF = [_t05DC, _t05DE];
    pos00F8 = +000F<$[2]> (_t05DA, _t05DF);
    bool _t05E0;
    _t05E1 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05E1
      _t05E0 = inside007D<#2; %2; $[]> (v1000CD, T00A3);
    else
      _t05E0 = false;
    if _t05E0 {
      _t05E2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05E3 = @0060<#2; %2; $[]> (T00A3, v1000CD);
      _t05E4 = -0016<$[]> (_t05E2, _t05E3);
      _t05E5 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05E6 = @0060<#2; %2; $[]> (T00A3, v1000CD);
      _t05E7 = -0016<$[]> (_t05E5, _t05E6);
      _t05E8 = *001C (_t05E4, _t05E7);
      score00F5 = +000F<$[]> (score00F5, _t05E8);
    }
    _t05E9 = •0079<$[2]; $[2]; $[]> (r000F6, v1100D0);
    _t05EA = •0079<$[2]; $[2]; $[]> (r100F7, v1100D0);
    _t05EB = [_t05E9, _t05EA];
    _t05EC = 0;
    _t05ED = t00F1[_t05EC];
    _t05EE = 1;
    _t05EF = t00F1[_t05EE];
    _t05F0 = [_t05ED, _t05EF];
    pos00F8 = +000F<$[2]> (_t05EB, _t05F0);
    bool _t05F1;
    _t05F2 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05F2
      _t05F1 = inside007D<#2; %2; $[]> (v1100D0, T00A3);
    else
      _t05F1 = false;
    if _t05F1 {
      _t05F3 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05F4 = @0060<#2; %2; $[]> (T00A3, v1100D0);
      _t05F5 = -0016<$[]> (_t05F3, _t05F4);
      _t05F6 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05F7 = @0060<#2; %2; $[]> (T00A3, v1100D0);
      _t05F8 = -0016<$[]> (_t05F6, _t05F7);
      _t05F9 = *001C (_t05F5, _t05F8);
      score00F5 = +000F<$[]> (score00F5, _t05F9);
    }
    _t05FA = •0079<$[2]; $[2]; $[]> (r000F6, v1200D3);
    _t05FB = •0079<$[2]; $[2]; $[]> (r100F7, v1200D3);
    _t05FC = [_t05FA, _t05FB];
    _t05FD = 0;
    _t05FE = t00F1[_t05FD];
    _t05FF = 1;
    _t0600 = t00F1[_t05FF];
    _t0601 = [_t05FE, _t0600];
    pos00F8 = +000F<$[2]> (_t05FC, _t0601);
    bool _t0602;
    _t0603 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0603
      _t0602 = inside007D<#2; %2; $[]> (v1200D3, T00A3);
    else
      _t0602 = false;
    if _t0602 {
      _t0604 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0605 = @0060<#2; %2; $[]> (T00A3, v1200D3);
      _t0606 = -0016<$[]> (_t0604, _t0605);
      _t0607 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0608 = @0060<#2; %2; $[]> (T00A3, v1200D3);
      _t0609 = -0016<$[]> (_t0607, _t0608);
      _t060A = *001C (_t0606, _t0609);
      score00F5 = +000F<$[]> (score00F5, _t060A);
    }
    _t060B = •0079<$[2]; $[2]; $[]> (r000F6, v1300D5);
    _t060C = •0079<$[2]; $[2]; $[]> (r100F7, v1300D5);
    _t060D = [_t060B, _t060C];
    _t060E = 0;
    _t060F = t00F1[_t060E];
    _t0610 = 1;
    _t0611 = t00F1[_t0610];
    _t0612 = [_t060F, _t0611];
    pos00F8 = +000F<$[2]> (_t060D, _t0612);
    bool _t0613;
    _t0614 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0614
      _t0613 = inside007D<#2; %2; $[]> (v1300D5, T00A3);
    else
      _t0613 = false;
    if _t0613 {
      _t0615 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0616 = @0060<#2; %2; $[]> (T00A3, v1300D5);
      _t0617 = -0016<$[]> (_t0615, _t0616);
      _t0618 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0619 = @0060<#2; %2; $[]> (T00A3, v1300D5);
      _t061A = -0016<$[]> (_t0618, _t0619);
      _t061B = *001C (_t0617, _t061A);
      score00F5 = +000F<$[]> (score00F5, _t061B);
    }
    _t061C = •0079<$[2]; $[2]; $[]> (r000F6, v1400D7);
    _t061D = •0079<$[2]; $[2]; $[]> (r100F7, v1400D7);
    _t061E = [_t061C, _t061D];
    _t061F = 0;
    _t0620 = t00F1[_t061F];
    _t0621 = 1;
    _t0622 = t00F1[_t0621];
    _t0623 = [_t0620, _t0622];
    pos00F8 = +000F<$[2]> (_t061E, _t0623);
    bool _t0624;
    _t0625 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0625
      _t0624 = inside007D<#2; %2; $[]> (v1400D7, T00A3);
    else
      _t0624 = false;
    if _t0624 {
      _t0626 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0627 = @0060<#2; %2; $[]> (T00A3, v1400D7);
      _t0628 = -0016<$[]> (_t0626, _t0627);
      _t0629 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t062A = @0060<#2; %2; $[]> (T00A3, v1400D7);
      _t062B = -0016<$[]> (_t0629, _t062A);
      _t062C = *001C (_t0628, _t062B);
      score00F5 = +000F<$[]> (score00F5, _t062C);
    }
    _t062D = •0079<$[2]; $[2]; $[]> (r000F6, v1500D9);
    _t062E = •0079<$[2]; $[2]; $[]> (r100F7, v1500D9);
    _t062F = [_t062D, _t062E];
    _t0630 = 0;
    _t0631 = t00F1[_t0630];
    _t0632 = 1;
    _t0633 = t00F1[_t0632];
    _t0634 = [_t0631, _t0633];
    pos00F8 = +000F<$[2]> (_t062F, _t0634);
    bool _t0635;
    _t0636 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0636
      _t0635 = inside007D<#2; %2; $[]> (v1500D9, T00A3);
    else
      _t0635 = false;
    if _t0635 {
      _t0637 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0638 = @0060<#2; %2; $[]> (T00A3, v1500D9);
      _t0639 = -0016<$[]> (_t0637, _t0638);
      _t063A = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t063B = @0060<#2; %2; $[]> (T00A3, v1500D9);
      _t063C = -0016<$[]> (_t063A, _t063B);
      _t063D = *001C (_t0639, _t063C);
      score00F5 = +000F<$[]> (score00F5, _t063D);
    }
    _t063E = •0079<$[2]; $[2]; $[]> (r000F6, v1600DB);
    _t063F = •0079<$[2]; $[2]; $[]> (r100F7, v1600DB);
    _t0640 = [_t063E, _t063F];
    _t0641 = 0;
    _t0642 = t00F1[_t0641];
    _t0643 = 1;
    _t0644 = t00F1[_t0643];
    _t0645 = [_t0642, _t0644];
    pos00F8 = +000F<$[2]> (_t0640, _t0645);
    bool _t0646;
    _t0647 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0647
      _t0646 = inside007D<#2; %2; $[]> (v1600DB, T00A3);
    else
      _t0646 = false;
    if _t0646 {
      _t0648 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0649 = @0060<#2; %2; $[]> (T00A3, v1600DB);
      _t064A = -0016<$[]> (_t0648, _t0649);
      _t064B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t064C = @0060<#2; %2; $[]> (T00A3, v1600DB);
      _t064D = -0016<$[]> (_t064B, _t064C);
      _t064E = *001C (_t064A, _t064D);
      score00F5 = +000F<$[]> (score00F5, _t064E);
    }
    _t064F = •0079<$[2]; $[2]; $[]> (r000F6, v1700DD);
    _t0650 = •0079<$[2]; $[2]; $[]> (r100F7, v1700DD);
    _t0651 = [_t064F, _t0650];
    _t0652 = 0;
    _t0653 = t00F1[_t0652];
    _t0654 = 1;
    _t0655 = t00F1[_t0654];
    _t0656 = [_t0653, _t0655];
    pos00F8 = +000F<$[2]> (_t0651, _t0656);
    bool _t0657;
    _t0658 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0658
      _t0657 = inside007D<#2; %2; $[]> (v1700DD, T00A3);
    else
      _t0657 = false;
    if _t0657 {
      _t0659 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t065A = @0060<#2; %2; $[]> (T00A3, v1700DD);
      _t065B = -0016<$[]> (_t0659, _t065A);
      _t065C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t065D = @0060<#2; %2; $[]> (T00A3, v1700DD);
      _t065E = -0016<$[]> (_t065C, _t065D);
      _t065F = *001C (_t065B, _t065E);
      score00F5 = +000F<$[]> (score00F5, _t065F);
    }
    _t0660 = •0079<$[2]; $[2]; $[]> (r000F6, v1800DE);
    _t0661 = •0079<$[2]; $[2]; $[]> (r100F7, v1800DE);
    _t0662 = [_t0660, _t0661];
    _t0663 = 0;
    _t0664 = t00F1[_t0663];
    _t0665 = 1;
    _t0666 = t00F1[_t0665];
    _t0667 = [_t0664, _t0666];
    pos00F8 = +000F<$[2]> (_t0662, _t0667);
    bool _t0668;
    _t0669 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0669
      _t0668 = inside007D<#2; %2; $[]> (v1800DE, T00A3);
    else
      _t0668 = false;
    if _t0668 {
      _t066A = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t066B = @0060<#2; %2; $[]> (T00A3, v1800DE);
      _t066C = -0016<$[]> (_t066A, _t066B);
      _t066D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t066E = @0060<#2; %2; $[]> (T00A3, v1800DE);
      _t066F = -0016<$[]> (_t066D, _t066E);
      _t0670 = *001C (_t066C, _t066F);
      score00F5 = +000F<$[]> (score00F5, _t0670);
    }
    _t0671 = •0079<$[2]; $[2]; $[]> (r000F6, v1900DF);
    _t0672 = •0079<$[2]; $[2]; $[]> (r100F7, v1900DF);
    _t0673 = [_t0671, _t0672];
    _t0674 = 0;
    _t0675 = t00F1[_t0674];
    _t0676 = 1;
    _t0677 = t00F1[_t0676];
    _t0678 = [_t0675, _t0677];
    pos00F8 = +000F<$[2]> (_t0673, _t0678);
    bool _t0679;
    _t067A = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t067A
      _t0679 = inside007D<#2; %2; $[]> (v1900DF, T00A3);
    else
      _t0679 = false;
    if _t0679 {
      _t067B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t067C = @0060<#2; %2; $[]> (T00A3, v1900DF);
      _t067D = -0016<$[]> (_t067B, _t067C);
      _t067E = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t067F = @0060<#2; %2; $[]> (T00A3, v1900DF);
      _t0680 = -0016<$[]> (_t067E, _t067F);
      _t0681 = *001C (_t067D, _t0680);
      score00F5 = +000F<$[]> (score00F5, _t0681);
    }
    _t0682 = •0079<$[2]; $[2]; $[]> (r000F6, v2000E0);
    _t0683 = •0079<$[2]; $[2]; $[]> (r100F7, v2000E0);
    _t0684 = [_t0682, _t0683];
    _t0685 = 0;
    _t0686 = t00F1[_t0685];
    _t0687 = 1;
    _t0688 = t00F1[_t0687];
    _t0689 = [_t0686, _t0688];
    pos00F8 = +000F<$[2]> (_t0684, _t0689);
    bool _t068A;
    _t068B = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t068B
      _t068A = inside007D<#2; %2; $[]> (v2000E0, T00A3);
    else
      _t068A = false;
    if _t068A {
      _t068C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t068D = @0060<#2; %2; $[]> (T00A3, v2000E0);
      _t068E = -0016<$[]> (_t068C, _t068D);
      _t068F = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0690 = @0060<#2; %2; $[]> (T00A3, v2000E0);
      _t0691 = -0016<$[]> (_t068F, _t0690);
      _t0692 = *001C (_t068E, _t0691);
      score00F5 = +000F<$[]> (score00F5, _t0692);
    }
    _t0693 = •0079<$[2]; $[2]; $[]> (r000F6, v2100E2);
    _t0694 = •0079<$[2]; $[2]; $[]> (r100F7, v2100E2);
    _t0695 = [_t0693, _t0694];
    _t0696 = 0;
    _t0697 = t00F1[_t0696];
    _t0698 = 1;
    _t0699 = t00F1[_t0698];
    _t069A = [_t0697, _t0699];
    pos00F8 = +000F<$[2]> (_t0695, _t069A);
    bool _t069B;
    _t069C = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t069C
      _t069B = inside007D<#2; %2; $[]> (v2100E2, T00A3);
    else
      _t069B = false;
    if _t069B {
      _t069D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t069E = @0060<#2; %2; $[]> (T00A3, v2100E2);
      _t069F = -0016<$[]> (_t069D, _t069E);
      _t06A0 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06A1 = @0060<#2; %2; $[]> (T00A3, v2100E2);
      _t06A2 = -0016<$[]> (_t06A0, _t06A1);
      _t06A3 = *001C (_t069F, _t06A2);
      score00F5 = +000F<$[]> (score00F5, _t06A3);
    }
    _t06A4 = •0079<$[2]; $[2]; $[]> (r000F6, v2200E4);
    _t06A5 = •0079<$[2]; $[2]; $[]> (r100F7, v2200E4);
    _t06A6 = [_t06A4, _t06A5];
    _t06A7 = 0;
    _t06A8 = t00F1[_t06A7];
    _t06A9 = 1;
    _t06AA = t00F1[_t06A9];
    _t06AB = [_t06A8, _t06AA];
    pos00F8 = +000F<$[2]> (_t06A6, _t06AB);
    bool _t06AC;
    _t06AD = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06AD
      _t06AC = inside007D<#2; %2; $[]> (v2200E4, T00A3);
    else
      _t06AC = false;
    if _t06AC {
      _t06AE = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06AF = @0060<#2; %2; $[]> (T00A3, v2200E4);
      _t06B0 = -0016<$[]> (_t06AE, _t06AF);
      _t06B1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06B2 = @0060<#2; %2; $[]> (T00A3, v2200E4);
      _t06B3 = -0016<$[]> (_t06B1, _t06B2);
      _t06B4 = *001C (_t06B0, _t06B3);
      score00F5 = +000F<$[]> (score00F5, _t06B4);
    }
    _t06B5 = •0079<$[2]; $[2]; $[]> (r000F6, v2300E5);
    _t06B6 = •0079<$[2]; $[2]; $[]> (r100F7, v2300E5);
    _t06B7 = [_t06B5, _t06B6];
    _t06B8 = 0;
    _t06B9 = t00F1[_t06B8];
    _t06BA = 1;
    _t06BB = t00F1[_t06BA];
    _t06BC = [_t06B9, _t06BB];
    pos00F8 = +000F<$[2]> (_t06B7, _t06BC);
    bool _t06BD;
    _t06BE = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06BE
      _t06BD = inside007D<#2; %2; $[]> (v2300E5, T00A3);
    else
      _t06BD = false;
    if _t06BD {
      _t06BF = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06C0 = @0060<#2; %2; $[]> (T00A3, v2300E5);
      _t06C1 = -0016<$[]> (_t06BF, _t06C0);
      _t06C2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06C3 = @0060<#2; %2; $[]> (T00A3, v2300E5);
      _t06C4 = -0016<$[]> (_t06C2, _t06C3);
      _t06C5 = *001C (_t06C1, _t06C4);
      score00F5 = +000F<$[]> (score00F5, _t06C5);
    }
    _t06C6 = •0079<$[2]; $[2]; $[]> (r000F6, v2400E6);
    _t06C7 = •0079<$[2]; $[2]; $[]> (r100F7, v2400E6);
    _t06C8 = [_t06C6, _t06C7];
    _t06C9 = 0;
    _t06CA = t00F1[_t06C9];
    _t06CB = 1;
    _t06CC = t00F1[_t06CB];
    _t06CD = [_t06CA, _t06CC];
    pos00F8 = +000F<$[2]> (_t06C8, _t06CD);
    bool _t06CE;
    _t06CF = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06CF
      _t06CE = inside007D<#2; %2; $[]> (v2400E6, T00A3);
    else
      _t06CE = false;
    if _t06CE {
      _t06D0 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06D1 = @0060<#2; %2; $[]> (T00A3, v2400E6);
      _t06D2 = -0016<$[]> (_t06D0, _t06D1);
      _t06D3 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06D4 = @0060<#2; %2; $[]> (T00A3, v2400E6);
      _t06D5 = -0016<$[]> (_t06D3, _t06D4);
      _t06D6 = *001C (_t06D2, _t06D5);
      score00F5 = +000F<$[]> (score00F5, _t06D6);
    }
    _t06D7 = •0079<$[2]; $[2]; $[]> (r000F6, v2500E7);
    _t06D8 = •0079<$[2]; $[2]; $[]> (r100F7, v2500E7);
    _t06D9 = [_t06D7, _t06D8];
    _t06DA = 0;
    _t06DB = t00F1[_t06DA];
    _t06DC = 1;
    _t06DD = t00F1[_t06DC];
    _t06DE = [_t06DB, _t06DD];
    pos00F8 = +000F<$[2]> (_t06D9, _t06DE);
    bool _t06DF;
    _t06E0 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06E0
      _t06DF = inside007D<#2; %2; $[]> (v2500E7, T00A3);
    else
      _t06DF = false;
    if _t06DF {
      _t06E1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06E2 = @0060<#2; %2; $[]> (T00A3, v2500E7);
      _t06E3 = -0016<$[]> (_t06E1, _t06E2);
      _t06E4 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06E5 = @0060<#2; %2; $[]> (T00A3, v2500E7);
      _t06E6 = -0016<$[]> (_t06E4, _t06E5);
      _t06E7 = *001C (_t06E3, _t06E6);
      score00F5 = +000F<$[]> (score00F5, _t06E7);
    }
    _t06E8 = •0079<$[2]; $[2]; $[]> (r000F6, v2600E9);
    _t06E9 = •0079<$[2]; $[2]; $[]> (r100F7, v2600E9);
    _t06EA = [_t06E8, _t06E9];
    _t06EB = 0;
    _t06EC = t00F1[_t06EB];
    _t06ED = 1;
    _t06EE = t00F1[_t06ED];
    _t06EF = [_t06EC, _t06EE];
    pos00F8 = +000F<$[2]> (_t06EA, _t06EF);
    bool _t06F0;
    _t06F1 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06F1
      _t06F0 = inside007D<#2; %2; $[]> (v2600E9, T00A3);
    else
      _t06F0 = false;
    if _t06F0 {
      _t06F2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06F3 = @0060<#2; %2; $[]> (T00A3, v2600E9);
      _t06F4 = -0016<$[]> (_t06F2, _t06F3);
      _t06F5 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06F6 = @0060<#2; %2; $[]> (T00A3, v2600E9);
      _t06F7 = -0016<$[]> (_t06F5, _t06F6);
      _t06F8 = *001C (_t06F4, _t06F7);
      score00F5 = +000F<$[]> (score00F5, _t06F8);
    }
    _t06F9 = •0079<$[2]; $[2]; $[]> (r000F6, v2700EB);
    _t06FA = •0079<$[2]; $[2]; $[]> (r100F7, v2700EB);
    _t06FB = [_t06F9, _t06FA];
    _t06FC = 0;
    _t06FD = t00F1[_t06FC];
    _t06FE = 1;
    _t06FF = t00F1[_t06FE];
    _t0700 = [_t06FD, _t06FF];
    pos00F8 = +000F<$[2]> (_t06FB, _t0700);
    bool _t0701;
    _t0702 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0702
      _t0701 = inside007D<#2; %2; $[]> (v2700EB, T00A3);
    else
      _t0701 = false;
    if _t0701 {
      _t0703 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0704 = @0060<#2; %2; $[]> (T00A3, v2700EB);
      _t0705 = -0016<$[]> (_t0703, _t0704);
      _t0706 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0707 = @0060<#2; %2; $[]> (T00A3, v2700EB);
      _t0708 = -0016<$[]> (_t0706, _t0707);
      _t0709 = *001C (_t0705, _t0708);
      score00F5 = +000F<$[]> (score00F5, _t0709);
    }
    _t070A = •0079<$[2]; $[2]; $[]> (r000F6, v2800EC);
    _t070B = •0079<$[2]; $[2]; $[]> (r100F7, v2800EC);
    _t070C = [_t070A, _t070B];
    _t070D = 0;
    _t070E = t00F1[_t070D];
    _t070F = 1;
    _t0710 = t00F1[_t070F];
    _t0711 = [_t070E, _t0710];
    pos00F8 = +000F<$[2]> (_t070C, _t0711);
    bool _t0712;
    _t0713 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0713
      _t0712 = inside007D<#2; %2; $[]> (v2800EC, T00A3);
    else
      _t0712 = false;
    if _t0712 {
      _t0714 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0715 = @0060<#2; %2; $[]> (T00A3, v2800EC);
      _t0716 = -0016<$[]> (_t0714, _t0715);
      _t0717 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0718 = @0060<#2; %2; $[]> (T00A3, v2800EC);
      _t0719 = -0016<$[]> (_t0717, _t0718);
      _t071A = *001C (_t0716, _t0719);
      score00F5 = +000F<$[]> (score00F5, _t071A);
    }
    _t071B = •0079<$[2]; $[2]; $[]> (r000F6, v2900ED);
    _t071C = •0079<$[2]; $[2]; $[]> (r100F7, v2900ED);
    _t071D = [_t071B, _t071C];
    _t071E = 0;
    _t071F = t00F1[_t071E];
    _t0720 = 1;
    _t0721 = t00F1[_t0720];
    _t0722 = [_t071F, _t0721];
    pos00F8 = +000F<$[2]> (_t071D, _t0722);
    bool _t0723;
    _t0724 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0724
      _t0723 = inside007D<#2; %2; $[]> (v2900ED, T00A3);
    else
      _t0723 = false;
    if _t0723 {
      _t0725 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0726 = @0060<#2; %2; $[]> (T00A3, v2900ED);
      _t0727 = -0016<$[]> (_t0725, _t0726);
      _t0728 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0729 = @0060<#2; %2; $[]> (T00A3, v2900ED);
      _t072A = -0016<$[]> (_t0728, _t0729);
      _t072B = *001C (_t0727, _t072A);
      score00F5 = +000F<$[]> (score00F5, _t072B);
    }
    stabilize;
  }
  Stabilize
  { }
}
/* Program end */
**** static variables:  _t0490 _t0491 _t0493 _t0494
eval assignment: _t0490 = "square-template.nrrd"
square-template.nrrd file header:
  type: int
  dimension: 2
  space dimension: 2
  sizes: 21 21
  space directions: (0.050000000000000003,0) (0,0.050000000000000003)
  kinds: space space
  endian: little
  encoding: raw
  space origin: (-0.5,-0.5)
eval assignment: _t0491 = IMAGE2D<int>
eval assignment: _t0493 = "square-rotate.nrrd"
square-rotate.nrrd file header:
  type: float
  dimension: 2
  space dimension: 2
  sizes: 21 21
  space directions: (0.050000000000000003,0) (0,0.050000000000000003)
  kinds: space space
  endian: little
  encoding: raw
  space origin: (-0.5,-0.5)
eval assignment: _t0494 = IMAGE2D<float>
eval assignment: _t0495 = 0.5
eval assignment: _t0497 = 0.5
eval assignment: _t0499 = 0.5
eval assignment: _t049B = 0.25
eval assignment: _t049D = 0.5
eval assignment: _t049F = 0.0
eval assignment: _t04A0 = 0.5
eval assignment: _t04A2 = 0.25
eval assignment: _t04A3 = 0.5
eval assignment: _t04A5 = 0.5
eval assignment: _t04A6 = 0.3
eval assignment: _t04A8 = 0.5
eval assignment: _t04AA = 0.3
eval assignment: _t04AC = 0.25
eval assignment: _t04AE = 0.3
eval assignment: _t04B0 = 0.0
eval assignment: _t04B1 = 0.3
eval assignment: _t04B3 = 0.25
eval assignment: _t04B4 = 0.3
eval assignment: _t04B6 = 0.5
eval assignment: _t04B7 = 0.1
eval assignment: _t04B9 = 0.5
eval assignment: _t04BB = 0.1
eval assignment: _t04BD = 0.25
eval assignment: _t04BF = 0.1
eval assignment: _t04C1 = 0.0
eval assignment: _t04C2 = 0.1
eval assignment: _t04C4 = 0.25
eval assignment: _t04C5 = 0.1
eval assignment: _t04C7 = 0.5
eval assignment: _t04C8 = 0.1
eval assignment: _t04C9 = 0.5
eval assignment: _t04CB = 0.1
eval assignment: _t04CC = 0.25
eval assignment: _t04CE = 0.1
eval assignment: _t04CF = 0.0
eval assignment: v1700DD = tensor
eval assignment: _t04D0 = 0.1
eval assignment: _t04D1 = 0.25
eval assignment: v1800DE = tensor
eval assignment: _t04D2 = 0.1
eval assignment: _t04D3 = 0.5
eval assignment: v1900DF = tensor
eval assignment: _t04D4 = 0.3
eval assignment: _t04D5 = 0.5
eval assignment: _t04D7 = 0.3
eval assignment: _t04D8 = 0.25
eval assignment: _t04DA = 0.3
eval assignment: _t04DB = 0.0
eval assignment: v2200E4 = tensor
eval assignment: _t04DC = 0.3
eval assignment: _t04DD = 0.25
eval assignment: v2300E5 = tensor
eval assignment: _t04DE = 0.3
eval assignment: _t04DF = 0.5
eval assignment: v2400E6 = tensor
eval assignment: _t04E0 = 0.5
eval assignment: _t04E1 = 0.5
eval assignment: _t04E3 = 0.5
eval assignment: _t04E4 = 0.25
eval assignment: _t04E6 = 0.5
eval assignment: _t04E7 = 0.0
eval assignment: v2700EB = tensor
eval assignment: _t04E8 = 0.5
eval assignment: _t04E9 = 0.25
eval assignment: v2800EC = tensor
eval assignment: _t04EA = 0.5
eval assignment: _t04EB = 0.5
eval assignment: v2900ED = tensor
/* Simplified Program start */
{
  field#2(2)[] T00A3;
  field#2(2)[] F00AC;
  vec2 v0000B5;
  vec2 v0100B8;
  vec2 v0200BB;
  vec2 v0300BD;
  vec2 v0400BF;
  vec2 v0500C1;
  vec2 v0600C4;
  vec2 v0700C7;
  vec2 v0800C9;
  vec2 v0900CB;
  vec2 v1000CD;
  vec2 v1100D0;
  vec2 v1200D3;
  vec2 v1300D5;
  vec2 v1400D7;
  vec2 v1500D9;
  vec2 v1600DB;
  vec2 v1700DD;
  vec2 v1800DE;
  vec2 v1900DF;
  vec2 v2000E0;
  vec2 v2100E2;
  vec2 v2200E4;
  vec2 v2300E5;
  vec2 v2400E6;
  vec2 v2500E7;
  vec2 v2600E9;
  vec2 v2700EB;
  vec2 v2800EC;
  vec2 v2900ED;
  _t048F = bspln30095 ();
  _t0490 = "square-template.nrrd";
  _t0491 = load (IMAGE2D<int> ,_t0490);
  T00A3 = ⊛003A<#2; %2; $[]> (_t048F, _t0491);
  _t0492 = bspln30095 ();
  _t0493 = "square-rotate.nrrd";
  _t0494 = load (IMAGE2D<float> ,_t0493);
  F00AC = ⊛003A<#2; %2; $[]> (_t0492, _t0494);
  _t0495 = 0.5e0;
  _t0496 = unary -004D<$[]> (_t0495);
  _t0497 = 0.5e0;
  _t0498 = unary -004D<$[]> (_t0497);
  v0000B5 = [_t0496, _t0498];
  _t0499 = 0.5e0;
  _t049A = unary -004D<$[]> (_t0499);
  _t049B = 0.25e0;
  _t049C = unary -004D<$[]> (_t049B);
  v0100B8 = [_t049A, _t049C];
  _t049D = 0.5e0;
  _t049E = unary -004D<$[]> (_t049D);
  _t049F = 0.0;
  v0200BB = [_t049E, _t049F];
  _t04A0 = 0.5e0;
  _t04A1 = unary -004D<$[]> (_t04A0);
  _t04A2 = 0.25e0;
  v0300BD = [_t04A1, _t04A2];
  _t04A3 = 0.5e0;
  _t04A4 = unary -004D<$[]> (_t04A3);
  _t04A5 = 0.5e0;
  v0400BF = [_t04A4, _t04A5];
  _t04A6 = 0.3e0;
  _t04A7 = unary -004D<$[]> (_t04A6);
  _t04A8 = 0.5e0;
  _t04A9 = unary -004D<$[]> (_t04A8);
  v0500C1 = [_t04A7, _t04A9];
  _t04AA = 0.3e0;
  _t04AB = unary -004D<$[]> (_t04AA);
  _t04AC = 0.25e0;
  _t04AD = unary -004D<$[]> (_t04AC);
  v0600C4 = [_t04AB, _t04AD];
  _t04AE = 0.3e0;
  _t04AF = unary -004D<$[]> (_t04AE);
  _t04B0 = 0.0;
  v0700C7 = [_t04AF, _t04B0];
  _t04B1 = 0.3e0;
  _t04B2 = unary -004D<$[]> (_t04B1);
  _t04B3 = 0.25e0;
  v0800C9 = [_t04B2, _t04B3];
  _t04B4 = 0.3e0;
  _t04B5 = unary -004D<$[]> (_t04B4);
  _t04B6 = 0.5e0;
  v0900CB = [_t04B5, _t04B6];
  _t04B7 = 0.1e0;
  _t04B8 = unary -004D<$[]> (_t04B7);
  _t04B9 = 0.5e0;
  _t04BA = unary -004D<$[]> (_t04B9);
  v1000CD = [_t04B8, _t04BA];
  _t04BB = 0.1e0;
  _t04BC = unary -004D<$[]> (_t04BB);
  _t04BD = 0.25e0;
  _t04BE = unary -004D<$[]> (_t04BD);
  v1100D0 = [_t04BC, _t04BE];
  _t04BF = 0.1e0;
  _t04C0 = unary -004D<$[]> (_t04BF);
  _t04C1 = 0.0;
  v1200D3 = [_t04C0, _t04C1];
  _t04C2 = 0.1e0;
  _t04C3 = unary -004D<$[]> (_t04C2);
  _t04C4 = 0.25e0;
  v1300D5 = [_t04C3, _t04C4];
  _t04C5 = 0.1e0;
  _t04C6 = unary -004D<$[]> (_t04C5);
  _t04C7 = 0.5e0;
  v1400D7 = [_t04C6, _t04C7];
  _t04C8 = 0.1e0;
  _t04C9 = 0.5e0;
  _t04CA = unary -004D<$[]> (_t04C9);
  v1500D9 = [_t04C8, _t04CA];
  _t04CB = 0.1e0;
  _t04CC = 0.25e0;
  _t04CD = unary -004D<$[]> (_t04CC);
  v1600DB = [_t04CB, _t04CD];
  _t04CE = 0.1e0;
  _t04CF = 0.0;
  v1700DD = [_t04CE, _t04CF];
  _t04D0 = 0.1e0;
  _t04D1 = 0.25e0;
  v1800DE = [_t04D0, _t04D1];
  _t04D2 = 0.1e0;
  _t04D3 = 0.5e0;
  v1900DF = [_t04D2, _t04D3];
  _t04D4 = 0.3e0;
  _t04D5 = 0.5e0;
  _t04D6 = unary -004D<$[]> (_t04D5);
  v2000E0 = [_t04D4, _t04D6];
  _t04D7 = 0.3e0;
  _t04D8 = 0.25e0;
  _t04D9 = unary -004D<$[]> (_t04D8);
  v2100E2 = [_t04D7, _t04D9];
  _t04DA = 0.3e0;
  _t04DB = 0.0;
  v2200E4 = [_t04DA, _t04DB];
  _t04DC = 0.3e0;
  _t04DD = 0.25e0;
  v2300E5 = [_t04DC, _t04DD];
  _t04DE = 0.3e0;
  _t04DF = 0.5e0;
  v2400E6 = [_t04DE, _t04DF];
  _t04E0 = 0.5e0;
  _t04E1 = 0.5e0;
  _t04E2 = unary -004D<$[]> (_t04E1);
  v2500E7 = [_t04E0, _t04E2];
  _t04E3 = 0.5e0;
  _t04E4 = 0.25e0;
  _t04E5 = unary -004D<$[]> (_t04E4);
  v2600E9 = [_t04E3, _t04E5];
  _t04E6 = 0.5e0;
  _t04E7 = 0.0;
  v2700EB = [_t04E6, _t04E7];
  _t04E8 = 0.5e0;
  _t04E9 = 0.25e0;
  v2800EC = [_t04E8, _t04E9];
  _t04EA = 0.5e0;
  _t04EB = 0.5e0;
  v2900ED = [_t04EA, _t04EB];
}
Array
  {
    _t072C = 0;
    _t072D = 60;
    _t072E = 0;
    _t072F = 60;
    _t0730 = 0;
    _t0731 = 60;
  }
  for int i048C = _t072C .. _t072D
    for int j048D = _t072E .. _t072F
      for int k048E = _t0730 .. _t0731
        { }
        new R(i048C, j048D, k048E);
strand R (int i00F0, int j00EF, int k00EE)
{{
    vec3 t00F1;
    output real score00F5;
    vec2 r000F6;
    vec2 r100F7;
    vec2 pos00F8;
    _t04EC = $i2r009B (i00F0);
    _t04ED = 0.60e2;
    _t04EE = /002A (_t04EC, _t04ED);
    _t04EF = 0.5e0;
    _t04F0 = -0016<$[]> (_t04EE, _t04EF);
    _t04F1 = $i2r009B (j00EF);
    _t04F2 = 0.60e2;
    _t04F3 = /002A (_t04F1, _t04F2);
    _t04F4 = 0.5e0;
    _t04F5 = -0016<$[]> (_t04F3, _t04F4);
    _t04F6 = $i2r009B (k00EE);
    _t04F7 = 0.60e2;
    _t04F8 = /002A (_t04F6, _t04F7);
    _t04F9 = 0.5e0;
    _t04FA = -0016<$[]> (_t04F8, _t04F9);
    t00F1 = [_t04F0, _t04F5, _t04FA];
    score00F5 = 0.0;
    _t04FB = 0.0;
    _t04FC = 0.0;
    r000F6 = [_t04FB, _t04FC];
    _t04FD = 0.0;
    _t04FE = 0.0;
    r100F7 = [_t04FD, _t04FE];
    _t04FF = 0.0;
    _t0500 = 0.0;
    pos00F8 = [_t04FF, _t0500];
  }
  Update
  {
    _t0501 = 0.1e1;
    _t0502 = 0.2e1;
    _t0503 = 2;
    _t0504 = t00F1[_t0503];
    _t0505 = *001C (_t0502, _t0504);
    _t0506 = 2;
    _t0507 = t00F1[_t0506];
    _t0508 = *001C (_t0505, _t0507);
    _t0509 = -0016<$[]> (_t0501, _t0508);
    _t050A = 0.2e1;
    _t050B = unary -004D<$[]> (_t050A);
    _t050C = 0.1e1;
    _t050D = 2;
    _t050E = t00F1[_t050D];
    _t050F = 2;
    _t0510 = t00F1[_t050F];
    _t0511 = *001C (_t050E, _t0510);
    _t0512 = -0016<$[]> (_t050C, _t0511);
    _t0513 = sqrt0091 (_t0512);
    _t0514 = *001C (_t050B, _t0513);
    _t0515 = 2;
    _t0516 = t00F1[_t0515];
    _t0517 = *001C (_t0514, _t0516);
    r000F6 = [_t0509, _t0517];
    _t0518 = 0.2e1;
    _t0519 = 0.1e1;
    _t051A = 2;
    _t051B = t00F1[_t051A];
    _t051C = 2;
    _t051D = t00F1[_t051C];
    _t051E = *001C (_t051B, _t051D);
    _t051F = -0016<$[]> (_t0519, _t051E);
    _t0520 = sqrt0091 (_t051F);
    _t0521 = *001C (_t0518, _t0520);
    _t0522 = 2;
    _t0523 = t00F1[_t0522];
    _t0524 = *001C (_t0521, _t0523);
    _t0525 = 0.1e1;
    _t0526 = 0.2e1;
    _t0527 = 2;
    _t0528 = t00F1[_t0527];
    _t0529 = *001C (_t0526, _t0528);
    _t052A = 2;
    _t052B = t00F1[_t052A];
    _t052C = *001C (_t0529, _t052B);
    _t052D = -0016<$[]> (_t0525, _t052C);
    r100F7 = [_t0524, _t052D];
    _t052E = •0079<$[2]; $[2]; $[]> (r000F6, v0000B5);
    _t052F = •0079<$[2]; $[2]; $[]> (r100F7, v0000B5);
    _t0530 = [_t052E, _t052F];
    _t0531 = 0;
    _t0532 = t00F1[_t0531];
    _t0533 = 1;
    _t0534 = t00F1[_t0533];
    _t0535 = [_t0532, _t0534];
    pos00F8 = +000F<$[2]> (_t0530, _t0535);
    bool _t0536;
    _t0537 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0537
      _t0536 = inside007D<#2; %2; $[]> (v0000B5, T00A3);
    else
      _t0536 = false;
    if _t0536 {
      _t0538 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0539 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t053A = -0016<$[]> (_t0538, _t0539);
      _t053B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t053C = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t053D = -0016<$[]> (_t053B, _t053C);
      _t053E = *001C (_t053A, _t053D);
      score00F5 = +000F<$[]> (score00F5, _t053E);
    }
    _t053F = •0079<$[2]; $[2]; $[]> (r000F6, v0100B8);
    _t0540 = •0079<$[2]; $[2]; $[]> (r100F7, v0100B8);
    _t0541 = [_t053F, _t0540];
    _t0542 = 0;
    _t0543 = t00F1[_t0542];
    _t0544 = 1;
    _t0545 = t00F1[_t0544];
    _t0546 = [_t0543, _t0545];
    pos00F8 = +000F<$[2]> (_t0541, _t0546);
    bool _t0547;
    _t0548 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0548
      _t0547 = inside007D<#2; %2; $[]> (v0100B8, T00A3);
    else
      _t0547 = false;
    if _t0547 {
      _t0549 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t054A = @0060<#2; %2; $[]> (T00A3, v0100B8);
      _t054B = -0016<$[]> (_t0549, _t054A);
      _t054C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t054D = @0060<#2; %2; $[]> (T00A3, v0100B8);
      _t054E = -0016<$[]> (_t054C, _t054D);
      _t054F = *001C (_t054B, _t054E);
      score00F5 = +000F<$[]> (score00F5, _t054F);
    }
    _t0550 = •0079<$[2]; $[2]; $[]> (r000F6, v0200BB);
    _t0551 = •0079<$[2]; $[2]; $[]> (r100F7, v0200BB);
    _t0552 = [_t0550, _t0551];
    _t0553 = 0;
    _t0554 = t00F1[_t0553];
    _t0555 = 1;
    _t0556 = t00F1[_t0555];
    _t0557 = [_t0554, _t0556];
    pos00F8 = +000F<$[2]> (_t0552, _t0557);
    bool _t0558;
    _t0559 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0559
      _t0558 = inside007D<#2; %2; $[]> (v0200BB, T00A3);
    else
      _t0558 = false;
    if _t0558 {
      _t055A = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t055B = @0060<#2; %2; $[]> (T00A3, v0200BB);
      _t055C = -0016<$[]> (_t055A, _t055B);
      _t055D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t055E = @0060<#2; %2; $[]> (T00A3, v0200BB);
      _t055F = -0016<$[]> (_t055D, _t055E);
      _t0560 = *001C (_t055C, _t055F);
      score00F5 = +000F<$[]> (score00F5, _t0560);
    }
    _t0561 = •0079<$[2]; $[2]; $[]> (r000F6, v0300BD);
    _t0562 = •0079<$[2]; $[2]; $[]> (r100F7, v0300BD);
    _t0563 = [_t0561, _t0562];
    _t0564 = 0;
    _t0565 = t00F1[_t0564];
    _t0566 = 1;
    _t0567 = t00F1[_t0566];
    _t0568 = [_t0565, _t0567];
    pos00F8 = +000F<$[2]> (_t0563, _t0568);
    bool _t0569;
    _t056A = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t056A
      _t0569 = inside007D<#2; %2; $[]> (v0300BD, T00A3);
    else
      _t0569 = false;
    if _t0569 {
      _t056B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t056C = @0060<#2; %2; $[]> (T00A3, v0300BD);
      _t056D = -0016<$[]> (_t056B, _t056C);
      _t056E = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t056F = @0060<#2; %2; $[]> (T00A3, v0300BD);
      _t0570 = -0016<$[]> (_t056E, _t056F);
      _t0571 = *001C (_t056D, _t0570);
      score00F5 = +000F<$[]> (score00F5, _t0571);
    }
    _t0572 = •0079<$[2]; $[2]; $[]> (r000F6, v0400BF);
    _t0573 = •0079<$[2]; $[2]; $[]> (r100F7, v0400BF);
    _t0574 = [_t0572, _t0573];
    _t0575 = 0;
    _t0576 = t00F1[_t0575];
    _t0577 = 1;
    _t0578 = t00F1[_t0577];
    _t0579 = [_t0576, _t0578];
    pos00F8 = +000F<$[2]> (_t0574, _t0579);
    bool _t057A;
    _t057B = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t057B
      _t057A = inside007D<#2; %2; $[]> (v0400BF, T00A3);
    else
      _t057A = false;
    if _t057A {
      _t057C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t057D = @0060<#2; %2; $[]> (T00A3, v0400BF);
      _t057E = -0016<$[]> (_t057C, _t057D);
      _t057F = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0580 = @0060<#2; %2; $[]> (T00A3, v0400BF);
      _t0581 = -0016<$[]> (_t057F, _t0580);
      _t0582 = *001C (_t057E, _t0581);
      score00F5 = +000F<$[]> (score00F5, _t0582);
    }
    _t0583 = •0079<$[2]; $[2]; $[]> (r000F6, v0500C1);
    _t0584 = •0079<$[2]; $[2]; $[]> (r100F7, v0500C1);
    _t0585 = [_t0583, _t0584];
    _t0586 = 0;
    _t0587 = t00F1[_t0586];
    _t0588 = 1;
    _t0589 = t00F1[_t0588];
    _t058A = [_t0587, _t0589];
    pos00F8 = +000F<$[2]> (_t0585, _t058A);
    bool _t058B;
    _t058C = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t058C
      _t058B = inside007D<#2; %2; $[]> (v0500C1, T00A3);
    else
      _t058B = false;
    if _t058B {
      _t058D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t058E = @0060<#2; %2; $[]> (T00A3, v0500C1);
      _t058F = -0016<$[]> (_t058D, _t058E);
      _t0590 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0591 = @0060<#2; %2; $[]> (T00A3, v0500C1);
      _t0592 = -0016<$[]> (_t0590, _t0591);
      _t0593 = *001C (_t058F, _t0592);
      score00F5 = +000F<$[]> (score00F5, _t0593);
    }
    _t0594 = •0079<$[2]; $[2]; $[]> (r000F6, v0600C4);
    _t0595 = •0079<$[2]; $[2]; $[]> (r100F7, v0600C4);
    _t0596 = [_t0594, _t0595];
    _t0597 = 0;
    _t0598 = t00F1[_t0597];
    _t0599 = 1;
    _t059A = t00F1[_t0599];
    _t059B = [_t0598, _t059A];
    pos00F8 = +000F<$[2]> (_t0596, _t059B);
    bool _t059C;
    _t059D = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t059D
      _t059C = inside007D<#2; %2; $[]> (v0600C4, T00A3);
    else
      _t059C = false;
    if _t059C {
      _t059E = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t059F = @0060<#2; %2; $[]> (T00A3, v0600C4);
      _t05A0 = -0016<$[]> (_t059E, _t059F);
      _t05A1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05A2 = @0060<#2; %2; $[]> (T00A3, v0600C4);
      _t05A3 = -0016<$[]> (_t05A1, _t05A2);
      _t05A4 = *001C (_t05A0, _t05A3);
      score00F5 = +000F<$[]> (score00F5, _t05A4);
    }
    _t05A5 = •0079<$[2]; $[2]; $[]> (r000F6, v0700C7);
    _t05A6 = •0079<$[2]; $[2]; $[]> (r100F7, v0700C7);
    _t05A7 = [_t05A5, _t05A6];
    _t05A8 = 0;
    _t05A9 = t00F1[_t05A8];
    _t05AA = 1;
    _t05AB = t00F1[_t05AA];
    _t05AC = [_t05A9, _t05AB];
    pos00F8 = +000F<$[2]> (_t05A7, _t05AC);
    bool _t05AD;
    _t05AE = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05AE
      _t05AD = inside007D<#2; %2; $[]> (v0700C7, T00A3);
    else
      _t05AD = false;
    if _t05AD {
      _t05AF = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05B0 = @0060<#2; %2; $[]> (T00A3, v0700C7);
      _t05B1 = -0016<$[]> (_t05AF, _t05B0);
      _t05B2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05B3 = @0060<#2; %2; $[]> (T00A3, v0700C7);
      _t05B4 = -0016<$[]> (_t05B2, _t05B3);
      _t05B5 = *001C (_t05B1, _t05B4);
      score00F5 = +000F<$[]> (score00F5, _t05B5);
    }
    _t05B6 = •0079<$[2]; $[2]; $[]> (r000F6, v0800C9);
    _t05B7 = •0079<$[2]; $[2]; $[]> (r100F7, v0800C9);
    _t05B8 = [_t05B6, _t05B7];
    _t05B9 = 0;
    _t05BA = t00F1[_t05B9];
    _t05BB = 1;
    _t05BC = t00F1[_t05BB];
    _t05BD = [_t05BA, _t05BC];
    pos00F8 = +000F<$[2]> (_t05B8, _t05BD);
    bool _t05BE;
    _t05BF = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05BF
      _t05BE = inside007D<#2; %2; $[]> (v0800C9, T00A3);
    else
      _t05BE = false;
    if _t05BE {
      _t05C0 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05C1 = @0060<#2; %2; $[]> (T00A3, v0800C9);
      _t05C2 = -0016<$[]> (_t05C0, _t05C1);
      _t05C3 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05C4 = @0060<#2; %2; $[]> (T00A3, v0800C9);
      _t05C5 = -0016<$[]> (_t05C3, _t05C4);
      _t05C6 = *001C (_t05C2, _t05C5);
      score00F5 = +000F<$[]> (score00F5, _t05C6);
    }
    _t05C7 = •0079<$[2]; $[2]; $[]> (r000F6, v0900CB);
    _t05C8 = •0079<$[2]; $[2]; $[]> (r100F7, v0900CB);
    _t05C9 = [_t05C7, _t05C8];
    _t05CA = 0;
    _t05CB = t00F1[_t05CA];
    _t05CC = 1;
    _t05CD = t00F1[_t05CC];
    _t05CE = [_t05CB, _t05CD];
    pos00F8 = +000F<$[2]> (_t05C9, _t05CE);
    bool _t05CF;
    _t05D0 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05D0
      _t05CF = inside007D<#2; %2; $[]> (v0900CB, T00A3);
    else
      _t05CF = false;
    if _t05CF {
      _t05D1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05D2 = @0060<#2; %2; $[]> (T00A3, v0900CB);
      _t05D3 = -0016<$[]> (_t05D1, _t05D2);
      _t05D4 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05D5 = @0060<#2; %2; $[]> (T00A3, v0900CB);
      _t05D6 = -0016<$[]> (_t05D4, _t05D5);
      _t05D7 = *001C (_t05D3, _t05D6);
      score00F5 = +000F<$[]> (score00F5, _t05D7);
    }
    _t05D8 = •0079<$[2]; $[2]; $[]> (r000F6, v1000CD);
    _t05D9 = •0079<$[2]; $[2]; $[]> (r100F7, v1000CD);
    _t05DA = [_t05D8, _t05D9];
    _t05DB = 0;
    _t05DC = t00F1[_t05DB];
    _t05DD = 1;
    _t05DE = t00F1[_t05DD];
    _t05DF = [_t05DC, _t05DE];
    pos00F8 = +000F<$[2]> (_t05DA, _t05DF);
    bool _t05E0;
    _t05E1 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05E1
      _t05E0 = inside007D<#2; %2; $[]> (v1000CD, T00A3);
    else
      _t05E0 = false;
    if _t05E0 {
      _t05E2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05E3 = @0060<#2; %2; $[]> (T00A3, v1000CD);
      _t05E4 = -0016<$[]> (_t05E2, _t05E3);
      _t05E5 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05E6 = @0060<#2; %2; $[]> (T00A3, v1000CD);
      _t05E7 = -0016<$[]> (_t05E5, _t05E6);
      _t05E8 = *001C (_t05E4, _t05E7);
      score00F5 = +000F<$[]> (score00F5, _t05E8);
    }
    _t05E9 = •0079<$[2]; $[2]; $[]> (r000F6, v1100D0);
    _t05EA = •0079<$[2]; $[2]; $[]> (r100F7, v1100D0);
    _t05EB = [_t05E9, _t05EA];
    _t05EC = 0;
    _t05ED = t00F1[_t05EC];
    _t05EE = 1;
    _t05EF = t00F1[_t05EE];
    _t05F0 = [_t05ED, _t05EF];
    pos00F8 = +000F<$[2]> (_t05EB, _t05F0);
    bool _t05F1;
    _t05F2 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t05F2
      _t05F1 = inside007D<#2; %2; $[]> (v1100D0, T00A3);
    else
      _t05F1 = false;
    if _t05F1 {
      _t05F3 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05F4 = @0060<#2; %2; $[]> (T00A3, v1100D0);
      _t05F5 = -0016<$[]> (_t05F3, _t05F4);
      _t05F6 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t05F7 = @0060<#2; %2; $[]> (T00A3, v1100D0);
      _t05F8 = -0016<$[]> (_t05F6, _t05F7);
      _t05F9 = *001C (_t05F5, _t05F8);
      score00F5 = +000F<$[]> (score00F5, _t05F9);
    }
    _t05FA = •0079<$[2]; $[2]; $[]> (r000F6, v1200D3);
    _t05FB = •0079<$[2]; $[2]; $[]> (r100F7, v1200D3);
    _t05FC = [_t05FA, _t05FB];
    _t05FD = 0;
    _t05FE = t00F1[_t05FD];
    _t05FF = 1;
    _t0600 = t00F1[_t05FF];
    _t0601 = [_t05FE, _t0600];
    pos00F8 = +000F<$[2]> (_t05FC, _t0601);
    bool _t0602;
    _t0603 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0603
      _t0602 = inside007D<#2; %2; $[]> (v1200D3, T00A3);
    else
      _t0602 = false;
    if _t0602 {
      _t0604 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0605 = @0060<#2; %2; $[]> (T00A3, v1200D3);
      _t0606 = -0016<$[]> (_t0604, _t0605);
      _t0607 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0608 = @0060<#2; %2; $[]> (T00A3, v1200D3);
      _t0609 = -0016<$[]> (_t0607, _t0608);
      _t060A = *001C (_t0606, _t0609);
      score00F5 = +000F<$[]> (score00F5, _t060A);
    }
    _t060B = •0079<$[2]; $[2]; $[]> (r000F6, v1300D5);
    _t060C = •0079<$[2]; $[2]; $[]> (r100F7, v1300D5);
    _t060D = [_t060B, _t060C];
    _t060E = 0;
    _t060F = t00F1[_t060E];
    _t0610 = 1;
    _t0611 = t00F1[_t0610];
    _t0612 = [_t060F, _t0611];
    pos00F8 = +000F<$[2]> (_t060D, _t0612);
    bool _t0613;
    _t0614 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0614
      _t0613 = inside007D<#2; %2; $[]> (v1300D5, T00A3);
    else
      _t0613 = false;
    if _t0613 {
      _t0615 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0616 = @0060<#2; %2; $[]> (T00A3, v1300D5);
      _t0617 = -0016<$[]> (_t0615, _t0616);
      _t0618 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0619 = @0060<#2; %2; $[]> (T00A3, v1300D5);
      _t061A = -0016<$[]> (_t0618, _t0619);
      _t061B = *001C (_t0617, _t061A);
      score00F5 = +000F<$[]> (score00F5, _t061B);
    }
    _t061C = •0079<$[2]; $[2]; $[]> (r000F6, v1400D7);
    _t061D = •0079<$[2]; $[2]; $[]> (r100F7, v1400D7);
    _t061E = [_t061C, _t061D];
    _t061F = 0;
    _t0620 = t00F1[_t061F];
    _t0621 = 1;
    _t0622 = t00F1[_t0621];
    _t0623 = [_t0620, _t0622];
    pos00F8 = +000F<$[2]> (_t061E, _t0623);
    bool _t0624;
    _t0625 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0625
      _t0624 = inside007D<#2; %2; $[]> (v1400D7, T00A3);
    else
      _t0624 = false;
    if _t0624 {
      _t0626 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0627 = @0060<#2; %2; $[]> (T00A3, v1400D7);
      _t0628 = -0016<$[]> (_t0626, _t0627);
      _t0629 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t062A = @0060<#2; %2; $[]> (T00A3, v1400D7);
      _t062B = -0016<$[]> (_t0629, _t062A);
      _t062C = *001C (_t0628, _t062B);
      score00F5 = +000F<$[]> (score00F5, _t062C);
    }
    _t062D = •0079<$[2]; $[2]; $[]> (r000F6, v1500D9);
    _t062E = •0079<$[2]; $[2]; $[]> (r100F7, v1500D9);
    _t062F = [_t062D, _t062E];
    _t0630 = 0;
    _t0631 = t00F1[_t0630];
    _t0632 = 1;
    _t0633 = t00F1[_t0632];
    _t0634 = [_t0631, _t0633];
    pos00F8 = +000F<$[2]> (_t062F, _t0634);
    bool _t0635;
    _t0636 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0636
      _t0635 = inside007D<#2; %2; $[]> (v1500D9, T00A3);
    else
      _t0635 = false;
    if _t0635 {
      _t0637 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0638 = @0060<#2; %2; $[]> (T00A3, v1500D9);
      _t0639 = -0016<$[]> (_t0637, _t0638);
      _t063A = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t063B = @0060<#2; %2; $[]> (T00A3, v1500D9);
      _t063C = -0016<$[]> (_t063A, _t063B);
      _t063D = *001C (_t0639, _t063C);
      score00F5 = +000F<$[]> (score00F5, _t063D);
    }
    _t063E = •0079<$[2]; $[2]; $[]> (r000F6, v1600DB);
    _t063F = •0079<$[2]; $[2]; $[]> (r100F7, v1600DB);
    _t0640 = [_t063E, _t063F];
    _t0641 = 0;
    _t0642 = t00F1[_t0641];
    _t0643 = 1;
    _t0644 = t00F1[_t0643];
    _t0645 = [_t0642, _t0644];
    pos00F8 = +000F<$[2]> (_t0640, _t0645);
    bool _t0646;
    _t0647 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0647
      _t0646 = inside007D<#2; %2; $[]> (v1600DB, T00A3);
    else
      _t0646 = false;
    if _t0646 {
      _t0648 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0649 = @0060<#2; %2; $[]> (T00A3, v1600DB);
      _t064A = -0016<$[]> (_t0648, _t0649);
      _t064B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t064C = @0060<#2; %2; $[]> (T00A3, v1600DB);
      _t064D = -0016<$[]> (_t064B, _t064C);
      _t064E = *001C (_t064A, _t064D);
      score00F5 = +000F<$[]> (score00F5, _t064E);
    }
    _t064F = •0079<$[2]; $[2]; $[]> (r000F6, v1700DD);
    _t0650 = •0079<$[2]; $[2]; $[]> (r100F7, v1700DD);
    _t0651 = [_t064F, _t0650];
    _t0652 = 0;
    _t0653 = t00F1[_t0652];
    _t0654 = 1;
    _t0655 = t00F1[_t0654];
    _t0656 = [_t0653, _t0655];
    pos00F8 = +000F<$[2]> (_t0651, _t0656);
    bool _t0657;
    _t0658 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0658
      _t0657 = inside007D<#2; %2; $[]> (v1700DD, T00A3);
    else
      _t0657 = false;
    if _t0657 {
      _t0659 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t065A = @0060<#2; %2; $[]> (T00A3, v1700DD);
      _t065B = -0016<$[]> (_t0659, _t065A);
      _t065C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t065D = @0060<#2; %2; $[]> (T00A3, v1700DD);
      _t065E = -0016<$[]> (_t065C, _t065D);
      _t065F = *001C (_t065B, _t065E);
      score00F5 = +000F<$[]> (score00F5, _t065F);
    }
    _t0660 = •0079<$[2]; $[2]; $[]> (r000F6, v1800DE);
    _t0661 = •0079<$[2]; $[2]; $[]> (r100F7, v1800DE);
    _t0662 = [_t0660, _t0661];
    _t0663 = 0;
    _t0664 = t00F1[_t0663];
    _t0665 = 1;
    _t0666 = t00F1[_t0665];
    _t0667 = [_t0664, _t0666];
    pos00F8 = +000F<$[2]> (_t0662, _t0667);
    bool _t0668;
    _t0669 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0669
      _t0668 = inside007D<#2; %2; $[]> (v1800DE, T00A3);
    else
      _t0668 = false;
    if _t0668 {
      _t066A = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t066B = @0060<#2; %2; $[]> (T00A3, v1800DE);
      _t066C = -0016<$[]> (_t066A, _t066B);
      _t066D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t066E = @0060<#2; %2; $[]> (T00A3, v1800DE);
      _t066F = -0016<$[]> (_t066D, _t066E);
      _t0670 = *001C (_t066C, _t066F);
      score00F5 = +000F<$[]> (score00F5, _t0670);
    }
    _t0671 = •0079<$[2]; $[2]; $[]> (r000F6, v1900DF);
    _t0672 = •0079<$[2]; $[2]; $[]> (r100F7, v1900DF);
    _t0673 = [_t0671, _t0672];
    _t0674 = 0;
    _t0675 = t00F1[_t0674];
    _t0676 = 1;
    _t0677 = t00F1[_t0676];
    _t0678 = [_t0675, _t0677];
    pos00F8 = +000F<$[2]> (_t0673, _t0678);
    bool _t0679;
    _t067A = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t067A
      _t0679 = inside007D<#2; %2; $[]> (v1900DF, T00A3);
    else
      _t0679 = false;
    if _t0679 {
      _t067B = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t067C = @0060<#2; %2; $[]> (T00A3, v1900DF);
      _t067D = -0016<$[]> (_t067B, _t067C);
      _t067E = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t067F = @0060<#2; %2; $[]> (T00A3, v1900DF);
      _t0680 = -0016<$[]> (_t067E, _t067F);
      _t0681 = *001C (_t067D, _t0680);
      score00F5 = +000F<$[]> (score00F5, _t0681);
    }
    _t0682 = •0079<$[2]; $[2]; $[]> (r000F6, v2000E0);
    _t0683 = •0079<$[2]; $[2]; $[]> (r100F7, v2000E0);
    _t0684 = [_t0682, _t0683];
    _t0685 = 0;
    _t0686 = t00F1[_t0685];
    _t0687 = 1;
    _t0688 = t00F1[_t0687];
    _t0689 = [_t0686, _t0688];
    pos00F8 = +000F<$[2]> (_t0684, _t0689);
    bool _t068A;
    _t068B = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t068B
      _t068A = inside007D<#2; %2; $[]> (v2000E0, T00A3);
    else
      _t068A = false;
    if _t068A {
      _t068C = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t068D = @0060<#2; %2; $[]> (T00A3, v2000E0);
      _t068E = -0016<$[]> (_t068C, _t068D);
      _t068F = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0690 = @0060<#2; %2; $[]> (T00A3, v2000E0);
      _t0691 = -0016<$[]> (_t068F, _t0690);
      _t0692 = *001C (_t068E, _t0691);
      score00F5 = +000F<$[]> (score00F5, _t0692);
    }
    _t0693 = •0079<$[2]; $[2]; $[]> (r000F6, v2100E2);
    _t0694 = •0079<$[2]; $[2]; $[]> (r100F7, v2100E2);
    _t0695 = [_t0693, _t0694];
    _t0696 = 0;
    _t0697 = t00F1[_t0696];
    _t0698 = 1;
    _t0699 = t00F1[_t0698];
    _t069A = [_t0697, _t0699];
    pos00F8 = +000F<$[2]> (_t0695, _t069A);
    bool _t069B;
    _t069C = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t069C
      _t069B = inside007D<#2; %2; $[]> (v2100E2, T00A3);
    else
      _t069B = false;
    if _t069B {
      _t069D = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t069E = @0060<#2; %2; $[]> (T00A3, v2100E2);
      _t069F = -0016<$[]> (_t069D, _t069E);
      _t06A0 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06A1 = @0060<#2; %2; $[]> (T00A3, v2100E2);
      _t06A2 = -0016<$[]> (_t06A0, _t06A1);
      _t06A3 = *001C (_t069F, _t06A2);
      score00F5 = +000F<$[]> (score00F5, _t06A3);
    }
    _t06A4 = •0079<$[2]; $[2]; $[]> (r000F6, v2200E4);
    _t06A5 = •0079<$[2]; $[2]; $[]> (r100F7, v2200E4);
    _t06A6 = [_t06A4, _t06A5];
    _t06A7 = 0;
    _t06A8 = t00F1[_t06A7];
    _t06A9 = 1;
    _t06AA = t00F1[_t06A9];
    _t06AB = [_t06A8, _t06AA];
    pos00F8 = +000F<$[2]> (_t06A6, _t06AB);
    bool _t06AC;
    _t06AD = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06AD
      _t06AC = inside007D<#2; %2; $[]> (v2200E4, T00A3);
    else
      _t06AC = false;
    if _t06AC {
      _t06AE = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06AF = @0060<#2; %2; $[]> (T00A3, v2200E4);
      _t06B0 = -0016<$[]> (_t06AE, _t06AF);
      _t06B1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06B2 = @0060<#2; %2; $[]> (T00A3, v2200E4);
      _t06B3 = -0016<$[]> (_t06B1, _t06B2);
      _t06B4 = *001C (_t06B0, _t06B3);
      score00F5 = +000F<$[]> (score00F5, _t06B4);
    }
    _t06B5 = •0079<$[2]; $[2]; $[]> (r000F6, v2300E5);
    _t06B6 = •0079<$[2]; $[2]; $[]> (r100F7, v2300E5);
    _t06B7 = [_t06B5, _t06B6];
    _t06B8 = 0;
    _t06B9 = t00F1[_t06B8];
    _t06BA = 1;
    _t06BB = t00F1[_t06BA];
    _t06BC = [_t06B9, _t06BB];
    pos00F8 = +000F<$[2]> (_t06B7, _t06BC);
    bool _t06BD;
    _t06BE = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06BE
      _t06BD = inside007D<#2; %2; $[]> (v2300E5, T00A3);
    else
      _t06BD = false;
    if _t06BD {
      _t06BF = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06C0 = @0060<#2; %2; $[]> (T00A3, v2300E5);
      _t06C1 = -0016<$[]> (_t06BF, _t06C0);
      _t06C2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06C3 = @0060<#2; %2; $[]> (T00A3, v2300E5);
      _t06C4 = -0016<$[]> (_t06C2, _t06C3);
      _t06C5 = *001C (_t06C1, _t06C4);
      score00F5 = +000F<$[]> (score00F5, _t06C5);
    }
    _t06C6 = •0079<$[2]; $[2]; $[]> (r000F6, v2400E6);
    _t06C7 = •0079<$[2]; $[2]; $[]> (r100F7, v2400E6);
    _t06C8 = [_t06C6, _t06C7];
    _t06C9 = 0;
    _t06CA = t00F1[_t06C9];
    _t06CB = 1;
    _t06CC = t00F1[_t06CB];
    _t06CD = [_t06CA, _t06CC];
    pos00F8 = +000F<$[2]> (_t06C8, _t06CD);
    bool _t06CE;
    _t06CF = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06CF
      _t06CE = inside007D<#2; %2; $[]> (v2400E6, T00A3);
    else
      _t06CE = false;
    if _t06CE {
      _t06D0 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06D1 = @0060<#2; %2; $[]> (T00A3, v2400E6);
      _t06D2 = -0016<$[]> (_t06D0, _t06D1);
      _t06D3 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06D4 = @0060<#2; %2; $[]> (T00A3, v2400E6);
      _t06D5 = -0016<$[]> (_t06D3, _t06D4);
      _t06D6 = *001C (_t06D2, _t06D5);
      score00F5 = +000F<$[]> (score00F5, _t06D6);
    }
    _t06D7 = •0079<$[2]; $[2]; $[]> (r000F6, v2500E7);
    _t06D8 = •0079<$[2]; $[2]; $[]> (r100F7, v2500E7);
    _t06D9 = [_t06D7, _t06D8];
    _t06DA = 0;
    _t06DB = t00F1[_t06DA];
    _t06DC = 1;
    _t06DD = t00F1[_t06DC];
    _t06DE = [_t06DB, _t06DD];
    pos00F8 = +000F<$[2]> (_t06D9, _t06DE);
    bool _t06DF;
    _t06E0 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06E0
      _t06DF = inside007D<#2; %2; $[]> (v2500E7, T00A3);
    else
      _t06DF = false;
    if _t06DF {
      _t06E1 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06E2 = @0060<#2; %2; $[]> (T00A3, v2500E7);
      _t06E3 = -0016<$[]> (_t06E1, _t06E2);
      _t06E4 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06E5 = @0060<#2; %2; $[]> (T00A3, v2500E7);
      _t06E6 = -0016<$[]> (_t06E4, _t06E5);
      _t06E7 = *001C (_t06E3, _t06E6);
      score00F5 = +000F<$[]> (score00F5, _t06E7);
    }
    _t06E8 = •0079<$[2]; $[2]; $[]> (r000F6, v2600E9);
    _t06E9 = •0079<$[2]; $[2]; $[]> (r100F7, v2600E9);
    _t06EA = [_t06E8, _t06E9];
    _t06EB = 0;
    _t06EC = t00F1[_t06EB];
    _t06ED = 1;
    _t06EE = t00F1[_t06ED];
    _t06EF = [_t06EC, _t06EE];
    pos00F8 = +000F<$[2]> (_t06EA, _t06EF);
    bool _t06F0;
    _t06F1 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t06F1
      _t06F0 = inside007D<#2; %2; $[]> (v2600E9, T00A3);
    else
      _t06F0 = false;
    if _t06F0 {
      _t06F2 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06F3 = @0060<#2; %2; $[]> (T00A3, v2600E9);
      _t06F4 = -0016<$[]> (_t06F2, _t06F3);
      _t06F5 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t06F6 = @0060<#2; %2; $[]> (T00A3, v2600E9);
      _t06F7 = -0016<$[]> (_t06F5, _t06F6);
      _t06F8 = *001C (_t06F4, _t06F7);
      score00F5 = +000F<$[]> (score00F5, _t06F8);
    }
    _t06F9 = •0079<$[2]; $[2]; $[]> (r000F6, v2700EB);
    _t06FA = •0079<$[2]; $[2]; $[]> (r100F7, v2700EB);
    _t06FB = [_t06F9, _t06FA];
    _t06FC = 0;
    _t06FD = t00F1[_t06FC];
    _t06FE = 1;
    _t06FF = t00F1[_t06FE];
    _t0700 = [_t06FD, _t06FF];
    pos00F8 = +000F<$[2]> (_t06FB, _t0700);
    bool _t0701;
    _t0702 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0702
      _t0701 = inside007D<#2; %2; $[]> (v2700EB, T00A3);
    else
      _t0701 = false;
    if _t0701 {
      _t0703 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0704 = @0060<#2; %2; $[]> (T00A3, v2700EB);
      _t0705 = -0016<$[]> (_t0703, _t0704);
      _t0706 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0707 = @0060<#2; %2; $[]> (T00A3, v2700EB);
      _t0708 = -0016<$[]> (_t0706, _t0707);
      _t0709 = *001C (_t0705, _t0708);
      score00F5 = +000F<$[]> (score00F5, _t0709);
    }
    _t070A = •0079<$[2]; $[2]; $[]> (r000F6, v2800EC);
    _t070B = •0079<$[2]; $[2]; $[]> (r100F7, v2800EC);
    _t070C = [_t070A, _t070B];
    _t070D = 0;
    _t070E = t00F1[_t070D];
    _t070F = 1;
    _t0710 = t00F1[_t070F];
    _t0711 = [_t070E, _t0710];
    pos00F8 = +000F<$[2]> (_t070C, _t0711);
    bool _t0712;
    _t0713 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0713
      _t0712 = inside007D<#2; %2; $[]> (v2800EC, T00A3);
    else
      _t0712 = false;
    if _t0712 {
      _t0714 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0715 = @0060<#2; %2; $[]> (T00A3, v2800EC);
      _t0716 = -0016<$[]> (_t0714, _t0715);
      _t0717 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0718 = @0060<#2; %2; $[]> (T00A3, v2800EC);
      _t0719 = -0016<$[]> (_t0717, _t0718);
      _t071A = *001C (_t0716, _t0719);
      score00F5 = +000F<$[]> (score00F5, _t071A);
    }
    _t071B = •0079<$[2]; $[2]; $[]> (r000F6, v2900ED);
    _t071C = •0079<$[2]; $[2]; $[]> (r100F7, v2900ED);
    _t071D = [_t071B, _t071C];
    _t071E = 0;
    _t071F = t00F1[_t071E];
    _t0720 = 1;
    _t0721 = t00F1[_t0720];
    _t0722 = [_t071F, _t0721];
    pos00F8 = +000F<$[2]> (_t071D, _t0722);
    bool _t0723;
    _t0724 = inside007D<#2; %2; $[]> (pos00F8, F00AC);
    if _t0724
      _t0723 = inside007D<#2; %2; $[]> (v2900ED, T00A3);
    else
      _t0723 = false;
    if _t0723 {
      _t0725 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0726 = @0060<#2; %2; $[]> (T00A3, v2900ED);
      _t0727 = -0016<$[]> (_t0725, _t0726);
      _t0728 = @0060<#2; %2; $[]> (F00AC, pos00F8);
      _t0729 = @0060<#2; %2; $[]> (T00A3, v2900ED);
      _t072A = -0016<$[]> (_t0728, _t0729);
      _t072B = *001C (_t0727, _t072A);
      score00F5 = +000F<$[]> (score00F5, _t072B);
    }
    stabilize;
  }
  Stabilize
  { }
}
/* Program end */
##### HighIL after translation to HighIL ####
## properties
  none
## globals
  global field T0738#90
  global field F0740#90
  global tensor[2] v00074A#5
  global tensor[2] v010754#5
  global tensor[2] v02075C#5
  global tensor[2] v030764#5
  global tensor[2] v04076C#5
  global tensor[2] v050776#5
  global tensor[2] v060780#5
  global tensor[2] v070788#5
  global tensor[2] v080790#5
  global tensor[2] v090798#5
  global tensor[2] v1007A2#5
  global tensor[2] v1107AC#5
  global tensor[2] v1207B4#5
  global tensor[2] v1307BC#5
  global tensor[2] v1407C4#5
  global tensor[2] v1507CC#5
  global tensor[2] v1607D4#5
  global tensor[2] v1707DA#5
  global tensor[2] v1807E0#5
  global tensor[2] v1907E6#5
  global tensor[2] v2007EE#5
  global tensor[2] v2107F6#5
  global tensor[2] v2207FC#5
  global tensor[2] v230802#5
  global tensor[2] v240808#5
  global tensor[2] v250810#5
  global tensor[2] v260818#5
  global tensor[2] v27081E#5
  global tensor[2] v280824#5
  global tensor[2] v29082A#5
  global kernel _t0732#1
  global string _t0734#1
  global image2D _t0736#1
  global kernel _t073A#1
  global string _t073C#1
  global image2D _t073E#1
  global real _t0742#1
  global real _t0744#1
  global real _t0746#1
  global real _t0748#1
  global real _t074C#1
  global real _t074E#1
  global real _t0750#1
  global real _t0752#1
  global real _t0756#1
  global real _t0758#1
  global real _t075A#1
  global real _t075E#1
  global real _t0760#1
  global real _t0762#1
  global real _t0766#1
  global real _t0768#1
  global real _t076A#1
  global real _t076E#1
  global real _t0770#1
  global real _t0772#1
  global real _t0774#1
  global real _t0778#1
  global real _t077A#1
  global real _t077C#1
  global real _t077E#1
  global real _t0782#1
  global real _t0784#1
  global real _t0786#1
  global real _t078A#1
  global real _t078C#1
  global real _t078E#1
  global real _t0792#1
  global real _t0794#1
  global real _t0796#1
  global real _t079A#1
  global real _t079C#1
  global real _t079E#1
  global real _t07A0#1
  global real _t07A4#1
  global real _t07A6#1
  global real _t07A8#1
  global real _t07AA#1
  global real _t07AE#1
  global real _t07B0#1
  global real _t07B2#1
  global real _t07B6#1
  global real _t07B8#1
  global real _t07BA#1
  global real _t07BE#1
  global real _t07C0#1
  global real _t07C2#1
  global real _t07C6#1
  global real _t07C8#1
  global real _t07CA#1
  global real _t07CE#1
  global real _t07D0#1
  global real _t07D2#1
  global real _t07D6#1
  global real _t07D8#1
  global real _t07DC#1
  global real _t07DE#1
  global real _t07E2#1
  global real _t07E4#1
  global real _t07E8#1
  global real _t07EA#1
  global real _t07EC#1
  global real _t07F0#1
  global real _t07F2#1
  global real _t07F4#1
  global real _t07F8#1
  global real _t07FA#1
  global real _t07FE#1
  global real _t0800#1
  global real _t0804#1
  global real _t0806#1
  global real _t080A#1
  global real _t080C#1
  global real _t080E#1
  global real _t0812#1
  global real _t0814#1
  global real _t0816#1
  global real _t081A#1
  global real _t081C#1
  global real _t0820#1
  global real _t0822#1
  global real _t0826#1
  global real _t0828#1
## global initialization
  ENTRY082C:  preds = []
    kernel _t0732#1 = Kernel<bspln3,0>;
    string _t0734#1 = "square-template.nrrd";
    image2D _t0736#1 = LoadImage<IMAGE2D<int>>(_t0734);
    field T0738#90 = Field<2>(_t0736,_t0732);
    kernel _t073A#1 = Kernel<bspln3,0>;
    string _t073C#1 = "square-rotate.nrrd";
    image2D _t073E#1 = LoadImage<IMAGE2D<float>>(_t073C);
    field F0740#90 = Field<2>(_t073E,_t073A);
    real _t0742#1 = 0.5e0;
    real _t0744#1 = Neg<real>(_t0742);
    real _t0746#1 = 0.5e0;
    real _t0748#1 = Neg<real>(_t0746);
    tensor[2] v00074A#5 = <tensor[2]>[_t0744,_t0748];
    real _t074C#1 = 0.5e0;
    real _t074E#1 = Neg<real>(_t074C);
    real _t0750#1 = 0.25e0;
    real _t0752#1 = Neg<real>(_t0750);
    tensor[2] v010754#5 = <tensor[2]>[_t074E,_t0752];
    real _t0756#1 = 0.5e0;
    real _t0758#1 = Neg<real>(_t0756);
    real _t075A#1 = 0.0;
    tensor[2] v02075C#5 = <tensor[2]>[_t0758,_t075A];
    real _t075E#1 = 0.5e0;
    real _t0760#1 = Neg<real>(_t075E);
    real _t0762#1 = 0.25e0;
    tensor[2] v030764#5 = <tensor[2]>[_t0760,_t0762];
    real _t0766#1 = 0.5e0;
    real _t0768#1 = Neg<real>(_t0766);
    real _t076A#1 = 0.5e0;
    tensor[2] v04076C#5 = <tensor[2]>[_t0768,_t076A];
    real _t076E#1 = 0.3e0;
    real _t0770#1 = Neg<real>(_t076E);
    real _t0772#1 = 0.5e0;
    real _t0774#1 = Neg<real>(_t0772);
    tensor[2] v050776#5 = <tensor[2]>[_t0770,_t0774];
    real _t0778#1 = 0.3e0;
    real _t077A#1 = Neg<real>(_t0778);
    real _t077C#1 = 0.25e0;
    real _t077E#1 = Neg<real>(_t077C);
    tensor[2] v060780#5 = <tensor[2]>[_t077A,_t077E];
    real _t0782#1 = 0.3e0;
    real _t0784#1 = Neg<real>(_t0782);
    real _t0786#1 = 0.0;
    tensor[2] v070788#5 = <tensor[2]>[_t0784,_t0786];
    real _t078A#1 = 0.3e0;
    real _t078C#1 = Neg<real>(_t078A);
    real _t078E#1 = 0.25e0;
    tensor[2] v080790#5 = <tensor[2]>[_t078C,_t078E];
    real _t0792#1 = 0.3e0;
    real _t0794#1 = Neg<real>(_t0792);
    real _t0796#1 = 0.5e0;
    tensor[2] v090798#5 = <tensor[2]>[_t0794,_t0796];
    real _t079A#1 = 0.1e0;
    real _t079C#1 = Neg<real>(_t079A);
    real _t079E#1 = 0.5e0;
    real _t07A0#1 = Neg<real>(_t079E);
    tensor[2] v1007A2#5 = <tensor[2]>[_t079C,_t07A0];
    real _t07A4#1 = 0.1e0;
    real _t07A6#1 = Neg<real>(_t07A4);
    real _t07A8#1 = 0.25e0;
    real _t07AA#1 = Neg<real>(_t07A8);
    tensor[2] v1107AC#5 = <tensor[2]>[_t07A6,_t07AA];
    real _t07AE#1 = 0.1e0;
    real _t07B0#1 = Neg<real>(_t07AE);
    real _t07B2#1 = 0.0;
    tensor[2] v1207B4#5 = <tensor[2]>[_t07B0,_t07B2];
    real _t07B6#1 = 0.1e0;
    real _t07B8#1 = Neg<real>(_t07B6);
    real _t07BA#1 = 0.25e0;
    tensor[2] v1307BC#5 = <tensor[2]>[_t07B8,_t07BA];
    real _t07BE#1 = 0.1e0;
    real _t07C0#1 = Neg<real>(_t07BE);
    real _t07C2#1 = 0.5e0;
    tensor[2] v1407C4#5 = <tensor[2]>[_t07C0,_t07C2];
    real _t07C6#1 = 0.1e0;
    real _t07C8#1 = 0.5e0;
    real _t07CA#1 = Neg<real>(_t07C8);
    tensor[2] v1507CC#5 = <tensor[2]>[_t07C6,_t07CA];
    real _t07CE#1 = 0.1e0;
    real _t07D0#1 = 0.25e0;
    real _t07D2#1 = Neg<real>(_t07D0);
    tensor[2] v1607D4#5 = <tensor[2]>[_t07CE,_t07D2];
    real _t07D6#1 = 0.1e0;
    real _t07D8#1 = 0.0;
    tensor[2] v1707DA#5 = <tensor[2]>[_t07D6,_t07D8];
    real _t07DC#1 = 0.1e0;
    real _t07DE#1 = 0.25e0;
    tensor[2] v1807E0#5 = <tensor[2]>[_t07DC,_t07DE];
    real _t07E2#1 = 0.1e0;
    real _t07E4#1 = 0.5e0;
    tensor[2] v1907E6#5 = <tensor[2]>[_t07E2,_t07E4];
    real _t07E8#1 = 0.3e0;
    real _t07EA#1 = 0.5e0;
    real _t07EC#1 = Neg<real>(_t07EA);
    tensor[2] v2007EE#5 = <tensor[2]>[_t07E8,_t07EC];
    real _t07F0#1 = 0.3e0;
    real _t07F2#1 = 0.25e0;
    real _t07F4#1 = Neg<real>(_t07F2);
    tensor[2] v2107F6#5 = <tensor[2]>[_t07F0,_t07F4];
    real _t07F8#1 = 0.3e0;
    real _t07FA#1 = 0.0;
    tensor[2] v2207FC#5 = <tensor[2]>[_t07F8,_t07FA];
    real _t07FE#1 = 0.3e0;
    real _t0800#1 = 0.25e0;
    tensor[2] v230802#5 = <tensor[2]>[_t07FE,_t0800];
    real _t0804#1 = 0.3e0;
    real _t0806#1 = 0.5e0;
    tensor[2] v240808#5 = <tensor[2]>[_t0804,_t0806];
    real _t080A#1 = 0.5e0;
    real _t080C#1 = 0.5e0;
    real _t080E#1 = Neg<real>(_t080C);
    tensor[2] v250810#5 = <tensor[2]>[_t080A,_t080E];
    real _t0812#1 = 0.5e0;
    real _t0814#1 = 0.25e0;
    real _t0816#1 = Neg<real>(_t0814);
    tensor[2] v260818#5 = <tensor[2]>[_t0812,_t0816];
    real _t081A#1 = 0.5e0;
    real _t081C#1 = 0.0;
    tensor[2] v27081E#5 = <tensor[2]>[_t081A,_t081C];
    real _t0820#1 = 0.5e0;
    real _t0822#1 = 0.25e0;
    tensor[2] v280824#5 = <tensor[2]>[_t0820,_t0822];
    real _t0826#1 = 0.5e0;
    real _t0828#1 = 0.5e0;
    tensor[2] v29082A#5 = <tensor[2]>[_t0826,_t0828];
    return (T0738,F0740,v00074A,v010754,v02075C,v030764,v04076C,v050776,v060780,v070788,v080790,v090798,v1007A2,v1107AC,v1207B4,v1307BC,v1407C4,v1507CC,v1607D4,v1707DA,v1807E0,v1907E6,v2007EE,v2107F6,v2207FC,v230802,v240808,v250810,v260818,v27081E,v280824,v29082A,_t0732,_t0734,_t0736,_t073A,_t073C,_t073E,_t0742,_t0744,_t0746,_t0748,_t074C,_t074E,_t0750,_t0752,_t0756,_t0758,_t075A,_t075E,_t0760,_t0762,_t0766,_t0768,_t076A,_t076E,_t0770,_t0772,_t0774,_t0778,_t077A,_t077C,_t077E,_t0782,_t0784,_t0786,_t078A,_t078C,_t078E,_t0792,_t0794,_t0796,_t079A,_t079C,_t079E,_t07A0,_t07A4,_t07A6,_t07A8,_t07AA,_t07AE,_t07B0,_t07B2,_t07B6,_t07B8,_t07BA,_t07BE,_t07C0,_t07C2,_t07C6,_t07C8,_t07CA,_t07CE,_t07D0,_t07D2,_t07D6,_t07D8,_t07DC,_t07DE,_t07E2,_t07E4,_t07E8,_t07EA,_t07EC,_t07F0,_t07F2,_t07F4,_t07F8,_t07FA,_t07FE,_t0800,_t0804,_t0806,_t080A,_t080C,_t080E,_t0812,_t0814,_t0816,_t081A,_t081C,_t0820,_t0822,_t0826,_t0828)
## initially
  ARRAY
    ENTRY083A:  preds = []
      int _t082E#2 = 0;
      int _t0830#2 = 60;
      int _t0832#2 = 0;
      int _t0834#2 = 60;
      int _t0836#2 = 0;
      int _t0838#2 = 60;
      live vars = (_t0838,_t0836,_t0834,_t0832,_t0830,_t082E)
    for int i083C#1 = _t082E .. _t0830
      for int j083D#1 = _t0832 .. _t0834
        for int k083E#1 = _t0836 .. _t0838
          ENTRY083F:  preds = []
            live vars = ()
          new R(i083C,j083D,k083E);
## strands
  strand R (int i0841#1, int j0842#1, int k0843#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY087D:  preds = []
        real _t0849#1 = IntToReal(i0841);
        real _t084B#1 = 0.60e2;
        real _t084D#1 = Div<real>(_t0849,_t084B);
        real _t084F#1 = 0.5e0;
        real _t0851#1 = Sub<real>(_t084D,_t084F);
        real _t0853#1 = IntToReal(j0842);
        real _t0855#1 = 0.60e2;
        real _t0857#1 = Div<real>(_t0853,_t0855);
        real _t0859#1 = 0.5e0;
        real _t085B#1 = Sub<real>(_t0857,_t0859);
        real _t085D#1 = IntToReal(k0843);
        real _t085F#1 = 0.60e2;
        real _t0861#1 = Div<real>(_t085D,_t085F);
        real _t0863#1 = 0.5e0;
        real _t0865#1 = Sub<real>(_t0861,_t0863);
        tensor[3] t0867#1 = <tensor[3]>[_t0851,_t085B,_t0865];
        real score0869#1 = 0.0;
        real _t086B#1 = 0.0;
        real _t086D#1 = 0.0;
        tensor[2] r0086F#1 = <tensor[2]>[_t086B,_t086D];
        real _t0871#1 = 0.0;
        real _t0873#1 = 0.0;
        tensor[2] r10875#1 = <tensor[2]>[_t0871,_t0873];
        real _t0877#1 = 0.0;
        real _t0879#1 = 0.0;
        tensor[2] pos087B#1 = <tensor[2]>[_t0877,_t0879];
        self.t = t0867;
        self.score = score0869;
        self.r0 = r0086F;
        self.r1 = r10875;
        self.pos = pos087B;
        strand_init ()
    method Update
        ENTRY0E74:  preds = []
          tensor[3] t0884#71 = self.t;
          real score0885#2 = self.score;
          tensor[2] r00886#0 = self.r0;
          tensor[2] r10887#0 = self.r1;
          tensor[2] pos0888#0 = self.pos;
          real _t088E#1 = 0.1e1;
          real _t0890#1 = 0.2e1;
          int _t0892#1 = 2;
          real _t0894#1 = TensorSub<tensor[3]>(t0884,_t0892);
          real _t0896#1 = Mul<real>(_t0890,_t0894);
          int _t0898#1 = 2;
          real _t089A#1 = TensorSub<tensor[3]>(t0884,_t0898);
          real _t089C#1 = Mul<real>(_t0896,_t089A);
          real _t089E#1 = Sub<real>(_t088E,_t089C);
          real _t08A0#1 = 0.2e1;
          real _t08A2#1 = Neg<real>(_t08A0);
          real _t08A4#1 = 0.1e1;
          int _t08A6#1 = 2;
          real _t08A8#1 = TensorSub<tensor[3]>(t0884,_t08A6);
          int _t08AA#1 = 2;
          real _t08AC#1 = TensorSub<tensor[3]>(t0884,_t08AA);
          real _t08AE#1 = Mul<real>(_t08A8,_t08AC);
          real _t08B0#1 = Sub<real>(_t08A4,_t08AE);
          real _t08B2#1 = sqrt(_t08B0);
          real _t08B4#1 = Mul<real>(_t08A2,_t08B2);
          int _t08B6#1 = 2;
          real _t08B8#1 = TensorSub<tensor[3]>(t0884,_t08B6);
          real _t08BA#1 = Mul<real>(_t08B4,_t08B8);
          tensor[2] r008BC#31 = <tensor[2]>[_t089E,_t08BA];
          real _t08BE#1 = 0.2e1;
          real _t08C0#1 = 0.1e1;
          int _t08C2#1 = 2;
          real _t08C4#1 = TensorSub<tensor[3]>(t0884,_t08C2);
          int _t08C6#1 = 2;
          real _t08C8#1 = TensorSub<tensor[3]>(t0884,_t08C6);
          real _t08CA#1 = Mul<real>(_t08C4,_t08C8);
          real _t08CC#1 = Sub<real>(_t08C0,_t08CA);
          real _t08CE#1 = sqrt(_t08CC);
          real _t08D0#1 = Mul<real>(_t08BE,_t08CE);
          int _t08D2#1 = 2;
          real _t08D4#1 = TensorSub<tensor[3]>(t0884,_t08D2);
          real _t08D6#1 = Mul<real>(_t08D0,_t08D4);
          real _t08D8#1 = 0.1e1;
          real _t08DA#1 = 0.2e1;
          int _t08DC#1 = 2;
          real _t08DE#1 = TensorSub<tensor[3]>(t0884,_t08DC);
          real _t08E0#1 = Mul<real>(_t08DA,_t08DE);
          int _t08E2#1 = 2;
          real _t08E4#1 = TensorSub<tensor[3]>(t0884,_t08E2);
          real _t08E6#1 = Mul<real>(_t08E0,_t08E4);
          real _t08E8#1 = Sub<real>(_t08D8,_t08E6);
          tensor[2] r108EA#31 = <tensor[2]>[_t08D6,_t08E8];
          real _t08EC#1 = Dot<tensor[2]>(r008BC,v00074A);
          real _t08EE#1 = Dot<tensor[2]>(r108EA,v00074A);
          tensor[2] _t08F0#1 = <tensor[2]>[_t08EC,_t08EE];
          int _t08F2#1 = 0;
          real _t08F4#1 = TensorSub<tensor[3]>(t0884,_t08F2);
          int _t08F6#1 = 1;
          real _t08F8#1 = TensorSub<tensor[3]>(t0884,_t08F6);
          tensor[2] _t08FA#1 = <tensor[2]>[_t08F4,_t08F8];
          tensor[2] pos08FC#3 = Add<tensor[2]>(_t08F0,_t08FA);
          bool _t08FF#1 = Inside<2>(pos08FC,F0740);
          if _t08FF then goto ASSIGN0904 else goto ASSIGN0906
        ASSIGN0904:  preds = [COND0907]
          bool _t0902#1 = Inside<2>(v00074A,T0738);
          goto JOIN0901
        JOIN0901:  preds = [ASSIGN0904,ASSIGN0906]
          bool _t0903#1 = phi(_t0902,_t0905)
          if _t0903 then goto ASSIGN090A else goto JOIN0908
        ASSIGN090A:  preds = [COND091A]
          real _t0909#1 = Probe<tensor[2],real>(F0740,pos08FC);
          real _t090B#1 = Probe<tensor[2],real>(T0738,v00074A);
          real _t090D#1 = Sub<real>(_t0909,_t090B);
          real _t090F#1 = Probe<tensor[2],real>(F0740,pos08FC);
          real _t0911#1 = Probe<tensor[2],real>(T0738,v00074A);
          real _t0913#1 = Sub<real>(_t090F,_t0911);
          real _t0915#1 = Mul<real>(_t090D,_t0913);
          real score0917#1 = Add<real>(score0885,_t0915);
          goto JOIN0908
        JOIN0908:  preds = [ASSIGN0919,COND091A]
          real score0918#2 = phi(score0917,score0885)
          real _t091B#1 = Dot<tensor[2]>(r008BC,v010754);
          real _t091D#1 = Dot<tensor[2]>(r108EA,v010754);
          tensor[2] _t091F#1 = <tensor[2]>[_t091B,_t091D];
          int _t0921#1 = 0;
          real _t0923#1 = TensorSub<tensor[3]>(t0884,_t0921);
          int _t0925#1 = 1;
          real _t0927#1 = TensorSub<tensor[3]>(t0884,_t0925);
          tensor[2] _t0929#1 = <tensor[2]>[_t0923,_t0927];
          tensor[2] pos092B#3 = Add<tensor[2]>(_t091F,_t0929);
          bool _t092E#1 = Inside<2>(pos092B,F0740);
          if _t092E then goto ASSIGN0933 else goto ASSIGN0935
        ASSIGN0933:  preds = [COND0936]
          bool _t0931#1 = Inside<2>(v010754,T0738);
          goto JOIN0930
        JOIN0930:  preds = [ASSIGN0933,ASSIGN0935]
          bool _t0932#1 = phi(_t0931,_t0934)
          if _t0932 then goto ASSIGN0939 else goto JOIN0937
        ASSIGN0939:  preds = [COND0949]
          real _t0938#1 = Probe<tensor[2],real>(F0740,pos092B);
          real _t093A#1 = Probe<tensor[2],real>(T0738,v010754);
          real _t093C#1 = Sub<real>(_t0938,_t093A);
          real _t093E#1 = Probe<tensor[2],real>(F0740,pos092B);
          real _t0940#1 = Probe<tensor[2],real>(T0738,v010754);
          real _t0942#1 = Sub<real>(_t093E,_t0940);
          real _t0944#1 = Mul<real>(_t093C,_t0942);
          real score0946#1 = Add<real>(score0918,_t0944);
          goto JOIN0937
        JOIN0937:  preds = [ASSIGN0948,COND0949]
          real score0947#2 = phi(score0946,score0918)
          real _t094A#1 = Dot<tensor[2]>(r008BC,v02075C);
          real _t094C#1 = Dot<tensor[2]>(r108EA,v02075C);
          tensor[2] _t094E#1 = <tensor[2]>[_t094A,_t094C];
          int _t0950#1 = 0;
          real _t0952#1 = TensorSub<tensor[3]>(t0884,_t0950);
          int _t0954#1 = 1;
          real _t0956#1 = TensorSub<tensor[3]>(t0884,_t0954);
          tensor[2] _t0958#1 = <tensor[2]>[_t0952,_t0956];
          tensor[2] pos095A#3 = Add<tensor[2]>(_t094E,_t0958);
          bool _t095D#1 = Inside<2>(pos095A,F0740);
          if _t095D then goto ASSIGN0962 else goto ASSIGN0964
        ASSIGN0962:  preds = [COND0965]
          bool _t0960#1 = Inside<2>(v02075C,T0738);
          goto JOIN095F
        JOIN095F:  preds = [ASSIGN0962,ASSIGN0964]
          bool _t0961#1 = phi(_t0960,_t0963)
          if _t0961 then goto ASSIGN0968 else goto JOIN0966
        ASSIGN0968:  preds = [COND0978]
          real _t0967#1 = Probe<tensor[2],real>(F0740,pos095A);
          real _t0969#1 = Probe<tensor[2],real>(T0738,v02075C);
          real _t096B#1 = Sub<real>(_t0967,_t0969);
          real _t096D#1 = Probe<tensor[2],real>(F0740,pos095A);
          real _t096F#1 = Probe<tensor[2],real>(T0738,v02075C);
          real _t0971#1 = Sub<real>(_t096D,_t096F);
          real _t0973#1 = Mul<real>(_t096B,_t0971);
          real score0975#1 = Add<real>(score0947,_t0973);
          goto JOIN0966
        JOIN0966:  preds = [ASSIGN0977,COND0978]
          real score0976#2 = phi(score0975,score0947)
          real _t0979#1 = Dot<tensor[2]>(r008BC,v030764);
          real _t097B#1 = Dot<tensor[2]>(r108EA,v030764);
          tensor[2] _t097D#1 = <tensor[2]>[_t0979,_t097B];
          int _t097F#1 = 0;
          real _t0981#1 = TensorSub<tensor[3]>(t0884,_t097F);
          int _t0983#1 = 1;
          real _t0985#1 = TensorSub<tensor[3]>(t0884,_t0983);
          tensor[2] _t0987#1 = <tensor[2]>[_t0981,_t0985];
          tensor[2] pos0989#3 = Add<tensor[2]>(_t097D,_t0987);
          bool _t098C#1 = Inside<2>(pos0989,F0740);
          if _t098C then goto ASSIGN0991 else goto ASSIGN0993
        ASSIGN0991:  preds = [COND0994]
          bool _t098F#1 = Inside<2>(v030764,T0738);
          goto JOIN098E
        JOIN098E:  preds = [ASSIGN0991,ASSIGN0993]
          bool _t0990#1 = phi(_t098F,_t0992)
          if _t0990 then goto ASSIGN0997 else goto JOIN0995
        ASSIGN0997:  preds = [COND09A7]
          real _t0996#1 = Probe<tensor[2],real>(F0740,pos0989);
          real _t0998#1 = Probe<tensor[2],real>(T0738,v030764);
          real _t099A#1 = Sub<real>(_t0996,_t0998);
          real _t099C#1 = Probe<tensor[2],real>(F0740,pos0989);
          real _t099E#1 = Probe<tensor[2],real>(T0738,v030764);
          real _t09A0#1 = Sub<real>(_t099C,_t099E);
          real _t09A2#1 = Mul<real>(_t099A,_t09A0);
          real score09A4#1 = Add<real>(score0976,_t09A2);
          goto JOIN0995
        JOIN0995:  preds = [ASSIGN09A6,COND09A7]
          real score09A5#2 = phi(score09A4,score0976)
          real _t09A8#1 = Dot<tensor[2]>(r008BC,v04076C);
          real _t09AA#1 = Dot<tensor[2]>(r108EA,v04076C);
          tensor[2] _t09AC#1 = <tensor[2]>[_t09A8,_t09AA];
          int _t09AE#1 = 0;
          real _t09B0#1 = TensorSub<tensor[3]>(t0884,_t09AE);
          int _t09B2#1 = 1;
          real _t09B4#1 = TensorSub<tensor[3]>(t0884,_t09B2);
          tensor[2] _t09B6#1 = <tensor[2]>[_t09B0,_t09B4];
          tensor[2] pos09B8#3 = Add<tensor[2]>(_t09AC,_t09B6);
          bool _t09BB#1 = Inside<2>(pos09B8,F0740);
          if _t09BB then goto ASSIGN09C0 else goto ASSIGN09C2
        ASSIGN09C0:  preds = [COND09C3]
          bool _t09BE#1 = Inside<2>(v04076C,T0738);
          goto JOIN09BD
        JOIN09BD:  preds = [ASSIGN09C0,ASSIGN09C2]
          bool _t09BF#1 = phi(_t09BE,_t09C1)
          if _t09BF then goto ASSIGN09C6 else goto JOIN09C4
        ASSIGN09C6:  preds = [COND09D6]
          real _t09C5#1 = Probe<tensor[2],real>(F0740,pos09B8);
          real _t09C7#1 = Probe<tensor[2],real>(T0738,v04076C);
          real _t09C9#1 = Sub<real>(_t09C5,_t09C7);
          real _t09CB#1 = Probe<tensor[2],real>(F0740,pos09B8);
          real _t09CD#1 = Probe<tensor[2],real>(T0738,v04076C);
          real _t09CF#1 = Sub<real>(_t09CB,_t09CD);
          real _t09D1#1 = Mul<real>(_t09C9,_t09CF);
          real score09D3#1 = Add<real>(score09A5,_t09D1);
          goto JOIN09C4
        JOIN09C4:  preds = [ASSIGN09D5,COND09D6]
          real score09D4#2 = phi(score09D3,score09A5)
          real _t09D7#1 = Dot<tensor[2]>(r008BC,v050776);
          real _t09D9#1 = Dot<tensor[2]>(r108EA,v050776);
          tensor[2] _t09DB#1 = <tensor[2]>[_t09D7,_t09D9];
          int _t09DD#1 = 0;
          real _t09DF#1 = TensorSub<tensor[3]>(t0884,_t09DD);
          int _t09E1#1 = 1;
          real _t09E3#1 = TensorSub<tensor[3]>(t0884,_t09E1);
          tensor[2] _t09E5#1 = <tensor[2]>[_t09DF,_t09E3];
          tensor[2] pos09E7#3 = Add<tensor[2]>(_t09DB,_t09E5);
          bool _t09EA#1 = Inside<2>(pos09E7,F0740);
          if _t09EA then goto ASSIGN09EF else goto ASSIGN09F1
        ASSIGN09EF:  preds = [COND09F2]
          bool _t09ED#1 = Inside<2>(v050776,T0738);
          goto JOIN09EC
        JOIN09EC:  preds = [ASSIGN09EF,ASSIGN09F1]
          bool _t09EE#1 = phi(_t09ED,_t09F0)
          if _t09EE then goto ASSIGN09F5 else goto JOIN09F3
        ASSIGN09F5:  preds = [COND0A05]
          real _t09F4#1 = Probe<tensor[2],real>(F0740,pos09E7);
          real _t09F6#1 = Probe<tensor[2],real>(T0738,v050776);
          real _t09F8#1 = Sub<real>(_t09F4,_t09F6);
          real _t09FA#1 = Probe<tensor[2],real>(F0740,pos09E7);
          real _t09FC#1 = Probe<tensor[2],real>(T0738,v050776);
          real _t09FE#1 = Sub<real>(_t09FA,_t09FC);
          real _t0A00#1 = Mul<real>(_t09F8,_t09FE);
          real score0A02#1 = Add<real>(score09D4,_t0A00);
          goto JOIN09F3
        JOIN09F3:  preds = [ASSIGN0A04,COND0A05]
          real score0A03#2 = phi(score0A02,score09D4)
          real _t0A06#1 = Dot<tensor[2]>(r008BC,v060780);
          real _t0A08#1 = Dot<tensor[2]>(r108EA,v060780);
          tensor[2] _t0A0A#1 = <tensor[2]>[_t0A06,_t0A08];
          int _t0A0C#1 = 0;
          real _t0A0E#1 = TensorSub<tensor[3]>(t0884,_t0A0C);
          int _t0A10#1 = 1;
          real _t0A12#1 = TensorSub<tensor[3]>(t0884,_t0A10);
          tensor[2] _t0A14#1 = <tensor[2]>[_t0A0E,_t0A12];
          tensor[2] pos0A16#3 = Add<tensor[2]>(_t0A0A,_t0A14);
          bool _t0A19#1 = Inside<2>(pos0A16,F0740);
          if _t0A19 then goto ASSIGN0A1E else goto ASSIGN0A20
        ASSIGN0A1E:  preds = [COND0A21]
          bool _t0A1C#1 = Inside<2>(v060780,T0738);
          goto JOIN0A1B
        JOIN0A1B:  preds = [ASSIGN0A1E,ASSIGN0A20]
          bool _t0A1D#1 = phi(_t0A1C,_t0A1F)
          if _t0A1D then goto ASSIGN0A24 else goto JOIN0A22
        ASSIGN0A24:  preds = [COND0A34]
          real _t0A23#1 = Probe<tensor[2],real>(F0740,pos0A16);
          real _t0A25#1 = Probe<tensor[2],real>(T0738,v060780);
          real _t0A27#1 = Sub<real>(_t0A23,_t0A25);
          real _t0A29#1 = Probe<tensor[2],real>(F0740,pos0A16);
          real _t0A2B#1 = Probe<tensor[2],real>(T0738,v060780);
          real _t0A2D#1 = Sub<real>(_t0A29,_t0A2B);
          real _t0A2F#1 = Mul<real>(_t0A27,_t0A2D);
          real score0A31#1 = Add<real>(score0A03,_t0A2F);
          goto JOIN0A22
        JOIN0A22:  preds = [ASSIGN0A33,COND0A34]
          real score0A32#2 = phi(score0A31,score0A03)
          real _t0A35#1 = Dot<tensor[2]>(r008BC,v070788);
          real _t0A37#1 = Dot<tensor[2]>(r108EA,v070788);
          tensor[2] _t0A39#1 = <tensor[2]>[_t0A35,_t0A37];
          int _t0A3B#1 = 0;
          real _t0A3D#1 = TensorSub<tensor[3]>(t0884,_t0A3B);
          int _t0A3F#1 = 1;
          real _t0A41#1 = TensorSub<tensor[3]>(t0884,_t0A3F);
          tensor[2] _t0A43#1 = <tensor[2]>[_t0A3D,_t0A41];
          tensor[2] pos0A45#3 = Add<tensor[2]>(_t0A39,_t0A43);
          bool _t0A48#1 = Inside<2>(pos0A45,F0740);
          if _t0A48 then goto ASSIGN0A4D else goto ASSIGN0A4F
        ASSIGN0A4D:  preds = [COND0A50]
          bool _t0A4B#1 = Inside<2>(v070788,T0738);
          goto JOIN0A4A
        JOIN0A4A:  preds = [ASSIGN0A4D,ASSIGN0A4F]
          bool _t0A4C#1 = phi(_t0A4B,_t0A4E)
          if _t0A4C then goto ASSIGN0A53 else goto JOIN0A51
        ASSIGN0A53:  preds = [COND0A63]
          real _t0A52#1 = Probe<tensor[2],real>(F0740,pos0A45);
          real _t0A54#1 = Probe<tensor[2],real>(T0738,v070788);
          real _t0A56#1 = Sub<real>(_t0A52,_t0A54);
          real _t0A58#1 = Probe<tensor[2],real>(F0740,pos0A45);
          real _t0A5A#1 = Probe<tensor[2],real>(T0738,v070788);
          real _t0A5C#1 = Sub<real>(_t0A58,_t0A5A);
          real _t0A5E#1 = Mul<real>(_t0A56,_t0A5C);
          real score0A60#1 = Add<real>(score0A32,_t0A5E);
          goto JOIN0A51
        JOIN0A51:  preds = [ASSIGN0A62,COND0A63]
          real score0A61#2 = phi(score0A60,score0A32)
          real _t0A64#1 = Dot<tensor[2]>(r008BC,v080790);
          real _t0A66#1 = Dot<tensor[2]>(r108EA,v080790);
          tensor[2] _t0A68#1 = <tensor[2]>[_t0A64,_t0A66];
          int _t0A6A#1 = 0;
          real _t0A6C#1 = TensorSub<tensor[3]>(t0884,_t0A6A);
          int _t0A6E#1 = 1;
          real _t0A70#1 = TensorSub<tensor[3]>(t0884,_t0A6E);
          tensor[2] _t0A72#1 = <tensor[2]>[_t0A6C,_t0A70];
          tensor[2] pos0A74#3 = Add<tensor[2]>(_t0A68,_t0A72);
          bool _t0A77#1 = Inside<2>(pos0A74,F0740);
          if _t0A77 then goto ASSIGN0A7C else goto ASSIGN0A7E
        ASSIGN0A7C:  preds = [COND0A7F]
          bool _t0A7A#1 = Inside<2>(v080790,T0738);
          goto JOIN0A79
        JOIN0A79:  preds = [ASSIGN0A7C,ASSIGN0A7E]
          bool _t0A7B#1 = phi(_t0A7A,_t0A7D)
          if _t0A7B then goto ASSIGN0A82 else goto JOIN0A80
        ASSIGN0A82:  preds = [COND0A92]
          real _t0A81#1 = Probe<tensor[2],real>(F0740,pos0A74);
          real _t0A83#1 = Probe<tensor[2],real>(T0738,v080790);
          real _t0A85#1 = Sub<real>(_t0A81,_t0A83);
          real _t0A87#1 = Probe<tensor[2],real>(F0740,pos0A74);
          real _t0A89#1 = Probe<tensor[2],real>(T0738,v080790);
          real _t0A8B#1 = Sub<real>(_t0A87,_t0A89);
          real _t0A8D#1 = Mul<real>(_t0A85,_t0A8B);
          real score0A8F#1 = Add<real>(score0A61,_t0A8D);
          goto JOIN0A80
        JOIN0A80:  preds = [ASSIGN0A91,COND0A92]
          real score0A90#2 = phi(score0A8F,score0A61)
          real _t0A93#1 = Dot<tensor[2]>(r008BC,v090798);
          real _t0A95#1 = Dot<tensor[2]>(r108EA,v090798);
          tensor[2] _t0A97#1 = <tensor[2]>[_t0A93,_t0A95];
          int _t0A99#1 = 0;
          real _t0A9B#1 = TensorSub<tensor[3]>(t0884,_t0A99);
          int _t0A9D#1 = 1;
          real _t0A9F#1 = TensorSub<tensor[3]>(t0884,_t0A9D);
          tensor[2] _t0AA1#1 = <tensor[2]>[_t0A9B,_t0A9F];
          tensor[2] pos0AA3#3 = Add<tensor[2]>(_t0A97,_t0AA1);
          bool _t0AA6#1 = Inside<2>(pos0AA3,F0740);
          if _t0AA6 then goto ASSIGN0AAB else goto ASSIGN0AAD
        ASSIGN0AAB:  preds = [COND0AAE]
          bool _t0AA9#1 = Inside<2>(v090798,T0738);
          goto JOIN0AA8
        JOIN0AA8:  preds = [ASSIGN0AAB,ASSIGN0AAD]
          bool _t0AAA#1 = phi(_t0AA9,_t0AAC)
          if _t0AAA then goto ASSIGN0AB1 else goto JOIN0AAF
        ASSIGN0AB1:  preds = [COND0AC1]
          real _t0AB0#1 = Probe<tensor[2],real>(F0740,pos0AA3);
          real _t0AB2#1 = Probe<tensor[2],real>(T0738,v090798);
          real _t0AB4#1 = Sub<real>(_t0AB0,_t0AB2);
          real _t0AB6#1 = Probe<tensor[2],real>(F0740,pos0AA3);
          real _t0AB8#1 = Probe<tensor[2],real>(T0738,v090798);
          real _t0ABA#1 = Sub<real>(_t0AB6,_t0AB8);
          real _t0ABC#1 = Mul<real>(_t0AB4,_t0ABA);
          real score0ABE#1 = Add<real>(score0A90,_t0ABC);
          goto JOIN0AAF
        JOIN0AAF:  preds = [ASSIGN0AC0,COND0AC1]
          real score0ABF#2 = phi(score0ABE,score0A90)
          real _t0AC2#1 = Dot<tensor[2]>(r008BC,v1007A2);
          real _t0AC4#1 = Dot<tensor[2]>(r108EA,v1007A2);
          tensor[2] _t0AC6#1 = <tensor[2]>[_t0AC2,_t0AC4];
          int _t0AC8#1 = 0;
          real _t0ACA#1 = TensorSub<tensor[3]>(t0884,_t0AC8);
          int _t0ACC#1 = 1;
          real _t0ACE#1 = TensorSub<tensor[3]>(t0884,_t0ACC);
          tensor[2] _t0AD0#1 = <tensor[2]>[_t0ACA,_t0ACE];
          tensor[2] pos0AD2#3 = Add<tensor[2]>(_t0AC6,_t0AD0);
          bool _t0AD5#1 = Inside<2>(pos0AD2,F0740);
          if _t0AD5 then goto ASSIGN0ADA else goto ASSIGN0ADC
        ASSIGN0ADA:  preds = [COND0ADD]
          bool _t0AD8#1 = Inside<2>(v1007A2,T0738);
          goto JOIN0AD7
        JOIN0AD7:  preds = [ASSIGN0ADA,ASSIGN0ADC]
          bool _t0AD9#1 = phi(_t0AD8,_t0ADB)
          if _t0AD9 then goto ASSIGN0AE0 else goto JOIN0ADE
        ASSIGN0AE0:  preds = [COND0AF0]
          real _t0ADF#1 = Probe<tensor[2],real>(F0740,pos0AD2);
          real _t0AE1#1 = Probe<tensor[2],real>(T0738,v1007A2);
          real _t0AE3#1 = Sub<real>(_t0ADF,_t0AE1);
          real _t0AE5#1 = Probe<tensor[2],real>(F0740,pos0AD2);
          real _t0AE7#1 = Probe<tensor[2],real>(T0738,v1007A2);
          real _t0AE9#1 = Sub<real>(_t0AE5,_t0AE7);
          real _t0AEB#1 = Mul<real>(_t0AE3,_t0AE9);
          real score0AED#1 = Add<real>(score0ABF,_t0AEB);
          goto JOIN0ADE
        JOIN0ADE:  preds = [ASSIGN0AEF,COND0AF0]
          real score0AEE#2 = phi(score0AED,score0ABF)
          real _t0AF1#1 = Dot<tensor[2]>(r008BC,v1107AC);
          real _t0AF3#1 = Dot<tensor[2]>(r108EA,v1107AC);
          tensor[2] _t0AF5#1 = <tensor[2]>[_t0AF1,_t0AF3];
          int _t0AF7#1 = 0;
          real _t0AF9#1 = TensorSub<tensor[3]>(t0884,_t0AF7);
          int _t0AFB#1 = 1;
          real _t0AFD#1 = TensorSub<tensor[3]>(t0884,_t0AFB);
          tensor[2] _t0AFF#1 = <tensor[2]>[_t0AF9,_t0AFD];
          tensor[2] pos0B01#3 = Add<tensor[2]>(_t0AF5,_t0AFF);
          bool _t0B04#1 = Inside<2>(pos0B01,F0740);
          if _t0B04 then goto ASSIGN0B09 else goto ASSIGN0B0B
        ASSIGN0B09:  preds = [COND0B0C]
          bool _t0B07#1 = Inside<2>(v1107AC,T0738);
          goto JOIN0B06
        JOIN0B06:  preds = [ASSIGN0B09,ASSIGN0B0B]
          bool _t0B08#1 = phi(_t0B07,_t0B0A)
          if _t0B08 then goto ASSIGN0B0F else goto JOIN0B0D
        ASSIGN0B0F:  preds = [COND0B1F]
          real _t0B0E#1 = Probe<tensor[2],real>(F0740,pos0B01);
          real _t0B10#1 = Probe<tensor[2],real>(T0738,v1107AC);
          real _t0B12#1 = Sub<real>(_t0B0E,_t0B10);
          real _t0B14#1 = Probe<tensor[2],real>(F0740,pos0B01);
          real _t0B16#1 = Probe<tensor[2],real>(T0738,v1107AC);
          real _t0B18#1 = Sub<real>(_t0B14,_t0B16);
          real _t0B1A#1 = Mul<real>(_t0B12,_t0B18);
          real score0B1C#1 = Add<real>(score0AEE,_t0B1A);
          goto JOIN0B0D
        JOIN0B0D:  preds = [ASSIGN0B1E,COND0B1F]
          real score0B1D#2 = phi(score0B1C,score0AEE)
          real _t0B20#1 = Dot<tensor[2]>(r008BC,v1207B4);
          real _t0B22#1 = Dot<tensor[2]>(r108EA,v1207B4);
          tensor[2] _t0B24#1 = <tensor[2]>[_t0B20,_t0B22];
          int _t0B26#1 = 0;
          real _t0B28#1 = TensorSub<tensor[3]>(t0884,_t0B26);
          int _t0B2A#1 = 1;
          real _t0B2C#1 = TensorSub<tensor[3]>(t0884,_t0B2A);
          tensor[2] _t0B2E#1 = <tensor[2]>[_t0B28,_t0B2C];
          tensor[2] pos0B30#3 = Add<tensor[2]>(_t0B24,_t0B2E);
          bool _t0B33#1 = Inside<2>(pos0B30,F0740);
          if _t0B33 then goto ASSIGN0B38 else goto ASSIGN0B3A
        ASSIGN0B38:  preds = [COND0B3B]
          bool _t0B36#1 = Inside<2>(v1207B4,T0738);
          goto JOIN0B35
        JOIN0B35:  preds = [ASSIGN0B38,ASSIGN0B3A]
          bool _t0B37#1 = phi(_t0B36,_t0B39)
          if _t0B37 then goto ASSIGN0B3E else goto JOIN0B3C
        ASSIGN0B3E:  preds = [COND0B4E]
          real _t0B3D#1 = Probe<tensor[2],real>(F0740,pos0B30);
          real _t0B3F#1 = Probe<tensor[2],real>(T0738,v1207B4);
          real _t0B41#1 = Sub<real>(_t0B3D,_t0B3F);
          real _t0B43#1 = Probe<tensor[2],real>(F0740,pos0B30);
          real _t0B45#1 = Probe<tensor[2],real>(T0738,v1207B4);
          real _t0B47#1 = Sub<real>(_t0B43,_t0B45);
          real _t0B49#1 = Mul<real>(_t0B41,_t0B47);
          real score0B4B#1 = Add<real>(score0B1D,_t0B49);
          goto JOIN0B3C
        JOIN0B3C:  preds = [ASSIGN0B4D,COND0B4E]
          real score0B4C#2 = phi(score0B4B,score0B1D)
          real _t0B4F#1 = Dot<tensor[2]>(r008BC,v1307BC);
          real _t0B51#1 = Dot<tensor[2]>(r108EA,v1307BC);
          tensor[2] _t0B53#1 = <tensor[2]>[_t0B4F,_t0B51];
          int _t0B55#1 = 0;
          real _t0B57#1 = TensorSub<tensor[3]>(t0884,_t0B55);
          int _t0B59#1 = 1;
          real _t0B5B#1 = TensorSub<tensor[3]>(t0884,_t0B59);
          tensor[2] _t0B5D#1 = <tensor[2]>[_t0B57,_t0B5B];
          tensor[2] pos0B5F#3 = Add<tensor[2]>(_t0B53,_t0B5D);
          bool _t0B62#1 = Inside<2>(pos0B5F,F0740);
          if _t0B62 then goto ASSIGN0B67 else goto ASSIGN0B69
        ASSIGN0B67:  preds = [COND0B6A]
          bool _t0B65#1 = Inside<2>(v1307BC,T0738);
          goto JOIN0B64
        JOIN0B64:  preds = [ASSIGN0B67,ASSIGN0B69]
          bool _t0B66#1 = phi(_t0B65,_t0B68)
          if _t0B66 then goto ASSIGN0B6D else goto JOIN0B6B
        ASSIGN0B6D:  preds = [COND0B7D]
          real _t0B6C#1 = Probe<tensor[2],real>(F0740,pos0B5F);
          real _t0B6E#1 = Probe<tensor[2],real>(T0738,v1307BC);
          real _t0B70#1 = Sub<real>(_t0B6C,_t0B6E);
          real _t0B72#1 = Probe<tensor[2],real>(F0740,pos0B5F);
          real _t0B74#1 = Probe<tensor[2],real>(T0738,v1307BC);
          real _t0B76#1 = Sub<real>(_t0B72,_t0B74);
          real _t0B78#1 = Mul<real>(_t0B70,_t0B76);
          real score0B7A#1 = Add<real>(score0B4C,_t0B78);
          goto JOIN0B6B
        JOIN0B6B:  preds = [ASSIGN0B7C,COND0B7D]
          real score0B7B#2 = phi(score0B7A,score0B4C)
          real _t0B7E#1 = Dot<tensor[2]>(r008BC,v1407C4);
          real _t0B80#1 = Dot<tensor[2]>(r108EA,v1407C4);
          tensor[2] _t0B82#1 = <tensor[2]>[_t0B7E,_t0B80];
          int _t0B84#1 = 0;
          real _t0B86#1 = TensorSub<tensor[3]>(t0884,_t0B84);
          int _t0B88#1 = 1;
          real _t0B8A#1 = TensorSub<tensor[3]>(t0884,_t0B88);
          tensor[2] _t0B8C#1 = <tensor[2]>[_t0B86,_t0B8A];
          tensor[2] pos0B8E#3 = Add<tensor[2]>(_t0B82,_t0B8C);
          bool _t0B91#1 = Inside<2>(pos0B8E,F0740);
          if _t0B91 then goto ASSIGN0B96 else goto ASSIGN0B98
        ASSIGN0B96:  preds = [COND0B99]
          bool _t0B94#1 = Inside<2>(v1407C4,T0738);
          goto JOIN0B93
        JOIN0B93:  preds = [ASSIGN0B96,ASSIGN0B98]
          bool _t0B95#1 = phi(_t0B94,_t0B97)
          if _t0B95 then goto ASSIGN0B9C else goto JOIN0B9A
        ASSIGN0B9C:  preds = [COND0BAC]
          real _t0B9B#1 = Probe<tensor[2],real>(F0740,pos0B8E);
          real _t0B9D#1 = Probe<tensor[2],real>(T0738,v1407C4);
          real _t0B9F#1 = Sub<real>(_t0B9B,_t0B9D);
          real _t0BA1#1 = Probe<tensor[2],real>(F0740,pos0B8E);
          real _t0BA3#1 = Probe<tensor[2],real>(T0738,v1407C4);
          real _t0BA5#1 = Sub<real>(_t0BA1,_t0BA3);
          real _t0BA7#1 = Mul<real>(_t0B9F,_t0BA5);
          real score0BA9#1 = Add<real>(score0B7B,_t0BA7);
          goto JOIN0B9A
        JOIN0B9A:  preds = [ASSIGN0BAB,COND0BAC]
          real score0BAA#2 = phi(score0BA9,score0B7B)
          real _t0BAD#1 = Dot<tensor[2]>(r008BC,v1507CC);
          real _t0BAF#1 = Dot<tensor[2]>(r108EA,v1507CC);
          tensor[2] _t0BB1#1 = <tensor[2]>[_t0BAD,_t0BAF];
          int _t0BB3#1 = 0;
          real _t0BB5#1 = TensorSub<tensor[3]>(t0884,_t0BB3);
          int _t0BB7#1 = 1;
          real _t0BB9#1 = TensorSub<tensor[3]>(t0884,_t0BB7);
          tensor[2] _t0BBB#1 = <tensor[2]>[_t0BB5,_t0BB9];
          tensor[2] pos0BBD#3 = Add<tensor[2]>(_t0BB1,_t0BBB);
          bool _t0BC0#1 = Inside<2>(pos0BBD,F0740);
          if _t0BC0 then goto ASSIGN0BC5 else goto ASSIGN0BC7
        ASSIGN0BC5:  preds = [COND0BC8]
          bool _t0BC3#1 = Inside<2>(v1507CC,T0738);
          goto JOIN0BC2
        JOIN0BC2:  preds = [ASSIGN0BC5,ASSIGN0BC7]
          bool _t0BC4#1 = phi(_t0BC3,_t0BC6)
          if _t0BC4 then goto ASSIGN0BCB else goto JOIN0BC9
        ASSIGN0BCB:  preds = [COND0BDB]
          real _t0BCA#1 = Probe<tensor[2],real>(F0740,pos0BBD);
          real _t0BCC#1 = Probe<tensor[2],real>(T0738,v1507CC);
          real _t0BCE#1 = Sub<real>(_t0BCA,_t0BCC);
          real _t0BD0#1 = Probe<tensor[2],real>(F0740,pos0BBD);
          real _t0BD2#1 = Probe<tensor[2],real>(T0738,v1507CC);
          real _t0BD4#1 = Sub<real>(_t0BD0,_t0BD2);
          real _t0BD6#1 = Mul<real>(_t0BCE,_t0BD4);
          real score0BD8#1 = Add<real>(score0BAA,_t0BD6);
          goto JOIN0BC9
        JOIN0BC9:  preds = [ASSIGN0BDA,COND0BDB]
          real score0BD9#2 = phi(score0BD8,score0BAA)
          real _t0BDC#1 = Dot<tensor[2]>(r008BC,v1607D4);
          real _t0BDE#1 = Dot<tensor[2]>(r108EA,v1607D4);
          tensor[2] _t0BE0#1 = <tensor[2]>[_t0BDC,_t0BDE];
          int _t0BE2#1 = 0;
          real _t0BE4#1 = TensorSub<tensor[3]>(t0884,_t0BE2);
          int _t0BE6#1 = 1;
          real _t0BE8#1 = TensorSub<tensor[3]>(t0884,_t0BE6);
          tensor[2] _t0BEA#1 = <tensor[2]>[_t0BE4,_t0BE8];
          tensor[2] pos0BEC#3 = Add<tensor[2]>(_t0BE0,_t0BEA);
          bool _t0BEF#1 = Inside<2>(pos0BEC,F0740);
          if _t0BEF then goto ASSIGN0BF4 else goto ASSIGN0BF6
        ASSIGN0BF4:  preds = [COND0BF7]
          bool _t0BF2#1 = Inside<2>(v1607D4,T0738);
          goto JOIN0BF1
        JOIN0BF1:  preds = [ASSIGN0BF4,ASSIGN0BF6]
          bool _t0BF3#1 = phi(_t0BF2,_t0BF5)
          if _t0BF3 then goto ASSIGN0BFA else goto JOIN0BF8
        ASSIGN0BFA:  preds = [COND0C0A]
          real _t0BF9#1 = Probe<tensor[2],real>(F0740,pos0BEC);
          real _t0BFB#1 = Probe<tensor[2],real>(T0738,v1607D4);
          real _t0BFD#1 = Sub<real>(_t0BF9,_t0BFB);
          real _t0BFF#1 = Probe<tensor[2],real>(F0740,pos0BEC);
          real _t0C01#1 = Probe<tensor[2],real>(T0738,v1607D4);
          real _t0C03#1 = Sub<real>(_t0BFF,_t0C01);
          real _t0C05#1 = Mul<real>(_t0BFD,_t0C03);
          real score0C07#1 = Add<real>(score0BD9,_t0C05);
          goto JOIN0BF8
        JOIN0BF8:  preds = [ASSIGN0C09,COND0C0A]
          real score0C08#2 = phi(score0C07,score0BD9)
          real _t0C0B#1 = Dot<tensor[2]>(r008BC,v1707DA);
          real _t0C0D#1 = Dot<tensor[2]>(r108EA,v1707DA);
          tensor[2] _t0C0F#1 = <tensor[2]>[_t0C0B,_t0C0D];
          int _t0C11#1 = 0;
          real _t0C13#1 = TensorSub<tensor[3]>(t0884,_t0C11);
          int _t0C15#1 = 1;
          real _t0C17#1 = TensorSub<tensor[3]>(t0884,_t0C15);
          tensor[2] _t0C19#1 = <tensor[2]>[_t0C13,_t0C17];
          tensor[2] pos0C1B#3 = Add<tensor[2]>(_t0C0F,_t0C19);
          bool _t0C1E#1 = Inside<2>(pos0C1B,F0740);
          if _t0C1E then goto ASSIGN0C23 else goto ASSIGN0C25
        ASSIGN0C23:  preds = [COND0C26]
          bool _t0C21#1 = Inside<2>(v1707DA,T0738);
          goto JOIN0C20
        JOIN0C20:  preds = [ASSIGN0C23,ASSIGN0C25]
          bool _t0C22#1 = phi(_t0C21,_t0C24)
          if _t0C22 then goto ASSIGN0C29 else goto JOIN0C27
        ASSIGN0C29:  preds = [COND0C39]
          real _t0C28#1 = Probe<tensor[2],real>(F0740,pos0C1B);
          real _t0C2A#1 = Probe<tensor[2],real>(T0738,v1707DA);
          real _t0C2C#1 = Sub<real>(_t0C28,_t0C2A);
          real _t0C2E#1 = Probe<tensor[2],real>(F0740,pos0C1B);
          real _t0C30#1 = Probe<tensor[2],real>(T0738,v1707DA);
          real _t0C32#1 = Sub<real>(_t0C2E,_t0C30);
          real _t0C34#1 = Mul<real>(_t0C2C,_t0C32);
          real score0C36#1 = Add<real>(score0C08,_t0C34);
          goto JOIN0C27
        JOIN0C27:  preds = [ASSIGN0C38,COND0C39]
          real score0C37#2 = phi(score0C36,score0C08)
          real _t0C3A#1 = Dot<tensor[2]>(r008BC,v1807E0);
          real _t0C3C#1 = Dot<tensor[2]>(r108EA,v1807E0);
          tensor[2] _t0C3E#1 = <tensor[2]>[_t0C3A,_t0C3C];
          int _t0C40#1 = 0;
          real _t0C42#1 = TensorSub<tensor[3]>(t0884,_t0C40);
          int _t0C44#1 = 1;
          real _t0C46#1 = TensorSub<tensor[3]>(t0884,_t0C44);
          tensor[2] _t0C48#1 = <tensor[2]>[_t0C42,_t0C46];
          tensor[2] pos0C4A#3 = Add<tensor[2]>(_t0C3E,_t0C48);
          bool _t0C4D#1 = Inside<2>(pos0C4A,F0740);
          if _t0C4D then goto ASSIGN0C52 else goto ASSIGN0C54
        ASSIGN0C52:  preds = [COND0C55]
          bool _t0C50#1 = Inside<2>(v1807E0,T0738);
          goto JOIN0C4F
        JOIN0C4F:  preds = [ASSIGN0C52,ASSIGN0C54]
          bool _t0C51#1 = phi(_t0C50,_t0C53)
          if _t0C51 then goto ASSIGN0C58 else goto JOIN0C56
        ASSIGN0C58:  preds = [COND0C68]
          real _t0C57#1 = Probe<tensor[2],real>(F0740,pos0C4A);
          real _t0C59#1 = Probe<tensor[2],real>(T0738,v1807E0);
          real _t0C5B#1 = Sub<real>(_t0C57,_t0C59);
          real _t0C5D#1 = Probe<tensor[2],real>(F0740,pos0C4A);
          real _t0C5F#1 = Probe<tensor[2],real>(T0738,v1807E0);
          real _t0C61#1 = Sub<real>(_t0C5D,_t0C5F);
          real _t0C63#1 = Mul<real>(_t0C5B,_t0C61);
          real score0C65#1 = Add<real>(score0C37,_t0C63);
          goto JOIN0C56
        JOIN0C56:  preds = [ASSIGN0C67,COND0C68]
          real score0C66#2 = phi(score0C65,score0C37)
          real _t0C69#1 = Dot<tensor[2]>(r008BC,v1907E6);
          real _t0C6B#1 = Dot<tensor[2]>(r108EA,v1907E6);
          tensor[2] _t0C6D#1 = <tensor[2]>[_t0C69,_t0C6B];
          int _t0C6F#1 = 0;
          real _t0C71#1 = TensorSub<tensor[3]>(t0884,_t0C6F);
          int _t0C73#1 = 1;
          real _t0C75#1 = TensorSub<tensor[3]>(t0884,_t0C73);
          tensor[2] _t0C77#1 = <tensor[2]>[_t0C71,_t0C75];
          tensor[2] pos0C79#3 = Add<tensor[2]>(_t0C6D,_t0C77);
          bool _t0C7C#1 = Inside<2>(pos0C79,F0740);
          if _t0C7C then goto ASSIGN0C81 else goto ASSIGN0C83
        ASSIGN0C81:  preds = [COND0C84]
          bool _t0C7F#1 = Inside<2>(v1907E6,T0738);
          goto JOIN0C7E
        JOIN0C7E:  preds = [ASSIGN0C81,ASSIGN0C83]
          bool _t0C80#1 = phi(_t0C7F,_t0C82)
          if _t0C80 then goto ASSIGN0C87 else goto JOIN0C85
        ASSIGN0C87:  preds = [COND0C97]
          real _t0C86#1 = Probe<tensor[2],real>(F0740,pos0C79);
          real _t0C88#1 = Probe<tensor[2],real>(T0738,v1907E6);
          real _t0C8A#1 = Sub<real>(_t0C86,_t0C88);
          real _t0C8C#1 = Probe<tensor[2],real>(F0740,pos0C79);
          real _t0C8E#1 = Probe<tensor[2],real>(T0738,v1907E6);
          real _t0C90#1 = Sub<real>(_t0C8C,_t0C8E);
          real _t0C92#1 = Mul<real>(_t0C8A,_t0C90);
          real score0C94#1 = Add<real>(score0C66,_t0C92);
          goto JOIN0C85
        JOIN0C85:  preds = [ASSIGN0C96,COND0C97]
          real score0C95#2 = phi(score0C94,score0C66)
          real _t0C98#1 = Dot<tensor[2]>(r008BC,v2007EE);
          real _t0C9A#1 = Dot<tensor[2]>(r108EA,v2007EE);
          tensor[2] _t0C9C#1 = <tensor[2]>[_t0C98,_t0C9A];
          int _t0C9E#1 = 0;
          real _t0CA0#1 = TensorSub<tensor[3]>(t0884,_t0C9E);
          int _t0CA2#1 = 1;
          real _t0CA4#1 = TensorSub<tensor[3]>(t0884,_t0CA2);
          tensor[2] _t0CA6#1 = <tensor[2]>[_t0CA0,_t0CA4];
          tensor[2] pos0CA8#3 = Add<tensor[2]>(_t0C9C,_t0CA6);
          bool _t0CAB#1 = Inside<2>(pos0CA8,F0740);
          if _t0CAB then goto ASSIGN0CB0 else goto ASSIGN0CB2
        ASSIGN0CB0:  preds = [COND0CB3]
          bool _t0CAE#1 = Inside<2>(v2007EE,T0738);
          goto JOIN0CAD
        JOIN0CAD:  preds = [ASSIGN0CB0,ASSIGN0CB2]
          bool _t0CAF#1 = phi(_t0CAE,_t0CB1)
          if _t0CAF then goto ASSIGN0CB6 else goto JOIN0CB4
        ASSIGN0CB6:  preds = [COND0CC6]
          real _t0CB5#1 = Probe<tensor[2],real>(F0740,pos0CA8);
          real _t0CB7#1 = Probe<tensor[2],real>(T0738,v2007EE);
          real _t0CB9#1 = Sub<real>(_t0CB5,_t0CB7);
          real _t0CBB#1 = Probe<tensor[2],real>(F0740,pos0CA8);
          real _t0CBD#1 = Probe<tensor[2],real>(T0738,v2007EE);
          real _t0CBF#1 = Sub<real>(_t0CBB,_t0CBD);
          real _t0CC1#1 = Mul<real>(_t0CB9,_t0CBF);
          real score0CC3#1 = Add<real>(score0C95,_t0CC1);
          goto JOIN0CB4
        JOIN0CB4:  preds = [ASSIGN0CC5,COND0CC6]
          real score0CC4#2 = phi(score0CC3,score0C95)
          real _t0CC7#1 = Dot<tensor[2]>(r008BC,v2107F6);
          real _t0CC9#1 = Dot<tensor[2]>(r108EA,v2107F6);
          tensor[2] _t0CCB#1 = <tensor[2]>[_t0CC7,_t0CC9];
          int _t0CCD#1 = 0;
          real _t0CCF#1 = TensorSub<tensor[3]>(t0884,_t0CCD);
          int _t0CD1#1 = 1;
          real _t0CD3#1 = TensorSub<tensor[3]>(t0884,_t0CD1);
          tensor[2] _t0CD5#1 = <tensor[2]>[_t0CCF,_t0CD3];
          tensor[2] pos0CD7#3 = Add<tensor[2]>(_t0CCB,_t0CD5);
          bool _t0CDA#1 = Inside<2>(pos0CD7,F0740);
          if _t0CDA then goto ASSIGN0CDF else goto ASSIGN0CE1
        ASSIGN0CDF:  preds = [COND0CE2]
          bool _t0CDD#1 = Inside<2>(v2107F6,T0738);
          goto JOIN0CDC
        JOIN0CDC:  preds = [ASSIGN0CDF,ASSIGN0CE1]
          bool _t0CDE#1 = phi(_t0CDD,_t0CE0)
          if _t0CDE then goto ASSIGN0CE5 else goto JOIN0CE3
        ASSIGN0CE5:  preds = [COND0CF5]
          real _t0CE4#1 = Probe<tensor[2],real>(F0740,pos0CD7);
          real _t0CE6#1 = Probe<tensor[2],real>(T0738,v2107F6);
          real _t0CE8#1 = Sub<real>(_t0CE4,_t0CE6);
          real _t0CEA#1 = Probe<tensor[2],real>(F0740,pos0CD7);
          real _t0CEC#1 = Probe<tensor[2],real>(T0738,v2107F6);
          real _t0CEE#1 = Sub<real>(_t0CEA,_t0CEC);
          real _t0CF0#1 = Mul<real>(_t0CE8,_t0CEE);
          real score0CF2#1 = Add<real>(score0CC4,_t0CF0);
          goto JOIN0CE3
        JOIN0CE3:  preds = [ASSIGN0CF4,COND0CF5]
          real score0CF3#2 = phi(score0CF2,score0CC4)
          real _t0CF6#1 = Dot<tensor[2]>(r008BC,v2207FC);
          real _t0CF8#1 = Dot<tensor[2]>(r108EA,v2207FC);
          tensor[2] _t0CFA#1 = <tensor[2]>[_t0CF6,_t0CF8];
          int _t0CFC#1 = 0;
          real _t0CFE#1 = TensorSub<tensor[3]>(t0884,_t0CFC);
          int _t0D00#1 = 1;
          real _t0D02#1 = TensorSub<tensor[3]>(t0884,_t0D00);
          tensor[2] _t0D04#1 = <tensor[2]>[_t0CFE,_t0D02];
          tensor[2] pos0D06#3 = Add<tensor[2]>(_t0CFA,_t0D04);
          bool _t0D09#1 = Inside<2>(pos0D06,F0740);
          if _t0D09 then goto ASSIGN0D0E else goto ASSIGN0D10
        ASSIGN0D0E:  preds = [COND0D11]
          bool _t0D0C#1 = Inside<2>(v2207FC,T0738);
          goto JOIN0D0B
        JOIN0D0B:  preds = [ASSIGN0D0E,ASSIGN0D10]
          bool _t0D0D#1 = phi(_t0D0C,_t0D0F)
          if _t0D0D then goto ASSIGN0D14 else goto JOIN0D12
        ASSIGN0D14:  preds = [COND0D24]
          real _t0D13#1 = Probe<tensor[2],real>(F0740,pos0D06);
          real _t0D15#1 = Probe<tensor[2],real>(T0738,v2207FC);
          real _t0D17#1 = Sub<real>(_t0D13,_t0D15);
          real _t0D19#1 = Probe<tensor[2],real>(F0740,pos0D06);
          real _t0D1B#1 = Probe<tensor[2],real>(T0738,v2207FC);
          real _t0D1D#1 = Sub<real>(_t0D19,_t0D1B);
          real _t0D1F#1 = Mul<real>(_t0D17,_t0D1D);
          real score0D21#1 = Add<real>(score0CF3,_t0D1F);
          goto JOIN0D12
        JOIN0D12:  preds = [ASSIGN0D23,COND0D24]
          real score0D22#2 = phi(score0D21,score0CF3)
          real _t0D25#1 = Dot<tensor[2]>(r008BC,v230802);
          real _t0D27#1 = Dot<tensor[2]>(r108EA,v230802);
          tensor[2] _t0D29#1 = <tensor[2]>[_t0D25,_t0D27];
          int _t0D2B#1 = 0;
          real _t0D2D#1 = TensorSub<tensor[3]>(t0884,_t0D2B);
          int _t0D2F#1 = 1;
          real _t0D31#1 = TensorSub<tensor[3]>(t0884,_t0D2F);
          tensor[2] _t0D33#1 = <tensor[2]>[_t0D2D,_t0D31];
          tensor[2] pos0D35#3 = Add<tensor[2]>(_t0D29,_t0D33);
          bool _t0D38#1 = Inside<2>(pos0D35,F0740);
          if _t0D38 then goto ASSIGN0D3D else goto ASSIGN0D3F
        ASSIGN0D3D:  preds = [COND0D40]
          bool _t0D3B#1 = Inside<2>(v230802,T0738);
          goto JOIN0D3A
        JOIN0D3A:  preds = [ASSIGN0D3D,ASSIGN0D3F]
          bool _t0D3C#1 = phi(_t0D3B,_t0D3E)
          if _t0D3C then goto ASSIGN0D43 else goto JOIN0D41
        ASSIGN0D43:  preds = [COND0D53]
          real _t0D42#1 = Probe<tensor[2],real>(F0740,pos0D35);
          real _t0D44#1 = Probe<tensor[2],real>(T0738,v230802);
          real _t0D46#1 = Sub<real>(_t0D42,_t0D44);
          real _t0D48#1 = Probe<tensor[2],real>(F0740,pos0D35);
          real _t0D4A#1 = Probe<tensor[2],real>(T0738,v230802);
          real _t0D4C#1 = Sub<real>(_t0D48,_t0D4A);
          real _t0D4E#1 = Mul<real>(_t0D46,_t0D4C);
          real score0D50#1 = Add<real>(score0D22,_t0D4E);
          goto JOIN0D41
        JOIN0D41:  preds = [ASSIGN0D52,COND0D53]
          real score0D51#2 = phi(score0D50,score0D22)
          real _t0D54#1 = Dot<tensor[2]>(r008BC,v240808);
          real _t0D56#1 = Dot<tensor[2]>(r108EA,v240808);
          tensor[2] _t0D58#1 = <tensor[2]>[_t0D54,_t0D56];
          int _t0D5A#1 = 0;
          real _t0D5C#1 = TensorSub<tensor[3]>(t0884,_t0D5A);
          int _t0D5E#1 = 1;
          real _t0D60#1 = TensorSub<tensor[3]>(t0884,_t0D5E);
          tensor[2] _t0D62#1 = <tensor[2]>[_t0D5C,_t0D60];
          tensor[2] pos0D64#3 = Add<tensor[2]>(_t0D58,_t0D62);
          bool _t0D67#1 = Inside<2>(pos0D64,F0740);
          if _t0D67 then goto ASSIGN0D6C else goto ASSIGN0D6E
        ASSIGN0D6C:  preds = [COND0D6F]
          bool _t0D6A#1 = Inside<2>(v240808,T0738);
          goto JOIN0D69
        JOIN0D69:  preds = [ASSIGN0D6C,ASSIGN0D6E]
          bool _t0D6B#1 = phi(_t0D6A,_t0D6D)
          if _t0D6B then goto ASSIGN0D72 else goto JOIN0D70
        ASSIGN0D72:  preds = [COND0D82]
          real _t0D71#1 = Probe<tensor[2],real>(F0740,pos0D64);
          real _t0D73#1 = Probe<tensor[2],real>(T0738,v240808);
          real _t0D75#1 = Sub<real>(_t0D71,_t0D73);
          real _t0D77#1 = Probe<tensor[2],real>(F0740,pos0D64);
          real _t0D79#1 = Probe<tensor[2],real>(T0738,v240808);
          real _t0D7B#1 = Sub<real>(_t0D77,_t0D79);
          real _t0D7D#1 = Mul<real>(_t0D75,_t0D7B);
          real score0D7F#1 = Add<real>(score0D51,_t0D7D);
          goto JOIN0D70
        JOIN0D70:  preds = [ASSIGN0D81,COND0D82]
          real score0D80#2 = phi(score0D7F,score0D51)
          real _t0D83#1 = Dot<tensor[2]>(r008BC,v250810);
          real _t0D85#1 = Dot<tensor[2]>(r108EA,v250810);
          tensor[2] _t0D87#1 = <tensor[2]>[_t0D83,_t0D85];
          int _t0D89#1 = 0;
          real _t0D8B#1 = TensorSub<tensor[3]>(t0884,_t0D89);
          int _t0D8D#1 = 1;
          real _t0D8F#1 = TensorSub<tensor[3]>(t0884,_t0D8D);
          tensor[2] _t0D91#1 = <tensor[2]>[_t0D8B,_t0D8F];
          tensor[2] pos0D93#3 = Add<tensor[2]>(_t0D87,_t0D91);
          bool _t0D96#1 = Inside<2>(pos0D93,F0740);
          if _t0D96 then goto ASSIGN0D9B else goto ASSIGN0D9D
        ASSIGN0D9B:  preds = [COND0D9E]
          bool _t0D99#1 = Inside<2>(v250810,T0738);
          goto JOIN0D98
        JOIN0D98:  preds = [ASSIGN0D9B,ASSIGN0D9D]
          bool _t0D9A#1 = phi(_t0D99,_t0D9C)
          if _t0D9A then goto ASSIGN0DA1 else goto JOIN0D9F
        ASSIGN0DA1:  preds = [COND0DB1]
          real _t0DA0#1 = Probe<tensor[2],real>(F0740,pos0D93);
          real _t0DA2#1 = Probe<tensor[2],real>(T0738,v250810);
          real _t0DA4#1 = Sub<real>(_t0DA0,_t0DA2);
          real _t0DA6#1 = Probe<tensor[2],real>(F0740,pos0D93);
          real _t0DA8#1 = Probe<tensor[2],real>(T0738,v250810);
          real _t0DAA#1 = Sub<real>(_t0DA6,_t0DA8);
          real _t0DAC#1 = Mul<real>(_t0DA4,_t0DAA);
          real score0DAE#1 = Add<real>(score0D80,_t0DAC);
          goto JOIN0D9F
        JOIN0D9F:  preds = [ASSIGN0DB0,COND0DB1]
          real score0DAF#2 = phi(score0DAE,score0D80)
          real _t0DB2#1 = Dot<tensor[2]>(r008BC,v260818);
          real _t0DB4#1 = Dot<tensor[2]>(r108EA,v260818);
          tensor[2] _t0DB6#1 = <tensor[2]>[_t0DB2,_t0DB4];
          int _t0DB8#1 = 0;
          real _t0DBA#1 = TensorSub<tensor[3]>(t0884,_t0DB8);
          int _t0DBC#1 = 1;
          real _t0DBE#1 = TensorSub<tensor[3]>(t0884,_t0DBC);
          tensor[2] _t0DC0#1 = <tensor[2]>[_t0DBA,_t0DBE];
          tensor[2] pos0DC2#3 = Add<tensor[2]>(_t0DB6,_t0DC0);
          bool _t0DC5#1 = Inside<2>(pos0DC2,F0740);
          if _t0DC5 then goto ASSIGN0DCA else goto ASSIGN0DCC
        ASSIGN0DCA:  preds = [COND0DCD]
          bool _t0DC8#1 = Inside<2>(v260818,T0738);
          goto JOIN0DC7
        JOIN0DC7:  preds = [ASSIGN0DCA,ASSIGN0DCC]
          bool _t0DC9#1 = phi(_t0DC8,_t0DCB)
          if _t0DC9 then goto ASSIGN0DD0 else goto JOIN0DCE
        ASSIGN0DD0:  preds = [COND0DE0]
          real _t0DCF#1 = Probe<tensor[2],real>(F0740,pos0DC2);
          real _t0DD1#1 = Probe<tensor[2],real>(T0738,v260818);
          real _t0DD3#1 = Sub<real>(_t0DCF,_t0DD1);
          real _t0DD5#1 = Probe<tensor[2],real>(F0740,pos0DC2);
          real _t0DD7#1 = Probe<tensor[2],real>(T0738,v260818);
          real _t0DD9#1 = Sub<real>(_t0DD5,_t0DD7);
          real _t0DDB#1 = Mul<real>(_t0DD3,_t0DD9);
          real score0DDD#1 = Add<real>(score0DAF,_t0DDB);
          goto JOIN0DCE
        JOIN0DCE:  preds = [ASSIGN0DDF,COND0DE0]
          real score0DDE#2 = phi(score0DDD,score0DAF)
          real _t0DE1#1 = Dot<tensor[2]>(r008BC,v27081E);
          real _t0DE3#1 = Dot<tensor[2]>(r108EA,v27081E);
          tensor[2] _t0DE5#1 = <tensor[2]>[_t0DE1,_t0DE3];
          int _t0DE7#1 = 0;
          real _t0DE9#1 = TensorSub<tensor[3]>(t0884,_t0DE7);
          int _t0DEB#1 = 1;
          real _t0DED#1 = TensorSub<tensor[3]>(t0884,_t0DEB);
          tensor[2] _t0DEF#1 = <tensor[2]>[_t0DE9,_t0DED];
          tensor[2] pos0DF1#3 = Add<tensor[2]>(_t0DE5,_t0DEF);
          bool _t0DF4#1 = Inside<2>(pos0DF1,F0740);
          if _t0DF4 then goto ASSIGN0DF9 else goto ASSIGN0DFB
        ASSIGN0DF9:  preds = [COND0DFC]
          bool _t0DF7#1 = Inside<2>(v27081E,T0738);
          goto JOIN0DF6
        JOIN0DF6:  preds = [ASSIGN0DF9,ASSIGN0DFB]
          bool _t0DF8#1 = phi(_t0DF7,_t0DFA)
          if _t0DF8 then goto ASSIGN0DFF else goto JOIN0DFD
        ASSIGN0DFF:  preds = [COND0E0F]
          real _t0DFE#1 = Probe<tensor[2],real>(F0740,pos0DF1);
          real _t0E00#1 = Probe<tensor[2],real>(T0738,v27081E);
          real _t0E02#1 = Sub<real>(_t0DFE,_t0E00);
          real _t0E04#1 = Probe<tensor[2],real>(F0740,pos0DF1);
          real _t0E06#1 = Probe<tensor[2],real>(T0738,v27081E);
          real _t0E08#1 = Sub<real>(_t0E04,_t0E06);
          real _t0E0A#1 = Mul<real>(_t0E02,_t0E08);
          real score0E0C#1 = Add<real>(score0DDE,_t0E0A);
          goto JOIN0DFD
        JOIN0DFD:  preds = [ASSIGN0E0E,COND0E0F]
          real score0E0D#2 = phi(score0E0C,score0DDE)
          real _t0E10#1 = Dot<tensor[2]>(r008BC,v280824);
          real _t0E12#1 = Dot<tensor[2]>(r108EA,v280824);
          tensor[2] _t0E14#1 = <tensor[2]>[_t0E10,_t0E12];
          int _t0E16#1 = 0;
          real _t0E18#1 = TensorSub<tensor[3]>(t0884,_t0E16);
          int _t0E1A#1 = 1;
          real _t0E1C#1 = TensorSub<tensor[3]>(t0884,_t0E1A);
          tensor[2] _t0E1E#1 = <tensor[2]>[_t0E18,_t0E1C];
          tensor[2] pos0E20#3 = Add<tensor[2]>(_t0E14,_t0E1E);
          bool _t0E23#1 = Inside<2>(pos0E20,F0740);
          if _t0E23 then goto ASSIGN0E28 else goto ASSIGN0E2A
        ASSIGN0E28:  preds = [COND0E2B]
          bool _t0E26#1 = Inside<2>(v280824,T0738);
          goto JOIN0E25
        JOIN0E25:  preds = [ASSIGN0E28,ASSIGN0E2A]
          bool _t0E27#1 = phi(_t0E26,_t0E29)
          if _t0E27 then goto ASSIGN0E2E else goto JOIN0E2C
        ASSIGN0E2E:  preds = [COND0E3E]
          real _t0E2D#1 = Probe<tensor[2],real>(F0740,pos0E20);
          real _t0E2F#1 = Probe<tensor[2],real>(T0738,v280824);
          real _t0E31#1 = Sub<real>(_t0E2D,_t0E2F);
          real _t0E33#1 = Probe<tensor[2],real>(F0740,pos0E20);
          real _t0E35#1 = Probe<tensor[2],real>(T0738,v280824);
          real _t0E37#1 = Sub<real>(_t0E33,_t0E35);
          real _t0E39#1 = Mul<real>(_t0E31,_t0E37);
          real score0E3B#1 = Add<real>(score0E0D,_t0E39);
          goto JOIN0E2C
        JOIN0E2C:  preds = [ASSIGN0E3D,COND0E3E]
          real score0E3C#2 = phi(score0E3B,score0E0D)
          real _t0E3F#1 = Dot<tensor[2]>(r008BC,v29082A);
          real _t0E41#1 = Dot<tensor[2]>(r108EA,v29082A);
          tensor[2] _t0E43#1 = <tensor[2]>[_t0E3F,_t0E41];
          int _t0E45#1 = 0;
          real _t0E47#1 = TensorSub<tensor[3]>(t0884,_t0E45);
          int _t0E49#1 = 1;
          real _t0E4B#1 = TensorSub<tensor[3]>(t0884,_t0E49);
          tensor[2] _t0E4D#1 = <tensor[2]>[_t0E47,_t0E4B];
          tensor[2] pos0E4F#4 = Add<tensor[2]>(_t0E43,_t0E4D);
          bool _t0E52#1 = Inside<2>(pos0E4F,F0740);
          if _t0E52 then goto ASSIGN0E57 else goto ASSIGN0E59
        ASSIGN0E57:  preds = [COND0E5A]
          bool _t0E55#1 = Inside<2>(v29082A,T0738);
          goto JOIN0E54
        JOIN0E54:  preds = [ASSIGN0E57,ASSIGN0E59]
          bool _t0E56#1 = phi(_t0E55,_t0E58)
          if _t0E56 then goto ASSIGN0E5D else goto JOIN0E5B
        ASSIGN0E5D:  preds = [COND0E6D]
          real _t0E5C#1 = Probe<tensor[2],real>(F0740,pos0E4F);
          real _t0E5E#1 = Probe<tensor[2],real>(T0738,v29082A);
          real _t0E60#1 = Sub<real>(_t0E5C,_t0E5E);
          real _t0E62#1 = Probe<tensor[2],real>(F0740,pos0E4F);
          real _t0E64#1 = Probe<tensor[2],real>(T0738,v29082A);
          real _t0E66#1 = Sub<real>(_t0E62,_t0E64);
          real _t0E68#1 = Mul<real>(_t0E60,_t0E66);
          real score0E6A#1 = Add<real>(score0E3C,_t0E68);
          goto JOIN0E5B
        JOIN0E5B:  preds = [ASSIGN0E6C,COND0E6D]
          real score0E6B#1 = phi(score0E6A,score0E3C)
          self.t = t0884;
          self.score = score0E6B;
          self.r0 = r008BC;
          self.r1 = r108EA;
          self.pos = pos0E4F;
          stabilize ()
        ASSIGN0E59:  preds = [COND0E5A]
          bool _t0E58#1 = false;
          goto JOIN0E54
        ASSIGN0E2A:  preds = [COND0E2B]
          bool _t0E29#1 = false;
          goto JOIN0E25
        ASSIGN0DFB:  preds = [COND0DFC]
          bool _t0DFA#1 = false;
          goto JOIN0DF6
        ASSIGN0DCC:  preds = [COND0DCD]
          bool _t0DCB#1 = false;
          goto JOIN0DC7
        ASSIGN0D9D:  preds = [COND0D9E]
          bool _t0D9C#1 = false;
          goto JOIN0D98
        ASSIGN0D6E:  preds = [COND0D6F]
          bool _t0D6D#1 = false;
          goto JOIN0D69
        ASSIGN0D3F:  preds = [COND0D40]
          bool _t0D3E#1 = false;
          goto JOIN0D3A
        ASSIGN0D10:  preds = [COND0D11]
          bool _t0D0F#1 = false;
          goto JOIN0D0B
        ASSIGN0CE1:  preds = [COND0CE2]
          bool _t0CE0#1 = false;
          goto JOIN0CDC
        ASSIGN0CB2:  preds = [COND0CB3]
          bool _t0CB1#1 = false;
          goto JOIN0CAD
        ASSIGN0C83:  preds = [COND0C84]
          bool _t0C82#1 = false;
          goto JOIN0C7E
        ASSIGN0C54:  preds = [COND0C55]
          bool _t0C53#1 = false;
          goto JOIN0C4F
        ASSIGN0C25:  preds = [COND0C26]
          bool _t0C24#1 = false;
          goto JOIN0C20
        ASSIGN0BF6:  preds = [COND0BF7]
          bool _t0BF5#1 = false;
          goto JOIN0BF1
        ASSIGN0BC7:  preds = [COND0BC8]
          bool _t0BC6#1 = false;
          goto JOIN0BC2
        ASSIGN0B98:  preds = [COND0B99]
          bool _t0B97#1 = false;
          goto JOIN0B93
        ASSIGN0B69:  preds = [COND0B6A]
          bool _t0B68#1 = false;
          goto JOIN0B64
        ASSIGN0B3A:  preds = [COND0B3B]
          bool _t0B39#1 = false;
          goto JOIN0B35
        ASSIGN0B0B:  preds = [COND0B0C]
          bool _t0B0A#1 = false;
          goto JOIN0B06
        ASSIGN0ADC:  preds = [COND0ADD]
          bool _t0ADB#1 = false;
          goto JOIN0AD7
        ASSIGN0AAD:  preds = [COND0AAE]
          bool _t0AAC#1 = false;
          goto JOIN0AA8
        ASSIGN0A7E:  preds = [COND0A7F]
          bool _t0A7D#1 = false;
          goto JOIN0A79
        ASSIGN0A4F:  preds = [COND0A50]
          bool _t0A4E#1 = false;
          goto JOIN0A4A
        ASSIGN0A20:  preds = [COND0A21]
          bool _t0A1F#1 = false;
          goto JOIN0A1B
        ASSIGN09F1:  preds = [COND09F2]
          bool _t09F0#1 = false;
          goto JOIN09EC
        ASSIGN09C2:  preds = [COND09C3]
          bool _t09C1#1 = false;
          goto JOIN09BD
        ASSIGN0993:  preds = [COND0994]
          bool _t0992#1 = false;
          goto JOIN098E
        ASSIGN0964:  preds = [COND0965]
          bool _t0963#1 = false;
          goto JOIN095F
        ASSIGN0935:  preds = [COND0936]
          bool _t0934#1 = false;
          goto JOIN0930
        ASSIGN0906:  preds = [COND0907]
          bool _t0905#1 = false;
          goto JOIN0901
    end Update
    method Stabilize
        ENTRY0E80:  preds = []
          tensor[3] t0E76#1 = self.t;
          real score0E77#1 = self.score;
          tensor[2] r00E78#1 = self.r0;
          tensor[2] r10E79#1 = self.r1;
          tensor[2] pos0E7A#1 = self.pos;
          self.t = t0E76;
          self.score = score0E77;
          self.r0 = r00E78;
          self.r1 = r10E79;
          self.pos = pos0E7A;
          return ()
    end Stabilize
  end R
#### end program ####
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
++ high-il:redundant-assign
##### HighIL after value numbering ####
## properties
  none
## globals
  global field T0738#90
  global field F0740#90
  global tensor[2] v00074A#5
  global tensor[2] v010754#5
  global tensor[2] v02075C#5
  global tensor[2] v030764#5
  global tensor[2] v04076C#5
  global tensor[2] v050776#5
  global tensor[2] v060780#5
  global tensor[2] v070788#5
  global tensor[2] v080790#5
  global tensor[2] v090798#5
  global tensor[2] v1007A2#5
  global tensor[2] v1107AC#5
  global tensor[2] v1207B4#5
  global tensor[2] v1307BC#5
  global tensor[2] v1407C4#5
  global tensor[2] v1507CC#5
  global tensor[2] v1607D4#5
  global tensor[2] v1707DA#5
  global tensor[2] v1807E0#5
  global tensor[2] v1907E6#5
  global tensor[2] v2007EE#5
  global tensor[2] v2107F6#5
  global tensor[2] v2207FC#5
  global tensor[2] v230802#5
  global tensor[2] v240808#5
  global tensor[2] v250810#5
  global tensor[2] v260818#5
  global tensor[2] v27081E#5
  global tensor[2] v280824#5
  global tensor[2] v29082A#5
  global string _t0734#1
  global image2D _t0736#1
  global kernel _t0732#3
  global string _t073C#1
  global image2D _t073E#1
  global real _t0770#9
  global real _t079C#9
  global real _t079A#15
  global real _t076E#15
  global real _t0744#21
  global real _t0752#11
  global real _t075A#11
  global real _t0750#18
  global real _t0742#33
## global initialization
  ENTRY082C:  preds = []
    kernel _t0732#3 = Kernel<bspln3,0>;
    string _t0734#1 = "square-template.nrrd";
    image2D _t0736#1 = LoadImage<IMAGE2D<int>>(_t0734);
    field T0738#90 = Field<2>(_t0736,_t0732);
    string _t073C#1 = "square-rotate.nrrd";
    image2D _t073E#1 = LoadImage<IMAGE2D<float>>(_t073C);
    field F0740#90 = Field<2>(_t073E,_t0732);
    real _t0742#33 = 0.5e0;
    real _t0744#21 = Neg<real>(_t0742);
    tensor[2] v00074A#5 = <tensor[2]>[_t0744,_t0744];
    real _t0750#18 = 0.25e0;
    real _t0752#11 = Neg<real>(_t0750);
    tensor[2] v010754#5 = <tensor[2]>[_t0744,_t0752];
    real _t075A#11 = 0.0;
    tensor[2] v02075C#5 = <tensor[2]>[_t0744,_t075A];
    tensor[2] v030764#5 = <tensor[2]>[_t0744,_t0750];
    tensor[2] v04076C#5 = <tensor[2]>[_t0744,_t0742];
    real _t076E#15 = 0.3e0;
    real _t0770#9 = Neg<real>(_t076E);
    tensor[2] v050776#5 = <tensor[2]>[_t0770,_t0744];
    tensor[2] v060780#5 = <tensor[2]>[_t0770,_t0752];
    tensor[2] v070788#5 = <tensor[2]>[_t0770,_t075A];
    tensor[2] v080790#5 = <tensor[2]>[_t0770,_t0750];
    tensor[2] v090798#5 = <tensor[2]>[_t0770,_t0742];
    real _t079A#15 = 0.1e0;
    real _t079C#9 = Neg<real>(_t079A);
    tensor[2] v1007A2#5 = <tensor[2]>[_t079C,_t0744];
    tensor[2] v1107AC#5 = <tensor[2]>[_t079C,_t0752];
    tensor[2] v1207B4#5 = <tensor[2]>[_t079C,_t075A];
    tensor[2] v1307BC#5 = <tensor[2]>[_t079C,_t0750];
    tensor[2] v1407C4#5 = <tensor[2]>[_t079C,_t0742];
    tensor[2] v1507CC#5 = <tensor[2]>[_t079A,_t0744];
    tensor[2] v1607D4#5 = <tensor[2]>[_t079A,_t0752];
    tensor[2] v1707DA#5 = <tensor[2]>[_t079A,_t075A];
    tensor[2] v1807E0#5 = <tensor[2]>[_t079A,_t0750];
    tensor[2] v1907E6#5 = <tensor[2]>[_t079A,_t0742];
    tensor[2] v2007EE#5 = <tensor[2]>[_t076E,_t0744];
    tensor[2] v2107F6#5 = <tensor[2]>[_t076E,_t0752];
    tensor[2] v2207FC#5 = <tensor[2]>[_t076E,_t075A];
    tensor[2] v230802#5 = <tensor[2]>[_t076E,_t0750];
    tensor[2] v240808#5 = <tensor[2]>[_t076E,_t0742];
    tensor[2] v250810#5 = <tensor[2]>[_t0742,_t0744];
    tensor[2] v260818#5 = <tensor[2]>[_t0742,_t0752];
    tensor[2] v27081E#5 = <tensor[2]>[_t0742,_t075A];
    tensor[2] v280824#5 = <tensor[2]>[_t0742,_t0750];
    tensor[2] v29082A#5 = <tensor[2]>[_t0742,_t0742];
    return (T0738,F0740,v00074A,v010754,v02075C,v030764,v04076C,v050776,v060780,v070788,v080790,v090798,v1007A2,v1107AC,v1207B4,v1307BC,v1407C4,v1507CC,v1607D4,v1707DA,v1807E0,v1907E6,v2007EE,v2107F6,v2207FC,v230802,v240808,v250810,v260818,v27081E,v280824,v29082A,_t0734,_t0736,_t0732,_t073C,_t073E,_t0770,_t079C,_t079A,_t076E,_t0744,_t0752,_t075A,_t0750,_t0742)
## initially
  ARRAY
    ENTRY083A:  preds = []
      int _t082E#4 = 0;
      int _t0830#4 = 60;
      live vars = (_t0830,_t082E)
    for int i083C#1 = _t082E .. _t0830
      for int j083D#1 = _t082E .. _t0830
        for int k083E#1 = _t082E .. _t0830
          ENTRY083F:  preds = []
            live vars = ()
          new R(i083C,j083D,k083E);
## strands
  strand R (int i0841#1, int j0842#1, int k0843#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY087D:  preds = []
        real _t0849#1 = IntToReal(i0841);
        real _t084B#3 = 0.60e2;
        real _t084D#1 = Div<real>(_t0849,_t084B);
        real _t084F#3 = 0.5e0;
        real _t0851#1 = Sub<real>(_t084D,_t084F);
        real _t0853#1 = IntToReal(j0842);
        real _t0857#1 = Div<real>(_t0853,_t084B);
        real _t085B#1 = Sub<real>(_t0857,_t084F);
        real _t085D#1 = IntToReal(k0843);
        real _t0861#1 = Div<real>(_t085D,_t084B);
        real _t0865#1 = Sub<real>(_t0861,_t084F);
        tensor[3] t0867#1 = <tensor[3]>[_t0851,_t085B,_t0865];
        real score0869#3 = 0.0;
        tensor[2] r0086F#3 = <tensor[2]>[score0869,score0869];
        self.t = t0867;
        self.score = score0869;
        self.r0 = r0086F;
        self.r1 = r0086F;
        self.pos = r0086F;
        strand_init ()
    method Update
        ENTRY0E74:  preds = []
          tensor[3] t0884#71 = self.t;
          real score0885#2 = self.score;
          tensor[2] r00886#0 = self.r0;
          tensor[2] r10887#0 = self.r1;
          tensor[2] pos0888#0 = self.pos;
          real _t088E#2 = 0.1e1;
          real _t0890#3 = 0.2e1;
          int _t0892#1 = 2;
          real _t0894#6 = TensorSub<tensor[3]>(t0884,_t0892);
          real _t0896#1 = Mul<real>(_t0890,_t0894);
          real _t089C#1 = Mul<real>(_t0896,_t0894);
          real _t089E#2 = Sub<real>(_t088E,_t089C);
          real _t08A2#1 = Neg<real>(_t0890);
          real _t08AE#1 = Mul<real>(_t0894,_t0894);
          real _t08B0#1 = Sub<real>(_t088E,_t08AE);
          real _t08B2#2 = sqrt(_t08B0);
          real _t08B4#1 = Mul<real>(_t08A2,_t08B2);
          real _t08BA#1 = Mul<real>(_t08B4,_t0894);
          tensor[2] r008BC#31 = <tensor[2]>[_t089E,_t08BA];
          real _t08D0#1 = Mul<real>(_t0890,_t08B2);
          real _t08D6#1 = Mul<real>(_t08D0,_t0894);
          tensor[2] r108EA#31 = <tensor[2]>[_t08D6,_t089E];
          real _t08EC#1 = Dot<tensor[2]>(r008BC,v00074A);
          real _t08EE#1 = Dot<tensor[2]>(r108EA,v00074A);
          tensor[2] _t08F0#1 = <tensor[2]>[_t08EC,_t08EE];
          int _t08F2#1 = 0;
          real _t08F4#1 = TensorSub<tensor[3]>(t0884,_t08F2);
          int _t08F6#1 = 1;
          real _t08F8#1 = TensorSub<tensor[3]>(t0884,_t08F6);
          tensor[2] _t08FA#30 = <tensor[2]>[_t08F4,_t08F8];
          tensor[2] pos08FC#3 = Add<tensor[2]>(_t08F0,_t08FA);
          bool _t08FF#1 = Inside<2>(pos08FC,F0740);
          if _t08FF then goto ASSIGN0904 else goto ASSIGN0906
        ASSIGN0904:  preds = [COND0907]
          bool _t0902#1 = Inside<2>(v00074A,T0738);
          goto JOIN0901
        JOIN0901:  preds = [ASSIGN0904,ASSIGN0906]
          bool _t0903#1 = phi(_t0902,_t0905)
          if _t0903 then goto ASSIGN090A else goto JOIN0908
        ASSIGN090A:  preds = [COND091A]
          real _t0909#1 = Probe<tensor[2],real>(F0740,pos08FC);
          real _t090B#1 = Probe<tensor[2],real>(T0738,v00074A);
          real _t090D#2 = Sub<real>(_t0909,_t090B);
          real _t0915#1 = Mul<real>(_t090D,_t090D);
          real score0917#1 = Add<real>(score0885,_t0915);
          goto JOIN0908
        JOIN0908:  preds = [ASSIGN0919,COND091A]
          real score0918#2 = phi(score0917,score0885)
          real _t091B#1 = Dot<tensor[2]>(r008BC,v010754);
          real _t091D#1 = Dot<tensor[2]>(r108EA,v010754);
          tensor[2] _t091F#1 = <tensor[2]>[_t091B,_t091D];
          tensor[2] pos092B#3 = Add<tensor[2]>(_t091F,_t08FA);
          bool _t092E#1 = Inside<2>(pos092B,F0740);
          if _t092E then goto ASSIGN0933 else goto ASSIGN0935
        ASSIGN0933:  preds = [COND0936]
          bool _t0931#1 = Inside<2>(v010754,T0738);
          goto JOIN0930
        JOIN0930:  preds = [ASSIGN0933,ASSIGN0935]
          bool _t0932#1 = phi(_t0931,_t0934)
          if _t0932 then goto ASSIGN0939 else goto JOIN0937
        ASSIGN0939:  preds = [COND0949]
          real _t0938#1 = Probe<tensor[2],real>(F0740,pos092B);
          real _t093A#1 = Probe<tensor[2],real>(T0738,v010754);
          real _t093C#2 = Sub<real>(_t0938,_t093A);
          real _t0944#1 = Mul<real>(_t093C,_t093C);
          real score0946#1 = Add<real>(score0918,_t0944);
          goto JOIN0937
        JOIN0937:  preds = [ASSIGN0948,COND0949]
          real score0947#2 = phi(score0946,score0918)
          real _t094A#1 = Dot<tensor[2]>(r008BC,v02075C);
          real _t094C#1 = Dot<tensor[2]>(r108EA,v02075C);
          tensor[2] _t094E#1 = <tensor[2]>[_t094A,_t094C];
          tensor[2] pos095A#3 = Add<tensor[2]>(_t094E,_t08FA);
          bool _t095D#1 = Inside<2>(pos095A,F0740);
          if _t095D then goto ASSIGN0962 else goto ASSIGN0964
        ASSIGN0962:  preds = [COND0965]
          bool _t0960#1 = Inside<2>(v02075C,T0738);
          goto JOIN095F
        JOIN095F:  preds = [ASSIGN0962,ASSIGN0964]
          bool _t0961#1 = phi(_t0960,_t0963)
          if _t0961 then goto ASSIGN0968 else goto JOIN0966
        ASSIGN0968:  preds = [COND0978]
          real _t0967#1 = Probe<tensor[2],real>(F0740,pos095A);
          real _t0969#1 = Probe<tensor[2],real>(T0738,v02075C);
          real _t096B#2 = Sub<real>(_t0967,_t0969);
          real _t0973#1 = Mul<real>(_t096B,_t096B);
          real score0975#1 = Add<real>(score0947,_t0973);
          goto JOIN0966
        JOIN0966:  preds = [ASSIGN0977,COND0978]
          real score0976#2 = phi(score0975,score0947)
          real _t0979#1 = Dot<tensor[2]>(r008BC,v030764);
          real _t097B#1 = Dot<tensor[2]>(r108EA,v030764);
          tensor[2] _t097D#1 = <tensor[2]>[_t0979,_t097B];
          tensor[2] pos0989#3 = Add<tensor[2]>(_t097D,_t08FA);
          bool _t098C#1 = Inside<2>(pos0989,F0740);
          if _t098C then goto ASSIGN0991 else goto ASSIGN0993
        ASSIGN0991:  preds = [COND0994]
          bool _t098F#1 = Inside<2>(v030764,T0738);
          goto JOIN098E
        JOIN098E:  preds = [ASSIGN0991,ASSIGN0993]
          bool _t0990#1 = phi(_t098F,_t0992)
          if _t0990 then goto ASSIGN0997 else goto JOIN0995
        ASSIGN0997:  preds = [COND09A7]
          real _t0996#1 = Probe<tensor[2],real>(F0740,pos0989);
          real _t0998#1 = Probe<tensor[2],real>(T0738,v030764);
          real _t099A#2 = Sub<real>(_t0996,_t0998);
          real _t09A2#1 = Mul<real>(_t099A,_t099A);
          real score09A4#1 = Add<real>(score0976,_t09A2);
          goto JOIN0995
        JOIN0995:  preds = [ASSIGN09A6,COND09A7]
          real score09A5#2 = phi(score09A4,score0976)
          real _t09A8#1 = Dot<tensor[2]>(r008BC,v04076C);
          real _t09AA#1 = Dot<tensor[2]>(r108EA,v04076C);
          tensor[2] _t09AC#1 = <tensor[2]>[_t09A8,_t09AA];
          tensor[2] pos09B8#3 = Add<tensor[2]>(_t09AC,_t08FA);
          bool _t09BB#1 = Inside<2>(pos09B8,F0740);
          if _t09BB then goto ASSIGN09C0 else goto ASSIGN09C2
        ASSIGN09C0:  preds = [COND09C3]
          bool _t09BE#1 = Inside<2>(v04076C,T0738);
          goto JOIN09BD
        JOIN09BD:  preds = [ASSIGN09C0,ASSIGN09C2]
          bool _t09BF#1 = phi(_t09BE,_t09C1)
          if _t09BF then goto ASSIGN09C6 else goto JOIN09C4
        ASSIGN09C6:  preds = [COND09D6]
          real _t09C5#1 = Probe<tensor[2],real>(F0740,pos09B8);
          real _t09C7#1 = Probe<tensor[2],real>(T0738,v04076C);
          real _t09C9#2 = Sub<real>(_t09C5,_t09C7);
          real _t09D1#1 = Mul<real>(_t09C9,_t09C9);
          real score09D3#1 = Add<real>(score09A5,_t09D1);
          goto JOIN09C4
        JOIN09C4:  preds = [ASSIGN09D5,COND09D6]
          real score09D4#2 = phi(score09D3,score09A5)
          real _t09D7#1 = Dot<tensor[2]>(r008BC,v050776);
          real _t09D9#1 = Dot<tensor[2]>(r108EA,v050776);
          tensor[2] _t09DB#1 = <tensor[2]>[_t09D7,_t09D9];
          tensor[2] pos09E7#3 = Add<tensor[2]>(_t09DB,_t08FA);
          bool _t09EA#1 = Inside<2>(pos09E7,F0740);
          if _t09EA then goto ASSIGN09EF else goto ASSIGN09F1
        ASSIGN09EF:  preds = [COND09F2]
          bool _t09ED#1 = Inside<2>(v050776,T0738);
          goto JOIN09EC
        JOIN09EC:  preds = [ASSIGN09EF,ASSIGN09F1]
          bool _t09EE#1 = phi(_t09ED,_t09F0)
          if _t09EE then goto ASSIGN09F5 else goto JOIN09F3
        ASSIGN09F5:  preds = [COND0A05]
          real _t09F4#1 = Probe<tensor[2],real>(F0740,pos09E7);
          real _t09F6#1 = Probe<tensor[2],real>(T0738,v050776);
          real _t09F8#2 = Sub<real>(_t09F4,_t09F6);
          real _t0A00#1 = Mul<real>(_t09F8,_t09F8);
          real score0A02#1 = Add<real>(score09D4,_t0A00);
          goto JOIN09F3
        JOIN09F3:  preds = [ASSIGN0A04,COND0A05]
          real score0A03#2 = phi(score0A02,score09D4)
          real _t0A06#1 = Dot<tensor[2]>(r008BC,v060780);
          real _t0A08#1 = Dot<tensor[2]>(r108EA,v060780);
          tensor[2] _t0A0A#1 = <tensor[2]>[_t0A06,_t0A08];
          tensor[2] pos0A16#3 = Add<tensor[2]>(_t0A0A,_t08FA);
          bool _t0A19#1 = Inside<2>(pos0A16,F0740);
          if _t0A19 then goto ASSIGN0A1E else goto ASSIGN0A20
        ASSIGN0A1E:  preds = [COND0A21]
          bool _t0A1C#1 = Inside<2>(v060780,T0738);
          goto JOIN0A1B
        JOIN0A1B:  preds = [ASSIGN0A1E,ASSIGN0A20]
          bool _t0A1D#1 = phi(_t0A1C,_t0A1F)
          if _t0A1D then goto ASSIGN0A24 else goto JOIN0A22
        ASSIGN0A24:  preds = [COND0A34]
          real _t0A23#1 = Probe<tensor[2],real>(F0740,pos0A16);
          real _t0A25#1 = Probe<tensor[2],real>(T0738,v060780);
          real _t0A27#2 = Sub<real>(_t0A23,_t0A25);
          real _t0A2F#1 = Mul<real>(_t0A27,_t0A27);
          real score0A31#1 = Add<real>(score0A03,_t0A2F);
          goto JOIN0A22
        JOIN0A22:  preds = [ASSIGN0A33,COND0A34]
          real score0A32#2 = phi(score0A31,score0A03)
          real _t0A35#1 = Dot<tensor[2]>(r008BC,v070788);
          real _t0A37#1 = Dot<tensor[2]>(r108EA,v070788);
          tensor[2] _t0A39#1 = <tensor[2]>[_t0A35,_t0A37];
          tensor[2] pos0A45#3 = Add<tensor[2]>(_t0A39,_t08FA);
          bool _t0A48#1 = Inside<2>(pos0A45,F0740);
          if _t0A48 then goto ASSIGN0A4D else goto ASSIGN0A4F
        ASSIGN0A4D:  preds = [COND0A50]
          bool _t0A4B#1 = Inside<2>(v070788,T0738);
          goto JOIN0A4A
        JOIN0A4A:  preds = [ASSIGN0A4D,ASSIGN0A4F]
          bool _t0A4C#1 = phi(_t0A4B,_t0A4E)
          if _t0A4C then goto ASSIGN0A53 else goto JOIN0A51
        ASSIGN0A53:  preds = [COND0A63]
          real _t0A52#1 = Probe<tensor[2],real>(F0740,pos0A45);
          real _t0A54#1 = Probe<tensor[2],real>(T0738,v070788);
          real _t0A56#2 = Sub<real>(_t0A52,_t0A54);
          real _t0A5E#1 = Mul<real>(_t0A56,_t0A56);
          real score0A60#1 = Add<real>(score0A32,_t0A5E);
          goto JOIN0A51
        JOIN0A51:  preds = [ASSIGN0A62,COND0A63]
          real score0A61#2 = phi(score0A60,score0A32)
          real _t0A64#1 = Dot<tensor[2]>(r008BC,v080790);
          real _t0A66#1 = Dot<tensor[2]>(r108EA,v080790);
          tensor[2] _t0A68#1 = <tensor[2]>[_t0A64,_t0A66];
          tensor[2] pos0A74#3 = Add<tensor[2]>(_t0A68,_t08FA);
          bool _t0A77#1 = Inside<2>(pos0A74,F0740);
          if _t0A77 then goto ASSIGN0A7C else goto ASSIGN0A7E
        ASSIGN0A7C:  preds = [COND0A7F]
          bool _t0A7A#1 = Inside<2>(v080790,T0738);
          goto JOIN0A79
        JOIN0A79:  preds = [ASSIGN0A7C,ASSIGN0A7E]
          bool _t0A7B#1 = phi(_t0A7A,_t0A7D)
          if _t0A7B then goto ASSIGN0A82 else goto JOIN0A80
        ASSIGN0A82:  preds = [COND0A92]
          real _t0A81#1 = Probe<tensor[2],real>(F0740,pos0A74);
          real _t0A83#1 = Probe<tensor[2],real>(T0738,v080790);
          real _t0A85#2 = Sub<real>(_t0A81,_t0A83);
          real _t0A8D#1 = Mul<real>(_t0A85,_t0A85);
          real score0A8F#1 = Add<real>(score0A61,_t0A8D);
          goto JOIN0A80
        JOIN0A80:  preds = [ASSIGN0A91,COND0A92]
          real score0A90#2 = phi(score0A8F,score0A61)
          real _t0A93#1 = Dot<tensor[2]>(r008BC,v090798);
          real _t0A95#1 = Dot<tensor[2]>(r108EA,v090798);
          tensor[2] _t0A97#1 = <tensor[2]>[_t0A93,_t0A95];
          tensor[2] pos0AA3#3 = Add<tensor[2]>(_t0A97,_t08FA);
          bool _t0AA6#1 = Inside<2>(pos0AA3,F0740);
          if _t0AA6 then goto ASSIGN0AAB else goto ASSIGN0AAD
        ASSIGN0AAB:  preds = [COND0AAE]
          bool _t0AA9#1 = Inside<2>(v090798,T0738);
          goto JOIN0AA8
        JOIN0AA8:  preds = [ASSIGN0AAB,ASSIGN0AAD]
          bool _t0AAA#1 = phi(_t0AA9,_t0AAC)
          if _t0AAA then goto ASSIGN0AB1 else goto JOIN0AAF
        ASSIGN0AB1:  preds = [COND0AC1]
          real _t0AB0#1 = Probe<tensor[2],real>(F0740,pos0AA3);
          real _t0AB2#1 = Probe<tensor[2],real>(T0738,v090798);
          real _t0AB4#2 = Sub<real>(_t0AB0,_t0AB2);
          real _t0ABC#1 = Mul<real>(_t0AB4,_t0AB4);
          real score0ABE#1 = Add<real>(score0A90,_t0ABC);
          goto JOIN0AAF
        JOIN0AAF:  preds = [ASSIGN0AC0,COND0AC1]
          real score0ABF#2 = phi(score0ABE,score0A90)
          real _t0AC2#1 = Dot<tensor[2]>(r008BC,v1007A2);
          real _t0AC4#1 = Dot<tensor[2]>(r108EA,v1007A2);
          tensor[2] _t0AC6#1 = <tensor[2]>[_t0AC2,_t0AC4];
          tensor[2] pos0AD2#3 = Add<tensor[2]>(_t0AC6,_t08FA);
          bool _t0AD5#1 = Inside<2>(pos0AD2,F0740);
          if _t0AD5 then goto ASSIGN0ADA else goto ASSIGN0ADC
        ASSIGN0ADA:  preds = [COND0ADD]
          bool _t0AD8#1 = Inside<2>(v1007A2,T0738);
          goto JOIN0AD7
        JOIN0AD7:  preds = [ASSIGN0ADA,ASSIGN0ADC]
          bool _t0AD9#1 = phi(_t0AD8,_t0ADB)
          if _t0AD9 then goto ASSIGN0AE0 else goto JOIN0ADE
        ASSIGN0AE0:  preds = [COND0AF0]
          real _t0ADF#1 = Probe<tensor[2],real>(F0740,pos0AD2);
          real _t0AE1#1 = Probe<tensor[2],real>(T0738,v1007A2);
          real _t0AE3#2 = Sub<real>(_t0ADF,_t0AE1);
          real _t0AEB#1 = Mul<real>(_t0AE3,_t0AE3);
          real score0AED#1 = Add<real>(score0ABF,_t0AEB);
          goto JOIN0ADE
        JOIN0ADE:  preds = [ASSIGN0AEF,COND0AF0]
          real score0AEE#2 = phi(score0AED,score0ABF)
          real _t0AF1#1 = Dot<tensor[2]>(r008BC,v1107AC);
          real _t0AF3#1 = Dot<tensor[2]>(r108EA,v1107AC);
          tensor[2] _t0AF5#1 = <tensor[2]>[_t0AF1,_t0AF3];
          tensor[2] pos0B01#3 = Add<tensor[2]>(_t0AF5,_t08FA);
          bool _t0B04#1 = Inside<2>(pos0B01,F0740);
          if _t0B04 then goto ASSIGN0B09 else goto ASSIGN0B0B
        ASSIGN0B09:  preds = [COND0B0C]
          bool _t0B07#1 = Inside<2>(v1107AC,T0738);
          goto JOIN0B06
        JOIN0B06:  preds = [ASSIGN0B09,ASSIGN0B0B]
          bool _t0B08#1 = phi(_t0B07,_t0B0A)
          if _t0B08 then goto ASSIGN0B0F else goto JOIN0B0D
        ASSIGN0B0F:  preds = [COND0B1F]
          real _t0B0E#1 = Probe<tensor[2],real>(F0740,pos0B01);
          real _t0B10#1 = Probe<tensor[2],real>(T0738,v1107AC);
          real _t0B12#2 = Sub<real>(_t0B0E,_t0B10);
          real _t0B1A#1 = Mul<real>(_t0B12,_t0B12);
          real score0B1C#1 = Add<real>(score0AEE,_t0B1A);
          goto JOIN0B0D
        JOIN0B0D:  preds = [ASSIGN0B1E,COND0B1F]
          real score0B1D#2 = phi(score0B1C,score0AEE)
          real _t0B20#1 = Dot<tensor[2]>(r008BC,v1207B4);
          real _t0B22#1 = Dot<tensor[2]>(r108EA,v1207B4);
          tensor[2] _t0B24#1 = <tensor[2]>[_t0B20,_t0B22];
          tensor[2] pos0B30#3 = Add<tensor[2]>(_t0B24,_t08FA);
          bool _t0B33#1 = Inside<2>(pos0B30,F0740);
          if _t0B33 then goto ASSIGN0B38 else goto ASSIGN0B3A
        ASSIGN0B38:  preds = [COND0B3B]
          bool _t0B36#1 = Inside<2>(v1207B4,T0738);
          goto JOIN0B35
        JOIN0B35:  preds = [ASSIGN0B38,ASSIGN0B3A]
          bool _t0B37#1 = phi(_t0B36,_t0B39)
          if _t0B37 then goto ASSIGN0B3E else goto JOIN0B3C
        ASSIGN0B3E:  preds = [COND0B4E]
          real _t0B3D#1 = Probe<tensor[2],real>(F0740,pos0B30);
          real _t0B3F#1 = Probe<tensor[2],real>(T0738,v1207B4);
          real _t0B41#2 = Sub<real>(_t0B3D,_t0B3F);
          real _t0B49#1 = Mul<real>(_t0B41,_t0B41);
          real score0B4B#1 = Add<real>(score0B1D,_t0B49);
          goto JOIN0B3C
        JOIN0B3C:  preds = [ASSIGN0B4D,COND0B4E]
          real score0B4C#2 = phi(score0B4B,score0B1D)
          real _t0B4F#1 = Dot<tensor[2]>(r008BC,v1307BC);
          real _t0B51#1 = Dot<tensor[2]>(r108EA,v1307BC);
          tensor[2] _t0B53#1 = <tensor[2]>[_t0B4F,_t0B51];
          tensor[2] pos0B5F#3 = Add<tensor[2]>(_t0B53,_t08FA);
          bool _t0B62#1 = Inside<2>(pos0B5F,F0740);
          if _t0B62 then goto ASSIGN0B67 else goto ASSIGN0B69
        ASSIGN0B67:  preds = [COND0B6A]
          bool _t0B65#1 = Inside<2>(v1307BC,T0738);
          goto JOIN0B64
        JOIN0B64:  preds = [ASSIGN0B67,ASSIGN0B69]
          bool _t0B66#1 = phi(_t0B65,_t0B68)
          if _t0B66 then goto ASSIGN0B6D else goto JOIN0B6B
        ASSIGN0B6D:  preds = [COND0B7D]
          real _t0B6C#1 = Probe<tensor[2],real>(F0740,pos0B5F);
          real _t0B6E#1 = Probe<tensor[2],real>(T0738,v1307BC);
          real _t0B70#2 = Sub<real>(_t0B6C,_t0B6E);
          real _t0B78#1 = Mul<real>(_t0B70,_t0B70);
          real score0B7A#1 = Add<real>(score0B4C,_t0B78);
          goto JOIN0B6B
        JOIN0B6B:  preds = [ASSIGN0B7C,COND0B7D]
          real score0B7B#2 = phi(score0B7A,score0B4C)
          real _t0B7E#1 = Dot<tensor[2]>(r008BC,v1407C4);
          real _t0B80#1 = Dot<tensor[2]>(r108EA,v1407C4);
          tensor[2] _t0B82#1 = <tensor[2]>[_t0B7E,_t0B80];
          tensor[2] pos0B8E#3 = Add<tensor[2]>(_t0B82,_t08FA);
          bool _t0B91#1 = Inside<2>(pos0B8E,F0740);
          if _t0B91 then goto ASSIGN0B96 else goto ASSIGN0B98
        ASSIGN0B96:  preds = [COND0B99]
          bool _t0B94#1 = Inside<2>(v1407C4,T0738);
          goto JOIN0B93
        JOIN0B93:  preds = [ASSIGN0B96,ASSIGN0B98]
          bool _t0B95#1 = phi(_t0B94,_t0B97)
          if _t0B95 then goto ASSIGN0B9C else goto JOIN0B9A
        ASSIGN0B9C:  preds = [COND0BAC]
          real _t0B9B#1 = Probe<tensor[2],real>(F0740,pos0B8E);
          real _t0B9D#1 = Probe<tensor[2],real>(T0738,v1407C4);
          real _t0B9F#2 = Sub<real>(_t0B9B,_t0B9D);
          real _t0BA7#1 = Mul<real>(_t0B9F,_t0B9F);
          real score0BA9#1 = Add<real>(score0B7B,_t0BA7);
          goto JOIN0B9A
        JOIN0B9A:  preds = [ASSIGN0BAB,COND0BAC]
          real score0BAA#2 = phi(score0BA9,score0B7B)
          real _t0BAD#1 = Dot<tensor[2]>(r008BC,v1507CC);
          real _t0BAF#1 = Dot<tensor[2]>(r108EA,v1507CC);
          tensor[2] _t0BB1#1 = <tensor[2]>[_t0BAD,_t0BAF];
          tensor[2] pos0BBD#3 = Add<tensor[2]>(_t0BB1,_t08FA);
          bool _t0BC0#1 = Inside<2>(pos0BBD,F0740);
          if _t0BC0 then goto ASSIGN0BC5 else goto ASSIGN0BC7
        ASSIGN0BC5:  preds = [COND0BC8]
          bool _t0BC3#1 = Inside<2>(v1507CC,T0738);
          goto JOIN0BC2
        JOIN0BC2:  preds = [ASSIGN0BC5,ASSIGN0BC7]
          bool _t0BC4#1 = phi(_t0BC3,_t0BC6)
          if _t0BC4 then goto ASSIGN0BCB else goto JOIN0BC9
        ASSIGN0BCB:  preds = [COND0BDB]
          real _t0BCA#1 = Probe<tensor[2],real>(F0740,pos0BBD);
          real _t0BCC#1 = Probe<tensor[2],real>(T0738,v1507CC);
          real _t0BCE#2 = Sub<real>(_t0BCA,_t0BCC);
          real _t0BD6#1 = Mul<real>(_t0BCE,_t0BCE);
          real score0BD8#1 = Add<real>(score0BAA,_t0BD6);
          goto JOIN0BC9
        JOIN0BC9:  preds = [ASSIGN0BDA,COND0BDB]
          real score0BD9#2 = phi(score0BD8,score0BAA)
          real _t0BDC#1 = Dot<tensor[2]>(r008BC,v1607D4);
          real _t0BDE#1 = Dot<tensor[2]>(r108EA,v1607D4);
          tensor[2] _t0BE0#1 = <tensor[2]>[_t0BDC,_t0BDE];
          tensor[2] pos0BEC#3 = Add<tensor[2]>(_t0BE0,_t08FA);
          bool _t0BEF#1 = Inside<2>(pos0BEC,F0740);
          if _t0BEF then goto ASSIGN0BF4 else goto ASSIGN0BF6
        ASSIGN0BF4:  preds = [COND0BF7]
          bool _t0BF2#1 = Inside<2>(v1607D4,T0738);
          goto JOIN0BF1
        JOIN0BF1:  preds = [ASSIGN0BF4,ASSIGN0BF6]
          bool _t0BF3#1 = phi(_t0BF2,_t0BF5)
          if _t0BF3 then goto ASSIGN0BFA else goto JOIN0BF8
        ASSIGN0BFA:  preds = [COND0C0A]
          real _t0BF9#1 = Probe<tensor[2],real>(F0740,pos0BEC);
          real _t0BFB#1 = Probe<tensor[2],real>(T0738,v1607D4);
          real _t0BFD#2 = Sub<real>(_t0BF9,_t0BFB);
          real _t0C05#1 = Mul<real>(_t0BFD,_t0BFD);
          real score0C07#1 = Add<real>(score0BD9,_t0C05);
          goto JOIN0BF8
        JOIN0BF8:  preds = [ASSIGN0C09,COND0C0A]
          real score0C08#2 = phi(score0C07,score0BD9)
          real _t0C0B#1 = Dot<tensor[2]>(r008BC,v1707DA);
          real _t0C0D#1 = Dot<tensor[2]>(r108EA,v1707DA);
          tensor[2] _t0C0F#1 = <tensor[2]>[_t0C0B,_t0C0D];
          tensor[2] pos0C1B#3 = Add<tensor[2]>(_t0C0F,_t08FA);
          bool _t0C1E#1 = Inside<2>(pos0C1B,F0740);
          if _t0C1E then goto ASSIGN0C23 else goto ASSIGN0C25
        ASSIGN0C23:  preds = [COND0C26]
          bool _t0C21#1 = Inside<2>(v1707DA,T0738);
          goto JOIN0C20
        JOIN0C20:  preds = [ASSIGN0C23,ASSIGN0C25]
          bool _t0C22#1 = phi(_t0C21,_t0C24)
          if _t0C22 then goto ASSIGN0C29 else goto JOIN0C27
        ASSIGN0C29:  preds = [COND0C39]
          real _t0C28#1 = Probe<tensor[2],real>(F0740,pos0C1B);
          real _t0C2A#1 = Probe<tensor[2],real>(T0738,v1707DA);
          real _t0C2C#2 = Sub<real>(_t0C28,_t0C2A);
          real _t0C34#1 = Mul<real>(_t0C2C,_t0C2C);
          real score0C36#1 = Add<real>(score0C08,_t0C34);
          goto JOIN0C27
        JOIN0C27:  preds = [ASSIGN0C38,COND0C39]
          real score0C37#2 = phi(score0C36,score0C08)
          real _t0C3A#1 = Dot<tensor[2]>(r008BC,v1807E0);
          real _t0C3C#1 = Dot<tensor[2]>(r108EA,v1807E0);
          tensor[2] _t0C3E#1 = <tensor[2]>[_t0C3A,_t0C3C];
          tensor[2] pos0C4A#3 = Add<tensor[2]>(_t0C3E,_t08FA);
          bool _t0C4D#1 = Inside<2>(pos0C4A,F0740);
          if _t0C4D then goto ASSIGN0C52 else goto ASSIGN0C54
        ASSIGN0C52:  preds = [COND0C55]
          bool _t0C50#1 = Inside<2>(v1807E0,T0738);
          goto JOIN0C4F
        JOIN0C4F:  preds = [ASSIGN0C52,ASSIGN0C54]
          bool _t0C51#1 = phi(_t0C50,_t0C53)
          if _t0C51 then goto ASSIGN0C58 else goto JOIN0C56
        ASSIGN0C58:  preds = [COND0C68]
          real _t0C57#1 = Probe<tensor[2],real>(F0740,pos0C4A);
          real _t0C59#1 = Probe<tensor[2],real>(T0738,v1807E0);
          real _t0C5B#2 = Sub<real>(_t0C57,_t0C59);
          real _t0C63#1 = Mul<real>(_t0C5B,_t0C5B);
          real score0C65#1 = Add<real>(score0C37,_t0C63);
          goto JOIN0C56
        JOIN0C56:  preds = [ASSIGN0C67,COND0C68]
          real score0C66#2 = phi(score0C65,score0C37)
          real _t0C69#1 = Dot<tensor[2]>(r008BC,v1907E6);
          real _t0C6B#1 = Dot<tensor[2]>(r108EA,v1907E6);
          tensor[2] _t0C6D#1 = <tensor[2]>[_t0C69,_t0C6B];
          tensor[2] pos0C79#3 = Add<tensor[2]>(_t0C6D,_t08FA);
          bool _t0C7C#1 = Inside<2>(pos0C79,F0740);
          if _t0C7C then goto ASSIGN0C81 else goto ASSIGN0C83
        ASSIGN0C81:  preds = [COND0C84]
          bool _t0C7F#1 = Inside<2>(v1907E6,T0738);
          goto JOIN0C7E
        JOIN0C7E:  preds = [ASSIGN0C81,ASSIGN0C83]
          bool _t0C80#1 = phi(_t0C7F,_t0C82)
          if _t0C80 then goto ASSIGN0C87 else goto JOIN0C85
        ASSIGN0C87:  preds = [COND0C97]
          real _t0C86#1 = Probe<tensor[2],real>(F0740,pos0C79);
          real _t0C88#1 = Probe<tensor[2],real>(T0738,v1907E6);
          real _t0C8A#2 = Sub<real>(_t0C86,_t0C88);
          real _t0C92#1 = Mul<real>(_t0C8A,_t0C8A);
          real score0C94#1 = Add<real>(score0C66,_t0C92);
          goto JOIN0C85
        JOIN0C85:  preds = [ASSIGN0C96,COND0C97]
          real score0C95#2 = phi(score0C94,score0C66)
          real _t0C98#1 = Dot<tensor[2]>(r008BC,v2007EE);
          real _t0C9A#1 = Dot<tensor[2]>(r108EA,v2007EE);
          tensor[2] _t0C9C#1 = <tensor[2]>[_t0C98,_t0C9A];
          tensor[2] pos0CA8#3 = Add<tensor[2]>(_t0C9C,_t08FA);
          bool _t0CAB#1 = Inside<2>(pos0CA8,F0740);
          if _t0CAB then goto ASSIGN0CB0 else goto ASSIGN0CB2
        ASSIGN0CB0:  preds = [COND0CB3]
          bool _t0CAE#1 = Inside<2>(v2007EE,T0738);
          goto JOIN0CAD
        JOIN0CAD:  preds = [ASSIGN0CB0,ASSIGN0CB2]
          bool _t0CAF#1 = phi(_t0CAE,_t0CB1)
          if _t0CAF then goto ASSIGN0CB6 else goto JOIN0CB4
        ASSIGN0CB6:  preds = [COND0CC6]
          real _t0CB5#1 = Probe<tensor[2],real>(F0740,pos0CA8);
          real _t0CB7#1 = Probe<tensor[2],real>(T0738,v2007EE);
          real _t0CB9#2 = Sub<real>(_t0CB5,_t0CB7);
          real _t0CC1#1 = Mul<real>(_t0CB9,_t0CB9);
          real score0CC3#1 = Add<real>(score0C95,_t0CC1);
          goto JOIN0CB4
        JOIN0CB4:  preds = [ASSIGN0CC5,COND0CC6]
          real score0CC4#2 = phi(score0CC3,score0C95)
          real _t0CC7#1 = Dot<tensor[2]>(r008BC,v2107F6);
          real _t0CC9#1 = Dot<tensor[2]>(r108EA,v2107F6);
          tensor[2] _t0CCB#1 = <tensor[2]>[_t0CC7,_t0CC9];
          tensor[2] pos0CD7#3 = Add<tensor[2]>(_t0CCB,_t08FA);
          bool _t0CDA#1 = Inside<2>(pos0CD7,F0740);
          if _t0CDA then goto ASSIGN0CDF else goto ASSIGN0CE1
        ASSIGN0CDF:  preds = [COND0CE2]
          bool _t0CDD#1 = Inside<2>(v2107F6,T0738);
          goto JOIN0CDC
        JOIN0CDC:  preds = [ASSIGN0CDF,ASSIGN0CE1]
          bool _t0CDE#1 = phi(_t0CDD,_t0CE0)
          if _t0CDE then goto ASSIGN0CE5 else goto JOIN0CE3
        ASSIGN0CE5:  preds = [COND0CF5]
          real _t0CE4#1 = Probe<tensor[2],real>(F0740,pos0CD7);
          real _t0CE6#1 = Probe<tensor[2],real>(T0738,v2107F6);
          real _t0CE8#2 = Sub<real>(_t0CE4,_t0CE6);
          real _t0CF0#1 = Mul<real>(_t0CE8,_t0CE8);
          real score0CF2#1 = Add<real>(score0CC4,_t0CF0);
          goto JOIN0CE3
        JOIN0CE3:  preds = [ASSIGN0CF4,COND0CF5]
          real score0CF3#2 = phi(score0CF2,score0CC4)
          real _t0CF6#1 = Dot<tensor[2]>(r008BC,v2207FC);
          real _t0CF8#1 = Dot<tensor[2]>(r108EA,v2207FC);
          tensor[2] _t0CFA#1 = <tensor[2]>[_t0CF6,_t0CF8];
          tensor[2] pos0D06#3 = Add<tensor[2]>(_t0CFA,_t08FA);
          bool _t0D09#1 = Inside<2>(pos0D06,F0740);
          if _t0D09 then goto ASSIGN0D0E else goto ASSIGN0D10
        ASSIGN0D0E:  preds = [COND0D11]
          bool _t0D0C#1 = Inside<2>(v2207FC,T0738);
          goto JOIN0D0B
        JOIN0D0B:  preds = [ASSIGN0D0E,ASSIGN0D10]
          bool _t0D0D#1 = phi(_t0D0C,_t0D0F)
          if _t0D0D then goto ASSIGN0D14 else goto JOIN0D12
        ASSIGN0D14:  preds = [COND0D24]
          real _t0D13#1 = Probe<tensor[2],real>(F0740,pos0D06);
          real _t0D15#1 = Probe<tensor[2],real>(T0738,v2207FC);
          real _t0D17#2 = Sub<real>(_t0D13,_t0D15);
          real _t0D1F#1 = Mul<real>(_t0D17,_t0D17);
          real score0D21#1 = Add<real>(score0CF3,_t0D1F);
          goto JOIN0D12
        JOIN0D12:  preds = [ASSIGN0D23,COND0D24]
          real score0D22#2 = phi(score0D21,score0CF3)
          real _t0D25#1 = Dot<tensor[2]>(r008BC,v230802);
          real _t0D27#1 = Dot<tensor[2]>(r108EA,v230802);
          tensor[2] _t0D29#1 = <tensor[2]>[_t0D25,_t0D27];
          tensor[2] pos0D35#3 = Add<tensor[2]>(_t0D29,_t08FA);
          bool _t0D38#1 = Inside<2>(pos0D35,F0740);
          if _t0D38 then goto ASSIGN0D3D else goto ASSIGN0D3F
        ASSIGN0D3D:  preds = [COND0D40]
          bool _t0D3B#1 = Inside<2>(v230802,T0738);
          goto JOIN0D3A
        JOIN0D3A:  preds = [ASSIGN0D3D,ASSIGN0D3F]
          bool _t0D3C#1 = phi(_t0D3B,_t0D3E)
          if _t0D3C then goto ASSIGN0D43 else goto JOIN0D41
        ASSIGN0D43:  preds = [COND0D53]
          real _t0D42#1 = Probe<tensor[2],real>(F0740,pos0D35);
          real _t0D44#1 = Probe<tensor[2],real>(T0738,v230802);
          real _t0D46#2 = Sub<real>(_t0D42,_t0D44);
          real _t0D4E#1 = Mul<real>(_t0D46,_t0D46);
          real score0D50#1 = Add<real>(score0D22,_t0D4E);
          goto JOIN0D41
        JOIN0D41:  preds = [ASSIGN0D52,COND0D53]
          real score0D51#2 = phi(score0D50,score0D22)
          real _t0D54#1 = Dot<tensor[2]>(r008BC,v240808);
          real _t0D56#1 = Dot<tensor[2]>(r108EA,v240808);
          tensor[2] _t0D58#1 = <tensor[2]>[_t0D54,_t0D56];
          tensor[2] pos0D64#3 = Add<tensor[2]>(_t0D58,_t08FA);
          bool _t0D67#1 = Inside<2>(pos0D64,F0740);
          if _t0D67 then goto ASSIGN0D6C else goto ASSIGN0D6E
        ASSIGN0D6C:  preds = [COND0D6F]
          bool _t0D6A#1 = Inside<2>(v240808,T0738);
          goto JOIN0D69
        JOIN0D69:  preds = [ASSIGN0D6C,ASSIGN0D6E]
          bool _t0D6B#1 = phi(_t0D6A,_t0D6D)
          if _t0D6B then goto ASSIGN0D72 else goto JOIN0D70
        ASSIGN0D72:  preds = [COND0D82]
          real _t0D71#1 = Probe<tensor[2],real>(F0740,pos0D64);
          real _t0D73#1 = Probe<tensor[2],real>(T0738,v240808);
          real _t0D75#2 = Sub<real>(_t0D71,_t0D73);
          real _t0D7D#1 = Mul<real>(_t0D75,_t0D75);
          real score0D7F#1 = Add<real>(score0D51,_t0D7D);
          goto JOIN0D70
        JOIN0D70:  preds = [ASSIGN0D81,COND0D82]
          real score0D80#2 = phi(score0D7F,score0D51)
          real _t0D83#1 = Dot<tensor[2]>(r008BC,v250810);
          real _t0D85#1 = Dot<tensor[2]>(r108EA,v250810);
          tensor[2] _t0D87#1 = <tensor[2]>[_t0D83,_t0D85];
          tensor[2] pos0D93#3 = Add<tensor[2]>(_t0D87,_t08FA);
          bool _t0D96#1 = Inside<2>(pos0D93,F0740);
          if _t0D96 then goto ASSIGN0D9B else goto ASSIGN0D9D
        ASSIGN0D9B:  preds = [COND0D9E]
          bool _t0D99#1 = Inside<2>(v250810,T0738);
          goto JOIN0D98
        JOIN0D98:  preds = [ASSIGN0D9B,ASSIGN0D9D]
          bool _t0D9A#1 = phi(_t0D99,_t0D9C)
          if _t0D9A then goto ASSIGN0DA1 else goto JOIN0D9F
        ASSIGN0DA1:  preds = [COND0DB1]
          real _t0DA0#1 = Probe<tensor[2],real>(F0740,pos0D93);
          real _t0DA2#1 = Probe<tensor[2],real>(T0738,v250810);
          real _t0DA4#2 = Sub<real>(_t0DA0,_t0DA2);
          real _t0DAC#1 = Mul<real>(_t0DA4,_t0DA4);
          real score0DAE#1 = Add<real>(score0D80,_t0DAC);
          goto JOIN0D9F
        JOIN0D9F:  preds = [ASSIGN0DB0,COND0DB1]
          real score0DAF#2 = phi(score0DAE,score0D80)
          real _t0DB2#1 = Dot<tensor[2]>(r008BC,v260818);
          real _t0DB4#1 = Dot<tensor[2]>(r108EA,v260818);
          tensor[2] _t0DB6#1 = <tensor[2]>[_t0DB2,_t0DB4];
          tensor[2] pos0DC2#3 = Add<tensor[2]>(_t0DB6,_t08FA);
          bool _t0DC5#1 = Inside<2>(pos0DC2,F0740);
          if _t0DC5 then goto ASSIGN0DCA else goto ASSIGN0DCC
        ASSIGN0DCA:  preds = [COND0DCD]
          bool _t0DC8#1 = Inside<2>(v260818,T0738);
          goto JOIN0DC7
        JOIN0DC7:  preds = [ASSIGN0DCA,ASSIGN0DCC]
          bool _t0DC9#1 = phi(_t0DC8,_t0DCB)
          if _t0DC9 then goto ASSIGN0DD0 else goto JOIN0DCE
        ASSIGN0DD0:  preds = [COND0DE0]
          real _t0DCF#1 = Probe<tensor[2],real>(F0740,pos0DC2);
          real _t0DD1#1 = Probe<tensor[2],real>(T0738,v260818);
          real _t0DD3#2 = Sub<real>(_t0DCF,_t0DD1);
          real _t0DDB#1 = Mul<real>(_t0DD3,_t0DD3);
          real score0DDD#1 = Add<real>(score0DAF,_t0DDB);
          goto JOIN0DCE
        JOIN0DCE:  preds = [ASSIGN0DDF,COND0DE0]
          real score0DDE#2 = phi(score0DDD,score0DAF)
          real _t0DE1#1 = Dot<tensor[2]>(r008BC,v27081E);
          real _t0DE3#1 = Dot<tensor[2]>(r108EA,v27081E);
          tensor[2] _t0DE5#1 = <tensor[2]>[_t0DE1,_t0DE3];
          tensor[2] pos0DF1#3 = Add<tensor[2]>(_t0DE5,_t08FA);
          bool _t0DF4#1 = Inside<2>(pos0DF1,F0740);
          if _t0DF4 then goto ASSIGN0DF9 else goto ASSIGN0DFB
        ASSIGN0DF9:  preds = [COND0DFC]
          bool _t0DF7#1 = Inside<2>(v27081E,T0738);
          goto JOIN0DF6
        JOIN0DF6:  preds = [ASSIGN0DF9,ASSIGN0DFB]
          bool _t0DF8#1 = phi(_t0DF7,_t0DFA)
          if _t0DF8 then goto ASSIGN0DFF else goto JOIN0DFD
        ASSIGN0DFF:  preds = [COND0E0F]
          real _t0DFE#1 = Probe<tensor[2],real>(F0740,pos0DF1);
          real _t0E00#1 = Probe<tensor[2],real>(T0738,v27081E);
          real _t0E02#2 = Sub<real>(_t0DFE,_t0E00);
          real _t0E0A#1 = Mul<real>(_t0E02,_t0E02);
          real score0E0C#1 = Add<real>(score0DDE,_t0E0A);
          goto JOIN0DFD
        JOIN0DFD:  preds = [ASSIGN0E0E,COND0E0F]
          real score0E0D#2 = phi(score0E0C,score0DDE)
          real _t0E10#1 = Dot<tensor[2]>(r008BC,v280824);
          real _t0E12#1 = Dot<tensor[2]>(r108EA,v280824);
          tensor[2] _t0E14#1 = <tensor[2]>[_t0E10,_t0E12];
          tensor[2] pos0E20#3 = Add<tensor[2]>(_t0E14,_t08FA);
          bool _t0E23#1 = Inside<2>(pos0E20,F0740);
          if _t0E23 then goto ASSIGN0E28 else goto ASSIGN0E2A
        ASSIGN0E28:  preds = [COND0E2B]
          bool _t0E26#1 = Inside<2>(v280824,T0738);
          goto JOIN0E25
        JOIN0E25:  preds = [ASSIGN0E28,ASSIGN0E2A]
          bool _t0E27#1 = phi(_t0E26,_t0E29)
          if _t0E27 then goto ASSIGN0E2E else goto JOIN0E2C
        ASSIGN0E2E:  preds = [COND0E3E]
          real _t0E2D#1 = Probe<tensor[2],real>(F0740,pos0E20);
          real _t0E2F#1 = Probe<tensor[2],real>(T0738,v280824);
          real _t0E31#2 = Sub<real>(_t0E2D,_t0E2F);
          real _t0E39#1 = Mul<real>(_t0E31,_t0E31);
          real score0E3B#1 = Add<real>(score0E0D,_t0E39);
          goto JOIN0E2C
        JOIN0E2C:  preds = [ASSIGN0E3D,COND0E3E]
          real score0E3C#2 = phi(score0E3B,score0E0D)
          real _t0E3F#1 = Dot<tensor[2]>(r008BC,v29082A);
          real _t0E41#1 = Dot<tensor[2]>(r108EA,v29082A);
          tensor[2] _t0E43#1 = <tensor[2]>[_t0E3F,_t0E41];
          tensor[2] pos0E4F#4 = Add<tensor[2]>(_t0E43,_t08FA);
          bool _t0E52#1 = Inside<2>(pos0E4F,F0740);
          if _t0E52 then goto ASSIGN0E57 else goto ASSIGN0E59
        ASSIGN0E57:  preds = [COND0E5A]
          bool _t0E55#1 = Inside<2>(v29082A,T0738);
          goto JOIN0E54
        JOIN0E54:  preds = [ASSIGN0E57,ASSIGN0E59]
          bool _t0E56#1 = phi(_t0E55,_t0E58)
          if _t0E56 then goto ASSIGN0E5D else goto JOIN0E5B
        ASSIGN0E5D:  preds = [COND0E6D]
          real _t0E5C#1 = Probe<tensor[2],real>(F0740,pos0E4F);
          real _t0E5E#1 = Probe<tensor[2],real>(T0738,v29082A);
          real _t0E60#2 = Sub<real>(_t0E5C,_t0E5E);
          real _t0E68#1 = Mul<real>(_t0E60,_t0E60);
          real score0E6A#1 = Add<real>(score0E3C,_t0E68);
          goto JOIN0E5B
        JOIN0E5B:  preds = [ASSIGN0E6C,COND0E6D]
          real score0E6B#1 = phi(score0E6A,score0E3C)
          self.t = t0884;
          self.score = score0E6B;
          self.r0 = r008BC;
          self.r1 = r108EA;
          self.pos = pos0E4F;
          stabilize ()
        ASSIGN0E59:  preds = [COND0E5A]
          bool _t0E58#1 = false;
          goto JOIN0E54
        ASSIGN0E2A:  preds = [COND0E2B]
          bool _t0E29#1 = false;
          goto JOIN0E25
        ASSIGN0DFB:  preds = [COND0DFC]
          bool _t0DFA#1 = false;
          goto JOIN0DF6
        ASSIGN0DCC:  preds = [COND0DCD]
          bool _t0DCB#1 = false;
          goto JOIN0DC7
        ASSIGN0D9D:  preds = [COND0D9E]
          bool _t0D9C#1 = false;
          goto JOIN0D98
        ASSIGN0D6E:  preds = [COND0D6F]
          bool _t0D6D#1 = false;
          goto JOIN0D69
        ASSIGN0D3F:  preds = [COND0D40]
          bool _t0D3E#1 = false;
          goto JOIN0D3A
        ASSIGN0D10:  preds = [COND0D11]
          bool _t0D0F#1 = false;
          goto JOIN0D0B
        ASSIGN0CE1:  preds = [COND0CE2]
          bool _t0CE0#1 = false;
          goto JOIN0CDC
        ASSIGN0CB2:  preds = [COND0CB3]
          bool _t0CB1#1 = false;
          goto JOIN0CAD
        ASSIGN0C83:  preds = [COND0C84]
          bool _t0C82#1 = false;
          goto JOIN0C7E
        ASSIGN0C54:  preds = [COND0C55]
          bool _t0C53#1 = false;
          goto JOIN0C4F
        ASSIGN0C25:  preds = [COND0C26]
          bool _t0C24#1 = false;
          goto JOIN0C20
        ASSIGN0BF6:  preds = [COND0BF7]
          bool _t0BF5#1 = false;
          goto JOIN0BF1
        ASSIGN0BC7:  preds = [COND0BC8]
          bool _t0BC6#1 = false;
          goto JOIN0BC2
        ASSIGN0B98:  preds = [COND0B99]
          bool _t0B97#1 = false;
          goto JOIN0B93
        ASSIGN0B69:  preds = [COND0B6A]
          bool _t0B68#1 = false;
          goto JOIN0B64
        ASSIGN0B3A:  preds = [COND0B3B]
          bool _t0B39#1 = false;
          goto JOIN0B35
        ASSIGN0B0B:  preds = [COND0B0C]
          bool _t0B0A#1 = false;
          goto JOIN0B06
        ASSIGN0ADC:  preds = [COND0ADD]
          bool _t0ADB#1 = false;
          goto JOIN0AD7
        ASSIGN0AAD:  preds = [COND0AAE]
          bool _t0AAC#1 = false;
          goto JOIN0AA8
        ASSIGN0A7E:  preds = [COND0A7F]
          bool _t0A7D#1 = false;
          goto JOIN0A79
        ASSIGN0A4F:  preds = [COND0A50]
          bool _t0A4E#1 = false;
          goto JOIN0A4A
        ASSIGN0A20:  preds = [COND0A21]
          bool _t0A1F#1 = false;
          goto JOIN0A1B
        ASSIGN09F1:  preds = [COND09F2]
          bool _t09F0#1 = false;
          goto JOIN09EC
        ASSIGN09C2:  preds = [COND09C3]
          bool _t09C1#1 = false;
          goto JOIN09BD
        ASSIGN0993:  preds = [COND0994]
          bool _t0992#1 = false;
          goto JOIN098E
        ASSIGN0964:  preds = [COND0965]
          bool _t0963#1 = false;
          goto JOIN095F
        ASSIGN0935:  preds = [COND0936]
          bool _t0934#1 = false;
          goto JOIN0930
        ASSIGN0906:  preds = [COND0907]
          bool _t0905#1 = false;
          goto JOIN0901
    end Update
    method Stabilize
        ENTRY0E80:  preds = []
          tensor[3] t0E76#1 = self.t;
          real score0E77#1 = self.score;
          tensor[2] r00E78#1 = self.r0;
          tensor[2] r10E79#1 = self.r1;
          tensor[2] pos0E7A#1 = self.pos;
          self.t = t0E76;
          self.score = score0E77;
          self.r0 = r00E78;
          self.r1 = r10E79;
          self.pos = pos0E7A;
          return ()
    end Stabilize
  end R
#### end program ####
++ high-opt:unused
++ high-opt:unused
++ high-opt:unused
##### HighIL after normalization ####
## properties
  none
## globals
  global field T0738#90
  global field F0740#90
  global tensor[2] v00074A#5
  global tensor[2] v010754#5
  global tensor[2] v02075C#5
  global tensor[2] v030764#5
  global tensor[2] v04076C#5
  global tensor[2] v050776#5
  global tensor[2] v060780#5
  global tensor[2] v070788#5
  global tensor[2] v080790#5
  global tensor[2] v090798#5
  global tensor[2] v1007A2#5
  global tensor[2] v1107AC#5
  global tensor[2] v1207B4#5
  global tensor[2] v1307BC#5
  global tensor[2] v1407C4#5
  global tensor[2] v1507CC#5
  global tensor[2] v1607D4#5
  global tensor[2] v1707DA#5
  global tensor[2] v1807E0#5
  global tensor[2] v1907E6#5
  global tensor[2] v2007EE#5
  global tensor[2] v2107F6#5
  global tensor[2] v2207FC#5
  global tensor[2] v230802#5
  global tensor[2] v240808#5
  global tensor[2] v250810#5
  global tensor[2] v260818#5
  global tensor[2] v27081E#5
  global tensor[2] v280824#5
  global tensor[2] v29082A#5
  global string _t0734#1
  global image2D _t0736#1
  global kernel _t0732#3
  global string _t073C#1
  global image2D _t073E#1
  global real _t0770#9
  global real _t079C#9
  global real _t079A#15
  global real _t076E#15
  global real _t0744#21
  global real _t0752#11
  global real _t075A#11
  global real _t0750#18
  global real _t0742#33
## global initialization
  ENTRY082C:  preds = []
    kernel _t0732#3 = Kernel<bspln3,0>;
    string _t0734#1 = "square-template.nrrd";
    image2D _t0736#1 = LoadImage<IMAGE2D<int>>(_t0734);
    field T0738#90 = Field<2>(_t0736,_t0732);
    string _t073C#1 = "square-rotate.nrrd";
    image2D _t073E#1 = LoadImage<IMAGE2D<float>>(_t073C);
    field F0740#90 = Field<2>(_t073E,_t0732);
    real _t0742#33 = 0.5e0;
    real _t0744#21 = Neg<real>(_t0742);
    tensor[2] v00074A#5 = <tensor[2]>[_t0744,_t0744];
    real _t0750#18 = 0.25e0;
    real _t0752#11 = Neg<real>(_t0750);
    tensor[2] v010754#5 = <tensor[2]>[_t0744,_t0752];
    real _t075A#11 = 0.0;
    tensor[2] v02075C#5 = <tensor[2]>[_t0744,_t075A];
    tensor[2] v030764#5 = <tensor[2]>[_t0744,_t0750];
    tensor[2] v04076C#5 = <tensor[2]>[_t0744,_t0742];
    real _t076E#15 = 0.3e0;
    real _t0770#9 = Neg<real>(_t076E);
    tensor[2] v050776#5 = <tensor[2]>[_t0770,_t0744];
    tensor[2] v060780#5 = <tensor[2]>[_t0770,_t0752];
    tensor[2] v070788#5 = <tensor[2]>[_t0770,_t075A];
    tensor[2] v080790#5 = <tensor[2]>[_t0770,_t0750];
    tensor[2] v090798#5 = <tensor[2]>[_t0770,_t0742];
    real _t079A#15 = 0.1e0;
    real _t079C#9 = Neg<real>(_t079A);
    tensor[2] v1007A2#5 = <tensor[2]>[_t079C,_t0744];
    tensor[2] v1107AC#5 = <tensor[2]>[_t079C,_t0752];
    tensor[2] v1207B4#5 = <tensor[2]>[_t079C,_t075A];
    tensor[2] v1307BC#5 = <tensor[2]>[_t079C,_t0750];
    tensor[2] v1407C4#5 = <tensor[2]>[_t079C,_t0742];
    tensor[2] v1507CC#5 = <tensor[2]>[_t079A,_t0744];
    tensor[2] v1607D4#5 = <tensor[2]>[_t079A,_t0752];
    tensor[2] v1707DA#5 = <tensor[2]>[_t079A,_t075A];
    tensor[2] v1807E0#5 = <tensor[2]>[_t079A,_t0750];
    tensor[2] v1907E6#5 = <tensor[2]>[_t079A,_t0742];
    tensor[2] v2007EE#5 = <tensor[2]>[_t076E,_t0744];
    tensor[2] v2107F6#5 = <tensor[2]>[_t076E,_t0752];
    tensor[2] v2207FC#5 = <tensor[2]>[_t076E,_t075A];
    tensor[2] v230802#5 = <tensor[2]>[_t076E,_t0750];
    tensor[2] v240808#5 = <tensor[2]>[_t076E,_t0742];
    tensor[2] v250810#5 = <tensor[2]>[_t0742,_t0744];
    tensor[2] v260818#5 = <tensor[2]>[_t0742,_t0752];
    tensor[2] v27081E#5 = <tensor[2]>[_t0742,_t075A];
    tensor[2] v280824#5 = <tensor[2]>[_t0742,_t0750];
    tensor[2] v29082A#5 = <tensor[2]>[_t0742,_t0742];
    return (T0738,F0740,v00074A,v010754,v02075C,v030764,v04076C,v050776,v060780,v070788,v080790,v090798,v1007A2,v1107AC,v1207B4,v1307BC,v1407C4,v1507CC,v1607D4,v1707DA,v1807E0,v1907E6,v2007EE,v2107F6,v2207FC,v230802,v240808,v250810,v260818,v27081E,v280824,v29082A,_t0734,_t0736,_t0732,_t073C,_t073E,_t0770,_t079C,_t079A,_t076E,_t0744,_t0752,_t075A,_t0750,_t0742)
## initially
  ARRAY
    ENTRY083A:  preds = []
      int _t082E#4 = 0;
      int _t0830#4 = 60;
      live vars = (_t0830,_t082E)
    for int i083C#1 = _t082E .. _t0830
      for int j083D#1 = _t082E .. _t0830
        for int k083E#1 = _t082E .. _t0830
          ENTRY083F:  preds = []
            live vars = ()
          new R(i083C,j083D,k083E);
## strands
  strand R (int i0841#1, int j0842#1, int k0843#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY087D:  preds = []
        real _t0849#1 = IntToReal(i0841);
        real _t084B#3 = 0.60e2;
        real _t084D#1 = Div<real>(_t0849,_t084B);
        real _t084F#3 = 0.5e0;
        real _t0851#1 = Sub<real>(_t084D,_t084F);
        real _t0853#1 = IntToReal(j0842);
        real _t0857#1 = Div<real>(_t0853,_t084B);
        real _t085B#1 = Sub<real>(_t0857,_t084F);
        real _t085D#1 = IntToReal(k0843);
        real _t0861#1 = Div<real>(_t085D,_t084B);
        real _t0865#1 = Sub<real>(_t0861,_t084F);
        tensor[3] t0867#1 = <tensor[3]>[_t0851,_t085B,_t0865];
        real score0869#3 = 0.0;
        tensor[2] r0086F#3 = <tensor[2]>[score0869,score0869];
        self.t = t0867;
        self.score = score0869;
        self.r0 = r0086F;
        self.r1 = r0086F;
        self.pos = r0086F;
        strand_init ()
    method Update
        ENTRY0E74:  preds = []
          tensor[3] t0884#71 = self.t;
          real score0885#2 = self.score;
          real _t088E#2 = 0.1e1;
          real _t0890#3 = 0.2e1;
          int _t0892#1 = 2;
          real _t0894#6 = TensorSub<tensor[3]>(t0884,_t0892);
          real _t0896#1 = Mul<real>(_t0890,_t0894);
          real _t089C#1 = Mul<real>(_t0896,_t0894);
          real _t089E#2 = Sub<real>(_t088E,_t089C);
          real _t08A2#1 = Neg<real>(_t0890);
          real _t08AE#1 = Mul<real>(_t0894,_t0894);
          real _t08B0#1 = Sub<real>(_t088E,_t08AE);
          real _t08B2#2 = sqrt(_t08B0);
          real _t08B4#1 = Mul<real>(_t08A2,_t08B2);
          real _t08BA#1 = Mul<real>(_t08B4,_t0894);
          tensor[2] r008BC#31 = <tensor[2]>[_t089E,_t08BA];
          real _t08D0#1 = Mul<real>(_t0890,_t08B2);
          real _t08D6#1 = Mul<real>(_t08D0,_t0894);
          tensor[2] r108EA#31 = <tensor[2]>[_t08D6,_t089E];
          real _t08EC#1 = Dot<tensor[2]>(r008BC,v00074A);
          real _t08EE#1 = Dot<tensor[2]>(r108EA,v00074A);
          tensor[2] _t08F0#1 = <tensor[2]>[_t08EC,_t08EE];
          int _t08F2#1 = 0;
          real _t08F4#1 = TensorSub<tensor[3]>(t0884,_t08F2);
          int _t08F6#1 = 1;
          real _t08F8#1 = TensorSub<tensor[3]>(t0884,_t08F6);
          tensor[2] _t08FA#30 = <tensor[2]>[_t08F4,_t08F8];
          tensor[2] pos08FC#3 = Add<tensor[2]>(_t08F0,_t08FA);
          bool _t08FF#1 = Inside<2>(pos08FC,F0740);
          if _t08FF then goto ASSIGN0904 else goto ASSIGN0906
        ASSIGN0904:  preds = [COND0907]
          bool _t0902#1 = Inside<2>(v00074A,T0738);
          goto JOIN0901
        JOIN0901:  preds = [ASSIGN0904,ASSIGN0906]
          bool _t0903#1 = phi(_t0902,_t0905)
          if _t0903 then goto ASSIGN090A else goto JOIN0908
        ASSIGN090A:  preds = [COND091A]
          real _t0909#1 = Probe<tensor[2],real>(F0740,pos08FC);
          real _t090B#1 = Probe<tensor[2],real>(T0738,v00074A);
          real _t090D#2 = Sub<real>(_t0909,_t090B);
          real _t0915#1 = Mul<real>(_t090D,_t090D);
          real score0917#1 = Add<real>(score0885,_t0915);
          goto JOIN0908
        JOIN0908:  preds = [ASSIGN0919,COND091A]
          real score0918#2 = phi(score0917,score0885)
          real _t091B#1 = Dot<tensor[2]>(r008BC,v010754);
          real _t091D#1 = Dot<tensor[2]>(r108EA,v010754);
          tensor[2] _t091F#1 = <tensor[2]>[_t091B,_t091D];
          tensor[2] pos092B#3 = Add<tensor[2]>(_t091F,_t08FA);
          bool _t092E#1 = Inside<2>(pos092B,F0740);
          if _t092E then goto ASSIGN0933 else goto ASSIGN0935
        ASSIGN0933:  preds = [COND0936]
          bool _t0931#1 = Inside<2>(v010754,T0738);
          goto JOIN0930
        JOIN0930:  preds = [ASSIGN0933,ASSIGN0935]
          bool _t0932#1 = phi(_t0931,_t0934)
          if _t0932 then goto ASSIGN0939 else goto JOIN0937
        ASSIGN0939:  preds = [COND0949]
          real _t0938#1 = Probe<tensor[2],real>(F0740,pos092B);
          real _t093A#1 = Probe<tensor[2],real>(T0738,v010754);
          real _t093C#2 = Sub<real>(_t0938,_t093A);
          real _t0944#1 = Mul<real>(_t093C,_t093C);
          real score0946#1 = Add<real>(score0918,_t0944);
          goto JOIN0937
        JOIN0937:  preds = [ASSIGN0948,COND0949]
          real score0947#2 = phi(score0946,score0918)
          real _t094A#1 = Dot<tensor[2]>(r008BC,v02075C);
          real _t094C#1 = Dot<tensor[2]>(r108EA,v02075C);
          tensor[2] _t094E#1 = <tensor[2]>[_t094A,_t094C];
          tensor[2] pos095A#3 = Add<tensor[2]>(_t094E,_t08FA);
          bool _t095D#1 = Inside<2>(pos095A,F0740);
          if _t095D then goto ASSIGN0962 else goto ASSIGN0964
        ASSIGN0962:  preds = [COND0965]
          bool _t0960#1 = Inside<2>(v02075C,T0738);
          goto JOIN095F
        JOIN095F:  preds = [ASSIGN0962,ASSIGN0964]
          bool _t0961#1 = phi(_t0960,_t0963)
          if _t0961 then goto ASSIGN0968 else goto JOIN0966
        ASSIGN0968:  preds = [COND0978]
          real _t0967#1 = Probe<tensor[2],real>(F0740,pos095A);
          real _t0969#1 = Probe<tensor[2],real>(T0738,v02075C);
          real _t096B#2 = Sub<real>(_t0967,_t0969);
          real _t0973#1 = Mul<real>(_t096B,_t096B);
          real score0975#1 = Add<real>(score0947,_t0973);
          goto JOIN0966
        JOIN0966:  preds = [ASSIGN0977,COND0978]
          real score0976#2 = phi(score0975,score0947)
          real _t0979#1 = Dot<tensor[2]>(r008BC,v030764);
          real _t097B#1 = Dot<tensor[2]>(r108EA,v030764);
          tensor[2] _t097D#1 = <tensor[2]>[_t0979,_t097B];
          tensor[2] pos0989#3 = Add<tensor[2]>(_t097D,_t08FA);
          bool _t098C#1 = Inside<2>(pos0989,F0740);
          if _t098C then goto ASSIGN0991 else goto ASSIGN0993
        ASSIGN0991:  preds = [COND0994]
          bool _t098F#1 = Inside<2>(v030764,T0738);
          goto JOIN098E
        JOIN098E:  preds = [ASSIGN0991,ASSIGN0993]
          bool _t0990#1 = phi(_t098F,_t0992)
          if _t0990 then goto ASSIGN0997 else goto JOIN0995
        ASSIGN0997:  preds = [COND09A7]
          real _t0996#1 = Probe<tensor[2],real>(F0740,pos0989);
          real _t0998#1 = Probe<tensor[2],real>(T0738,v030764);
          real _t099A#2 = Sub<real>(_t0996,_t0998);
          real _t09A2#1 = Mul<real>(_t099A,_t099A);
          real score09A4#1 = Add<real>(score0976,_t09A2);
          goto JOIN0995
        JOIN0995:  preds = [ASSIGN09A6,COND09A7]
          real score09A5#2 = phi(score09A4,score0976)
          real _t09A8#1 = Dot<tensor[2]>(r008BC,v04076C);
          real _t09AA#1 = Dot<tensor[2]>(r108EA,v04076C);
          tensor[2] _t09AC#1 = <tensor[2]>[_t09A8,_t09AA];
          tensor[2] pos09B8#3 = Add<tensor[2]>(_t09AC,_t08FA);
          bool _t09BB#1 = Inside<2>(pos09B8,F0740);
          if _t09BB then goto ASSIGN09C0 else goto ASSIGN09C2
        ASSIGN09C0:  preds = [COND09C3]
          bool _t09BE#1 = Inside<2>(v04076C,T0738);
          goto JOIN09BD
        JOIN09BD:  preds = [ASSIGN09C0,ASSIGN09C2]
          bool _t09BF#1 = phi(_t09BE,_t09C1)
          if _t09BF then goto ASSIGN09C6 else goto JOIN09C4
        ASSIGN09C6:  preds = [COND09D6]
          real _t09C5#1 = Probe<tensor[2],real>(F0740,pos09B8);
          real _t09C7#1 = Probe<tensor[2],real>(T0738,v04076C);
          real _t09C9#2 = Sub<real>(_t09C5,_t09C7);
          real _t09D1#1 = Mul<real>(_t09C9,_t09C9);
          real score09D3#1 = Add<real>(score09A5,_t09D1);
          goto JOIN09C4
        JOIN09C4:  preds = [ASSIGN09D5,COND09D6]
          real score09D4#2 = phi(score09D3,score09A5)
          real _t09D7#1 = Dot<tensor[2]>(r008BC,v050776);
          real _t09D9#1 = Dot<tensor[2]>(r108EA,v050776);
          tensor[2] _t09DB#1 = <tensor[2]>[_t09D7,_t09D9];
          tensor[2] pos09E7#3 = Add<tensor[2]>(_t09DB,_t08FA);
          bool _t09EA#1 = Inside<2>(pos09E7,F0740);
          if _t09EA then goto ASSIGN09EF else goto ASSIGN09F1
        ASSIGN09EF:  preds = [COND09F2]
          bool _t09ED#1 = Inside<2>(v050776,T0738);
          goto JOIN09EC
        JOIN09EC:  preds = [ASSIGN09EF,ASSIGN09F1]
          bool _t09EE#1 = phi(_t09ED,_t09F0)
          if _t09EE then goto ASSIGN09F5 else goto JOIN09F3
        ASSIGN09F5:  preds = [COND0A05]
          real _t09F4#1 = Probe<tensor[2],real>(F0740,pos09E7);
          real _t09F6#1 = Probe<tensor[2],real>(T0738,v050776);
          real _t09F8#2 = Sub<real>(_t09F4,_t09F6);
          real _t0A00#1 = Mul<real>(_t09F8,_t09F8);
          real score0A02#1 = Add<real>(score09D4,_t0A00);
          goto JOIN09F3
        JOIN09F3:  preds = [ASSIGN0A04,COND0A05]
          real score0A03#2 = phi(score0A02,score09D4)
          real _t0A06#1 = Dot<tensor[2]>(r008BC,v060780);
          real _t0A08#1 = Dot<tensor[2]>(r108EA,v060780);
          tensor[2] _t0A0A#1 = <tensor[2]>[_t0A06,_t0A08];
          tensor[2] pos0A16#3 = Add<tensor[2]>(_t0A0A,_t08FA);
          bool _t0A19#1 = Inside<2>(pos0A16,F0740);
          if _t0A19 then goto ASSIGN0A1E else goto ASSIGN0A20
        ASSIGN0A1E:  preds = [COND0A21]
          bool _t0A1C#1 = Inside<2>(v060780,T0738);
          goto JOIN0A1B
        JOIN0A1B:  preds = [ASSIGN0A1E,ASSIGN0A20]
          bool _t0A1D#1 = phi(_t0A1C,_t0A1F)
          if _t0A1D then goto ASSIGN0A24 else goto JOIN0A22
        ASSIGN0A24:  preds = [COND0A34]
          real _t0A23#1 = Probe<tensor[2],real>(F0740,pos0A16);
          real _t0A25#1 = Probe<tensor[2],real>(T0738,v060780);
          real _t0A27#2 = Sub<real>(_t0A23,_t0A25);
          real _t0A2F#1 = Mul<real>(_t0A27,_t0A27);
          real score0A31#1 = Add<real>(score0A03,_t0A2F);
          goto JOIN0A22
        JOIN0A22:  preds = [ASSIGN0A33,COND0A34]
          real score0A32#2 = phi(score0A31,score0A03)
          real _t0A35#1 = Dot<tensor[2]>(r008BC,v070788);
          real _t0A37#1 = Dot<tensor[2]>(r108EA,v070788);
          tensor[2] _t0A39#1 = <tensor[2]>[_t0A35,_t0A37];
          tensor[2] pos0A45#3 = Add<tensor[2]>(_t0A39,_t08FA);
          bool _t0A48#1 = Inside<2>(pos0A45,F0740);
          if _t0A48 then goto ASSIGN0A4D else goto ASSIGN0A4F
        ASSIGN0A4D:  preds = [COND0A50]
          bool _t0A4B#1 = Inside<2>(v070788,T0738);
          goto JOIN0A4A
        JOIN0A4A:  preds = [ASSIGN0A4D,ASSIGN0A4F]
          bool _t0A4C#1 = phi(_t0A4B,_t0A4E)
          if _t0A4C then goto ASSIGN0A53 else goto JOIN0A51
        ASSIGN0A53:  preds = [COND0A63]
          real _t0A52#1 = Probe<tensor[2],real>(F0740,pos0A45);
          real _t0A54#1 = Probe<tensor[2],real>(T0738,v070788);
          real _t0A56#2 = Sub<real>(_t0A52,_t0A54);
          real _t0A5E#1 = Mul<real>(_t0A56,_t0A56);
          real score0A60#1 = Add<real>(score0A32,_t0A5E);
          goto JOIN0A51
        JOIN0A51:  preds = [ASSIGN0A62,COND0A63]
          real score0A61#2 = phi(score0A60,score0A32)
          real _t0A64#1 = Dot<tensor[2]>(r008BC,v080790);
          real _t0A66#1 = Dot<tensor[2]>(r108EA,v080790);
          tensor[2] _t0A68#1 = <tensor[2]>[_t0A64,_t0A66];
          tensor[2] pos0A74#3 = Add<tensor[2]>(_t0A68,_t08FA);
          bool _t0A77#1 = Inside<2>(pos0A74,F0740);
          if _t0A77 then goto ASSIGN0A7C else goto ASSIGN0A7E
        ASSIGN0A7C:  preds = [COND0A7F]
          bool _t0A7A#1 = Inside<2>(v080790,T0738);
          goto JOIN0A79
        JOIN0A79:  preds = [ASSIGN0A7C,ASSIGN0A7E]
          bool _t0A7B#1 = phi(_t0A7A,_t0A7D)
          if _t0A7B then goto ASSIGN0A82 else goto JOIN0A80
        ASSIGN0A82:  preds = [COND0A92]
          real _t0A81#1 = Probe<tensor[2],real>(F0740,pos0A74);
          real _t0A83#1 = Probe<tensor[2],real>(T0738,v080790);
          real _t0A85#2 = Sub<real>(_t0A81,_t0A83);
          real _t0A8D#1 = Mul<real>(_t0A85,_t0A85);
          real score0A8F#1 = Add<real>(score0A61,_t0A8D);
          goto JOIN0A80
        JOIN0A80:  preds = [ASSIGN0A91,COND0A92]
          real score0A90#2 = phi(score0A8F,score0A61)
          real _t0A93#1 = Dot<tensor[2]>(r008BC,v090798);
          real _t0A95#1 = Dot<tensor[2]>(r108EA,v090798);
          tensor[2] _t0A97#1 = <tensor[2]>[_t0A93,_t0A95];
          tensor[2] pos0AA3#3 = Add<tensor[2]>(_t0A97,_t08FA);
          bool _t0AA6#1 = Inside<2>(pos0AA3,F0740);
          if _t0AA6 then goto ASSIGN0AAB else goto ASSIGN0AAD
        ASSIGN0AAB:  preds = [COND0AAE]
          bool _t0AA9#1 = Inside<2>(v090798,T0738);
          goto JOIN0AA8
        JOIN0AA8:  preds = [ASSIGN0AAB,ASSIGN0AAD]
          bool _t0AAA#1 = phi(_t0AA9,_t0AAC)
          if _t0AAA then goto ASSIGN0AB1 else goto JOIN0AAF
        ASSIGN0AB1:  preds = [COND0AC1]
          real _t0AB0#1 = Probe<tensor[2],real>(F0740,pos0AA3);
          real _t0AB2#1 = Probe<tensor[2],real>(T0738,v090798);
          real _t0AB4#2 = Sub<real>(_t0AB0,_t0AB2);
          real _t0ABC#1 = Mul<real>(_t0AB4,_t0AB4);
          real score0ABE#1 = Add<real>(score0A90,_t0ABC);
          goto JOIN0AAF
        JOIN0AAF:  preds = [ASSIGN0AC0,COND0AC1]
          real score0ABF#2 = phi(score0ABE,score0A90)
          real _t0AC2#1 = Dot<tensor[2]>(r008BC,v1007A2);
          real _t0AC4#1 = Dot<tensor[2]>(r108EA,v1007A2);
          tensor[2] _t0AC6#1 = <tensor[2]>[_t0AC2,_t0AC4];
          tensor[2] pos0AD2#3 = Add<tensor[2]>(_t0AC6,_t08FA);
          bool _t0AD5#1 = Inside<2>(pos0AD2,F0740);
          if _t0AD5 then goto ASSIGN0ADA else goto ASSIGN0ADC
        ASSIGN0ADA:  preds = [COND0ADD]
          bool _t0AD8#1 = Inside<2>(v1007A2,T0738);
          goto JOIN0AD7
        JOIN0AD7:  preds = [ASSIGN0ADA,ASSIGN0ADC]
          bool _t0AD9#1 = phi(_t0AD8,_t0ADB)
          if _t0AD9 then goto ASSIGN0AE0 else goto JOIN0ADE
        ASSIGN0AE0:  preds = [COND0AF0]
          real _t0ADF#1 = Probe<tensor[2],real>(F0740,pos0AD2);
          real _t0AE1#1 = Probe<tensor[2],real>(T0738,v1007A2);
          real _t0AE3#2 = Sub<real>(_t0ADF,_t0AE1);
          real _t0AEB#1 = Mul<real>(_t0AE3,_t0AE3);
          real score0AED#1 = Add<real>(score0ABF,_t0AEB);
          goto JOIN0ADE
        JOIN0ADE:  preds = [ASSIGN0AEF,COND0AF0]
          real score0AEE#2 = phi(score0AED,score0ABF)
          real _t0AF1#1 = Dot<tensor[2]>(r008BC,v1107AC);
          real _t0AF3#1 = Dot<tensor[2]>(r108EA,v1107AC);
          tensor[2] _t0AF5#1 = <tensor[2]>[_t0AF1,_t0AF3];
          tensor[2] pos0B01#3 = Add<tensor[2]>(_t0AF5,_t08FA);
          bool _t0B04#1 = Inside<2>(pos0B01,F0740);
          if _t0B04 then goto ASSIGN0B09 else goto ASSIGN0B0B
        ASSIGN0B09:  preds = [COND0B0C]
          bool _t0B07#1 = Inside<2>(v1107AC,T0738);
          goto JOIN0B06
        JOIN0B06:  preds = [ASSIGN0B09,ASSIGN0B0B]
          bool _t0B08#1 = phi(_t0B07,_t0B0A)
          if _t0B08 then goto ASSIGN0B0F else goto JOIN0B0D
        ASSIGN0B0F:  preds = [COND0B1F]
          real _t0B0E#1 = Probe<tensor[2],real>(F0740,pos0B01);
          real _t0B10#1 = Probe<tensor[2],real>(T0738,v1107AC);
          real _t0B12#2 = Sub<real>(_t0B0E,_t0B10);
          real _t0B1A#1 = Mul<real>(_t0B12,_t0B12);
          real score0B1C#1 = Add<real>(score0AEE,_t0B1A);
          goto JOIN0B0D
        JOIN0B0D:  preds = [ASSIGN0B1E,COND0B1F]
          real score0B1D#2 = phi(score0B1C,score0AEE)
          real _t0B20#1 = Dot<tensor[2]>(r008BC,v1207B4);
          real _t0B22#1 = Dot<tensor[2]>(r108EA,v1207B4);
          tensor[2] _t0B24#1 = <tensor[2]>[_t0B20,_t0B22];
          tensor[2] pos0B30#3 = Add<tensor[2]>(_t0B24,_t08FA);
          bool _t0B33#1 = Inside<2>(pos0B30,F0740);
          if _t0B33 then goto ASSIGN0B38 else goto ASSIGN0B3A
        ASSIGN0B38:  preds = [COND0B3B]
          bool _t0B36#1 = Inside<2>(v1207B4,T0738);
          goto JOIN0B35
        JOIN0B35:  preds = [ASSIGN0B38,ASSIGN0B3A]
          bool _t0B37#1 = phi(_t0B36,_t0B39)
          if _t0B37 then goto ASSIGN0B3E else goto JOIN0B3C
        ASSIGN0B3E:  preds = [COND0B4E]
          real _t0B3D#1 = Probe<tensor[2],real>(F0740,pos0B30);
          real _t0B3F#1 = Probe<tensor[2],real>(T0738,v1207B4);
          real _t0B41#2 = Sub<real>(_t0B3D,_t0B3F);
          real _t0B49#1 = Mul<real>(_t0B41,_t0B41);
          real score0B4B#1 = Add<real>(score0B1D,_t0B49);
          goto JOIN0B3C
        JOIN0B3C:  preds = [ASSIGN0B4D,COND0B4E]
          real score0B4C#2 = phi(score0B4B,score0B1D)
          real _t0B4F#1 = Dot<tensor[2]>(r008BC,v1307BC);
          real _t0B51#1 = Dot<tensor[2]>(r108EA,v1307BC);
          tensor[2] _t0B53#1 = <tensor[2]>[_t0B4F,_t0B51];
          tensor[2] pos0B5F#3 = Add<tensor[2]>(_t0B53,_t08FA);
          bool _t0B62#1 = Inside<2>(pos0B5F,F0740);
          if _t0B62 then goto ASSIGN0B67 else goto ASSIGN0B69
        ASSIGN0B67:  preds = [COND0B6A]
          bool _t0B65#1 = Inside<2>(v1307BC,T0738);
          goto JOIN0B64
        JOIN0B64:  preds = [ASSIGN0B67,ASSIGN0B69]
          bool _t0B66#1 = phi(_t0B65,_t0B68)
          if _t0B66 then goto ASSIGN0B6D else goto JOIN0B6B
        ASSIGN0B6D:  preds = [COND0B7D]
          real _t0B6C#1 = Probe<tensor[2],real>(F0740,pos0B5F);
          real _t0B6E#1 = Probe<tensor[2],real>(T0738,v1307BC);
          real _t0B70#2 = Sub<real>(_t0B6C,_t0B6E);
          real _t0B78#1 = Mul<real>(_t0B70,_t0B70);
          real score0B7A#1 = Add<real>(score0B4C,_t0B78);
          goto JOIN0B6B
        JOIN0B6B:  preds = [ASSIGN0B7C,COND0B7D]
          real score0B7B#2 = phi(score0B7A,score0B4C)
          real _t0B7E#1 = Dot<tensor[2]>(r008BC,v1407C4);
          real _t0B80#1 = Dot<tensor[2]>(r108EA,v1407C4);
          tensor[2] _t0B82#1 = <tensor[2]>[_t0B7E,_t0B80];
          tensor[2] pos0B8E#3 = Add<tensor[2]>(_t0B82,_t08FA);
          bool _t0B91#1 = Inside<2>(pos0B8E,F0740);
          if _t0B91 then goto ASSIGN0B96 else goto ASSIGN0B98
        ASSIGN0B96:  preds = [COND0B99]
          bool _t0B94#1 = Inside<2>(v1407C4,T0738);
          goto JOIN0B93
        JOIN0B93:  preds = [ASSIGN0B96,ASSIGN0B98]
          bool _t0B95#1 = phi(_t0B94,_t0B97)
          if _t0B95 then goto ASSIGN0B9C else goto JOIN0B9A
        ASSIGN0B9C:  preds = [COND0BAC]
          real _t0B9B#1 = Probe<tensor[2],real>(F0740,pos0B8E);
          real _t0B9D#1 = Probe<tensor[2],real>(T0738,v1407C4);
          real _t0B9F#2 = Sub<real>(_t0B9B,_t0B9D);
          real _t0BA7#1 = Mul<real>(_t0B9F,_t0B9F);
          real score0BA9#1 = Add<real>(score0B7B,_t0BA7);
          goto JOIN0B9A
        JOIN0B9A:  preds = [ASSIGN0BAB,COND0BAC]
          real score0BAA#2 = phi(score0BA9,score0B7B)
          real _t0BAD#1 = Dot<tensor[2]>(r008BC,v1507CC);
          real _t0BAF#1 = Dot<tensor[2]>(r108EA,v1507CC);
          tensor[2] _t0BB1#1 = <tensor[2]>[_t0BAD,_t0BAF];
          tensor[2] pos0BBD#3 = Add<tensor[2]>(_t0BB1,_t08FA);
          bool _t0BC0#1 = Inside<2>(pos0BBD,F0740);
          if _t0BC0 then goto ASSIGN0BC5 else goto ASSIGN0BC7
        ASSIGN0BC5:  preds = [COND0BC8]
          bool _t0BC3#1 = Inside<2>(v1507CC,T0738);
          goto JOIN0BC2
        JOIN0BC2:  preds = [ASSIGN0BC5,ASSIGN0BC7]
          bool _t0BC4#1 = phi(_t0BC3,_t0BC6)
          if _t0BC4 then goto ASSIGN0BCB else goto JOIN0BC9
        ASSIGN0BCB:  preds = [COND0BDB]
          real _t0BCA#1 = Probe<tensor[2],real>(F0740,pos0BBD);
          real _t0BCC#1 = Probe<tensor[2],real>(T0738,v1507CC);
          real _t0BCE#2 = Sub<real>(_t0BCA,_t0BCC);
          real _t0BD6#1 = Mul<real>(_t0BCE,_t0BCE);
          real score0BD8#1 = Add<real>(score0BAA,_t0BD6);
          goto JOIN0BC9
        JOIN0BC9:  preds = [ASSIGN0BDA,COND0BDB]
          real score0BD9#2 = phi(score0BD8,score0BAA)
          real _t0BDC#1 = Dot<tensor[2]>(r008BC,v1607D4);
          real _t0BDE#1 = Dot<tensor[2]>(r108EA,v1607D4);
          tensor[2] _t0BE0#1 = <tensor[2]>[_t0BDC,_t0BDE];
          tensor[2] pos0BEC#3 = Add<tensor[2]>(_t0BE0,_t08FA);
          bool _t0BEF#1 = Inside<2>(pos0BEC,F0740);
          if _t0BEF then goto ASSIGN0BF4 else goto ASSIGN0BF6
        ASSIGN0BF4:  preds = [COND0BF7]
          bool _t0BF2#1 = Inside<2>(v1607D4,T0738);
          goto JOIN0BF1
        JOIN0BF1:  preds = [ASSIGN0BF4,ASSIGN0BF6]
          bool _t0BF3#1 = phi(_t0BF2,_t0BF5)
          if _t0BF3 then goto ASSIGN0BFA else goto JOIN0BF8
        ASSIGN0BFA:  preds = [COND0C0A]
          real _t0BF9#1 = Probe<tensor[2],real>(F0740,pos0BEC);
          real _t0BFB#1 = Probe<tensor[2],real>(T0738,v1607D4);
          real _t0BFD#2 = Sub<real>(_t0BF9,_t0BFB);
          real _t0C05#1 = Mul<real>(_t0BFD,_t0BFD);
          real score0C07#1 = Add<real>(score0BD9,_t0C05);
          goto JOIN0BF8
        JOIN0BF8:  preds = [ASSIGN0C09,COND0C0A]
          real score0C08#2 = phi(score0C07,score0BD9)
          real _t0C0B#1 = Dot<tensor[2]>(r008BC,v1707DA);
          real _t0C0D#1 = Dot<tensor[2]>(r108EA,v1707DA);
          tensor[2] _t0C0F#1 = <tensor[2]>[_t0C0B,_t0C0D];
          tensor[2] pos0C1B#3 = Add<tensor[2]>(_t0C0F,_t08FA);
          bool _t0C1E#1 = Inside<2>(pos0C1B,F0740);
          if _t0C1E then goto ASSIGN0C23 else goto ASSIGN0C25
        ASSIGN0C23:  preds = [COND0C26]
          bool _t0C21#1 = Inside<2>(v1707DA,T0738);
          goto JOIN0C20
        JOIN0C20:  preds = [ASSIGN0C23,ASSIGN0C25]
          bool _t0C22#1 = phi(_t0C21,_t0C24)
          if _t0C22 then goto ASSIGN0C29 else goto JOIN0C27
        ASSIGN0C29:  preds = [COND0C39]
          real _t0C28#1 = Probe<tensor[2],real>(F0740,pos0C1B);
          real _t0C2A#1 = Probe<tensor[2],real>(T0738,v1707DA);
          real _t0C2C#2 = Sub<real>(_t0C28,_t0C2A);
          real _t0C34#1 = Mul<real>(_t0C2C,_t0C2C);
          real score0C36#1 = Add<real>(score0C08,_t0C34);
          goto JOIN0C27
        JOIN0C27:  preds = [ASSIGN0C38,COND0C39]
          real score0C37#2 = phi(score0C36,score0C08)
          real _t0C3A#1 = Dot<tensor[2]>(r008BC,v1807E0);
          real _t0C3C#1 = Dot<tensor[2]>(r108EA,v1807E0);
          tensor[2] _t0C3E#1 = <tensor[2]>[_t0C3A,_t0C3C];
          tensor[2] pos0C4A#3 = Add<tensor[2]>(_t0C3E,_t08FA);
          bool _t0C4D#1 = Inside<2>(pos0C4A,F0740);
          if _t0C4D then goto ASSIGN0C52 else goto ASSIGN0C54
        ASSIGN0C52:  preds = [COND0C55]
          bool _t0C50#1 = Inside<2>(v1807E0,T0738);
          goto JOIN0C4F
        JOIN0C4F:  preds = [ASSIGN0C52,ASSIGN0C54]
          bool _t0C51#1 = phi(_t0C50,_t0C53)
          if _t0C51 then goto ASSIGN0C58 else goto JOIN0C56
        ASSIGN0C58:  preds = [COND0C68]
          real _t0C57#1 = Probe<tensor[2],real>(F0740,pos0C4A);
          real _t0C59#1 = Probe<tensor[2],real>(T0738,v1807E0);
          real _t0C5B#2 = Sub<real>(_t0C57,_t0C59);
          real _t0C63#1 = Mul<real>(_t0C5B,_t0C5B);
          real score0C65#1 = Add<real>(score0C37,_t0C63);
          goto JOIN0C56
        JOIN0C56:  preds = [ASSIGN0C67,COND0C68]
          real score0C66#2 = phi(score0C65,score0C37)
          real _t0C69#1 = Dot<tensor[2]>(r008BC,v1907E6);
          real _t0C6B#1 = Dot<tensor[2]>(r108EA,v1907E6);
          tensor[2] _t0C6D#1 = <tensor[2]>[_t0C69,_t0C6B];
          tensor[2] pos0C79#3 = Add<tensor[2]>(_t0C6D,_t08FA);
          bool _t0C7C#1 = Inside<2>(pos0C79,F0740);
          if _t0C7C then goto ASSIGN0C81 else goto ASSIGN0C83
        ASSIGN0C81:  preds = [COND0C84]
          bool _t0C7F#1 = Inside<2>(v1907E6,T0738);
          goto JOIN0C7E
        JOIN0C7E:  preds = [ASSIGN0C81,ASSIGN0C83]
          bool _t0C80#1 = phi(_t0C7F,_t0C82)
          if _t0C80 then goto ASSIGN0C87 else goto JOIN0C85
        ASSIGN0C87:  preds = [COND0C97]
          real _t0C86#1 = Probe<tensor[2],real>(F0740,pos0C79);
          real _t0C88#1 = Probe<tensor[2],real>(T0738,v1907E6);
          real _t0C8A#2 = Sub<real>(_t0C86,_t0C88);
          real _t0C92#1 = Mul<real>(_t0C8A,_t0C8A);
          real score0C94#1 = Add<real>(score0C66,_t0C92);
          goto JOIN0C85
        JOIN0C85:  preds = [ASSIGN0C96,COND0C97]
          real score0C95#2 = phi(score0C94,score0C66)
          real _t0C98#1 = Dot<tensor[2]>(r008BC,v2007EE);
          real _t0C9A#1 = Dot<tensor[2]>(r108EA,v2007EE);
          tensor[2] _t0C9C#1 = <tensor[2]>[_t0C98,_t0C9A];
          tensor[2] pos0CA8#3 = Add<tensor[2]>(_t0C9C,_t08FA);
          bool _t0CAB#1 = Inside<2>(pos0CA8,F0740);
          if _t0CAB then goto ASSIGN0CB0 else goto ASSIGN0CB2
        ASSIGN0CB0:  preds = [COND0CB3]
          bool _t0CAE#1 = Inside<2>(v2007EE,T0738);
          goto JOIN0CAD
        JOIN0CAD:  preds = [ASSIGN0CB0,ASSIGN0CB2]
          bool _t0CAF#1 = phi(_t0CAE,_t0CB1)
          if _t0CAF then goto ASSIGN0CB6 else goto JOIN0CB4
        ASSIGN0CB6:  preds = [COND0CC6]
          real _t0CB5#1 = Probe<tensor[2],real>(F0740,pos0CA8);
          real _t0CB7#1 = Probe<tensor[2],real>(T0738,v2007EE);
          real _t0CB9#2 = Sub<real>(_t0CB5,_t0CB7);
          real _t0CC1#1 = Mul<real>(_t0CB9,_t0CB9);
          real score0CC3#1 = Add<real>(score0C95,_t0CC1);
          goto JOIN0CB4
        JOIN0CB4:  preds = [ASSIGN0CC5,COND0CC6]
          real score0CC4#2 = phi(score0CC3,score0C95)
          real _t0CC7#1 = Dot<tensor[2]>(r008BC,v2107F6);
          real _t0CC9#1 = Dot<tensor[2]>(r108EA,v2107F6);
          tensor[2] _t0CCB#1 = <tensor[2]>[_t0CC7,_t0CC9];
          tensor[2] pos0CD7#3 = Add<tensor[2]>(_t0CCB,_t08FA);
          bool _t0CDA#1 = Inside<2>(pos0CD7,F0740);
          if _t0CDA then goto ASSIGN0CDF else goto ASSIGN0CE1
        ASSIGN0CDF:  preds = [COND0CE2]
          bool _t0CDD#1 = Inside<2>(v2107F6,T0738);
          goto JOIN0CDC
        JOIN0CDC:  preds = [ASSIGN0CDF,ASSIGN0CE1]
          bool _t0CDE#1 = phi(_t0CDD,_t0CE0)
          if _t0CDE then goto ASSIGN0CE5 else goto JOIN0CE3
        ASSIGN0CE5:  preds = [COND0CF5]
          real _t0CE4#1 = Probe<tensor[2],real>(F0740,pos0CD7);
          real _t0CE6#1 = Probe<tensor[2],real>(T0738,v2107F6);
          real _t0CE8#2 = Sub<real>(_t0CE4,_t0CE6);
          real _t0CF0#1 = Mul<real>(_t0CE8,_t0CE8);
          real score0CF2#1 = Add<real>(score0CC4,_t0CF0);
          goto JOIN0CE3
        JOIN0CE3:  preds = [ASSIGN0CF4,COND0CF5]
          real score0CF3#2 = phi(score0CF2,score0CC4)
          real _t0CF6#1 = Dot<tensor[2]>(r008BC,v2207FC);
          real _t0CF8#1 = Dot<tensor[2]>(r108EA,v2207FC);
          tensor[2] _t0CFA#1 = <tensor[2]>[_t0CF6,_t0CF8];
          tensor[2] pos0D06#3 = Add<tensor[2]>(_t0CFA,_t08FA);
          bool _t0D09#1 = Inside<2>(pos0D06,F0740);
          if _t0D09 then goto ASSIGN0D0E else goto ASSIGN0D10
        ASSIGN0D0E:  preds = [COND0D11]
          bool _t0D0C#1 = Inside<2>(v2207FC,T0738);
          goto JOIN0D0B
        JOIN0D0B:  preds = [ASSIGN0D0E,ASSIGN0D10]
          bool _t0D0D#1 = phi(_t0D0C,_t0D0F)
          if _t0D0D then goto ASSIGN0D14 else goto JOIN0D12
        ASSIGN0D14:  preds = [COND0D24]
          real _t0D13#1 = Probe<tensor[2],real>(F0740,pos0D06);
          real _t0D15#1 = Probe<tensor[2],real>(T0738,v2207FC);
          real _t0D17#2 = Sub<real>(_t0D13,_t0D15);
          real _t0D1F#1 = Mul<real>(_t0D17,_t0D17);
          real score0D21#1 = Add<real>(score0CF3,_t0D1F);
          goto JOIN0D12
        JOIN0D12:  preds = [ASSIGN0D23,COND0D24]
          real score0D22#2 = phi(score0D21,score0CF3)
          real _t0D25#1 = Dot<tensor[2]>(r008BC,v230802);
          real _t0D27#1 = Dot<tensor[2]>(r108EA,v230802);
          tensor[2] _t0D29#1 = <tensor[2]>[_t0D25,_t0D27];
          tensor[2] pos0D35#3 = Add<tensor[2]>(_t0D29,_t08FA);
          bool _t0D38#1 = Inside<2>(pos0D35,F0740);
          if _t0D38 then goto ASSIGN0D3D else goto ASSIGN0D3F
        ASSIGN0D3D:  preds = [COND0D40]
          bool _t0D3B#1 = Inside<2>(v230802,T0738);
          goto JOIN0D3A
        JOIN0D3A:  preds = [ASSIGN0D3D,ASSIGN0D3F]
          bool _t0D3C#1 = phi(_t0D3B,_t0D3E)
          if _t0D3C then goto ASSIGN0D43 else goto JOIN0D41
        ASSIGN0D43:  preds = [COND0D53]
          real _t0D42#1 = Probe<tensor[2],real>(F0740,pos0D35);
          real _t0D44#1 = Probe<tensor[2],real>(T0738,v230802);
          real _t0D46#2 = Sub<real>(_t0D42,_t0D44);
          real _t0D4E#1 = Mul<real>(_t0D46,_t0D46);
          real score0D50#1 = Add<real>(score0D22,_t0D4E);
          goto JOIN0D41
        JOIN0D41:  preds = [ASSIGN0D52,COND0D53]
          real score0D51#2 = phi(score0D50,score0D22)
          real _t0D54#1 = Dot<tensor[2]>(r008BC,v240808);
          real _t0D56#1 = Dot<tensor[2]>(r108EA,v240808);
          tensor[2] _t0D58#1 = <tensor[2]>[_t0D54,_t0D56];
          tensor[2] pos0D64#3 = Add<tensor[2]>(_t0D58,_t08FA);
          bool _t0D67#1 = Inside<2>(pos0D64,F0740);
          if _t0D67 then goto ASSIGN0D6C else goto ASSIGN0D6E
        ASSIGN0D6C:  preds = [COND0D6F]
          bool _t0D6A#1 = Inside<2>(v240808,T0738);
          goto JOIN0D69
        JOIN0D69:  preds = [ASSIGN0D6C,ASSIGN0D6E]
          bool _t0D6B#1 = phi(_t0D6A,_t0D6D)
          if _t0D6B then goto ASSIGN0D72 else goto JOIN0D70
        ASSIGN0D72:  preds = [COND0D82]
          real _t0D71#1 = Probe<tensor[2],real>(F0740,pos0D64);
          real _t0D73#1 = Probe<tensor[2],real>(T0738,v240808);
          real _t0D75#2 = Sub<real>(_t0D71,_t0D73);
          real _t0D7D#1 = Mul<real>(_t0D75,_t0D75);
          real score0D7F#1 = Add<real>(score0D51,_t0D7D);
          goto JOIN0D70
        JOIN0D70:  preds = [ASSIGN0D81,COND0D82]
          real score0D80#2 = phi(score0D7F,score0D51)
          real _t0D83#1 = Dot<tensor[2]>(r008BC,v250810);
          real _t0D85#1 = Dot<tensor[2]>(r108EA,v250810);
          tensor[2] _t0D87#1 = <tensor[2]>[_t0D83,_t0D85];
          tensor[2] pos0D93#3 = Add<tensor[2]>(_t0D87,_t08FA);
          bool _t0D96#1 = Inside<2>(pos0D93,F0740);
          if _t0D96 then goto ASSIGN0D9B else goto ASSIGN0D9D
        ASSIGN0D9B:  preds = [COND0D9E]
          bool _t0D99#1 = Inside<2>(v250810,T0738);
          goto JOIN0D98
        JOIN0D98:  preds = [ASSIGN0D9B,ASSIGN0D9D]
          bool _t0D9A#1 = phi(_t0D99,_t0D9C)
          if _t0D9A then goto ASSIGN0DA1 else goto JOIN0D9F
        ASSIGN0DA1:  preds = [COND0DB1]
          real _t0DA0#1 = Probe<tensor[2],real>(F0740,pos0D93);
          real _t0DA2#1 = Probe<tensor[2],real>(T0738,v250810);
          real _t0DA4#2 = Sub<real>(_t0DA0,_t0DA2);
          real _t0DAC#1 = Mul<real>(_t0DA4,_t0DA4);
          real score0DAE#1 = Add<real>(score0D80,_t0DAC);
          goto JOIN0D9F
        JOIN0D9F:  preds = [ASSIGN0DB0,COND0DB1]
          real score0DAF#2 = phi(score0DAE,score0D80)
          real _t0DB2#1 = Dot<tensor[2]>(r008BC,v260818);
          real _t0DB4#1 = Dot<tensor[2]>(r108EA,v260818);
          tensor[2] _t0DB6#1 = <tensor[2]>[_t0DB2,_t0DB4];
          tensor[2] pos0DC2#3 = Add<tensor[2]>(_t0DB6,_t08FA);
          bool _t0DC5#1 = Inside<2>(pos0DC2,F0740);
          if _t0DC5 then goto ASSIGN0DCA else goto ASSIGN0DCC
        ASSIGN0DCA:  preds = [COND0DCD]
          bool _t0DC8#1 = Inside<2>(v260818,T0738);
          goto JOIN0DC7
        JOIN0DC7:  preds = [ASSIGN0DCA,ASSIGN0DCC]
          bool _t0DC9#1 = phi(_t0DC8,_t0DCB)
          if _t0DC9 then goto ASSIGN0DD0 else goto JOIN0DCE
        ASSIGN0DD0:  preds = [COND0DE0]
          real _t0DCF#1 = Probe<tensor[2],real>(F0740,pos0DC2);
          real _t0DD1#1 = Probe<tensor[2],real>(T0738,v260818);
          real _t0DD3#2 = Sub<real>(_t0DCF,_t0DD1);
          real _t0DDB#1 = Mul<real>(_t0DD3,_t0DD3);
          real score0DDD#1 = Add<real>(score0DAF,_t0DDB);
          goto JOIN0DCE
        JOIN0DCE:  preds = [ASSIGN0DDF,COND0DE0]
          real score0DDE#2 = phi(score0DDD,score0DAF)
          real _t0DE1#1 = Dot<tensor[2]>(r008BC,v27081E);
          real _t0DE3#1 = Dot<tensor[2]>(r108EA,v27081E);
          tensor[2] _t0DE5#1 = <tensor[2]>[_t0DE1,_t0DE3];
          tensor[2] pos0DF1#3 = Add<tensor[2]>(_t0DE5,_t08FA);
          bool _t0DF4#1 = Inside<2>(pos0DF1,F0740);
          if _t0DF4 then goto ASSIGN0DF9 else goto ASSIGN0DFB
        ASSIGN0DF9:  preds = [COND0DFC]
          bool _t0DF7#1 = Inside<2>(v27081E,T0738);
          goto JOIN0DF6
        JOIN0DF6:  preds = [ASSIGN0DF9,ASSIGN0DFB]
          bool _t0DF8#1 = phi(_t0DF7,_t0DFA)
          if _t0DF8 then goto ASSIGN0DFF else goto JOIN0DFD
        ASSIGN0DFF:  preds = [COND0E0F]
          real _t0DFE#1 = Probe<tensor[2],real>(F0740,pos0DF1);
          real _t0E00#1 = Probe<tensor[2],real>(T0738,v27081E);
          real _t0E02#2 = Sub<real>(_t0DFE,_t0E00);
          real _t0E0A#1 = Mul<real>(_t0E02,_t0E02);
          real score0E0C#1 = Add<real>(score0DDE,_t0E0A);
          goto JOIN0DFD
        JOIN0DFD:  preds = [ASSIGN0E0E,COND0E0F]
          real score0E0D#2 = phi(score0E0C,score0DDE)
          real _t0E10#1 = Dot<tensor[2]>(r008BC,v280824);
          real _t0E12#1 = Dot<tensor[2]>(r108EA,v280824);
          tensor[2] _t0E14#1 = <tensor[2]>[_t0E10,_t0E12];
          tensor[2] pos0E20#3 = Add<tensor[2]>(_t0E14,_t08FA);
          bool _t0E23#1 = Inside<2>(pos0E20,F0740);
          if _t0E23 then goto ASSIGN0E28 else goto ASSIGN0E2A
        ASSIGN0E28:  preds = [COND0E2B]
          bool _t0E26#1 = Inside<2>(v280824,T0738);
          goto JOIN0E25
        JOIN0E25:  preds = [ASSIGN0E28,ASSIGN0E2A]
          bool _t0E27#1 = phi(_t0E26,_t0E29)
          if _t0E27 then goto ASSIGN0E2E else goto JOIN0E2C
        ASSIGN0E2E:  preds = [COND0E3E]
          real _t0E2D#1 = Probe<tensor[2],real>(F0740,pos0E20);
          real _t0E2F#1 = Probe<tensor[2],real>(T0738,v280824);
          real _t0E31#2 = Sub<real>(_t0E2D,_t0E2F);
          real _t0E39#1 = Mul<real>(_t0E31,_t0E31);
          real score0E3B#1 = Add<real>(score0E0D,_t0E39);
          goto JOIN0E2C
        JOIN0E2C:  preds = [ASSIGN0E3D,COND0E3E]
          real score0E3C#2 = phi(score0E3B,score0E0D)
          real _t0E3F#1 = Dot<tensor[2]>(r008BC,v29082A);
          real _t0E41#1 = Dot<tensor[2]>(r108EA,v29082A);
          tensor[2] _t0E43#1 = <tensor[2]>[_t0E3F,_t0E41];
          tensor[2] pos0E4F#4 = Add<tensor[2]>(_t0E43,_t08FA);
          bool _t0E52#1 = Inside<2>(pos0E4F,F0740);
          if _t0E52 then goto ASSIGN0E57 else goto ASSIGN0E59
        ASSIGN0E57:  preds = [COND0E5A]
          bool _t0E55#1 = Inside<2>(v29082A,T0738);
          goto JOIN0E54
        JOIN0E54:  preds = [ASSIGN0E57,ASSIGN0E59]
          bool _t0E56#1 = phi(_t0E55,_t0E58)
          if _t0E56 then goto ASSIGN0E5D else goto JOIN0E5B
        ASSIGN0E5D:  preds = [COND0E6D]
          real _t0E5C#1 = Probe<tensor[2],real>(F0740,pos0E4F);
          real _t0E5E#1 = Probe<tensor[2],real>(T0738,v29082A);
          real _t0E60#2 = Sub<real>(_t0E5C,_t0E5E);
          real _t0E68#1 = Mul<real>(_t0E60,_t0E60);
          real score0E6A#1 = Add<real>(score0E3C,_t0E68);
          goto JOIN0E5B
        JOIN0E5B:  preds = [ASSIGN0E6C,COND0E6D]
          real score0E6B#1 = phi(score0E6A,score0E3C)
          self.t = t0884;
          self.score = score0E6B;
          self.r0 = r008BC;
          self.r1 = r108EA;
          self.pos = pos0E4F;
          stabilize ()
        ASSIGN0E59:  preds = [COND0E5A]
          bool _t0E58#1 = false;
          goto JOIN0E54
        ASSIGN0E2A:  preds = [COND0E2B]
          bool _t0E29#1 = false;
          goto JOIN0E25
        ASSIGN0DFB:  preds = [COND0DFC]
          bool _t0DFA#1 = false;
          goto JOIN0DF6
        ASSIGN0DCC:  preds = [COND0DCD]
          bool _t0DCB#1 = false;
          goto JOIN0DC7
        ASSIGN0D9D:  preds = [COND0D9E]
          bool _t0D9C#1 = false;
          goto JOIN0D98
        ASSIGN0D6E:  preds = [COND0D6F]
          bool _t0D6D#1 = false;
          goto JOIN0D69
        ASSIGN0D3F:  preds = [COND0D40]
          bool _t0D3E#1 = false;
          goto JOIN0D3A
        ASSIGN0D10:  preds = [COND0D11]
          bool _t0D0F#1 = false;
          goto JOIN0D0B
        ASSIGN0CE1:  preds = [COND0CE2]
          bool _t0CE0#1 = false;
          goto JOIN0CDC
        ASSIGN0CB2:  preds = [COND0CB3]
          bool _t0CB1#1 = false;
          goto JOIN0CAD
        ASSIGN0C83:  preds = [COND0C84]
          bool _t0C82#1 = false;
          goto JOIN0C7E
        ASSIGN0C54:  preds = [COND0C55]
          bool _t0C53#1 = false;
          goto JOIN0C4F
        ASSIGN0C25:  preds = [COND0C26]
          bool _t0C24#1 = false;
          goto JOIN0C20
        ASSIGN0BF6:  preds = [COND0BF7]
          bool _t0BF5#1 = false;
          goto JOIN0BF1
        ASSIGN0BC7:  preds = [COND0BC8]
          bool _t0BC6#1 = false;
          goto JOIN0BC2
        ASSIGN0B98:  preds = [COND0B99]
          bool _t0B97#1 = false;
          goto JOIN0B93
        ASSIGN0B69:  preds = [COND0B6A]
          bool _t0B68#1 = false;
          goto JOIN0B64
        ASSIGN0B3A:  preds = [COND0B3B]
          bool _t0B39#1 = false;
          goto JOIN0B35
        ASSIGN0B0B:  preds = [COND0B0C]
          bool _t0B0A#1 = false;
          goto JOIN0B06
        ASSIGN0ADC:  preds = [COND0ADD]
          bool _t0ADB#1 = false;
          goto JOIN0AD7
        ASSIGN0AAD:  preds = [COND0AAE]
          bool _t0AAC#1 = false;
          goto JOIN0AA8
        ASSIGN0A7E:  preds = [COND0A7F]
          bool _t0A7D#1 = false;
          goto JOIN0A79
        ASSIGN0A4F:  preds = [COND0A50]
          bool _t0A4E#1 = false;
          goto JOIN0A4A
        ASSIGN0A20:  preds = [COND0A21]
          bool _t0A1F#1 = false;
          goto JOIN0A1B
        ASSIGN09F1:  preds = [COND09F2]
          bool _t09F0#1 = false;
          goto JOIN09EC
        ASSIGN09C2:  preds = [COND09C3]
          bool _t09C1#1 = false;
          goto JOIN09BD
        ASSIGN0993:  preds = [COND0994]
          bool _t0992#1 = false;
          goto JOIN098E
        ASSIGN0964:  preds = [COND0965]
          bool _t0963#1 = false;
          goto JOIN095F
        ASSIGN0935:  preds = [COND0936]
          bool _t0934#1 = false;
          goto JOIN0930
        ASSIGN0906:  preds = [COND0907]
          bool _t0905#1 = false;
          goto JOIN0901
    end Update
    method Stabilize
        ENTRY0E80:  preds = []
          tensor[3] t0E76#1 = self.t;
          real score0E77#1 = self.score;
          tensor[2] r00E78#1 = self.r0;
          tensor[2] r10E79#1 = self.r1;
          tensor[2] pos0E7A#1 = self.pos;
          self.t = t0E76;
          self.score = score0E77;
          self.r0 = r00E78;
          self.r1 = r10E79;
          self.pos = pos0E7A;
          return ()
    end Stabilize
  end R
#### end program ####
##### MidIL after translation to MidIL ####
## properties
  none
## globals
  global int T0F4D#0
  global int F0F4E#0
  global real2 v000F03#4
  global real2 v010F09#4
  global real2 v020F0D#4
  global real2 v030F0F#4
  global real2 v040F11#4
  global real2 v050F17#4
  global real2 v060F19#4
  global real2 v070F1B#4
  global real2 v080F1D#4
  global real2 v090F1F#4
  global real2 v100F25#4
  global real2 v110F27#4
  global real2 v120F29#4
  global real2 v130F2B#4
  global real2 v140F2D#4
  global real2 v150F2F#4
  global real2 v160F31#4
  global real2 v170F33#4
  global real2 v180F35#4
  global real2 v190F37#4
  global real2 v200F39#4
  global real2 v210F3B#4
  global real2 v220F3D#4
  global real2 v230F3F#4
  global real2 v240F41#4
  global real2 v250F43#4
  global real2 v260F45#4
  global real2 v270F47#4
  global real2 v280F49#4
  global real2 v290F4B#4
  global string _t0EF7#1
  global image(IMAGE2D<int>) _t0EF9#210
  global int _t0EF5#0
  global string _t0EFB#1
  global image(IMAGE2D<float>) _t0EFD#210
  global real _t0F15#5
  global real _t0F23#5
  global real _t0F21#6
  global real _t0F13#6
  global real _t0F01#11
  global real _t0F07#6
  global real _t0F0B#6
  global real _t0F05#7
  global real _t0EFF#12
## global initialization
  ENTRY0EF4:  preds = []
    int _t0EF5#0 = 0;
    string _t0EF7#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0EF9#210 = LoadImage<IMAGE2D<int>>(_t0EF7);
    string _t0EFB#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0EFD#210 = LoadImage<IMAGE2D<float>>(_t0EFB);
    real _t0EFF#12 = 0.5e0;
    real _t0F01#11 = Neg<real>(_t0EFF);
    real2 v000F03#4 = <real2>[_t0F01,_t0F01];
    real _t0F05#7 = 0.25e0;
    real _t0F07#6 = Neg<real>(_t0F05);
    real2 v010F09#4 = <real2>[_t0F01,_t0F07];
    real _t0F0B#6 = 0.0;
    real2 v020F0D#4 = <real2>[_t0F01,_t0F0B];
    real2 v030F0F#4 = <real2>[_t0F01,_t0F05];
    real2 v040F11#4 = <real2>[_t0F01,_t0EFF];
    real _t0F13#6 = 0.3e0;
    real _t0F15#5 = Neg<real>(_t0F13);
    real2 v050F17#4 = <real2>[_t0F15,_t0F01];
    real2 v060F19#4 = <real2>[_t0F15,_t0F07];
    real2 v070F1B#4 = <real2>[_t0F15,_t0F0B];
    real2 v080F1D#4 = <real2>[_t0F15,_t0F05];
    real2 v090F1F#4 = <real2>[_t0F15,_t0EFF];
    real _t0F21#6 = 0.1e0;
    real _t0F23#5 = Neg<real>(_t0F21);
    real2 v100F25#4 = <real2>[_t0F23,_t0F01];
    real2 v110F27#4 = <real2>[_t0F23,_t0F07];
    real2 v120F29#4 = <real2>[_t0F23,_t0F0B];
    real2 v130F2B#4 = <real2>[_t0F23,_t0F05];
    real2 v140F2D#4 = <real2>[_t0F23,_t0EFF];
    real2 v150F2F#4 = <real2>[_t0F21,_t0F01];
    real2 v160F31#4 = <real2>[_t0F21,_t0F07];
    real2 v170F33#4 = <real2>[_t0F21,_t0F0B];
    real2 v180F35#4 = <real2>[_t0F21,_t0F05];
    real2 v190F37#4 = <real2>[_t0F21,_t0EFF];
    real2 v200F39#4 = <real2>[_t0F13,_t0F01];
    real2 v210F3B#4 = <real2>[_t0F13,_t0F07];
    real2 v220F3D#4 = <real2>[_t0F13,_t0F0B];
    real2 v230F3F#4 = <real2>[_t0F13,_t0F05];
    real2 v240F41#4 = <real2>[_t0F13,_t0EFF];
    real2 v250F43#4 = <real2>[_t0EFF,_t0F01];
    real2 v260F45#4 = <real2>[_t0EFF,_t0F07];
    real2 v270F47#4 = <real2>[_t0EFF,_t0F0B];
    real2 v280F49#4 = <real2>[_t0EFF,_t0F05];
    real2 v290F4B#4 = <real2>[_t0EFF,_t0EFF];
    return (T0F4D,F0F4E,v000F03,v010F09,v020F0D,v030F0F,v040F11,v050F17,v060F19,v070F1B,v080F1D,v090F1F,v100F25,v110F27,v120F29,v130F2B,v140F2D,v150F2F,v160F31,v170F33,v180F35,v190F37,v200F39,v210F3B,v220F3D,v230F3F,v240F41,v250F43,v260F45,v270F47,v280F49,v290F4B,_t0EF7,_t0EF9,_t0EF5,_t0EFB,_t0EFD,_t0F15,_t0F23,_t0F21,_t0F13,_t0F01,_t0F07,_t0F0B,_t0F05,_t0EFF)
## initially
  ARRAY
    ENTRY0F55:  preds = []
      int _t0F51#4 = 0;
      int _t0F52#4 = 60;
      live vars = (_t0F52,_t0F51)
    for int i0F50#1 = _t0F51 .. _t0F52
      for int j0F53#1 = _t0F51 .. _t0F52
        for int k0F54#1 = _t0F51 .. _t0F52
          ENTRY0F59:  preds = []
            live vars = ()
          new R(i0F50,j0F53,k0F54);
## strands
  strand R (int i0F5B#1, int j0F5C#1, int k0F5D#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0F63:  preds = []
        real _t0F64#1 = IntToReal(i0F5B);
        real _t0F66#3 = 0.60e2;
        real _t0F68#1 = Div<real>(_t0F64,_t0F66);
        real _t0F6A#3 = 0.5e0;
        real _t0F6C#1 = Sub<real>(_t0F68,_t0F6A);
        real _t0F6E#1 = IntToReal(j0F5C);
        real _t0F70#1 = Div<real>(_t0F6E,_t0F66);
        real _t0F72#1 = Sub<real>(_t0F70,_t0F6A);
        real _t0F74#1 = IntToReal(k0F5D);
        real _t0F76#1 = Div<real>(_t0F74,_t0F66);
        real _t0F78#1 = Sub<real>(_t0F76,_t0F6A);
        real3 t0F7A#1 = <real3>[_t0F6C,_t0F72,_t0F78];
        real score0F7C#3 = 0.0;
        real2 r00F7E#3 = <real2>[score0F7C,score0F7C];
        self.t = t0F7A;
        self.score = score0F7C;
        self.r0 = r00F7E;
        self.r1 = r00F7E;
        self.pos = r00F7E;
        strand_init ()
    method Update
        ENTRY0F86:  preds = []
          real3 t0F87#4 = self.t;
          real score0F89#2 = self.score;
          real _t0F8B#2 = 0.1e1;
          real _t0F8D#3 = 0.2e1;
          int _t0F8F#1 = 2;
          real _t0F91#6 = Subscript<real3>(t0F87,_t0F8F);
          real _t0F93#1 = Mul<real>(_t0F8D,_t0F91);
          real _t0F95#1 = Mul<real>(_t0F93,_t0F91);
          real _t0F97#2 = Sub<real>(_t0F8B,_t0F95);
          real _t0F99#1 = Neg<real>(_t0F8D);
          real _t0F9B#1 = Mul<real>(_t0F91,_t0F91);
          real _t0F9D#1 = Sub<real>(_t0F8B,_t0F9B);
          real _t0F9F#2 = sqrt(_t0F9D);
          real _t0FA1#1 = Mul<real>(_t0F99,_t0F9F);
          real _t0FA3#1 = Mul<real>(_t0FA1,_t0F91);
          real2 r00FA5#31 = <real2>[_t0F97,_t0FA3];
          real _t0FA7#1 = Mul<real>(_t0F8D,_t0F9F);
          real _t0FA9#1 = Mul<real>(_t0FA7,_t0F91);
          real2 r10FAB#31 = <real2>[_t0FA9,_t0F97];
          real _t0FAD#1 = Dot<2>(r00FA5,v000F03);
          real _t0FAF#1 = Dot<2>(r10FAB,v000F03);
          real2 _t0FB1#1 = <real2>[_t0FAD,_t0FAF];
          int _t0FB3#1 = 0;
          real _t0FB5#1 = Subscript<real3>(t0F87,_t0FB3);
          int _t0FB7#1 = 1;
          real _t0FB9#1 = Subscript<real3>(t0F87,_t0FB7);
          real2 _t0FBB#30 = <real2>[_t0FB5,_t0FB9];
          real2 pos0FBD#2 = Add<real2>(_t0FB1,_t0FBB);
          real2 x0FC0#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos0FBD);
          bool _t0FBF#1 = Inside<IMAGE2D<float>,2>(x0FC0,_t0EFD);
          if _t0FBF then goto ASSIGN0FC6 else goto ASSIGN308C
        ASSIGN0FC6:  preds = [COND0FC3]
          real2 x0FC5#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v000F03);
          bool _t0FC4#1 = Inside<IMAGE2D<int>,2>(x0FC5,_t0EF9);
          goto JOIN0FCA
        JOIN0FCA:  preds = [ASSIGN0FC7,ASSIGN308C]
          bool _t0FC8#1 = phi(_t0FC4,_t0FC9)
          if _t0FC8 then goto ASSIGN100B else goto JOIN10CD
        ASSIGN100B:  preds = [COND0FCB]
          real2 x0FCD#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos0FBD);
          real2 nd0FCF#2 = Floor<2>(x0FCD);
          real2 f0FCE#2 = Sub<real2>(x0FCD,nd0FCF);
          int{2} n0FD0#8 = RealToInt<2>(nd0FCF);
          int t10FEC#1 = -1;
          int t20FED#1 = Index<int{2},0>(n0FD0);
          int ix0FEB#1 = Add<int>(t10FEC,t20FED);
          int t10FEF#1 = -1;
          int t20FF0#1 = Index<int{2},1>(n0FD0);
          int iy0FEE#1 = Add<int>(t10FEF,t20FF0);
          addr(IMAGE2D<float>) a0FF1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FEE);
          real4 v00FD2#1 = LoadVoxels<IMAGE2D<float>,4>(a0FF1);
          int t10FE5#1 = -1;
          int t20FE6#1 = Index<int{2},0>(n0FD0);
          int ix0FE4#1 = Add<int>(t10FE5,t20FE6);
          int t10FE8#1 = 0;
          int t20FE9#1 = Index<int{2},1>(n0FD0);
          int iy0FE7#1 = Add<int>(t10FE8,t20FE9);
          addr(IMAGE2D<float>) a0FEA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FE4,iy0FE7);
          real4 v10FD3#1 = LoadVoxels<IMAGE2D<float>,4>(a0FEA);
          int t10FDE#1 = -1;
          int t20FDF#1 = Index<int{2},0>(n0FD0);
          int ix0FDD#1 = Add<int>(t10FDE,t20FDF);
          int t10FE1#1 = 1;
          int t20FE2#1 = Index<int{2},1>(n0FD0);
          int iy0FE0#1 = Add<int>(t10FE1,t20FE2);
          addr(IMAGE2D<float>) a0FE3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FDD,iy0FE0);
          real4 v20FD4#1 = LoadVoxels<IMAGE2D<float>,4>(a0FE3);
          int t10FD7#1 = -1;
          int t20FD8#1 = Index<int{2},0>(n0FD0);
          int ix0FD6#1 = Add<int>(t10FD7,t20FD8);
          int t10FDA#1 = 2;
          int t20FDB#1 = Index<int{2},1>(n0FD0);
          int iy0FD9#1 = Add<int>(t10FDA,t20FDB);
          addr(IMAGE2D<float>) a0FDC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FD6,iy0FD9);
          real4 v30FD5#1 = LoadVoxels<IMAGE2D<float>,4>(a0FDC);
          real fy0FFD#4 = Index<real2,1>(f0FCE);
          real r1005#1 = 0.1e1;
          real t31002#1 = Add<real>(fy0FFD,r1005);
          real t21001#1 = fy0FFD;
          real r1004#1 = 0.1e1;
          real t11000#1 = Sub<real>(fy0FFD,r1004);
          real r1003#1 = 0.2e1;
          real t00FFF#1 = Sub<real>(fy0FFD,r1003);
          real4 a0FFE#1 = <real4>[t31002,t21001,t11000,t00FFF];
          real4 hy0FF3#1 = EvalKernel<4,bspln3,0>(a0FFE);
          real fx0FF4#4 = Index<real2,0>(f0FCE);
          real r0FFC#1 = 0.1e1;
          real t30FF9#1 = Add<real>(fx0FF4,r0FFC);
          real t20FF8#1 = fx0FF4;
          real r0FFB#1 = 0.1e1;
          real t10FF7#1 = Sub<real>(fx0FF4,r0FFB);
          real r0FFA#1 = 0.2e1;
          real t00FF6#1 = Sub<real>(fx0FF4,r0FFA);
          real4 a0FF5#1 = <real4>[t30FF9,t20FF8,t10FF7,t00FF6];
          real4 hx0FF2#4 = EvalKernel<4,bspln3,0>(a0FF5);
          real t01007#1 = Dot<4>(v00FD2,hx0FF2);
          real t11008#1 = Dot<4>(v10FD3,hx0FF2);
          real t21009#1 = Dot<4>(v20FD4,hx0FF2);
          real t3100A#1 = Dot<4>(v30FD5,hx0FF2);
          real4 tv1006#1 = <real4>[t01007,t11008,t21009,t3100A];
          real _t0FCC#1 = Dot<4>(hy0FF3,tv1006);
          real2 x104A#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v000F03);
          real2 nd104C#2 = Floor<2>(x104A);
          real2 f104B#2 = Sub<real2>(x104A,nd104C);
          int{2} n104D#8 = RealToInt<2>(nd104C);
          int t11069#1 = -1;
          int t2106A#1 = Index<int{2},0>(n104D);
          int ix1068#1 = Add<int>(t11069,t2106A);
          int t1106C#1 = -1;
          int t2106D#1 = Index<int{2},1>(n104D);
          int iy106B#1 = Add<int>(t1106C,t2106D);
          addr(IMAGE2D<int>) a106E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy106B);
          real4 v0104F#1 = LoadVoxels<IMAGE2D<int>,4>(a106E);
          int t11062#1 = -1;
          int t21063#1 = Index<int{2},0>(n104D);
          int ix1061#1 = Add<int>(t11062,t21063);
          int t11065#1 = 0;
          int t21066#1 = Index<int{2},1>(n104D);
          int iy1064#1 = Add<int>(t11065,t21066);
          addr(IMAGE2D<int>) a1067#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1061,iy1064);
          real4 v11050#1 = LoadVoxels<IMAGE2D<int>,4>(a1067);
          int t1105B#1 = -1;
          int t2105C#1 = Index<int{2},0>(n104D);
          int ix105A#1 = Add<int>(t1105B,t2105C);
          int t1105E#1 = 1;
          int t2105F#1 = Index<int{2},1>(n104D);
          int iy105D#1 = Add<int>(t1105E,t2105F);
          addr(IMAGE2D<int>) a1060#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix105A,iy105D);
          real4 v21051#1 = LoadVoxels<IMAGE2D<int>,4>(a1060);
          int t11054#1 = -1;
          int t21055#1 = Index<int{2},0>(n104D);
          int ix1053#1 = Add<int>(t11054,t21055);
          int t11057#1 = 2;
          int t21058#1 = Index<int{2},1>(n104D);
          int iy1056#1 = Add<int>(t11057,t21058);
          addr(IMAGE2D<int>) a1059#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1053,iy1056);
          real4 v31052#1 = LoadVoxels<IMAGE2D<int>,4>(a1059);
          real fy107A#4 = Index<real2,1>(f104B);
          real r1082#1 = 0.1e1;
          real t3107F#1 = Add<real>(fy107A,r1082);
          real t2107E#1 = fy107A;
          real r1081#1 = 0.1e1;
          real t1107D#1 = Sub<real>(fy107A,r1081);
          real r1080#1 = 0.2e1;
          real t0107C#1 = Sub<real>(fy107A,r1080);
          real4 a107B#1 = <real4>[t3107F,t2107E,t1107D,t0107C];
          real4 hy1070#1 = EvalKernel<4,bspln3,0>(a107B);
          real fx1071#4 = Index<real2,0>(f104B);
          real r1079#1 = 0.1e1;
          real t31076#1 = Add<real>(fx1071,r1079);
          real t21075#1 = fx1071;
          real r1078#1 = 0.1e1;
          real t11074#1 = Sub<real>(fx1071,r1078);
          real r1077#1 = 0.2e1;
          real t01073#1 = Sub<real>(fx1071,r1077);
          real4 a1072#1 = <real4>[t31076,t21075,t11074,t01073];
          real4 hx106F#4 = EvalKernel<4,bspln3,0>(a1072);
          real t01084#1 = Dot<4>(v0104F,hx106F);
          real t11085#1 = Dot<4>(v11050,hx106F);
          real t21086#1 = Dot<4>(v21051,hx106F);
          real t31087#1 = Dot<4>(v31052,hx106F);
          real4 tv1083#1 = <real4>[t01084,t11085,t21086,t31087];
          real _t1049#1 = Dot<4>(hy1070,tv1083);
          real _t10C6#2 = Sub<real>(_t0FCC,_t1049);
          real _t10C8#1 = Mul<real>(_t10C6,_t10C6);
          real score10CA#1 = Add<real>(score0F89,_t10C8);
          goto JOIN10CD
        JOIN10CD:  preds = [ASSIGN10CB,COND0FCB]
          real score10CC#2 = phi(score10CA,score0F89)
          real _t10CE#1 = Dot<2>(r00FA5,v010F09);
          real _t10D0#1 = Dot<2>(r10FAB,v010F09);
          real2 _t10D2#1 = <real2>[_t10CE,_t10D0];
          real2 pos10D4#2 = Add<real2>(_t10D2,_t0FBB);
          real2 x10D7#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos10D4);
          bool _t10D6#1 = Inside<IMAGE2D<float>,2>(x10D7,_t0EFD);
          if _t10D6 then goto ASSIGN10DD else goto ASSIGN308B
        ASSIGN10DD:  preds = [COND10DA]
          real2 x10DC#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v010F09);
          bool _t10DB#1 = Inside<IMAGE2D<int>,2>(x10DC,_t0EF9);
          goto JOIN10E1
        JOIN10E1:  preds = [ASSIGN10DE,ASSIGN308B]
          bool _t10DF#1 = phi(_t10DB,_t10E0)
          if _t10DF then goto ASSIGN1122 else goto JOIN11E4
        ASSIGN1122:  preds = [COND10E2]
          real2 x10E4#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos10D4);
          real2 nd10E6#2 = Floor<2>(x10E4);
          real2 f10E5#2 = Sub<real2>(x10E4,nd10E6);
          int{2} n10E7#8 = RealToInt<2>(nd10E6);
          int t11103#1 = -1;
          int t21104#1 = Index<int{2},0>(n10E7);
          int ix1102#1 = Add<int>(t11103,t21104);
          int t11106#1 = -1;
          int t21107#1 = Index<int{2},1>(n10E7);
          int iy1105#1 = Add<int>(t11106,t21107);
          addr(IMAGE2D<float>) a1108#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy1105);
          real4 v010E9#1 = LoadVoxels<IMAGE2D<float>,4>(a1108);
          int t110FC#1 = -1;
          int t210FD#1 = Index<int{2},0>(n10E7);
          int ix10FB#1 = Add<int>(t110FC,t210FD);
          int t110FF#1 = 0;
          int t21100#1 = Index<int{2},1>(n10E7);
          int iy10FE#1 = Add<int>(t110FF,t21100);
          addr(IMAGE2D<float>) a1101#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix10FB,iy10FE);
          real4 v110EA#1 = LoadVoxels<IMAGE2D<float>,4>(a1101);
          int t110F5#1 = -1;
          int t210F6#1 = Index<int{2},0>(n10E7);
          int ix10F4#1 = Add<int>(t110F5,t210F6);
          int t110F8#1 = 1;
          int t210F9#1 = Index<int{2},1>(n10E7);
          int iy10F7#1 = Add<int>(t110F8,t210F9);
          addr(IMAGE2D<float>) a10FA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix10F4,iy10F7);
          real4 v210EB#1 = LoadVoxels<IMAGE2D<float>,4>(a10FA);
          int t110EE#1 = -1;
          int t210EF#1 = Index<int{2},0>(n10E7);
          int ix10ED#1 = Add<int>(t110EE,t210EF);
          int t110F1#1 = 2;
          int t210F2#1 = Index<int{2},1>(n10E7);
          int iy10F0#1 = Add<int>(t110F1,t210F2);
          addr(IMAGE2D<float>) a10F3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix10ED,iy10F0);
          real4 v310EC#1 = LoadVoxels<IMAGE2D<float>,4>(a10F3);
          real fy1114#4 = Index<real2,1>(f10E5);
          real r111C#1 = 0.1e1;
          real t31119#1 = Add<real>(fy1114,r111C);
          real t21118#1 = fy1114;
          real r111B#1 = 0.1e1;
          real t11117#1 = Sub<real>(fy1114,r111B);
          real r111A#1 = 0.2e1;
          real t01116#1 = Sub<real>(fy1114,r111A);
          real4 a1115#1 = <real4>[t31119,t21118,t11117,t01116];
          real4 hy110A#1 = EvalKernel<4,bspln3,0>(a1115);
          real fx110B#4 = Index<real2,0>(f10E5);
          real r1113#1 = 0.1e1;
          real t31110#1 = Add<real>(fx110B,r1113);
          real t2110F#1 = fx110B;
          real r1112#1 = 0.1e1;
          real t1110E#1 = Sub<real>(fx110B,r1112);
          real r1111#1 = 0.2e1;
          real t0110D#1 = Sub<real>(fx110B,r1111);
          real4 a110C#1 = <real4>[t31110,t2110F,t1110E,t0110D];
          real4 hx1109#4 = EvalKernel<4,bspln3,0>(a110C);
          real t0111E#1 = Dot<4>(v010E9,hx1109);
          real t1111F#1 = Dot<4>(v110EA,hx1109);
          real t21120#1 = Dot<4>(v210EB,hx1109);
          real t31121#1 = Dot<4>(v310EC,hx1109);
          real4 tv111D#1 = <real4>[t0111E,t1111F,t21120,t31121];
          real _t10E3#1 = Dot<4>(hy110A,tv111D);
          real2 x1161#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v010F09);
          real2 nd1163#2 = Floor<2>(x1161);
          real2 f1162#2 = Sub<real2>(x1161,nd1163);
          int{2} n1164#8 = RealToInt<2>(nd1163);
          int t11180#1 = -1;
          int t21181#1 = Index<int{2},0>(n1164);
          int ix117F#1 = Add<int>(t11180,t21181);
          int t11183#1 = -1;
          int t21184#1 = Index<int{2},1>(n1164);
          int iy1182#1 = Add<int>(t11183,t21184);
          addr(IMAGE2D<int>) a1185#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy1182);
          real4 v01166#1 = LoadVoxels<IMAGE2D<int>,4>(a1185);
          int t11179#1 = -1;
          int t2117A#1 = Index<int{2},0>(n1164);
          int ix1178#1 = Add<int>(t11179,t2117A);
          int t1117C#1 = 0;
          int t2117D#1 = Index<int{2},1>(n1164);
          int iy117B#1 = Add<int>(t1117C,t2117D);
          addr(IMAGE2D<int>) a117E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1178,iy117B);
          real4 v11167#1 = LoadVoxels<IMAGE2D<int>,4>(a117E);
          int t11172#1 = -1;
          int t21173#1 = Index<int{2},0>(n1164);
          int ix1171#1 = Add<int>(t11172,t21173);
          int t11175#1 = 1;
          int t21176#1 = Index<int{2},1>(n1164);
          int iy1174#1 = Add<int>(t11175,t21176);
          addr(IMAGE2D<int>) a1177#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1171,iy1174);
          real4 v21168#1 = LoadVoxels<IMAGE2D<int>,4>(a1177);
          int t1116B#1 = -1;
          int t2116C#1 = Index<int{2},0>(n1164);
          int ix116A#1 = Add<int>(t1116B,t2116C);
          int t1116E#1 = 2;
          int t2116F#1 = Index<int{2},1>(n1164);
          int iy116D#1 = Add<int>(t1116E,t2116F);
          addr(IMAGE2D<int>) a1170#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix116A,iy116D);
          real4 v31169#1 = LoadVoxels<IMAGE2D<int>,4>(a1170);
          real fy1191#4 = Index<real2,1>(f1162);
          real r1199#1 = 0.1e1;
          real t31196#1 = Add<real>(fy1191,r1199);
          real t21195#1 = fy1191;
          real r1198#1 = 0.1e1;
          real t11194#1 = Sub<real>(fy1191,r1198);
          real r1197#1 = 0.2e1;
          real t01193#1 = Sub<real>(fy1191,r1197);
          real4 a1192#1 = <real4>[t31196,t21195,t11194,t01193];
          real4 hy1187#1 = EvalKernel<4,bspln3,0>(a1192);
          real fx1188#4 = Index<real2,0>(f1162);
          real r1190#1 = 0.1e1;
          real t3118D#1 = Add<real>(fx1188,r1190);
          real t2118C#1 = fx1188;
          real r118F#1 = 0.1e1;
          real t1118B#1 = Sub<real>(fx1188,r118F);
          real r118E#1 = 0.2e1;
          real t0118A#1 = Sub<real>(fx1188,r118E);
          real4 a1189#1 = <real4>[t3118D,t2118C,t1118B,t0118A];
          real4 hx1186#4 = EvalKernel<4,bspln3,0>(a1189);
          real t0119B#1 = Dot<4>(v01166,hx1186);
          real t1119C#1 = Dot<4>(v11167,hx1186);
          real t2119D#1 = Dot<4>(v21168,hx1186);
          real t3119E#1 = Dot<4>(v31169,hx1186);
          real4 tv119A#1 = <real4>[t0119B,t1119C,t2119D,t3119E];
          real _t1160#1 = Dot<4>(hy1187,tv119A);
          real _t11DD#2 = Sub<real>(_t10E3,_t1160);
          real _t11DF#1 = Mul<real>(_t11DD,_t11DD);
          real score11E1#1 = Add<real>(score10CC,_t11DF);
          goto JOIN11E4
        JOIN11E4:  preds = [ASSIGN11E2,COND10E2]
          real score11E3#2 = phi(score11E1,score10CC)
          real _t11E5#1 = Dot<2>(r00FA5,v020F0D);
          real _t11E7#1 = Dot<2>(r10FAB,v020F0D);
          real2 _t11E9#1 = <real2>[_t11E5,_t11E7];
          real2 pos11EB#2 = Add<real2>(_t11E9,_t0FBB);
          real2 x11EE#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos11EB);
          bool _t11ED#1 = Inside<IMAGE2D<float>,2>(x11EE,_t0EFD);
          if _t11ED then goto ASSIGN11F4 else goto ASSIGN308A
        ASSIGN11F4:  preds = [COND11F1]
          real2 x11F3#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v020F0D);
          bool _t11F2#1 = Inside<IMAGE2D<int>,2>(x11F3,_t0EF9);
          goto JOIN11F8
        JOIN11F8:  preds = [ASSIGN11F5,ASSIGN308A]
          bool _t11F6#1 = phi(_t11F2,_t11F7)
          if _t11F6 then goto ASSIGN1239 else goto JOIN12FB
        ASSIGN1239:  preds = [COND11F9]
          real2 x11FB#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos11EB);
          real2 nd11FD#2 = Floor<2>(x11FB);
          real2 f11FC#2 = Sub<real2>(x11FB,nd11FD);
          int{2} n11FE#8 = RealToInt<2>(nd11FD);
          int t1121A#1 = -1;
          int t2121B#1 = Index<int{2},0>(n11FE);
          int ix1219#1 = Add<int>(t1121A,t2121B);
          int t1121D#1 = -1;
          int t2121E#1 = Index<int{2},1>(n11FE);
          int iy121C#1 = Add<int>(t1121D,t2121E);
          addr(IMAGE2D<float>) a121F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy121C);
          real4 v01200#1 = LoadVoxels<IMAGE2D<float>,4>(a121F);
          int t11213#1 = -1;
          int t21214#1 = Index<int{2},0>(n11FE);
          int ix1212#1 = Add<int>(t11213,t21214);
          int t11216#1 = 0;
          int t21217#1 = Index<int{2},1>(n11FE);
          int iy1215#1 = Add<int>(t11216,t21217);
          addr(IMAGE2D<float>) a1218#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1212,iy1215);
          real4 v11201#1 = LoadVoxels<IMAGE2D<float>,4>(a1218);
          int t1120C#1 = -1;
          int t2120D#1 = Index<int{2},0>(n11FE);
          int ix120B#1 = Add<int>(t1120C,t2120D);
          int t1120F#1 = 1;
          int t21210#1 = Index<int{2},1>(n11FE);
          int iy120E#1 = Add<int>(t1120F,t21210);
          addr(IMAGE2D<float>) a1211#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix120B,iy120E);
          real4 v21202#1 = LoadVoxels<IMAGE2D<float>,4>(a1211);
          int t11205#1 = -1;
          int t21206#1 = Index<int{2},0>(n11FE);
          int ix1204#1 = Add<int>(t11205,t21206);
          int t11208#1 = 2;
          int t21209#1 = Index<int{2},1>(n11FE);
          int iy1207#1 = Add<int>(t11208,t21209);
          addr(IMAGE2D<float>) a120A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1204,iy1207);
          real4 v31203#1 = LoadVoxels<IMAGE2D<float>,4>(a120A);
          real fy122B#4 = Index<real2,1>(f11FC);
          real r1233#1 = 0.1e1;
          real t31230#1 = Add<real>(fy122B,r1233);
          real t2122F#1 = fy122B;
          real r1232#1 = 0.1e1;
          real t1122E#1 = Sub<real>(fy122B,r1232);
          real r1231#1 = 0.2e1;
          real t0122D#1 = Sub<real>(fy122B,r1231);
          real4 a122C#1 = <real4>[t31230,t2122F,t1122E,t0122D];
          real4 hy1221#1 = EvalKernel<4,bspln3,0>(a122C);
          real fx1222#4 = Index<real2,0>(f11FC);
          real r122A#1 = 0.1e1;
          real t31227#1 = Add<real>(fx1222,r122A);
          real t21226#1 = fx1222;
          real r1229#1 = 0.1e1;
          real t11225#1 = Sub<real>(fx1222,r1229);
          real r1228#1 = 0.2e1;
          real t01224#1 = Sub<real>(fx1222,r1228);
          real4 a1223#1 = <real4>[t31227,t21226,t11225,t01224];
          real4 hx1220#4 = EvalKernel<4,bspln3,0>(a1223);
          real t01235#1 = Dot<4>(v01200,hx1220);
          real t11236#1 = Dot<4>(v11201,hx1220);
          real t21237#1 = Dot<4>(v21202,hx1220);
          real t31238#1 = Dot<4>(v31203,hx1220);
          real4 tv1234#1 = <real4>[t01235,t11236,t21237,t31238];
          real _t11FA#1 = Dot<4>(hy1221,tv1234);
          real2 x1278#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v020F0D);
          real2 nd127A#2 = Floor<2>(x1278);
          real2 f1279#2 = Sub<real2>(x1278,nd127A);
          int{2} n127B#8 = RealToInt<2>(nd127A);
          int t11297#1 = -1;
          int t21298#1 = Index<int{2},0>(n127B);
          int ix1296#1 = Add<int>(t11297,t21298);
          int t1129A#1 = -1;
          int t2129B#1 = Index<int{2},1>(n127B);
          int iy1299#1 = Add<int>(t1129A,t2129B);
          addr(IMAGE2D<int>) a129C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy1299);
          real4 v0127D#1 = LoadVoxels<IMAGE2D<int>,4>(a129C);
          int t11290#1 = -1;
          int t21291#1 = Index<int{2},0>(n127B);
          int ix128F#1 = Add<int>(t11290,t21291);
          int t11293#1 = 0;
          int t21294#1 = Index<int{2},1>(n127B);
          int iy1292#1 = Add<int>(t11293,t21294);
          addr(IMAGE2D<int>) a1295#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix128F,iy1292);
          real4 v1127E#1 = LoadVoxels<IMAGE2D<int>,4>(a1295);
          int t11289#1 = -1;
          int t2128A#1 = Index<int{2},0>(n127B);
          int ix1288#1 = Add<int>(t11289,t2128A);
          int t1128C#1 = 1;
          int t2128D#1 = Index<int{2},1>(n127B);
          int iy128B#1 = Add<int>(t1128C,t2128D);
          addr(IMAGE2D<int>) a128E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1288,iy128B);
          real4 v2127F#1 = LoadVoxels<IMAGE2D<int>,4>(a128E);
          int t11282#1 = -1;
          int t21283#1 = Index<int{2},0>(n127B);
          int ix1281#1 = Add<int>(t11282,t21283);
          int t11285#1 = 2;
          int t21286#1 = Index<int{2},1>(n127B);
          int iy1284#1 = Add<int>(t11285,t21286);
          addr(IMAGE2D<int>) a1287#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1281,iy1284);
          real4 v31280#1 = LoadVoxels<IMAGE2D<int>,4>(a1287);
          real fy12A8#4 = Index<real2,1>(f1279);
          real r12B0#1 = 0.1e1;
          real t312AD#1 = Add<real>(fy12A8,r12B0);
          real t212AC#1 = fy12A8;
          real r12AF#1 = 0.1e1;
          real t112AB#1 = Sub<real>(fy12A8,r12AF);
          real r12AE#1 = 0.2e1;
          real t012AA#1 = Sub<real>(fy12A8,r12AE);
          real4 a12A9#1 = <real4>[t312AD,t212AC,t112AB,t012AA];
          real4 hy129E#1 = EvalKernel<4,bspln3,0>(a12A9);
          real fx129F#4 = Index<real2,0>(f1279);
          real r12A7#1 = 0.1e1;
          real t312A4#1 = Add<real>(fx129F,r12A7);
          real t212A3#1 = fx129F;
          real r12A6#1 = 0.1e1;
          real t112A2#1 = Sub<real>(fx129F,r12A6);
          real r12A5#1 = 0.2e1;
          real t012A1#1 = Sub<real>(fx129F,r12A5);
          real4 a12A0#1 = <real4>[t312A4,t212A3,t112A2,t012A1];
          real4 hx129D#4 = EvalKernel<4,bspln3,0>(a12A0);
          real t012B2#1 = Dot<4>(v0127D,hx129D);
          real t112B3#1 = Dot<4>(v1127E,hx129D);
          real t212B4#1 = Dot<4>(v2127F,hx129D);
          real t312B5#1 = Dot<4>(v31280,hx129D);
          real4 tv12B1#1 = <real4>[t012B2,t112B3,t212B4,t312B5];
          real _t1277#1 = Dot<4>(hy129E,tv12B1);
          real _t12F4#2 = Sub<real>(_t11FA,_t1277);
          real _t12F6#1 = Mul<real>(_t12F4,_t12F4);
          real score12F8#1 = Add<real>(score11E3,_t12F6);
          goto JOIN12FB
        JOIN12FB:  preds = [ASSIGN12F9,COND11F9]
          real score12FA#2 = phi(score12F8,score11E3)
          real _t12FC#1 = Dot<2>(r00FA5,v030F0F);
          real _t12FE#1 = Dot<2>(r10FAB,v030F0F);
          real2 _t1300#1 = <real2>[_t12FC,_t12FE];
          real2 pos1302#2 = Add<real2>(_t1300,_t0FBB);
          real2 x1305#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1302);
          bool _t1304#1 = Inside<IMAGE2D<float>,2>(x1305,_t0EFD);
          if _t1304 then goto ASSIGN130B else goto ASSIGN3089
        ASSIGN130B:  preds = [COND1308]
          real2 x130A#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v030F0F);
          bool _t1309#1 = Inside<IMAGE2D<int>,2>(x130A,_t0EF9);
          goto JOIN130F
        JOIN130F:  preds = [ASSIGN130C,ASSIGN3089]
          bool _t130D#1 = phi(_t1309,_t130E)
          if _t130D then goto ASSIGN1350 else goto JOIN1412
        ASSIGN1350:  preds = [COND1310]
          real2 x1312#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1302);
          real2 nd1314#2 = Floor<2>(x1312);
          real2 f1313#2 = Sub<real2>(x1312,nd1314);
          int{2} n1315#8 = RealToInt<2>(nd1314);
          int t11331#1 = -1;
          int t21332#1 = Index<int{2},0>(n1315);
          int ix1330#1 = Add<int>(t11331,t21332);
          int t11334#1 = -1;
          int t21335#1 = Index<int{2},1>(n1315);
          int iy1333#1 = Add<int>(t11334,t21335);
          addr(IMAGE2D<float>) a1336#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy1333);
          real4 v01317#1 = LoadVoxels<IMAGE2D<float>,4>(a1336);
          int t1132A#1 = -1;
          int t2132B#1 = Index<int{2},0>(n1315);
          int ix1329#1 = Add<int>(t1132A,t2132B);
          int t1132D#1 = 0;
          int t2132E#1 = Index<int{2},1>(n1315);
          int iy132C#1 = Add<int>(t1132D,t2132E);
          addr(IMAGE2D<float>) a132F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1329,iy132C);
          real4 v11318#1 = LoadVoxels<IMAGE2D<float>,4>(a132F);
          int t11323#1 = -1;
          int t21324#1 = Index<int{2},0>(n1315);
          int ix1322#1 = Add<int>(t11323,t21324);
          int t11326#1 = 1;
          int t21327#1 = Index<int{2},1>(n1315);
          int iy1325#1 = Add<int>(t11326,t21327);
          addr(IMAGE2D<float>) a1328#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1322,iy1325);
          real4 v21319#1 = LoadVoxels<IMAGE2D<float>,4>(a1328);
          int t1131C#1 = -1;
          int t2131D#1 = Index<int{2},0>(n1315);
          int ix131B#1 = Add<int>(t1131C,t2131D);
          int t1131F#1 = 2;
          int t21320#1 = Index<int{2},1>(n1315);
          int iy131E#1 = Add<int>(t1131F,t21320);
          addr(IMAGE2D<float>) a1321#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix131B,iy131E);
          real4 v3131A#1 = LoadVoxels<IMAGE2D<float>,4>(a1321);
          real fy1342#4 = Index<real2,1>(f1313);
          real r134A#1 = 0.1e1;
          real t31347#1 = Add<real>(fy1342,r134A);
          real t21346#1 = fy1342;
          real r1349#1 = 0.1e1;
          real t11345#1 = Sub<real>(fy1342,r1349);
          real r1348#1 = 0.2e1;
          real t01344#1 = Sub<real>(fy1342,r1348);
          real4 a1343#1 = <real4>[t31347,t21346,t11345,t01344];
          real4 hy1338#1 = EvalKernel<4,bspln3,0>(a1343);
          real fx1339#4 = Index<real2,0>(f1313);
          real r1341#1 = 0.1e1;
          real t3133E#1 = Add<real>(fx1339,r1341);
          real t2133D#1 = fx1339;
          real r1340#1 = 0.1e1;
          real t1133C#1 = Sub<real>(fx1339,r1340);
          real r133F#1 = 0.2e1;
          real t0133B#1 = Sub<real>(fx1339,r133F);
          real4 a133A#1 = <real4>[t3133E,t2133D,t1133C,t0133B];
          real4 hx1337#4 = EvalKernel<4,bspln3,0>(a133A);
          real t0134C#1 = Dot<4>(v01317,hx1337);
          real t1134D#1 = Dot<4>(v11318,hx1337);
          real t2134E#1 = Dot<4>(v21319,hx1337);
          real t3134F#1 = Dot<4>(v3131A,hx1337);
          real4 tv134B#1 = <real4>[t0134C,t1134D,t2134E,t3134F];
          real _t1311#1 = Dot<4>(hy1338,tv134B);
          real2 x138F#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v030F0F);
          real2 nd1391#2 = Floor<2>(x138F);
          real2 f1390#2 = Sub<real2>(x138F,nd1391);
          int{2} n1392#8 = RealToInt<2>(nd1391);
          int t113AE#1 = -1;
          int t213AF#1 = Index<int{2},0>(n1392);
          int ix13AD#1 = Add<int>(t113AE,t213AF);
          int t113B1#1 = -1;
          int t213B2#1 = Index<int{2},1>(n1392);
          int iy13B0#1 = Add<int>(t113B1,t213B2);
          addr(IMAGE2D<int>) a13B3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy13B0);
          real4 v01394#1 = LoadVoxels<IMAGE2D<int>,4>(a13B3);
          int t113A7#1 = -1;
          int t213A8#1 = Index<int{2},0>(n1392);
          int ix13A6#1 = Add<int>(t113A7,t213A8);
          int t113AA#1 = 0;
          int t213AB#1 = Index<int{2},1>(n1392);
          int iy13A9#1 = Add<int>(t113AA,t213AB);
          addr(IMAGE2D<int>) a13AC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13A6,iy13A9);
          real4 v11395#1 = LoadVoxels<IMAGE2D<int>,4>(a13AC);
          int t113A0#1 = -1;
          int t213A1#1 = Index<int{2},0>(n1392);
          int ix139F#1 = Add<int>(t113A0,t213A1);
          int t113A3#1 = 1;
          int t213A4#1 = Index<int{2},1>(n1392);
          int iy13A2#1 = Add<int>(t113A3,t213A4);
          addr(IMAGE2D<int>) a13A5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix139F,iy13A2);
          real4 v21396#1 = LoadVoxels<IMAGE2D<int>,4>(a13A5);
          int t11399#1 = -1;
          int t2139A#1 = Index<int{2},0>(n1392);
          int ix1398#1 = Add<int>(t11399,t2139A);
          int t1139C#1 = 2;
          int t2139D#1 = Index<int{2},1>(n1392);
          int iy139B#1 = Add<int>(t1139C,t2139D);
          addr(IMAGE2D<int>) a139E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1398,iy139B);
          real4 v31397#1 = LoadVoxels<IMAGE2D<int>,4>(a139E);
          real fy13BF#4 = Index<real2,1>(f1390);
          real r13C7#1 = 0.1e1;
          real t313C4#1 = Add<real>(fy13BF,r13C7);
          real t213C3#1 = fy13BF;
          real r13C6#1 = 0.1e1;
          real t113C2#1 = Sub<real>(fy13BF,r13C6);
          real r13C5#1 = 0.2e1;
          real t013C1#1 = Sub<real>(fy13BF,r13C5);
          real4 a13C0#1 = <real4>[t313C4,t213C3,t113C2,t013C1];
          real4 hy13B5#1 = EvalKernel<4,bspln3,0>(a13C0);
          real fx13B6#4 = Index<real2,0>(f1390);
          real r13BE#1 = 0.1e1;
          real t313BB#1 = Add<real>(fx13B6,r13BE);
          real t213BA#1 = fx13B6;
          real r13BD#1 = 0.1e1;
          real t113B9#1 = Sub<real>(fx13B6,r13BD);
          real r13BC#1 = 0.2e1;
          real t013B8#1 = Sub<real>(fx13B6,r13BC);
          real4 a13B7#1 = <real4>[t313BB,t213BA,t113B9,t013B8];
          real4 hx13B4#4 = EvalKernel<4,bspln3,0>(a13B7);
          real t013C9#1 = Dot<4>(v01394,hx13B4);
          real t113CA#1 = Dot<4>(v11395,hx13B4);
          real t213CB#1 = Dot<4>(v21396,hx13B4);
          real t313CC#1 = Dot<4>(v31397,hx13B4);
          real4 tv13C8#1 = <real4>[t013C9,t113CA,t213CB,t313CC];
          real _t138E#1 = Dot<4>(hy13B5,tv13C8);
          real _t140B#2 = Sub<real>(_t1311,_t138E);
          real _t140D#1 = Mul<real>(_t140B,_t140B);
          real score140F#1 = Add<real>(score12FA,_t140D);
          goto JOIN1412
        JOIN1412:  preds = [ASSIGN1410,COND1310]
          real score1411#2 = phi(score140F,score12FA)
          real _t1413#1 = Dot<2>(r00FA5,v040F11);
          real _t1415#1 = Dot<2>(r10FAB,v040F11);
          real2 _t1417#1 = <real2>[_t1413,_t1415];
          real2 pos1419#2 = Add<real2>(_t1417,_t0FBB);
          real2 x141C#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1419);
          bool _t141B#1 = Inside<IMAGE2D<float>,2>(x141C,_t0EFD);
          if _t141B then goto ASSIGN1422 else goto ASSIGN3088
        ASSIGN1422:  preds = [COND141F]
          real2 x1421#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v040F11);
          bool _t1420#1 = Inside<IMAGE2D<int>,2>(x1421,_t0EF9);
          goto JOIN1426
        JOIN1426:  preds = [ASSIGN1423,ASSIGN3088]
          bool _t1424#1 = phi(_t1420,_t1425)
          if _t1424 then goto ASSIGN1467 else goto JOIN1529
        ASSIGN1467:  preds = [COND1427]
          real2 x1429#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1419);
          real2 nd142B#2 = Floor<2>(x1429);
          real2 f142A#2 = Sub<real2>(x1429,nd142B);
          int{2} n142C#8 = RealToInt<2>(nd142B);
          int t11448#1 = -1;
          int t21449#1 = Index<int{2},0>(n142C);
          int ix1447#1 = Add<int>(t11448,t21449);
          int t1144B#1 = -1;
          int t2144C#1 = Index<int{2},1>(n142C);
          int iy144A#1 = Add<int>(t1144B,t2144C);
          addr(IMAGE2D<float>) a144D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy144A);
          real4 v0142E#1 = LoadVoxels<IMAGE2D<float>,4>(a144D);
          int t11441#1 = -1;
          int t21442#1 = Index<int{2},0>(n142C);
          int ix1440#1 = Add<int>(t11441,t21442);
          int t11444#1 = 0;
          int t21445#1 = Index<int{2},1>(n142C);
          int iy1443#1 = Add<int>(t11444,t21445);
          addr(IMAGE2D<float>) a1446#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1440,iy1443);
          real4 v1142F#1 = LoadVoxels<IMAGE2D<float>,4>(a1446);
          int t1143A#1 = -1;
          int t2143B#1 = Index<int{2},0>(n142C);
          int ix1439#1 = Add<int>(t1143A,t2143B);
          int t1143D#1 = 1;
          int t2143E#1 = Index<int{2},1>(n142C);
          int iy143C#1 = Add<int>(t1143D,t2143E);
          addr(IMAGE2D<float>) a143F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1439,iy143C);
          real4 v21430#1 = LoadVoxels<IMAGE2D<float>,4>(a143F);
          int t11433#1 = -1;
          int t21434#1 = Index<int{2},0>(n142C);
          int ix1432#1 = Add<int>(t11433,t21434);
          int t11436#1 = 2;
          int t21437#1 = Index<int{2},1>(n142C);
          int iy1435#1 = Add<int>(t11436,t21437);
          addr(IMAGE2D<float>) a1438#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1432,iy1435);
          real4 v31431#1 = LoadVoxels<IMAGE2D<float>,4>(a1438);
          real fy1459#4 = Index<real2,1>(f142A);
          real r1461#1 = 0.1e1;
          real t3145E#1 = Add<real>(fy1459,r1461);
          real t2145D#1 = fy1459;
          real r1460#1 = 0.1e1;
          real t1145C#1 = Sub<real>(fy1459,r1460);
          real r145F#1 = 0.2e1;
          real t0145B#1 = Sub<real>(fy1459,r145F);
          real4 a145A#1 = <real4>[t3145E,t2145D,t1145C,t0145B];
          real4 hy144F#1 = EvalKernel<4,bspln3,0>(a145A);
          real fx1450#4 = Index<real2,0>(f142A);
          real r1458#1 = 0.1e1;
          real t31455#1 = Add<real>(fx1450,r1458);
          real t21454#1 = fx1450;
          real r1457#1 = 0.1e1;
          real t11453#1 = Sub<real>(fx1450,r1457);
          real r1456#1 = 0.2e1;
          real t01452#1 = Sub<real>(fx1450,r1456);
          real4 a1451#1 = <real4>[t31455,t21454,t11453,t01452];
          real4 hx144E#4 = EvalKernel<4,bspln3,0>(a1451);
          real t01463#1 = Dot<4>(v0142E,hx144E);
          real t11464#1 = Dot<4>(v1142F,hx144E);
          real t21465#1 = Dot<4>(v21430,hx144E);
          real t31466#1 = Dot<4>(v31431,hx144E);
          real4 tv1462#1 = <real4>[t01463,t11464,t21465,t31466];
          real _t1428#1 = Dot<4>(hy144F,tv1462);
          real2 x14A6#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v040F11);
          real2 nd14A8#2 = Floor<2>(x14A6);
          real2 f14A7#2 = Sub<real2>(x14A6,nd14A8);
          int{2} n14A9#8 = RealToInt<2>(nd14A8);
          int t114C5#1 = -1;
          int t214C6#1 = Index<int{2},0>(n14A9);
          int ix14C4#1 = Add<int>(t114C5,t214C6);
          int t114C8#1 = -1;
          int t214C9#1 = Index<int{2},1>(n14A9);
          int iy14C7#1 = Add<int>(t114C8,t214C9);
          addr(IMAGE2D<int>) a14CA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14C7);
          real4 v014AB#1 = LoadVoxels<IMAGE2D<int>,4>(a14CA);
          int t114BE#1 = -1;
          int t214BF#1 = Index<int{2},0>(n14A9);
          int ix14BD#1 = Add<int>(t114BE,t214BF);
          int t114C1#1 = 0;
          int t214C2#1 = Index<int{2},1>(n14A9);
          int iy14C0#1 = Add<int>(t114C1,t214C2);
          addr(IMAGE2D<int>) a14C3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14BD,iy14C0);
          real4 v114AC#1 = LoadVoxels<IMAGE2D<int>,4>(a14C3);
          int t114B7#1 = -1;
          int t214B8#1 = Index<int{2},0>(n14A9);
          int ix14B6#1 = Add<int>(t114B7,t214B8);
          int t114BA#1 = 1;
          int t214BB#1 = Index<int{2},1>(n14A9);
          int iy14B9#1 = Add<int>(t114BA,t214BB);
          addr(IMAGE2D<int>) a14BC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14B6,iy14B9);
          real4 v214AD#1 = LoadVoxels<IMAGE2D<int>,4>(a14BC);
          int t114B0#1 = -1;
          int t214B1#1 = Index<int{2},0>(n14A9);
          int ix14AF#1 = Add<int>(t114B0,t214B1);
          int t114B3#1 = 2;
          int t214B4#1 = Index<int{2},1>(n14A9);
          int iy14B2#1 = Add<int>(t114B3,t214B4);
          addr(IMAGE2D<int>) a14B5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14AF,iy14B2);
          real4 v314AE#1 = LoadVoxels<IMAGE2D<int>,4>(a14B5);
          real fy14D6#4 = Index<real2,1>(f14A7);
          real r14DE#1 = 0.1e1;
          real t314DB#1 = Add<real>(fy14D6,r14DE);
          real t214DA#1 = fy14D6;
          real r14DD#1 = 0.1e1;
          real t114D9#1 = Sub<real>(fy14D6,r14DD);
          real r14DC#1 = 0.2e1;
          real t014D8#1 = Sub<real>(fy14D6,r14DC);
          real4 a14D7#1 = <real4>[t314DB,t214DA,t114D9,t014D8];
          real4 hy14CC#1 = EvalKernel<4,bspln3,0>(a14D7);
          real fx14CD#4 = Index<real2,0>(f14A7);
          real r14D5#1 = 0.1e1;
          real t314D2#1 = Add<real>(fx14CD,r14D5);
          real t214D1#1 = fx14CD;
          real r14D4#1 = 0.1e1;
          real t114D0#1 = Sub<real>(fx14CD,r14D4);
          real r14D3#1 = 0.2e1;
          real t014CF#1 = Sub<real>(fx14CD,r14D3);
          real4 a14CE#1 = <real4>[t314D2,t214D1,t114D0,t014CF];
          real4 hx14CB#4 = EvalKernel<4,bspln3,0>(a14CE);
          real t014E0#1 = Dot<4>(v014AB,hx14CB);
          real t114E1#1 = Dot<4>(v114AC,hx14CB);
          real t214E2#1 = Dot<4>(v214AD,hx14CB);
          real t314E3#1 = Dot<4>(v314AE,hx14CB);
          real4 tv14DF#1 = <real4>[t014E0,t114E1,t214E2,t314E3];
          real _t14A5#1 = Dot<4>(hy14CC,tv14DF);
          real _t1522#2 = Sub<real>(_t1428,_t14A5);
          real _t1524#1 = Mul<real>(_t1522,_t1522);
          real score1526#1 = Add<real>(score1411,_t1524);
          goto JOIN1529
        JOIN1529:  preds = [ASSIGN1527,COND1427]
          real score1528#2 = phi(score1526,score1411)
          real _t152A#1 = Dot<2>(r00FA5,v050F17);
          real _t152C#1 = Dot<2>(r10FAB,v050F17);
          real2 _t152E#1 = <real2>[_t152A,_t152C];
          real2 pos1530#2 = Add<real2>(_t152E,_t0FBB);
          real2 x1533#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1530);
          bool _t1532#1 = Inside<IMAGE2D<float>,2>(x1533,_t0EFD);
          if _t1532 then goto ASSIGN1539 else goto ASSIGN3087
        ASSIGN1539:  preds = [COND1536]
          real2 x1538#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v050F17);
          bool _t1537#1 = Inside<IMAGE2D<int>,2>(x1538,_t0EF9);
          goto JOIN153D
        JOIN153D:  preds = [ASSIGN153A,ASSIGN3087]
          bool _t153B#1 = phi(_t1537,_t153C)
          if _t153B then goto ASSIGN157E else goto JOIN1640
        ASSIGN157E:  preds = [COND153E]
          real2 x1540#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1530);
          real2 nd1542#2 = Floor<2>(x1540);
          real2 f1541#2 = Sub<real2>(x1540,nd1542);
          int{2} n1543#8 = RealToInt<2>(nd1542);
          int t1155F#1 = -1;
          int t21560#1 = Index<int{2},0>(n1543);
          int ix155E#1 = Add<int>(t1155F,t21560);
          int t11562#1 = -1;
          int t21563#1 = Index<int{2},1>(n1543);
          int iy1561#1 = Add<int>(t11562,t21563);
          addr(IMAGE2D<float>) a1564#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy1561);
          real4 v01545#1 = LoadVoxels<IMAGE2D<float>,4>(a1564);
          int t11558#1 = -1;
          int t21559#1 = Index<int{2},0>(n1543);
          int ix1557#1 = Add<int>(t11558,t21559);
          int t1155B#1 = 0;
          int t2155C#1 = Index<int{2},1>(n1543);
          int iy155A#1 = Add<int>(t1155B,t2155C);
          addr(IMAGE2D<float>) a155D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1557,iy155A);
          real4 v11546#1 = LoadVoxels<IMAGE2D<float>,4>(a155D);
          int t11551#1 = -1;
          int t21552#1 = Index<int{2},0>(n1543);
          int ix1550#1 = Add<int>(t11551,t21552);
          int t11554#1 = 1;
          int t21555#1 = Index<int{2},1>(n1543);
          int iy1553#1 = Add<int>(t11554,t21555);
          addr(IMAGE2D<float>) a1556#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1550,iy1553);
          real4 v21547#1 = LoadVoxels<IMAGE2D<float>,4>(a1556);
          int t1154A#1 = -1;
          int t2154B#1 = Index<int{2},0>(n1543);
          int ix1549#1 = Add<int>(t1154A,t2154B);
          int t1154D#1 = 2;
          int t2154E#1 = Index<int{2},1>(n1543);
          int iy154C#1 = Add<int>(t1154D,t2154E);
          addr(IMAGE2D<float>) a154F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1549,iy154C);
          real4 v31548#1 = LoadVoxels<IMAGE2D<float>,4>(a154F);
          real fy1570#4 = Index<real2,1>(f1541);
          real r1578#1 = 0.1e1;
          real t31575#1 = Add<real>(fy1570,r1578);
          real t21574#1 = fy1570;
          real r1577#1 = 0.1e1;
          real t11573#1 = Sub<real>(fy1570,r1577);
          real r1576#1 = 0.2e1;
          real t01572#1 = Sub<real>(fy1570,r1576);
          real4 a1571#1 = <real4>[t31575,t21574,t11573,t01572];
          real4 hy1566#1 = EvalKernel<4,bspln3,0>(a1571);
          real fx1567#4 = Index<real2,0>(f1541);
          real r156F#1 = 0.1e1;
          real t3156C#1 = Add<real>(fx1567,r156F);
          real t2156B#1 = fx1567;
          real r156E#1 = 0.1e1;
          real t1156A#1 = Sub<real>(fx1567,r156E);
          real r156D#1 = 0.2e1;
          real t01569#1 = Sub<real>(fx1567,r156D);
          real4 a1568#1 = <real4>[t3156C,t2156B,t1156A,t01569];
          real4 hx1565#4 = EvalKernel<4,bspln3,0>(a1568);
          real t0157A#1 = Dot<4>(v01545,hx1565);
          real t1157B#1 = Dot<4>(v11546,hx1565);
          real t2157C#1 = Dot<4>(v21547,hx1565);
          real t3157D#1 = Dot<4>(v31548,hx1565);
          real4 tv1579#1 = <real4>[t0157A,t1157B,t2157C,t3157D];
          real _t153F#1 = Dot<4>(hy1566,tv1579);
          real2 x15BD#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v050F17);
          real2 nd15BF#2 = Floor<2>(x15BD);
          real2 f15BE#2 = Sub<real2>(x15BD,nd15BF);
          int{2} n15C0#8 = RealToInt<2>(nd15BF);
          int t115DC#1 = -1;
          int t215DD#1 = Index<int{2},0>(n15C0);
          int ix15DB#1 = Add<int>(t115DC,t215DD);
          int t115DF#1 = -1;
          int t215E0#1 = Index<int{2},1>(n15C0);
          int iy15DE#1 = Add<int>(t115DF,t215E0);
          addr(IMAGE2D<int>) a15E1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15DE);
          real4 v015C2#1 = LoadVoxels<IMAGE2D<int>,4>(a15E1);
          int t115D5#1 = -1;
          int t215D6#1 = Index<int{2},0>(n15C0);
          int ix15D4#1 = Add<int>(t115D5,t215D6);
          int t115D8#1 = 0;
          int t215D9#1 = Index<int{2},1>(n15C0);
          int iy15D7#1 = Add<int>(t115D8,t215D9);
          addr(IMAGE2D<int>) a15DA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15D4,iy15D7);
          real4 v115C3#1 = LoadVoxels<IMAGE2D<int>,4>(a15DA);
          int t115CE#1 = -1;
          int t215CF#1 = Index<int{2},0>(n15C0);
          int ix15CD#1 = Add<int>(t115CE,t215CF);
          int t115D1#1 = 1;
          int t215D2#1 = Index<int{2},1>(n15C0);
          int iy15D0#1 = Add<int>(t115D1,t215D2);
          addr(IMAGE2D<int>) a15D3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15CD,iy15D0);
          real4 v215C4#1 = LoadVoxels<IMAGE2D<int>,4>(a15D3);
          int t115C7#1 = -1;
          int t215C8#1 = Index<int{2},0>(n15C0);
          int ix15C6#1 = Add<int>(t115C7,t215C8);
          int t115CA#1 = 2;
          int t215CB#1 = Index<int{2},1>(n15C0);
          int iy15C9#1 = Add<int>(t115CA,t215CB);
          addr(IMAGE2D<int>) a15CC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15C6,iy15C9);
          real4 v315C5#1 = LoadVoxels<IMAGE2D<int>,4>(a15CC);
          real fy15ED#4 = Index<real2,1>(f15BE);
          real r15F5#1 = 0.1e1;
          real t315F2#1 = Add<real>(fy15ED,r15F5);
          real t215F1#1 = fy15ED;
          real r15F4#1 = 0.1e1;
          real t115F0#1 = Sub<real>(fy15ED,r15F4);
          real r15F3#1 = 0.2e1;
          real t015EF#1 = Sub<real>(fy15ED,r15F3);
          real4 a15EE#1 = <real4>[t315F2,t215F1,t115F0,t015EF];
          real4 hy15E3#1 = EvalKernel<4,bspln3,0>(a15EE);
          real fx15E4#4 = Index<real2,0>(f15BE);
          real r15EC#1 = 0.1e1;
          real t315E9#1 = Add<real>(fx15E4,r15EC);
          real t215E8#1 = fx15E4;
          real r15EB#1 = 0.1e1;
          real t115E7#1 = Sub<real>(fx15E4,r15EB);
          real r15EA#1 = 0.2e1;
          real t015E6#1 = Sub<real>(fx15E4,r15EA);
          real4 a15E5#1 = <real4>[t315E9,t215E8,t115E7,t015E6];
          real4 hx15E2#4 = EvalKernel<4,bspln3,0>(a15E5);
          real t015F7#1 = Dot<4>(v015C2,hx15E2);
          real t115F8#1 = Dot<4>(v115C3,hx15E2);
          real t215F9#1 = Dot<4>(v215C4,hx15E2);
          real t315FA#1 = Dot<4>(v315C5,hx15E2);
          real4 tv15F6#1 = <real4>[t015F7,t115F8,t215F9,t315FA];
          real _t15BC#1 = Dot<4>(hy15E3,tv15F6);
          real _t1639#2 = Sub<real>(_t153F,_t15BC);
          real _t163B#1 = Mul<real>(_t1639,_t1639);
          real score163D#1 = Add<real>(score1528,_t163B);
          goto JOIN1640
        JOIN1640:  preds = [ASSIGN163E,COND153E]
          real score163F#2 = phi(score163D,score1528)
          real _t1641#1 = Dot<2>(r00FA5,v060F19);
          real _t1643#1 = Dot<2>(r10FAB,v060F19);
          real2 _t1645#1 = <real2>[_t1641,_t1643];
          real2 pos1647#2 = Add<real2>(_t1645,_t0FBB);
          real2 x164A#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1647);
          bool _t1649#1 = Inside<IMAGE2D<float>,2>(x164A,_t0EFD);
          if _t1649 then goto ASSIGN1650 else goto ASSIGN3086
        ASSIGN1650:  preds = [COND164D]
          real2 x164F#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v060F19);
          bool _t164E#1 = Inside<IMAGE2D<int>,2>(x164F,_t0EF9);
          goto JOIN1654
        JOIN1654:  preds = [ASSIGN1651,ASSIGN3086]
          bool _t1652#1 = phi(_t164E,_t1653)
          if _t1652 then goto ASSIGN1695 else goto JOIN1757
        ASSIGN1695:  preds = [COND1655]
          real2 x1657#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1647);
          real2 nd1659#2 = Floor<2>(x1657);
          real2 f1658#2 = Sub<real2>(x1657,nd1659);
          int{2} n165A#8 = RealToInt<2>(nd1659);
          int t11676#1 = -1;
          int t21677#1 = Index<int{2},0>(n165A);
          int ix1675#1 = Add<int>(t11676,t21677);
          int t11679#1 = -1;
          int t2167A#1 = Index<int{2},1>(n165A);
          int iy1678#1 = Add<int>(t11679,t2167A);
          addr(IMAGE2D<float>) a167B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy1678);
          real4 v0165C#1 = LoadVoxels<IMAGE2D<float>,4>(a167B);
          int t1166F#1 = -1;
          int t21670#1 = Index<int{2},0>(n165A);
          int ix166E#1 = Add<int>(t1166F,t21670);
          int t11672#1 = 0;
          int t21673#1 = Index<int{2},1>(n165A);
          int iy1671#1 = Add<int>(t11672,t21673);
          addr(IMAGE2D<float>) a1674#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix166E,iy1671);
          real4 v1165D#1 = LoadVoxels<IMAGE2D<float>,4>(a1674);
          int t11668#1 = -1;
          int t21669#1 = Index<int{2},0>(n165A);
          int ix1667#1 = Add<int>(t11668,t21669);
          int t1166B#1 = 1;
          int t2166C#1 = Index<int{2},1>(n165A);
          int iy166A#1 = Add<int>(t1166B,t2166C);
          addr(IMAGE2D<float>) a166D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1667,iy166A);
          real4 v2165E#1 = LoadVoxels<IMAGE2D<float>,4>(a166D);
          int t11661#1 = -1;
          int t21662#1 = Index<int{2},0>(n165A);
          int ix1660#1 = Add<int>(t11661,t21662);
          int t11664#1 = 2;
          int t21665#1 = Index<int{2},1>(n165A);
          int iy1663#1 = Add<int>(t11664,t21665);
          addr(IMAGE2D<float>) a1666#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1660,iy1663);
          real4 v3165F#1 = LoadVoxels<IMAGE2D<float>,4>(a1666);
          real fy1687#4 = Index<real2,1>(f1658);
          real r168F#1 = 0.1e1;
          real t3168C#1 = Add<real>(fy1687,r168F);
          real t2168B#1 = fy1687;
          real r168E#1 = 0.1e1;
          real t1168A#1 = Sub<real>(fy1687,r168E);
          real r168D#1 = 0.2e1;
          real t01689#1 = Sub<real>(fy1687,r168D);
          real4 a1688#1 = <real4>[t3168C,t2168B,t1168A,t01689];
          real4 hy167D#1 = EvalKernel<4,bspln3,0>(a1688);
          real fx167E#4 = Index<real2,0>(f1658);
          real r1686#1 = 0.1e1;
          real t31683#1 = Add<real>(fx167E,r1686);
          real t21682#1 = fx167E;
          real r1685#1 = 0.1e1;
          real t11681#1 = Sub<real>(fx167E,r1685);
          real r1684#1 = 0.2e1;
          real t01680#1 = Sub<real>(fx167E,r1684);
          real4 a167F#1 = <real4>[t31683,t21682,t11681,t01680];
          real4 hx167C#4 = EvalKernel<4,bspln3,0>(a167F);
          real t01691#1 = Dot<4>(v0165C,hx167C);
          real t11692#1 = Dot<4>(v1165D,hx167C);
          real t21693#1 = Dot<4>(v2165E,hx167C);
          real t31694#1 = Dot<4>(v3165F,hx167C);
          real4 tv1690#1 = <real4>[t01691,t11692,t21693,t31694];
          real _t1656#1 = Dot<4>(hy167D,tv1690);
          real2 x16D4#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v060F19);
          real2 nd16D6#2 = Floor<2>(x16D4);
          real2 f16D5#2 = Sub<real2>(x16D4,nd16D6);
          int{2} n16D7#8 = RealToInt<2>(nd16D6);
          int t116F3#1 = -1;
          int t216F4#1 = Index<int{2},0>(n16D7);
          int ix16F2#1 = Add<int>(t116F3,t216F4);
          int t116F6#1 = -1;
          int t216F7#1 = Index<int{2},1>(n16D7);
          int iy16F5#1 = Add<int>(t116F6,t216F7);
          addr(IMAGE2D<int>) a16F8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16F5);
          real4 v016D9#1 = LoadVoxels<IMAGE2D<int>,4>(a16F8);
          int t116EC#1 = -1;
          int t216ED#1 = Index<int{2},0>(n16D7);
          int ix16EB#1 = Add<int>(t116EC,t216ED);
          int t116EF#1 = 0;
          int t216F0#1 = Index<int{2},1>(n16D7);
          int iy16EE#1 = Add<int>(t116EF,t216F0);
          addr(IMAGE2D<int>) a16F1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16EB,iy16EE);
          real4 v116DA#1 = LoadVoxels<IMAGE2D<int>,4>(a16F1);
          int t116E5#1 = -1;
          int t216E6#1 = Index<int{2},0>(n16D7);
          int ix16E4#1 = Add<int>(t116E5,t216E6);
          int t116E8#1 = 1;
          int t216E9#1 = Index<int{2},1>(n16D7);
          int iy16E7#1 = Add<int>(t116E8,t216E9);
          addr(IMAGE2D<int>) a16EA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16E4,iy16E7);
          real4 v216DB#1 = LoadVoxels<IMAGE2D<int>,4>(a16EA);
          int t116DE#1 = -1;
          int t216DF#1 = Index<int{2},0>(n16D7);
          int ix16DD#1 = Add<int>(t116DE,t216DF);
          int t116E1#1 = 2;
          int t216E2#1 = Index<int{2},1>(n16D7);
          int iy16E0#1 = Add<int>(t116E1,t216E2);
          addr(IMAGE2D<int>) a16E3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16DD,iy16E0);
          real4 v316DC#1 = LoadVoxels<IMAGE2D<int>,4>(a16E3);
          real fy1704#4 = Index<real2,1>(f16D5);
          real r170C#1 = 0.1e1;
          real t31709#1 = Add<real>(fy1704,r170C);
          real t21708#1 = fy1704;
          real r170B#1 = 0.1e1;
          real t11707#1 = Sub<real>(fy1704,r170B);
          real r170A#1 = 0.2e1;
          real t01706#1 = Sub<real>(fy1704,r170A);
          real4 a1705#1 = <real4>[t31709,t21708,t11707,t01706];
          real4 hy16FA#1 = EvalKernel<4,bspln3,0>(a1705);
          real fx16FB#4 = Index<real2,0>(f16D5);
          real r1703#1 = 0.1e1;
          real t31700#1 = Add<real>(fx16FB,r1703);
          real t216FF#1 = fx16FB;
          real r1702#1 = 0.1e1;
          real t116FE#1 = Sub<real>(fx16FB,r1702);
          real r1701#1 = 0.2e1;
          real t016FD#1 = Sub<real>(fx16FB,r1701);
          real4 a16FC#1 = <real4>[t31700,t216FF,t116FE,t016FD];
          real4 hx16F9#4 = EvalKernel<4,bspln3,0>(a16FC);
          real t0170E#1 = Dot<4>(v016D9,hx16F9);
          real t1170F#1 = Dot<4>(v116DA,hx16F9);
          real t21710#1 = Dot<4>(v216DB,hx16F9);
          real t31711#1 = Dot<4>(v316DC,hx16F9);
          real4 tv170D#1 = <real4>[t0170E,t1170F,t21710,t31711];
          real _t16D3#1 = Dot<4>(hy16FA,tv170D);
          real _t1750#2 = Sub<real>(_t1656,_t16D3);
          real _t1752#1 = Mul<real>(_t1750,_t1750);
          real score1754#1 = Add<real>(score163F,_t1752);
          goto JOIN1757
        JOIN1757:  preds = [ASSIGN1755,COND1655]
          real score1756#2 = phi(score1754,score163F)
          real _t1758#1 = Dot<2>(r00FA5,v070F1B);
          real _t175A#1 = Dot<2>(r10FAB,v070F1B);
          real2 _t175C#1 = <real2>[_t1758,_t175A];
          real2 pos175E#2 = Add<real2>(_t175C,_t0FBB);
          real2 x1761#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos175E);
          bool _t1760#1 = Inside<IMAGE2D<float>,2>(x1761,_t0EFD);
          if _t1760 then goto ASSIGN1767 else goto ASSIGN3085
        ASSIGN1767:  preds = [COND1764]
          real2 x1766#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v070F1B);
          bool _t1765#1 = Inside<IMAGE2D<int>,2>(x1766,_t0EF9);
          goto JOIN176B
        JOIN176B:  preds = [ASSIGN1768,ASSIGN3085]
          bool _t1769#1 = phi(_t1765,_t176A)
          if _t1769 then goto ASSIGN17AC else goto JOIN186E
        ASSIGN17AC:  preds = [COND176C]
          real2 x176E#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos175E);
          real2 nd1770#2 = Floor<2>(x176E);
          real2 f176F#2 = Sub<real2>(x176E,nd1770);
          int{2} n1771#8 = RealToInt<2>(nd1770);
          int t1178D#1 = -1;
          int t2178E#1 = Index<int{2},0>(n1771);
          int ix178C#1 = Add<int>(t1178D,t2178E);
          int t11790#1 = -1;
          int t21791#1 = Index<int{2},1>(n1771);
          int iy178F#1 = Add<int>(t11790,t21791);
          addr(IMAGE2D<float>) a1792#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy178F);
          real4 v01773#1 = LoadVoxels<IMAGE2D<float>,4>(a1792);
          int t11786#1 = -1;
          int t21787#1 = Index<int{2},0>(n1771);
          int ix1785#1 = Add<int>(t11786,t21787);
          int t11789#1 = 0;
          int t2178A#1 = Index<int{2},1>(n1771);
          int iy1788#1 = Add<int>(t11789,t2178A);
          addr(IMAGE2D<float>) a178B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1785,iy1788);
          real4 v11774#1 = LoadVoxels<IMAGE2D<float>,4>(a178B);
          int t1177F#1 = -1;
          int t21780#1 = Index<int{2},0>(n1771);
          int ix177E#1 = Add<int>(t1177F,t21780);
          int t11782#1 = 1;
          int t21783#1 = Index<int{2},1>(n1771);
          int iy1781#1 = Add<int>(t11782,t21783);
          addr(IMAGE2D<float>) a1784#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix177E,iy1781);
          real4 v21775#1 = LoadVoxels<IMAGE2D<float>,4>(a1784);
          int t11778#1 = -1;
          int t21779#1 = Index<int{2},0>(n1771);
          int ix1777#1 = Add<int>(t11778,t21779);
          int t1177B#1 = 2;
          int t2177C#1 = Index<int{2},1>(n1771);
          int iy177A#1 = Add<int>(t1177B,t2177C);
          addr(IMAGE2D<float>) a177D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1777,iy177A);
          real4 v31776#1 = LoadVoxels<IMAGE2D<float>,4>(a177D);
          real fy179E#4 = Index<real2,1>(f176F);
          real r17A6#1 = 0.1e1;
          real t317A3#1 = Add<real>(fy179E,r17A6);
          real t217A2#1 = fy179E;
          real r17A5#1 = 0.1e1;
          real t117A1#1 = Sub<real>(fy179E,r17A5);
          real r17A4#1 = 0.2e1;
          real t017A0#1 = Sub<real>(fy179E,r17A4);
          real4 a179F#1 = <real4>[t317A3,t217A2,t117A1,t017A0];
          real4 hy1794#1 = EvalKernel<4,bspln3,0>(a179F);
          real fx1795#4 = Index<real2,0>(f176F);
          real r179D#1 = 0.1e1;
          real t3179A#1 = Add<real>(fx1795,r179D);
          real t21799#1 = fx1795;
          real r179C#1 = 0.1e1;
          real t11798#1 = Sub<real>(fx1795,r179C);
          real r179B#1 = 0.2e1;
          real t01797#1 = Sub<real>(fx1795,r179B);
          real4 a1796#1 = <real4>[t3179A,t21799,t11798,t01797];
          real4 hx1793#4 = EvalKernel<4,bspln3,0>(a1796);
          real t017A8#1 = Dot<4>(v01773,hx1793);
          real t117A9#1 = Dot<4>(v11774,hx1793);
          real t217AA#1 = Dot<4>(v21775,hx1793);
          real t317AB#1 = Dot<4>(v31776,hx1793);
          real4 tv17A7#1 = <real4>[t017A8,t117A9,t217AA,t317AB];
          real _t176D#1 = Dot<4>(hy1794,tv17A7);
          real2 x17EB#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v070F1B);
          real2 nd17ED#2 = Floor<2>(x17EB);
          real2 f17EC#2 = Sub<real2>(x17EB,nd17ED);
          int{2} n17EE#8 = RealToInt<2>(nd17ED);
          int t1180A#1 = -1;
          int t2180B#1 = Index<int{2},0>(n17EE);
          int ix1809#1 = Add<int>(t1180A,t2180B);
          int t1180D#1 = -1;
          int t2180E#1 = Index<int{2},1>(n17EE);
          int iy180C#1 = Add<int>(t1180D,t2180E);
          addr(IMAGE2D<int>) a180F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy180C);
          real4 v017F0#1 = LoadVoxels<IMAGE2D<int>,4>(a180F);
          int t11803#1 = -1;
          int t21804#1 = Index<int{2},0>(n17EE);
          int ix1802#1 = Add<int>(t11803,t21804);
          int t11806#1 = 0;
          int t21807#1 = Index<int{2},1>(n17EE);
          int iy1805#1 = Add<int>(t11806,t21807);
          addr(IMAGE2D<int>) a1808#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1802,iy1805);
          real4 v117F1#1 = LoadVoxels<IMAGE2D<int>,4>(a1808);
          int t117FC#1 = -1;
          int t217FD#1 = Index<int{2},0>(n17EE);
          int ix17FB#1 = Add<int>(t117FC,t217FD);
          int t117FF#1 = 1;
          int t21800#1 = Index<int{2},1>(n17EE);
          int iy17FE#1 = Add<int>(t117FF,t21800);
          addr(IMAGE2D<int>) a1801#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix17FB,iy17FE);
          real4 v217F2#1 = LoadVoxels<IMAGE2D<int>,4>(a1801);
          int t117F5#1 = -1;
          int t217F6#1 = Index<int{2},0>(n17EE);
          int ix17F4#1 = Add<int>(t117F5,t217F6);
          int t117F8#1 = 2;
          int t217F9#1 = Index<int{2},1>(n17EE);
          int iy17F7#1 = Add<int>(t117F8,t217F9);
          addr(IMAGE2D<int>) a17FA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix17F4,iy17F7);
          real4 v317F3#1 = LoadVoxels<IMAGE2D<int>,4>(a17FA);
          real fy181B#4 = Index<real2,1>(f17EC);
          real r1823#1 = 0.1e1;
          real t31820#1 = Add<real>(fy181B,r1823);
          real t2181F#1 = fy181B;
          real r1822#1 = 0.1e1;
          real t1181E#1 = Sub<real>(fy181B,r1822);
          real r1821#1 = 0.2e1;
          real t0181D#1 = Sub<real>(fy181B,r1821);
          real4 a181C#1 = <real4>[t31820,t2181F,t1181E,t0181D];
          real4 hy1811#1 = EvalKernel<4,bspln3,0>(a181C);
          real fx1812#4 = Index<real2,0>(f17EC);
          real r181A#1 = 0.1e1;
          real t31817#1 = Add<real>(fx1812,r181A);
          real t21816#1 = fx1812;
          real r1819#1 = 0.1e1;
          real t11815#1 = Sub<real>(fx1812,r1819);
          real r1818#1 = 0.2e1;
          real t01814#1 = Sub<real>(fx1812,r1818);
          real4 a1813#1 = <real4>[t31817,t21816,t11815,t01814];
          real4 hx1810#4 = EvalKernel<4,bspln3,0>(a1813);
          real t01825#1 = Dot<4>(v017F0,hx1810);
          real t11826#1 = Dot<4>(v117F1,hx1810);
          real t21827#1 = Dot<4>(v217F2,hx1810);
          real t31828#1 = Dot<4>(v317F3,hx1810);
          real4 tv1824#1 = <real4>[t01825,t11826,t21827,t31828];
          real _t17EA#1 = Dot<4>(hy1811,tv1824);
          real _t1867#2 = Sub<real>(_t176D,_t17EA);
          real _t1869#1 = Mul<real>(_t1867,_t1867);
          real score186B#1 = Add<real>(score1756,_t1869);
          goto JOIN186E
        JOIN186E:  preds = [ASSIGN186C,COND176C]
          real score186D#2 = phi(score186B,score1756)
          real _t186F#1 = Dot<2>(r00FA5,v080F1D);
          real _t1871#1 = Dot<2>(r10FAB,v080F1D);
          real2 _t1873#1 = <real2>[_t186F,_t1871];
          real2 pos1875#2 = Add<real2>(_t1873,_t0FBB);
          real2 x1878#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1875);
          bool _t1877#1 = Inside<IMAGE2D<float>,2>(x1878,_t0EFD);
          if _t1877 then goto ASSIGN187E else goto ASSIGN3084
        ASSIGN187E:  preds = [COND187B]
          real2 x187D#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v080F1D);
          bool _t187C#1 = Inside<IMAGE2D<int>,2>(x187D,_t0EF9);
          goto JOIN1882
        JOIN1882:  preds = [ASSIGN187F,ASSIGN3084]
          bool _t1880#1 = phi(_t187C,_t1881)
          if _t1880 then goto ASSIGN18C3 else goto JOIN1985
        ASSIGN18C3:  preds = [COND1883]
          real2 x1885#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1875);
          real2 nd1887#2 = Floor<2>(x1885);
          real2 f1886#2 = Sub<real2>(x1885,nd1887);
          int{2} n1888#8 = RealToInt<2>(nd1887);
          int t118A4#1 = -1;
          int t218A5#1 = Index<int{2},0>(n1888);
          int ix18A3#1 = Add<int>(t118A4,t218A5);
          int t118A7#1 = -1;
          int t218A8#1 = Index<int{2},1>(n1888);
          int iy18A6#1 = Add<int>(t118A7,t218A8);
          addr(IMAGE2D<float>) a18A9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy18A6);
          real4 v0188A#1 = LoadVoxels<IMAGE2D<float>,4>(a18A9);
          int t1189D#1 = -1;
          int t2189E#1 = Index<int{2},0>(n1888);
          int ix189C#1 = Add<int>(t1189D,t2189E);
          int t118A0#1 = 0;
          int t218A1#1 = Index<int{2},1>(n1888);
          int iy189F#1 = Add<int>(t118A0,t218A1);
          addr(IMAGE2D<float>) a18A2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix189C,iy189F);
          real4 v1188B#1 = LoadVoxels<IMAGE2D<float>,4>(a18A2);
          int t11896#1 = -1;
          int t21897#1 = Index<int{2},0>(n1888);
          int ix1895#1 = Add<int>(t11896,t21897);
          int t11899#1 = 1;
          int t2189A#1 = Index<int{2},1>(n1888);
          int iy1898#1 = Add<int>(t11899,t2189A);
          addr(IMAGE2D<float>) a189B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1895,iy1898);
          real4 v2188C#1 = LoadVoxels<IMAGE2D<float>,4>(a189B);
          int t1188F#1 = -1;
          int t21890#1 = Index<int{2},0>(n1888);
          int ix188E#1 = Add<int>(t1188F,t21890);
          int t11892#1 = 2;
          int t21893#1 = Index<int{2},1>(n1888);
          int iy1891#1 = Add<int>(t11892,t21893);
          addr(IMAGE2D<float>) a1894#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix188E,iy1891);
          real4 v3188D#1 = LoadVoxels<IMAGE2D<float>,4>(a1894);
          real fy18B5#4 = Index<real2,1>(f1886);
          real r18BD#1 = 0.1e1;
          real t318BA#1 = Add<real>(fy18B5,r18BD);
          real t218B9#1 = fy18B5;
          real r18BC#1 = 0.1e1;
          real t118B8#1 = Sub<real>(fy18B5,r18BC);
          real r18BB#1 = 0.2e1;
          real t018B7#1 = Sub<real>(fy18B5,r18BB);
          real4 a18B6#1 = <real4>[t318BA,t218B9,t118B8,t018B7];
          real4 hy18AB#1 = EvalKernel<4,bspln3,0>(a18B6);
          real fx18AC#4 = Index<real2,0>(f1886);
          real r18B4#1 = 0.1e1;
          real t318B1#1 = Add<real>(fx18AC,r18B4);
          real t218B0#1 = fx18AC;
          real r18B3#1 = 0.1e1;
          real t118AF#1 = Sub<real>(fx18AC,r18B3);
          real r18B2#1 = 0.2e1;
          real t018AE#1 = Sub<real>(fx18AC,r18B2);
          real4 a18AD#1 = <real4>[t318B1,t218B0,t118AF,t018AE];
          real4 hx18AA#4 = EvalKernel<4,bspln3,0>(a18AD);
          real t018BF#1 = Dot<4>(v0188A,hx18AA);
          real t118C0#1 = Dot<4>(v1188B,hx18AA);
          real t218C1#1 = Dot<4>(v2188C,hx18AA);
          real t318C2#1 = Dot<4>(v3188D,hx18AA);
          real4 tv18BE#1 = <real4>[t018BF,t118C0,t218C1,t318C2];
          real _t1884#1 = Dot<4>(hy18AB,tv18BE);
          real2 x1902#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v080F1D);
          real2 nd1904#2 = Floor<2>(x1902);
          real2 f1903#2 = Sub<real2>(x1902,nd1904);
          int{2} n1905#8 = RealToInt<2>(nd1904);
          int t11921#1 = -1;
          int t21922#1 = Index<int{2},0>(n1905);
          int ix1920#1 = Add<int>(t11921,t21922);
          int t11924#1 = -1;
          int t21925#1 = Index<int{2},1>(n1905);
          int iy1923#1 = Add<int>(t11924,t21925);
          addr(IMAGE2D<int>) a1926#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy1923);
          real4 v01907#1 = LoadVoxels<IMAGE2D<int>,4>(a1926);
          int t1191A#1 = -1;
          int t2191B#1 = Index<int{2},0>(n1905);
          int ix1919#1 = Add<int>(t1191A,t2191B);
          int t1191D#1 = 0;
          int t2191E#1 = Index<int{2},1>(n1905);
          int iy191C#1 = Add<int>(t1191D,t2191E);
          addr(IMAGE2D<int>) a191F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1919,iy191C);
          real4 v11908#1 = LoadVoxels<IMAGE2D<int>,4>(a191F);
          int t11913#1 = -1;
          int t21914#1 = Index<int{2},0>(n1905);
          int ix1912#1 = Add<int>(t11913,t21914);
          int t11916#1 = 1;
          int t21917#1 = Index<int{2},1>(n1905);
          int iy1915#1 = Add<int>(t11916,t21917);
          addr(IMAGE2D<int>) a1918#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1912,iy1915);
          real4 v21909#1 = LoadVoxels<IMAGE2D<int>,4>(a1918);
          int t1190C#1 = -1;
          int t2190D#1 = Index<int{2},0>(n1905);
          int ix190B#1 = Add<int>(t1190C,t2190D);
          int t1190F#1 = 2;
          int t21910#1 = Index<int{2},1>(n1905);
          int iy190E#1 = Add<int>(t1190F,t21910);
          addr(IMAGE2D<int>) a1911#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix190B,iy190E);
          real4 v3190A#1 = LoadVoxels<IMAGE2D<int>,4>(a1911);
          real fy1932#4 = Index<real2,1>(f1903);
          real r193A#1 = 0.1e1;
          real t31937#1 = Add<real>(fy1932,r193A);
          real t21936#1 = fy1932;
          real r1939#1 = 0.1e1;
          real t11935#1 = Sub<real>(fy1932,r1939);
          real r1938#1 = 0.2e1;
          real t01934#1 = Sub<real>(fy1932,r1938);
          real4 a1933#1 = <real4>[t31937,t21936,t11935,t01934];
          real4 hy1928#1 = EvalKernel<4,bspln3,0>(a1933);
          real fx1929#4 = Index<real2,0>(f1903);
          real r1931#1 = 0.1e1;
          real t3192E#1 = Add<real>(fx1929,r1931);
          real t2192D#1 = fx1929;
          real r1930#1 = 0.1e1;
          real t1192C#1 = Sub<real>(fx1929,r1930);
          real r192F#1 = 0.2e1;
          real t0192B#1 = Sub<real>(fx1929,r192F);
          real4 a192A#1 = <real4>[t3192E,t2192D,t1192C,t0192B];
          real4 hx1927#4 = EvalKernel<4,bspln3,0>(a192A);
          real t0193C#1 = Dot<4>(v01907,hx1927);
          real t1193D#1 = Dot<4>(v11908,hx1927);
          real t2193E#1 = Dot<4>(v21909,hx1927);
          real t3193F#1 = Dot<4>(v3190A,hx1927);
          real4 tv193B#1 = <real4>[t0193C,t1193D,t2193E,t3193F];
          real _t1901#1 = Dot<4>(hy1928,tv193B);
          real _t197E#2 = Sub<real>(_t1884,_t1901);
          real _t1980#1 = Mul<real>(_t197E,_t197E);
          real score1982#1 = Add<real>(score186D,_t1980);
          goto JOIN1985
        JOIN1985:  preds = [ASSIGN1983,COND1883]
          real score1984#2 = phi(score1982,score186D)
          real _t1986#1 = Dot<2>(r00FA5,v090F1F);
          real _t1988#1 = Dot<2>(r10FAB,v090F1F);
          real2 _t198A#1 = <real2>[_t1986,_t1988];
          real2 pos198C#2 = Add<real2>(_t198A,_t0FBB);
          real2 x198F#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos198C);
          bool _t198E#1 = Inside<IMAGE2D<float>,2>(x198F,_t0EFD);
          if _t198E then goto ASSIGN1995 else goto ASSIGN3083
        ASSIGN1995:  preds = [COND1992]
          real2 x1994#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v090F1F);
          bool _t1993#1 = Inside<IMAGE2D<int>,2>(x1994,_t0EF9);
          goto JOIN1999
        JOIN1999:  preds = [ASSIGN1996,ASSIGN3083]
          bool _t1997#1 = phi(_t1993,_t1998)
          if _t1997 then goto ASSIGN19DA else goto JOIN1A9C
        ASSIGN19DA:  preds = [COND199A]
          real2 x199C#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos198C);
          real2 nd199E#2 = Floor<2>(x199C);
          real2 f199D#2 = Sub<real2>(x199C,nd199E);
          int{2} n199F#8 = RealToInt<2>(nd199E);
          int t119BB#1 = -1;
          int t219BC#1 = Index<int{2},0>(n199F);
          int ix19BA#1 = Add<int>(t119BB,t219BC);
          int t119BE#1 = -1;
          int t219BF#1 = Index<int{2},1>(n199F);
          int iy19BD#1 = Add<int>(t119BE,t219BF);
          addr(IMAGE2D<float>) a19C0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19BD);
          real4 v019A1#1 = LoadVoxels<IMAGE2D<float>,4>(a19C0);
          int t119B4#1 = -1;
          int t219B5#1 = Index<int{2},0>(n199F);
          int ix19B3#1 = Add<int>(t119B4,t219B5);
          int t119B7#1 = 0;
          int t219B8#1 = Index<int{2},1>(n199F);
          int iy19B6#1 = Add<int>(t119B7,t219B8);
          addr(IMAGE2D<float>) a19B9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19B3,iy19B6);
          real4 v119A2#1 = LoadVoxels<IMAGE2D<float>,4>(a19B9);
          int t119AD#1 = -1;
          int t219AE#1 = Index<int{2},0>(n199F);
          int ix19AC#1 = Add<int>(t119AD,t219AE);
          int t119B0#1 = 1;
          int t219B1#1 = Index<int{2},1>(n199F);
          int iy19AF#1 = Add<int>(t119B0,t219B1);
          addr(IMAGE2D<float>) a19B2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19AC,iy19AF);
          real4 v219A3#1 = LoadVoxels<IMAGE2D<float>,4>(a19B2);
          int t119A6#1 = -1;
          int t219A7#1 = Index<int{2},0>(n199F);
          int ix19A5#1 = Add<int>(t119A6,t219A7);
          int t119A9#1 = 2;
          int t219AA#1 = Index<int{2},1>(n199F);
          int iy19A8#1 = Add<int>(t119A9,t219AA);
          addr(IMAGE2D<float>) a19AB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19A5,iy19A8);
          real4 v319A4#1 = LoadVoxels<IMAGE2D<float>,4>(a19AB);
          real fy19CC#4 = Index<real2,1>(f199D);
          real r19D4#1 = 0.1e1;
          real t319D1#1 = Add<real>(fy19CC,r19D4);
          real t219D0#1 = fy19CC;
          real r19D3#1 = 0.1e1;
          real t119CF#1 = Sub<real>(fy19CC,r19D3);
          real r19D2#1 = 0.2e1;
          real t019CE#1 = Sub<real>(fy19CC,r19D2);
          real4 a19CD#1 = <real4>[t319D1,t219D0,t119CF,t019CE];
          real4 hy19C2#1 = EvalKernel<4,bspln3,0>(a19CD);
          real fx19C3#4 = Index<real2,0>(f199D);
          real r19CB#1 = 0.1e1;
          real t319C8#1 = Add<real>(fx19C3,r19CB);
          real t219C7#1 = fx19C3;
          real r19CA#1 = 0.1e1;
          real t119C6#1 = Sub<real>(fx19C3,r19CA);
          real r19C9#1 = 0.2e1;
          real t019C5#1 = Sub<real>(fx19C3,r19C9);
          real4 a19C4#1 = <real4>[t319C8,t219C7,t119C6,t019C5];
          real4 hx19C1#4 = EvalKernel<4,bspln3,0>(a19C4);
          real t019D6#1 = Dot<4>(v019A1,hx19C1);
          real t119D7#1 = Dot<4>(v119A2,hx19C1);
          real t219D8#1 = Dot<4>(v219A3,hx19C1);
          real t319D9#1 = Dot<4>(v319A4,hx19C1);
          real4 tv19D5#1 = <real4>[t019D6,t119D7,t219D8,t319D9];
          real _t199B#1 = Dot<4>(hy19C2,tv19D5);
          real2 x1A19#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v090F1F);
          real2 nd1A1B#2 = Floor<2>(x1A19);
          real2 f1A1A#2 = Sub<real2>(x1A19,nd1A1B);
          int{2} n1A1C#8 = RealToInt<2>(nd1A1B);
          int t11A38#1 = -1;
          int t21A39#1 = Index<int{2},0>(n1A1C);
          int ix1A37#1 = Add<int>(t11A38,t21A39);
          int t11A3B#1 = -1;
          int t21A3C#1 = Index<int{2},1>(n1A1C);
          int iy1A3A#1 = Add<int>(t11A3B,t21A3C);
          addr(IMAGE2D<int>) a1A3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A3A);
          real4 v01A1E#1 = LoadVoxels<IMAGE2D<int>,4>(a1A3D);
          int t11A31#1 = -1;
          int t21A32#1 = Index<int{2},0>(n1A1C);
          int ix1A30#1 = Add<int>(t11A31,t21A32);
          int t11A34#1 = 0;
          int t21A35#1 = Index<int{2},1>(n1A1C);
          int iy1A33#1 = Add<int>(t11A34,t21A35);
          addr(IMAGE2D<int>) a1A36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A30,iy1A33);
          real4 v11A1F#1 = LoadVoxels<IMAGE2D<int>,4>(a1A36);
          int t11A2A#1 = -1;
          int t21A2B#1 = Index<int{2},0>(n1A1C);
          int ix1A29#1 = Add<int>(t11A2A,t21A2B);
          int t11A2D#1 = 1;
          int t21A2E#1 = Index<int{2},1>(n1A1C);
          int iy1A2C#1 = Add<int>(t11A2D,t21A2E);
          addr(IMAGE2D<int>) a1A2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A29,iy1A2C);
          real4 v21A20#1 = LoadVoxels<IMAGE2D<int>,4>(a1A2F);
          int t11A23#1 = -1;
          int t21A24#1 = Index<int{2},0>(n1A1C);
          int ix1A22#1 = Add<int>(t11A23,t21A24);
          int t11A26#1 = 2;
          int t21A27#1 = Index<int{2},1>(n1A1C);
          int iy1A25#1 = Add<int>(t11A26,t21A27);
          addr(IMAGE2D<int>) a1A28#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A22,iy1A25);
          real4 v31A21#1 = LoadVoxels<IMAGE2D<int>,4>(a1A28);
          real fy1A49#4 = Index<real2,1>(f1A1A);
          real r1A51#1 = 0.1e1;
          real t31A4E#1 = Add<real>(fy1A49,r1A51);
          real t21A4D#1 = fy1A49;
          real r1A50#1 = 0.1e1;
          real t11A4C#1 = Sub<real>(fy1A49,r1A50);
          real r1A4F#1 = 0.2e1;
          real t01A4B#1 = Sub<real>(fy1A49,r1A4F);
          real4 a1A4A#1 = <real4>[t31A4E,t21A4D,t11A4C,t01A4B];
          real4 hy1A3F#1 = EvalKernel<4,bspln3,0>(a1A4A);
          real fx1A40#4 = Index<real2,0>(f1A1A);
          real r1A48#1 = 0.1e1;
          real t31A45#1 = Add<real>(fx1A40,r1A48);
          real t21A44#1 = fx1A40;
          real r1A47#1 = 0.1e1;
          real t11A43#1 = Sub<real>(fx1A40,r1A47);
          real r1A46#1 = 0.2e1;
          real t01A42#1 = Sub<real>(fx1A40,r1A46);
          real4 a1A41#1 = <real4>[t31A45,t21A44,t11A43,t01A42];
          real4 hx1A3E#4 = EvalKernel<4,bspln3,0>(a1A41);
          real t01A53#1 = Dot<4>(v01A1E,hx1A3E);
          real t11A54#1 = Dot<4>(v11A1F,hx1A3E);
          real t21A55#1 = Dot<4>(v21A20,hx1A3E);
          real t31A56#1 = Dot<4>(v31A21,hx1A3E);
          real4 tv1A52#1 = <real4>[t01A53,t11A54,t21A55,t31A56];
          real _t1A18#1 = Dot<4>(hy1A3F,tv1A52);
          real _t1A95#2 = Sub<real>(_t199B,_t1A18);
          real _t1A97#1 = Mul<real>(_t1A95,_t1A95);
          real score1A99#1 = Add<real>(score1984,_t1A97);
          goto JOIN1A9C
        JOIN1A9C:  preds = [ASSIGN1A9A,COND199A]
          real score1A9B#2 = phi(score1A99,score1984)
          real _t1A9D#1 = Dot<2>(r00FA5,v100F25);
          real _t1A9F#1 = Dot<2>(r10FAB,v100F25);
          real2 _t1AA1#1 = <real2>[_t1A9D,_t1A9F];
          real2 pos1AA3#2 = Add<real2>(_t1AA1,_t0FBB);
          real2 x1AA6#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1AA3);
          bool _t1AA5#1 = Inside<IMAGE2D<float>,2>(x1AA6,_t0EFD);
          if _t1AA5 then goto ASSIGN1AAC else goto ASSIGN3082
        ASSIGN1AAC:  preds = [COND1AA9]
          real2 x1AAB#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v100F25);
          bool _t1AAA#1 = Inside<IMAGE2D<int>,2>(x1AAB,_t0EF9);
          goto JOIN1AB0
        JOIN1AB0:  preds = [ASSIGN1AAD,ASSIGN3082]
          bool _t1AAE#1 = phi(_t1AAA,_t1AAF)
          if _t1AAE then goto ASSIGN1AF1 else goto JOIN1BB3
        ASSIGN1AF1:  preds = [COND1AB1]
          real2 x1AB3#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1AA3);
          real2 nd1AB5#2 = Floor<2>(x1AB3);
          real2 f1AB4#2 = Sub<real2>(x1AB3,nd1AB5);
          int{2} n1AB6#8 = RealToInt<2>(nd1AB5);
          int t11AD2#1 = -1;
          int t21AD3#1 = Index<int{2},0>(n1AB6);
          int ix1AD1#1 = Add<int>(t11AD2,t21AD3);
          int t11AD5#1 = -1;
          int t21AD6#1 = Index<int{2},1>(n1AB6);
          int iy1AD4#1 = Add<int>(t11AD5,t21AD6);
          addr(IMAGE2D<float>) a1AD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1AD4);
          real4 v01AB8#1 = LoadVoxels<IMAGE2D<float>,4>(a1AD7);
          int t11ACB#1 = -1;
          int t21ACC#1 = Index<int{2},0>(n1AB6);
          int ix1ACA#1 = Add<int>(t11ACB,t21ACC);
          int t11ACE#1 = 0;
          int t21ACF#1 = Index<int{2},1>(n1AB6);
          int iy1ACD#1 = Add<int>(t11ACE,t21ACF);
          addr(IMAGE2D<float>) a1AD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1ACA,iy1ACD);
          real4 v11AB9#1 = LoadVoxels<IMAGE2D<float>,4>(a1AD0);
          int t11AC4#1 = -1;
          int t21AC5#1 = Index<int{2},0>(n1AB6);
          int ix1AC3#1 = Add<int>(t11AC4,t21AC5);
          int t11AC7#1 = 1;
          int t21AC8#1 = Index<int{2},1>(n1AB6);
          int iy1AC6#1 = Add<int>(t11AC7,t21AC8);
          addr(IMAGE2D<float>) a1AC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AC3,iy1AC6);
          real4 v21ABA#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC9);
          int t11ABD#1 = -1;
          int t21ABE#1 = Index<int{2},0>(n1AB6);
          int ix1ABC#1 = Add<int>(t11ABD,t21ABE);
          int t11AC0#1 = 2;
          int t21AC1#1 = Index<int{2},1>(n1AB6);
          int iy1ABF#1 = Add<int>(t11AC0,t21AC1);
          addr(IMAGE2D<float>) a1AC2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1ABC,iy1ABF);
          real4 v31ABB#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC2);
          real fy1AE3#4 = Index<real2,1>(f1AB4);
          real r1AEB#1 = 0.1e1;
          real t31AE8#1 = Add<real>(fy1AE3,r1AEB);
          real t21AE7#1 = fy1AE3;
          real r1AEA#1 = 0.1e1;
          real t11AE6#1 = Sub<real>(fy1AE3,r1AEA);
          real r1AE9#1 = 0.2e1;
          real t01AE5#1 = Sub<real>(fy1AE3,r1AE9);
          real4 a1AE4#1 = <real4>[t31AE8,t21AE7,t11AE6,t01AE5];
          real4 hy1AD9#1 = EvalKernel<4,bspln3,0>(a1AE4);
          real fx1ADA#4 = Index<real2,0>(f1AB4);
          real r1AE2#1 = 0.1e1;
          real t31ADF#1 = Add<real>(fx1ADA,r1AE2);
          real t21ADE#1 = fx1ADA;
          real r1AE1#1 = 0.1e1;
          real t11ADD#1 = Sub<real>(fx1ADA,r1AE1);
          real r1AE0#1 = 0.2e1;
          real t01ADC#1 = Sub<real>(fx1ADA,r1AE0);
          real4 a1ADB#1 = <real4>[t31ADF,t21ADE,t11ADD,t01ADC];
          real4 hx1AD8#4 = EvalKernel<4,bspln3,0>(a1ADB);
          real t01AED#1 = Dot<4>(v01AB8,hx1AD8);
          real t11AEE#1 = Dot<4>(v11AB9,hx1AD8);
          real t21AEF#1 = Dot<4>(v21ABA,hx1AD8);
          real t31AF0#1 = Dot<4>(v31ABB,hx1AD8);
          real4 tv1AEC#1 = <real4>[t01AED,t11AEE,t21AEF,t31AF0];
          real _t1AB2#1 = Dot<4>(hy1AD9,tv1AEC);
          real2 x1B30#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v100F25);
          real2 nd1B32#2 = Floor<2>(x1B30);
          real2 f1B31#2 = Sub<real2>(x1B30,nd1B32);
          int{2} n1B33#8 = RealToInt<2>(nd1B32);
          int t11B4F#1 = -1;
          int t21B50#1 = Index<int{2},0>(n1B33);
          int ix1B4E#1 = Add<int>(t11B4F,t21B50);
          int t11B52#1 = -1;
          int t21B53#1 = Index<int{2},1>(n1B33);
          int iy1B51#1 = Add<int>(t11B52,t21B53);
          addr(IMAGE2D<int>) a1B54#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B51);
          real4 v01B35#1 = LoadVoxels<IMAGE2D<int>,4>(a1B54);
          int t11B48#1 = -1;
          int t21B49#1 = Index<int{2},0>(n1B33);
          int ix1B47#1 = Add<int>(t11B48,t21B49);
          int t11B4B#1 = 0;
          int t21B4C#1 = Index<int{2},1>(n1B33);
          int iy1B4A#1 = Add<int>(t11B4B,t21B4C);
          addr(IMAGE2D<int>) a1B4D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B47,iy1B4A);
          real4 v11B36#1 = LoadVoxels<IMAGE2D<int>,4>(a1B4D);
          int t11B41#1 = -1;
          int t21B42#1 = Index<int{2},0>(n1B33);
          int ix1B40#1 = Add<int>(t11B41,t21B42);
          int t11B44#1 = 1;
          int t21B45#1 = Index<int{2},1>(n1B33);
          int iy1B43#1 = Add<int>(t11B44,t21B45);
          addr(IMAGE2D<int>) a1B46#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B40,iy1B43);
          real4 v21B37#1 = LoadVoxels<IMAGE2D<int>,4>(a1B46);
          int t11B3A#1 = -1;
          int t21B3B#1 = Index<int{2},0>(n1B33);
          int ix1B39#1 = Add<int>(t11B3A,t21B3B);
          int t11B3D#1 = 2;
          int t21B3E#1 = Index<int{2},1>(n1B33);
          int iy1B3C#1 = Add<int>(t11B3D,t21B3E);
          addr(IMAGE2D<int>) a1B3F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B39,iy1B3C);
          real4 v31B38#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3F);
          real fy1B60#4 = Index<real2,1>(f1B31);
          real r1B68#1 = 0.1e1;
          real t31B65#1 = Add<real>(fy1B60,r1B68);
          real t21B64#1 = fy1B60;
          real r1B67#1 = 0.1e1;
          real t11B63#1 = Sub<real>(fy1B60,r1B67);
          real r1B66#1 = 0.2e1;
          real t01B62#1 = Sub<real>(fy1B60,r1B66);
          real4 a1B61#1 = <real4>[t31B65,t21B64,t11B63,t01B62];
          real4 hy1B56#1 = EvalKernel<4,bspln3,0>(a1B61);
          real fx1B57#4 = Index<real2,0>(f1B31);
          real r1B5F#1 = 0.1e1;
          real t31B5C#1 = Add<real>(fx1B57,r1B5F);
          real t21B5B#1 = fx1B57;
          real r1B5E#1 = 0.1e1;
          real t11B5A#1 = Sub<real>(fx1B57,r1B5E);
          real r1B5D#1 = 0.2e1;
          real t01B59#1 = Sub<real>(fx1B57,r1B5D);
          real4 a1B58#1 = <real4>[t31B5C,t21B5B,t11B5A,t01B59];
          real4 hx1B55#4 = EvalKernel<4,bspln3,0>(a1B58);
          real t01B6A#1 = Dot<4>(v01B35,hx1B55);
          real t11B6B#1 = Dot<4>(v11B36,hx1B55);
          real t21B6C#1 = Dot<4>(v21B37,hx1B55);
          real t31B6D#1 = Dot<4>(v31B38,hx1B55);
          real4 tv1B69#1 = <real4>[t01B6A,t11B6B,t21B6C,t31B6D];
          real _t1B2F#1 = Dot<4>(hy1B56,tv1B69);
          real _t1BAC#2 = Sub<real>(_t1AB2,_t1B2F);
          real _t1BAE#1 = Mul<real>(_t1BAC,_t1BAC);
          real score1BB0#1 = Add<real>(score1A9B,_t1BAE);
          goto JOIN1BB3
        JOIN1BB3:  preds = [ASSIGN1BB1,COND1AB1]
          real score1BB2#2 = phi(score1BB0,score1A9B)
          real _t1BB4#1 = Dot<2>(r00FA5,v110F27);
          real _t1BB6#1 = Dot<2>(r10FAB,v110F27);
          real2 _t1BB8#1 = <real2>[_t1BB4,_t1BB6];
          real2 pos1BBA#2 = Add<real2>(_t1BB8,_t0FBB);
          real2 x1BBD#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1BBA);
          bool _t1BBC#1 = Inside<IMAGE2D<float>,2>(x1BBD,_t0EFD);
          if _t1BBC then goto ASSIGN1BC3 else goto ASSIGN3081
        ASSIGN1BC3:  preds = [COND1BC0]
          real2 x1BC2#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v110F27);
          bool _t1BC1#1 = Inside<IMAGE2D<int>,2>(x1BC2,_t0EF9);
          goto JOIN1BC7
        JOIN1BC7:  preds = [ASSIGN1BC4,ASSIGN3081]
          bool _t1BC5#1 = phi(_t1BC1,_t1BC6)
          if _t1BC5 then goto ASSIGN1C08 else goto JOIN1CCA
        ASSIGN1C08:  preds = [COND1BC8]
          real2 x1BCA#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1BBA);
          real2 nd1BCC#2 = Floor<2>(x1BCA);
          real2 f1BCB#2 = Sub<real2>(x1BCA,nd1BCC);
          int{2} n1BCD#8 = RealToInt<2>(nd1BCC);
          int t11BE9#1 = -1;
          int t21BEA#1 = Index<int{2},0>(n1BCD);
          int ix1BE8#1 = Add<int>(t11BE9,t21BEA);
          int t11BEC#1 = -1;
          int t21BED#1 = Index<int{2},1>(n1BCD);
          int iy1BEB#1 = Add<int>(t11BEC,t21BED);
          addr(IMAGE2D<float>) a1BEE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BEB);
          real4 v01BCF#1 = LoadVoxels<IMAGE2D<float>,4>(a1BEE);
          int t11BE2#1 = -1;
          int t21BE3#1 = Index<int{2},0>(n1BCD);
          int ix1BE1#1 = Add<int>(t11BE2,t21BE3);
          int t11BE5#1 = 0;
          int t21BE6#1 = Index<int{2},1>(n1BCD);
          int iy1BE4#1 = Add<int>(t11BE5,t21BE6);
          addr(IMAGE2D<float>) a1BE7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE1,iy1BE4);
          real4 v11BD0#1 = LoadVoxels<IMAGE2D<float>,4>(a1BE7);
          int t11BDB#1 = -1;
          int t21BDC#1 = Index<int{2},0>(n1BCD);
          int ix1BDA#1 = Add<int>(t11BDB,t21BDC);
          int t11BDE#1 = 1;
          int t21BDF#1 = Index<int{2},1>(n1BCD);
          int iy1BDD#1 = Add<int>(t11BDE,t21BDF);
          addr(IMAGE2D<float>) a1BE0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BDA,iy1BDD);
          real4 v21BD1#1 = LoadVoxels<IMAGE2D<float>,4>(a1BE0);
          int t11BD4#1 = -1;
          int t21BD5#1 = Index<int{2},0>(n1BCD);
          int ix1BD3#1 = Add<int>(t11BD4,t21BD5);
          int t11BD7#1 = 2;
          int t21BD8#1 = Index<int{2},1>(n1BCD);
          int iy1BD6#1 = Add<int>(t11BD7,t21BD8);
          addr(IMAGE2D<float>) a1BD9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BD3,iy1BD6);
          real4 v31BD2#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD9);
          real fy1BFA#4 = Index<real2,1>(f1BCB);
          real r1C02#1 = 0.1e1;
          real t31BFF#1 = Add<real>(fy1BFA,r1C02);
          real t21BFE#1 = fy1BFA;
          real r1C01#1 = 0.1e1;
          real t11BFD#1 = Sub<real>(fy1BFA,r1C01);
          real r1C00#1 = 0.2e1;
          real t01BFC#1 = Sub<real>(fy1BFA,r1C00);
          real4 a1BFB#1 = <real4>[t31BFF,t21BFE,t11BFD,t01BFC];
          real4 hy1BF0#1 = EvalKernel<4,bspln3,0>(a1BFB);
          real fx1BF1#4 = Index<real2,0>(f1BCB);
          real r1BF9#1 = 0.1e1;
          real t31BF6#1 = Add<real>(fx1BF1,r1BF9);
          real t21BF5#1 = fx1BF1;
          real r1BF8#1 = 0.1e1;
          real t11BF4#1 = Sub<real>(fx1BF1,r1BF8);
          real r1BF7#1 = 0.2e1;
          real t01BF3#1 = Sub<real>(fx1BF1,r1BF7);
          real4 a1BF2#1 = <real4>[t31BF6,t21BF5,t11BF4,t01BF3];
          real4 hx1BEF#4 = EvalKernel<4,bspln3,0>(a1BF2);
          real t01C04#1 = Dot<4>(v01BCF,hx1BEF);
          real t11C05#1 = Dot<4>(v11BD0,hx1BEF);
          real t21C06#1 = Dot<4>(v21BD1,hx1BEF);
          real t31C07#1 = Dot<4>(v31BD2,hx1BEF);
          real4 tv1C03#1 = <real4>[t01C04,t11C05,t21C06,t31C07];
          real _t1BC9#1 = Dot<4>(hy1BF0,tv1C03);
          real2 x1C47#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v110F27);
          real2 nd1C49#2 = Floor<2>(x1C47);
          real2 f1C48#2 = Sub<real2>(x1C47,nd1C49);
          int{2} n1C4A#8 = RealToInt<2>(nd1C49);
          int t11C66#1 = -1;
          int t21C67#1 = Index<int{2},0>(n1C4A);
          int ix1C65#1 = Add<int>(t11C66,t21C67);
          int t11C69#1 = -1;
          int t21C6A#1 = Index<int{2},1>(n1C4A);
          int iy1C68#1 = Add<int>(t11C69,t21C6A);
          addr(IMAGE2D<int>) a1C6B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C68);
          real4 v01C4C#1 = LoadVoxels<IMAGE2D<int>,4>(a1C6B);
          int t11C5F#1 = -1;
          int t21C60#1 = Index<int{2},0>(n1C4A);
          int ix1C5E#1 = Add<int>(t11C5F,t21C60);
          int t11C62#1 = 0;
          int t21C63#1 = Index<int{2},1>(n1C4A);
          int iy1C61#1 = Add<int>(t11C62,t21C63);
          addr(IMAGE2D<int>) a1C64#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C5E,iy1C61);
          real4 v11C4D#1 = LoadVoxels<IMAGE2D<int>,4>(a1C64);
          int t11C58#1 = -1;
          int t21C59#1 = Index<int{2},0>(n1C4A);
          int ix1C57#1 = Add<int>(t11C58,t21C59);
          int t11C5B#1 = 1;
          int t21C5C#1 = Index<int{2},1>(n1C4A);
          int iy1C5A#1 = Add<int>(t11C5B,t21C5C);
          addr(IMAGE2D<int>) a1C5D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C57,iy1C5A);
          real4 v21C4E#1 = LoadVoxels<IMAGE2D<int>,4>(a1C5D);
          int t11C51#1 = -1;
          int t21C52#1 = Index<int{2},0>(n1C4A);
          int ix1C50#1 = Add<int>(t11C51,t21C52);
          int t11C54#1 = 2;
          int t21C55#1 = Index<int{2},1>(n1C4A);
          int iy1C53#1 = Add<int>(t11C54,t21C55);
          addr(IMAGE2D<int>) a1C56#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C50,iy1C53);
          real4 v31C4F#1 = LoadVoxels<IMAGE2D<int>,4>(a1C56);
          real fy1C77#4 = Index<real2,1>(f1C48);
          real r1C7F#1 = 0.1e1;
          real t31C7C#1 = Add<real>(fy1C77,r1C7F);
          real t21C7B#1 = fy1C77;
          real r1C7E#1 = 0.1e1;
          real t11C7A#1 = Sub<real>(fy1C77,r1C7E);
          real r1C7D#1 = 0.2e1;
          real t01C79#1 = Sub<real>(fy1C77,r1C7D);
          real4 a1C78#1 = <real4>[t31C7C,t21C7B,t11C7A,t01C79];
          real4 hy1C6D#1 = EvalKernel<4,bspln3,0>(a1C78);
          real fx1C6E#4 = Index<real2,0>(f1C48);
          real r1C76#1 = 0.1e1;
          real t31C73#1 = Add<real>(fx1C6E,r1C76);
          real t21C72#1 = fx1C6E;
          real r1C75#1 = 0.1e1;
          real t11C71#1 = Sub<real>(fx1C6E,r1C75);
          real r1C74#1 = 0.2e1;
          real t01C70#1 = Sub<real>(fx1C6E,r1C74);
          real4 a1C6F#1 = <real4>[t31C73,t21C72,t11C71,t01C70];
          real4 hx1C6C#4 = EvalKernel<4,bspln3,0>(a1C6F);
          real t01C81#1 = Dot<4>(v01C4C,hx1C6C);
          real t11C82#1 = Dot<4>(v11C4D,hx1C6C);
          real t21C83#1 = Dot<4>(v21C4E,hx1C6C);
          real t31C84#1 = Dot<4>(v31C4F,hx1C6C);
          real4 tv1C80#1 = <real4>[t01C81,t11C82,t21C83,t31C84];
          real _t1C46#1 = Dot<4>(hy1C6D,tv1C80);
          real _t1CC3#2 = Sub<real>(_t1BC9,_t1C46);
          real _t1CC5#1 = Mul<real>(_t1CC3,_t1CC3);
          real score1CC7#1 = Add<real>(score1BB2,_t1CC5);
          goto JOIN1CCA
        JOIN1CCA:  preds = [ASSIGN1CC8,COND1BC8]
          real score1CC9#2 = phi(score1CC7,score1BB2)
          real _t1CCB#1 = Dot<2>(r00FA5,v120F29);
          real _t1CCD#1 = Dot<2>(r10FAB,v120F29);
          real2 _t1CCF#1 = <real2>[_t1CCB,_t1CCD];
          real2 pos1CD1#2 = Add<real2>(_t1CCF,_t0FBB);
          real2 x1CD4#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1CD1);
          bool _t1CD3#1 = Inside<IMAGE2D<float>,2>(x1CD4,_t0EFD);
          if _t1CD3 then goto ASSIGN1CDA else goto ASSIGN3080
        ASSIGN1CDA:  preds = [COND1CD7]
          real2 x1CD9#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v120F29);
          bool _t1CD8#1 = Inside<IMAGE2D<int>,2>(x1CD9,_t0EF9);
          goto JOIN1CDE
        JOIN1CDE:  preds = [ASSIGN1CDB,ASSIGN3080]
          bool _t1CDC#1 = phi(_t1CD8,_t1CDD)
          if _t1CDC then goto ASSIGN1D1F else goto JOIN1DE1
        ASSIGN1D1F:  preds = [COND1CDF]
          real2 x1CE1#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1CD1);
          real2 nd1CE3#2 = Floor<2>(x1CE1);
          real2 f1CE2#2 = Sub<real2>(x1CE1,nd1CE3);
          int{2} n1CE4#8 = RealToInt<2>(nd1CE3);
          int t11D00#1 = -1;
          int t21D01#1 = Index<int{2},0>(n1CE4);
          int ix1CFF#1 = Add<int>(t11D00,t21D01);
          int t11D03#1 = -1;
          int t21D04#1 = Index<int{2},1>(n1CE4);
          int iy1D02#1 = Add<int>(t11D03,t21D04);
          addr(IMAGE2D<float>) a1D05#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1D02);
          real4 v01CE6#1 = LoadVoxels<IMAGE2D<float>,4>(a1D05);
          int t11CF9#1 = -1;
          int t21CFA#1 = Index<int{2},0>(n1CE4);
          int ix1CF8#1 = Add<int>(t11CF9,t21CFA);
          int t11CFC#1 = 0;
          int t21CFD#1 = Index<int{2},1>(n1CE4);
          int iy1CFB#1 = Add<int>(t11CFC,t21CFD);
          addr(IMAGE2D<float>) a1CFE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CF8,iy1CFB);
          real4 v11CE7#1 = LoadVoxels<IMAGE2D<float>,4>(a1CFE);
          int t11CF2#1 = -1;
          int t21CF3#1 = Index<int{2},0>(n1CE4);
          int ix1CF1#1 = Add<int>(t11CF2,t21CF3);
          int t11CF5#1 = 1;
          int t21CF6#1 = Index<int{2},1>(n1CE4);
          int iy1CF4#1 = Add<int>(t11CF5,t21CF6);
          addr(IMAGE2D<float>) a1CF7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CF1,iy1CF4);
          real4 v21CE8#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF7);
          int t11CEB#1 = -1;
          int t21CEC#1 = Index<int{2},0>(n1CE4);
          int ix1CEA#1 = Add<int>(t11CEB,t21CEC);
          int t11CEE#1 = 2;
          int t21CEF#1 = Index<int{2},1>(n1CE4);
          int iy1CED#1 = Add<int>(t11CEE,t21CEF);
          addr(IMAGE2D<float>) a1CF0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CEA,iy1CED);
          real4 v31CE9#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF0);
          real fy1D11#4 = Index<real2,1>(f1CE2);
          real r1D19#1 = 0.1e1;
          real t31D16#1 = Add<real>(fy1D11,r1D19);
          real t21D15#1 = fy1D11;
          real r1D18#1 = 0.1e1;
          real t11D14#1 = Sub<real>(fy1D11,r1D18);
          real r1D17#1 = 0.2e1;
          real t01D13#1 = Sub<real>(fy1D11,r1D17);
          real4 a1D12#1 = <real4>[t31D16,t21D15,t11D14,t01D13];
          real4 hy1D07#1 = EvalKernel<4,bspln3,0>(a1D12);
          real fx1D08#4 = Index<real2,0>(f1CE2);
          real r1D10#1 = 0.1e1;
          real t31D0D#1 = Add<real>(fx1D08,r1D10);
          real t21D0C#1 = fx1D08;
          real r1D0F#1 = 0.1e1;
          real t11D0B#1 = Sub<real>(fx1D08,r1D0F);
          real r1D0E#1 = 0.2e1;
          real t01D0A#1 = Sub<real>(fx1D08,r1D0E);
          real4 a1D09#1 = <real4>[t31D0D,t21D0C,t11D0B,t01D0A];
          real4 hx1D06#4 = EvalKernel<4,bspln3,0>(a1D09);
          real t01D1B#1 = Dot<4>(v01CE6,hx1D06);
          real t11D1C#1 = Dot<4>(v11CE7,hx1D06);
          real t21D1D#1 = Dot<4>(v21CE8,hx1D06);
          real t31D1E#1 = Dot<4>(v31CE9,hx1D06);
          real4 tv1D1A#1 = <real4>[t01D1B,t11D1C,t21D1D,t31D1E];
          real _t1CE0#1 = Dot<4>(hy1D07,tv1D1A);
          real2 x1D5E#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v120F29);
          real2 nd1D60#2 = Floor<2>(x1D5E);
          real2 f1D5F#2 = Sub<real2>(x1D5E,nd1D60);
          int{2} n1D61#8 = RealToInt<2>(nd1D60);
          int t11D7D#1 = -1;
          int t21D7E#1 = Index<int{2},0>(n1D61);
          int ix1D7C#1 = Add<int>(t11D7D,t21D7E);
          int t11D80#1 = -1;
          int t21D81#1 = Index<int{2},1>(n1D61);
          int iy1D7F#1 = Add<int>(t11D80,t21D81);
          addr(IMAGE2D<int>) a1D82#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D7F);
          real4 v01D63#1 = LoadVoxels<IMAGE2D<int>,4>(a1D82);
          int t11D76#1 = -1;
          int t21D77#1 = Index<int{2},0>(n1D61);
          int ix1D75#1 = Add<int>(t11D76,t21D77);
          int t11D79#1 = 0;
          int t21D7A#1 = Index<int{2},1>(n1D61);
          int iy1D78#1 = Add<int>(t11D79,t21D7A);
          addr(IMAGE2D<int>) a1D7B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D75,iy1D78);
          real4 v11D64#1 = LoadVoxels<IMAGE2D<int>,4>(a1D7B);
          int t11D6F#1 = -1;
          int t21D70#1 = Index<int{2},0>(n1D61);
          int ix1D6E#1 = Add<int>(t11D6F,t21D70);
          int t11D72#1 = 1;
          int t21D73#1 = Index<int{2},1>(n1D61);
          int iy1D71#1 = Add<int>(t11D72,t21D73);
          addr(IMAGE2D<int>) a1D74#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D6E,iy1D71);
          real4 v21D65#1 = LoadVoxels<IMAGE2D<int>,4>(a1D74);
          int t11D68#1 = -1;
          int t21D69#1 = Index<int{2},0>(n1D61);
          int ix1D67#1 = Add<int>(t11D68,t21D69);
          int t11D6B#1 = 2;
          int t21D6C#1 = Index<int{2},1>(n1D61);
          int iy1D6A#1 = Add<int>(t11D6B,t21D6C);
          addr(IMAGE2D<int>) a1D6D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D67,iy1D6A);
          real4 v31D66#1 = LoadVoxels<IMAGE2D<int>,4>(a1D6D);
          real fy1D8E#4 = Index<real2,1>(f1D5F);
          real r1D96#1 = 0.1e1;
          real t31D93#1 = Add<real>(fy1D8E,r1D96);
          real t21D92#1 = fy1D8E;
          real r1D95#1 = 0.1e1;
          real t11D91#1 = Sub<real>(fy1D8E,r1D95);
          real r1D94#1 = 0.2e1;
          real t01D90#1 = Sub<real>(fy1D8E,r1D94);
          real4 a1D8F#1 = <real4>[t31D93,t21D92,t11D91,t01D90];
          real4 hy1D84#1 = EvalKernel<4,bspln3,0>(a1D8F);
          real fx1D85#4 = Index<real2,0>(f1D5F);
          real r1D8D#1 = 0.1e1;
          real t31D8A#1 = Add<real>(fx1D85,r1D8D);
          real t21D89#1 = fx1D85;
          real r1D8C#1 = 0.1e1;
          real t11D88#1 = Sub<real>(fx1D85,r1D8C);
          real r1D8B#1 = 0.2e1;
          real t01D87#1 = Sub<real>(fx1D85,r1D8B);
          real4 a1D86#1 = <real4>[t31D8A,t21D89,t11D88,t01D87];
          real4 hx1D83#4 = EvalKernel<4,bspln3,0>(a1D86);
          real t01D98#1 = Dot<4>(v01D63,hx1D83);
          real t11D99#1 = Dot<4>(v11D64,hx1D83);
          real t21D9A#1 = Dot<4>(v21D65,hx1D83);
          real t31D9B#1 = Dot<4>(v31D66,hx1D83);
          real4 tv1D97#1 = <real4>[t01D98,t11D99,t21D9A,t31D9B];
          real _t1D5D#1 = Dot<4>(hy1D84,tv1D97);
          real _t1DDA#2 = Sub<real>(_t1CE0,_t1D5D);
          real _t1DDC#1 = Mul<real>(_t1DDA,_t1DDA);
          real score1DDE#1 = Add<real>(score1CC9,_t1DDC);
          goto JOIN1DE1
        JOIN1DE1:  preds = [ASSIGN1DDF,COND1CDF]
          real score1DE0#2 = phi(score1DDE,score1CC9)
          real _t1DE2#1 = Dot<2>(r00FA5,v130F2B);
          real _t1DE4#1 = Dot<2>(r10FAB,v130F2B);
          real2 _t1DE6#1 = <real2>[_t1DE2,_t1DE4];
          real2 pos1DE8#2 = Add<real2>(_t1DE6,_t0FBB);
          real2 x1DEB#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1DE8);
          bool _t1DEA#1 = Inside<IMAGE2D<float>,2>(x1DEB,_t0EFD);
          if _t1DEA then goto ASSIGN1DF1 else goto ASSIGN307F
        ASSIGN1DF1:  preds = [COND1DEE]
          real2 x1DF0#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v130F2B);
          bool _t1DEF#1 = Inside<IMAGE2D<int>,2>(x1DF0,_t0EF9);
          goto JOIN1DF5
        JOIN1DF5:  preds = [ASSIGN1DF2,ASSIGN307F]
          bool _t1DF3#1 = phi(_t1DEF,_t1DF4)
          if _t1DF3 then goto ASSIGN1E36 else goto JOIN1EF8
        ASSIGN1E36:  preds = [COND1DF6]
          real2 x1DF8#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1DE8);
          real2 nd1DFA#2 = Floor<2>(x1DF8);
          real2 f1DF9#2 = Sub<real2>(x1DF8,nd1DFA);
          int{2} n1DFB#8 = RealToInt<2>(nd1DFA);
          int t11E17#1 = -1;
          int t21E18#1 = Index<int{2},0>(n1DFB);
          int ix1E16#1 = Add<int>(t11E17,t21E18);
          int t11E1A#1 = -1;
          int t21E1B#1 = Index<int{2},1>(n1DFB);
          int iy1E19#1 = Add<int>(t11E1A,t21E1B);
          addr(IMAGE2D<float>) a1E1C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E19);
          real4 v01DFD#1 = LoadVoxels<IMAGE2D<float>,4>(a1E1C);
          int t11E10#1 = -1;
          int t21E11#1 = Index<int{2},0>(n1DFB);
          int ix1E0F#1 = Add<int>(t11E10,t21E11);
          int t11E13#1 = 0;
          int t21E14#1 = Index<int{2},1>(n1DFB);
          int iy1E12#1 = Add<int>(t11E13,t21E14);
          addr(IMAGE2D<float>) a1E15#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E0F,iy1E12);
          real4 v11DFE#1 = LoadVoxels<IMAGE2D<float>,4>(a1E15);
          int t11E09#1 = -1;
          int t21E0A#1 = Index<int{2},0>(n1DFB);
          int ix1E08#1 = Add<int>(t11E09,t21E0A);
          int t11E0C#1 = 1;
          int t21E0D#1 = Index<int{2},1>(n1DFB);
          int iy1E0B#1 = Add<int>(t11E0C,t21E0D);
          addr(IMAGE2D<float>) a1E0E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E08,iy1E0B);
          real4 v21DFF#1 = LoadVoxels<IMAGE2D<float>,4>(a1E0E);
          int t11E02#1 = -1;
          int t21E03#1 = Index<int{2},0>(n1DFB);
          int ix1E01#1 = Add<int>(t11E02,t21E03);
          int t11E05#1 = 2;
          int t21E06#1 = Index<int{2},1>(n1DFB);
          int iy1E04#1 = Add<int>(t11E05,t21E06);
          addr(IMAGE2D<float>) a1E07#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E01,iy1E04);
          real4 v31E00#1 = LoadVoxels<IMAGE2D<float>,4>(a1E07);
          real fy1E28#4 = Index<real2,1>(f1DF9);
          real r1E30#1 = 0.1e1;
          real t31E2D#1 = Add<real>(fy1E28,r1E30);
          real t21E2C#1 = fy1E28;
          real r1E2F#1 = 0.1e1;
          real t11E2B#1 = Sub<real>(fy1E28,r1E2F);
          real r1E2E#1 = 0.2e1;
          real t01E2A#1 = Sub<real>(fy1E28,r1E2E);
          real4 a1E29#1 = <real4>[t31E2D,t21E2C,t11E2B,t01E2A];
          real4 hy1E1E#1 = EvalKernel<4,bspln3,0>(a1E29);
          real fx1E1F#4 = Index<real2,0>(f1DF9);
          real r1E27#1 = 0.1e1;
          real t31E24#1 = Add<real>(fx1E1F,r1E27);
          real t21E23#1 = fx1E1F;
          real r1E26#1 = 0.1e1;
          real t11E22#1 = Sub<real>(fx1E1F,r1E26);
          real r1E25#1 = 0.2e1;
          real t01E21#1 = Sub<real>(fx1E1F,r1E25);
          real4 a1E20#1 = <real4>[t31E24,t21E23,t11E22,t01E21];
          real4 hx1E1D#4 = EvalKernel<4,bspln3,0>(a1E20);
          real t01E32#1 = Dot<4>(v01DFD,hx1E1D);
          real t11E33#1 = Dot<4>(v11DFE,hx1E1D);
          real t21E34#1 = Dot<4>(v21DFF,hx1E1D);
          real t31E35#1 = Dot<4>(v31E00,hx1E1D);
          real4 tv1E31#1 = <real4>[t01E32,t11E33,t21E34,t31E35];
          real _t1DF7#1 = Dot<4>(hy1E1E,tv1E31);
          real2 x1E75#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v130F2B);
          real2 nd1E77#2 = Floor<2>(x1E75);
          real2 f1E76#2 = Sub<real2>(x1E75,nd1E77);
          int{2} n1E78#8 = RealToInt<2>(nd1E77);
          int t11E94#1 = -1;
          int t21E95#1 = Index<int{2},0>(n1E78);
          int ix1E93#1 = Add<int>(t11E94,t21E95);
          int t11E97#1 = -1;
          int t21E98#1 = Index<int{2},1>(n1E78);
          int iy1E96#1 = Add<int>(t11E97,t21E98);
          addr(IMAGE2D<int>) a1E99#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E96);
          real4 v01E7A#1 = LoadVoxels<IMAGE2D<int>,4>(a1E99);
          int t11E8D#1 = -1;
          int t21E8E#1 = Index<int{2},0>(n1E78);
          int ix1E8C#1 = Add<int>(t11E8D,t21E8E);
          int t11E90#1 = 0;
          int t21E91#1 = Index<int{2},1>(n1E78);
          int iy1E8F#1 = Add<int>(t11E90,t21E91);
          addr(IMAGE2D<int>) a1E92#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E8C,iy1E8F);
          real4 v11E7B#1 = LoadVoxels<IMAGE2D<int>,4>(a1E92);
          int t11E86#1 = -1;
          int t21E87#1 = Index<int{2},0>(n1E78);
          int ix1E85#1 = Add<int>(t11E86,t21E87);
          int t11E89#1 = 1;
          int t21E8A#1 = Index<int{2},1>(n1E78);
          int iy1E88#1 = Add<int>(t11E89,t21E8A);
          addr(IMAGE2D<int>) a1E8B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E85,iy1E88);
          real4 v21E7C#1 = LoadVoxels<IMAGE2D<int>,4>(a1E8B);
          int t11E7F#1 = -1;
          int t21E80#1 = Index<int{2},0>(n1E78);
          int ix1E7E#1 = Add<int>(t11E7F,t21E80);
          int t11E82#1 = 2;
          int t21E83#1 = Index<int{2},1>(n1E78);
          int iy1E81#1 = Add<int>(t11E82,t21E83);
          addr(IMAGE2D<int>) a1E84#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E7E,iy1E81);
          real4 v31E7D#1 = LoadVoxels<IMAGE2D<int>,4>(a1E84);
          real fy1EA5#4 = Index<real2,1>(f1E76);
          real r1EAD#1 = 0.1e1;
          real t31EAA#1 = Add<real>(fy1EA5,r1EAD);
          real t21EA9#1 = fy1EA5;
          real r1EAC#1 = 0.1e1;
          real t11EA8#1 = Sub<real>(fy1EA5,r1EAC);
          real r1EAB#1 = 0.2e1;
          real t01EA7#1 = Sub<real>(fy1EA5,r1EAB);
          real4 a1EA6#1 = <real4>[t31EAA,t21EA9,t11EA8,t01EA7];
          real4 hy1E9B#1 = EvalKernel<4,bspln3,0>(a1EA6);
          real fx1E9C#4 = Index<real2,0>(f1E76);
          real r1EA4#1 = 0.1e1;
          real t31EA1#1 = Add<real>(fx1E9C,r1EA4);
          real t21EA0#1 = fx1E9C;
          real r1EA3#1 = 0.1e1;
          real t11E9F#1 = Sub<real>(fx1E9C,r1EA3);
          real r1EA2#1 = 0.2e1;
          real t01E9E#1 = Sub<real>(fx1E9C,r1EA2);
          real4 a1E9D#1 = <real4>[t31EA1,t21EA0,t11E9F,t01E9E];
          real4 hx1E9A#4 = EvalKernel<4,bspln3,0>(a1E9D);
          real t01EAF#1 = Dot<4>(v01E7A,hx1E9A);
          real t11EB0#1 = Dot<4>(v11E7B,hx1E9A);
          real t21EB1#1 = Dot<4>(v21E7C,hx1E9A);
          real t31EB2#1 = Dot<4>(v31E7D,hx1E9A);
          real4 tv1EAE#1 = <real4>[t01EAF,t11EB0,t21EB1,t31EB2];
          real _t1E74#1 = Dot<4>(hy1E9B,tv1EAE);
          real _t1EF1#2 = Sub<real>(_t1DF7,_t1E74);
          real _t1EF3#1 = Mul<real>(_t1EF1,_t1EF1);
          real score1EF5#1 = Add<real>(score1DE0,_t1EF3);
          goto JOIN1EF8
        JOIN1EF8:  preds = [ASSIGN1EF6,COND1DF6]
          real score1EF7#2 = phi(score1EF5,score1DE0)
          real _t1EF9#1 = Dot<2>(r00FA5,v140F2D);
          real _t1EFB#1 = Dot<2>(r10FAB,v140F2D);
          real2 _t1EFD#1 = <real2>[_t1EF9,_t1EFB];
          real2 pos1EFF#2 = Add<real2>(_t1EFD,_t0FBB);
          real2 x1F02#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1EFF);
          bool _t1F01#1 = Inside<IMAGE2D<float>,2>(x1F02,_t0EFD);
          if _t1F01 then goto ASSIGN1F08 else goto ASSIGN307E
        ASSIGN1F08:  preds = [COND1F05]
          real2 x1F07#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v140F2D);
          bool _t1F06#1 = Inside<IMAGE2D<int>,2>(x1F07,_t0EF9);
          goto JOIN1F0C
        JOIN1F0C:  preds = [ASSIGN1F09,ASSIGN307E]
          bool _t1F0A#1 = phi(_t1F06,_t1F0B)
          if _t1F0A then goto ASSIGN1F4D else goto JOIN200F
        ASSIGN1F4D:  preds = [COND1F0D]
          real2 x1F0F#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1EFF);
          real2 nd1F11#2 = Floor<2>(x1F0F);
          real2 f1F10#2 = Sub<real2>(x1F0F,nd1F11);
          int{2} n1F12#8 = RealToInt<2>(nd1F11);
          int t11F2E#1 = -1;
          int t21F2F#1 = Index<int{2},0>(n1F12);
          int ix1F2D#1 = Add<int>(t11F2E,t21F2F);
          int t11F31#1 = -1;
          int t21F32#1 = Index<int{2},1>(n1F12);
          int iy1F30#1 = Add<int>(t11F31,t21F32);
          addr(IMAGE2D<float>) a1F33#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F30);
          real4 v01F14#1 = LoadVoxels<IMAGE2D<float>,4>(a1F33);
          int t11F27#1 = -1;
          int t21F28#1 = Index<int{2},0>(n1F12);
          int ix1F26#1 = Add<int>(t11F27,t21F28);
          int t11F2A#1 = 0;
          int t21F2B#1 = Index<int{2},1>(n1F12);
          int iy1F29#1 = Add<int>(t11F2A,t21F2B);
          addr(IMAGE2D<float>) a1F2C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F26,iy1F29);
          real4 v11F15#1 = LoadVoxels<IMAGE2D<float>,4>(a1F2C);
          int t11F20#1 = -1;
          int t21F21#1 = Index<int{2},0>(n1F12);
          int ix1F1F#1 = Add<int>(t11F20,t21F21);
          int t11F23#1 = 1;
          int t21F24#1 = Index<int{2},1>(n1F12);
          int iy1F22#1 = Add<int>(t11F23,t21F24);
          addr(IMAGE2D<float>) a1F25#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F1F,iy1F22);
          real4 v21F16#1 = LoadVoxels<IMAGE2D<float>,4>(a1F25);
          int t11F19#1 = -1;
          int t21F1A#1 = Index<int{2},0>(n1F12);
          int ix1F18#1 = Add<int>(t11F19,t21F1A);
          int t11F1C#1 = 2;
          int t21F1D#1 = Index<int{2},1>(n1F12);
          int iy1F1B#1 = Add<int>(t11F1C,t21F1D);
          addr(IMAGE2D<float>) a1F1E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F18,iy1F1B);
          real4 v31F17#1 = LoadVoxels<IMAGE2D<float>,4>(a1F1E);
          real fy1F3F#4 = Index<real2,1>(f1F10);
          real r1F47#1 = 0.1e1;
          real t31F44#1 = Add<real>(fy1F3F,r1F47);
          real t21F43#1 = fy1F3F;
          real r1F46#1 = 0.1e1;
          real t11F42#1 = Sub<real>(fy1F3F,r1F46);
          real r1F45#1 = 0.2e1;
          real t01F41#1 = Sub<real>(fy1F3F,r1F45);
          real4 a1F40#1 = <real4>[t31F44,t21F43,t11F42,t01F41];
          real4 hy1F35#1 = EvalKernel<4,bspln3,0>(a1F40);
          real fx1F36#4 = Index<real2,0>(f1F10);
          real r1F3E#1 = 0.1e1;
          real t31F3B#1 = Add<real>(fx1F36,r1F3E);
          real t21F3A#1 = fx1F36;
          real r1F3D#1 = 0.1e1;
          real t11F39#1 = Sub<real>(fx1F36,r1F3D);
          real r1F3C#1 = 0.2e1;
          real t01F38#1 = Sub<real>(fx1F36,r1F3C);
          real4 a1F37#1 = <real4>[t31F3B,t21F3A,t11F39,t01F38];
          real4 hx1F34#4 = EvalKernel<4,bspln3,0>(a1F37);
          real t01F49#1 = Dot<4>(v01F14,hx1F34);
          real t11F4A#1 = Dot<4>(v11F15,hx1F34);
          real t21F4B#1 = Dot<4>(v21F16,hx1F34);
          real t31F4C#1 = Dot<4>(v31F17,hx1F34);
          real4 tv1F48#1 = <real4>[t01F49,t11F4A,t21F4B,t31F4C];
          real _t1F0E#1 = Dot<4>(hy1F35,tv1F48);
          real2 x1F8C#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v140F2D);
          real2 nd1F8E#2 = Floor<2>(x1F8C);
          real2 f1F8D#2 = Sub<real2>(x1F8C,nd1F8E);
          int{2} n1F8F#8 = RealToInt<2>(nd1F8E);
          int t11FAB#1 = -1;
          int t21FAC#1 = Index<int{2},0>(n1F8F);
          int ix1FAA#1 = Add<int>(t11FAB,t21FAC);
          int t11FAE#1 = -1;
          int t21FAF#1 = Index<int{2},1>(n1F8F);
          int iy1FAD#1 = Add<int>(t11FAE,t21FAF);
          addr(IMAGE2D<int>) a1FB0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1FAD);
          real4 v01F91#1 = LoadVoxels<IMAGE2D<int>,4>(a1FB0);
          int t11FA4#1 = -1;
          int t21FA5#1 = Index<int{2},0>(n1F8F);
          int ix1FA3#1 = Add<int>(t11FA4,t21FA5);
          int t11FA7#1 = 0;
          int t21FA8#1 = Index<int{2},1>(n1F8F);
          int iy1FA6#1 = Add<int>(t11FA7,t21FA8);
          addr(IMAGE2D<int>) a1FA9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FA3,iy1FA6);
          real4 v11F92#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA9);
          int t11F9D#1 = -1;
          int t21F9E#1 = Index<int{2},0>(n1F8F);
          int ix1F9C#1 = Add<int>(t11F9D,t21F9E);
          int t11FA0#1 = 1;
          int t21FA1#1 = Index<int{2},1>(n1F8F);
          int iy1F9F#1 = Add<int>(t11FA0,t21FA1);
          addr(IMAGE2D<int>) a1FA2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1F9C,iy1F9F);
          real4 v21F93#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA2);
          int t11F96#1 = -1;
          int t21F97#1 = Index<int{2},0>(n1F8F);
          int ix1F95#1 = Add<int>(t11F96,t21F97);
          int t11F99#1 = 2;
          int t21F9A#1 = Index<int{2},1>(n1F8F);
          int iy1F98#1 = Add<int>(t11F99,t21F9A);
          addr(IMAGE2D<int>) a1F9B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1F95,iy1F98);
          real4 v31F94#1 = LoadVoxels<IMAGE2D<int>,4>(a1F9B);
          real fy1FBC#4 = Index<real2,1>(f1F8D);
          real r1FC4#1 = 0.1e1;
          real t31FC1#1 = Add<real>(fy1FBC,r1FC4);
          real t21FC0#1 = fy1FBC;
          real r1FC3#1 = 0.1e1;
          real t11FBF#1 = Sub<real>(fy1FBC,r1FC3);
          real r1FC2#1 = 0.2e1;
          real t01FBE#1 = Sub<real>(fy1FBC,r1FC2);
          real4 a1FBD#1 = <real4>[t31FC1,t21FC0,t11FBF,t01FBE];
          real4 hy1FB2#1 = EvalKernel<4,bspln3,0>(a1FBD);
          real fx1FB3#4 = Index<real2,0>(f1F8D);
          real r1FBB#1 = 0.1e1;
          real t31FB8#1 = Add<real>(fx1FB3,r1FBB);
          real t21FB7#1 = fx1FB3;
          real r1FBA#1 = 0.1e1;
          real t11FB6#1 = Sub<real>(fx1FB3,r1FBA);
          real r1FB9#1 = 0.2e1;
          real t01FB5#1 = Sub<real>(fx1FB3,r1FB9);
          real4 a1FB4#1 = <real4>[t31FB8,t21FB7,t11FB6,t01FB5];
          real4 hx1FB1#4 = EvalKernel<4,bspln3,0>(a1FB4);
          real t01FC6#1 = Dot<4>(v01F91,hx1FB1);
          real t11FC7#1 = Dot<4>(v11F92,hx1FB1);
          real t21FC8#1 = Dot<4>(v21F93,hx1FB1);
          real t31FC9#1 = Dot<4>(v31F94,hx1FB1);
          real4 tv1FC5#1 = <real4>[t01FC6,t11FC7,t21FC8,t31FC9];
          real _t1F8B#1 = Dot<4>(hy1FB2,tv1FC5);
          real _t2008#2 = Sub<real>(_t1F0E,_t1F8B);
          real _t200A#1 = Mul<real>(_t2008,_t2008);
          real score200C#1 = Add<real>(score1EF7,_t200A);
          goto JOIN200F
        JOIN200F:  preds = [ASSIGN200D,COND1F0D]
          real score200E#2 = phi(score200C,score1EF7)
          real _t2010#1 = Dot<2>(r00FA5,v150F2F);
          real _t2012#1 = Dot<2>(r10FAB,v150F2F);
          real2 _t2014#1 = <real2>[_t2010,_t2012];
          real2 pos2016#2 = Add<real2>(_t2014,_t0FBB);
          real2 x2019#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2016);
          bool _t2018#1 = Inside<IMAGE2D<float>,2>(x2019,_t0EFD);
          if _t2018 then goto ASSIGN201F else goto ASSIGN307D
        ASSIGN201F:  preds = [COND201C]
          real2 x201E#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v150F2F);
          bool _t201D#1 = Inside<IMAGE2D<int>,2>(x201E,_t0EF9);
          goto JOIN2023
        JOIN2023:  preds = [ASSIGN2020,ASSIGN307D]
          bool _t2021#1 = phi(_t201D,_t2022)
          if _t2021 then goto ASSIGN2064 else goto JOIN2126
        ASSIGN2064:  preds = [COND2024]
          real2 x2026#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2016);
          real2 nd2028#2 = Floor<2>(x2026);
          real2 f2027#2 = Sub<real2>(x2026,nd2028);
          int{2} n2029#8 = RealToInt<2>(nd2028);
          int t12045#1 = -1;
          int t22046#1 = Index<int{2},0>(n2029);
          int ix2044#1 = Add<int>(t12045,t22046);
          int t12048#1 = -1;
          int t22049#1 = Index<int{2},1>(n2029);
          int iy2047#1 = Add<int>(t12048,t22049);
          addr(IMAGE2D<float>) a204A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2047);
          real4 v0202B#1 = LoadVoxels<IMAGE2D<float>,4>(a204A);
          int t1203E#1 = -1;
          int t2203F#1 = Index<int{2},0>(n2029);
          int ix203D#1 = Add<int>(t1203E,t2203F);
          int t12041#1 = 0;
          int t22042#1 = Index<int{2},1>(n2029);
          int iy2040#1 = Add<int>(t12041,t22042);
          addr(IMAGE2D<float>) a2043#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix203D,iy2040);
          real4 v1202C#1 = LoadVoxels<IMAGE2D<float>,4>(a2043);
          int t12037#1 = -1;
          int t22038#1 = Index<int{2},0>(n2029);
          int ix2036#1 = Add<int>(t12037,t22038);
          int t1203A#1 = 1;
          int t2203B#1 = Index<int{2},1>(n2029);
          int iy2039#1 = Add<int>(t1203A,t2203B);
          addr(IMAGE2D<float>) a203C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2036,iy2039);
          real4 v2202D#1 = LoadVoxels<IMAGE2D<float>,4>(a203C);
          int t12030#1 = -1;
          int t22031#1 = Index<int{2},0>(n2029);
          int ix202F#1 = Add<int>(t12030,t22031);
          int t12033#1 = 2;
          int t22034#1 = Index<int{2},1>(n2029);
          int iy2032#1 = Add<int>(t12033,t22034);
          addr(IMAGE2D<float>) a2035#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix202F,iy2032);
          real4 v3202E#1 = LoadVoxels<IMAGE2D<float>,4>(a2035);
          real fy2056#4 = Index<real2,1>(f2027);
          real r205E#1 = 0.1e1;
          real t3205B#1 = Add<real>(fy2056,r205E);
          real t2205A#1 = fy2056;
          real r205D#1 = 0.1e1;
          real t12059#1 = Sub<real>(fy2056,r205D);
          real r205C#1 = 0.2e1;
          real t02058#1 = Sub<real>(fy2056,r205C);
          real4 a2057#1 = <real4>[t3205B,t2205A,t12059,t02058];
          real4 hy204C#1 = EvalKernel<4,bspln3,0>(a2057);
          real fx204D#4 = Index<real2,0>(f2027);
          real r2055#1 = 0.1e1;
          real t32052#1 = Add<real>(fx204D,r2055);
          real t22051#1 = fx204D;
          real r2054#1 = 0.1e1;
          real t12050#1 = Sub<real>(fx204D,r2054);
          real r2053#1 = 0.2e1;
          real t0204F#1 = Sub<real>(fx204D,r2053);
          real4 a204E#1 = <real4>[t32052,t22051,t12050,t0204F];
          real4 hx204B#4 = EvalKernel<4,bspln3,0>(a204E);
          real t02060#1 = Dot<4>(v0202B,hx204B);
          real t12061#1 = Dot<4>(v1202C,hx204B);
          real t22062#1 = Dot<4>(v2202D,hx204B);
          real t32063#1 = Dot<4>(v3202E,hx204B);
          real4 tv205F#1 = <real4>[t02060,t12061,t22062,t32063];
          real _t2025#1 = Dot<4>(hy204C,tv205F);
          real2 x20A3#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v150F2F);
          real2 nd20A5#2 = Floor<2>(x20A3);
          real2 f20A4#2 = Sub<real2>(x20A3,nd20A5);
          int{2} n20A6#8 = RealToInt<2>(nd20A5);
          int t120C2#1 = -1;
          int t220C3#1 = Index<int{2},0>(n20A6);
          int ix20C1#1 = Add<int>(t120C2,t220C3);
          int t120C5#1 = -1;
          int t220C6#1 = Index<int{2},1>(n20A6);
          int iy20C4#1 = Add<int>(t120C5,t220C6);
          addr(IMAGE2D<int>) a20C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20C4);
          real4 v020A8#1 = LoadVoxels<IMAGE2D<int>,4>(a20C7);
          int t120BB#1 = -1;
          int t220BC#1 = Index<int{2},0>(n20A6);
          int ix20BA#1 = Add<int>(t120BB,t220BC);
          int t120BE#1 = 0;
          int t220BF#1 = Index<int{2},1>(n20A6);
          int iy20BD#1 = Add<int>(t120BE,t220BF);
          addr(IMAGE2D<int>) a20C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20BA,iy20BD);
          real4 v120A9#1 = LoadVoxels<IMAGE2D<int>,4>(a20C0);
          int t120B4#1 = -1;
          int t220B5#1 = Index<int{2},0>(n20A6);
          int ix20B3#1 = Add<int>(t120B4,t220B5);
          int t120B7#1 = 1;
          int t220B8#1 = Index<int{2},1>(n20A6);
          int iy20B6#1 = Add<int>(t120B7,t220B8);
          addr(IMAGE2D<int>) a20B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20B3,iy20B6);
          real4 v220AA#1 = LoadVoxels<IMAGE2D<int>,4>(a20B9);
          int t120AD#1 = -1;
          int t220AE#1 = Index<int{2},0>(n20A6);
          int ix20AC#1 = Add<int>(t120AD,t220AE);
          int t120B0#1 = 2;
          int t220B1#1 = Index<int{2},1>(n20A6);
          int iy20AF#1 = Add<int>(t120B0,t220B1);
          addr(IMAGE2D<int>) a20B2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20AC,iy20AF);
          real4 v320AB#1 = LoadVoxels<IMAGE2D<int>,4>(a20B2);
          real fy20D3#4 = Index<real2,1>(f20A4);
          real r20DB#1 = 0.1e1;
          real t320D8#1 = Add<real>(fy20D3,r20DB);
          real t220D7#1 = fy20D3;
          real r20DA#1 = 0.1e1;
          real t120D6#1 = Sub<real>(fy20D3,r20DA);
          real r20D9#1 = 0.2e1;
          real t020D5#1 = Sub<real>(fy20D3,r20D9);
          real4 a20D4#1 = <real4>[t320D8,t220D7,t120D6,t020D5];
          real4 hy20C9#1 = EvalKernel<4,bspln3,0>(a20D4);
          real fx20CA#4 = Index<real2,0>(f20A4);
          real r20D2#1 = 0.1e1;
          real t320CF#1 = Add<real>(fx20CA,r20D2);
          real t220CE#1 = fx20CA;
          real r20D1#1 = 0.1e1;
          real t120CD#1 = Sub<real>(fx20CA,r20D1);
          real r20D0#1 = 0.2e1;
          real t020CC#1 = Sub<real>(fx20CA,r20D0);
          real4 a20CB#1 = <real4>[t320CF,t220CE,t120CD,t020CC];
          real4 hx20C8#4 = EvalKernel<4,bspln3,0>(a20CB);
          real t020DD#1 = Dot<4>(v020A8,hx20C8);
          real t120DE#1 = Dot<4>(v120A9,hx20C8);
          real t220DF#1 = Dot<4>(v220AA,hx20C8);
          real t320E0#1 = Dot<4>(v320AB,hx20C8);
          real4 tv20DC#1 = <real4>[t020DD,t120DE,t220DF,t320E0];
          real _t20A2#1 = Dot<4>(hy20C9,tv20DC);
          real _t211F#2 = Sub<real>(_t2025,_t20A2);
          real _t2121#1 = Mul<real>(_t211F,_t211F);
          real score2123#1 = Add<real>(score200E,_t2121);
          goto JOIN2126
        JOIN2126:  preds = [ASSIGN2124,COND2024]
          real score2125#2 = phi(score2123,score200E)
          real _t2127#1 = Dot<2>(r00FA5,v160F31);
          real _t2129#1 = Dot<2>(r10FAB,v160F31);
          real2 _t212B#1 = <real2>[_t2127,_t2129];
          real2 pos212D#2 = Add<real2>(_t212B,_t0FBB);
          real2 x2130#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos212D);
          bool _t212F#1 = Inside<IMAGE2D<float>,2>(x2130,_t0EFD);
          if _t212F then goto ASSIGN2136 else goto ASSIGN307C
        ASSIGN2136:  preds = [COND2133]
          real2 x2135#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v160F31);
          bool _t2134#1 = Inside<IMAGE2D<int>,2>(x2135,_t0EF9);
          goto JOIN213A
        JOIN213A:  preds = [ASSIGN2137,ASSIGN307C]
          bool _t2138#1 = phi(_t2134,_t2139)
          if _t2138 then goto ASSIGN217B else goto JOIN223D
        ASSIGN217B:  preds = [COND213B]
          real2 x213D#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos212D);
          real2 nd213F#2 = Floor<2>(x213D);
          real2 f213E#2 = Sub<real2>(x213D,nd213F);
          int{2} n2140#8 = RealToInt<2>(nd213F);
          int t1215C#1 = -1;
          int t2215D#1 = Index<int{2},0>(n2140);
          int ix215B#1 = Add<int>(t1215C,t2215D);
          int t1215F#1 = -1;
          int t22160#1 = Index<int{2},1>(n2140);
          int iy215E#1 = Add<int>(t1215F,t22160);
          addr(IMAGE2D<float>) a2161#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy215E);
          real4 v02142#1 = LoadVoxels<IMAGE2D<float>,4>(a2161);
          int t12155#1 = -1;
          int t22156#1 = Index<int{2},0>(n2140);
          int ix2154#1 = Add<int>(t12155,t22156);
          int t12158#1 = 0;
          int t22159#1 = Index<int{2},1>(n2140);
          int iy2157#1 = Add<int>(t12158,t22159);
          addr(IMAGE2D<float>) a215A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2154,iy2157);
          real4 v12143#1 = LoadVoxels<IMAGE2D<float>,4>(a215A);
          int t1214E#1 = -1;
          int t2214F#1 = Index<int{2},0>(n2140);
          int ix214D#1 = Add<int>(t1214E,t2214F);
          int t12151#1 = 1;
          int t22152#1 = Index<int{2},1>(n2140);
          int iy2150#1 = Add<int>(t12151,t22152);
          addr(IMAGE2D<float>) a2153#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix214D,iy2150);
          real4 v22144#1 = LoadVoxels<IMAGE2D<float>,4>(a2153);
          int t12147#1 = -1;
          int t22148#1 = Index<int{2},0>(n2140);
          int ix2146#1 = Add<int>(t12147,t22148);
          int t1214A#1 = 2;
          int t2214B#1 = Index<int{2},1>(n2140);
          int iy2149#1 = Add<int>(t1214A,t2214B);
          addr(IMAGE2D<float>) a214C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2146,iy2149);
          real4 v32145#1 = LoadVoxels<IMAGE2D<float>,4>(a214C);
          real fy216D#4 = Index<real2,1>(f213E);
          real r2175#1 = 0.1e1;
          real t32172#1 = Add<real>(fy216D,r2175);
          real t22171#1 = fy216D;
          real r2174#1 = 0.1e1;
          real t12170#1 = Sub<real>(fy216D,r2174);
          real r2173#1 = 0.2e1;
          real t0216F#1 = Sub<real>(fy216D,r2173);
          real4 a216E#1 = <real4>[t32172,t22171,t12170,t0216F];
          real4 hy2163#1 = EvalKernel<4,bspln3,0>(a216E);
          real fx2164#4 = Index<real2,0>(f213E);
          real r216C#1 = 0.1e1;
          real t32169#1 = Add<real>(fx2164,r216C);
          real t22168#1 = fx2164;
          real r216B#1 = 0.1e1;
          real t12167#1 = Sub<real>(fx2164,r216B);
          real r216A#1 = 0.2e1;
          real t02166#1 = Sub<real>(fx2164,r216A);
          real4 a2165#1 = <real4>[t32169,t22168,t12167,t02166];
          real4 hx2162#4 = EvalKernel<4,bspln3,0>(a2165);
          real t02177#1 = Dot<4>(v02142,hx2162);
          real t12178#1 = Dot<4>(v12143,hx2162);
          real t22179#1 = Dot<4>(v22144,hx2162);
          real t3217A#1 = Dot<4>(v32145,hx2162);
          real4 tv2176#1 = <real4>[t02177,t12178,t22179,t3217A];
          real _t213C#1 = Dot<4>(hy2163,tv2176);
          real2 x21BA#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v160F31);
          real2 nd21BC#2 = Floor<2>(x21BA);
          real2 f21BB#2 = Sub<real2>(x21BA,nd21BC);
          int{2} n21BD#8 = RealToInt<2>(nd21BC);
          int t121D9#1 = -1;
          int t221DA#1 = Index<int{2},0>(n21BD);
          int ix21D8#1 = Add<int>(t121D9,t221DA);
          int t121DC#1 = -1;
          int t221DD#1 = Index<int{2},1>(n21BD);
          int iy21DB#1 = Add<int>(t121DC,t221DD);
          addr(IMAGE2D<int>) a21DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21DB);
          real4 v021BF#1 = LoadVoxels<IMAGE2D<int>,4>(a21DE);
          int t121D2#1 = -1;
          int t221D3#1 = Index<int{2},0>(n21BD);
          int ix21D1#1 = Add<int>(t121D2,t221D3);
          int t121D5#1 = 0;
          int t221D6#1 = Index<int{2},1>(n21BD);
          int iy21D4#1 = Add<int>(t121D5,t221D6);
          addr(IMAGE2D<int>) a21D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D1,iy21D4);
          real4 v121C0#1 = LoadVoxels<IMAGE2D<int>,4>(a21D7);
          int t121CB#1 = -1;
          int t221CC#1 = Index<int{2},0>(n21BD);
          int ix21CA#1 = Add<int>(t121CB,t221CC);
          int t121CE#1 = 1;
          int t221CF#1 = Index<int{2},1>(n21BD);
          int iy21CD#1 = Add<int>(t121CE,t221CF);
          addr(IMAGE2D<int>) a21D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21CA,iy21CD);
          real4 v221C1#1 = LoadVoxels<IMAGE2D<int>,4>(a21D0);
          int t121C4#1 = -1;
          int t221C5#1 = Index<int{2},0>(n21BD);
          int ix21C3#1 = Add<int>(t121C4,t221C5);
          int t121C7#1 = 2;
          int t221C8#1 = Index<int{2},1>(n21BD);
          int iy21C6#1 = Add<int>(t121C7,t221C8);
          addr(IMAGE2D<int>) a21C9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21C3,iy21C6);
          real4 v321C2#1 = LoadVoxels<IMAGE2D<int>,4>(a21C9);
          real fy21EA#4 = Index<real2,1>(f21BB);
          real r21F2#1 = 0.1e1;
          real t321EF#1 = Add<real>(fy21EA,r21F2);
          real t221EE#1 = fy21EA;
          real r21F1#1 = 0.1e1;
          real t121ED#1 = Sub<real>(fy21EA,r21F1);
          real r21F0#1 = 0.2e1;
          real t021EC#1 = Sub<real>(fy21EA,r21F0);
          real4 a21EB#1 = <real4>[t321EF,t221EE,t121ED,t021EC];
          real4 hy21E0#1 = EvalKernel<4,bspln3,0>(a21EB);
          real fx21E1#4 = Index<real2,0>(f21BB);
          real r21E9#1 = 0.1e1;
          real t321E6#1 = Add<real>(fx21E1,r21E9);
          real t221E5#1 = fx21E1;
          real r21E8#1 = 0.1e1;
          real t121E4#1 = Sub<real>(fx21E1,r21E8);
          real r21E7#1 = 0.2e1;
          real t021E3#1 = Sub<real>(fx21E1,r21E7);
          real4 a21E2#1 = <real4>[t321E6,t221E5,t121E4,t021E3];
          real4 hx21DF#4 = EvalKernel<4,bspln3,0>(a21E2);
          real t021F4#1 = Dot<4>(v021BF,hx21DF);
          real t121F5#1 = Dot<4>(v121C0,hx21DF);
          real t221F6#1 = Dot<4>(v221C1,hx21DF);
          real t321F7#1 = Dot<4>(v321C2,hx21DF);
          real4 tv21F3#1 = <real4>[t021F4,t121F5,t221F6,t321F7];
          real _t21B9#1 = Dot<4>(hy21E0,tv21F3);
          real _t2236#2 = Sub<real>(_t213C,_t21B9);
          real _t2238#1 = Mul<real>(_t2236,_t2236);
          real score223A#1 = Add<real>(score2125,_t2238);
          goto JOIN223D
        JOIN223D:  preds = [ASSIGN223B,COND213B]
          real score223C#2 = phi(score223A,score2125)
          real _t223E#1 = Dot<2>(r00FA5,v170F33);
          real _t2240#1 = Dot<2>(r10FAB,v170F33);
          real2 _t2242#1 = <real2>[_t223E,_t2240];
          real2 pos2244#2 = Add<real2>(_t2242,_t0FBB);
          real2 x2247#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2244);
          bool _t2246#1 = Inside<IMAGE2D<float>,2>(x2247,_t0EFD);
          if _t2246 then goto ASSIGN224D else goto ASSIGN307B
        ASSIGN224D:  preds = [COND224A]
          real2 x224C#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v170F33);
          bool _t224B#1 = Inside<IMAGE2D<int>,2>(x224C,_t0EF9);
          goto JOIN2251
        JOIN2251:  preds = [ASSIGN224E,ASSIGN307B]
          bool _t224F#1 = phi(_t224B,_t2250)
          if _t224F then goto ASSIGN2292 else goto JOIN2354
        ASSIGN2292:  preds = [COND2252]
          real2 x2254#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2244);
          real2 nd2256#2 = Floor<2>(x2254);
          real2 f2255#2 = Sub<real2>(x2254,nd2256);
          int{2} n2257#8 = RealToInt<2>(nd2256);
          int t12273#1 = -1;
          int t22274#1 = Index<int{2},0>(n2257);
          int ix2272#1 = Add<int>(t12273,t22274);
          int t12276#1 = -1;
          int t22277#1 = Index<int{2},1>(n2257);
          int iy2275#1 = Add<int>(t12276,t22277);
          addr(IMAGE2D<float>) a2278#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy2275);
          real4 v02259#1 = LoadVoxels<IMAGE2D<float>,4>(a2278);
          int t1226C#1 = -1;
          int t2226D#1 = Index<int{2},0>(n2257);
          int ix226B#1 = Add<int>(t1226C,t2226D);
          int t1226F#1 = 0;
          int t22270#1 = Index<int{2},1>(n2257);
          int iy226E#1 = Add<int>(t1226F,t22270);
          addr(IMAGE2D<float>) a2271#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix226B,iy226E);
          real4 v1225A#1 = LoadVoxels<IMAGE2D<float>,4>(a2271);
          int t12265#1 = -1;
          int t22266#1 = Index<int{2},0>(n2257);
          int ix2264#1 = Add<int>(t12265,t22266);
          int t12268#1 = 1;
          int t22269#1 = Index<int{2},1>(n2257);
          int iy2267#1 = Add<int>(t12268,t22269);
          addr(IMAGE2D<float>) a226A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2264,iy2267);
          real4 v2225B#1 = LoadVoxels<IMAGE2D<float>,4>(a226A);
          int t1225E#1 = -1;
          int t2225F#1 = Index<int{2},0>(n2257);
          int ix225D#1 = Add<int>(t1225E,t2225F);
          int t12261#1 = 2;
          int t22262#1 = Index<int{2},1>(n2257);
          int iy2260#1 = Add<int>(t12261,t22262);
          addr(IMAGE2D<float>) a2263#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix225D,iy2260);
          real4 v3225C#1 = LoadVoxels<IMAGE2D<float>,4>(a2263);
          real fy2284#4 = Index<real2,1>(f2255);
          real r228C#1 = 0.1e1;
          real t32289#1 = Add<real>(fy2284,r228C);
          real t22288#1 = fy2284;
          real r228B#1 = 0.1e1;
          real t12287#1 = Sub<real>(fy2284,r228B);
          real r228A#1 = 0.2e1;
          real t02286#1 = Sub<real>(fy2284,r228A);
          real4 a2285#1 = <real4>[t32289,t22288,t12287,t02286];
          real4 hy227A#1 = EvalKernel<4,bspln3,0>(a2285);
          real fx227B#4 = Index<real2,0>(f2255);
          real r2283#1 = 0.1e1;
          real t32280#1 = Add<real>(fx227B,r2283);
          real t2227F#1 = fx227B;
          real r2282#1 = 0.1e1;
          real t1227E#1 = Sub<real>(fx227B,r2282);
          real r2281#1 = 0.2e1;
          real t0227D#1 = Sub<real>(fx227B,r2281);
          real4 a227C#1 = <real4>[t32280,t2227F,t1227E,t0227D];
          real4 hx2279#4 = EvalKernel<4,bspln3,0>(a227C);
          real t0228E#1 = Dot<4>(v02259,hx2279);
          real t1228F#1 = Dot<4>(v1225A,hx2279);
          real t22290#1 = Dot<4>(v2225B,hx2279);
          real t32291#1 = Dot<4>(v3225C,hx2279);
          real4 tv228D#1 = <real4>[t0228E,t1228F,t22290,t32291];
          real _t2253#1 = Dot<4>(hy227A,tv228D);
          real2 x22D1#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v170F33);
          real2 nd22D3#2 = Floor<2>(x22D1);
          real2 f22D2#2 = Sub<real2>(x22D1,nd22D3);
          int{2} n22D4#8 = RealToInt<2>(nd22D3);
          int t122F0#1 = -1;
          int t222F1#1 = Index<int{2},0>(n22D4);
          int ix22EF#1 = Add<int>(t122F0,t222F1);
          int t122F3#1 = -1;
          int t222F4#1 = Index<int{2},1>(n22D4);
          int iy22F2#1 = Add<int>(t122F3,t222F4);
          addr(IMAGE2D<int>) a22F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22F2);
          real4 v022D6#1 = LoadVoxels<IMAGE2D<int>,4>(a22F5);
          int t122E9#1 = -1;
          int t222EA#1 = Index<int{2},0>(n22D4);
          int ix22E8#1 = Add<int>(t122E9,t222EA);
          int t122EC#1 = 0;
          int t222ED#1 = Index<int{2},1>(n22D4);
          int iy22EB#1 = Add<int>(t122EC,t222ED);
          addr(IMAGE2D<int>) a22EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22E8,iy22EB);
          real4 v122D7#1 = LoadVoxels<IMAGE2D<int>,4>(a22EE);
          int t122E2#1 = -1;
          int t222E3#1 = Index<int{2},0>(n22D4);
          int ix22E1#1 = Add<int>(t122E2,t222E3);
          int t122E5#1 = 1;
          int t222E6#1 = Index<int{2},1>(n22D4);
          int iy22E4#1 = Add<int>(t122E5,t222E6);
          addr(IMAGE2D<int>) a22E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22E1,iy22E4);
          real4 v222D8#1 = LoadVoxels<IMAGE2D<int>,4>(a22E7);
          int t122DB#1 = -1;
          int t222DC#1 = Index<int{2},0>(n22D4);
          int ix22DA#1 = Add<int>(t122DB,t222DC);
          int t122DE#1 = 2;
          int t222DF#1 = Index<int{2},1>(n22D4);
          int iy22DD#1 = Add<int>(t122DE,t222DF);
          addr(IMAGE2D<int>) a22E0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22DA,iy22DD);
          real4 v322D9#1 = LoadVoxels<IMAGE2D<int>,4>(a22E0);
          real fy2301#4 = Index<real2,1>(f22D2);
          real r2309#1 = 0.1e1;
          real t32306#1 = Add<real>(fy2301,r2309);
          real t22305#1 = fy2301;
          real r2308#1 = 0.1e1;
          real t12304#1 = Sub<real>(fy2301,r2308);
          real r2307#1 = 0.2e1;
          real t02303#1 = Sub<real>(fy2301,r2307);
          real4 a2302#1 = <real4>[t32306,t22305,t12304,t02303];
          real4 hy22F7#1 = EvalKernel<4,bspln3,0>(a2302);
          real fx22F8#4 = Index<real2,0>(f22D2);
          real r2300#1 = 0.1e1;
          real t322FD#1 = Add<real>(fx22F8,r2300);
          real t222FC#1 = fx22F8;
          real r22FF#1 = 0.1e1;
          real t122FB#1 = Sub<real>(fx22F8,r22FF);
          real r22FE#1 = 0.2e1;
          real t022FA#1 = Sub<real>(fx22F8,r22FE);
          real4 a22F9#1 = <real4>[t322FD,t222FC,t122FB,t022FA];
          real4 hx22F6#4 = EvalKernel<4,bspln3,0>(a22F9);
          real t0230B#1 = Dot<4>(v022D6,hx22F6);
          real t1230C#1 = Dot<4>(v122D7,hx22F6);
          real t2230D#1 = Dot<4>(v222D8,hx22F6);
          real t3230E#1 = Dot<4>(v322D9,hx22F6);
          real4 tv230A#1 = <real4>[t0230B,t1230C,t2230D,t3230E];
          real _t22D0#1 = Dot<4>(hy22F7,tv230A);
          real _t234D#2 = Sub<real>(_t2253,_t22D0);
          real _t234F#1 = Mul<real>(_t234D,_t234D);
          real score2351#1 = Add<real>(score223C,_t234F);
          goto JOIN2354
        JOIN2354:  preds = [ASSIGN2352,COND2252]
          real score2353#2 = phi(score2351,score223C)
          real _t2355#1 = Dot<2>(r00FA5,v180F35);
          real _t2357#1 = Dot<2>(r10FAB,v180F35);
          real2 _t2359#1 = <real2>[_t2355,_t2357];
          real2 pos235B#2 = Add<real2>(_t2359,_t0FBB);
          real2 x235E#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos235B);
          bool _t235D#1 = Inside<IMAGE2D<float>,2>(x235E,_t0EFD);
          if _t235D then goto ASSIGN2364 else goto ASSIGN307A
        ASSIGN2364:  preds = [COND2361]
          real2 x2363#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v180F35);
          bool _t2362#1 = Inside<IMAGE2D<int>,2>(x2363,_t0EF9);
          goto JOIN2368
        JOIN2368:  preds = [ASSIGN2365,ASSIGN307A]
          bool _t2366#1 = phi(_t2362,_t2367)
          if _t2366 then goto ASSIGN23A9 else goto JOIN246B
        ASSIGN23A9:  preds = [COND2369]
          real2 x236B#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos235B);
          real2 nd236D#2 = Floor<2>(x236B);
          real2 f236C#2 = Sub<real2>(x236B,nd236D);
          int{2} n236E#8 = RealToInt<2>(nd236D);
          int t1238A#1 = -1;
          int t2238B#1 = Index<int{2},0>(n236E);
          int ix2389#1 = Add<int>(t1238A,t2238B);
          int t1238D#1 = -1;
          int t2238E#1 = Index<int{2},1>(n236E);
          int iy238C#1 = Add<int>(t1238D,t2238E);
          addr(IMAGE2D<float>) a238F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy238C);
          real4 v02370#1 = LoadVoxels<IMAGE2D<float>,4>(a238F);
          int t12383#1 = -1;
          int t22384#1 = Index<int{2},0>(n236E);
          int ix2382#1 = Add<int>(t12383,t22384);
          int t12386#1 = 0;
          int t22387#1 = Index<int{2},1>(n236E);
          int iy2385#1 = Add<int>(t12386,t22387);
          addr(IMAGE2D<float>) a2388#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2382,iy2385);
          real4 v12371#1 = LoadVoxels<IMAGE2D<float>,4>(a2388);
          int t1237C#1 = -1;
          int t2237D#1 = Index<int{2},0>(n236E);
          int ix237B#1 = Add<int>(t1237C,t2237D);
          int t1237F#1 = 1;
          int t22380#1 = Index<int{2},1>(n236E);
          int iy237E#1 = Add<int>(t1237F,t22380);
          addr(IMAGE2D<float>) a2381#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix237B,iy237E);
          real4 v22372#1 = LoadVoxels<IMAGE2D<float>,4>(a2381);
          int t12375#1 = -1;
          int t22376#1 = Index<int{2},0>(n236E);
          int ix2374#1 = Add<int>(t12375,t22376);
          int t12378#1 = 2;
          int t22379#1 = Index<int{2},1>(n236E);
          int iy2377#1 = Add<int>(t12378,t22379);
          addr(IMAGE2D<float>) a237A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2374,iy2377);
          real4 v32373#1 = LoadVoxels<IMAGE2D<float>,4>(a237A);
          real fy239B#4 = Index<real2,1>(f236C);
          real r23A3#1 = 0.1e1;
          real t323A0#1 = Add<real>(fy239B,r23A3);
          real t2239F#1 = fy239B;
          real r23A2#1 = 0.1e1;
          real t1239E#1 = Sub<real>(fy239B,r23A2);
          real r23A1#1 = 0.2e1;
          real t0239D#1 = Sub<real>(fy239B,r23A1);
          real4 a239C#1 = <real4>[t323A0,t2239F,t1239E,t0239D];
          real4 hy2391#1 = EvalKernel<4,bspln3,0>(a239C);
          real fx2392#4 = Index<real2,0>(f236C);
          real r239A#1 = 0.1e1;
          real t32397#1 = Add<real>(fx2392,r239A);
          real t22396#1 = fx2392;
          real r2399#1 = 0.1e1;
          real t12395#1 = Sub<real>(fx2392,r2399);
          real r2398#1 = 0.2e1;
          real t02394#1 = Sub<real>(fx2392,r2398);
          real4 a2393#1 = <real4>[t32397,t22396,t12395,t02394];
          real4 hx2390#4 = EvalKernel<4,bspln3,0>(a2393);
          real t023A5#1 = Dot<4>(v02370,hx2390);
          real t123A6#1 = Dot<4>(v12371,hx2390);
          real t223A7#1 = Dot<4>(v22372,hx2390);
          real t323A8#1 = Dot<4>(v32373,hx2390);
          real4 tv23A4#1 = <real4>[t023A5,t123A6,t223A7,t323A8];
          real _t236A#1 = Dot<4>(hy2391,tv23A4);
          real2 x23E8#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v180F35);
          real2 nd23EA#2 = Floor<2>(x23E8);
          real2 f23E9#2 = Sub<real2>(x23E8,nd23EA);
          int{2} n23EB#8 = RealToInt<2>(nd23EA);
          int t12407#1 = -1;
          int t22408#1 = Index<int{2},0>(n23EB);
          int ix2406#1 = Add<int>(t12407,t22408);
          int t1240A#1 = -1;
          int t2240B#1 = Index<int{2},1>(n23EB);
          int iy2409#1 = Add<int>(t1240A,t2240B);
          addr(IMAGE2D<int>) a240C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy2409);
          real4 v023ED#1 = LoadVoxels<IMAGE2D<int>,4>(a240C);
          int t12400#1 = -1;
          int t22401#1 = Index<int{2},0>(n23EB);
          int ix23FF#1 = Add<int>(t12400,t22401);
          int t12403#1 = 0;
          int t22404#1 = Index<int{2},1>(n23EB);
          int iy2402#1 = Add<int>(t12403,t22404);
          addr(IMAGE2D<int>) a2405#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix23FF,iy2402);
          real4 v123EE#1 = LoadVoxels<IMAGE2D<int>,4>(a2405);
          int t123F9#1 = -1;
          int t223FA#1 = Index<int{2},0>(n23EB);
          int ix23F8#1 = Add<int>(t123F9,t223FA);
          int t123FC#1 = 1;
          int t223FD#1 = Index<int{2},1>(n23EB);
          int iy23FB#1 = Add<int>(t123FC,t223FD);
          addr(IMAGE2D<int>) a23FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix23F8,iy23FB);
          real4 v223EF#1 = LoadVoxels<IMAGE2D<int>,4>(a23FE);
          int t123F2#1 = -1;
          int t223F3#1 = Index<int{2},0>(n23EB);
          int ix23F1#1 = Add<int>(t123F2,t223F3);
          int t123F5#1 = 2;
          int t223F6#1 = Index<int{2},1>(n23EB);
          int iy23F4#1 = Add<int>(t123F5,t223F6);
          addr(IMAGE2D<int>) a23F7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix23F1,iy23F4);
          real4 v323F0#1 = LoadVoxels<IMAGE2D<int>,4>(a23F7);
          real fy2418#4 = Index<real2,1>(f23E9);
          real r2420#1 = 0.1e1;
          real t3241D#1 = Add<real>(fy2418,r2420);
          real t2241C#1 = fy2418;
          real r241F#1 = 0.1e1;
          real t1241B#1 = Sub<real>(fy2418,r241F);
          real r241E#1 = 0.2e1;
          real t0241A#1 = Sub<real>(fy2418,r241E);
          real4 a2419#1 = <real4>[t3241D,t2241C,t1241B,t0241A];
          real4 hy240E#1 = EvalKernel<4,bspln3,0>(a2419);
          real fx240F#4 = Index<real2,0>(f23E9);
          real r2417#1 = 0.1e1;
          real t32414#1 = Add<real>(fx240F,r2417);
          real t22413#1 = fx240F;
          real r2416#1 = 0.1e1;
          real t12412#1 = Sub<real>(fx240F,r2416);
          real r2415#1 = 0.2e1;
          real t02411#1 = Sub<real>(fx240F,r2415);
          real4 a2410#1 = <real4>[t32414,t22413,t12412,t02411];
          real4 hx240D#4 = EvalKernel<4,bspln3,0>(a2410);
          real t02422#1 = Dot<4>(v023ED,hx240D);
          real t12423#1 = Dot<4>(v123EE,hx240D);
          real t22424#1 = Dot<4>(v223EF,hx240D);
          real t32425#1 = Dot<4>(v323F0,hx240D);
          real4 tv2421#1 = <real4>[t02422,t12423,t22424,t32425];
          real _t23E7#1 = Dot<4>(hy240E,tv2421);
          real _t2464#2 = Sub<real>(_t236A,_t23E7);
          real _t2466#1 = Mul<real>(_t2464,_t2464);
          real score2468#1 = Add<real>(score2353,_t2466);
          goto JOIN246B
        JOIN246B:  preds = [ASSIGN2469,COND2369]
          real score246A#2 = phi(score2468,score2353)
          real _t246C#1 = Dot<2>(r00FA5,v190F37);
          real _t246E#1 = Dot<2>(r10FAB,v190F37);
          real2 _t2470#1 = <real2>[_t246C,_t246E];
          real2 pos2472#2 = Add<real2>(_t2470,_t0FBB);
          real2 x2475#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2472);
          bool _t2474#1 = Inside<IMAGE2D<float>,2>(x2475,_t0EFD);
          if _t2474 then goto ASSIGN247B else goto ASSIGN3079
        ASSIGN247B:  preds = [COND2478]
          real2 x247A#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v190F37);
          bool _t2479#1 = Inside<IMAGE2D<int>,2>(x247A,_t0EF9);
          goto JOIN247F
        JOIN247F:  preds = [ASSIGN247C,ASSIGN3079]
          bool _t247D#1 = phi(_t2479,_t247E)
          if _t247D then goto ASSIGN24C0 else goto JOIN2582
        ASSIGN24C0:  preds = [COND2480]
          real2 x2482#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2472);
          real2 nd2484#2 = Floor<2>(x2482);
          real2 f2483#2 = Sub<real2>(x2482,nd2484);
          int{2} n2485#8 = RealToInt<2>(nd2484);
          int t124A1#1 = -1;
          int t224A2#1 = Index<int{2},0>(n2485);
          int ix24A0#1 = Add<int>(t124A1,t224A2);
          int t124A4#1 = -1;
          int t224A5#1 = Index<int{2},1>(n2485);
          int iy24A3#1 = Add<int>(t124A4,t224A5);
          addr(IMAGE2D<float>) a24A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy24A3);
          real4 v02487#1 = LoadVoxels<IMAGE2D<float>,4>(a24A6);
          int t1249A#1 = -1;
          int t2249B#1 = Index<int{2},0>(n2485);
          int ix2499#1 = Add<int>(t1249A,t2249B);
          int t1249D#1 = 0;
          int t2249E#1 = Index<int{2},1>(n2485);
          int iy249C#1 = Add<int>(t1249D,t2249E);
          addr(IMAGE2D<float>) a249F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2499,iy249C);
          real4 v12488#1 = LoadVoxels<IMAGE2D<float>,4>(a249F);
          int t12493#1 = -1;
          int t22494#1 = Index<int{2},0>(n2485);
          int ix2492#1 = Add<int>(t12493,t22494);
          int t12496#1 = 1;
          int t22497#1 = Index<int{2},1>(n2485);
          int iy2495#1 = Add<int>(t12496,t22497);
          addr(IMAGE2D<float>) a2498#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2492,iy2495);
          real4 v22489#1 = LoadVoxels<IMAGE2D<float>,4>(a2498);
          int t1248C#1 = -1;
          int t2248D#1 = Index<int{2},0>(n2485);
          int ix248B#1 = Add<int>(t1248C,t2248D);
          int t1248F#1 = 2;
          int t22490#1 = Index<int{2},1>(n2485);
          int iy248E#1 = Add<int>(t1248F,t22490);
          addr(IMAGE2D<float>) a2491#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix248B,iy248E);
          real4 v3248A#1 = LoadVoxels<IMAGE2D<float>,4>(a2491);
          real fy24B2#4 = Index<real2,1>(f2483);
          real r24BA#1 = 0.1e1;
          real t324B7#1 = Add<real>(fy24B2,r24BA);
          real t224B6#1 = fy24B2;
          real r24B9#1 = 0.1e1;
          real t124B5#1 = Sub<real>(fy24B2,r24B9);
          real r24B8#1 = 0.2e1;
          real t024B4#1 = Sub<real>(fy24B2,r24B8);
          real4 a24B3#1 = <real4>[t324B7,t224B6,t124B5,t024B4];
          real4 hy24A8#1 = EvalKernel<4,bspln3,0>(a24B3);
          real fx24A9#4 = Index<real2,0>(f2483);
          real r24B1#1 = 0.1e1;
          real t324AE#1 = Add<real>(fx24A9,r24B1);
          real t224AD#1 = fx24A9;
          real r24B0#1 = 0.1e1;
          real t124AC#1 = Sub<real>(fx24A9,r24B0);
          real r24AF#1 = 0.2e1;
          real t024AB#1 = Sub<real>(fx24A9,r24AF);
          real4 a24AA#1 = <real4>[t324AE,t224AD,t124AC,t024AB];
          real4 hx24A7#4 = EvalKernel<4,bspln3,0>(a24AA);
          real t024BC#1 = Dot<4>(v02487,hx24A7);
          real t124BD#1 = Dot<4>(v12488,hx24A7);
          real t224BE#1 = Dot<4>(v22489,hx24A7);
          real t324BF#1 = Dot<4>(v3248A,hx24A7);
          real4 tv24BB#1 = <real4>[t024BC,t124BD,t224BE,t324BF];
          real _t2481#1 = Dot<4>(hy24A8,tv24BB);
          real2 x24FF#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v190F37);
          real2 nd2501#2 = Floor<2>(x24FF);
          real2 f2500#2 = Sub<real2>(x24FF,nd2501);
          int{2} n2502#8 = RealToInt<2>(nd2501);
          int t1251E#1 = -1;
          int t2251F#1 = Index<int{2},0>(n2502);
          int ix251D#1 = Add<int>(t1251E,t2251F);
          int t12521#1 = -1;
          int t22522#1 = Index<int{2},1>(n2502);
          int iy2520#1 = Add<int>(t12521,t22522);
          addr(IMAGE2D<int>) a2523#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy2520);
          real4 v02504#1 = LoadVoxels<IMAGE2D<int>,4>(a2523);
          int t12517#1 = -1;
          int t22518#1 = Index<int{2},0>(n2502);
          int ix2516#1 = Add<int>(t12517,t22518);
          int t1251A#1 = 0;
          int t2251B#1 = Index<int{2},1>(n2502);
          int iy2519#1 = Add<int>(t1251A,t2251B);
          addr(IMAGE2D<int>) a251C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2516,iy2519);
          real4 v12505#1 = LoadVoxels<IMAGE2D<int>,4>(a251C);
          int t12510#1 = -1;
          int t22511#1 = Index<int{2},0>(n2502);
          int ix250F#1 = Add<int>(t12510,t22511);
          int t12513#1 = 1;
          int t22514#1 = Index<int{2},1>(n2502);
          int iy2512#1 = Add<int>(t12513,t22514);
          addr(IMAGE2D<int>) a2515#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix250F,iy2512);
          real4 v22506#1 = LoadVoxels<IMAGE2D<int>,4>(a2515);
          int t12509#1 = -1;
          int t2250A#1 = Index<int{2},0>(n2502);
          int ix2508#1 = Add<int>(t12509,t2250A);
          int t1250C#1 = 2;
          int t2250D#1 = Index<int{2},1>(n2502);
          int iy250B#1 = Add<int>(t1250C,t2250D);
          addr(IMAGE2D<int>) a250E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2508,iy250B);
          real4 v32507#1 = LoadVoxels<IMAGE2D<int>,4>(a250E);
          real fy252F#4 = Index<real2,1>(f2500);
          real r2537#1 = 0.1e1;
          real t32534#1 = Add<real>(fy252F,r2537);
          real t22533#1 = fy252F;
          real r2536#1 = 0.1e1;
          real t12532#1 = Sub<real>(fy252F,r2536);
          real r2535#1 = 0.2e1;
          real t02531#1 = Sub<real>(fy252F,r2535);
          real4 a2530#1 = <real4>[t32534,t22533,t12532,t02531];
          real4 hy2525#1 = EvalKernel<4,bspln3,0>(a2530);
          real fx2526#4 = Index<real2,0>(f2500);
          real r252E#1 = 0.1e1;
          real t3252B#1 = Add<real>(fx2526,r252E);
          real t2252A#1 = fx2526;
          real r252D#1 = 0.1e1;
          real t12529#1 = Sub<real>(fx2526,r252D);
          real r252C#1 = 0.2e1;
          real t02528#1 = Sub<real>(fx2526,r252C);
          real4 a2527#1 = <real4>[t3252B,t2252A,t12529,t02528];
          real4 hx2524#4 = EvalKernel<4,bspln3,0>(a2527);
          real t02539#1 = Dot<4>(v02504,hx2524);
          real t1253A#1 = Dot<4>(v12505,hx2524);
          real t2253B#1 = Dot<4>(v22506,hx2524);
          real t3253C#1 = Dot<4>(v32507,hx2524);
          real4 tv2538#1 = <real4>[t02539,t1253A,t2253B,t3253C];
          real _t24FE#1 = Dot<4>(hy2525,tv2538);
          real _t257B#2 = Sub<real>(_t2481,_t24FE);
          real _t257D#1 = Mul<real>(_t257B,_t257B);
          real score257F#1 = Add<real>(score246A,_t257D);
          goto JOIN2582
        JOIN2582:  preds = [ASSIGN2580,COND2480]
          real score2581#2 = phi(score257F,score246A)
          real _t2583#1 = Dot<2>(r00FA5,v200F39);
          real _t2585#1 = Dot<2>(r10FAB,v200F39);
          real2 _t2587#1 = <real2>[_t2583,_t2585];
          real2 pos2589#2 = Add<real2>(_t2587,_t0FBB);
          real2 x258C#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2589);
          bool _t258B#1 = Inside<IMAGE2D<float>,2>(x258C,_t0EFD);
          if _t258B then goto ASSIGN2592 else goto ASSIGN3078
        ASSIGN2592:  preds = [COND258F]
          real2 x2591#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v200F39);
          bool _t2590#1 = Inside<IMAGE2D<int>,2>(x2591,_t0EF9);
          goto JOIN2596
        JOIN2596:  preds = [ASSIGN2593,ASSIGN3078]
          bool _t2594#1 = phi(_t2590,_t2595)
          if _t2594 then goto ASSIGN25D7 else goto JOIN2699
        ASSIGN25D7:  preds = [COND2597]
          real2 x2599#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2589);
          real2 nd259B#2 = Floor<2>(x2599);
          real2 f259A#2 = Sub<real2>(x2599,nd259B);
          int{2} n259C#8 = RealToInt<2>(nd259B);
          int t125B8#1 = -1;
          int t225B9#1 = Index<int{2},0>(n259C);
          int ix25B7#1 = Add<int>(t125B8,t225B9);
          int t125BB#1 = -1;
          int t225BC#1 = Index<int{2},1>(n259C);
          int iy25BA#1 = Add<int>(t125BB,t225BC);
          addr(IMAGE2D<float>) a25BD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25BA);
          real4 v0259E#1 = LoadVoxels<IMAGE2D<float>,4>(a25BD);
          int t125B1#1 = -1;
          int t225B2#1 = Index<int{2},0>(n259C);
          int ix25B0#1 = Add<int>(t125B1,t225B2);
          int t125B4#1 = 0;
          int t225B5#1 = Index<int{2},1>(n259C);
          int iy25B3#1 = Add<int>(t125B4,t225B5);
          addr(IMAGE2D<float>) a25B6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B0,iy25B3);
          real4 v1259F#1 = LoadVoxels<IMAGE2D<float>,4>(a25B6);
          int t125AA#1 = -1;
          int t225AB#1 = Index<int{2},0>(n259C);
          int ix25A9#1 = Add<int>(t125AA,t225AB);
          int t125AD#1 = 1;
          int t225AE#1 = Index<int{2},1>(n259C);
          int iy25AC#1 = Add<int>(t125AD,t225AE);
          addr(IMAGE2D<float>) a25AF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25A9,iy25AC);
          real4 v225A0#1 = LoadVoxels<IMAGE2D<float>,4>(a25AF);
          int t125A3#1 = -1;
          int t225A4#1 = Index<int{2},0>(n259C);
          int ix25A2#1 = Add<int>(t125A3,t225A4);
          int t125A6#1 = 2;
          int t225A7#1 = Index<int{2},1>(n259C);
          int iy25A5#1 = Add<int>(t125A6,t225A7);
          addr(IMAGE2D<float>) a25A8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25A2,iy25A5);
          real4 v325A1#1 = LoadVoxels<IMAGE2D<float>,4>(a25A8);
          real fy25C9#4 = Index<real2,1>(f259A);
          real r25D1#1 = 0.1e1;
          real t325CE#1 = Add<real>(fy25C9,r25D1);
          real t225CD#1 = fy25C9;
          real r25D0#1 = 0.1e1;
          real t125CC#1 = Sub<real>(fy25C9,r25D0);
          real r25CF#1 = 0.2e1;
          real t025CB#1 = Sub<real>(fy25C9,r25CF);
          real4 a25CA#1 = <real4>[t325CE,t225CD,t125CC,t025CB];
          real4 hy25BF#1 = EvalKernel<4,bspln3,0>(a25CA);
          real fx25C0#4 = Index<real2,0>(f259A);
          real r25C8#1 = 0.1e1;
          real t325C5#1 = Add<real>(fx25C0,r25C8);
          real t225C4#1 = fx25C0;
          real r25C7#1 = 0.1e1;
          real t125C3#1 = Sub<real>(fx25C0,r25C7);
          real r25C6#1 = 0.2e1;
          real t025C2#1 = Sub<real>(fx25C0,r25C6);
          real4 a25C1#1 = <real4>[t325C5,t225C4,t125C3,t025C2];
          real4 hx25BE#4 = EvalKernel<4,bspln3,0>(a25C1);
          real t025D3#1 = Dot<4>(v0259E,hx25BE);
          real t125D4#1 = Dot<4>(v1259F,hx25BE);
          real t225D5#1 = Dot<4>(v225A0,hx25BE);
          real t325D6#1 = Dot<4>(v325A1,hx25BE);
          real4 tv25D2#1 = <real4>[t025D3,t125D4,t225D5,t325D6];
          real _t2598#1 = Dot<4>(hy25BF,tv25D2);
          real2 x2616#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v200F39);
          real2 nd2618#2 = Floor<2>(x2616);
          real2 f2617#2 = Sub<real2>(x2616,nd2618);
          int{2} n2619#8 = RealToInt<2>(nd2618);
          int t12635#1 = -1;
          int t22636#1 = Index<int{2},0>(n2619);
          int ix2634#1 = Add<int>(t12635,t22636);
          int t12638#1 = -1;
          int t22639#1 = Index<int{2},1>(n2619);
          int iy2637#1 = Add<int>(t12638,t22639);
          addr(IMAGE2D<int>) a263A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2637);
          real4 v0261B#1 = LoadVoxels<IMAGE2D<int>,4>(a263A);
          int t1262E#1 = -1;
          int t2262F#1 = Index<int{2},0>(n2619);
          int ix262D#1 = Add<int>(t1262E,t2262F);
          int t12631#1 = 0;
          int t22632#1 = Index<int{2},1>(n2619);
          int iy2630#1 = Add<int>(t12631,t22632);
          addr(IMAGE2D<int>) a2633#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix262D,iy2630);
          real4 v1261C#1 = LoadVoxels<IMAGE2D<int>,4>(a2633);
          int t12627#1 = -1;
          int t22628#1 = Index<int{2},0>(n2619);
          int ix2626#1 = Add<int>(t12627,t22628);
          int t1262A#1 = 1;
          int t2262B#1 = Index<int{2},1>(n2619);
          int iy2629#1 = Add<int>(t1262A,t2262B);
          addr(IMAGE2D<int>) a262C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2626,iy2629);
          real4 v2261D#1 = LoadVoxels<IMAGE2D<int>,4>(a262C);
          int t12620#1 = -1;
          int t22621#1 = Index<int{2},0>(n2619);
          int ix261F#1 = Add<int>(t12620,t22621);
          int t12623#1 = 2;
          int t22624#1 = Index<int{2},1>(n2619);
          int iy2622#1 = Add<int>(t12623,t22624);
          addr(IMAGE2D<int>) a2625#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix261F,iy2622);
          real4 v3261E#1 = LoadVoxels<IMAGE2D<int>,4>(a2625);
          real fy2646#4 = Index<real2,1>(f2617);
          real r264E#1 = 0.1e1;
          real t3264B#1 = Add<real>(fy2646,r264E);
          real t2264A#1 = fy2646;
          real r264D#1 = 0.1e1;
          real t12649#1 = Sub<real>(fy2646,r264D);
          real r264C#1 = 0.2e1;
          real t02648#1 = Sub<real>(fy2646,r264C);
          real4 a2647#1 = <real4>[t3264B,t2264A,t12649,t02648];
          real4 hy263C#1 = EvalKernel<4,bspln3,0>(a2647);
          real fx263D#4 = Index<real2,0>(f2617);
          real r2645#1 = 0.1e1;
          real t32642#1 = Add<real>(fx263D,r2645);
          real t22641#1 = fx263D;
          real r2644#1 = 0.1e1;
          real t12640#1 = Sub<real>(fx263D,r2644);
          real r2643#1 = 0.2e1;
          real t0263F#1 = Sub<real>(fx263D,r2643);
          real4 a263E#1 = <real4>[t32642,t22641,t12640,t0263F];
          real4 hx263B#4 = EvalKernel<4,bspln3,0>(a263E);
          real t02650#1 = Dot<4>(v0261B,hx263B);
          real t12651#1 = Dot<4>(v1261C,hx263B);
          real t22652#1 = Dot<4>(v2261D,hx263B);
          real t32653#1 = Dot<4>(v3261E,hx263B);
          real4 tv264F#1 = <real4>[t02650,t12651,t22652,t32653];
          real _t2615#1 = Dot<4>(hy263C,tv264F);
          real _t2692#2 = Sub<real>(_t2598,_t2615);
          real _t2694#1 = Mul<real>(_t2692,_t2692);
          real score2696#1 = Add<real>(score2581,_t2694);
          goto JOIN2699
        JOIN2699:  preds = [ASSIGN2697,COND2597]
          real score2698#2 = phi(score2696,score2581)
          real _t269A#1 = Dot<2>(r00FA5,v210F3B);
          real _t269C#1 = Dot<2>(r10FAB,v210F3B);
          real2 _t269E#1 = <real2>[_t269A,_t269C];
          real2 pos26A0#2 = Add<real2>(_t269E,_t0FBB);
          real2 x26A3#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos26A0);
          bool _t26A2#1 = Inside<IMAGE2D<float>,2>(x26A3,_t0EFD);
          if _t26A2 then goto ASSIGN26A9 else goto ASSIGN3077
        ASSIGN26A9:  preds = [COND26A6]
          real2 x26A8#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v210F3B);
          bool _t26A7#1 = Inside<IMAGE2D<int>,2>(x26A8,_t0EF9);
          goto JOIN26AD
        JOIN26AD:  preds = [ASSIGN26AA,ASSIGN3077]
          bool _t26AB#1 = phi(_t26A7,_t26AC)
          if _t26AB then goto ASSIGN26EE else goto JOIN27B0
        ASSIGN26EE:  preds = [COND26AE]
          real2 x26B0#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos26A0);
          real2 nd26B2#2 = Floor<2>(x26B0);
          real2 f26B1#2 = Sub<real2>(x26B0,nd26B2);
          int{2} n26B3#8 = RealToInt<2>(nd26B2);
          int t126CF#1 = -1;
          int t226D0#1 = Index<int{2},0>(n26B3);
          int ix26CE#1 = Add<int>(t126CF,t226D0);
          int t126D2#1 = -1;
          int t226D3#1 = Index<int{2},1>(n26B3);
          int iy26D1#1 = Add<int>(t126D2,t226D3);
          addr(IMAGE2D<float>) a26D4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26D1);
          real4 v026B5#1 = LoadVoxels<IMAGE2D<float>,4>(a26D4);
          int t126C8#1 = -1;
          int t226C9#1 = Index<int{2},0>(n26B3);
          int ix26C7#1 = Add<int>(t126C8,t226C9);
          int t126CB#1 = 0;
          int t226CC#1 = Index<int{2},1>(n26B3);
          int iy26CA#1 = Add<int>(t126CB,t226CC);
          addr(IMAGE2D<float>) a26CD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26C7,iy26CA);
          real4 v126B6#1 = LoadVoxels<IMAGE2D<float>,4>(a26CD);
          int t126C1#1 = -1;
          int t226C2#1 = Index<int{2},0>(n26B3);
          int ix26C0#1 = Add<int>(t126C1,t226C2);
          int t126C4#1 = 1;
          int t226C5#1 = Index<int{2},1>(n26B3);
          int iy26C3#1 = Add<int>(t126C4,t226C5);
          addr(IMAGE2D<float>) a26C6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26C0,iy26C3);
          real4 v226B7#1 = LoadVoxels<IMAGE2D<float>,4>(a26C6);
          int t126BA#1 = -1;
          int t226BB#1 = Index<int{2},0>(n26B3);
          int ix26B9#1 = Add<int>(t126BA,t226BB);
          int t126BD#1 = 2;
          int t226BE#1 = Index<int{2},1>(n26B3);
          int iy26BC#1 = Add<int>(t126BD,t226BE);
          addr(IMAGE2D<float>) a26BF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26B9,iy26BC);
          real4 v326B8#1 = LoadVoxels<IMAGE2D<float>,4>(a26BF);
          real fy26E0#4 = Index<real2,1>(f26B1);
          real r26E8#1 = 0.1e1;
          real t326E5#1 = Add<real>(fy26E0,r26E8);
          real t226E4#1 = fy26E0;
          real r26E7#1 = 0.1e1;
          real t126E3#1 = Sub<real>(fy26E0,r26E7);
          real r26E6#1 = 0.2e1;
          real t026E2#1 = Sub<real>(fy26E0,r26E6);
          real4 a26E1#1 = <real4>[t326E5,t226E4,t126E3,t026E2];
          real4 hy26D6#1 = EvalKernel<4,bspln3,0>(a26E1);
          real fx26D7#4 = Index<real2,0>(f26B1);
          real r26DF#1 = 0.1e1;
          real t326DC#1 = Add<real>(fx26D7,r26DF);
          real t226DB#1 = fx26D7;
          real r26DE#1 = 0.1e1;
          real t126DA#1 = Sub<real>(fx26D7,r26DE);
          real r26DD#1 = 0.2e1;
          real t026D9#1 = Sub<real>(fx26D7,r26DD);
          real4 a26D8#1 = <real4>[t326DC,t226DB,t126DA,t026D9];
          real4 hx26D5#4 = EvalKernel<4,bspln3,0>(a26D8);
          real t026EA#1 = Dot<4>(v026B5,hx26D5);
          real t126EB#1 = Dot<4>(v126B6,hx26D5);
          real t226EC#1 = Dot<4>(v226B7,hx26D5);
          real t326ED#1 = Dot<4>(v326B8,hx26D5);
          real4 tv26E9#1 = <real4>[t026EA,t126EB,t226EC,t326ED];
          real _t26AF#1 = Dot<4>(hy26D6,tv26E9);
          real2 x272D#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v210F3B);
          real2 nd272F#2 = Floor<2>(x272D);
          real2 f272E#2 = Sub<real2>(x272D,nd272F);
          int{2} n2730#8 = RealToInt<2>(nd272F);
          int t1274C#1 = -1;
          int t2274D#1 = Index<int{2},0>(n2730);
          int ix274B#1 = Add<int>(t1274C,t2274D);
          int t1274F#1 = -1;
          int t22750#1 = Index<int{2},1>(n2730);
          int iy274E#1 = Add<int>(t1274F,t22750);
          addr(IMAGE2D<int>) a2751#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy274E);
          real4 v02732#1 = LoadVoxels<IMAGE2D<int>,4>(a2751);
          int t12745#1 = -1;
          int t22746#1 = Index<int{2},0>(n2730);
          int ix2744#1 = Add<int>(t12745,t22746);
          int t12748#1 = 0;
          int t22749#1 = Index<int{2},1>(n2730);
          int iy2747#1 = Add<int>(t12748,t22749);
          addr(IMAGE2D<int>) a274A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2744,iy2747);
          real4 v12733#1 = LoadVoxels<IMAGE2D<int>,4>(a274A);
          int t1273E#1 = -1;
          int t2273F#1 = Index<int{2},0>(n2730);
          int ix273D#1 = Add<int>(t1273E,t2273F);
          int t12741#1 = 1;
          int t22742#1 = Index<int{2},1>(n2730);
          int iy2740#1 = Add<int>(t12741,t22742);
          addr(IMAGE2D<int>) a2743#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix273D,iy2740);
          real4 v22734#1 = LoadVoxels<IMAGE2D<int>,4>(a2743);
          int t12737#1 = -1;
          int t22738#1 = Index<int{2},0>(n2730);
          int ix2736#1 = Add<int>(t12737,t22738);
          int t1273A#1 = 2;
          int t2273B#1 = Index<int{2},1>(n2730);
          int iy2739#1 = Add<int>(t1273A,t2273B);
          addr(IMAGE2D<int>) a273C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2736,iy2739);
          real4 v32735#1 = LoadVoxels<IMAGE2D<int>,4>(a273C);
          real fy275D#4 = Index<real2,1>(f272E);
          real r2765#1 = 0.1e1;
          real t32762#1 = Add<real>(fy275D,r2765);
          real t22761#1 = fy275D;
          real r2764#1 = 0.1e1;
          real t12760#1 = Sub<real>(fy275D,r2764);
          real r2763#1 = 0.2e1;
          real t0275F#1 = Sub<real>(fy275D,r2763);
          real4 a275E#1 = <real4>[t32762,t22761,t12760,t0275F];
          real4 hy2753#1 = EvalKernel<4,bspln3,0>(a275E);
          real fx2754#4 = Index<real2,0>(f272E);
          real r275C#1 = 0.1e1;
          real t32759#1 = Add<real>(fx2754,r275C);
          real t22758#1 = fx2754;
          real r275B#1 = 0.1e1;
          real t12757#1 = Sub<real>(fx2754,r275B);
          real r275A#1 = 0.2e1;
          real t02756#1 = Sub<real>(fx2754,r275A);
          real4 a2755#1 = <real4>[t32759,t22758,t12757,t02756];
          real4 hx2752#4 = EvalKernel<4,bspln3,0>(a2755);
          real t02767#1 = Dot<4>(v02732,hx2752);
          real t12768#1 = Dot<4>(v12733,hx2752);
          real t22769#1 = Dot<4>(v22734,hx2752);
          real t3276A#1 = Dot<4>(v32735,hx2752);
          real4 tv2766#1 = <real4>[t02767,t12768,t22769,t3276A];
          real _t272C#1 = Dot<4>(hy2753,tv2766);
          real _t27A9#2 = Sub<real>(_t26AF,_t272C);
          real _t27AB#1 = Mul<real>(_t27A9,_t27A9);
          real score27AD#1 = Add<real>(score2698,_t27AB);
          goto JOIN27B0
        JOIN27B0:  preds = [ASSIGN27AE,COND26AE]
          real score27AF#2 = phi(score27AD,score2698)
          real _t27B1#1 = Dot<2>(r00FA5,v220F3D);
          real _t27B3#1 = Dot<2>(r10FAB,v220F3D);
          real2 _t27B5#1 = <real2>[_t27B1,_t27B3];
          real2 pos27B7#2 = Add<real2>(_t27B5,_t0FBB);
          real2 x27BA#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos27B7);
          bool _t27B9#1 = Inside<IMAGE2D<float>,2>(x27BA,_t0EFD);
          if _t27B9 then goto ASSIGN27C0 else goto ASSIGN3076
        ASSIGN27C0:  preds = [COND27BD]
          real2 x27BF#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v220F3D);
          bool _t27BE#1 = Inside<IMAGE2D<int>,2>(x27BF,_t0EF9);
          goto JOIN27C4
        JOIN27C4:  preds = [ASSIGN27C1,ASSIGN3076]
          bool _t27C2#1 = phi(_t27BE,_t27C3)
          if _t27C2 then goto ASSIGN2805 else goto JOIN28C7
        ASSIGN2805:  preds = [COND27C5]
          real2 x27C7#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos27B7);
          real2 nd27C9#2 = Floor<2>(x27C7);
          real2 f27C8#2 = Sub<real2>(x27C7,nd27C9);
          int{2} n27CA#8 = RealToInt<2>(nd27C9);
          int t127E6#1 = -1;
          int t227E7#1 = Index<int{2},0>(n27CA);
          int ix27E5#1 = Add<int>(t127E6,t227E7);
          int t127E9#1 = -1;
          int t227EA#1 = Index<int{2},1>(n27CA);
          int iy27E8#1 = Add<int>(t127E9,t227EA);
          addr(IMAGE2D<float>) a27EB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27E8);
          real4 v027CC#1 = LoadVoxels<IMAGE2D<float>,4>(a27EB);
          int t127DF#1 = -1;
          int t227E0#1 = Index<int{2},0>(n27CA);
          int ix27DE#1 = Add<int>(t127DF,t227E0);
          int t127E2#1 = 0;
          int t227E3#1 = Index<int{2},1>(n27CA);
          int iy27E1#1 = Add<int>(t127E2,t227E3);
          addr(IMAGE2D<float>) a27E4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27DE,iy27E1);
          real4 v127CD#1 = LoadVoxels<IMAGE2D<float>,4>(a27E4);
          int t127D8#1 = -1;
          int t227D9#1 = Index<int{2},0>(n27CA);
          int ix27D7#1 = Add<int>(t127D8,t227D9);
          int t127DB#1 = 1;
          int t227DC#1 = Index<int{2},1>(n27CA);
          int iy27DA#1 = Add<int>(t127DB,t227DC);
          addr(IMAGE2D<float>) a27DD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27D7,iy27DA);
          real4 v227CE#1 = LoadVoxels<IMAGE2D<float>,4>(a27DD);
          int t127D1#1 = -1;
          int t227D2#1 = Index<int{2},0>(n27CA);
          int ix27D0#1 = Add<int>(t127D1,t227D2);
          int t127D4#1 = 2;
          int t227D5#1 = Index<int{2},1>(n27CA);
          int iy27D3#1 = Add<int>(t127D4,t227D5);
          addr(IMAGE2D<float>) a27D6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27D0,iy27D3);
          real4 v327CF#1 = LoadVoxels<IMAGE2D<float>,4>(a27D6);
          real fy27F7#4 = Index<real2,1>(f27C8);
          real r27FF#1 = 0.1e1;
          real t327FC#1 = Add<real>(fy27F7,r27FF);
          real t227FB#1 = fy27F7;
          real r27FE#1 = 0.1e1;
          real t127FA#1 = Sub<real>(fy27F7,r27FE);
          real r27FD#1 = 0.2e1;
          real t027F9#1 = Sub<real>(fy27F7,r27FD);
          real4 a27F8#1 = <real4>[t327FC,t227FB,t127FA,t027F9];
          real4 hy27ED#1 = EvalKernel<4,bspln3,0>(a27F8);
          real fx27EE#4 = Index<real2,0>(f27C8);
          real r27F6#1 = 0.1e1;
          real t327F3#1 = Add<real>(fx27EE,r27F6);
          real t227F2#1 = fx27EE;
          real r27F5#1 = 0.1e1;
          real t127F1#1 = Sub<real>(fx27EE,r27F5);
          real r27F4#1 = 0.2e1;
          real t027F0#1 = Sub<real>(fx27EE,r27F4);
          real4 a27EF#1 = <real4>[t327F3,t227F2,t127F1,t027F0];
          real4 hx27EC#4 = EvalKernel<4,bspln3,0>(a27EF);
          real t02801#1 = Dot<4>(v027CC,hx27EC);
          real t12802#1 = Dot<4>(v127CD,hx27EC);
          real t22803#1 = Dot<4>(v227CE,hx27EC);
          real t32804#1 = Dot<4>(v327CF,hx27EC);
          real4 tv2800#1 = <real4>[t02801,t12802,t22803,t32804];
          real _t27C6#1 = Dot<4>(hy27ED,tv2800);
          real2 x2844#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v220F3D);
          real2 nd2846#2 = Floor<2>(x2844);
          real2 f2845#2 = Sub<real2>(x2844,nd2846);
          int{2} n2847#8 = RealToInt<2>(nd2846);
          int t12863#1 = -1;
          int t22864#1 = Index<int{2},0>(n2847);
          int ix2862#1 = Add<int>(t12863,t22864);
          int t12866#1 = -1;
          int t22867#1 = Index<int{2},1>(n2847);
          int iy2865#1 = Add<int>(t12866,t22867);
          addr(IMAGE2D<int>) a2868#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy2865);
          real4 v02849#1 = LoadVoxels<IMAGE2D<int>,4>(a2868);
          int t1285C#1 = -1;
          int t2285D#1 = Index<int{2},0>(n2847);
          int ix285B#1 = Add<int>(t1285C,t2285D);
          int t1285F#1 = 0;
          int t22860#1 = Index<int{2},1>(n2847);
          int iy285E#1 = Add<int>(t1285F,t22860);
          addr(IMAGE2D<int>) a2861#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix285B,iy285E);
          real4 v1284A#1 = LoadVoxels<IMAGE2D<int>,4>(a2861);
          int t12855#1 = -1;
          int t22856#1 = Index<int{2},0>(n2847);
          int ix2854#1 = Add<int>(t12855,t22856);
          int t12858#1 = 1;
          int t22859#1 = Index<int{2},1>(n2847);
          int iy2857#1 = Add<int>(t12858,t22859);
          addr(IMAGE2D<int>) a285A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2854,iy2857);
          real4 v2284B#1 = LoadVoxels<IMAGE2D<int>,4>(a285A);
          int t1284E#1 = -1;
          int t2284F#1 = Index<int{2},0>(n2847);
          int ix284D#1 = Add<int>(t1284E,t2284F);
          int t12851#1 = 2;
          int t22852#1 = Index<int{2},1>(n2847);
          int iy2850#1 = Add<int>(t12851,t22852);
          addr(IMAGE2D<int>) a2853#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix284D,iy2850);
          real4 v3284C#1 = LoadVoxels<IMAGE2D<int>,4>(a2853);
          real fy2874#4 = Index<real2,1>(f2845);
          real r287C#1 = 0.1e1;
          real t32879#1 = Add<real>(fy2874,r287C);
          real t22878#1 = fy2874;
          real r287B#1 = 0.1e1;
          real t12877#1 = Sub<real>(fy2874,r287B);
          real r287A#1 = 0.2e1;
          real t02876#1 = Sub<real>(fy2874,r287A);
          real4 a2875#1 = <real4>[t32879,t22878,t12877,t02876];
          real4 hy286A#1 = EvalKernel<4,bspln3,0>(a2875);
          real fx286B#4 = Index<real2,0>(f2845);
          real r2873#1 = 0.1e1;
          real t32870#1 = Add<real>(fx286B,r2873);
          real t2286F#1 = fx286B;
          real r2872#1 = 0.1e1;
          real t1286E#1 = Sub<real>(fx286B,r2872);
          real r2871#1 = 0.2e1;
          real t0286D#1 = Sub<real>(fx286B,r2871);
          real4 a286C#1 = <real4>[t32870,t2286F,t1286E,t0286D];
          real4 hx2869#4 = EvalKernel<4,bspln3,0>(a286C);
          real t0287E#1 = Dot<4>(v02849,hx2869);
          real t1287F#1 = Dot<4>(v1284A,hx2869);
          real t22880#1 = Dot<4>(v2284B,hx2869);
          real t32881#1 = Dot<4>(v3284C,hx2869);
          real4 tv287D#1 = <real4>[t0287E,t1287F,t22880,t32881];
          real _t2843#1 = Dot<4>(hy286A,tv287D);
          real _t28C0#2 = Sub<real>(_t27C6,_t2843);
          real _t28C2#1 = Mul<real>(_t28C0,_t28C0);
          real score28C4#1 = Add<real>(score27AF,_t28C2);
          goto JOIN28C7
        JOIN28C7:  preds = [ASSIGN28C5,COND27C5]
          real score28C6#2 = phi(score28C4,score27AF)
          real _t28C8#1 = Dot<2>(r00FA5,v230F3F);
          real _t28CA#1 = Dot<2>(r10FAB,v230F3F);
          real2 _t28CC#1 = <real2>[_t28C8,_t28CA];
          real2 pos28CE#2 = Add<real2>(_t28CC,_t0FBB);
          real2 x28D1#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos28CE);
          bool _t28D0#1 = Inside<IMAGE2D<float>,2>(x28D1,_t0EFD);
          if _t28D0 then goto ASSIGN28D7 else goto ASSIGN3075
        ASSIGN28D7:  preds = [COND28D4]
          real2 x28D6#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v230F3F);
          bool _t28D5#1 = Inside<IMAGE2D<int>,2>(x28D6,_t0EF9);
          goto JOIN28DB
        JOIN28DB:  preds = [ASSIGN28D8,ASSIGN3075]
          bool _t28D9#1 = phi(_t28D5,_t28DA)
          if _t28D9 then goto ASSIGN291C else goto JOIN29DE
        ASSIGN291C:  preds = [COND28DC]
          real2 x28DE#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos28CE);
          real2 nd28E0#2 = Floor<2>(x28DE);
          real2 f28DF#2 = Sub<real2>(x28DE,nd28E0);
          int{2} n28E1#8 = RealToInt<2>(nd28E0);
          int t128FD#1 = -1;
          int t228FE#1 = Index<int{2},0>(n28E1);
          int ix28FC#1 = Add<int>(t128FD,t228FE);
          int t12900#1 = -1;
          int t22901#1 = Index<int{2},1>(n28E1);
          int iy28FF#1 = Add<int>(t12900,t22901);
          addr(IMAGE2D<float>) a2902#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28FF);
          real4 v028E3#1 = LoadVoxels<IMAGE2D<float>,4>(a2902);
          int t128F6#1 = -1;
          int t228F7#1 = Index<int{2},0>(n28E1);
          int ix28F5#1 = Add<int>(t128F6,t228F7);
          int t128F9#1 = 0;
          int t228FA#1 = Index<int{2},1>(n28E1);
          int iy28F8#1 = Add<int>(t128F9,t228FA);
          addr(IMAGE2D<float>) a28FB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28F5,iy28F8);
          real4 v128E4#1 = LoadVoxels<IMAGE2D<float>,4>(a28FB);
          int t128EF#1 = -1;
          int t228F0#1 = Index<int{2},0>(n28E1);
          int ix28EE#1 = Add<int>(t128EF,t228F0);
          int t128F2#1 = 1;
          int t228F3#1 = Index<int{2},1>(n28E1);
          int iy28F1#1 = Add<int>(t128F2,t228F3);
          addr(IMAGE2D<float>) a28F4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28EE,iy28F1);
          real4 v228E5#1 = LoadVoxels<IMAGE2D<float>,4>(a28F4);
          int t128E8#1 = -1;
          int t228E9#1 = Index<int{2},0>(n28E1);
          int ix28E7#1 = Add<int>(t128E8,t228E9);
          int t128EB#1 = 2;
          int t228EC#1 = Index<int{2},1>(n28E1);
          int iy28EA#1 = Add<int>(t128EB,t228EC);
          addr(IMAGE2D<float>) a28ED#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28E7,iy28EA);
          real4 v328E6#1 = LoadVoxels<IMAGE2D<float>,4>(a28ED);
          real fy290E#4 = Index<real2,1>(f28DF);
          real r2916#1 = 0.1e1;
          real t32913#1 = Add<real>(fy290E,r2916);
          real t22912#1 = fy290E;
          real r2915#1 = 0.1e1;
          real t12911#1 = Sub<real>(fy290E,r2915);
          real r2914#1 = 0.2e1;
          real t02910#1 = Sub<real>(fy290E,r2914);
          real4 a290F#1 = <real4>[t32913,t22912,t12911,t02910];
          real4 hy2904#1 = EvalKernel<4,bspln3,0>(a290F);
          real fx2905#4 = Index<real2,0>(f28DF);
          real r290D#1 = 0.1e1;
          real t3290A#1 = Add<real>(fx2905,r290D);
          real t22909#1 = fx2905;
          real r290C#1 = 0.1e1;
          real t12908#1 = Sub<real>(fx2905,r290C);
          real r290B#1 = 0.2e1;
          real t02907#1 = Sub<real>(fx2905,r290B);
          real4 a2906#1 = <real4>[t3290A,t22909,t12908,t02907];
          real4 hx2903#4 = EvalKernel<4,bspln3,0>(a2906);
          real t02918#1 = Dot<4>(v028E3,hx2903);
          real t12919#1 = Dot<4>(v128E4,hx2903);
          real t2291A#1 = Dot<4>(v228E5,hx2903);
          real t3291B#1 = Dot<4>(v328E6,hx2903);
          real4 tv2917#1 = <real4>[t02918,t12919,t2291A,t3291B];
          real _t28DD#1 = Dot<4>(hy2904,tv2917);
          real2 x295B#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v230F3F);
          real2 nd295D#2 = Floor<2>(x295B);
          real2 f295C#2 = Sub<real2>(x295B,nd295D);
          int{2} n295E#8 = RealToInt<2>(nd295D);
          int t1297A#1 = -1;
          int t2297B#1 = Index<int{2},0>(n295E);
          int ix2979#1 = Add<int>(t1297A,t2297B);
          int t1297D#1 = -1;
          int t2297E#1 = Index<int{2},1>(n295E);
          int iy297C#1 = Add<int>(t1297D,t2297E);
          addr(IMAGE2D<int>) a297F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy297C);
          real4 v02960#1 = LoadVoxels<IMAGE2D<int>,4>(a297F);
          int t12973#1 = -1;
          int t22974#1 = Index<int{2},0>(n295E);
          int ix2972#1 = Add<int>(t12973,t22974);
          int t12976#1 = 0;
          int t22977#1 = Index<int{2},1>(n295E);
          int iy2975#1 = Add<int>(t12976,t22977);
          addr(IMAGE2D<int>) a2978#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2972,iy2975);
          real4 v12961#1 = LoadVoxels<IMAGE2D<int>,4>(a2978);
          int t1296C#1 = -1;
          int t2296D#1 = Index<int{2},0>(n295E);
          int ix296B#1 = Add<int>(t1296C,t2296D);
          int t1296F#1 = 1;
          int t22970#1 = Index<int{2},1>(n295E);
          int iy296E#1 = Add<int>(t1296F,t22970);
          addr(IMAGE2D<int>) a2971#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix296B,iy296E);
          real4 v22962#1 = LoadVoxels<IMAGE2D<int>,4>(a2971);
          int t12965#1 = -1;
          int t22966#1 = Index<int{2},0>(n295E);
          int ix2964#1 = Add<int>(t12965,t22966);
          int t12968#1 = 2;
          int t22969#1 = Index<int{2},1>(n295E);
          int iy2967#1 = Add<int>(t12968,t22969);
          addr(IMAGE2D<int>) a296A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2964,iy2967);
          real4 v32963#1 = LoadVoxels<IMAGE2D<int>,4>(a296A);
          real fy298B#4 = Index<real2,1>(f295C);
          real r2993#1 = 0.1e1;
          real t32990#1 = Add<real>(fy298B,r2993);
          real t2298F#1 = fy298B;
          real r2992#1 = 0.1e1;
          real t1298E#1 = Sub<real>(fy298B,r2992);
          real r2991#1 = 0.2e1;
          real t0298D#1 = Sub<real>(fy298B,r2991);
          real4 a298C#1 = <real4>[t32990,t2298F,t1298E,t0298D];
          real4 hy2981#1 = EvalKernel<4,bspln3,0>(a298C);
          real fx2982#4 = Index<real2,0>(f295C);
          real r298A#1 = 0.1e1;
          real t32987#1 = Add<real>(fx2982,r298A);
          real t22986#1 = fx2982;
          real r2989#1 = 0.1e1;
          real t12985#1 = Sub<real>(fx2982,r2989);
          real r2988#1 = 0.2e1;
          real t02984#1 = Sub<real>(fx2982,r2988);
          real4 a2983#1 = <real4>[t32987,t22986,t12985,t02984];
          real4 hx2980#4 = EvalKernel<4,bspln3,0>(a2983);
          real t02995#1 = Dot<4>(v02960,hx2980);
          real t12996#1 = Dot<4>(v12961,hx2980);
          real t22997#1 = Dot<4>(v22962,hx2980);
          real t32998#1 = Dot<4>(v32963,hx2980);
          real4 tv2994#1 = <real4>[t02995,t12996,t22997,t32998];
          real _t295A#1 = Dot<4>(hy2981,tv2994);
          real _t29D7#2 = Sub<real>(_t28DD,_t295A);
          real _t29D9#1 = Mul<real>(_t29D7,_t29D7);
          real score29DB#1 = Add<real>(score28C6,_t29D9);
          goto JOIN29DE
        JOIN29DE:  preds = [ASSIGN29DC,COND28DC]
          real score29DD#2 = phi(score29DB,score28C6)
          real _t29DF#1 = Dot<2>(r00FA5,v240F41);
          real _t29E1#1 = Dot<2>(r10FAB,v240F41);
          real2 _t29E3#1 = <real2>[_t29DF,_t29E1];
          real2 pos29E5#2 = Add<real2>(_t29E3,_t0FBB);
          real2 x29E8#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos29E5);
          bool _t29E7#1 = Inside<IMAGE2D<float>,2>(x29E8,_t0EFD);
          if _t29E7 then goto ASSIGN29EE else goto ASSIGN3074
        ASSIGN29EE:  preds = [COND29EB]
          real2 x29ED#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v240F41);
          bool _t29EC#1 = Inside<IMAGE2D<int>,2>(x29ED,_t0EF9);
          goto JOIN29F2
        JOIN29F2:  preds = [ASSIGN29EF,ASSIGN3074]
          bool _t29F0#1 = phi(_t29EC,_t29F1)
          if _t29F0 then goto ASSIGN2A33 else goto JOIN2AF5
        ASSIGN2A33:  preds = [COND29F3]
          real2 x29F5#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos29E5);
          real2 nd29F7#2 = Floor<2>(x29F5);
          real2 f29F6#2 = Sub<real2>(x29F5,nd29F7);
          int{2} n29F8#8 = RealToInt<2>(nd29F7);
          int t12A14#1 = -1;
          int t22A15#1 = Index<int{2},0>(n29F8);
          int ix2A13#1 = Add<int>(t12A14,t22A15);
          int t12A17#1 = -1;
          int t22A18#1 = Index<int{2},1>(n29F8);
          int iy2A16#1 = Add<int>(t12A17,t22A18);
          addr(IMAGE2D<float>) a2A19#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A16);
          real4 v029FA#1 = LoadVoxels<IMAGE2D<float>,4>(a2A19);
          int t12A0D#1 = -1;
          int t22A0E#1 = Index<int{2},0>(n29F8);
          int ix2A0C#1 = Add<int>(t12A0D,t22A0E);
          int t12A10#1 = 0;
          int t22A11#1 = Index<int{2},1>(n29F8);
          int iy2A0F#1 = Add<int>(t12A10,t22A11);
          addr(IMAGE2D<float>) a2A12#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A0C,iy2A0F);
          real4 v129FB#1 = LoadVoxels<IMAGE2D<float>,4>(a2A12);
          int t12A06#1 = -1;
          int t22A07#1 = Index<int{2},0>(n29F8);
          int ix2A05#1 = Add<int>(t12A06,t22A07);
          int t12A09#1 = 1;
          int t22A0A#1 = Index<int{2},1>(n29F8);
          int iy2A08#1 = Add<int>(t12A09,t22A0A);
          addr(IMAGE2D<float>) a2A0B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A05,iy2A08);
          real4 v229FC#1 = LoadVoxels<IMAGE2D<float>,4>(a2A0B);
          int t129FF#1 = -1;
          int t22A00#1 = Index<int{2},0>(n29F8);
          int ix29FE#1 = Add<int>(t129FF,t22A00);
          int t12A02#1 = 2;
          int t22A03#1 = Index<int{2},1>(n29F8);
          int iy2A01#1 = Add<int>(t12A02,t22A03);
          addr(IMAGE2D<float>) a2A04#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix29FE,iy2A01);
          real4 v329FD#1 = LoadVoxels<IMAGE2D<float>,4>(a2A04);
          real fy2A25#4 = Index<real2,1>(f29F6);
          real r2A2D#1 = 0.1e1;
          real t32A2A#1 = Add<real>(fy2A25,r2A2D);
          real t22A29#1 = fy2A25;
          real r2A2C#1 = 0.1e1;
          real t12A28#1 = Sub<real>(fy2A25,r2A2C);
          real r2A2B#1 = 0.2e1;
          real t02A27#1 = Sub<real>(fy2A25,r2A2B);
          real4 a2A26#1 = <real4>[t32A2A,t22A29,t12A28,t02A27];
          real4 hy2A1B#1 = EvalKernel<4,bspln3,0>(a2A26);
          real fx2A1C#4 = Index<real2,0>(f29F6);
          real r2A24#1 = 0.1e1;
          real t32A21#1 = Add<real>(fx2A1C,r2A24);
          real t22A20#1 = fx2A1C;
          real r2A23#1 = 0.1e1;
          real t12A1F#1 = Sub<real>(fx2A1C,r2A23);
          real r2A22#1 = 0.2e1;
          real t02A1E#1 = Sub<real>(fx2A1C,r2A22);
          real4 a2A1D#1 = <real4>[t32A21,t22A20,t12A1F,t02A1E];
          real4 hx2A1A#4 = EvalKernel<4,bspln3,0>(a2A1D);
          real t02A2F#1 = Dot<4>(v029FA,hx2A1A);
          real t12A30#1 = Dot<4>(v129FB,hx2A1A);
          real t22A31#1 = Dot<4>(v229FC,hx2A1A);
          real t32A32#1 = Dot<4>(v329FD,hx2A1A);
          real4 tv2A2E#1 = <real4>[t02A2F,t12A30,t22A31,t32A32];
          real _t29F4#1 = Dot<4>(hy2A1B,tv2A2E);
          real2 x2A72#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v240F41);
          real2 nd2A74#2 = Floor<2>(x2A72);
          real2 f2A73#2 = Sub<real2>(x2A72,nd2A74);
          int{2} n2A75#8 = RealToInt<2>(nd2A74);
          int t12A91#1 = -1;
          int t22A92#1 = Index<int{2},0>(n2A75);
          int ix2A90#1 = Add<int>(t12A91,t22A92);
          int t12A94#1 = -1;
          int t22A95#1 = Index<int{2},1>(n2A75);
          int iy2A93#1 = Add<int>(t12A94,t22A95);
          addr(IMAGE2D<int>) a2A96#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A93);
          real4 v02A77#1 = LoadVoxels<IMAGE2D<int>,4>(a2A96);
          int t12A8A#1 = -1;
          int t22A8B#1 = Index<int{2},0>(n2A75);
          int ix2A89#1 = Add<int>(t12A8A,t22A8B);
          int t12A8D#1 = 0;
          int t22A8E#1 = Index<int{2},1>(n2A75);
          int iy2A8C#1 = Add<int>(t12A8D,t22A8E);
          addr(IMAGE2D<int>) a2A8F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A89,iy2A8C);
          real4 v12A78#1 = LoadVoxels<IMAGE2D<int>,4>(a2A8F);
          int t12A83#1 = -1;
          int t22A84#1 = Index<int{2},0>(n2A75);
          int ix2A82#1 = Add<int>(t12A83,t22A84);
          int t12A86#1 = 1;
          int t22A87#1 = Index<int{2},1>(n2A75);
          int iy2A85#1 = Add<int>(t12A86,t22A87);
          addr(IMAGE2D<int>) a2A88#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A82,iy2A85);
          real4 v22A79#1 = LoadVoxels<IMAGE2D<int>,4>(a2A88);
          int t12A7C#1 = -1;
          int t22A7D#1 = Index<int{2},0>(n2A75);
          int ix2A7B#1 = Add<int>(t12A7C,t22A7D);
          int t12A7F#1 = 2;
          int t22A80#1 = Index<int{2},1>(n2A75);
          int iy2A7E#1 = Add<int>(t12A7F,t22A80);
          addr(IMAGE2D<int>) a2A81#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A7B,iy2A7E);
          real4 v32A7A#1 = LoadVoxels<IMAGE2D<int>,4>(a2A81);
          real fy2AA2#4 = Index<real2,1>(f2A73);
          real r2AAA#1 = 0.1e1;
          real t32AA7#1 = Add<real>(fy2AA2,r2AAA);
          real t22AA6#1 = fy2AA2;
          real r2AA9#1 = 0.1e1;
          real t12AA5#1 = Sub<real>(fy2AA2,r2AA9);
          real r2AA8#1 = 0.2e1;
          real t02AA4#1 = Sub<real>(fy2AA2,r2AA8);
          real4 a2AA3#1 = <real4>[t32AA7,t22AA6,t12AA5,t02AA4];
          real4 hy2A98#1 = EvalKernel<4,bspln3,0>(a2AA3);
          real fx2A99#4 = Index<real2,0>(f2A73);
          real r2AA1#1 = 0.1e1;
          real t32A9E#1 = Add<real>(fx2A99,r2AA1);
          real t22A9D#1 = fx2A99;
          real r2AA0#1 = 0.1e1;
          real t12A9C#1 = Sub<real>(fx2A99,r2AA0);
          real r2A9F#1 = 0.2e1;
          real t02A9B#1 = Sub<real>(fx2A99,r2A9F);
          real4 a2A9A#1 = <real4>[t32A9E,t22A9D,t12A9C,t02A9B];
          real4 hx2A97#4 = EvalKernel<4,bspln3,0>(a2A9A);
          real t02AAC#1 = Dot<4>(v02A77,hx2A97);
          real t12AAD#1 = Dot<4>(v12A78,hx2A97);
          real t22AAE#1 = Dot<4>(v22A79,hx2A97);
          real t32AAF#1 = Dot<4>(v32A7A,hx2A97);
          real4 tv2AAB#1 = <real4>[t02AAC,t12AAD,t22AAE,t32AAF];
          real _t2A71#1 = Dot<4>(hy2A98,tv2AAB);
          real _t2AEE#2 = Sub<real>(_t29F4,_t2A71);
          real _t2AF0#1 = Mul<real>(_t2AEE,_t2AEE);
          real score2AF2#1 = Add<real>(score29DD,_t2AF0);
          goto JOIN2AF5
        JOIN2AF5:  preds = [ASSIGN2AF3,COND29F3]
          real score2AF4#2 = phi(score2AF2,score29DD)
          real _t2AF6#1 = Dot<2>(r00FA5,v250F43);
          real _t2AF8#1 = Dot<2>(r10FAB,v250F43);
          real2 _t2AFA#1 = <real2>[_t2AF6,_t2AF8];
          real2 pos2AFC#2 = Add<real2>(_t2AFA,_t0FBB);
          real2 x2AFF#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2AFC);
          bool _t2AFE#1 = Inside<IMAGE2D<float>,2>(x2AFF,_t0EFD);
          if _t2AFE then goto ASSIGN2B05 else goto ASSIGN3073
        ASSIGN2B05:  preds = [COND2B02]
          real2 x2B04#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v250F43);
          bool _t2B03#1 = Inside<IMAGE2D<int>,2>(x2B04,_t0EF9);
          goto JOIN2B09
        JOIN2B09:  preds = [ASSIGN2B06,ASSIGN3073]
          bool _t2B07#1 = phi(_t2B03,_t2B08)
          if _t2B07 then goto ASSIGN2B4A else goto JOIN2C0C
        ASSIGN2B4A:  preds = [COND2B0A]
          real2 x2B0C#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2AFC);
          real2 nd2B0E#2 = Floor<2>(x2B0C);
          real2 f2B0D#2 = Sub<real2>(x2B0C,nd2B0E);
          int{2} n2B0F#8 = RealToInt<2>(nd2B0E);
          int t12B2B#1 = -1;
          int t22B2C#1 = Index<int{2},0>(n2B0F);
          int ix2B2A#1 = Add<int>(t12B2B,t22B2C);
          int t12B2E#1 = -1;
          int t22B2F#1 = Index<int{2},1>(n2B0F);
          int iy2B2D#1 = Add<int>(t12B2E,t22B2F);
          addr(IMAGE2D<float>) a2B30#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B2D);
          real4 v02B11#1 = LoadVoxels<IMAGE2D<float>,4>(a2B30);
          int t12B24#1 = -1;
          int t22B25#1 = Index<int{2},0>(n2B0F);
          int ix2B23#1 = Add<int>(t12B24,t22B25);
          int t12B27#1 = 0;
          int t22B28#1 = Index<int{2},1>(n2B0F);
          int iy2B26#1 = Add<int>(t12B27,t22B28);
          addr(IMAGE2D<float>) a2B29#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B23,iy2B26);
          real4 v12B12#1 = LoadVoxels<IMAGE2D<float>,4>(a2B29);
          int t12B1D#1 = -1;
          int t22B1E#1 = Index<int{2},0>(n2B0F);
          int ix2B1C#1 = Add<int>(t12B1D,t22B1E);
          int t12B20#1 = 1;
          int t22B21#1 = Index<int{2},1>(n2B0F);
          int iy2B1F#1 = Add<int>(t12B20,t22B21);
          addr(IMAGE2D<float>) a2B22#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B1C,iy2B1F);
          real4 v22B13#1 = LoadVoxels<IMAGE2D<float>,4>(a2B22);
          int t12B16#1 = -1;
          int t22B17#1 = Index<int{2},0>(n2B0F);
          int ix2B15#1 = Add<int>(t12B16,t22B17);
          int t12B19#1 = 2;
          int t22B1A#1 = Index<int{2},1>(n2B0F);
          int iy2B18#1 = Add<int>(t12B19,t22B1A);
          addr(IMAGE2D<float>) a2B1B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B15,iy2B18);
          real4 v32B14#1 = LoadVoxels<IMAGE2D<float>,4>(a2B1B);
          real fy2B3C#4 = Index<real2,1>(f2B0D);
          real r2B44#1 = 0.1e1;
          real t32B41#1 = Add<real>(fy2B3C,r2B44);
          real t22B40#1 = fy2B3C;
          real r2B43#1 = 0.1e1;
          real t12B3F#1 = Sub<real>(fy2B3C,r2B43);
          real r2B42#1 = 0.2e1;
          real t02B3E#1 = Sub<real>(fy2B3C,r2B42);
          real4 a2B3D#1 = <real4>[t32B41,t22B40,t12B3F,t02B3E];
          real4 hy2B32#1 = EvalKernel<4,bspln3,0>(a2B3D);
          real fx2B33#4 = Index<real2,0>(f2B0D);
          real r2B3B#1 = 0.1e1;
          real t32B38#1 = Add<real>(fx2B33,r2B3B);
          real t22B37#1 = fx2B33;
          real r2B3A#1 = 0.1e1;
          real t12B36#1 = Sub<real>(fx2B33,r2B3A);
          real r2B39#1 = 0.2e1;
          real t02B35#1 = Sub<real>(fx2B33,r2B39);
          real4 a2B34#1 = <real4>[t32B38,t22B37,t12B36,t02B35];
          real4 hx2B31#4 = EvalKernel<4,bspln3,0>(a2B34);
          real t02B46#1 = Dot<4>(v02B11,hx2B31);
          real t12B47#1 = Dot<4>(v12B12,hx2B31);
          real t22B48#1 = Dot<4>(v22B13,hx2B31);
          real t32B49#1 = Dot<4>(v32B14,hx2B31);
          real4 tv2B45#1 = <real4>[t02B46,t12B47,t22B48,t32B49];
          real _t2B0B#1 = Dot<4>(hy2B32,tv2B45);
          real2 x2B89#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v250F43);
          real2 nd2B8B#2 = Floor<2>(x2B89);
          real2 f2B8A#2 = Sub<real2>(x2B89,nd2B8B);
          int{2} n2B8C#8 = RealToInt<2>(nd2B8B);
          int t12BA8#1 = -1;
          int t22BA9#1 = Index<int{2},0>(n2B8C);
          int ix2BA7#1 = Add<int>(t12BA8,t22BA9);
          int t12BAB#1 = -1;
          int t22BAC#1 = Index<int{2},1>(n2B8C);
          int iy2BAA#1 = Add<int>(t12BAB,t22BAC);
          addr(IMAGE2D<int>) a2BAD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2BAA);
          real4 v02B8E#1 = LoadVoxels<IMAGE2D<int>,4>(a2BAD);
          int t12BA1#1 = -1;
          int t22BA2#1 = Index<int{2},0>(n2B8C);
          int ix2BA0#1 = Add<int>(t12BA1,t22BA2);
          int t12BA4#1 = 0;
          int t22BA5#1 = Index<int{2},1>(n2B8C);
          int iy2BA3#1 = Add<int>(t12BA4,t22BA5);
          addr(IMAGE2D<int>) a2BA6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA0,iy2BA3);
          real4 v12B8F#1 = LoadVoxels<IMAGE2D<int>,4>(a2BA6);
          int t12B9A#1 = -1;
          int t22B9B#1 = Index<int{2},0>(n2B8C);
          int ix2B99#1 = Add<int>(t12B9A,t22B9B);
          int t12B9D#1 = 1;
          int t22B9E#1 = Index<int{2},1>(n2B8C);
          int iy2B9C#1 = Add<int>(t12B9D,t22B9E);
          addr(IMAGE2D<int>) a2B9F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2B99,iy2B9C);
          real4 v22B90#1 = LoadVoxels<IMAGE2D<int>,4>(a2B9F);
          int t12B93#1 = -1;
          int t22B94#1 = Index<int{2},0>(n2B8C);
          int ix2B92#1 = Add<int>(t12B93,t22B94);
          int t12B96#1 = 2;
          int t22B97#1 = Index<int{2},1>(n2B8C);
          int iy2B95#1 = Add<int>(t12B96,t22B97);
          addr(IMAGE2D<int>) a2B98#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2B92,iy2B95);
          real4 v32B91#1 = LoadVoxels<IMAGE2D<int>,4>(a2B98);
          real fy2BB9#4 = Index<real2,1>(f2B8A);
          real r2BC1#1 = 0.1e1;
          real t32BBE#1 = Add<real>(fy2BB9,r2BC1);
          real t22BBD#1 = fy2BB9;
          real r2BC0#1 = 0.1e1;
          real t12BBC#1 = Sub<real>(fy2BB9,r2BC0);
          real r2BBF#1 = 0.2e1;
          real t02BBB#1 = Sub<real>(fy2BB9,r2BBF);
          real4 a2BBA#1 = <real4>[t32BBE,t22BBD,t12BBC,t02BBB];
          real4 hy2BAF#1 = EvalKernel<4,bspln3,0>(a2BBA);
          real fx2BB0#4 = Index<real2,0>(f2B8A);
          real r2BB8#1 = 0.1e1;
          real t32BB5#1 = Add<real>(fx2BB0,r2BB8);
          real t22BB4#1 = fx2BB0;
          real r2BB7#1 = 0.1e1;
          real t12BB3#1 = Sub<real>(fx2BB0,r2BB7);
          real r2BB6#1 = 0.2e1;
          real t02BB2#1 = Sub<real>(fx2BB0,r2BB6);
          real4 a2BB1#1 = <real4>[t32BB5,t22BB4,t12BB3,t02BB2];
          real4 hx2BAE#4 = EvalKernel<4,bspln3,0>(a2BB1);
          real t02BC3#1 = Dot<4>(v02B8E,hx2BAE);
          real t12BC4#1 = Dot<4>(v12B8F,hx2BAE);
          real t22BC5#1 = Dot<4>(v22B90,hx2BAE);
          real t32BC6#1 = Dot<4>(v32B91,hx2BAE);
          real4 tv2BC2#1 = <real4>[t02BC3,t12BC4,t22BC5,t32BC6];
          real _t2B88#1 = Dot<4>(hy2BAF,tv2BC2);
          real _t2C05#2 = Sub<real>(_t2B0B,_t2B88);
          real _t2C07#1 = Mul<real>(_t2C05,_t2C05);
          real score2C09#1 = Add<real>(score2AF4,_t2C07);
          goto JOIN2C0C
        JOIN2C0C:  preds = [ASSIGN2C0A,COND2B0A]
          real score2C0B#2 = phi(score2C09,score2AF4)
          real _t2C0D#1 = Dot<2>(r00FA5,v260F45);
          real _t2C0F#1 = Dot<2>(r10FAB,v260F45);
          real2 _t2C11#1 = <real2>[_t2C0D,_t2C0F];
          real2 pos2C13#2 = Add<real2>(_t2C11,_t0FBB);
          real2 x2C16#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2C13);
          bool _t2C15#1 = Inside<IMAGE2D<float>,2>(x2C16,_t0EFD);
          if _t2C15 then goto ASSIGN2C1C else goto ASSIGN3072
        ASSIGN2C1C:  preds = [COND2C19]
          real2 x2C1B#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v260F45);
          bool _t2C1A#1 = Inside<IMAGE2D<int>,2>(x2C1B,_t0EF9);
          goto JOIN2C20
        JOIN2C20:  preds = [ASSIGN2C1D,ASSIGN3072]
          bool _t2C1E#1 = phi(_t2C1A,_t2C1F)
          if _t2C1E then goto ASSIGN2C61 else goto JOIN2D23
        ASSIGN2C61:  preds = [COND2C21]
          real2 x2C23#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2C13);
          real2 nd2C25#2 = Floor<2>(x2C23);
          real2 f2C24#2 = Sub<real2>(x2C23,nd2C25);
          int{2} n2C26#8 = RealToInt<2>(nd2C25);
          int t12C42#1 = -1;
          int t22C43#1 = Index<int{2},0>(n2C26);
          int ix2C41#1 = Add<int>(t12C42,t22C43);
          int t12C45#1 = -1;
          int t22C46#1 = Index<int{2},1>(n2C26);
          int iy2C44#1 = Add<int>(t12C45,t22C46);
          addr(IMAGE2D<float>) a2C47#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C44);
          real4 v02C28#1 = LoadVoxels<IMAGE2D<float>,4>(a2C47);
          int t12C3B#1 = -1;
          int t22C3C#1 = Index<int{2},0>(n2C26);
          int ix2C3A#1 = Add<int>(t12C3B,t22C3C);
          int t12C3E#1 = 0;
          int t22C3F#1 = Index<int{2},1>(n2C26);
          int iy2C3D#1 = Add<int>(t12C3E,t22C3F);
          addr(IMAGE2D<float>) a2C40#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C3A,iy2C3D);
          real4 v12C29#1 = LoadVoxels<IMAGE2D<float>,4>(a2C40);
          int t12C34#1 = -1;
          int t22C35#1 = Index<int{2},0>(n2C26);
          int ix2C33#1 = Add<int>(t12C34,t22C35);
          int t12C37#1 = 1;
          int t22C38#1 = Index<int{2},1>(n2C26);
          int iy2C36#1 = Add<int>(t12C37,t22C38);
          addr(IMAGE2D<float>) a2C39#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C33,iy2C36);
          real4 v22C2A#1 = LoadVoxels<IMAGE2D<float>,4>(a2C39);
          int t12C2D#1 = -1;
          int t22C2E#1 = Index<int{2},0>(n2C26);
          int ix2C2C#1 = Add<int>(t12C2D,t22C2E);
          int t12C30#1 = 2;
          int t22C31#1 = Index<int{2},1>(n2C26);
          int iy2C2F#1 = Add<int>(t12C30,t22C31);
          addr(IMAGE2D<float>) a2C32#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C2C,iy2C2F);
          real4 v32C2B#1 = LoadVoxels<IMAGE2D<float>,4>(a2C32);
          real fy2C53#4 = Index<real2,1>(f2C24);
          real r2C5B#1 = 0.1e1;
          real t32C58#1 = Add<real>(fy2C53,r2C5B);
          real t22C57#1 = fy2C53;
          real r2C5A#1 = 0.1e1;
          real t12C56#1 = Sub<real>(fy2C53,r2C5A);
          real r2C59#1 = 0.2e1;
          real t02C55#1 = Sub<real>(fy2C53,r2C59);
          real4 a2C54#1 = <real4>[t32C58,t22C57,t12C56,t02C55];
          real4 hy2C49#1 = EvalKernel<4,bspln3,0>(a2C54);
          real fx2C4A#4 = Index<real2,0>(f2C24);
          real r2C52#1 = 0.1e1;
          real t32C4F#1 = Add<real>(fx2C4A,r2C52);
          real t22C4E#1 = fx2C4A;
          real r2C51#1 = 0.1e1;
          real t12C4D#1 = Sub<real>(fx2C4A,r2C51);
          real r2C50#1 = 0.2e1;
          real t02C4C#1 = Sub<real>(fx2C4A,r2C50);
          real4 a2C4B#1 = <real4>[t32C4F,t22C4E,t12C4D,t02C4C];
          real4 hx2C48#4 = EvalKernel<4,bspln3,0>(a2C4B);
          real t02C5D#1 = Dot<4>(v02C28,hx2C48);
          real t12C5E#1 = Dot<4>(v12C29,hx2C48);
          real t22C5F#1 = Dot<4>(v22C2A,hx2C48);
          real t32C60#1 = Dot<4>(v32C2B,hx2C48);
          real4 tv2C5C#1 = <real4>[t02C5D,t12C5E,t22C5F,t32C60];
          real _t2C22#1 = Dot<4>(hy2C49,tv2C5C);
          real2 x2CA0#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v260F45);
          real2 nd2CA2#2 = Floor<2>(x2CA0);
          real2 f2CA1#2 = Sub<real2>(x2CA0,nd2CA2);
          int{2} n2CA3#8 = RealToInt<2>(nd2CA2);
          int t12CBF#1 = -1;
          int t22CC0#1 = Index<int{2},0>(n2CA3);
          int ix2CBE#1 = Add<int>(t12CBF,t22CC0);
          int t12CC2#1 = -1;
          int t22CC3#1 = Index<int{2},1>(n2CA3);
          int iy2CC1#1 = Add<int>(t12CC2,t22CC3);
          addr(IMAGE2D<int>) a2CC4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CC1);
          real4 v02CA5#1 = LoadVoxels<IMAGE2D<int>,4>(a2CC4);
          int t12CB8#1 = -1;
          int t22CB9#1 = Index<int{2},0>(n2CA3);
          int ix2CB7#1 = Add<int>(t12CB8,t22CB9);
          int t12CBB#1 = 0;
          int t22CBC#1 = Index<int{2},1>(n2CA3);
          int iy2CBA#1 = Add<int>(t12CBB,t22CBC);
          addr(IMAGE2D<int>) a2CBD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CB7,iy2CBA);
          real4 v12CA6#1 = LoadVoxels<IMAGE2D<int>,4>(a2CBD);
          int t12CB1#1 = -1;
          int t22CB2#1 = Index<int{2},0>(n2CA3);
          int ix2CB0#1 = Add<int>(t12CB1,t22CB2);
          int t12CB4#1 = 1;
          int t22CB5#1 = Index<int{2},1>(n2CA3);
          int iy2CB3#1 = Add<int>(t12CB4,t22CB5);
          addr(IMAGE2D<int>) a2CB6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CB0,iy2CB3);
          real4 v22CA7#1 = LoadVoxels<IMAGE2D<int>,4>(a2CB6);
          int t12CAA#1 = -1;
          int t22CAB#1 = Index<int{2},0>(n2CA3);
          int ix2CA9#1 = Add<int>(t12CAA,t22CAB);
          int t12CAD#1 = 2;
          int t22CAE#1 = Index<int{2},1>(n2CA3);
          int iy2CAC#1 = Add<int>(t12CAD,t22CAE);
          addr(IMAGE2D<int>) a2CAF#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CA9,iy2CAC);
          real4 v32CA8#1 = LoadVoxels<IMAGE2D<int>,4>(a2CAF);
          real fy2CD0#4 = Index<real2,1>(f2CA1);
          real r2CD8#1 = 0.1e1;
          real t32CD5#1 = Add<real>(fy2CD0,r2CD8);
          real t22CD4#1 = fy2CD0;
          real r2CD7#1 = 0.1e1;
          real t12CD3#1 = Sub<real>(fy2CD0,r2CD7);
          real r2CD6#1 = 0.2e1;
          real t02CD2#1 = Sub<real>(fy2CD0,r2CD6);
          real4 a2CD1#1 = <real4>[t32CD5,t22CD4,t12CD3,t02CD2];
          real4 hy2CC6#1 = EvalKernel<4,bspln3,0>(a2CD1);
          real fx2CC7#4 = Index<real2,0>(f2CA1);
          real r2CCF#1 = 0.1e1;
          real t32CCC#1 = Add<real>(fx2CC7,r2CCF);
          real t22CCB#1 = fx2CC7;
          real r2CCE#1 = 0.1e1;
          real t12CCA#1 = Sub<real>(fx2CC7,r2CCE);
          real r2CCD#1 = 0.2e1;
          real t02CC9#1 = Sub<real>(fx2CC7,r2CCD);
          real4 a2CC8#1 = <real4>[t32CCC,t22CCB,t12CCA,t02CC9];
          real4 hx2CC5#4 = EvalKernel<4,bspln3,0>(a2CC8);
          real t02CDA#1 = Dot<4>(v02CA5,hx2CC5);
          real t12CDB#1 = Dot<4>(v12CA6,hx2CC5);
          real t22CDC#1 = Dot<4>(v22CA7,hx2CC5);
          real t32CDD#1 = Dot<4>(v32CA8,hx2CC5);
          real4 tv2CD9#1 = <real4>[t02CDA,t12CDB,t22CDC,t32CDD];
          real _t2C9F#1 = Dot<4>(hy2CC6,tv2CD9);
          real _t2D1C#2 = Sub<real>(_t2C22,_t2C9F);
          real _t2D1E#1 = Mul<real>(_t2D1C,_t2D1C);
          real score2D20#1 = Add<real>(score2C0B,_t2D1E);
          goto JOIN2D23
        JOIN2D23:  preds = [ASSIGN2D21,COND2C21]
          real score2D22#2 = phi(score2D20,score2C0B)
          real _t2D24#1 = Dot<2>(r00FA5,v270F47);
          real _t2D26#1 = Dot<2>(r10FAB,v270F47);
          real2 _t2D28#1 = <real2>[_t2D24,_t2D26];
          real2 pos2D2A#2 = Add<real2>(_t2D28,_t0FBB);
          real2 x2D2D#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2D2A);
          bool _t2D2C#1 = Inside<IMAGE2D<float>,2>(x2D2D,_t0EFD);
          if _t2D2C then goto ASSIGN2D33 else goto ASSIGN3071
        ASSIGN2D33:  preds = [COND2D30]
          real2 x2D32#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v270F47);
          bool _t2D31#1 = Inside<IMAGE2D<int>,2>(x2D32,_t0EF9);
          goto JOIN2D37
        JOIN2D37:  preds = [ASSIGN2D34,ASSIGN3071]
          bool _t2D35#1 = phi(_t2D31,_t2D36)
          if _t2D35 then goto ASSIGN2D78 else goto JOIN2E3A
        ASSIGN2D78:  preds = [COND2D38]
          real2 x2D3A#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2D2A);
          real2 nd2D3C#2 = Floor<2>(x2D3A);
          real2 f2D3B#2 = Sub<real2>(x2D3A,nd2D3C);
          int{2} n2D3D#8 = RealToInt<2>(nd2D3C);
          int t12D59#1 = -1;
          int t22D5A#1 = Index<int{2},0>(n2D3D);
          int ix2D58#1 = Add<int>(t12D59,t22D5A);
          int t12D5C#1 = -1;
          int t22D5D#1 = Index<int{2},1>(n2D3D);
          int iy2D5B#1 = Add<int>(t12D5C,t22D5D);
          addr(IMAGE2D<float>) a2D5E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D5B);
          real4 v02D3F#1 = LoadVoxels<IMAGE2D<float>,4>(a2D5E);
          int t12D52#1 = -1;
          int t22D53#1 = Index<int{2},0>(n2D3D);
          int ix2D51#1 = Add<int>(t12D52,t22D53);
          int t12D55#1 = 0;
          int t22D56#1 = Index<int{2},1>(n2D3D);
          int iy2D54#1 = Add<int>(t12D55,t22D56);
          addr(IMAGE2D<float>) a2D57#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D51,iy2D54);
          real4 v12D40#1 = LoadVoxels<IMAGE2D<float>,4>(a2D57);
          int t12D4B#1 = -1;
          int t22D4C#1 = Index<int{2},0>(n2D3D);
          int ix2D4A#1 = Add<int>(t12D4B,t22D4C);
          int t12D4E#1 = 1;
          int t22D4F#1 = Index<int{2},1>(n2D3D);
          int iy2D4D#1 = Add<int>(t12D4E,t22D4F);
          addr(IMAGE2D<float>) a2D50#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D4A,iy2D4D);
          real4 v22D41#1 = LoadVoxels<IMAGE2D<float>,4>(a2D50);
          int t12D44#1 = -1;
          int t22D45#1 = Index<int{2},0>(n2D3D);
          int ix2D43#1 = Add<int>(t12D44,t22D45);
          int t12D47#1 = 2;
          int t22D48#1 = Index<int{2},1>(n2D3D);
          int iy2D46#1 = Add<int>(t12D47,t22D48);
          addr(IMAGE2D<float>) a2D49#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D43,iy2D46);
          real4 v32D42#1 = LoadVoxels<IMAGE2D<float>,4>(a2D49);
          real fy2D6A#4 = Index<real2,1>(f2D3B);
          real r2D72#1 = 0.1e1;
          real t32D6F#1 = Add<real>(fy2D6A,r2D72);
          real t22D6E#1 = fy2D6A;
          real r2D71#1 = 0.1e1;
          real t12D6D#1 = Sub<real>(fy2D6A,r2D71);
          real r2D70#1 = 0.2e1;
          real t02D6C#1 = Sub<real>(fy2D6A,r2D70);
          real4 a2D6B#1 = <real4>[t32D6F,t22D6E,t12D6D,t02D6C];
          real4 hy2D60#1 = EvalKernel<4,bspln3,0>(a2D6B);
          real fx2D61#4 = Index<real2,0>(f2D3B);
          real r2D69#1 = 0.1e1;
          real t32D66#1 = Add<real>(fx2D61,r2D69);
          real t22D65#1 = fx2D61;
          real r2D68#1 = 0.1e1;
          real t12D64#1 = Sub<real>(fx2D61,r2D68);
          real r2D67#1 = 0.2e1;
          real t02D63#1 = Sub<real>(fx2D61,r2D67);
          real4 a2D62#1 = <real4>[t32D66,t22D65,t12D64,t02D63];
          real4 hx2D5F#4 = EvalKernel<4,bspln3,0>(a2D62);
          real t02D74#1 = Dot<4>(v02D3F,hx2D5F);
          real t12D75#1 = Dot<4>(v12D40,hx2D5F);
          real t22D76#1 = Dot<4>(v22D41,hx2D5F);
          real t32D77#1 = Dot<4>(v32D42,hx2D5F);
          real4 tv2D73#1 = <real4>[t02D74,t12D75,t22D76,t32D77];
          real _t2D39#1 = Dot<4>(hy2D60,tv2D73);
          real2 x2DB7#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v270F47);
          real2 nd2DB9#2 = Floor<2>(x2DB7);
          real2 f2DB8#2 = Sub<real2>(x2DB7,nd2DB9);
          int{2} n2DBA#8 = RealToInt<2>(nd2DB9);
          int t12DD6#1 = -1;
          int t22DD7#1 = Index<int{2},0>(n2DBA);
          int ix2DD5#1 = Add<int>(t12DD6,t22DD7);
          int t12DD9#1 = -1;
          int t22DDA#1 = Index<int{2},1>(n2DBA);
          int iy2DD8#1 = Add<int>(t12DD9,t22DDA);
          addr(IMAGE2D<int>) a2DDB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DD8);
          real4 v02DBC#1 = LoadVoxels<IMAGE2D<int>,4>(a2DDB);
          int t12DCF#1 = -1;
          int t22DD0#1 = Index<int{2},0>(n2DBA);
          int ix2DCE#1 = Add<int>(t12DCF,t22DD0);
          int t12DD2#1 = 0;
          int t22DD3#1 = Index<int{2},1>(n2DBA);
          int iy2DD1#1 = Add<int>(t12DD2,t22DD3);
          addr(IMAGE2D<int>) a2DD4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DCE,iy2DD1);
          real4 v12DBD#1 = LoadVoxels<IMAGE2D<int>,4>(a2DD4);
          int t12DC8#1 = -1;
          int t22DC9#1 = Index<int{2},0>(n2DBA);
          int ix2DC7#1 = Add<int>(t12DC8,t22DC9);
          int t12DCB#1 = 1;
          int t22DCC#1 = Index<int{2},1>(n2DBA);
          int iy2DCA#1 = Add<int>(t12DCB,t22DCC);
          addr(IMAGE2D<int>) a2DCD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DC7,iy2DCA);
          real4 v22DBE#1 = LoadVoxels<IMAGE2D<int>,4>(a2DCD);
          int t12DC1#1 = -1;
          int t22DC2#1 = Index<int{2},0>(n2DBA);
          int ix2DC0#1 = Add<int>(t12DC1,t22DC2);
          int t12DC4#1 = 2;
          int t22DC5#1 = Index<int{2},1>(n2DBA);
          int iy2DC3#1 = Add<int>(t12DC4,t22DC5);
          addr(IMAGE2D<int>) a2DC6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DC0,iy2DC3);
          real4 v32DBF#1 = LoadVoxels<IMAGE2D<int>,4>(a2DC6);
          real fy2DE7#4 = Index<real2,1>(f2DB8);
          real r2DEF#1 = 0.1e1;
          real t32DEC#1 = Add<real>(fy2DE7,r2DEF);
          real t22DEB#1 = fy2DE7;
          real r2DEE#1 = 0.1e1;
          real t12DEA#1 = Sub<real>(fy2DE7,r2DEE);
          real r2DED#1 = 0.2e1;
          real t02DE9#1 = Sub<real>(fy2DE7,r2DED);
          real4 a2DE8#1 = <real4>[t32DEC,t22DEB,t12DEA,t02DE9];
          real4 hy2DDD#1 = EvalKernel<4,bspln3,0>(a2DE8);
          real fx2DDE#4 = Index<real2,0>(f2DB8);
          real r2DE6#1 = 0.1e1;
          real t32DE3#1 = Add<real>(fx2DDE,r2DE6);
          real t22DE2#1 = fx2DDE;
          real r2DE5#1 = 0.1e1;
          real t12DE1#1 = Sub<real>(fx2DDE,r2DE5);
          real r2DE4#1 = 0.2e1;
          real t02DE0#1 = Sub<real>(fx2DDE,r2DE4);
          real4 a2DDF#1 = <real4>[t32DE3,t22DE2,t12DE1,t02DE0];
          real4 hx2DDC#4 = EvalKernel<4,bspln3,0>(a2DDF);
          real t02DF1#1 = Dot<4>(v02DBC,hx2DDC);
          real t12DF2#1 = Dot<4>(v12DBD,hx2DDC);
          real t22DF3#1 = Dot<4>(v22DBE,hx2DDC);
          real t32DF4#1 = Dot<4>(v32DBF,hx2DDC);
          real4 tv2DF0#1 = <real4>[t02DF1,t12DF2,t22DF3,t32DF4];
          real _t2DB6#1 = Dot<4>(hy2DDD,tv2DF0);
          real _t2E33#2 = Sub<real>(_t2D39,_t2DB6);
          real _t2E35#1 = Mul<real>(_t2E33,_t2E33);
          real score2E37#1 = Add<real>(score2D22,_t2E35);
          goto JOIN2E3A
        JOIN2E3A:  preds = [ASSIGN2E38,COND2D38]
          real score2E39#2 = phi(score2E37,score2D22)
          real _t2E3B#1 = Dot<2>(r00FA5,v280F49);
          real _t2E3D#1 = Dot<2>(r10FAB,v280F49);
          real2 _t2E3F#1 = <real2>[_t2E3B,_t2E3D];
          real2 pos2E41#2 = Add<real2>(_t2E3F,_t0FBB);
          real2 x2E44#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2E41);
          bool _t2E43#1 = Inside<IMAGE2D<float>,2>(x2E44,_t0EFD);
          if _t2E43 then goto ASSIGN2E4A else goto ASSIGN3070
        ASSIGN2E4A:  preds = [COND2E47]
          real2 x2E49#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v280F49);
          bool _t2E48#1 = Inside<IMAGE2D<int>,2>(x2E49,_t0EF9);
          goto JOIN2E4E
        JOIN2E4E:  preds = [ASSIGN2E4B,ASSIGN3070]
          bool _t2E4C#1 = phi(_t2E48,_t2E4D)
          if _t2E4C then goto ASSIGN2E8F else goto JOIN2F51
        ASSIGN2E8F:  preds = [COND2E4F]
          real2 x2E51#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2E41);
          real2 nd2E53#2 = Floor<2>(x2E51);
          real2 f2E52#2 = Sub<real2>(x2E51,nd2E53);
          int{2} n2E54#8 = RealToInt<2>(nd2E53);
          int t12E70#1 = -1;
          int t22E71#1 = Index<int{2},0>(n2E54);
          int ix2E6F#1 = Add<int>(t12E70,t22E71);
          int t12E73#1 = -1;
          int t22E74#1 = Index<int{2},1>(n2E54);
          int iy2E72#1 = Add<int>(t12E73,t22E74);
          addr(IMAGE2D<float>) a2E75#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E72);
          real4 v02E56#1 = LoadVoxels<IMAGE2D<float>,4>(a2E75);
          int t12E69#1 = -1;
          int t22E6A#1 = Index<int{2},0>(n2E54);
          int ix2E68#1 = Add<int>(t12E69,t22E6A);
          int t12E6C#1 = 0;
          int t22E6D#1 = Index<int{2},1>(n2E54);
          int iy2E6B#1 = Add<int>(t12E6C,t22E6D);
          addr(IMAGE2D<float>) a2E6E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E68,iy2E6B);
          real4 v12E57#1 = LoadVoxels<IMAGE2D<float>,4>(a2E6E);
          int t12E62#1 = -1;
          int t22E63#1 = Index<int{2},0>(n2E54);
          int ix2E61#1 = Add<int>(t12E62,t22E63);
          int t12E65#1 = 1;
          int t22E66#1 = Index<int{2},1>(n2E54);
          int iy2E64#1 = Add<int>(t12E65,t22E66);
          addr(IMAGE2D<float>) a2E67#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E61,iy2E64);
          real4 v22E58#1 = LoadVoxels<IMAGE2D<float>,4>(a2E67);
          int t12E5B#1 = -1;
          int t22E5C#1 = Index<int{2},0>(n2E54);
          int ix2E5A#1 = Add<int>(t12E5B,t22E5C);
          int t12E5E#1 = 2;
          int t22E5F#1 = Index<int{2},1>(n2E54);
          int iy2E5D#1 = Add<int>(t12E5E,t22E5F);
          addr(IMAGE2D<float>) a2E60#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E5A,iy2E5D);
          real4 v32E59#1 = LoadVoxels<IMAGE2D<float>,4>(a2E60);
          real fy2E81#4 = Index<real2,1>(f2E52);
          real r2E89#1 = 0.1e1;
          real t32E86#1 = Add<real>(fy2E81,r2E89);
          real t22E85#1 = fy2E81;
          real r2E88#1 = 0.1e1;
          real t12E84#1 = Sub<real>(fy2E81,r2E88);
          real r2E87#1 = 0.2e1;
          real t02E83#1 = Sub<real>(fy2E81,r2E87);
          real4 a2E82#1 = <real4>[t32E86,t22E85,t12E84,t02E83];
          real4 hy2E77#1 = EvalKernel<4,bspln3,0>(a2E82);
          real fx2E78#4 = Index<real2,0>(f2E52);
          real r2E80#1 = 0.1e1;
          real t32E7D#1 = Add<real>(fx2E78,r2E80);
          real t22E7C#1 = fx2E78;
          real r2E7F#1 = 0.1e1;
          real t12E7B#1 = Sub<real>(fx2E78,r2E7F);
          real r2E7E#1 = 0.2e1;
          real t02E7A#1 = Sub<real>(fx2E78,r2E7E);
          real4 a2E79#1 = <real4>[t32E7D,t22E7C,t12E7B,t02E7A];
          real4 hx2E76#4 = EvalKernel<4,bspln3,0>(a2E79);
          real t02E8B#1 = Dot<4>(v02E56,hx2E76);
          real t12E8C#1 = Dot<4>(v12E57,hx2E76);
          real t22E8D#1 = Dot<4>(v22E58,hx2E76);
          real t32E8E#1 = Dot<4>(v32E59,hx2E76);
          real4 tv2E8A#1 = <real4>[t02E8B,t12E8C,t22E8D,t32E8E];
          real _t2E50#1 = Dot<4>(hy2E77,tv2E8A);
          real2 x2ECE#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v280F49);
          real2 nd2ED0#2 = Floor<2>(x2ECE);
          real2 f2ECF#2 = Sub<real2>(x2ECE,nd2ED0);
          int{2} n2ED1#8 = RealToInt<2>(nd2ED0);
          int t12EED#1 = -1;
          int t22EEE#1 = Index<int{2},0>(n2ED1);
          int ix2EEC#1 = Add<int>(t12EED,t22EEE);
          int t12EF0#1 = -1;
          int t22EF1#1 = Index<int{2},1>(n2ED1);
          int iy2EEF#1 = Add<int>(t12EF0,t22EF1);
          addr(IMAGE2D<int>) a2EF2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EEF);
          real4 v02ED3#1 = LoadVoxels<IMAGE2D<int>,4>(a2EF2);
          int t12EE6#1 = -1;
          int t22EE7#1 = Index<int{2},0>(n2ED1);
          int ix2EE5#1 = Add<int>(t12EE6,t22EE7);
          int t12EE9#1 = 0;
          int t22EEA#1 = Index<int{2},1>(n2ED1);
          int iy2EE8#1 = Add<int>(t12EE9,t22EEA);
          addr(IMAGE2D<int>) a2EEB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EE5,iy2EE8);
          real4 v12ED4#1 = LoadVoxels<IMAGE2D<int>,4>(a2EEB);
          int t12EDF#1 = -1;
          int t22EE0#1 = Index<int{2},0>(n2ED1);
          int ix2EDE#1 = Add<int>(t12EDF,t22EE0);
          int t12EE2#1 = 1;
          int t22EE3#1 = Index<int{2},1>(n2ED1);
          int iy2EE1#1 = Add<int>(t12EE2,t22EE3);
          addr(IMAGE2D<int>) a2EE4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EDE,iy2EE1);
          real4 v22ED5#1 = LoadVoxels<IMAGE2D<int>,4>(a2EE4);
          int t12ED8#1 = -1;
          int t22ED9#1 = Index<int{2},0>(n2ED1);
          int ix2ED7#1 = Add<int>(t12ED8,t22ED9);
          int t12EDB#1 = 2;
          int t22EDC#1 = Index<int{2},1>(n2ED1);
          int iy2EDA#1 = Add<int>(t12EDB,t22EDC);
          addr(IMAGE2D<int>) a2EDD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2ED7,iy2EDA);
          real4 v32ED6#1 = LoadVoxels<IMAGE2D<int>,4>(a2EDD);
          real fy2EFE#4 = Index<real2,1>(f2ECF);
          real r2F06#1 = 0.1e1;
          real t32F03#1 = Add<real>(fy2EFE,r2F06);
          real t22F02#1 = fy2EFE;
          real r2F05#1 = 0.1e1;
          real t12F01#1 = Sub<real>(fy2EFE,r2F05);
          real r2F04#1 = 0.2e1;
          real t02F00#1 = Sub<real>(fy2EFE,r2F04);
          real4 a2EFF#1 = <real4>[t32F03,t22F02,t12F01,t02F00];
          real4 hy2EF4#1 = EvalKernel<4,bspln3,0>(a2EFF);
          real fx2EF5#4 = Index<real2,0>(f2ECF);
          real r2EFD#1 = 0.1e1;
          real t32EFA#1 = Add<real>(fx2EF5,r2EFD);
          real t22EF9#1 = fx2EF5;
          real r2EFC#1 = 0.1e1;
          real t12EF8#1 = Sub<real>(fx2EF5,r2EFC);
          real r2EFB#1 = 0.2e1;
          real t02EF7#1 = Sub<real>(fx2EF5,r2EFB);
          real4 a2EF6#1 = <real4>[t32EFA,t22EF9,t12EF8,t02EF7];
          real4 hx2EF3#4 = EvalKernel<4,bspln3,0>(a2EF6);
          real t02F08#1 = Dot<4>(v02ED3,hx2EF3);
          real t12F09#1 = Dot<4>(v12ED4,hx2EF3);
          real t22F0A#1 = Dot<4>(v22ED5,hx2EF3);
          real t32F0B#1 = Dot<4>(v32ED6,hx2EF3);
          real4 tv2F07#1 = <real4>[t02F08,t12F09,t22F0A,t32F0B];
          real _t2ECD#1 = Dot<4>(hy2EF4,tv2F07);
          real _t2F4A#2 = Sub<real>(_t2E50,_t2ECD);
          real _t2F4C#1 = Mul<real>(_t2F4A,_t2F4A);
          real score2F4E#1 = Add<real>(score2E39,_t2F4C);
          goto JOIN2F51
        JOIN2F51:  preds = [ASSIGN2F4F,COND2E4F]
          real score2F50#2 = phi(score2F4E,score2E39)
          real _t2F52#1 = Dot<2>(r00FA5,v290F4B);
          real _t2F54#1 = Dot<2>(r10FAB,v290F4B);
          real2 _t2F56#1 = <real2>[_t2F52,_t2F54];
          real2 pos2F58#3 = Add<real2>(_t2F56,_t0FBB);
          real2 x2F5B#1 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2F58);
          bool _t2F5A#1 = Inside<IMAGE2D<float>,2>(x2F5B,_t0EFD);
          if _t2F5A then goto ASSIGN2F61 else goto ASSIGN306F
        ASSIGN2F61:  preds = [COND2F5E]
          real2 x2F60#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v290F4B);
          bool _t2F5F#1 = Inside<IMAGE2D<int>,2>(x2F60,_t0EF9);
          goto JOIN2F65
        JOIN2F65:  preds = [ASSIGN2F62,ASSIGN306F]
          bool _t2F63#1 = phi(_t2F5F,_t2F64)
          if _t2F63 then goto ASSIGN2FA6 else goto JOIN3068
        ASSIGN2FA6:  preds = [COND2F66]
          real2 x2F68#2 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2F58);
          real2 nd2F6A#2 = Floor<2>(x2F68);
          real2 f2F69#2 = Sub<real2>(x2F68,nd2F6A);
          int{2} n2F6B#8 = RealToInt<2>(nd2F6A);
          int t12F87#1 = -1;
          int t22F88#1 = Index<int{2},0>(n2F6B);
          int ix2F86#1 = Add<int>(t12F87,t22F88);
          int t12F8A#1 = -1;
          int t22F8B#1 = Index<int{2},1>(n2F6B);
          int iy2F89#1 = Add<int>(t12F8A,t22F8B);
          addr(IMAGE2D<float>) a2F8C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F89);
          real4 v02F6D#1 = LoadVoxels<IMAGE2D<float>,4>(a2F8C);
          int t12F80#1 = -1;
          int t22F81#1 = Index<int{2},0>(n2F6B);
          int ix2F7F#1 = Add<int>(t12F80,t22F81);
          int t12F83#1 = 0;
          int t22F84#1 = Index<int{2},1>(n2F6B);
          int iy2F82#1 = Add<int>(t12F83,t22F84);
          addr(IMAGE2D<float>) a2F85#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F7F,iy2F82);
          real4 v12F6E#1 = LoadVoxels<IMAGE2D<float>,4>(a2F85);
          int t12F79#1 = -1;
          int t22F7A#1 = Index<int{2},0>(n2F6B);
          int ix2F78#1 = Add<int>(t12F79,t22F7A);
          int t12F7C#1 = 1;
          int t22F7D#1 = Index<int{2},1>(n2F6B);
          int iy2F7B#1 = Add<int>(t12F7C,t22F7D);
          addr(IMAGE2D<float>) a2F7E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F78,iy2F7B);
          real4 v22F6F#1 = LoadVoxels<IMAGE2D<float>,4>(a2F7E);
          int t12F72#1 = -1;
          int t22F73#1 = Index<int{2},0>(n2F6B);
          int ix2F71#1 = Add<int>(t12F72,t22F73);
          int t12F75#1 = 2;
          int t22F76#1 = Index<int{2},1>(n2F6B);
          int iy2F74#1 = Add<int>(t12F75,t22F76);
          addr(IMAGE2D<float>) a2F77#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F71,iy2F74);
          real4 v32F70#1 = LoadVoxels<IMAGE2D<float>,4>(a2F77);
          real fy2F98#4 = Index<real2,1>(f2F69);
          real r2FA0#1 = 0.1e1;
          real t32F9D#1 = Add<real>(fy2F98,r2FA0);
          real t22F9C#1 = fy2F98;
          real r2F9F#1 = 0.1e1;
          real t12F9B#1 = Sub<real>(fy2F98,r2F9F);
          real r2F9E#1 = 0.2e1;
          real t02F9A#1 = Sub<real>(fy2F98,r2F9E);
          real4 a2F99#1 = <real4>[t32F9D,t22F9C,t12F9B,t02F9A];
          real4 hy2F8E#1 = EvalKernel<4,bspln3,0>(a2F99);
          real fx2F8F#4 = Index<real2,0>(f2F69);
          real r2F97#1 = 0.1e1;
          real t32F94#1 = Add<real>(fx2F8F,r2F97);
          real t22F93#1 = fx2F8F;
          real r2F96#1 = 0.1e1;
          real t12F92#1 = Sub<real>(fx2F8F,r2F96);
          real r2F95#1 = 0.2e1;
          real t02F91#1 = Sub<real>(fx2F8F,r2F95);
          real4 a2F90#1 = <real4>[t32F94,t22F93,t12F92,t02F91];
          real4 hx2F8D#4 = EvalKernel<4,bspln3,0>(a2F90);
          real t02FA2#1 = Dot<4>(v02F6D,hx2F8D);
          real t12FA3#1 = Dot<4>(v12F6E,hx2F8D);
          real t22FA4#1 = Dot<4>(v22F6F,hx2F8D);
          real t32FA5#1 = Dot<4>(v32F70,hx2F8D);
          real4 tv2FA1#1 = <real4>[t02FA2,t12FA3,t22FA4,t32FA5];
          real _t2F67#1 = Dot<4>(hy2F8E,tv2FA1);
          real2 x2FE5#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v290F4B);
          real2 nd2FE7#2 = Floor<2>(x2FE5);
          real2 f2FE6#2 = Sub<real2>(x2FE5,nd2FE7);
          int{2} n2FE8#8 = RealToInt<2>(nd2FE7);
          int t13004#1 = -1;
          int t23005#1 = Index<int{2},0>(n2FE8);
          int ix3003#1 = Add<int>(t13004,t23005);
          int t13007#1 = -1;
          int t23008#1 = Index<int{2},1>(n2FE8);
          int iy3006#1 = Add<int>(t13007,t23008);
          addr(IMAGE2D<int>) a3009#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy3006);
          real4 v02FEA#1 = LoadVoxels<IMAGE2D<int>,4>(a3009);
          int t12FFD#1 = -1;
          int t22FFE#1 = Index<int{2},0>(n2FE8);
          int ix2FFC#1 = Add<int>(t12FFD,t22FFE);
          int t13000#1 = 0;
          int t23001#1 = Index<int{2},1>(n2FE8);
          int iy2FFF#1 = Add<int>(t13000,t23001);
          addr(IMAGE2D<int>) a3002#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2FFC,iy2FFF);
          real4 v12FEB#1 = LoadVoxels<IMAGE2D<int>,4>(a3002);
          int t12FF6#1 = -1;
          int t22FF7#1 = Index<int{2},0>(n2FE8);
          int ix2FF5#1 = Add<int>(t12FF6,t22FF7);
          int t12FF9#1 = 1;
          int t22FFA#1 = Index<int{2},1>(n2FE8);
          int iy2FF8#1 = Add<int>(t12FF9,t22FFA);
          addr(IMAGE2D<int>) a2FFB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2FF5,iy2FF8);
          real4 v22FEC#1 = LoadVoxels<IMAGE2D<int>,4>(a2FFB);
          int t12FEF#1 = -1;
          int t22FF0#1 = Index<int{2},0>(n2FE8);
          int ix2FEE#1 = Add<int>(t12FEF,t22FF0);
          int t12FF2#1 = 2;
          int t22FF3#1 = Index<int{2},1>(n2FE8);
          int iy2FF1#1 = Add<int>(t12FF2,t22FF3);
          addr(IMAGE2D<int>) a2FF4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2FEE,iy2FF1);
          real4 v32FED#1 = LoadVoxels<IMAGE2D<int>,4>(a2FF4);
          real fy3015#4 = Index<real2,1>(f2FE6);
          real r301D#1 = 0.1e1;
          real t3301A#1 = Add<real>(fy3015,r301D);
          real t23019#1 = fy3015;
          real r301C#1 = 0.1e1;
          real t13018#1 = Sub<real>(fy3015,r301C);
          real r301B#1 = 0.2e1;
          real t03017#1 = Sub<real>(fy3015,r301B);
          real4 a3016#1 = <real4>[t3301A,t23019,t13018,t03017];
          real4 hy300B#1 = EvalKernel<4,bspln3,0>(a3016);
          real fx300C#4 = Index<real2,0>(f2FE6);
          real r3014#1 = 0.1e1;
          real t33011#1 = Add<real>(fx300C,r3014);
          real t23010#1 = fx300C;
          real r3013#1 = 0.1e1;
          real t1300F#1 = Sub<real>(fx300C,r3013);
          real r3012#1 = 0.2e1;
          real t0300E#1 = Sub<real>(fx300C,r3012);
          real4 a300D#1 = <real4>[t33011,t23010,t1300F,t0300E];
          real4 hx300A#4 = EvalKernel<4,bspln3,0>(a300D);
          real t0301F#1 = Dot<4>(v02FEA,hx300A);
          real t13020#1 = Dot<4>(v12FEB,hx300A);
          real t23021#1 = Dot<4>(v22FEC,hx300A);
          real t33022#1 = Dot<4>(v32FED,hx300A);
          real4 tv301E#1 = <real4>[t0301F,t13020,t23021,t33022];
          real _t2FE4#1 = Dot<4>(hy300B,tv301E);
          real _t3061#2 = Sub<real>(_t2F67,_t2FE4);
          real _t3063#1 = Mul<real>(_t3061,_t3061);
          real score3065#1 = Add<real>(score2F50,_t3063);
          goto JOIN3068
        JOIN3068:  preds = [ASSIGN3066,COND2F66]
          real score3067#1 = phi(score3065,score2F50)
          self.t = t0F87;
          self.score = score3067;
          self.r0 = r00FA5;
          self.r1 = r10FAB;
          self.pos = pos2F58;
          stabilize ()
        ASSIGN306F:  preds = [COND2F5E]
          bool _t2F64#1 = false;
          goto JOIN2F65
        ASSIGN3070:  preds = [COND2E47]
          bool _t2E4D#1 = false;
          goto JOIN2E4E
        ASSIGN3071:  preds = [COND2D30]
          bool _t2D36#1 = false;
          goto JOIN2D37
        ASSIGN3072:  preds = [COND2C19]
          bool _t2C1F#1 = false;
          goto JOIN2C20
        ASSIGN3073:  preds = [COND2B02]
          bool _t2B08#1 = false;
          goto JOIN2B09
        ASSIGN3074:  preds = [COND29EB]
          bool _t29F1#1 = false;
          goto JOIN29F2
        ASSIGN3075:  preds = [COND28D4]
          bool _t28DA#1 = false;
          goto JOIN28DB
        ASSIGN3076:  preds = [COND27BD]
          bool _t27C3#1 = false;
          goto JOIN27C4
        ASSIGN3077:  preds = [COND26A6]
          bool _t26AC#1 = false;
          goto JOIN26AD
        ASSIGN3078:  preds = [COND258F]
          bool _t2595#1 = false;
          goto JOIN2596
        ASSIGN3079:  preds = [COND2478]
          bool _t247E#1 = false;
          goto JOIN247F
        ASSIGN307A:  preds = [COND2361]
          bool _t2367#1 = false;
          goto JOIN2368
        ASSIGN307B:  preds = [COND224A]
          bool _t2250#1 = false;
          goto JOIN2251
        ASSIGN307C:  preds = [COND2133]
          bool _t2139#1 = false;
          goto JOIN213A
        ASSIGN307D:  preds = [COND201C]
          bool _t2022#1 = false;
          goto JOIN2023
        ASSIGN307E:  preds = [COND1F05]
          bool _t1F0B#1 = false;
          goto JOIN1F0C
        ASSIGN307F:  preds = [COND1DEE]
          bool _t1DF4#1 = false;
          goto JOIN1DF5
        ASSIGN3080:  preds = [COND1CD7]
          bool _t1CDD#1 = false;
          goto JOIN1CDE
        ASSIGN3081:  preds = [COND1BC0]
          bool _t1BC6#1 = false;
          goto JOIN1BC7
        ASSIGN3082:  preds = [COND1AA9]
          bool _t1AAF#1 = false;
          goto JOIN1AB0
        ASSIGN3083:  preds = [COND1992]
          bool _t1998#1 = false;
          goto JOIN1999
        ASSIGN3084:  preds = [COND187B]
          bool _t1881#1 = false;
          goto JOIN1882
        ASSIGN3085:  preds = [COND1764]
          bool _t176A#1 = false;
          goto JOIN176B
        ASSIGN3086:  preds = [COND164D]
          bool _t1653#1 = false;
          goto JOIN1654
        ASSIGN3087:  preds = [COND1536]
          bool _t153C#1 = false;
          goto JOIN153D
        ASSIGN3088:  preds = [COND141F]
          bool _t1425#1 = false;
          goto JOIN1426
        ASSIGN3089:  preds = [COND1308]
          bool _t130E#1 = false;
          goto JOIN130F
        ASSIGN308A:  preds = [COND11F1]
          bool _t11F7#1 = false;
          goto JOIN11F8
        ASSIGN308B:  preds = [COND10DA]
          bool _t10E0#1 = false;
          goto JOIN10E1
        ASSIGN308C:  preds = [COND0FC3]
          bool _t0FC9#1 = false;
          goto JOIN0FCA
    end Update
    method Stabilize
        ENTRY308E:  preds = []
          real3 t308F#1 = self.t;
          real score3091#1 = self.score;
          real2 r03093#1 = self.r0;
          real2 r13095#1 = self.r1;
          real2 pos3097#1 = self.pos;
          self.t = t308F;
          self.score = score3091;
          self.r0 = r03093;
          self.r1 = r13095;
          self.pos = pos3097;
          return ()
    end Stabilize
  end R
#### end program ####
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
++ mid-il:redundant-assign
##### MidIL after value numbering ####
## properties
  none
## globals
  global int T0F4D#0
  global int F0F4E#0
  global real2 v000F03#4
  global real2 v010F09#4
  global real2 v020F0D#4
  global real2 v030F0F#4
  global real2 v040F11#4
  global real2 v050F17#4
  global real2 v060F19#4
  global real2 v070F1B#4
  global real2 v080F1D#4
  global real2 v090F1F#4
  global real2 v100F25#4
  global real2 v110F27#4
  global real2 v120F29#4
  global real2 v130F2B#4
  global real2 v140F2D#4
  global real2 v150F2F#4
  global real2 v160F31#4
  global real2 v170F33#4
  global real2 v180F35#4
  global real2 v190F37#4
  global real2 v200F39#4
  global real2 v210F3B#4
  global real2 v220F3D#4
  global real2 v230F3F#4
  global real2 v240F41#4
  global real2 v250F43#4
  global real2 v260F45#4
  global real2 v270F47#4
  global real2 v280F49#4
  global real2 v290F4B#4
  global string _t0EF7#1
  global image(IMAGE2D<int>) _t0EF9#210
  global int _t0EF5#0
  global string _t0EFB#1
  global image(IMAGE2D<float>) _t0EFD#210
  global real _t0F15#5
  global real _t0F23#5
  global real _t0F21#6
  global real _t0F13#6
  global real _t0F01#11
  global real _t0F07#6
  global real _t0F0B#6
  global real _t0F05#7
  global real _t0EFF#12
## global initialization
  ENTRY0EF4:  preds = []
    int _t0EF5#0 = 0;
    string _t0EF7#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0EF9#210 = LoadImage<IMAGE2D<int>>(_t0EF7);
    string _t0EFB#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0EFD#210 = LoadImage<IMAGE2D<float>>(_t0EFB);
    real _t0EFF#12 = 0.5e0;
    real _t0F01#11 = Neg<real>(_t0EFF);
    real2 v000F03#4 = <real2>[_t0F01,_t0F01];
    real _t0F05#7 = 0.25e0;
    real _t0F07#6 = Neg<real>(_t0F05);
    real2 v010F09#4 = <real2>[_t0F01,_t0F07];
    real _t0F0B#6 = 0.0;
    real2 v020F0D#4 = <real2>[_t0F01,_t0F0B];
    real2 v030F0F#4 = <real2>[_t0F01,_t0F05];
    real2 v040F11#4 = <real2>[_t0F01,_t0EFF];
    real _t0F13#6 = 0.3e0;
    real _t0F15#5 = Neg<real>(_t0F13);
    real2 v050F17#4 = <real2>[_t0F15,_t0F01];
    real2 v060F19#4 = <real2>[_t0F15,_t0F07];
    real2 v070F1B#4 = <real2>[_t0F15,_t0F0B];
    real2 v080F1D#4 = <real2>[_t0F15,_t0F05];
    real2 v090F1F#4 = <real2>[_t0F15,_t0EFF];
    real _t0F21#6 = 0.1e0;
    real _t0F23#5 = Neg<real>(_t0F21);
    real2 v100F25#4 = <real2>[_t0F23,_t0F01];
    real2 v110F27#4 = <real2>[_t0F23,_t0F07];
    real2 v120F29#4 = <real2>[_t0F23,_t0F0B];
    real2 v130F2B#4 = <real2>[_t0F23,_t0F05];
    real2 v140F2D#4 = <real2>[_t0F23,_t0EFF];
    real2 v150F2F#4 = <real2>[_t0F21,_t0F01];
    real2 v160F31#4 = <real2>[_t0F21,_t0F07];
    real2 v170F33#4 = <real2>[_t0F21,_t0F0B];
    real2 v180F35#4 = <real2>[_t0F21,_t0F05];
    real2 v190F37#4 = <real2>[_t0F21,_t0EFF];
    real2 v200F39#4 = <real2>[_t0F13,_t0F01];
    real2 v210F3B#4 = <real2>[_t0F13,_t0F07];
    real2 v220F3D#4 = <real2>[_t0F13,_t0F0B];
    real2 v230F3F#4 = <real2>[_t0F13,_t0F05];
    real2 v240F41#4 = <real2>[_t0F13,_t0EFF];
    real2 v250F43#4 = <real2>[_t0EFF,_t0F01];
    real2 v260F45#4 = <real2>[_t0EFF,_t0F07];
    real2 v270F47#4 = <real2>[_t0EFF,_t0F0B];
    real2 v280F49#4 = <real2>[_t0EFF,_t0F05];
    real2 v290F4B#4 = <real2>[_t0EFF,_t0EFF];
    return (T0F4D,F0F4E,v000F03,v010F09,v020F0D,v030F0F,v040F11,v050F17,v060F19,v070F1B,v080F1D,v090F1F,v100F25,v110F27,v120F29,v130F2B,v140F2D,v150F2F,v160F31,v170F33,v180F35,v190F37,v200F39,v210F3B,v220F3D,v230F3F,v240F41,v250F43,v260F45,v270F47,v280F49,v290F4B,_t0EF7,_t0EF9,_t0EF5,_t0EFB,_t0EFD,_t0F15,_t0F23,_t0F21,_t0F13,_t0F01,_t0F07,_t0F0B,_t0F05,_t0EFF)
## initially
  ARRAY
    ENTRY0F55:  preds = []
      int _t0F51#4 = 0;
      int _t0F52#4 = 60;
      live vars = (_t0F52,_t0F51)
    for int i0F50#1 = _t0F51 .. _t0F52
      for int j0F53#1 = _t0F51 .. _t0F52
        for int k0F54#1 = _t0F51 .. _t0F52
          ENTRY0F59:  preds = []
            live vars = ()
          new R(i0F50,j0F53,k0F54);
## strands
  strand R (int i0F5B#1, int j0F5C#1, int k0F5D#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0F63:  preds = []
        real _t0F64#1 = IntToReal(i0F5B);
        real _t0F66#3 = 0.60e2;
        real _t0F68#1 = Div<real>(_t0F64,_t0F66);
        real _t0F6A#3 = 0.5e0;
        real _t0F6C#1 = Sub<real>(_t0F68,_t0F6A);
        real _t0F6E#1 = IntToReal(j0F5C);
        real _t0F70#1 = Div<real>(_t0F6E,_t0F66);
        real _t0F72#1 = Sub<real>(_t0F70,_t0F6A);
        real _t0F74#1 = IntToReal(k0F5D);
        real _t0F76#1 = Div<real>(_t0F74,_t0F66);
        real _t0F78#1 = Sub<real>(_t0F76,_t0F6A);
        real3 t0F7A#1 = <real3>[_t0F6C,_t0F72,_t0F78];
        real score0F7C#3 = 0.0;
        real2 r00F7E#3 = <real2>[score0F7C,score0F7C];
        self.t = t0F7A;
        self.score = score0F7C;
        self.r0 = r00F7E;
        self.r1 = r00F7E;
        self.pos = r00F7E;
        strand_init ()
    method Update
        ENTRY0F86:  preds = []
          real3 t0F87#4 = self.t;
          real score0F89#2 = self.score;
          real _t0F8B#242 = 0.1e1;
          real _t0F8D#123 = 0.2e1;
          int _t0F8F#61 = 2;
          real _t0F91#6 = Subscript<real3>(t0F87,_t0F8F);
          real _t0F93#1 = Mul<real>(_t0F8D,_t0F91);
          real _t0F95#1 = Mul<real>(_t0F93,_t0F91);
          real _t0F97#2 = Sub<real>(_t0F8B,_t0F95);
          real _t0F99#1 = Neg<real>(_t0F8D);
          real _t0F9B#1 = Mul<real>(_t0F91,_t0F91);
          real _t0F9D#1 = Sub<real>(_t0F8B,_t0F9B);
          real _t0F9F#2 = sqrt(_t0F9D);
          real _t0FA1#1 = Mul<real>(_t0F99,_t0F9F);
          real _t0FA3#1 = Mul<real>(_t0FA1,_t0F91);
          real2 r00FA5#31 = <real2>[_t0F97,_t0FA3];
          real _t0FA7#1 = Mul<real>(_t0F8D,_t0F9F);
          real _t0FA9#1 = Mul<real>(_t0FA7,_t0F91);
          real2 r10FAB#31 = <real2>[_t0FA9,_t0F97];
          real _t0FAD#1 = Dot<2>(r00FA5,v000F03);
          real _t0FAF#1 = Dot<2>(r10FAB,v000F03);
          real2 _t0FB1#1 = <real2>[_t0FAD,_t0FAF];
          int _t0FB3#61 = 0;
          real _t0FB5#1 = Subscript<real3>(t0F87,_t0FB3);
          int _t0FB7#61 = 1;
          real _t0FB9#1 = Subscript<real3>(t0F87,_t0FB7);
          real2 _t0FBB#30 = <real2>[_t0FB5,_t0FB9];
          real2 pos0FBD#2 = Add<real2>(_t0FB1,_t0FBB);
          real2 x0FC0#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos0FBD);
          bool _t0FBF#1 = Inside<IMAGE2D<float>,2>(x0FC0,_t0EFD);
          if _t0FBF then goto ASSIGN0FC6 else goto ASSIGN308C
        ASSIGN0FC6:  preds = [COND0FC3]
          real2 x0FC5#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v000F03);
          bool _t0FC4#1 = Inside<IMAGE2D<int>,2>(x0FC5,_t0EF9);
          goto JOIN0FCA
        JOIN0FCA:  preds = [ASSIGN0FC7,ASSIGN308C]
          bool _t0FC8#1 = phi(_t0FC4,_t0FC9)
          if _t0FC8 then goto ASSIGN309F else goto JOIN10CD
        ASSIGN309F:  preds = [COND0FCB]
          real2 nd0FCF#2 = Floor<2>(x0FC0);
          real2 f0FCE#2 = Sub<real2>(x0FC0,nd0FCF);
          int{2} n0FD0#8 = RealToInt<2>(nd0FCF);
          int t10FEC#4 = -1;
          int t20FED#1 = Index<int{2},0>(n0FD0);
          int ix0FEB#4 = Add<int>(t10FEC,t20FED);
          int t20FF0#4 = Index<int{2},1>(n0FD0);
          int iy0FEE#1 = Add<int>(t10FEC,t20FF0);
          addr(IMAGE2D<float>) a0FF1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FEE);
          real4 v00FD2#1 = LoadVoxels<IMAGE2D<float>,4>(a0FF1);
          int iy0FE7#1 = Add<int>(_t0FB3,t20FF0);
          addr(IMAGE2D<float>) a0FEA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FE7);
          real4 v10FD3#1 = LoadVoxels<IMAGE2D<float>,4>(a0FEA);
          int iy0FE0#1 = Add<int>(_t0FB7,t20FF0);
          addr(IMAGE2D<float>) a0FE3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FE0);
          real4 v20FD4#1 = LoadVoxels<IMAGE2D<float>,4>(a0FE3);
          int iy0FD9#1 = Add<int>(_t0F8F,t20FF0);
          addr(IMAGE2D<float>) a0FDC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FD9);
          real4 v30FD5#1 = LoadVoxels<IMAGE2D<float>,4>(a0FDC);
          real fy0FFD#5 = Index<real2,1>(f0FCE);
          real t31002#1 = Add<real>(fy0FFD,_t0F8B);
          real t11000#1 = Sub<real>(fy0FFD,_t0F8B);
          real t00FFF#1 = Sub<real>(fy0FFD,_t0F8D);
          real4 a0FFE#1 = <real4>[t31002,fy0FFD,t11000,t00FFF];
          real4 hy0FF3#1 = EvalKernel<4,bspln3,0>(a0FFE);
          real fx0FF4#5 = Index<real2,0>(f0FCE);
          real t30FF9#1 = Add<real>(fx0FF4,_t0F8B);
          real t10FF7#1 = Sub<real>(fx0FF4,_t0F8B);
          real t00FF6#1 = Sub<real>(fx0FF4,_t0F8D);
          real4 a0FF5#1 = <real4>[t30FF9,fx0FF4,t10FF7,t00FF6];
          real4 hx0FF2#4 = EvalKernel<4,bspln3,0>(a0FF5);
          real t01007#1 = Dot<4>(v00FD2,hx0FF2);
          real t11008#1 = Dot<4>(v10FD3,hx0FF2);
          real t21009#1 = Dot<4>(v20FD4,hx0FF2);
          real t3100A#1 = Dot<4>(v30FD5,hx0FF2);
          real4 tv1006#1 = <real4>[t01007,t11008,t21009,t3100A];
          real _t0FCC#1 = Dot<4>(hy0FF3,tv1006);
          real2 x104A#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v000F03);
          real2 nd104C#2 = Floor<2>(x104A);
          real2 f104B#2 = Sub<real2>(x104A,nd104C);
          int{2} n104D#8 = RealToInt<2>(nd104C);
          int t2106A#1 = Index<int{2},0>(n104D);
          int ix1068#4 = Add<int>(t10FEC,t2106A);
          int t2106D#4 = Index<int{2},1>(n104D);
          int iy106B#1 = Add<int>(t10FEC,t2106D);
          addr(IMAGE2D<int>) a106E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy106B);
          real4 v0104F#1 = LoadVoxels<IMAGE2D<int>,4>(a106E);
          int iy1064#1 = Add<int>(_t0FB3,t2106D);
          addr(IMAGE2D<int>) a1067#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy1064);
          real4 v11050#1 = LoadVoxels<IMAGE2D<int>,4>(a1067);
          int iy105D#1 = Add<int>(_t0FB7,t2106D);
          addr(IMAGE2D<int>) a1060#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy105D);
          real4 v21051#1 = LoadVoxels<IMAGE2D<int>,4>(a1060);
          int iy1056#1 = Add<int>(_t0F8F,t2106D);
          addr(IMAGE2D<int>) a1059#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy1056);
          real4 v31052#1 = LoadVoxels<IMAGE2D<int>,4>(a1059);
          real fy107A#5 = Index<real2,1>(f104B);
          real t3107F#1 = Add<real>(fy107A,_t0F8B);
          real t1107D#1 = Sub<real>(fy107A,_t0F8B);
          real t0107C#1 = Sub<real>(fy107A,_t0F8D);
          real4 a107B#1 = <real4>[t3107F,fy107A,t1107D,t0107C];
          real4 hy1070#1 = EvalKernel<4,bspln3,0>(a107B);
          real fx1071#5 = Index<real2,0>(f104B);
          real t31076#1 = Add<real>(fx1071,_t0F8B);
          real t11074#1 = Sub<real>(fx1071,_t0F8B);
          real t01073#1 = Sub<real>(fx1071,_t0F8D);
          real4 a1072#1 = <real4>[t31076,fx1071,t11074,t01073];
          real4 hx106F#4 = EvalKernel<4,bspln3,0>(a1072);
          real t01084#1 = Dot<4>(v0104F,hx106F);
          real t11085#1 = Dot<4>(v11050,hx106F);
          real t21086#1 = Dot<4>(v21051,hx106F);
          real t31087#1 = Dot<4>(v31052,hx106F);
          real4 tv1083#1 = <real4>[t01084,t11085,t21086,t31087];
          real _t1049#1 = Dot<4>(hy1070,tv1083);
          real _t10C6#2 = Sub<real>(_t0FCC,_t1049);
          real _t10C8#1 = Mul<real>(_t10C6,_t10C6);
          real score10CA#1 = Add<real>(score0F89,_t10C8);
          goto JOIN10CD
        JOIN10CD:  preds = [ASSIGN10CB,COND0FCB]
          real score10CC#2 = phi(score10CA,score0F89)
          real _t10CE#1 = Dot<2>(r00FA5,v010F09);
          real _t10D0#1 = Dot<2>(r10FAB,v010F09);
          real2 _t10D2#1 = <real2>[_t10CE,_t10D0];
          real2 pos10D4#2 = Add<real2>(_t10D2,_t0FBB);
          real2 x10D7#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos10D4);
          bool _t10D6#1 = Inside<IMAGE2D<float>,2>(x10D7,_t0EFD);
          if _t10D6 then goto ASSIGN10DD else goto ASSIGN308B
        ASSIGN10DD:  preds = [COND10DA]
          real2 x10DC#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v010F09);
          bool _t10DB#1 = Inside<IMAGE2D<int>,2>(x10DC,_t0EF9);
          goto JOIN10E1
        JOIN10E1:  preds = [ASSIGN10DE,ASSIGN308B]
          bool _t10DF#1 = phi(_t10DB,_t10E0)
          if _t10DF then goto ASSIGN30C0 else goto JOIN11E4
        ASSIGN30C0:  preds = [COND10E2]
          real2 nd10E6#2 = Floor<2>(x10D7);
          real2 f10E5#2 = Sub<real2>(x10D7,nd10E6);
          int{2} n10E7#8 = RealToInt<2>(nd10E6);
          int t11103#4 = -1;
          int t21104#1 = Index<int{2},0>(n10E7);
          int ix1102#4 = Add<int>(t11103,t21104);
          int t21107#4 = Index<int{2},1>(n10E7);
          int iy1105#1 = Add<int>(t11103,t21107);
          addr(IMAGE2D<float>) a1108#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy1105);
          real4 v010E9#1 = LoadVoxels<IMAGE2D<float>,4>(a1108);
          int iy10FE#1 = Add<int>(_t0FB3,t21107);
          addr(IMAGE2D<float>) a1101#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy10FE);
          real4 v110EA#1 = LoadVoxels<IMAGE2D<float>,4>(a1101);
          int iy10F7#1 = Add<int>(_t0FB7,t21107);
          addr(IMAGE2D<float>) a10FA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy10F7);
          real4 v210EB#1 = LoadVoxels<IMAGE2D<float>,4>(a10FA);
          int iy10F0#1 = Add<int>(_t0F8F,t21107);
          addr(IMAGE2D<float>) a10F3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy10F0);
          real4 v310EC#1 = LoadVoxels<IMAGE2D<float>,4>(a10F3);
          real fy1114#5 = Index<real2,1>(f10E5);
          real t31119#1 = Add<real>(fy1114,_t0F8B);
          real t11117#1 = Sub<real>(fy1114,_t0F8B);
          real t01116#1 = Sub<real>(fy1114,_t0F8D);
          real4 a1115#1 = <real4>[t31119,fy1114,t11117,t01116];
          real4 hy110A#1 = EvalKernel<4,bspln3,0>(a1115);
          real fx110B#5 = Index<real2,0>(f10E5);
          real t31110#1 = Add<real>(fx110B,_t0F8B);
          real t1110E#1 = Sub<real>(fx110B,_t0F8B);
          real t0110D#1 = Sub<real>(fx110B,_t0F8D);
          real4 a110C#1 = <real4>[t31110,fx110B,t1110E,t0110D];
          real4 hx1109#4 = EvalKernel<4,bspln3,0>(a110C);
          real t0111E#1 = Dot<4>(v010E9,hx1109);
          real t1111F#1 = Dot<4>(v110EA,hx1109);
          real t21120#1 = Dot<4>(v210EB,hx1109);
          real t31121#1 = Dot<4>(v310EC,hx1109);
          real4 tv111D#1 = <real4>[t0111E,t1111F,t21120,t31121];
          real _t10E3#1 = Dot<4>(hy110A,tv111D);
          real2 x1161#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v010F09);
          real2 nd1163#2 = Floor<2>(x1161);
          real2 f1162#2 = Sub<real2>(x1161,nd1163);
          int{2} n1164#8 = RealToInt<2>(nd1163);
          int t21181#1 = Index<int{2},0>(n1164);
          int ix117F#4 = Add<int>(t11103,t21181);
          int t21184#4 = Index<int{2},1>(n1164);
          int iy1182#1 = Add<int>(t11103,t21184);
          addr(IMAGE2D<int>) a1185#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy1182);
          real4 v01166#1 = LoadVoxels<IMAGE2D<int>,4>(a1185);
          int iy117B#1 = Add<int>(_t0FB3,t21184);
          addr(IMAGE2D<int>) a117E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy117B);
          real4 v11167#1 = LoadVoxels<IMAGE2D<int>,4>(a117E);
          int iy1174#1 = Add<int>(_t0FB7,t21184);
          addr(IMAGE2D<int>) a1177#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy1174);
          real4 v21168#1 = LoadVoxels<IMAGE2D<int>,4>(a1177);
          int iy116D#1 = Add<int>(_t0F8F,t21184);
          addr(IMAGE2D<int>) a1170#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy116D);
          real4 v31169#1 = LoadVoxels<IMAGE2D<int>,4>(a1170);
          real fy1191#5 = Index<real2,1>(f1162);
          real t31196#1 = Add<real>(fy1191,_t0F8B);
          real t11194#1 = Sub<real>(fy1191,_t0F8B);
          real t01193#1 = Sub<real>(fy1191,_t0F8D);
          real4 a1192#1 = <real4>[t31196,fy1191,t11194,t01193];
          real4 hy1187#1 = EvalKernel<4,bspln3,0>(a1192);
          real fx1188#5 = Index<real2,0>(f1162);
          real t3118D#1 = Add<real>(fx1188,_t0F8B);
          real t1118B#1 = Sub<real>(fx1188,_t0F8B);
          real t0118A#1 = Sub<real>(fx1188,_t0F8D);
          real4 a1189#1 = <real4>[t3118D,fx1188,t1118B,t0118A];
          real4 hx1186#4 = EvalKernel<4,bspln3,0>(a1189);
          real t0119B#1 = Dot<4>(v01166,hx1186);
          real t1119C#1 = Dot<4>(v11167,hx1186);
          real t2119D#1 = Dot<4>(v21168,hx1186);
          real t3119E#1 = Dot<4>(v31169,hx1186);
          real4 tv119A#1 = <real4>[t0119B,t1119C,t2119D,t3119E];
          real _t1160#1 = Dot<4>(hy1187,tv119A);
          real _t11DD#2 = Sub<real>(_t10E3,_t1160);
          real _t11DF#1 = Mul<real>(_t11DD,_t11DD);
          real score11E1#1 = Add<real>(score10CC,_t11DF);
          goto JOIN11E4
        JOIN11E4:  preds = [ASSIGN11E2,COND10E2]
          real score11E3#2 = phi(score11E1,score10CC)
          real _t11E5#1 = Dot<2>(r00FA5,v020F0D);
          real _t11E7#1 = Dot<2>(r10FAB,v020F0D);
          real2 _t11E9#1 = <real2>[_t11E5,_t11E7];
          real2 pos11EB#2 = Add<real2>(_t11E9,_t0FBB);
          real2 x11EE#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos11EB);
          bool _t11ED#1 = Inside<IMAGE2D<float>,2>(x11EE,_t0EFD);
          if _t11ED then goto ASSIGN11F4 else goto ASSIGN308A
        ASSIGN11F4:  preds = [COND11F1]
          real2 x11F3#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v020F0D);
          bool _t11F2#1 = Inside<IMAGE2D<int>,2>(x11F3,_t0EF9);
          goto JOIN11F8
        JOIN11F8:  preds = [ASSIGN11F5,ASSIGN308A]
          bool _t11F6#1 = phi(_t11F2,_t11F7)
          if _t11F6 then goto ASSIGN30E1 else goto JOIN12FB
        ASSIGN30E1:  preds = [COND11F9]
          real2 nd11FD#2 = Floor<2>(x11EE);
          real2 f11FC#2 = Sub<real2>(x11EE,nd11FD);
          int{2} n11FE#8 = RealToInt<2>(nd11FD);
          int t1121A#4 = -1;
          int t2121B#1 = Index<int{2},0>(n11FE);
          int ix1219#4 = Add<int>(t1121A,t2121B);
          int t2121E#4 = Index<int{2},1>(n11FE);
          int iy121C#1 = Add<int>(t1121A,t2121E);
          addr(IMAGE2D<float>) a121F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy121C);
          real4 v01200#1 = LoadVoxels<IMAGE2D<float>,4>(a121F);
          int iy1215#1 = Add<int>(_t0FB3,t2121E);
          addr(IMAGE2D<float>) a1218#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy1215);
          real4 v11201#1 = LoadVoxels<IMAGE2D<float>,4>(a1218);
          int iy120E#1 = Add<int>(_t0FB7,t2121E);
          addr(IMAGE2D<float>) a1211#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy120E);
          real4 v21202#1 = LoadVoxels<IMAGE2D<float>,4>(a1211);
          int iy1207#1 = Add<int>(_t0F8F,t2121E);
          addr(IMAGE2D<float>) a120A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy1207);
          real4 v31203#1 = LoadVoxels<IMAGE2D<float>,4>(a120A);
          real fy122B#5 = Index<real2,1>(f11FC);
          real t31230#1 = Add<real>(fy122B,_t0F8B);
          real t1122E#1 = Sub<real>(fy122B,_t0F8B);
          real t0122D#1 = Sub<real>(fy122B,_t0F8D);
          real4 a122C#1 = <real4>[t31230,fy122B,t1122E,t0122D];
          real4 hy1221#1 = EvalKernel<4,bspln3,0>(a122C);
          real fx1222#5 = Index<real2,0>(f11FC);
          real t31227#1 = Add<real>(fx1222,_t0F8B);
          real t11225#1 = Sub<real>(fx1222,_t0F8B);
          real t01224#1 = Sub<real>(fx1222,_t0F8D);
          real4 a1223#1 = <real4>[t31227,fx1222,t11225,t01224];
          real4 hx1220#4 = EvalKernel<4,bspln3,0>(a1223);
          real t01235#1 = Dot<4>(v01200,hx1220);
          real t11236#1 = Dot<4>(v11201,hx1220);
          real t21237#1 = Dot<4>(v21202,hx1220);
          real t31238#1 = Dot<4>(v31203,hx1220);
          real4 tv1234#1 = <real4>[t01235,t11236,t21237,t31238];
          real _t11FA#1 = Dot<4>(hy1221,tv1234);
          real2 x1278#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v020F0D);
          real2 nd127A#2 = Floor<2>(x1278);
          real2 f1279#2 = Sub<real2>(x1278,nd127A);
          int{2} n127B#8 = RealToInt<2>(nd127A);
          int t21298#1 = Index<int{2},0>(n127B);
          int ix1296#4 = Add<int>(t1121A,t21298);
          int t2129B#4 = Index<int{2},1>(n127B);
          int iy1299#1 = Add<int>(t1121A,t2129B);
          addr(IMAGE2D<int>) a129C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy1299);
          real4 v0127D#1 = LoadVoxels<IMAGE2D<int>,4>(a129C);
          int iy1292#1 = Add<int>(_t0FB3,t2129B);
          addr(IMAGE2D<int>) a1295#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy1292);
          real4 v1127E#1 = LoadVoxels<IMAGE2D<int>,4>(a1295);
          int iy128B#1 = Add<int>(_t0FB7,t2129B);
          addr(IMAGE2D<int>) a128E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy128B);
          real4 v2127F#1 = LoadVoxels<IMAGE2D<int>,4>(a128E);
          int iy1284#1 = Add<int>(_t0F8F,t2129B);
          addr(IMAGE2D<int>) a1287#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy1284);
          real4 v31280#1 = LoadVoxels<IMAGE2D<int>,4>(a1287);
          real fy12A8#5 = Index<real2,1>(f1279);
          real t312AD#1 = Add<real>(fy12A8,_t0F8B);
          real t112AB#1 = Sub<real>(fy12A8,_t0F8B);
          real t012AA#1 = Sub<real>(fy12A8,_t0F8D);
          real4 a12A9#1 = <real4>[t312AD,fy12A8,t112AB,t012AA];
          real4 hy129E#1 = EvalKernel<4,bspln3,0>(a12A9);
          real fx129F#5 = Index<real2,0>(f1279);
          real t312A4#1 = Add<real>(fx129F,_t0F8B);
          real t112A2#1 = Sub<real>(fx129F,_t0F8B);
          real t012A1#1 = Sub<real>(fx129F,_t0F8D);
          real4 a12A0#1 = <real4>[t312A4,fx129F,t112A2,t012A1];
          real4 hx129D#4 = EvalKernel<4,bspln3,0>(a12A0);
          real t012B2#1 = Dot<4>(v0127D,hx129D);
          real t112B3#1 = Dot<4>(v1127E,hx129D);
          real t212B4#1 = Dot<4>(v2127F,hx129D);
          real t312B5#1 = Dot<4>(v31280,hx129D);
          real4 tv12B1#1 = <real4>[t012B2,t112B3,t212B4,t312B5];
          real _t1277#1 = Dot<4>(hy129E,tv12B1);
          real _t12F4#2 = Sub<real>(_t11FA,_t1277);
          real _t12F6#1 = Mul<real>(_t12F4,_t12F4);
          real score12F8#1 = Add<real>(score11E3,_t12F6);
          goto JOIN12FB
        JOIN12FB:  preds = [ASSIGN12F9,COND11F9]
          real score12FA#2 = phi(score12F8,score11E3)
          real _t12FC#1 = Dot<2>(r00FA5,v030F0F);
          real _t12FE#1 = Dot<2>(r10FAB,v030F0F);
          real2 _t1300#1 = <real2>[_t12FC,_t12FE];
          real2 pos1302#2 = Add<real2>(_t1300,_t0FBB);
          real2 x1305#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1302);
          bool _t1304#1 = Inside<IMAGE2D<float>,2>(x1305,_t0EFD);
          if _t1304 then goto ASSIGN130B else goto ASSIGN3089
        ASSIGN130B:  preds = [COND1308]
          real2 x130A#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v030F0F);
          bool _t1309#1 = Inside<IMAGE2D<int>,2>(x130A,_t0EF9);
          goto JOIN130F
        JOIN130F:  preds = [ASSIGN130C,ASSIGN3089]
          bool _t130D#1 = phi(_t1309,_t130E)
          if _t130D then goto ASSIGN3102 else goto JOIN1412
        ASSIGN3102:  preds = [COND1310]
          real2 nd1314#2 = Floor<2>(x1305);
          real2 f1313#2 = Sub<real2>(x1305,nd1314);
          int{2} n1315#8 = RealToInt<2>(nd1314);
          int t11331#4 = -1;
          int t21332#1 = Index<int{2},0>(n1315);
          int ix1330#4 = Add<int>(t11331,t21332);
          int t21335#4 = Index<int{2},1>(n1315);
          int iy1333#1 = Add<int>(t11331,t21335);
          addr(IMAGE2D<float>) a1336#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy1333);
          real4 v01317#1 = LoadVoxels<IMAGE2D<float>,4>(a1336);
          int iy132C#1 = Add<int>(_t0FB3,t21335);
          addr(IMAGE2D<float>) a132F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy132C);
          real4 v11318#1 = LoadVoxels<IMAGE2D<float>,4>(a132F);
          int iy1325#1 = Add<int>(_t0FB7,t21335);
          addr(IMAGE2D<float>) a1328#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy1325);
          real4 v21319#1 = LoadVoxels<IMAGE2D<float>,4>(a1328);
          int iy131E#1 = Add<int>(_t0F8F,t21335);
          addr(IMAGE2D<float>) a1321#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy131E);
          real4 v3131A#1 = LoadVoxels<IMAGE2D<float>,4>(a1321);
          real fy1342#5 = Index<real2,1>(f1313);
          real t31347#1 = Add<real>(fy1342,_t0F8B);
          real t11345#1 = Sub<real>(fy1342,_t0F8B);
          real t01344#1 = Sub<real>(fy1342,_t0F8D);
          real4 a1343#1 = <real4>[t31347,fy1342,t11345,t01344];
          real4 hy1338#1 = EvalKernel<4,bspln3,0>(a1343);
          real fx1339#5 = Index<real2,0>(f1313);
          real t3133E#1 = Add<real>(fx1339,_t0F8B);
          real t1133C#1 = Sub<real>(fx1339,_t0F8B);
          real t0133B#1 = Sub<real>(fx1339,_t0F8D);
          real4 a133A#1 = <real4>[t3133E,fx1339,t1133C,t0133B];
          real4 hx1337#4 = EvalKernel<4,bspln3,0>(a133A);
          real t0134C#1 = Dot<4>(v01317,hx1337);
          real t1134D#1 = Dot<4>(v11318,hx1337);
          real t2134E#1 = Dot<4>(v21319,hx1337);
          real t3134F#1 = Dot<4>(v3131A,hx1337);
          real4 tv134B#1 = <real4>[t0134C,t1134D,t2134E,t3134F];
          real _t1311#1 = Dot<4>(hy1338,tv134B);
          real2 x138F#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v030F0F);
          real2 nd1391#2 = Floor<2>(x138F);
          real2 f1390#2 = Sub<real2>(x138F,nd1391);
          int{2} n1392#8 = RealToInt<2>(nd1391);
          int t213AF#1 = Index<int{2},0>(n1392);
          int ix13AD#4 = Add<int>(t11331,t213AF);
          int t213B2#4 = Index<int{2},1>(n1392);
          int iy13B0#1 = Add<int>(t11331,t213B2);
          addr(IMAGE2D<int>) a13B3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy13B0);
          real4 v01394#1 = LoadVoxels<IMAGE2D<int>,4>(a13B3);
          int iy13A9#1 = Add<int>(_t0FB3,t213B2);
          addr(IMAGE2D<int>) a13AC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy13A9);
          real4 v11395#1 = LoadVoxels<IMAGE2D<int>,4>(a13AC);
          int iy13A2#1 = Add<int>(_t0FB7,t213B2);
          addr(IMAGE2D<int>) a13A5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy13A2);
          real4 v21396#1 = LoadVoxels<IMAGE2D<int>,4>(a13A5);
          int iy139B#1 = Add<int>(_t0F8F,t213B2);
          addr(IMAGE2D<int>) a139E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy139B);
          real4 v31397#1 = LoadVoxels<IMAGE2D<int>,4>(a139E);
          real fy13BF#5 = Index<real2,1>(f1390);
          real t313C4#1 = Add<real>(fy13BF,_t0F8B);
          real t113C2#1 = Sub<real>(fy13BF,_t0F8B);
          real t013C1#1 = Sub<real>(fy13BF,_t0F8D);
          real4 a13C0#1 = <real4>[t313C4,fy13BF,t113C2,t013C1];
          real4 hy13B5#1 = EvalKernel<4,bspln3,0>(a13C0);
          real fx13B6#5 = Index<real2,0>(f1390);
          real t313BB#1 = Add<real>(fx13B6,_t0F8B);
          real t113B9#1 = Sub<real>(fx13B6,_t0F8B);
          real t013B8#1 = Sub<real>(fx13B6,_t0F8D);
          real4 a13B7#1 = <real4>[t313BB,fx13B6,t113B9,t013B8];
          real4 hx13B4#4 = EvalKernel<4,bspln3,0>(a13B7);
          real t013C9#1 = Dot<4>(v01394,hx13B4);
          real t113CA#1 = Dot<4>(v11395,hx13B4);
          real t213CB#1 = Dot<4>(v21396,hx13B4);
          real t313CC#1 = Dot<4>(v31397,hx13B4);
          real4 tv13C8#1 = <real4>[t013C9,t113CA,t213CB,t313CC];
          real _t138E#1 = Dot<4>(hy13B5,tv13C8);
          real _t140B#2 = Sub<real>(_t1311,_t138E);
          real _t140D#1 = Mul<real>(_t140B,_t140B);
          real score140F#1 = Add<real>(score12FA,_t140D);
          goto JOIN1412
        JOIN1412:  preds = [ASSIGN1410,COND1310]
          real score1411#2 = phi(score140F,score12FA)
          real _t1413#1 = Dot<2>(r00FA5,v040F11);
          real _t1415#1 = Dot<2>(r10FAB,v040F11);
          real2 _t1417#1 = <real2>[_t1413,_t1415];
          real2 pos1419#2 = Add<real2>(_t1417,_t0FBB);
          real2 x141C#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1419);
          bool _t141B#1 = Inside<IMAGE2D<float>,2>(x141C,_t0EFD);
          if _t141B then goto ASSIGN1422 else goto ASSIGN3088
        ASSIGN1422:  preds = [COND141F]
          real2 x1421#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v040F11);
          bool _t1420#1 = Inside<IMAGE2D<int>,2>(x1421,_t0EF9);
          goto JOIN1426
        JOIN1426:  preds = [ASSIGN1423,ASSIGN3088]
          bool _t1424#1 = phi(_t1420,_t1425)
          if _t1424 then goto ASSIGN3123 else goto JOIN1529
        ASSIGN3123:  preds = [COND1427]
          real2 nd142B#2 = Floor<2>(x141C);
          real2 f142A#2 = Sub<real2>(x141C,nd142B);
          int{2} n142C#8 = RealToInt<2>(nd142B);
          int t11448#4 = -1;
          int t21449#1 = Index<int{2},0>(n142C);
          int ix1447#4 = Add<int>(t11448,t21449);
          int t2144C#4 = Index<int{2},1>(n142C);
          int iy144A#1 = Add<int>(t11448,t2144C);
          addr(IMAGE2D<float>) a144D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy144A);
          real4 v0142E#1 = LoadVoxels<IMAGE2D<float>,4>(a144D);
          int iy1443#1 = Add<int>(_t0FB3,t2144C);
          addr(IMAGE2D<float>) a1446#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy1443);
          real4 v1142F#1 = LoadVoxels<IMAGE2D<float>,4>(a1446);
          int iy143C#1 = Add<int>(_t0FB7,t2144C);
          addr(IMAGE2D<float>) a143F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy143C);
          real4 v21430#1 = LoadVoxels<IMAGE2D<float>,4>(a143F);
          int iy1435#1 = Add<int>(_t0F8F,t2144C);
          addr(IMAGE2D<float>) a1438#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy1435);
          real4 v31431#1 = LoadVoxels<IMAGE2D<float>,4>(a1438);
          real fy1459#5 = Index<real2,1>(f142A);
          real t3145E#1 = Add<real>(fy1459,_t0F8B);
          real t1145C#1 = Sub<real>(fy1459,_t0F8B);
          real t0145B#1 = Sub<real>(fy1459,_t0F8D);
          real4 a145A#1 = <real4>[t3145E,fy1459,t1145C,t0145B];
          real4 hy144F#1 = EvalKernel<4,bspln3,0>(a145A);
          real fx1450#5 = Index<real2,0>(f142A);
          real t31455#1 = Add<real>(fx1450,_t0F8B);
          real t11453#1 = Sub<real>(fx1450,_t0F8B);
          real t01452#1 = Sub<real>(fx1450,_t0F8D);
          real4 a1451#1 = <real4>[t31455,fx1450,t11453,t01452];
          real4 hx144E#4 = EvalKernel<4,bspln3,0>(a1451);
          real t01463#1 = Dot<4>(v0142E,hx144E);
          real t11464#1 = Dot<4>(v1142F,hx144E);
          real t21465#1 = Dot<4>(v21430,hx144E);
          real t31466#1 = Dot<4>(v31431,hx144E);
          real4 tv1462#1 = <real4>[t01463,t11464,t21465,t31466];
          real _t1428#1 = Dot<4>(hy144F,tv1462);
          real2 x14A6#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v040F11);
          real2 nd14A8#2 = Floor<2>(x14A6);
          real2 f14A7#2 = Sub<real2>(x14A6,nd14A8);
          int{2} n14A9#8 = RealToInt<2>(nd14A8);
          int t214C6#1 = Index<int{2},0>(n14A9);
          int ix14C4#4 = Add<int>(t11448,t214C6);
          int t214C9#4 = Index<int{2},1>(n14A9);
          int iy14C7#1 = Add<int>(t11448,t214C9);
          addr(IMAGE2D<int>) a14CA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14C7);
          real4 v014AB#1 = LoadVoxels<IMAGE2D<int>,4>(a14CA);
          int iy14C0#1 = Add<int>(_t0FB3,t214C9);
          addr(IMAGE2D<int>) a14C3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14C0);
          real4 v114AC#1 = LoadVoxels<IMAGE2D<int>,4>(a14C3);
          int iy14B9#1 = Add<int>(_t0FB7,t214C9);
          addr(IMAGE2D<int>) a14BC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14B9);
          real4 v214AD#1 = LoadVoxels<IMAGE2D<int>,4>(a14BC);
          int iy14B2#1 = Add<int>(_t0F8F,t214C9);
          addr(IMAGE2D<int>) a14B5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14B2);
          real4 v314AE#1 = LoadVoxels<IMAGE2D<int>,4>(a14B5);
          real fy14D6#5 = Index<real2,1>(f14A7);
          real t314DB#1 = Add<real>(fy14D6,_t0F8B);
          real t114D9#1 = Sub<real>(fy14D6,_t0F8B);
          real t014D8#1 = Sub<real>(fy14D6,_t0F8D);
          real4 a14D7#1 = <real4>[t314DB,fy14D6,t114D9,t014D8];
          real4 hy14CC#1 = EvalKernel<4,bspln3,0>(a14D7);
          real fx14CD#5 = Index<real2,0>(f14A7);
          real t314D2#1 = Add<real>(fx14CD,_t0F8B);
          real t114D0#1 = Sub<real>(fx14CD,_t0F8B);
          real t014CF#1 = Sub<real>(fx14CD,_t0F8D);
          real4 a14CE#1 = <real4>[t314D2,fx14CD,t114D0,t014CF];
          real4 hx14CB#4 = EvalKernel<4,bspln3,0>(a14CE);
          real t014E0#1 = Dot<4>(v014AB,hx14CB);
          real t114E1#1 = Dot<4>(v114AC,hx14CB);
          real t214E2#1 = Dot<4>(v214AD,hx14CB);
          real t314E3#1 = Dot<4>(v314AE,hx14CB);
          real4 tv14DF#1 = <real4>[t014E0,t114E1,t214E2,t314E3];
          real _t14A5#1 = Dot<4>(hy14CC,tv14DF);
          real _t1522#2 = Sub<real>(_t1428,_t14A5);
          real _t1524#1 = Mul<real>(_t1522,_t1522);
          real score1526#1 = Add<real>(score1411,_t1524);
          goto JOIN1529
        JOIN1529:  preds = [ASSIGN1527,COND1427]
          real score1528#2 = phi(score1526,score1411)
          real _t152A#1 = Dot<2>(r00FA5,v050F17);
          real _t152C#1 = Dot<2>(r10FAB,v050F17);
          real2 _t152E#1 = <real2>[_t152A,_t152C];
          real2 pos1530#2 = Add<real2>(_t152E,_t0FBB);
          real2 x1533#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1530);
          bool _t1532#1 = Inside<IMAGE2D<float>,2>(x1533,_t0EFD);
          if _t1532 then goto ASSIGN1539 else goto ASSIGN3087
        ASSIGN1539:  preds = [COND1536]
          real2 x1538#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v050F17);
          bool _t1537#1 = Inside<IMAGE2D<int>,2>(x1538,_t0EF9);
          goto JOIN153D
        JOIN153D:  preds = [ASSIGN153A,ASSIGN3087]
          bool _t153B#1 = phi(_t1537,_t153C)
          if _t153B then goto ASSIGN3144 else goto JOIN1640
        ASSIGN3144:  preds = [COND153E]
          real2 nd1542#2 = Floor<2>(x1533);
          real2 f1541#2 = Sub<real2>(x1533,nd1542);
          int{2} n1543#8 = RealToInt<2>(nd1542);
          int t1155F#4 = -1;
          int t21560#1 = Index<int{2},0>(n1543);
          int ix155E#4 = Add<int>(t1155F,t21560);
          int t21563#4 = Index<int{2},1>(n1543);
          int iy1561#1 = Add<int>(t1155F,t21563);
          addr(IMAGE2D<float>) a1564#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy1561);
          real4 v01545#1 = LoadVoxels<IMAGE2D<float>,4>(a1564);
          int iy155A#1 = Add<int>(_t0FB3,t21563);
          addr(IMAGE2D<float>) a155D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy155A);
          real4 v11546#1 = LoadVoxels<IMAGE2D<float>,4>(a155D);
          int iy1553#1 = Add<int>(_t0FB7,t21563);
          addr(IMAGE2D<float>) a1556#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy1553);
          real4 v21547#1 = LoadVoxels<IMAGE2D<float>,4>(a1556);
          int iy154C#1 = Add<int>(_t0F8F,t21563);
          addr(IMAGE2D<float>) a154F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy154C);
          real4 v31548#1 = LoadVoxels<IMAGE2D<float>,4>(a154F);
          real fy1570#5 = Index<real2,1>(f1541);
          real t31575#1 = Add<real>(fy1570,_t0F8B);
          real t11573#1 = Sub<real>(fy1570,_t0F8B);
          real t01572#1 = Sub<real>(fy1570,_t0F8D);
          real4 a1571#1 = <real4>[t31575,fy1570,t11573,t01572];
          real4 hy1566#1 = EvalKernel<4,bspln3,0>(a1571);
          real fx1567#5 = Index<real2,0>(f1541);
          real t3156C#1 = Add<real>(fx1567,_t0F8B);
          real t1156A#1 = Sub<real>(fx1567,_t0F8B);
          real t01569#1 = Sub<real>(fx1567,_t0F8D);
          real4 a1568#1 = <real4>[t3156C,fx1567,t1156A,t01569];
          real4 hx1565#4 = EvalKernel<4,bspln3,0>(a1568);
          real t0157A#1 = Dot<4>(v01545,hx1565);
          real t1157B#1 = Dot<4>(v11546,hx1565);
          real t2157C#1 = Dot<4>(v21547,hx1565);
          real t3157D#1 = Dot<4>(v31548,hx1565);
          real4 tv1579#1 = <real4>[t0157A,t1157B,t2157C,t3157D];
          real _t153F#1 = Dot<4>(hy1566,tv1579);
          real2 x15BD#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v050F17);
          real2 nd15BF#2 = Floor<2>(x15BD);
          real2 f15BE#2 = Sub<real2>(x15BD,nd15BF);
          int{2} n15C0#8 = RealToInt<2>(nd15BF);
          int t215DD#1 = Index<int{2},0>(n15C0);
          int ix15DB#4 = Add<int>(t1155F,t215DD);
          int t215E0#4 = Index<int{2},1>(n15C0);
          int iy15DE#1 = Add<int>(t1155F,t215E0);
          addr(IMAGE2D<int>) a15E1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15DE);
          real4 v015C2#1 = LoadVoxels<IMAGE2D<int>,4>(a15E1);
          int iy15D7#1 = Add<int>(_t0FB3,t215E0);
          addr(IMAGE2D<int>) a15DA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15D7);
          real4 v115C3#1 = LoadVoxels<IMAGE2D<int>,4>(a15DA);
          int iy15D0#1 = Add<int>(_t0FB7,t215E0);
          addr(IMAGE2D<int>) a15D3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15D0);
          real4 v215C4#1 = LoadVoxels<IMAGE2D<int>,4>(a15D3);
          int iy15C9#1 = Add<int>(_t0F8F,t215E0);
          addr(IMAGE2D<int>) a15CC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15C9);
          real4 v315C5#1 = LoadVoxels<IMAGE2D<int>,4>(a15CC);
          real fy15ED#5 = Index<real2,1>(f15BE);
          real t315F2#1 = Add<real>(fy15ED,_t0F8B);
          real t115F0#1 = Sub<real>(fy15ED,_t0F8B);
          real t015EF#1 = Sub<real>(fy15ED,_t0F8D);
          real4 a15EE#1 = <real4>[t315F2,fy15ED,t115F0,t015EF];
          real4 hy15E3#1 = EvalKernel<4,bspln3,0>(a15EE);
          real fx15E4#5 = Index<real2,0>(f15BE);
          real t315E9#1 = Add<real>(fx15E4,_t0F8B);
          real t115E7#1 = Sub<real>(fx15E4,_t0F8B);
          real t015E6#1 = Sub<real>(fx15E4,_t0F8D);
          real4 a15E5#1 = <real4>[t315E9,fx15E4,t115E7,t015E6];
          real4 hx15E2#4 = EvalKernel<4,bspln3,0>(a15E5);
          real t015F7#1 = Dot<4>(v015C2,hx15E2);
          real t115F8#1 = Dot<4>(v115C3,hx15E2);
          real t215F9#1 = Dot<4>(v215C4,hx15E2);
          real t315FA#1 = Dot<4>(v315C5,hx15E2);
          real4 tv15F6#1 = <real4>[t015F7,t115F8,t215F9,t315FA];
          real _t15BC#1 = Dot<4>(hy15E3,tv15F6);
          real _t1639#2 = Sub<real>(_t153F,_t15BC);
          real _t163B#1 = Mul<real>(_t1639,_t1639);
          real score163D#1 = Add<real>(score1528,_t163B);
          goto JOIN1640
        JOIN1640:  preds = [ASSIGN163E,COND153E]
          real score163F#2 = phi(score163D,score1528)
          real _t1641#1 = Dot<2>(r00FA5,v060F19);
          real _t1643#1 = Dot<2>(r10FAB,v060F19);
          real2 _t1645#1 = <real2>[_t1641,_t1643];
          real2 pos1647#2 = Add<real2>(_t1645,_t0FBB);
          real2 x164A#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1647);
          bool _t1649#1 = Inside<IMAGE2D<float>,2>(x164A,_t0EFD);
          if _t1649 then goto ASSIGN1650 else goto ASSIGN3086
        ASSIGN1650:  preds = [COND164D]
          real2 x164F#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v060F19);
          bool _t164E#1 = Inside<IMAGE2D<int>,2>(x164F,_t0EF9);
          goto JOIN1654
        JOIN1654:  preds = [ASSIGN1651,ASSIGN3086]
          bool _t1652#1 = phi(_t164E,_t1653)
          if _t1652 then goto ASSIGN3165 else goto JOIN1757
        ASSIGN3165:  preds = [COND1655]
          real2 nd1659#2 = Floor<2>(x164A);
          real2 f1658#2 = Sub<real2>(x164A,nd1659);
          int{2} n165A#8 = RealToInt<2>(nd1659);
          int t11676#4 = -1;
          int t21677#1 = Index<int{2},0>(n165A);
          int ix1675#4 = Add<int>(t11676,t21677);
          int t2167A#4 = Index<int{2},1>(n165A);
          int iy1678#1 = Add<int>(t11676,t2167A);
          addr(IMAGE2D<float>) a167B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy1678);
          real4 v0165C#1 = LoadVoxels<IMAGE2D<float>,4>(a167B);
          int iy1671#1 = Add<int>(_t0FB3,t2167A);
          addr(IMAGE2D<float>) a1674#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy1671);
          real4 v1165D#1 = LoadVoxels<IMAGE2D<float>,4>(a1674);
          int iy166A#1 = Add<int>(_t0FB7,t2167A);
          addr(IMAGE2D<float>) a166D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy166A);
          real4 v2165E#1 = LoadVoxels<IMAGE2D<float>,4>(a166D);
          int iy1663#1 = Add<int>(_t0F8F,t2167A);
          addr(IMAGE2D<float>) a1666#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy1663);
          real4 v3165F#1 = LoadVoxels<IMAGE2D<float>,4>(a1666);
          real fy1687#5 = Index<real2,1>(f1658);
          real t3168C#1 = Add<real>(fy1687,_t0F8B);
          real t1168A#1 = Sub<real>(fy1687,_t0F8B);
          real t01689#1 = Sub<real>(fy1687,_t0F8D);
          real4 a1688#1 = <real4>[t3168C,fy1687,t1168A,t01689];
          real4 hy167D#1 = EvalKernel<4,bspln3,0>(a1688);
          real fx167E#5 = Index<real2,0>(f1658);
          real t31683#1 = Add<real>(fx167E,_t0F8B);
          real t11681#1 = Sub<real>(fx167E,_t0F8B);
          real t01680#1 = Sub<real>(fx167E,_t0F8D);
          real4 a167F#1 = <real4>[t31683,fx167E,t11681,t01680];
          real4 hx167C#4 = EvalKernel<4,bspln3,0>(a167F);
          real t01691#1 = Dot<4>(v0165C,hx167C);
          real t11692#1 = Dot<4>(v1165D,hx167C);
          real t21693#1 = Dot<4>(v2165E,hx167C);
          real t31694#1 = Dot<4>(v3165F,hx167C);
          real4 tv1690#1 = <real4>[t01691,t11692,t21693,t31694];
          real _t1656#1 = Dot<4>(hy167D,tv1690);
          real2 x16D4#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v060F19);
          real2 nd16D6#2 = Floor<2>(x16D4);
          real2 f16D5#2 = Sub<real2>(x16D4,nd16D6);
          int{2} n16D7#8 = RealToInt<2>(nd16D6);
          int t216F4#1 = Index<int{2},0>(n16D7);
          int ix16F2#4 = Add<int>(t11676,t216F4);
          int t216F7#4 = Index<int{2},1>(n16D7);
          int iy16F5#1 = Add<int>(t11676,t216F7);
          addr(IMAGE2D<int>) a16F8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16F5);
          real4 v016D9#1 = LoadVoxels<IMAGE2D<int>,4>(a16F8);
          int iy16EE#1 = Add<int>(_t0FB3,t216F7);
          addr(IMAGE2D<int>) a16F1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16EE);
          real4 v116DA#1 = LoadVoxels<IMAGE2D<int>,4>(a16F1);
          int iy16E7#1 = Add<int>(_t0FB7,t216F7);
          addr(IMAGE2D<int>) a16EA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16E7);
          real4 v216DB#1 = LoadVoxels<IMAGE2D<int>,4>(a16EA);
          int iy16E0#1 = Add<int>(_t0F8F,t216F7);
          addr(IMAGE2D<int>) a16E3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16E0);
          real4 v316DC#1 = LoadVoxels<IMAGE2D<int>,4>(a16E3);
          real fy1704#5 = Index<real2,1>(f16D5);
          real t31709#1 = Add<real>(fy1704,_t0F8B);
          real t11707#1 = Sub<real>(fy1704,_t0F8B);
          real t01706#1 = Sub<real>(fy1704,_t0F8D);
          real4 a1705#1 = <real4>[t31709,fy1704,t11707,t01706];
          real4 hy16FA#1 = EvalKernel<4,bspln3,0>(a1705);
          real fx16FB#5 = Index<real2,0>(f16D5);
          real t31700#1 = Add<real>(fx16FB,_t0F8B);
          real t116FE#1 = Sub<real>(fx16FB,_t0F8B);
          real t016FD#1 = Sub<real>(fx16FB,_t0F8D);
          real4 a16FC#1 = <real4>[t31700,fx16FB,t116FE,t016FD];
          real4 hx16F9#4 = EvalKernel<4,bspln3,0>(a16FC);
          real t0170E#1 = Dot<4>(v016D9,hx16F9);
          real t1170F#1 = Dot<4>(v116DA,hx16F9);
          real t21710#1 = Dot<4>(v216DB,hx16F9);
          real t31711#1 = Dot<4>(v316DC,hx16F9);
          real4 tv170D#1 = <real4>[t0170E,t1170F,t21710,t31711];
          real _t16D3#1 = Dot<4>(hy16FA,tv170D);
          real _t1750#2 = Sub<real>(_t1656,_t16D3);
          real _t1752#1 = Mul<real>(_t1750,_t1750);
          real score1754#1 = Add<real>(score163F,_t1752);
          goto JOIN1757
        JOIN1757:  preds = [ASSIGN1755,COND1655]
          real score1756#2 = phi(score1754,score163F)
          real _t1758#1 = Dot<2>(r00FA5,v070F1B);
          real _t175A#1 = Dot<2>(r10FAB,v070F1B);
          real2 _t175C#1 = <real2>[_t1758,_t175A];
          real2 pos175E#2 = Add<real2>(_t175C,_t0FBB);
          real2 x1761#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos175E);
          bool _t1760#1 = Inside<IMAGE2D<float>,2>(x1761,_t0EFD);
          if _t1760 then goto ASSIGN1767 else goto ASSIGN3085
        ASSIGN1767:  preds = [COND1764]
          real2 x1766#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v070F1B);
          bool _t1765#1 = Inside<IMAGE2D<int>,2>(x1766,_t0EF9);
          goto JOIN176B
        JOIN176B:  preds = [ASSIGN1768,ASSIGN3085]
          bool _t1769#1 = phi(_t1765,_t176A)
          if _t1769 then goto ASSIGN3186 else goto JOIN186E
        ASSIGN3186:  preds = [COND176C]
          real2 nd1770#2 = Floor<2>(x1761);
          real2 f176F#2 = Sub<real2>(x1761,nd1770);
          int{2} n1771#8 = RealToInt<2>(nd1770);
          int t1178D#4 = -1;
          int t2178E#1 = Index<int{2},0>(n1771);
          int ix178C#4 = Add<int>(t1178D,t2178E);
          int t21791#4 = Index<int{2},1>(n1771);
          int iy178F#1 = Add<int>(t1178D,t21791);
          addr(IMAGE2D<float>) a1792#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy178F);
          real4 v01773#1 = LoadVoxels<IMAGE2D<float>,4>(a1792);
          int iy1788#1 = Add<int>(_t0FB3,t21791);
          addr(IMAGE2D<float>) a178B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy1788);
          real4 v11774#1 = LoadVoxels<IMAGE2D<float>,4>(a178B);
          int iy1781#1 = Add<int>(_t0FB7,t21791);
          addr(IMAGE2D<float>) a1784#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy1781);
          real4 v21775#1 = LoadVoxels<IMAGE2D<float>,4>(a1784);
          int iy177A#1 = Add<int>(_t0F8F,t21791);
          addr(IMAGE2D<float>) a177D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy177A);
          real4 v31776#1 = LoadVoxels<IMAGE2D<float>,4>(a177D);
          real fy179E#5 = Index<real2,1>(f176F);
          real t317A3#1 = Add<real>(fy179E,_t0F8B);
          real t117A1#1 = Sub<real>(fy179E,_t0F8B);
          real t017A0#1 = Sub<real>(fy179E,_t0F8D);
          real4 a179F#1 = <real4>[t317A3,fy179E,t117A1,t017A0];
          real4 hy1794#1 = EvalKernel<4,bspln3,0>(a179F);
          real fx1795#5 = Index<real2,0>(f176F);
          real t3179A#1 = Add<real>(fx1795,_t0F8B);
          real t11798#1 = Sub<real>(fx1795,_t0F8B);
          real t01797#1 = Sub<real>(fx1795,_t0F8D);
          real4 a1796#1 = <real4>[t3179A,fx1795,t11798,t01797];
          real4 hx1793#4 = EvalKernel<4,bspln3,0>(a1796);
          real t017A8#1 = Dot<4>(v01773,hx1793);
          real t117A9#1 = Dot<4>(v11774,hx1793);
          real t217AA#1 = Dot<4>(v21775,hx1793);
          real t317AB#1 = Dot<4>(v31776,hx1793);
          real4 tv17A7#1 = <real4>[t017A8,t117A9,t217AA,t317AB];
          real _t176D#1 = Dot<4>(hy1794,tv17A7);
          real2 x17EB#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v070F1B);
          real2 nd17ED#2 = Floor<2>(x17EB);
          real2 f17EC#2 = Sub<real2>(x17EB,nd17ED);
          int{2} n17EE#8 = RealToInt<2>(nd17ED);
          int t2180B#1 = Index<int{2},0>(n17EE);
          int ix1809#4 = Add<int>(t1178D,t2180B);
          int t2180E#4 = Index<int{2},1>(n17EE);
          int iy180C#1 = Add<int>(t1178D,t2180E);
          addr(IMAGE2D<int>) a180F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy180C);
          real4 v017F0#1 = LoadVoxels<IMAGE2D<int>,4>(a180F);
          int iy1805#1 = Add<int>(_t0FB3,t2180E);
          addr(IMAGE2D<int>) a1808#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy1805);
          real4 v117F1#1 = LoadVoxels<IMAGE2D<int>,4>(a1808);
          int iy17FE#1 = Add<int>(_t0FB7,t2180E);
          addr(IMAGE2D<int>) a1801#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy17FE);
          real4 v217F2#1 = LoadVoxels<IMAGE2D<int>,4>(a1801);
          int iy17F7#1 = Add<int>(_t0F8F,t2180E);
          addr(IMAGE2D<int>) a17FA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy17F7);
          real4 v317F3#1 = LoadVoxels<IMAGE2D<int>,4>(a17FA);
          real fy181B#5 = Index<real2,1>(f17EC);
          real t31820#1 = Add<real>(fy181B,_t0F8B);
          real t1181E#1 = Sub<real>(fy181B,_t0F8B);
          real t0181D#1 = Sub<real>(fy181B,_t0F8D);
          real4 a181C#1 = <real4>[t31820,fy181B,t1181E,t0181D];
          real4 hy1811#1 = EvalKernel<4,bspln3,0>(a181C);
          real fx1812#5 = Index<real2,0>(f17EC);
          real t31817#1 = Add<real>(fx1812,_t0F8B);
          real t11815#1 = Sub<real>(fx1812,_t0F8B);
          real t01814#1 = Sub<real>(fx1812,_t0F8D);
          real4 a1813#1 = <real4>[t31817,fx1812,t11815,t01814];
          real4 hx1810#4 = EvalKernel<4,bspln3,0>(a1813);
          real t01825#1 = Dot<4>(v017F0,hx1810);
          real t11826#1 = Dot<4>(v117F1,hx1810);
          real t21827#1 = Dot<4>(v217F2,hx1810);
          real t31828#1 = Dot<4>(v317F3,hx1810);
          real4 tv1824#1 = <real4>[t01825,t11826,t21827,t31828];
          real _t17EA#1 = Dot<4>(hy1811,tv1824);
          real _t1867#2 = Sub<real>(_t176D,_t17EA);
          real _t1869#1 = Mul<real>(_t1867,_t1867);
          real score186B#1 = Add<real>(score1756,_t1869);
          goto JOIN186E
        JOIN186E:  preds = [ASSIGN186C,COND176C]
          real score186D#2 = phi(score186B,score1756)
          real _t186F#1 = Dot<2>(r00FA5,v080F1D);
          real _t1871#1 = Dot<2>(r10FAB,v080F1D);
          real2 _t1873#1 = <real2>[_t186F,_t1871];
          real2 pos1875#2 = Add<real2>(_t1873,_t0FBB);
          real2 x1878#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1875);
          bool _t1877#1 = Inside<IMAGE2D<float>,2>(x1878,_t0EFD);
          if _t1877 then goto ASSIGN187E else goto ASSIGN3084
        ASSIGN187E:  preds = [COND187B]
          real2 x187D#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v080F1D);
          bool _t187C#1 = Inside<IMAGE2D<int>,2>(x187D,_t0EF9);
          goto JOIN1882
        JOIN1882:  preds = [ASSIGN187F,ASSIGN3084]
          bool _t1880#1 = phi(_t187C,_t1881)
          if _t1880 then goto ASSIGN31A7 else goto JOIN1985
        ASSIGN31A7:  preds = [COND1883]
          real2 nd1887#2 = Floor<2>(x1878);
          real2 f1886#2 = Sub<real2>(x1878,nd1887);
          int{2} n1888#8 = RealToInt<2>(nd1887);
          int t118A4#4 = -1;
          int t218A5#1 = Index<int{2},0>(n1888);
          int ix18A3#4 = Add<int>(t118A4,t218A5);
          int t218A8#4 = Index<int{2},1>(n1888);
          int iy18A6#1 = Add<int>(t118A4,t218A8);
          addr(IMAGE2D<float>) a18A9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy18A6);
          real4 v0188A#1 = LoadVoxels<IMAGE2D<float>,4>(a18A9);
          int iy189F#1 = Add<int>(_t0FB3,t218A8);
          addr(IMAGE2D<float>) a18A2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy189F);
          real4 v1188B#1 = LoadVoxels<IMAGE2D<float>,4>(a18A2);
          int iy1898#1 = Add<int>(_t0FB7,t218A8);
          addr(IMAGE2D<float>) a189B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy1898);
          real4 v2188C#1 = LoadVoxels<IMAGE2D<float>,4>(a189B);
          int iy1891#1 = Add<int>(_t0F8F,t218A8);
          addr(IMAGE2D<float>) a1894#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy1891);
          real4 v3188D#1 = LoadVoxels<IMAGE2D<float>,4>(a1894);
          real fy18B5#5 = Index<real2,1>(f1886);
          real t318BA#1 = Add<real>(fy18B5,_t0F8B);
          real t118B8#1 = Sub<real>(fy18B5,_t0F8B);
          real t018B7#1 = Sub<real>(fy18B5,_t0F8D);
          real4 a18B6#1 = <real4>[t318BA,fy18B5,t118B8,t018B7];
          real4 hy18AB#1 = EvalKernel<4,bspln3,0>(a18B6);
          real fx18AC#5 = Index<real2,0>(f1886);
          real t318B1#1 = Add<real>(fx18AC,_t0F8B);
          real t118AF#1 = Sub<real>(fx18AC,_t0F8B);
          real t018AE#1 = Sub<real>(fx18AC,_t0F8D);
          real4 a18AD#1 = <real4>[t318B1,fx18AC,t118AF,t018AE];
          real4 hx18AA#4 = EvalKernel<4,bspln3,0>(a18AD);
          real t018BF#1 = Dot<4>(v0188A,hx18AA);
          real t118C0#1 = Dot<4>(v1188B,hx18AA);
          real t218C1#1 = Dot<4>(v2188C,hx18AA);
          real t318C2#1 = Dot<4>(v3188D,hx18AA);
          real4 tv18BE#1 = <real4>[t018BF,t118C0,t218C1,t318C2];
          real _t1884#1 = Dot<4>(hy18AB,tv18BE);
          real2 x1902#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v080F1D);
          real2 nd1904#2 = Floor<2>(x1902);
          real2 f1903#2 = Sub<real2>(x1902,nd1904);
          int{2} n1905#8 = RealToInt<2>(nd1904);
          int t21922#1 = Index<int{2},0>(n1905);
          int ix1920#4 = Add<int>(t118A4,t21922);
          int t21925#4 = Index<int{2},1>(n1905);
          int iy1923#1 = Add<int>(t118A4,t21925);
          addr(IMAGE2D<int>) a1926#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy1923);
          real4 v01907#1 = LoadVoxels<IMAGE2D<int>,4>(a1926);
          int iy191C#1 = Add<int>(_t0FB3,t21925);
          addr(IMAGE2D<int>) a191F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy191C);
          real4 v11908#1 = LoadVoxels<IMAGE2D<int>,4>(a191F);
          int iy1915#1 = Add<int>(_t0FB7,t21925);
          addr(IMAGE2D<int>) a1918#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy1915);
          real4 v21909#1 = LoadVoxels<IMAGE2D<int>,4>(a1918);
          int iy190E#1 = Add<int>(_t0F8F,t21925);
          addr(IMAGE2D<int>) a1911#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy190E);
          real4 v3190A#1 = LoadVoxels<IMAGE2D<int>,4>(a1911);
          real fy1932#5 = Index<real2,1>(f1903);
          real t31937#1 = Add<real>(fy1932,_t0F8B);
          real t11935#1 = Sub<real>(fy1932,_t0F8B);
          real t01934#1 = Sub<real>(fy1932,_t0F8D);
          real4 a1933#1 = <real4>[t31937,fy1932,t11935,t01934];
          real4 hy1928#1 = EvalKernel<4,bspln3,0>(a1933);
          real fx1929#5 = Index<real2,0>(f1903);
          real t3192E#1 = Add<real>(fx1929,_t0F8B);
          real t1192C#1 = Sub<real>(fx1929,_t0F8B);
          real t0192B#1 = Sub<real>(fx1929,_t0F8D);
          real4 a192A#1 = <real4>[t3192E,fx1929,t1192C,t0192B];
          real4 hx1927#4 = EvalKernel<4,bspln3,0>(a192A);
          real t0193C#1 = Dot<4>(v01907,hx1927);
          real t1193D#1 = Dot<4>(v11908,hx1927);
          real t2193E#1 = Dot<4>(v21909,hx1927);
          real t3193F#1 = Dot<4>(v3190A,hx1927);
          real4 tv193B#1 = <real4>[t0193C,t1193D,t2193E,t3193F];
          real _t1901#1 = Dot<4>(hy1928,tv193B);
          real _t197E#2 = Sub<real>(_t1884,_t1901);
          real _t1980#1 = Mul<real>(_t197E,_t197E);
          real score1982#1 = Add<real>(score186D,_t1980);
          goto JOIN1985
        JOIN1985:  preds = [ASSIGN1983,COND1883]
          real score1984#2 = phi(score1982,score186D)
          real _t1986#1 = Dot<2>(r00FA5,v090F1F);
          real _t1988#1 = Dot<2>(r10FAB,v090F1F);
          real2 _t198A#1 = <real2>[_t1986,_t1988];
          real2 pos198C#2 = Add<real2>(_t198A,_t0FBB);
          real2 x198F#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos198C);
          bool _t198E#1 = Inside<IMAGE2D<float>,2>(x198F,_t0EFD);
          if _t198E then goto ASSIGN1995 else goto ASSIGN3083
        ASSIGN1995:  preds = [COND1992]
          real2 x1994#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v090F1F);
          bool _t1993#1 = Inside<IMAGE2D<int>,2>(x1994,_t0EF9);
          goto JOIN1999
        JOIN1999:  preds = [ASSIGN1996,ASSIGN3083]
          bool _t1997#1 = phi(_t1993,_t1998)
          if _t1997 then goto ASSIGN31C8 else goto JOIN1A9C
        ASSIGN31C8:  preds = [COND199A]
          real2 nd199E#2 = Floor<2>(x198F);
          real2 f199D#2 = Sub<real2>(x198F,nd199E);
          int{2} n199F#8 = RealToInt<2>(nd199E);
          int t119BB#4 = -1;
          int t219BC#1 = Index<int{2},0>(n199F);
          int ix19BA#4 = Add<int>(t119BB,t219BC);
          int t219BF#4 = Index<int{2},1>(n199F);
          int iy19BD#1 = Add<int>(t119BB,t219BF);
          addr(IMAGE2D<float>) a19C0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19BD);
          real4 v019A1#1 = LoadVoxels<IMAGE2D<float>,4>(a19C0);
          int iy19B6#1 = Add<int>(_t0FB3,t219BF);
          addr(IMAGE2D<float>) a19B9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19B6);
          real4 v119A2#1 = LoadVoxels<IMAGE2D<float>,4>(a19B9);
          int iy19AF#1 = Add<int>(_t0FB7,t219BF);
          addr(IMAGE2D<float>) a19B2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19AF);
          real4 v219A3#1 = LoadVoxels<IMAGE2D<float>,4>(a19B2);
          int iy19A8#1 = Add<int>(_t0F8F,t219BF);
          addr(IMAGE2D<float>) a19AB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19A8);
          real4 v319A4#1 = LoadVoxels<IMAGE2D<float>,4>(a19AB);
          real fy19CC#5 = Index<real2,1>(f199D);
          real t319D1#1 = Add<real>(fy19CC,_t0F8B);
          real t119CF#1 = Sub<real>(fy19CC,_t0F8B);
          real t019CE#1 = Sub<real>(fy19CC,_t0F8D);
          real4 a19CD#1 = <real4>[t319D1,fy19CC,t119CF,t019CE];
          real4 hy19C2#1 = EvalKernel<4,bspln3,0>(a19CD);
          real fx19C3#5 = Index<real2,0>(f199D);
          real t319C8#1 = Add<real>(fx19C3,_t0F8B);
          real t119C6#1 = Sub<real>(fx19C3,_t0F8B);
          real t019C5#1 = Sub<real>(fx19C3,_t0F8D);
          real4 a19C4#1 = <real4>[t319C8,fx19C3,t119C6,t019C5];
          real4 hx19C1#4 = EvalKernel<4,bspln3,0>(a19C4);
          real t019D6#1 = Dot<4>(v019A1,hx19C1);
          real t119D7#1 = Dot<4>(v119A2,hx19C1);
          real t219D8#1 = Dot<4>(v219A3,hx19C1);
          real t319D9#1 = Dot<4>(v319A4,hx19C1);
          real4 tv19D5#1 = <real4>[t019D6,t119D7,t219D8,t319D9];
          real _t199B#1 = Dot<4>(hy19C2,tv19D5);
          real2 x1A19#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v090F1F);
          real2 nd1A1B#2 = Floor<2>(x1A19);
          real2 f1A1A#2 = Sub<real2>(x1A19,nd1A1B);
          int{2} n1A1C#8 = RealToInt<2>(nd1A1B);
          int t21A39#1 = Index<int{2},0>(n1A1C);
          int ix1A37#4 = Add<int>(t119BB,t21A39);
          int t21A3C#4 = Index<int{2},1>(n1A1C);
          int iy1A3A#1 = Add<int>(t119BB,t21A3C);
          addr(IMAGE2D<int>) a1A3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A3A);
          real4 v01A1E#1 = LoadVoxels<IMAGE2D<int>,4>(a1A3D);
          int iy1A33#1 = Add<int>(_t0FB3,t21A3C);
          addr(IMAGE2D<int>) a1A36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A33);
          real4 v11A1F#1 = LoadVoxels<IMAGE2D<int>,4>(a1A36);
          int iy1A2C#1 = Add<int>(_t0FB7,t21A3C);
          addr(IMAGE2D<int>) a1A2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A2C);
          real4 v21A20#1 = LoadVoxels<IMAGE2D<int>,4>(a1A2F);
          int iy1A25#1 = Add<int>(_t0F8F,t21A3C);
          addr(IMAGE2D<int>) a1A28#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A25);
          real4 v31A21#1 = LoadVoxels<IMAGE2D<int>,4>(a1A28);
          real fy1A49#5 = Index<real2,1>(f1A1A);
          real t31A4E#1 = Add<real>(fy1A49,_t0F8B);
          real t11A4C#1 = Sub<real>(fy1A49,_t0F8B);
          real t01A4B#1 = Sub<real>(fy1A49,_t0F8D);
          real4 a1A4A#1 = <real4>[t31A4E,fy1A49,t11A4C,t01A4B];
          real4 hy1A3F#1 = EvalKernel<4,bspln3,0>(a1A4A);
          real fx1A40#5 = Index<real2,0>(f1A1A);
          real t31A45#1 = Add<real>(fx1A40,_t0F8B);
          real t11A43#1 = Sub<real>(fx1A40,_t0F8B);
          real t01A42#1 = Sub<real>(fx1A40,_t0F8D);
          real4 a1A41#1 = <real4>[t31A45,fx1A40,t11A43,t01A42];
          real4 hx1A3E#4 = EvalKernel<4,bspln3,0>(a1A41);
          real t01A53#1 = Dot<4>(v01A1E,hx1A3E);
          real t11A54#1 = Dot<4>(v11A1F,hx1A3E);
          real t21A55#1 = Dot<4>(v21A20,hx1A3E);
          real t31A56#1 = Dot<4>(v31A21,hx1A3E);
          real4 tv1A52#1 = <real4>[t01A53,t11A54,t21A55,t31A56];
          real _t1A18#1 = Dot<4>(hy1A3F,tv1A52);
          real _t1A95#2 = Sub<real>(_t199B,_t1A18);
          real _t1A97#1 = Mul<real>(_t1A95,_t1A95);
          real score1A99#1 = Add<real>(score1984,_t1A97);
          goto JOIN1A9C
        JOIN1A9C:  preds = [ASSIGN1A9A,COND199A]
          real score1A9B#2 = phi(score1A99,score1984)
          real _t1A9D#1 = Dot<2>(r00FA5,v100F25);
          real _t1A9F#1 = Dot<2>(r10FAB,v100F25);
          real2 _t1AA1#1 = <real2>[_t1A9D,_t1A9F];
          real2 pos1AA3#2 = Add<real2>(_t1AA1,_t0FBB);
          real2 x1AA6#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1AA3);
          bool _t1AA5#1 = Inside<IMAGE2D<float>,2>(x1AA6,_t0EFD);
          if _t1AA5 then goto ASSIGN1AAC else goto ASSIGN3082
        ASSIGN1AAC:  preds = [COND1AA9]
          real2 x1AAB#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v100F25);
          bool _t1AAA#1 = Inside<IMAGE2D<int>,2>(x1AAB,_t0EF9);
          goto JOIN1AB0
        JOIN1AB0:  preds = [ASSIGN1AAD,ASSIGN3082]
          bool _t1AAE#1 = phi(_t1AAA,_t1AAF)
          if _t1AAE then goto ASSIGN31E9 else goto JOIN1BB3
        ASSIGN31E9:  preds = [COND1AB1]
          real2 nd1AB5#2 = Floor<2>(x1AA6);
          real2 f1AB4#2 = Sub<real2>(x1AA6,nd1AB5);
          int{2} n1AB6#8 = RealToInt<2>(nd1AB5);
          int t11AD2#4 = -1;
          int t21AD3#1 = Index<int{2},0>(n1AB6);
          int ix1AD1#4 = Add<int>(t11AD2,t21AD3);
          int t21AD6#4 = Index<int{2},1>(n1AB6);
          int iy1AD4#1 = Add<int>(t11AD2,t21AD6);
          addr(IMAGE2D<float>) a1AD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1AD4);
          real4 v01AB8#1 = LoadVoxels<IMAGE2D<float>,4>(a1AD7);
          int iy1ACD#1 = Add<int>(_t0FB3,t21AD6);
          addr(IMAGE2D<float>) a1AD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1ACD);
          real4 v11AB9#1 = LoadVoxels<IMAGE2D<float>,4>(a1AD0);
          int iy1AC6#1 = Add<int>(_t0FB7,t21AD6);
          addr(IMAGE2D<float>) a1AC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1AC6);
          real4 v21ABA#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC9);
          int iy1ABF#1 = Add<int>(_t0F8F,t21AD6);
          addr(IMAGE2D<float>) a1AC2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1ABF);
          real4 v31ABB#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC2);
          real fy1AE3#5 = Index<real2,1>(f1AB4);
          real t31AE8#1 = Add<real>(fy1AE3,_t0F8B);
          real t11AE6#1 = Sub<real>(fy1AE3,_t0F8B);
          real t01AE5#1 = Sub<real>(fy1AE3,_t0F8D);
          real4 a1AE4#1 = <real4>[t31AE8,fy1AE3,t11AE6,t01AE5];
          real4 hy1AD9#1 = EvalKernel<4,bspln3,0>(a1AE4);
          real fx1ADA#5 = Index<real2,0>(f1AB4);
          real t31ADF#1 = Add<real>(fx1ADA,_t0F8B);
          real t11ADD#1 = Sub<real>(fx1ADA,_t0F8B);
          real t01ADC#1 = Sub<real>(fx1ADA,_t0F8D);
          real4 a1ADB#1 = <real4>[t31ADF,fx1ADA,t11ADD,t01ADC];
          real4 hx1AD8#4 = EvalKernel<4,bspln3,0>(a1ADB);
          real t01AED#1 = Dot<4>(v01AB8,hx1AD8);
          real t11AEE#1 = Dot<4>(v11AB9,hx1AD8);
          real t21AEF#1 = Dot<4>(v21ABA,hx1AD8);
          real t31AF0#1 = Dot<4>(v31ABB,hx1AD8);
          real4 tv1AEC#1 = <real4>[t01AED,t11AEE,t21AEF,t31AF0];
          real _t1AB2#1 = Dot<4>(hy1AD9,tv1AEC);
          real2 x1B30#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v100F25);
          real2 nd1B32#2 = Floor<2>(x1B30);
          real2 f1B31#2 = Sub<real2>(x1B30,nd1B32);
          int{2} n1B33#8 = RealToInt<2>(nd1B32);
          int t21B50#1 = Index<int{2},0>(n1B33);
          int ix1B4E#4 = Add<int>(t11AD2,t21B50);
          int t21B53#4 = Index<int{2},1>(n1B33);
          int iy1B51#1 = Add<int>(t11AD2,t21B53);
          addr(IMAGE2D<int>) a1B54#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B51);
          real4 v01B35#1 = LoadVoxels<IMAGE2D<int>,4>(a1B54);
          int iy1B4A#1 = Add<int>(_t0FB3,t21B53);
          addr(IMAGE2D<int>) a1B4D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B4A);
          real4 v11B36#1 = LoadVoxels<IMAGE2D<int>,4>(a1B4D);
          int iy1B43#1 = Add<int>(_t0FB7,t21B53);
          addr(IMAGE2D<int>) a1B46#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B43);
          real4 v21B37#1 = LoadVoxels<IMAGE2D<int>,4>(a1B46);
          int iy1B3C#1 = Add<int>(_t0F8F,t21B53);
          addr(IMAGE2D<int>) a1B3F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B3C);
          real4 v31B38#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3F);
          real fy1B60#5 = Index<real2,1>(f1B31);
          real t31B65#1 = Add<real>(fy1B60,_t0F8B);
          real t11B63#1 = Sub<real>(fy1B60,_t0F8B);
          real t01B62#1 = Sub<real>(fy1B60,_t0F8D);
          real4 a1B61#1 = <real4>[t31B65,fy1B60,t11B63,t01B62];
          real4 hy1B56#1 = EvalKernel<4,bspln3,0>(a1B61);
          real fx1B57#5 = Index<real2,0>(f1B31);
          real t31B5C#1 = Add<real>(fx1B57,_t0F8B);
          real t11B5A#1 = Sub<real>(fx1B57,_t0F8B);
          real t01B59#1 = Sub<real>(fx1B57,_t0F8D);
          real4 a1B58#1 = <real4>[t31B5C,fx1B57,t11B5A,t01B59];
          real4 hx1B55#4 = EvalKernel<4,bspln3,0>(a1B58);
          real t01B6A#1 = Dot<4>(v01B35,hx1B55);
          real t11B6B#1 = Dot<4>(v11B36,hx1B55);
          real t21B6C#1 = Dot<4>(v21B37,hx1B55);
          real t31B6D#1 = Dot<4>(v31B38,hx1B55);
          real4 tv1B69#1 = <real4>[t01B6A,t11B6B,t21B6C,t31B6D];
          real _t1B2F#1 = Dot<4>(hy1B56,tv1B69);
          real _t1BAC#2 = Sub<real>(_t1AB2,_t1B2F);
          real _t1BAE#1 = Mul<real>(_t1BAC,_t1BAC);
          real score1BB0#1 = Add<real>(score1A9B,_t1BAE);
          goto JOIN1BB3
        JOIN1BB3:  preds = [ASSIGN1BB1,COND1AB1]
          real score1BB2#2 = phi(score1BB0,score1A9B)
          real _t1BB4#1 = Dot<2>(r00FA5,v110F27);
          real _t1BB6#1 = Dot<2>(r10FAB,v110F27);
          real2 _t1BB8#1 = <real2>[_t1BB4,_t1BB6];
          real2 pos1BBA#2 = Add<real2>(_t1BB8,_t0FBB);
          real2 x1BBD#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1BBA);
          bool _t1BBC#1 = Inside<IMAGE2D<float>,2>(x1BBD,_t0EFD);
          if _t1BBC then goto ASSIGN1BC3 else goto ASSIGN3081
        ASSIGN1BC3:  preds = [COND1BC0]
          real2 x1BC2#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v110F27);
          bool _t1BC1#1 = Inside<IMAGE2D<int>,2>(x1BC2,_t0EF9);
          goto JOIN1BC7
        JOIN1BC7:  preds = [ASSIGN1BC4,ASSIGN3081]
          bool _t1BC5#1 = phi(_t1BC1,_t1BC6)
          if _t1BC5 then goto ASSIGN320A else goto JOIN1CCA
        ASSIGN320A:  preds = [COND1BC8]
          real2 nd1BCC#2 = Floor<2>(x1BBD);
          real2 f1BCB#2 = Sub<real2>(x1BBD,nd1BCC);
          int{2} n1BCD#8 = RealToInt<2>(nd1BCC);
          int t11BE9#4 = -1;
          int t21BEA#1 = Index<int{2},0>(n1BCD);
          int ix1BE8#4 = Add<int>(t11BE9,t21BEA);
          int t21BED#4 = Index<int{2},1>(n1BCD);
          int iy1BEB#1 = Add<int>(t11BE9,t21BED);
          addr(IMAGE2D<float>) a1BEE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BEB);
          real4 v01BCF#1 = LoadVoxels<IMAGE2D<float>,4>(a1BEE);
          int iy1BE4#1 = Add<int>(_t0FB3,t21BED);
          addr(IMAGE2D<float>) a1BE7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BE4);
          real4 v11BD0#1 = LoadVoxels<IMAGE2D<float>,4>(a1BE7);
          int iy1BDD#1 = Add<int>(_t0FB7,t21BED);
          addr(IMAGE2D<float>) a1BE0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BDD);
          real4 v21BD1#1 = LoadVoxels<IMAGE2D<float>,4>(a1BE0);
          int iy1BD6#1 = Add<int>(_t0F8F,t21BED);
          addr(IMAGE2D<float>) a1BD9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BD6);
          real4 v31BD2#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD9);
          real fy1BFA#5 = Index<real2,1>(f1BCB);
          real t31BFF#1 = Add<real>(fy1BFA,_t0F8B);
          real t11BFD#1 = Sub<real>(fy1BFA,_t0F8B);
          real t01BFC#1 = Sub<real>(fy1BFA,_t0F8D);
          real4 a1BFB#1 = <real4>[t31BFF,fy1BFA,t11BFD,t01BFC];
          real4 hy1BF0#1 = EvalKernel<4,bspln3,0>(a1BFB);
          real fx1BF1#5 = Index<real2,0>(f1BCB);
          real t31BF6#1 = Add<real>(fx1BF1,_t0F8B);
          real t11BF4#1 = Sub<real>(fx1BF1,_t0F8B);
          real t01BF3#1 = Sub<real>(fx1BF1,_t0F8D);
          real4 a1BF2#1 = <real4>[t31BF6,fx1BF1,t11BF4,t01BF3];
          real4 hx1BEF#4 = EvalKernel<4,bspln3,0>(a1BF2);
          real t01C04#1 = Dot<4>(v01BCF,hx1BEF);
          real t11C05#1 = Dot<4>(v11BD0,hx1BEF);
          real t21C06#1 = Dot<4>(v21BD1,hx1BEF);
          real t31C07#1 = Dot<4>(v31BD2,hx1BEF);
          real4 tv1C03#1 = <real4>[t01C04,t11C05,t21C06,t31C07];
          real _t1BC9#1 = Dot<4>(hy1BF0,tv1C03);
          real2 x1C47#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v110F27);
          real2 nd1C49#2 = Floor<2>(x1C47);
          real2 f1C48#2 = Sub<real2>(x1C47,nd1C49);
          int{2} n1C4A#8 = RealToInt<2>(nd1C49);
          int t21C67#1 = Index<int{2},0>(n1C4A);
          int ix1C65#4 = Add<int>(t11BE9,t21C67);
          int t21C6A#4 = Index<int{2},1>(n1C4A);
          int iy1C68#1 = Add<int>(t11BE9,t21C6A);
          addr(IMAGE2D<int>) a1C6B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C68);
          real4 v01C4C#1 = LoadVoxels<IMAGE2D<int>,4>(a1C6B);
          int iy1C61#1 = Add<int>(_t0FB3,t21C6A);
          addr(IMAGE2D<int>) a1C64#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C61);
          real4 v11C4D#1 = LoadVoxels<IMAGE2D<int>,4>(a1C64);
          int iy1C5A#1 = Add<int>(_t0FB7,t21C6A);
          addr(IMAGE2D<int>) a1C5D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C5A);
          real4 v21C4E#1 = LoadVoxels<IMAGE2D<int>,4>(a1C5D);
          int iy1C53#1 = Add<int>(_t0F8F,t21C6A);
          addr(IMAGE2D<int>) a1C56#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C53);
          real4 v31C4F#1 = LoadVoxels<IMAGE2D<int>,4>(a1C56);
          real fy1C77#5 = Index<real2,1>(f1C48);
          real t31C7C#1 = Add<real>(fy1C77,_t0F8B);
          real t11C7A#1 = Sub<real>(fy1C77,_t0F8B);
          real t01C79#1 = Sub<real>(fy1C77,_t0F8D);
          real4 a1C78#1 = <real4>[t31C7C,fy1C77,t11C7A,t01C79];
          real4 hy1C6D#1 = EvalKernel<4,bspln3,0>(a1C78);
          real fx1C6E#5 = Index<real2,0>(f1C48);
          real t31C73#1 = Add<real>(fx1C6E,_t0F8B);
          real t11C71#1 = Sub<real>(fx1C6E,_t0F8B);
          real t01C70#1 = Sub<real>(fx1C6E,_t0F8D);
          real4 a1C6F#1 = <real4>[t31C73,fx1C6E,t11C71,t01C70];
          real4 hx1C6C#4 = EvalKernel<4,bspln3,0>(a1C6F);
          real t01C81#1 = Dot<4>(v01C4C,hx1C6C);
          real t11C82#1 = Dot<4>(v11C4D,hx1C6C);
          real t21C83#1 = Dot<4>(v21C4E,hx1C6C);
          real t31C84#1 = Dot<4>(v31C4F,hx1C6C);
          real4 tv1C80#1 = <real4>[t01C81,t11C82,t21C83,t31C84];
          real _t1C46#1 = Dot<4>(hy1C6D,tv1C80);
          real _t1CC3#2 = Sub<real>(_t1BC9,_t1C46);
          real _t1CC5#1 = Mul<real>(_t1CC3,_t1CC3);
          real score1CC7#1 = Add<real>(score1BB2,_t1CC5);
          goto JOIN1CCA
        JOIN1CCA:  preds = [ASSIGN1CC8,COND1BC8]
          real score1CC9#2 = phi(score1CC7,score1BB2)
          real _t1CCB#1 = Dot<2>(r00FA5,v120F29);
          real _t1CCD#1 = Dot<2>(r10FAB,v120F29);
          real2 _t1CCF#1 = <real2>[_t1CCB,_t1CCD];
          real2 pos1CD1#2 = Add<real2>(_t1CCF,_t0FBB);
          real2 x1CD4#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1CD1);
          bool _t1CD3#1 = Inside<IMAGE2D<float>,2>(x1CD4,_t0EFD);
          if _t1CD3 then goto ASSIGN1CDA else goto ASSIGN3080
        ASSIGN1CDA:  preds = [COND1CD7]
          real2 x1CD9#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v120F29);
          bool _t1CD8#1 = Inside<IMAGE2D<int>,2>(x1CD9,_t0EF9);
          goto JOIN1CDE
        JOIN1CDE:  preds = [ASSIGN1CDB,ASSIGN3080]
          bool _t1CDC#1 = phi(_t1CD8,_t1CDD)
          if _t1CDC then goto ASSIGN322B else goto JOIN1DE1
        ASSIGN322B:  preds = [COND1CDF]
          real2 nd1CE3#2 = Floor<2>(x1CD4);
          real2 f1CE2#2 = Sub<real2>(x1CD4,nd1CE3);
          int{2} n1CE4#8 = RealToInt<2>(nd1CE3);
          int t11D00#4 = -1;
          int t21D01#1 = Index<int{2},0>(n1CE4);
          int ix1CFF#4 = Add<int>(t11D00,t21D01);
          int t21D04#4 = Index<int{2},1>(n1CE4);
          int iy1D02#1 = Add<int>(t11D00,t21D04);
          addr(IMAGE2D<float>) a1D05#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1D02);
          real4 v01CE6#1 = LoadVoxels<IMAGE2D<float>,4>(a1D05);
          int iy1CFB#1 = Add<int>(_t0FB3,t21D04);
          addr(IMAGE2D<float>) a1CFE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1CFB);
          real4 v11CE7#1 = LoadVoxels<IMAGE2D<float>,4>(a1CFE);
          int iy1CF4#1 = Add<int>(_t0FB7,t21D04);
          addr(IMAGE2D<float>) a1CF7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1CF4);
          real4 v21CE8#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF7);
          int iy1CED#1 = Add<int>(_t0F8F,t21D04);
          addr(IMAGE2D<float>) a1CF0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1CED);
          real4 v31CE9#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF0);
          real fy1D11#5 = Index<real2,1>(f1CE2);
          real t31D16#1 = Add<real>(fy1D11,_t0F8B);
          real t11D14#1 = Sub<real>(fy1D11,_t0F8B);
          real t01D13#1 = Sub<real>(fy1D11,_t0F8D);
          real4 a1D12#1 = <real4>[t31D16,fy1D11,t11D14,t01D13];
          real4 hy1D07#1 = EvalKernel<4,bspln3,0>(a1D12);
          real fx1D08#5 = Index<real2,0>(f1CE2);
          real t31D0D#1 = Add<real>(fx1D08,_t0F8B);
          real t11D0B#1 = Sub<real>(fx1D08,_t0F8B);
          real t01D0A#1 = Sub<real>(fx1D08,_t0F8D);
          real4 a1D09#1 = <real4>[t31D0D,fx1D08,t11D0B,t01D0A];
          real4 hx1D06#4 = EvalKernel<4,bspln3,0>(a1D09);
          real t01D1B#1 = Dot<4>(v01CE6,hx1D06);
          real t11D1C#1 = Dot<4>(v11CE7,hx1D06);
          real t21D1D#1 = Dot<4>(v21CE8,hx1D06);
          real t31D1E#1 = Dot<4>(v31CE9,hx1D06);
          real4 tv1D1A#1 = <real4>[t01D1B,t11D1C,t21D1D,t31D1E];
          real _t1CE0#1 = Dot<4>(hy1D07,tv1D1A);
          real2 x1D5E#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v120F29);
          real2 nd1D60#2 = Floor<2>(x1D5E);
          real2 f1D5F#2 = Sub<real2>(x1D5E,nd1D60);
          int{2} n1D61#8 = RealToInt<2>(nd1D60);
          int t21D7E#1 = Index<int{2},0>(n1D61);
          int ix1D7C#4 = Add<int>(t11D00,t21D7E);
          int t21D81#4 = Index<int{2},1>(n1D61);
          int iy1D7F#1 = Add<int>(t11D00,t21D81);
          addr(IMAGE2D<int>) a1D82#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D7F);
          real4 v01D63#1 = LoadVoxels<IMAGE2D<int>,4>(a1D82);
          int iy1D78#1 = Add<int>(_t0FB3,t21D81);
          addr(IMAGE2D<int>) a1D7B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D78);
          real4 v11D64#1 = LoadVoxels<IMAGE2D<int>,4>(a1D7B);
          int iy1D71#1 = Add<int>(_t0FB7,t21D81);
          addr(IMAGE2D<int>) a1D74#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D71);
          real4 v21D65#1 = LoadVoxels<IMAGE2D<int>,4>(a1D74);
          int iy1D6A#1 = Add<int>(_t0F8F,t21D81);
          addr(IMAGE2D<int>) a1D6D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D6A);
          real4 v31D66#1 = LoadVoxels<IMAGE2D<int>,4>(a1D6D);
          real fy1D8E#5 = Index<real2,1>(f1D5F);
          real t31D93#1 = Add<real>(fy1D8E,_t0F8B);
          real t11D91#1 = Sub<real>(fy1D8E,_t0F8B);
          real t01D90#1 = Sub<real>(fy1D8E,_t0F8D);
          real4 a1D8F#1 = <real4>[t31D93,fy1D8E,t11D91,t01D90];
          real4 hy1D84#1 = EvalKernel<4,bspln3,0>(a1D8F);
          real fx1D85#5 = Index<real2,0>(f1D5F);
          real t31D8A#1 = Add<real>(fx1D85,_t0F8B);
          real t11D88#1 = Sub<real>(fx1D85,_t0F8B);
          real t01D87#1 = Sub<real>(fx1D85,_t0F8D);
          real4 a1D86#1 = <real4>[t31D8A,fx1D85,t11D88,t01D87];
          real4 hx1D83#4 = EvalKernel<4,bspln3,0>(a1D86);
          real t01D98#1 = Dot<4>(v01D63,hx1D83);
          real t11D99#1 = Dot<4>(v11D64,hx1D83);
          real t21D9A#1 = Dot<4>(v21D65,hx1D83);
          real t31D9B#1 = Dot<4>(v31D66,hx1D83);
          real4 tv1D97#1 = <real4>[t01D98,t11D99,t21D9A,t31D9B];
          real _t1D5D#1 = Dot<4>(hy1D84,tv1D97);
          real _t1DDA#2 = Sub<real>(_t1CE0,_t1D5D);
          real _t1DDC#1 = Mul<real>(_t1DDA,_t1DDA);
          real score1DDE#1 = Add<real>(score1CC9,_t1DDC);
          goto JOIN1DE1
        JOIN1DE1:  preds = [ASSIGN1DDF,COND1CDF]
          real score1DE0#2 = phi(score1DDE,score1CC9)
          real _t1DE2#1 = Dot<2>(r00FA5,v130F2B);
          real _t1DE4#1 = Dot<2>(r10FAB,v130F2B);
          real2 _t1DE6#1 = <real2>[_t1DE2,_t1DE4];
          real2 pos1DE8#2 = Add<real2>(_t1DE6,_t0FBB);
          real2 x1DEB#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1DE8);
          bool _t1DEA#1 = Inside<IMAGE2D<float>,2>(x1DEB,_t0EFD);
          if _t1DEA then goto ASSIGN1DF1 else goto ASSIGN307F
        ASSIGN1DF1:  preds = [COND1DEE]
          real2 x1DF0#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v130F2B);
          bool _t1DEF#1 = Inside<IMAGE2D<int>,2>(x1DF0,_t0EF9);
          goto JOIN1DF5
        JOIN1DF5:  preds = [ASSIGN1DF2,ASSIGN307F]
          bool _t1DF3#1 = phi(_t1DEF,_t1DF4)
          if _t1DF3 then goto ASSIGN324C else goto JOIN1EF8
        ASSIGN324C:  preds = [COND1DF6]
          real2 nd1DFA#2 = Floor<2>(x1DEB);
          real2 f1DF9#2 = Sub<real2>(x1DEB,nd1DFA);
          int{2} n1DFB#8 = RealToInt<2>(nd1DFA);
          int t11E17#4 = -1;
          int t21E18#1 = Index<int{2},0>(n1DFB);
          int ix1E16#4 = Add<int>(t11E17,t21E18);
          int t21E1B#4 = Index<int{2},1>(n1DFB);
          int iy1E19#1 = Add<int>(t11E17,t21E1B);
          addr(IMAGE2D<float>) a1E1C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E19);
          real4 v01DFD#1 = LoadVoxels<IMAGE2D<float>,4>(a1E1C);
          int iy1E12#1 = Add<int>(_t0FB3,t21E1B);
          addr(IMAGE2D<float>) a1E15#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E12);
          real4 v11DFE#1 = LoadVoxels<IMAGE2D<float>,4>(a1E15);
          int iy1E0B#1 = Add<int>(_t0FB7,t21E1B);
          addr(IMAGE2D<float>) a1E0E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E0B);
          real4 v21DFF#1 = LoadVoxels<IMAGE2D<float>,4>(a1E0E);
          int iy1E04#1 = Add<int>(_t0F8F,t21E1B);
          addr(IMAGE2D<float>) a1E07#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E04);
          real4 v31E00#1 = LoadVoxels<IMAGE2D<float>,4>(a1E07);
          real fy1E28#5 = Index<real2,1>(f1DF9);
          real t31E2D#1 = Add<real>(fy1E28,_t0F8B);
          real t11E2B#1 = Sub<real>(fy1E28,_t0F8B);
          real t01E2A#1 = Sub<real>(fy1E28,_t0F8D);
          real4 a1E29#1 = <real4>[t31E2D,fy1E28,t11E2B,t01E2A];
          real4 hy1E1E#1 = EvalKernel<4,bspln3,0>(a1E29);
          real fx1E1F#5 = Index<real2,0>(f1DF9);
          real t31E24#1 = Add<real>(fx1E1F,_t0F8B);
          real t11E22#1 = Sub<real>(fx1E1F,_t0F8B);
          real t01E21#1 = Sub<real>(fx1E1F,_t0F8D);
          real4 a1E20#1 = <real4>[t31E24,fx1E1F,t11E22,t01E21];
          real4 hx1E1D#4 = EvalKernel<4,bspln3,0>(a1E20);
          real t01E32#1 = Dot<4>(v01DFD,hx1E1D);
          real t11E33#1 = Dot<4>(v11DFE,hx1E1D);
          real t21E34#1 = Dot<4>(v21DFF,hx1E1D);
          real t31E35#1 = Dot<4>(v31E00,hx1E1D);
          real4 tv1E31#1 = <real4>[t01E32,t11E33,t21E34,t31E35];
          real _t1DF7#1 = Dot<4>(hy1E1E,tv1E31);
          real2 x1E75#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v130F2B);
          real2 nd1E77#2 = Floor<2>(x1E75);
          real2 f1E76#2 = Sub<real2>(x1E75,nd1E77);
          int{2} n1E78#8 = RealToInt<2>(nd1E77);
          int t21E95#1 = Index<int{2},0>(n1E78);
          int ix1E93#4 = Add<int>(t11E17,t21E95);
          int t21E98#4 = Index<int{2},1>(n1E78);
          int iy1E96#1 = Add<int>(t11E17,t21E98);
          addr(IMAGE2D<int>) a1E99#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E96);
          real4 v01E7A#1 = LoadVoxels<IMAGE2D<int>,4>(a1E99);
          int iy1E8F#1 = Add<int>(_t0FB3,t21E98);
          addr(IMAGE2D<int>) a1E92#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E8F);
          real4 v11E7B#1 = LoadVoxels<IMAGE2D<int>,4>(a1E92);
          int iy1E88#1 = Add<int>(_t0FB7,t21E98);
          addr(IMAGE2D<int>) a1E8B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E88);
          real4 v21E7C#1 = LoadVoxels<IMAGE2D<int>,4>(a1E8B);
          int iy1E81#1 = Add<int>(_t0F8F,t21E98);
          addr(IMAGE2D<int>) a1E84#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E81);
          real4 v31E7D#1 = LoadVoxels<IMAGE2D<int>,4>(a1E84);
          real fy1EA5#5 = Index<real2,1>(f1E76);
          real t31EAA#1 = Add<real>(fy1EA5,_t0F8B);
          real t11EA8#1 = Sub<real>(fy1EA5,_t0F8B);
          real t01EA7#1 = Sub<real>(fy1EA5,_t0F8D);
          real4 a1EA6#1 = <real4>[t31EAA,fy1EA5,t11EA8,t01EA7];
          real4 hy1E9B#1 = EvalKernel<4,bspln3,0>(a1EA6);
          real fx1E9C#5 = Index<real2,0>(f1E76);
          real t31EA1#1 = Add<real>(fx1E9C,_t0F8B);
          real t11E9F#1 = Sub<real>(fx1E9C,_t0F8B);
          real t01E9E#1 = Sub<real>(fx1E9C,_t0F8D);
          real4 a1E9D#1 = <real4>[t31EA1,fx1E9C,t11E9F,t01E9E];
          real4 hx1E9A#4 = EvalKernel<4,bspln3,0>(a1E9D);
          real t01EAF#1 = Dot<4>(v01E7A,hx1E9A);
          real t11EB0#1 = Dot<4>(v11E7B,hx1E9A);
          real t21EB1#1 = Dot<4>(v21E7C,hx1E9A);
          real t31EB2#1 = Dot<4>(v31E7D,hx1E9A);
          real4 tv1EAE#1 = <real4>[t01EAF,t11EB0,t21EB1,t31EB2];
          real _t1E74#1 = Dot<4>(hy1E9B,tv1EAE);
          real _t1EF1#2 = Sub<real>(_t1DF7,_t1E74);
          real _t1EF3#1 = Mul<real>(_t1EF1,_t1EF1);
          real score1EF5#1 = Add<real>(score1DE0,_t1EF3);
          goto JOIN1EF8
        JOIN1EF8:  preds = [ASSIGN1EF6,COND1DF6]
          real score1EF7#2 = phi(score1EF5,score1DE0)
          real _t1EF9#1 = Dot<2>(r00FA5,v140F2D);
          real _t1EFB#1 = Dot<2>(r10FAB,v140F2D);
          real2 _t1EFD#1 = <real2>[_t1EF9,_t1EFB];
          real2 pos1EFF#2 = Add<real2>(_t1EFD,_t0FBB);
          real2 x1F02#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1EFF);
          bool _t1F01#1 = Inside<IMAGE2D<float>,2>(x1F02,_t0EFD);
          if _t1F01 then goto ASSIGN1F08 else goto ASSIGN307E
        ASSIGN1F08:  preds = [COND1F05]
          real2 x1F07#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v140F2D);
          bool _t1F06#1 = Inside<IMAGE2D<int>,2>(x1F07,_t0EF9);
          goto JOIN1F0C
        JOIN1F0C:  preds = [ASSIGN1F09,ASSIGN307E]
          bool _t1F0A#1 = phi(_t1F06,_t1F0B)
          if _t1F0A then goto ASSIGN326D else goto JOIN200F
        ASSIGN326D:  preds = [COND1F0D]
          real2 nd1F11#2 = Floor<2>(x1F02);
          real2 f1F10#2 = Sub<real2>(x1F02,nd1F11);
          int{2} n1F12#8 = RealToInt<2>(nd1F11);
          int t11F2E#4 = -1;
          int t21F2F#1 = Index<int{2},0>(n1F12);
          int ix1F2D#4 = Add<int>(t11F2E,t21F2F);
          int t21F32#4 = Index<int{2},1>(n1F12);
          int iy1F30#1 = Add<int>(t11F2E,t21F32);
          addr(IMAGE2D<float>) a1F33#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F30);
          real4 v01F14#1 = LoadVoxels<IMAGE2D<float>,4>(a1F33);
          int iy1F29#1 = Add<int>(_t0FB3,t21F32);
          addr(IMAGE2D<float>) a1F2C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F29);
          real4 v11F15#1 = LoadVoxels<IMAGE2D<float>,4>(a1F2C);
          int iy1F22#1 = Add<int>(_t0FB7,t21F32);
          addr(IMAGE2D<float>) a1F25#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F22);
          real4 v21F16#1 = LoadVoxels<IMAGE2D<float>,4>(a1F25);
          int iy1F1B#1 = Add<int>(_t0F8F,t21F32);
          addr(IMAGE2D<float>) a1F1E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F1B);
          real4 v31F17#1 = LoadVoxels<IMAGE2D<float>,4>(a1F1E);
          real fy1F3F#5 = Index<real2,1>(f1F10);
          real t31F44#1 = Add<real>(fy1F3F,_t0F8B);
          real t11F42#1 = Sub<real>(fy1F3F,_t0F8B);
          real t01F41#1 = Sub<real>(fy1F3F,_t0F8D);
          real4 a1F40#1 = <real4>[t31F44,fy1F3F,t11F42,t01F41];
          real4 hy1F35#1 = EvalKernel<4,bspln3,0>(a1F40);
          real fx1F36#5 = Index<real2,0>(f1F10);
          real t31F3B#1 = Add<real>(fx1F36,_t0F8B);
          real t11F39#1 = Sub<real>(fx1F36,_t0F8B);
          real t01F38#1 = Sub<real>(fx1F36,_t0F8D);
          real4 a1F37#1 = <real4>[t31F3B,fx1F36,t11F39,t01F38];
          real4 hx1F34#4 = EvalKernel<4,bspln3,0>(a1F37);
          real t01F49#1 = Dot<4>(v01F14,hx1F34);
          real t11F4A#1 = Dot<4>(v11F15,hx1F34);
          real t21F4B#1 = Dot<4>(v21F16,hx1F34);
          real t31F4C#1 = Dot<4>(v31F17,hx1F34);
          real4 tv1F48#1 = <real4>[t01F49,t11F4A,t21F4B,t31F4C];
          real _t1F0E#1 = Dot<4>(hy1F35,tv1F48);
          real2 x1F8C#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v140F2D);
          real2 nd1F8E#2 = Floor<2>(x1F8C);
          real2 f1F8D#2 = Sub<real2>(x1F8C,nd1F8E);
          int{2} n1F8F#8 = RealToInt<2>(nd1F8E);
          int t21FAC#1 = Index<int{2},0>(n1F8F);
          int ix1FAA#4 = Add<int>(t11F2E,t21FAC);
          int t21FAF#4 = Index<int{2},1>(n1F8F);
          int iy1FAD#1 = Add<int>(t11F2E,t21FAF);
          addr(IMAGE2D<int>) a1FB0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1FAD);
          real4 v01F91#1 = LoadVoxels<IMAGE2D<int>,4>(a1FB0);
          int iy1FA6#1 = Add<int>(_t0FB3,t21FAF);
          addr(IMAGE2D<int>) a1FA9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1FA6);
          real4 v11F92#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA9);
          int iy1F9F#1 = Add<int>(_t0FB7,t21FAF);
          addr(IMAGE2D<int>) a1FA2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1F9F);
          real4 v21F93#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA2);
          int iy1F98#1 = Add<int>(_t0F8F,t21FAF);
          addr(IMAGE2D<int>) a1F9B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1F98);
          real4 v31F94#1 = LoadVoxels<IMAGE2D<int>,4>(a1F9B);
          real fy1FBC#5 = Index<real2,1>(f1F8D);
          real t31FC1#1 = Add<real>(fy1FBC,_t0F8B);
          real t11FBF#1 = Sub<real>(fy1FBC,_t0F8B);
          real t01FBE#1 = Sub<real>(fy1FBC,_t0F8D);
          real4 a1FBD#1 = <real4>[t31FC1,fy1FBC,t11FBF,t01FBE];
          real4 hy1FB2#1 = EvalKernel<4,bspln3,0>(a1FBD);
          real fx1FB3#5 = Index<real2,0>(f1F8D);
          real t31FB8#1 = Add<real>(fx1FB3,_t0F8B);
          real t11FB6#1 = Sub<real>(fx1FB3,_t0F8B);
          real t01FB5#1 = Sub<real>(fx1FB3,_t0F8D);
          real4 a1FB4#1 = <real4>[t31FB8,fx1FB3,t11FB6,t01FB5];
          real4 hx1FB1#4 = EvalKernel<4,bspln3,0>(a1FB4);
          real t01FC6#1 = Dot<4>(v01F91,hx1FB1);
          real t11FC7#1 = Dot<4>(v11F92,hx1FB1);
          real t21FC8#1 = Dot<4>(v21F93,hx1FB1);
          real t31FC9#1 = Dot<4>(v31F94,hx1FB1);
          real4 tv1FC5#1 = <real4>[t01FC6,t11FC7,t21FC8,t31FC9];
          real _t1F8B#1 = Dot<4>(hy1FB2,tv1FC5);
          real _t2008#2 = Sub<real>(_t1F0E,_t1F8B);
          real _t200A#1 = Mul<real>(_t2008,_t2008);
          real score200C#1 = Add<real>(score1EF7,_t200A);
          goto JOIN200F
        JOIN200F:  preds = [ASSIGN200D,COND1F0D]
          real score200E#2 = phi(score200C,score1EF7)
          real _t2010#1 = Dot<2>(r00FA5,v150F2F);
          real _t2012#1 = Dot<2>(r10FAB,v150F2F);
          real2 _t2014#1 = <real2>[_t2010,_t2012];
          real2 pos2016#2 = Add<real2>(_t2014,_t0FBB);
          real2 x2019#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2016);
          bool _t2018#1 = Inside<IMAGE2D<float>,2>(x2019,_t0EFD);
          if _t2018 then goto ASSIGN201F else goto ASSIGN307D
        ASSIGN201F:  preds = [COND201C]
          real2 x201E#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v150F2F);
          bool _t201D#1 = Inside<IMAGE2D<int>,2>(x201E,_t0EF9);
          goto JOIN2023
        JOIN2023:  preds = [ASSIGN2020,ASSIGN307D]
          bool _t2021#1 = phi(_t201D,_t2022)
          if _t2021 then goto ASSIGN328E else goto JOIN2126
        ASSIGN328E:  preds = [COND2024]
          real2 nd2028#2 = Floor<2>(x2019);
          real2 f2027#2 = Sub<real2>(x2019,nd2028);
          int{2} n2029#8 = RealToInt<2>(nd2028);
          int t12045#4 = -1;
          int t22046#1 = Index<int{2},0>(n2029);
          int ix2044#4 = Add<int>(t12045,t22046);
          int t22049#4 = Index<int{2},1>(n2029);
          int iy2047#1 = Add<int>(t12045,t22049);
          addr(IMAGE2D<float>) a204A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2047);
          real4 v0202B#1 = LoadVoxels<IMAGE2D<float>,4>(a204A);
          int iy2040#1 = Add<int>(_t0FB3,t22049);
          addr(IMAGE2D<float>) a2043#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2040);
          real4 v1202C#1 = LoadVoxels<IMAGE2D<float>,4>(a2043);
          int iy2039#1 = Add<int>(_t0FB7,t22049);
          addr(IMAGE2D<float>) a203C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2039);
          real4 v2202D#1 = LoadVoxels<IMAGE2D<float>,4>(a203C);
          int iy2032#1 = Add<int>(_t0F8F,t22049);
          addr(IMAGE2D<float>) a2035#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2032);
          real4 v3202E#1 = LoadVoxels<IMAGE2D<float>,4>(a2035);
          real fy2056#5 = Index<real2,1>(f2027);
          real t3205B#1 = Add<real>(fy2056,_t0F8B);
          real t12059#1 = Sub<real>(fy2056,_t0F8B);
          real t02058#1 = Sub<real>(fy2056,_t0F8D);
          real4 a2057#1 = <real4>[t3205B,fy2056,t12059,t02058];
          real4 hy204C#1 = EvalKernel<4,bspln3,0>(a2057);
          real fx204D#5 = Index<real2,0>(f2027);
          real t32052#1 = Add<real>(fx204D,_t0F8B);
          real t12050#1 = Sub<real>(fx204D,_t0F8B);
          real t0204F#1 = Sub<real>(fx204D,_t0F8D);
          real4 a204E#1 = <real4>[t32052,fx204D,t12050,t0204F];
          real4 hx204B#4 = EvalKernel<4,bspln3,0>(a204E);
          real t02060#1 = Dot<4>(v0202B,hx204B);
          real t12061#1 = Dot<4>(v1202C,hx204B);
          real t22062#1 = Dot<4>(v2202D,hx204B);
          real t32063#1 = Dot<4>(v3202E,hx204B);
          real4 tv205F#1 = <real4>[t02060,t12061,t22062,t32063];
          real _t2025#1 = Dot<4>(hy204C,tv205F);
          real2 x20A3#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v150F2F);
          real2 nd20A5#2 = Floor<2>(x20A3);
          real2 f20A4#2 = Sub<real2>(x20A3,nd20A5);
          int{2} n20A6#8 = RealToInt<2>(nd20A5);
          int t220C3#1 = Index<int{2},0>(n20A6);
          int ix20C1#4 = Add<int>(t12045,t220C3);
          int t220C6#4 = Index<int{2},1>(n20A6);
          int iy20C4#1 = Add<int>(t12045,t220C6);
          addr(IMAGE2D<int>) a20C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20C4);
          real4 v020A8#1 = LoadVoxels<IMAGE2D<int>,4>(a20C7);
          int iy20BD#1 = Add<int>(_t0FB3,t220C6);
          addr(IMAGE2D<int>) a20C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20BD);
          real4 v120A9#1 = LoadVoxels<IMAGE2D<int>,4>(a20C0);
          int iy20B6#1 = Add<int>(_t0FB7,t220C6);
          addr(IMAGE2D<int>) a20B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20B6);
          real4 v220AA#1 = LoadVoxels<IMAGE2D<int>,4>(a20B9);
          int iy20AF#1 = Add<int>(_t0F8F,t220C6);
          addr(IMAGE2D<int>) a20B2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20AF);
          real4 v320AB#1 = LoadVoxels<IMAGE2D<int>,4>(a20B2);
          real fy20D3#5 = Index<real2,1>(f20A4);
          real t320D8#1 = Add<real>(fy20D3,_t0F8B);
          real t120D6#1 = Sub<real>(fy20D3,_t0F8B);
          real t020D5#1 = Sub<real>(fy20D3,_t0F8D);
          real4 a20D4#1 = <real4>[t320D8,fy20D3,t120D6,t020D5];
          real4 hy20C9#1 = EvalKernel<4,bspln3,0>(a20D4);
          real fx20CA#5 = Index<real2,0>(f20A4);
          real t320CF#1 = Add<real>(fx20CA,_t0F8B);
          real t120CD#1 = Sub<real>(fx20CA,_t0F8B);
          real t020CC#1 = Sub<real>(fx20CA,_t0F8D);
          real4 a20CB#1 = <real4>[t320CF,fx20CA,t120CD,t020CC];
          real4 hx20C8#4 = EvalKernel<4,bspln3,0>(a20CB);
          real t020DD#1 = Dot<4>(v020A8,hx20C8);
          real t120DE#1 = Dot<4>(v120A9,hx20C8);
          real t220DF#1 = Dot<4>(v220AA,hx20C8);
          real t320E0#1 = Dot<4>(v320AB,hx20C8);
          real4 tv20DC#1 = <real4>[t020DD,t120DE,t220DF,t320E0];
          real _t20A2#1 = Dot<4>(hy20C9,tv20DC);
          real _t211F#2 = Sub<real>(_t2025,_t20A2);
          real _t2121#1 = Mul<real>(_t211F,_t211F);
          real score2123#1 = Add<real>(score200E,_t2121);
          goto JOIN2126
        JOIN2126:  preds = [ASSIGN2124,COND2024]
          real score2125#2 = phi(score2123,score200E)
          real _t2127#1 = Dot<2>(r00FA5,v160F31);
          real _t2129#1 = Dot<2>(r10FAB,v160F31);
          real2 _t212B#1 = <real2>[_t2127,_t2129];
          real2 pos212D#2 = Add<real2>(_t212B,_t0FBB);
          real2 x2130#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos212D);
          bool _t212F#1 = Inside<IMAGE2D<float>,2>(x2130,_t0EFD);
          if _t212F then goto ASSIGN2136 else goto ASSIGN307C
        ASSIGN2136:  preds = [COND2133]
          real2 x2135#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v160F31);
          bool _t2134#1 = Inside<IMAGE2D<int>,2>(x2135,_t0EF9);
          goto JOIN213A
        JOIN213A:  preds = [ASSIGN2137,ASSIGN307C]
          bool _t2138#1 = phi(_t2134,_t2139)
          if _t2138 then goto ASSIGN32AF else goto JOIN223D
        ASSIGN32AF:  preds = [COND213B]
          real2 nd213F#2 = Floor<2>(x2130);
          real2 f213E#2 = Sub<real2>(x2130,nd213F);
          int{2} n2140#8 = RealToInt<2>(nd213F);
          int t1215C#4 = -1;
          int t2215D#1 = Index<int{2},0>(n2140);
          int ix215B#4 = Add<int>(t1215C,t2215D);
          int t22160#4 = Index<int{2},1>(n2140);
          int iy215E#1 = Add<int>(t1215C,t22160);
          addr(IMAGE2D<float>) a2161#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy215E);
          real4 v02142#1 = LoadVoxels<IMAGE2D<float>,4>(a2161);
          int iy2157#1 = Add<int>(_t0FB3,t22160);
          addr(IMAGE2D<float>) a215A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy2157);
          real4 v12143#1 = LoadVoxels<IMAGE2D<float>,4>(a215A);
          int iy2150#1 = Add<int>(_t0FB7,t22160);
          addr(IMAGE2D<float>) a2153#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy2150);
          real4 v22144#1 = LoadVoxels<IMAGE2D<float>,4>(a2153);
          int iy2149#1 = Add<int>(_t0F8F,t22160);
          addr(IMAGE2D<float>) a214C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy2149);
          real4 v32145#1 = LoadVoxels<IMAGE2D<float>,4>(a214C);
          real fy216D#5 = Index<real2,1>(f213E);
          real t32172#1 = Add<real>(fy216D,_t0F8B);
          real t12170#1 = Sub<real>(fy216D,_t0F8B);
          real t0216F#1 = Sub<real>(fy216D,_t0F8D);
          real4 a216E#1 = <real4>[t32172,fy216D,t12170,t0216F];
          real4 hy2163#1 = EvalKernel<4,bspln3,0>(a216E);
          real fx2164#5 = Index<real2,0>(f213E);
          real t32169#1 = Add<real>(fx2164,_t0F8B);
          real t12167#1 = Sub<real>(fx2164,_t0F8B);
          real t02166#1 = Sub<real>(fx2164,_t0F8D);
          real4 a2165#1 = <real4>[t32169,fx2164,t12167,t02166];
          real4 hx2162#4 = EvalKernel<4,bspln3,0>(a2165);
          real t02177#1 = Dot<4>(v02142,hx2162);
          real t12178#1 = Dot<4>(v12143,hx2162);
          real t22179#1 = Dot<4>(v22144,hx2162);
          real t3217A#1 = Dot<4>(v32145,hx2162);
          real4 tv2176#1 = <real4>[t02177,t12178,t22179,t3217A];
          real _t213C#1 = Dot<4>(hy2163,tv2176);
          real2 x21BA#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v160F31);
          real2 nd21BC#2 = Floor<2>(x21BA);
          real2 f21BB#2 = Sub<real2>(x21BA,nd21BC);
          int{2} n21BD#8 = RealToInt<2>(nd21BC);
          int t221DA#1 = Index<int{2},0>(n21BD);
          int ix21D8#4 = Add<int>(t1215C,t221DA);
          int t221DD#4 = Index<int{2},1>(n21BD);
          int iy21DB#1 = Add<int>(t1215C,t221DD);
          addr(IMAGE2D<int>) a21DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21DB);
          real4 v021BF#1 = LoadVoxels<IMAGE2D<int>,4>(a21DE);
          int iy21D4#1 = Add<int>(_t0FB3,t221DD);
          addr(IMAGE2D<int>) a21D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21D4);
          real4 v121C0#1 = LoadVoxels<IMAGE2D<int>,4>(a21D7);
          int iy21CD#1 = Add<int>(_t0FB7,t221DD);
          addr(IMAGE2D<int>) a21D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21CD);
          real4 v221C1#1 = LoadVoxels<IMAGE2D<int>,4>(a21D0);
          int iy21C6#1 = Add<int>(_t0F8F,t221DD);
          addr(IMAGE2D<int>) a21C9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21C6);
          real4 v321C2#1 = LoadVoxels<IMAGE2D<int>,4>(a21C9);
          real fy21EA#5 = Index<real2,1>(f21BB);
          real t321EF#1 = Add<real>(fy21EA,_t0F8B);
          real t121ED#1 = Sub<real>(fy21EA,_t0F8B);
          real t021EC#1 = Sub<real>(fy21EA,_t0F8D);
          real4 a21EB#1 = <real4>[t321EF,fy21EA,t121ED,t021EC];
          real4 hy21E0#1 = EvalKernel<4,bspln3,0>(a21EB);
          real fx21E1#5 = Index<real2,0>(f21BB);
          real t321E6#1 = Add<real>(fx21E1,_t0F8B);
          real t121E4#1 = Sub<real>(fx21E1,_t0F8B);
          real t021E3#1 = Sub<real>(fx21E1,_t0F8D);
          real4 a21E2#1 = <real4>[t321E6,fx21E1,t121E4,t021E3];
          real4 hx21DF#4 = EvalKernel<4,bspln3,0>(a21E2);
          real t021F4#1 = Dot<4>(v021BF,hx21DF);
          real t121F5#1 = Dot<4>(v121C0,hx21DF);
          real t221F6#1 = Dot<4>(v221C1,hx21DF);
          real t321F7#1 = Dot<4>(v321C2,hx21DF);
          real4 tv21F3#1 = <real4>[t021F4,t121F5,t221F6,t321F7];
          real _t21B9#1 = Dot<4>(hy21E0,tv21F3);
          real _t2236#2 = Sub<real>(_t213C,_t21B9);
          real _t2238#1 = Mul<real>(_t2236,_t2236);
          real score223A#1 = Add<real>(score2125,_t2238);
          goto JOIN223D
        JOIN223D:  preds = [ASSIGN223B,COND213B]
          real score223C#2 = phi(score223A,score2125)
          real _t223E#1 = Dot<2>(r00FA5,v170F33);
          real _t2240#1 = Dot<2>(r10FAB,v170F33);
          real2 _t2242#1 = <real2>[_t223E,_t2240];
          real2 pos2244#2 = Add<real2>(_t2242,_t0FBB);
          real2 x2247#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2244);
          bool _t2246#1 = Inside<IMAGE2D<float>,2>(x2247,_t0EFD);
          if _t2246 then goto ASSIGN224D else goto ASSIGN307B
        ASSIGN224D:  preds = [COND224A]
          real2 x224C#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v170F33);
          bool _t224B#1 = Inside<IMAGE2D<int>,2>(x224C,_t0EF9);
          goto JOIN2251
        JOIN2251:  preds = [ASSIGN224E,ASSIGN307B]
          bool _t224F#1 = phi(_t224B,_t2250)
          if _t224F then goto ASSIGN32D0 else goto JOIN2354
        ASSIGN32D0:  preds = [COND2252]
          real2 nd2256#2 = Floor<2>(x2247);
          real2 f2255#2 = Sub<real2>(x2247,nd2256);
          int{2} n2257#8 = RealToInt<2>(nd2256);
          int t12273#4 = -1;
          int t22274#1 = Index<int{2},0>(n2257);
          int ix2272#4 = Add<int>(t12273,t22274);
          int t22277#4 = Index<int{2},1>(n2257);
          int iy2275#1 = Add<int>(t12273,t22277);
          addr(IMAGE2D<float>) a2278#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy2275);
          real4 v02259#1 = LoadVoxels<IMAGE2D<float>,4>(a2278);
          int iy226E#1 = Add<int>(_t0FB3,t22277);
          addr(IMAGE2D<float>) a2271#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy226E);
          real4 v1225A#1 = LoadVoxels<IMAGE2D<float>,4>(a2271);
          int iy2267#1 = Add<int>(_t0FB7,t22277);
          addr(IMAGE2D<float>) a226A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy2267);
          real4 v2225B#1 = LoadVoxels<IMAGE2D<float>,4>(a226A);
          int iy2260#1 = Add<int>(_t0F8F,t22277);
          addr(IMAGE2D<float>) a2263#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy2260);
          real4 v3225C#1 = LoadVoxels<IMAGE2D<float>,4>(a2263);
          real fy2284#5 = Index<real2,1>(f2255);
          real t32289#1 = Add<real>(fy2284,_t0F8B);
          real t12287#1 = Sub<real>(fy2284,_t0F8B);
          real t02286#1 = Sub<real>(fy2284,_t0F8D);
          real4 a2285#1 = <real4>[t32289,fy2284,t12287,t02286];
          real4 hy227A#1 = EvalKernel<4,bspln3,0>(a2285);
          real fx227B#5 = Index<real2,0>(f2255);
          real t32280#1 = Add<real>(fx227B,_t0F8B);
          real t1227E#1 = Sub<real>(fx227B,_t0F8B);
          real t0227D#1 = Sub<real>(fx227B,_t0F8D);
          real4 a227C#1 = <real4>[t32280,fx227B,t1227E,t0227D];
          real4 hx2279#4 = EvalKernel<4,bspln3,0>(a227C);
          real t0228E#1 = Dot<4>(v02259,hx2279);
          real t1228F#1 = Dot<4>(v1225A,hx2279);
          real t22290#1 = Dot<4>(v2225B,hx2279);
          real t32291#1 = Dot<4>(v3225C,hx2279);
          real4 tv228D#1 = <real4>[t0228E,t1228F,t22290,t32291];
          real _t2253#1 = Dot<4>(hy227A,tv228D);
          real2 x22D1#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v170F33);
          real2 nd22D3#2 = Floor<2>(x22D1);
          real2 f22D2#2 = Sub<real2>(x22D1,nd22D3);
          int{2} n22D4#8 = RealToInt<2>(nd22D3);
          int t222F1#1 = Index<int{2},0>(n22D4);
          int ix22EF#4 = Add<int>(t12273,t222F1);
          int t222F4#4 = Index<int{2},1>(n22D4);
          int iy22F2#1 = Add<int>(t12273,t222F4);
          addr(IMAGE2D<int>) a22F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22F2);
          real4 v022D6#1 = LoadVoxels<IMAGE2D<int>,4>(a22F5);
          int iy22EB#1 = Add<int>(_t0FB3,t222F4);
          addr(IMAGE2D<int>) a22EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22EB);
          real4 v122D7#1 = LoadVoxels<IMAGE2D<int>,4>(a22EE);
          int iy22E4#1 = Add<int>(_t0FB7,t222F4);
          addr(IMAGE2D<int>) a22E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22E4);
          real4 v222D8#1 = LoadVoxels<IMAGE2D<int>,4>(a22E7);
          int iy22DD#1 = Add<int>(_t0F8F,t222F4);
          addr(IMAGE2D<int>) a22E0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22DD);
          real4 v322D9#1 = LoadVoxels<IMAGE2D<int>,4>(a22E0);
          real fy2301#5 = Index<real2,1>(f22D2);
          real t32306#1 = Add<real>(fy2301,_t0F8B);
          real t12304#1 = Sub<real>(fy2301,_t0F8B);
          real t02303#1 = Sub<real>(fy2301,_t0F8D);
          real4 a2302#1 = <real4>[t32306,fy2301,t12304,t02303];
          real4 hy22F7#1 = EvalKernel<4,bspln3,0>(a2302);
          real fx22F8#5 = Index<real2,0>(f22D2);
          real t322FD#1 = Add<real>(fx22F8,_t0F8B);
          real t122FB#1 = Sub<real>(fx22F8,_t0F8B);
          real t022FA#1 = Sub<real>(fx22F8,_t0F8D);
          real4 a22F9#1 = <real4>[t322FD,fx22F8,t122FB,t022FA];
          real4 hx22F6#4 = EvalKernel<4,bspln3,0>(a22F9);
          real t0230B#1 = Dot<4>(v022D6,hx22F6);
          real t1230C#1 = Dot<4>(v122D7,hx22F6);
          real t2230D#1 = Dot<4>(v222D8,hx22F6);
          real t3230E#1 = Dot<4>(v322D9,hx22F6);
          real4 tv230A#1 = <real4>[t0230B,t1230C,t2230D,t3230E];
          real _t22D0#1 = Dot<4>(hy22F7,tv230A);
          real _t234D#2 = Sub<real>(_t2253,_t22D0);
          real _t234F#1 = Mul<real>(_t234D,_t234D);
          real score2351#1 = Add<real>(score223C,_t234F);
          goto JOIN2354
        JOIN2354:  preds = [ASSIGN2352,COND2252]
          real score2353#2 = phi(score2351,score223C)
          real _t2355#1 = Dot<2>(r00FA5,v180F35);
          real _t2357#1 = Dot<2>(r10FAB,v180F35);
          real2 _t2359#1 = <real2>[_t2355,_t2357];
          real2 pos235B#2 = Add<real2>(_t2359,_t0FBB);
          real2 x235E#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos235B);
          bool _t235D#1 = Inside<IMAGE2D<float>,2>(x235E,_t0EFD);
          if _t235D then goto ASSIGN2364 else goto ASSIGN307A
        ASSIGN2364:  preds = [COND2361]
          real2 x2363#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v180F35);
          bool _t2362#1 = Inside<IMAGE2D<int>,2>(x2363,_t0EF9);
          goto JOIN2368
        JOIN2368:  preds = [ASSIGN2365,ASSIGN307A]
          bool _t2366#1 = phi(_t2362,_t2367)
          if _t2366 then goto ASSIGN32F1 else goto JOIN246B
        ASSIGN32F1:  preds = [COND2369]
          real2 nd236D#2 = Floor<2>(x235E);
          real2 f236C#2 = Sub<real2>(x235E,nd236D);
          int{2} n236E#8 = RealToInt<2>(nd236D);
          int t1238A#4 = -1;
          int t2238B#1 = Index<int{2},0>(n236E);
          int ix2389#4 = Add<int>(t1238A,t2238B);
          int t2238E#4 = Index<int{2},1>(n236E);
          int iy238C#1 = Add<int>(t1238A,t2238E);
          addr(IMAGE2D<float>) a238F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy238C);
          real4 v02370#1 = LoadVoxels<IMAGE2D<float>,4>(a238F);
          int iy2385#1 = Add<int>(_t0FB3,t2238E);
          addr(IMAGE2D<float>) a2388#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy2385);
          real4 v12371#1 = LoadVoxels<IMAGE2D<float>,4>(a2388);
          int iy237E#1 = Add<int>(_t0FB7,t2238E);
          addr(IMAGE2D<float>) a2381#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy237E);
          real4 v22372#1 = LoadVoxels<IMAGE2D<float>,4>(a2381);
          int iy2377#1 = Add<int>(_t0F8F,t2238E);
          addr(IMAGE2D<float>) a237A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy2377);
          real4 v32373#1 = LoadVoxels<IMAGE2D<float>,4>(a237A);
          real fy239B#5 = Index<real2,1>(f236C);
          real t323A0#1 = Add<real>(fy239B,_t0F8B);
          real t1239E#1 = Sub<real>(fy239B,_t0F8B);
          real t0239D#1 = Sub<real>(fy239B,_t0F8D);
          real4 a239C#1 = <real4>[t323A0,fy239B,t1239E,t0239D];
          real4 hy2391#1 = EvalKernel<4,bspln3,0>(a239C);
          real fx2392#5 = Index<real2,0>(f236C);
          real t32397#1 = Add<real>(fx2392,_t0F8B);
          real t12395#1 = Sub<real>(fx2392,_t0F8B);
          real t02394#1 = Sub<real>(fx2392,_t0F8D);
          real4 a2393#1 = <real4>[t32397,fx2392,t12395,t02394];
          real4 hx2390#4 = EvalKernel<4,bspln3,0>(a2393);
          real t023A5#1 = Dot<4>(v02370,hx2390);
          real t123A6#1 = Dot<4>(v12371,hx2390);
          real t223A7#1 = Dot<4>(v22372,hx2390);
          real t323A8#1 = Dot<4>(v32373,hx2390);
          real4 tv23A4#1 = <real4>[t023A5,t123A6,t223A7,t323A8];
          real _t236A#1 = Dot<4>(hy2391,tv23A4);
          real2 x23E8#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v180F35);
          real2 nd23EA#2 = Floor<2>(x23E8);
          real2 f23E9#2 = Sub<real2>(x23E8,nd23EA);
          int{2} n23EB#8 = RealToInt<2>(nd23EA);
          int t22408#1 = Index<int{2},0>(n23EB);
          int ix2406#4 = Add<int>(t1238A,t22408);
          int t2240B#4 = Index<int{2},1>(n23EB);
          int iy2409#1 = Add<int>(t1238A,t2240B);
          addr(IMAGE2D<int>) a240C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy2409);
          real4 v023ED#1 = LoadVoxels<IMAGE2D<int>,4>(a240C);
          int iy2402#1 = Add<int>(_t0FB3,t2240B);
          addr(IMAGE2D<int>) a2405#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy2402);
          real4 v123EE#1 = LoadVoxels<IMAGE2D<int>,4>(a2405);
          int iy23FB#1 = Add<int>(_t0FB7,t2240B);
          addr(IMAGE2D<int>) a23FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy23FB);
          real4 v223EF#1 = LoadVoxels<IMAGE2D<int>,4>(a23FE);
          int iy23F4#1 = Add<int>(_t0F8F,t2240B);
          addr(IMAGE2D<int>) a23F7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy23F4);
          real4 v323F0#1 = LoadVoxels<IMAGE2D<int>,4>(a23F7);
          real fy2418#5 = Index<real2,1>(f23E9);
          real t3241D#1 = Add<real>(fy2418,_t0F8B);
          real t1241B#1 = Sub<real>(fy2418,_t0F8B);
          real t0241A#1 = Sub<real>(fy2418,_t0F8D);
          real4 a2419#1 = <real4>[t3241D,fy2418,t1241B,t0241A];
          real4 hy240E#1 = EvalKernel<4,bspln3,0>(a2419);
          real fx240F#5 = Index<real2,0>(f23E9);
          real t32414#1 = Add<real>(fx240F,_t0F8B);
          real t12412#1 = Sub<real>(fx240F,_t0F8B);
          real t02411#1 = Sub<real>(fx240F,_t0F8D);
          real4 a2410#1 = <real4>[t32414,fx240F,t12412,t02411];
          real4 hx240D#4 = EvalKernel<4,bspln3,0>(a2410);
          real t02422#1 = Dot<4>(v023ED,hx240D);
          real t12423#1 = Dot<4>(v123EE,hx240D);
          real t22424#1 = Dot<4>(v223EF,hx240D);
          real t32425#1 = Dot<4>(v323F0,hx240D);
          real4 tv2421#1 = <real4>[t02422,t12423,t22424,t32425];
          real _t23E7#1 = Dot<4>(hy240E,tv2421);
          real _t2464#2 = Sub<real>(_t236A,_t23E7);
          real _t2466#1 = Mul<real>(_t2464,_t2464);
          real score2468#1 = Add<real>(score2353,_t2466);
          goto JOIN246B
        JOIN246B:  preds = [ASSIGN2469,COND2369]
          real score246A#2 = phi(score2468,score2353)
          real _t246C#1 = Dot<2>(r00FA5,v190F37);
          real _t246E#1 = Dot<2>(r10FAB,v190F37);
          real2 _t2470#1 = <real2>[_t246C,_t246E];
          real2 pos2472#2 = Add<real2>(_t2470,_t0FBB);
          real2 x2475#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2472);
          bool _t2474#1 = Inside<IMAGE2D<float>,2>(x2475,_t0EFD);
          if _t2474 then goto ASSIGN247B else goto ASSIGN3079
        ASSIGN247B:  preds = [COND2478]
          real2 x247A#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v190F37);
          bool _t2479#1 = Inside<IMAGE2D<int>,2>(x247A,_t0EF9);
          goto JOIN247F
        JOIN247F:  preds = [ASSIGN247C,ASSIGN3079]
          bool _t247D#1 = phi(_t2479,_t247E)
          if _t247D then goto ASSIGN3312 else goto JOIN2582
        ASSIGN3312:  preds = [COND2480]
          real2 nd2484#2 = Floor<2>(x2475);
          real2 f2483#2 = Sub<real2>(x2475,nd2484);
          int{2} n2485#8 = RealToInt<2>(nd2484);
          int t124A1#4 = -1;
          int t224A2#1 = Index<int{2},0>(n2485);
          int ix24A0#4 = Add<int>(t124A1,t224A2);
          int t224A5#4 = Index<int{2},1>(n2485);
          int iy24A3#1 = Add<int>(t124A1,t224A5);
          addr(IMAGE2D<float>) a24A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy24A3);
          real4 v02487#1 = LoadVoxels<IMAGE2D<float>,4>(a24A6);
          int iy249C#1 = Add<int>(_t0FB3,t224A5);
          addr(IMAGE2D<float>) a249F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy249C);
          real4 v12488#1 = LoadVoxels<IMAGE2D<float>,4>(a249F);
          int iy2495#1 = Add<int>(_t0FB7,t224A5);
          addr(IMAGE2D<float>) a2498#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy2495);
          real4 v22489#1 = LoadVoxels<IMAGE2D<float>,4>(a2498);
          int iy248E#1 = Add<int>(_t0F8F,t224A5);
          addr(IMAGE2D<float>) a2491#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy248E);
          real4 v3248A#1 = LoadVoxels<IMAGE2D<float>,4>(a2491);
          real fy24B2#5 = Index<real2,1>(f2483);
          real t324B7#1 = Add<real>(fy24B2,_t0F8B);
          real t124B5#1 = Sub<real>(fy24B2,_t0F8B);
          real t024B4#1 = Sub<real>(fy24B2,_t0F8D);
          real4 a24B3#1 = <real4>[t324B7,fy24B2,t124B5,t024B4];
          real4 hy24A8#1 = EvalKernel<4,bspln3,0>(a24B3);
          real fx24A9#5 = Index<real2,0>(f2483);
          real t324AE#1 = Add<real>(fx24A9,_t0F8B);
          real t124AC#1 = Sub<real>(fx24A9,_t0F8B);
          real t024AB#1 = Sub<real>(fx24A9,_t0F8D);
          real4 a24AA#1 = <real4>[t324AE,fx24A9,t124AC,t024AB];
          real4 hx24A7#4 = EvalKernel<4,bspln3,0>(a24AA);
          real t024BC#1 = Dot<4>(v02487,hx24A7);
          real t124BD#1 = Dot<4>(v12488,hx24A7);
          real t224BE#1 = Dot<4>(v22489,hx24A7);
          real t324BF#1 = Dot<4>(v3248A,hx24A7);
          real4 tv24BB#1 = <real4>[t024BC,t124BD,t224BE,t324BF];
          real _t2481#1 = Dot<4>(hy24A8,tv24BB);
          real2 x24FF#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v190F37);
          real2 nd2501#2 = Floor<2>(x24FF);
          real2 f2500#2 = Sub<real2>(x24FF,nd2501);
          int{2} n2502#8 = RealToInt<2>(nd2501);
          int t2251F#1 = Index<int{2},0>(n2502);
          int ix251D#4 = Add<int>(t124A1,t2251F);
          int t22522#4 = Index<int{2},1>(n2502);
          int iy2520#1 = Add<int>(t124A1,t22522);
          addr(IMAGE2D<int>) a2523#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy2520);
          real4 v02504#1 = LoadVoxels<IMAGE2D<int>,4>(a2523);
          int iy2519#1 = Add<int>(_t0FB3,t22522);
          addr(IMAGE2D<int>) a251C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy2519);
          real4 v12505#1 = LoadVoxels<IMAGE2D<int>,4>(a251C);
          int iy2512#1 = Add<int>(_t0FB7,t22522);
          addr(IMAGE2D<int>) a2515#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy2512);
          real4 v22506#1 = LoadVoxels<IMAGE2D<int>,4>(a2515);
          int iy250B#1 = Add<int>(_t0F8F,t22522);
          addr(IMAGE2D<int>) a250E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy250B);
          real4 v32507#1 = LoadVoxels<IMAGE2D<int>,4>(a250E);
          real fy252F#5 = Index<real2,1>(f2500);
          real t32534#1 = Add<real>(fy252F,_t0F8B);
          real t12532#1 = Sub<real>(fy252F,_t0F8B);
          real t02531#1 = Sub<real>(fy252F,_t0F8D);
          real4 a2530#1 = <real4>[t32534,fy252F,t12532,t02531];
          real4 hy2525#1 = EvalKernel<4,bspln3,0>(a2530);
          real fx2526#5 = Index<real2,0>(f2500);
          real t3252B#1 = Add<real>(fx2526,_t0F8B);
          real t12529#1 = Sub<real>(fx2526,_t0F8B);
          real t02528#1 = Sub<real>(fx2526,_t0F8D);
          real4 a2527#1 = <real4>[t3252B,fx2526,t12529,t02528];
          real4 hx2524#4 = EvalKernel<4,bspln3,0>(a2527);
          real t02539#1 = Dot<4>(v02504,hx2524);
          real t1253A#1 = Dot<4>(v12505,hx2524);
          real t2253B#1 = Dot<4>(v22506,hx2524);
          real t3253C#1 = Dot<4>(v32507,hx2524);
          real4 tv2538#1 = <real4>[t02539,t1253A,t2253B,t3253C];
          real _t24FE#1 = Dot<4>(hy2525,tv2538);
          real _t257B#2 = Sub<real>(_t2481,_t24FE);
          real _t257D#1 = Mul<real>(_t257B,_t257B);
          real score257F#1 = Add<real>(score246A,_t257D);
          goto JOIN2582
        JOIN2582:  preds = [ASSIGN2580,COND2480]
          real score2581#2 = phi(score257F,score246A)
          real _t2583#1 = Dot<2>(r00FA5,v200F39);
          real _t2585#1 = Dot<2>(r10FAB,v200F39);
          real2 _t2587#1 = <real2>[_t2583,_t2585];
          real2 pos2589#2 = Add<real2>(_t2587,_t0FBB);
          real2 x258C#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2589);
          bool _t258B#1 = Inside<IMAGE2D<float>,2>(x258C,_t0EFD);
          if _t258B then goto ASSIGN2592 else goto ASSIGN3078
        ASSIGN2592:  preds = [COND258F]
          real2 x2591#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v200F39);
          bool _t2590#1 = Inside<IMAGE2D<int>,2>(x2591,_t0EF9);
          goto JOIN2596
        JOIN2596:  preds = [ASSIGN2593,ASSIGN3078]
          bool _t2594#1 = phi(_t2590,_t2595)
          if _t2594 then goto ASSIGN3333 else goto JOIN2699
        ASSIGN3333:  preds = [COND2597]
          real2 nd259B#2 = Floor<2>(x258C);
          real2 f259A#2 = Sub<real2>(x258C,nd259B);
          int{2} n259C#8 = RealToInt<2>(nd259B);
          int t125B8#4 = -1;
          int t225B9#1 = Index<int{2},0>(n259C);
          int ix25B7#4 = Add<int>(t125B8,t225B9);
          int t225BC#4 = Index<int{2},1>(n259C);
          int iy25BA#1 = Add<int>(t125B8,t225BC);
          addr(IMAGE2D<float>) a25BD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25BA);
          real4 v0259E#1 = LoadVoxels<IMAGE2D<float>,4>(a25BD);
          int iy25B3#1 = Add<int>(_t0FB3,t225BC);
          addr(IMAGE2D<float>) a25B6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25B3);
          real4 v1259F#1 = LoadVoxels<IMAGE2D<float>,4>(a25B6);
          int iy25AC#1 = Add<int>(_t0FB7,t225BC);
          addr(IMAGE2D<float>) a25AF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25AC);
          real4 v225A0#1 = LoadVoxels<IMAGE2D<float>,4>(a25AF);
          int iy25A5#1 = Add<int>(_t0F8F,t225BC);
          addr(IMAGE2D<float>) a25A8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25A5);
          real4 v325A1#1 = LoadVoxels<IMAGE2D<float>,4>(a25A8);
          real fy25C9#5 = Index<real2,1>(f259A);
          real t325CE#1 = Add<real>(fy25C9,_t0F8B);
          real t125CC#1 = Sub<real>(fy25C9,_t0F8B);
          real t025CB#1 = Sub<real>(fy25C9,_t0F8D);
          real4 a25CA#1 = <real4>[t325CE,fy25C9,t125CC,t025CB];
          real4 hy25BF#1 = EvalKernel<4,bspln3,0>(a25CA);
          real fx25C0#5 = Index<real2,0>(f259A);
          real t325C5#1 = Add<real>(fx25C0,_t0F8B);
          real t125C3#1 = Sub<real>(fx25C0,_t0F8B);
          real t025C2#1 = Sub<real>(fx25C0,_t0F8D);
          real4 a25C1#1 = <real4>[t325C5,fx25C0,t125C3,t025C2];
          real4 hx25BE#4 = EvalKernel<4,bspln3,0>(a25C1);
          real t025D3#1 = Dot<4>(v0259E,hx25BE);
          real t125D4#1 = Dot<4>(v1259F,hx25BE);
          real t225D5#1 = Dot<4>(v225A0,hx25BE);
          real t325D6#1 = Dot<4>(v325A1,hx25BE);
          real4 tv25D2#1 = <real4>[t025D3,t125D4,t225D5,t325D6];
          real _t2598#1 = Dot<4>(hy25BF,tv25D2);
          real2 x2616#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v200F39);
          real2 nd2618#2 = Floor<2>(x2616);
          real2 f2617#2 = Sub<real2>(x2616,nd2618);
          int{2} n2619#8 = RealToInt<2>(nd2618);
          int t22636#1 = Index<int{2},0>(n2619);
          int ix2634#4 = Add<int>(t125B8,t22636);
          int t22639#4 = Index<int{2},1>(n2619);
          int iy2637#1 = Add<int>(t125B8,t22639);
          addr(IMAGE2D<int>) a263A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2637);
          real4 v0261B#1 = LoadVoxels<IMAGE2D<int>,4>(a263A);
          int iy2630#1 = Add<int>(_t0FB3,t22639);
          addr(IMAGE2D<int>) a2633#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2630);
          real4 v1261C#1 = LoadVoxels<IMAGE2D<int>,4>(a2633);
          int iy2629#1 = Add<int>(_t0FB7,t22639);
          addr(IMAGE2D<int>) a262C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2629);
          real4 v2261D#1 = LoadVoxels<IMAGE2D<int>,4>(a262C);
          int iy2622#1 = Add<int>(_t0F8F,t22639);
          addr(IMAGE2D<int>) a2625#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2622);
          real4 v3261E#1 = LoadVoxels<IMAGE2D<int>,4>(a2625);
          real fy2646#5 = Index<real2,1>(f2617);
          real t3264B#1 = Add<real>(fy2646,_t0F8B);
          real t12649#1 = Sub<real>(fy2646,_t0F8B);
          real t02648#1 = Sub<real>(fy2646,_t0F8D);
          real4 a2647#1 = <real4>[t3264B,fy2646,t12649,t02648];
          real4 hy263C#1 = EvalKernel<4,bspln3,0>(a2647);
          real fx263D#5 = Index<real2,0>(f2617);
          real t32642#1 = Add<real>(fx263D,_t0F8B);
          real t12640#1 = Sub<real>(fx263D,_t0F8B);
          real t0263F#1 = Sub<real>(fx263D,_t0F8D);
          real4 a263E#1 = <real4>[t32642,fx263D,t12640,t0263F];
          real4 hx263B#4 = EvalKernel<4,bspln3,0>(a263E);
          real t02650#1 = Dot<4>(v0261B,hx263B);
          real t12651#1 = Dot<4>(v1261C,hx263B);
          real t22652#1 = Dot<4>(v2261D,hx263B);
          real t32653#1 = Dot<4>(v3261E,hx263B);
          real4 tv264F#1 = <real4>[t02650,t12651,t22652,t32653];
          real _t2615#1 = Dot<4>(hy263C,tv264F);
          real _t2692#2 = Sub<real>(_t2598,_t2615);
          real _t2694#1 = Mul<real>(_t2692,_t2692);
          real score2696#1 = Add<real>(score2581,_t2694);
          goto JOIN2699
        JOIN2699:  preds = [ASSIGN2697,COND2597]
          real score2698#2 = phi(score2696,score2581)
          real _t269A#1 = Dot<2>(r00FA5,v210F3B);
          real _t269C#1 = Dot<2>(r10FAB,v210F3B);
          real2 _t269E#1 = <real2>[_t269A,_t269C];
          real2 pos26A0#2 = Add<real2>(_t269E,_t0FBB);
          real2 x26A3#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos26A0);
          bool _t26A2#1 = Inside<IMAGE2D<float>,2>(x26A3,_t0EFD);
          if _t26A2 then goto ASSIGN26A9 else goto ASSIGN3077
        ASSIGN26A9:  preds = [COND26A6]
          real2 x26A8#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v210F3B);
          bool _t26A7#1 = Inside<IMAGE2D<int>,2>(x26A8,_t0EF9);
          goto JOIN26AD
        JOIN26AD:  preds = [ASSIGN26AA,ASSIGN3077]
          bool _t26AB#1 = phi(_t26A7,_t26AC)
          if _t26AB then goto ASSIGN3354 else goto JOIN27B0
        ASSIGN3354:  preds = [COND26AE]
          real2 nd26B2#2 = Floor<2>(x26A3);
          real2 f26B1#2 = Sub<real2>(x26A3,nd26B2);
          int{2} n26B3#8 = RealToInt<2>(nd26B2);
          int t126CF#4 = -1;
          int t226D0#1 = Index<int{2},0>(n26B3);
          int ix26CE#4 = Add<int>(t126CF,t226D0);
          int t226D3#4 = Index<int{2},1>(n26B3);
          int iy26D1#1 = Add<int>(t126CF,t226D3);
          addr(IMAGE2D<float>) a26D4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26D1);
          real4 v026B5#1 = LoadVoxels<IMAGE2D<float>,4>(a26D4);
          int iy26CA#1 = Add<int>(_t0FB3,t226D3);
          addr(IMAGE2D<float>) a26CD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26CA);
          real4 v126B6#1 = LoadVoxels<IMAGE2D<float>,4>(a26CD);
          int iy26C3#1 = Add<int>(_t0FB7,t226D3);
          addr(IMAGE2D<float>) a26C6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26C3);
          real4 v226B7#1 = LoadVoxels<IMAGE2D<float>,4>(a26C6);
          int iy26BC#1 = Add<int>(_t0F8F,t226D3);
          addr(IMAGE2D<float>) a26BF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26BC);
          real4 v326B8#1 = LoadVoxels<IMAGE2D<float>,4>(a26BF);
          real fy26E0#5 = Index<real2,1>(f26B1);
          real t326E5#1 = Add<real>(fy26E0,_t0F8B);
          real t126E3#1 = Sub<real>(fy26E0,_t0F8B);
          real t026E2#1 = Sub<real>(fy26E0,_t0F8D);
          real4 a26E1#1 = <real4>[t326E5,fy26E0,t126E3,t026E2];
          real4 hy26D6#1 = EvalKernel<4,bspln3,0>(a26E1);
          real fx26D7#5 = Index<real2,0>(f26B1);
          real t326DC#1 = Add<real>(fx26D7,_t0F8B);
          real t126DA#1 = Sub<real>(fx26D7,_t0F8B);
          real t026D9#1 = Sub<real>(fx26D7,_t0F8D);
          real4 a26D8#1 = <real4>[t326DC,fx26D7,t126DA,t026D9];
          real4 hx26D5#4 = EvalKernel<4,bspln3,0>(a26D8);
          real t026EA#1 = Dot<4>(v026B5,hx26D5);
          real t126EB#1 = Dot<4>(v126B6,hx26D5);
          real t226EC#1 = Dot<4>(v226B7,hx26D5);
          real t326ED#1 = Dot<4>(v326B8,hx26D5);
          real4 tv26E9#1 = <real4>[t026EA,t126EB,t226EC,t326ED];
          real _t26AF#1 = Dot<4>(hy26D6,tv26E9);
          real2 x272D#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v210F3B);
          real2 nd272F#2 = Floor<2>(x272D);
          real2 f272E#2 = Sub<real2>(x272D,nd272F);
          int{2} n2730#8 = RealToInt<2>(nd272F);
          int t2274D#1 = Index<int{2},0>(n2730);
          int ix274B#4 = Add<int>(t126CF,t2274D);
          int t22750#4 = Index<int{2},1>(n2730);
          int iy274E#1 = Add<int>(t126CF,t22750);
          addr(IMAGE2D<int>) a2751#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy274E);
          real4 v02732#1 = LoadVoxels<IMAGE2D<int>,4>(a2751);
          int iy2747#1 = Add<int>(_t0FB3,t22750);
          addr(IMAGE2D<int>) a274A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy2747);
          real4 v12733#1 = LoadVoxels<IMAGE2D<int>,4>(a274A);
          int iy2740#1 = Add<int>(_t0FB7,t22750);
          addr(IMAGE2D<int>) a2743#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy2740);
          real4 v22734#1 = LoadVoxels<IMAGE2D<int>,4>(a2743);
          int iy2739#1 = Add<int>(_t0F8F,t22750);
          addr(IMAGE2D<int>) a273C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy2739);
          real4 v32735#1 = LoadVoxels<IMAGE2D<int>,4>(a273C);
          real fy275D#5 = Index<real2,1>(f272E);
          real t32762#1 = Add<real>(fy275D,_t0F8B);
          real t12760#1 = Sub<real>(fy275D,_t0F8B);
          real t0275F#1 = Sub<real>(fy275D,_t0F8D);
          real4 a275E#1 = <real4>[t32762,fy275D,t12760,t0275F];
          real4 hy2753#1 = EvalKernel<4,bspln3,0>(a275E);
          real fx2754#5 = Index<real2,0>(f272E);
          real t32759#1 = Add<real>(fx2754,_t0F8B);
          real t12757#1 = Sub<real>(fx2754,_t0F8B);
          real t02756#1 = Sub<real>(fx2754,_t0F8D);
          real4 a2755#1 = <real4>[t32759,fx2754,t12757,t02756];
          real4 hx2752#4 = EvalKernel<4,bspln3,0>(a2755);
          real t02767#1 = Dot<4>(v02732,hx2752);
          real t12768#1 = Dot<4>(v12733,hx2752);
          real t22769#1 = Dot<4>(v22734,hx2752);
          real t3276A#1 = Dot<4>(v32735,hx2752);
          real4 tv2766#1 = <real4>[t02767,t12768,t22769,t3276A];
          real _t272C#1 = Dot<4>(hy2753,tv2766);
          real _t27A9#2 = Sub<real>(_t26AF,_t272C);
          real _t27AB#1 = Mul<real>(_t27A9,_t27A9);
          real score27AD#1 = Add<real>(score2698,_t27AB);
          goto JOIN27B0
        JOIN27B0:  preds = [ASSIGN27AE,COND26AE]
          real score27AF#2 = phi(score27AD,score2698)
          real _t27B1#1 = Dot<2>(r00FA5,v220F3D);
          real _t27B3#1 = Dot<2>(r10FAB,v220F3D);
          real2 _t27B5#1 = <real2>[_t27B1,_t27B3];
          real2 pos27B7#2 = Add<real2>(_t27B5,_t0FBB);
          real2 x27BA#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos27B7);
          bool _t27B9#1 = Inside<IMAGE2D<float>,2>(x27BA,_t0EFD);
          if _t27B9 then goto ASSIGN27C0 else goto ASSIGN3076
        ASSIGN27C0:  preds = [COND27BD]
          real2 x27BF#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v220F3D);
          bool _t27BE#1 = Inside<IMAGE2D<int>,2>(x27BF,_t0EF9);
          goto JOIN27C4
        JOIN27C4:  preds = [ASSIGN27C1,ASSIGN3076]
          bool _t27C2#1 = phi(_t27BE,_t27C3)
          if _t27C2 then goto ASSIGN3375 else goto JOIN28C7
        ASSIGN3375:  preds = [COND27C5]
          real2 nd27C9#2 = Floor<2>(x27BA);
          real2 f27C8#2 = Sub<real2>(x27BA,nd27C9);
          int{2} n27CA#8 = RealToInt<2>(nd27C9);
          int t127E6#4 = -1;
          int t227E7#1 = Index<int{2},0>(n27CA);
          int ix27E5#4 = Add<int>(t127E6,t227E7);
          int t227EA#4 = Index<int{2},1>(n27CA);
          int iy27E8#1 = Add<int>(t127E6,t227EA);
          addr(IMAGE2D<float>) a27EB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27E8);
          real4 v027CC#1 = LoadVoxels<IMAGE2D<float>,4>(a27EB);
          int iy27E1#1 = Add<int>(_t0FB3,t227EA);
          addr(IMAGE2D<float>) a27E4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27E1);
          real4 v127CD#1 = LoadVoxels<IMAGE2D<float>,4>(a27E4);
          int iy27DA#1 = Add<int>(_t0FB7,t227EA);
          addr(IMAGE2D<float>) a27DD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27DA);
          real4 v227CE#1 = LoadVoxels<IMAGE2D<float>,4>(a27DD);
          int iy27D3#1 = Add<int>(_t0F8F,t227EA);
          addr(IMAGE2D<float>) a27D6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27D3);
          real4 v327CF#1 = LoadVoxels<IMAGE2D<float>,4>(a27D6);
          real fy27F7#5 = Index<real2,1>(f27C8);
          real t327FC#1 = Add<real>(fy27F7,_t0F8B);
          real t127FA#1 = Sub<real>(fy27F7,_t0F8B);
          real t027F9#1 = Sub<real>(fy27F7,_t0F8D);
          real4 a27F8#1 = <real4>[t327FC,fy27F7,t127FA,t027F9];
          real4 hy27ED#1 = EvalKernel<4,bspln3,0>(a27F8);
          real fx27EE#5 = Index<real2,0>(f27C8);
          real t327F3#1 = Add<real>(fx27EE,_t0F8B);
          real t127F1#1 = Sub<real>(fx27EE,_t0F8B);
          real t027F0#1 = Sub<real>(fx27EE,_t0F8D);
          real4 a27EF#1 = <real4>[t327F3,fx27EE,t127F1,t027F0];
          real4 hx27EC#4 = EvalKernel<4,bspln3,0>(a27EF);
          real t02801#1 = Dot<4>(v027CC,hx27EC);
          real t12802#1 = Dot<4>(v127CD,hx27EC);
          real t22803#1 = Dot<4>(v227CE,hx27EC);
          real t32804#1 = Dot<4>(v327CF,hx27EC);
          real4 tv2800#1 = <real4>[t02801,t12802,t22803,t32804];
          real _t27C6#1 = Dot<4>(hy27ED,tv2800);
          real2 x2844#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v220F3D);
          real2 nd2846#2 = Floor<2>(x2844);
          real2 f2845#2 = Sub<real2>(x2844,nd2846);
          int{2} n2847#8 = RealToInt<2>(nd2846);
          int t22864#1 = Index<int{2},0>(n2847);
          int ix2862#4 = Add<int>(t127E6,t22864);
          int t22867#4 = Index<int{2},1>(n2847);
          int iy2865#1 = Add<int>(t127E6,t22867);
          addr(IMAGE2D<int>) a2868#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy2865);
          real4 v02849#1 = LoadVoxels<IMAGE2D<int>,4>(a2868);
          int iy285E#1 = Add<int>(_t0FB3,t22867);
          addr(IMAGE2D<int>) a2861#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy285E);
          real4 v1284A#1 = LoadVoxels<IMAGE2D<int>,4>(a2861);
          int iy2857#1 = Add<int>(_t0FB7,t22867);
          addr(IMAGE2D<int>) a285A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy2857);
          real4 v2284B#1 = LoadVoxels<IMAGE2D<int>,4>(a285A);
          int iy2850#1 = Add<int>(_t0F8F,t22867);
          addr(IMAGE2D<int>) a2853#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy2850);
          real4 v3284C#1 = LoadVoxels<IMAGE2D<int>,4>(a2853);
          real fy2874#5 = Index<real2,1>(f2845);
          real t32879#1 = Add<real>(fy2874,_t0F8B);
          real t12877#1 = Sub<real>(fy2874,_t0F8B);
          real t02876#1 = Sub<real>(fy2874,_t0F8D);
          real4 a2875#1 = <real4>[t32879,fy2874,t12877,t02876];
          real4 hy286A#1 = EvalKernel<4,bspln3,0>(a2875);
          real fx286B#5 = Index<real2,0>(f2845);
          real t32870#1 = Add<real>(fx286B,_t0F8B);
          real t1286E#1 = Sub<real>(fx286B,_t0F8B);
          real t0286D#1 = Sub<real>(fx286B,_t0F8D);
          real4 a286C#1 = <real4>[t32870,fx286B,t1286E,t0286D];
          real4 hx2869#4 = EvalKernel<4,bspln3,0>(a286C);
          real t0287E#1 = Dot<4>(v02849,hx2869);
          real t1287F#1 = Dot<4>(v1284A,hx2869);
          real t22880#1 = Dot<4>(v2284B,hx2869);
          real t32881#1 = Dot<4>(v3284C,hx2869);
          real4 tv287D#1 = <real4>[t0287E,t1287F,t22880,t32881];
          real _t2843#1 = Dot<4>(hy286A,tv287D);
          real _t28C0#2 = Sub<real>(_t27C6,_t2843);
          real _t28C2#1 = Mul<real>(_t28C0,_t28C0);
          real score28C4#1 = Add<real>(score27AF,_t28C2);
          goto JOIN28C7
        JOIN28C7:  preds = [ASSIGN28C5,COND27C5]
          real score28C6#2 = phi(score28C4,score27AF)
          real _t28C8#1 = Dot<2>(r00FA5,v230F3F);
          real _t28CA#1 = Dot<2>(r10FAB,v230F3F);
          real2 _t28CC#1 = <real2>[_t28C8,_t28CA];
          real2 pos28CE#2 = Add<real2>(_t28CC,_t0FBB);
          real2 x28D1#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos28CE);
          bool _t28D0#1 = Inside<IMAGE2D<float>,2>(x28D1,_t0EFD);
          if _t28D0 then goto ASSIGN28D7 else goto ASSIGN3075
        ASSIGN28D7:  preds = [COND28D4]
          real2 x28D6#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v230F3F);
          bool _t28D5#1 = Inside<IMAGE2D<int>,2>(x28D6,_t0EF9);
          goto JOIN28DB
        JOIN28DB:  preds = [ASSIGN28D8,ASSIGN3075]
          bool _t28D9#1 = phi(_t28D5,_t28DA)
          if _t28D9 then goto ASSIGN3396 else goto JOIN29DE
        ASSIGN3396:  preds = [COND28DC]
          real2 nd28E0#2 = Floor<2>(x28D1);
          real2 f28DF#2 = Sub<real2>(x28D1,nd28E0);
          int{2} n28E1#8 = RealToInt<2>(nd28E0);
          int t128FD#4 = -1;
          int t228FE#1 = Index<int{2},0>(n28E1);
          int ix28FC#4 = Add<int>(t128FD,t228FE);
          int t22901#4 = Index<int{2},1>(n28E1);
          int iy28FF#1 = Add<int>(t128FD,t22901);
          addr(IMAGE2D<float>) a2902#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28FF);
          real4 v028E3#1 = LoadVoxels<IMAGE2D<float>,4>(a2902);
          int iy28F8#1 = Add<int>(_t0FB3,t22901);
          addr(IMAGE2D<float>) a28FB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28F8);
          real4 v128E4#1 = LoadVoxels<IMAGE2D<float>,4>(a28FB);
          int iy28F1#1 = Add<int>(_t0FB7,t22901);
          addr(IMAGE2D<float>) a28F4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28F1);
          real4 v228E5#1 = LoadVoxels<IMAGE2D<float>,4>(a28F4);
          int iy28EA#1 = Add<int>(_t0F8F,t22901);
          addr(IMAGE2D<float>) a28ED#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28EA);
          real4 v328E6#1 = LoadVoxels<IMAGE2D<float>,4>(a28ED);
          real fy290E#5 = Index<real2,1>(f28DF);
          real t32913#1 = Add<real>(fy290E,_t0F8B);
          real t12911#1 = Sub<real>(fy290E,_t0F8B);
          real t02910#1 = Sub<real>(fy290E,_t0F8D);
          real4 a290F#1 = <real4>[t32913,fy290E,t12911,t02910];
          real4 hy2904#1 = EvalKernel<4,bspln3,0>(a290F);
          real fx2905#5 = Index<real2,0>(f28DF);
          real t3290A#1 = Add<real>(fx2905,_t0F8B);
          real t12908#1 = Sub<real>(fx2905,_t0F8B);
          real t02907#1 = Sub<real>(fx2905,_t0F8D);
          real4 a2906#1 = <real4>[t3290A,fx2905,t12908,t02907];
          real4 hx2903#4 = EvalKernel<4,bspln3,0>(a2906);
          real t02918#1 = Dot<4>(v028E3,hx2903);
          real t12919#1 = Dot<4>(v128E4,hx2903);
          real t2291A#1 = Dot<4>(v228E5,hx2903);
          real t3291B#1 = Dot<4>(v328E6,hx2903);
          real4 tv2917#1 = <real4>[t02918,t12919,t2291A,t3291B];
          real _t28DD#1 = Dot<4>(hy2904,tv2917);
          real2 x295B#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v230F3F);
          real2 nd295D#2 = Floor<2>(x295B);
          real2 f295C#2 = Sub<real2>(x295B,nd295D);
          int{2} n295E#8 = RealToInt<2>(nd295D);
          int t2297B#1 = Index<int{2},0>(n295E);
          int ix2979#4 = Add<int>(t128FD,t2297B);
          int t2297E#4 = Index<int{2},1>(n295E);
          int iy297C#1 = Add<int>(t128FD,t2297E);
          addr(IMAGE2D<int>) a297F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy297C);
          real4 v02960#1 = LoadVoxels<IMAGE2D<int>,4>(a297F);
          int iy2975#1 = Add<int>(_t0FB3,t2297E);
          addr(IMAGE2D<int>) a2978#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy2975);
          real4 v12961#1 = LoadVoxels<IMAGE2D<int>,4>(a2978);
          int iy296E#1 = Add<int>(_t0FB7,t2297E);
          addr(IMAGE2D<int>) a2971#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy296E);
          real4 v22962#1 = LoadVoxels<IMAGE2D<int>,4>(a2971);
          int iy2967#1 = Add<int>(_t0F8F,t2297E);
          addr(IMAGE2D<int>) a296A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy2967);
          real4 v32963#1 = LoadVoxels<IMAGE2D<int>,4>(a296A);
          real fy298B#5 = Index<real2,1>(f295C);
          real t32990#1 = Add<real>(fy298B,_t0F8B);
          real t1298E#1 = Sub<real>(fy298B,_t0F8B);
          real t0298D#1 = Sub<real>(fy298B,_t0F8D);
          real4 a298C#1 = <real4>[t32990,fy298B,t1298E,t0298D];
          real4 hy2981#1 = EvalKernel<4,bspln3,0>(a298C);
          real fx2982#5 = Index<real2,0>(f295C);
          real t32987#1 = Add<real>(fx2982,_t0F8B);
          real t12985#1 = Sub<real>(fx2982,_t0F8B);
          real t02984#1 = Sub<real>(fx2982,_t0F8D);
          real4 a2983#1 = <real4>[t32987,fx2982,t12985,t02984];
          real4 hx2980#4 = EvalKernel<4,bspln3,0>(a2983);
          real t02995#1 = Dot<4>(v02960,hx2980);
          real t12996#1 = Dot<4>(v12961,hx2980);
          real t22997#1 = Dot<4>(v22962,hx2980);
          real t32998#1 = Dot<4>(v32963,hx2980);
          real4 tv2994#1 = <real4>[t02995,t12996,t22997,t32998];
          real _t295A#1 = Dot<4>(hy2981,tv2994);
          real _t29D7#2 = Sub<real>(_t28DD,_t295A);
          real _t29D9#1 = Mul<real>(_t29D7,_t29D7);
          real score29DB#1 = Add<real>(score28C6,_t29D9);
          goto JOIN29DE
        JOIN29DE:  preds = [ASSIGN29DC,COND28DC]
          real score29DD#2 = phi(score29DB,score28C6)
          real _t29DF#1 = Dot<2>(r00FA5,v240F41);
          real _t29E1#1 = Dot<2>(r10FAB,v240F41);
          real2 _t29E3#1 = <real2>[_t29DF,_t29E1];
          real2 pos29E5#2 = Add<real2>(_t29E3,_t0FBB);
          real2 x29E8#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos29E5);
          bool _t29E7#1 = Inside<IMAGE2D<float>,2>(x29E8,_t0EFD);
          if _t29E7 then goto ASSIGN29EE else goto ASSIGN3074
        ASSIGN29EE:  preds = [COND29EB]
          real2 x29ED#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v240F41);
          bool _t29EC#1 = Inside<IMAGE2D<int>,2>(x29ED,_t0EF9);
          goto JOIN29F2
        JOIN29F2:  preds = [ASSIGN29EF,ASSIGN3074]
          bool _t29F0#1 = phi(_t29EC,_t29F1)
          if _t29F0 then goto ASSIGN33B7 else goto JOIN2AF5
        ASSIGN33B7:  preds = [COND29F3]
          real2 nd29F7#2 = Floor<2>(x29E8);
          real2 f29F6#2 = Sub<real2>(x29E8,nd29F7);
          int{2} n29F8#8 = RealToInt<2>(nd29F7);
          int t12A14#4 = -1;
          int t22A15#1 = Index<int{2},0>(n29F8);
          int ix2A13#4 = Add<int>(t12A14,t22A15);
          int t22A18#4 = Index<int{2},1>(n29F8);
          int iy2A16#1 = Add<int>(t12A14,t22A18);
          addr(IMAGE2D<float>) a2A19#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A16);
          real4 v029FA#1 = LoadVoxels<IMAGE2D<float>,4>(a2A19);
          int iy2A0F#1 = Add<int>(_t0FB3,t22A18);
          addr(IMAGE2D<float>) a2A12#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A0F);
          real4 v129FB#1 = LoadVoxels<IMAGE2D<float>,4>(a2A12);
          int iy2A08#1 = Add<int>(_t0FB7,t22A18);
          addr(IMAGE2D<float>) a2A0B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A08);
          real4 v229FC#1 = LoadVoxels<IMAGE2D<float>,4>(a2A0B);
          int iy2A01#1 = Add<int>(_t0F8F,t22A18);
          addr(IMAGE2D<float>) a2A04#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A01);
          real4 v329FD#1 = LoadVoxels<IMAGE2D<float>,4>(a2A04);
          real fy2A25#5 = Index<real2,1>(f29F6);
          real t32A2A#1 = Add<real>(fy2A25,_t0F8B);
          real t12A28#1 = Sub<real>(fy2A25,_t0F8B);
          real t02A27#1 = Sub<real>(fy2A25,_t0F8D);
          real4 a2A26#1 = <real4>[t32A2A,fy2A25,t12A28,t02A27];
          real4 hy2A1B#1 = EvalKernel<4,bspln3,0>(a2A26);
          real fx2A1C#5 = Index<real2,0>(f29F6);
          real t32A21#1 = Add<real>(fx2A1C,_t0F8B);
          real t12A1F#1 = Sub<real>(fx2A1C,_t0F8B);
          real t02A1E#1 = Sub<real>(fx2A1C,_t0F8D);
          real4 a2A1D#1 = <real4>[t32A21,fx2A1C,t12A1F,t02A1E];
          real4 hx2A1A#4 = EvalKernel<4,bspln3,0>(a2A1D);
          real t02A2F#1 = Dot<4>(v029FA,hx2A1A);
          real t12A30#1 = Dot<4>(v129FB,hx2A1A);
          real t22A31#1 = Dot<4>(v229FC,hx2A1A);
          real t32A32#1 = Dot<4>(v329FD,hx2A1A);
          real4 tv2A2E#1 = <real4>[t02A2F,t12A30,t22A31,t32A32];
          real _t29F4#1 = Dot<4>(hy2A1B,tv2A2E);
          real2 x2A72#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v240F41);
          real2 nd2A74#2 = Floor<2>(x2A72);
          real2 f2A73#2 = Sub<real2>(x2A72,nd2A74);
          int{2} n2A75#8 = RealToInt<2>(nd2A74);
          int t22A92#1 = Index<int{2},0>(n2A75);
          int ix2A90#4 = Add<int>(t12A14,t22A92);
          int t22A95#4 = Index<int{2},1>(n2A75);
          int iy2A93#1 = Add<int>(t12A14,t22A95);
          addr(IMAGE2D<int>) a2A96#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A93);
          real4 v02A77#1 = LoadVoxels<IMAGE2D<int>,4>(a2A96);
          int iy2A8C#1 = Add<int>(_t0FB3,t22A95);
          addr(IMAGE2D<int>) a2A8F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A8C);
          real4 v12A78#1 = LoadVoxels<IMAGE2D<int>,4>(a2A8F);
          int iy2A85#1 = Add<int>(_t0FB7,t22A95);
          addr(IMAGE2D<int>) a2A88#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A85);
          real4 v22A79#1 = LoadVoxels<IMAGE2D<int>,4>(a2A88);
          int iy2A7E#1 = Add<int>(_t0F8F,t22A95);
          addr(IMAGE2D<int>) a2A81#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A7E);
          real4 v32A7A#1 = LoadVoxels<IMAGE2D<int>,4>(a2A81);
          real fy2AA2#5 = Index<real2,1>(f2A73);
          real t32AA7#1 = Add<real>(fy2AA2,_t0F8B);
          real t12AA5#1 = Sub<real>(fy2AA2,_t0F8B);
          real t02AA4#1 = Sub<real>(fy2AA2,_t0F8D);
          real4 a2AA3#1 = <real4>[t32AA7,fy2AA2,t12AA5,t02AA4];
          real4 hy2A98#1 = EvalKernel<4,bspln3,0>(a2AA3);
          real fx2A99#5 = Index<real2,0>(f2A73);
          real t32A9E#1 = Add<real>(fx2A99,_t0F8B);
          real t12A9C#1 = Sub<real>(fx2A99,_t0F8B);
          real t02A9B#1 = Sub<real>(fx2A99,_t0F8D);
          real4 a2A9A#1 = <real4>[t32A9E,fx2A99,t12A9C,t02A9B];
          real4 hx2A97#4 = EvalKernel<4,bspln3,0>(a2A9A);
          real t02AAC#1 = Dot<4>(v02A77,hx2A97);
          real t12AAD#1 = Dot<4>(v12A78,hx2A97);
          real t22AAE#1 = Dot<4>(v22A79,hx2A97);
          real t32AAF#1 = Dot<4>(v32A7A,hx2A97);
          real4 tv2AAB#1 = <real4>[t02AAC,t12AAD,t22AAE,t32AAF];
          real _t2A71#1 = Dot<4>(hy2A98,tv2AAB);
          real _t2AEE#2 = Sub<real>(_t29F4,_t2A71);
          real _t2AF0#1 = Mul<real>(_t2AEE,_t2AEE);
          real score2AF2#1 = Add<real>(score29DD,_t2AF0);
          goto JOIN2AF5
        JOIN2AF5:  preds = [ASSIGN2AF3,COND29F3]
          real score2AF4#2 = phi(score2AF2,score29DD)
          real _t2AF6#1 = Dot<2>(r00FA5,v250F43);
          real _t2AF8#1 = Dot<2>(r10FAB,v250F43);
          real2 _t2AFA#1 = <real2>[_t2AF6,_t2AF8];
          real2 pos2AFC#2 = Add<real2>(_t2AFA,_t0FBB);
          real2 x2AFF#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2AFC);
          bool _t2AFE#1 = Inside<IMAGE2D<float>,2>(x2AFF,_t0EFD);
          if _t2AFE then goto ASSIGN2B05 else goto ASSIGN3073
        ASSIGN2B05:  preds = [COND2B02]
          real2 x2B04#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v250F43);
          bool _t2B03#1 = Inside<IMAGE2D<int>,2>(x2B04,_t0EF9);
          goto JOIN2B09
        JOIN2B09:  preds = [ASSIGN2B06,ASSIGN3073]
          bool _t2B07#1 = phi(_t2B03,_t2B08)
          if _t2B07 then goto ASSIGN33D8 else goto JOIN2C0C
        ASSIGN33D8:  preds = [COND2B0A]
          real2 nd2B0E#2 = Floor<2>(x2AFF);
          real2 f2B0D#2 = Sub<real2>(x2AFF,nd2B0E);
          int{2} n2B0F#8 = RealToInt<2>(nd2B0E);
          int t12B2B#4 = -1;
          int t22B2C#1 = Index<int{2},0>(n2B0F);
          int ix2B2A#4 = Add<int>(t12B2B,t22B2C);
          int t22B2F#4 = Index<int{2},1>(n2B0F);
          int iy2B2D#1 = Add<int>(t12B2B,t22B2F);
          addr(IMAGE2D<float>) a2B30#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B2D);
          real4 v02B11#1 = LoadVoxels<IMAGE2D<float>,4>(a2B30);
          int iy2B26#1 = Add<int>(_t0FB3,t22B2F);
          addr(IMAGE2D<float>) a2B29#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B26);
          real4 v12B12#1 = LoadVoxels<IMAGE2D<float>,4>(a2B29);
          int iy2B1F#1 = Add<int>(_t0FB7,t22B2F);
          addr(IMAGE2D<float>) a2B22#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B1F);
          real4 v22B13#1 = LoadVoxels<IMAGE2D<float>,4>(a2B22);
          int iy2B18#1 = Add<int>(_t0F8F,t22B2F);
          addr(IMAGE2D<float>) a2B1B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B18);
          real4 v32B14#1 = LoadVoxels<IMAGE2D<float>,4>(a2B1B);
          real fy2B3C#5 = Index<real2,1>(f2B0D);
          real t32B41#1 = Add<real>(fy2B3C,_t0F8B);
          real t12B3F#1 = Sub<real>(fy2B3C,_t0F8B);
          real t02B3E#1 = Sub<real>(fy2B3C,_t0F8D);
          real4 a2B3D#1 = <real4>[t32B41,fy2B3C,t12B3F,t02B3E];
          real4 hy2B32#1 = EvalKernel<4,bspln3,0>(a2B3D);
          real fx2B33#5 = Index<real2,0>(f2B0D);
          real t32B38#1 = Add<real>(fx2B33,_t0F8B);
          real t12B36#1 = Sub<real>(fx2B33,_t0F8B);
          real t02B35#1 = Sub<real>(fx2B33,_t0F8D);
          real4 a2B34#1 = <real4>[t32B38,fx2B33,t12B36,t02B35];
          real4 hx2B31#4 = EvalKernel<4,bspln3,0>(a2B34);
          real t02B46#1 = Dot<4>(v02B11,hx2B31);
          real t12B47#1 = Dot<4>(v12B12,hx2B31);
          real t22B48#1 = Dot<4>(v22B13,hx2B31);
          real t32B49#1 = Dot<4>(v32B14,hx2B31);
          real4 tv2B45#1 = <real4>[t02B46,t12B47,t22B48,t32B49];
          real _t2B0B#1 = Dot<4>(hy2B32,tv2B45);
          real2 x2B89#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v250F43);
          real2 nd2B8B#2 = Floor<2>(x2B89);
          real2 f2B8A#2 = Sub<real2>(x2B89,nd2B8B);
          int{2} n2B8C#8 = RealToInt<2>(nd2B8B);
          int t22BA9#1 = Index<int{2},0>(n2B8C);
          int ix2BA7#4 = Add<int>(t12B2B,t22BA9);
          int t22BAC#4 = Index<int{2},1>(n2B8C);
          int iy2BAA#1 = Add<int>(t12B2B,t22BAC);
          addr(IMAGE2D<int>) a2BAD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2BAA);
          real4 v02B8E#1 = LoadVoxels<IMAGE2D<int>,4>(a2BAD);
          int iy2BA3#1 = Add<int>(_t0FB3,t22BAC);
          addr(IMAGE2D<int>) a2BA6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2BA3);
          real4 v12B8F#1 = LoadVoxels<IMAGE2D<int>,4>(a2BA6);
          int iy2B9C#1 = Add<int>(_t0FB7,t22BAC);
          addr(IMAGE2D<int>) a2B9F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2B9C);
          real4 v22B90#1 = LoadVoxels<IMAGE2D<int>,4>(a2B9F);
          int iy2B95#1 = Add<int>(_t0F8F,t22BAC);
          addr(IMAGE2D<int>) a2B98#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2B95);
          real4 v32B91#1 = LoadVoxels<IMAGE2D<int>,4>(a2B98);
          real fy2BB9#5 = Index<real2,1>(f2B8A);
          real t32BBE#1 = Add<real>(fy2BB9,_t0F8B);
          real t12BBC#1 = Sub<real>(fy2BB9,_t0F8B);
          real t02BBB#1 = Sub<real>(fy2BB9,_t0F8D);
          real4 a2BBA#1 = <real4>[t32BBE,fy2BB9,t12BBC,t02BBB];
          real4 hy2BAF#1 = EvalKernel<4,bspln3,0>(a2BBA);
          real fx2BB0#5 = Index<real2,0>(f2B8A);
          real t32BB5#1 = Add<real>(fx2BB0,_t0F8B);
          real t12BB3#1 = Sub<real>(fx2BB0,_t0F8B);
          real t02BB2#1 = Sub<real>(fx2BB0,_t0F8D);
          real4 a2BB1#1 = <real4>[t32BB5,fx2BB0,t12BB3,t02BB2];
          real4 hx2BAE#4 = EvalKernel<4,bspln3,0>(a2BB1);
          real t02BC3#1 = Dot<4>(v02B8E,hx2BAE);
          real t12BC4#1 = Dot<4>(v12B8F,hx2BAE);
          real t22BC5#1 = Dot<4>(v22B90,hx2BAE);
          real t32BC6#1 = Dot<4>(v32B91,hx2BAE);
          real4 tv2BC2#1 = <real4>[t02BC3,t12BC4,t22BC5,t32BC6];
          real _t2B88#1 = Dot<4>(hy2BAF,tv2BC2);
          real _t2C05#2 = Sub<real>(_t2B0B,_t2B88);
          real _t2C07#1 = Mul<real>(_t2C05,_t2C05);
          real score2C09#1 = Add<real>(score2AF4,_t2C07);
          goto JOIN2C0C
        JOIN2C0C:  preds = [ASSIGN2C0A,COND2B0A]
          real score2C0B#2 = phi(score2C09,score2AF4)
          real _t2C0D#1 = Dot<2>(r00FA5,v260F45);
          real _t2C0F#1 = Dot<2>(r10FAB,v260F45);
          real2 _t2C11#1 = <real2>[_t2C0D,_t2C0F];
          real2 pos2C13#2 = Add<real2>(_t2C11,_t0FBB);
          real2 x2C16#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2C13);
          bool _t2C15#1 = Inside<IMAGE2D<float>,2>(x2C16,_t0EFD);
          if _t2C15 then goto ASSIGN2C1C else goto ASSIGN3072
        ASSIGN2C1C:  preds = [COND2C19]
          real2 x2C1B#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v260F45);
          bool _t2C1A#1 = Inside<IMAGE2D<int>,2>(x2C1B,_t0EF9);
          goto JOIN2C20
        JOIN2C20:  preds = [ASSIGN2C1D,ASSIGN3072]
          bool _t2C1E#1 = phi(_t2C1A,_t2C1F)
          if _t2C1E then goto ASSIGN33F9 else goto JOIN2D23
        ASSIGN33F9:  preds = [COND2C21]
          real2 nd2C25#2 = Floor<2>(x2C16);
          real2 f2C24#2 = Sub<real2>(x2C16,nd2C25);
          int{2} n2C26#8 = RealToInt<2>(nd2C25);
          int t12C42#4 = -1;
          int t22C43#1 = Index<int{2},0>(n2C26);
          int ix2C41#4 = Add<int>(t12C42,t22C43);
          int t22C46#4 = Index<int{2},1>(n2C26);
          int iy2C44#1 = Add<int>(t12C42,t22C46);
          addr(IMAGE2D<float>) a2C47#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C44);
          real4 v02C28#1 = LoadVoxels<IMAGE2D<float>,4>(a2C47);
          int iy2C3D#1 = Add<int>(_t0FB3,t22C46);
          addr(IMAGE2D<float>) a2C40#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C3D);
          real4 v12C29#1 = LoadVoxels<IMAGE2D<float>,4>(a2C40);
          int iy2C36#1 = Add<int>(_t0FB7,t22C46);
          addr(IMAGE2D<float>) a2C39#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C36);
          real4 v22C2A#1 = LoadVoxels<IMAGE2D<float>,4>(a2C39);
          int iy2C2F#1 = Add<int>(_t0F8F,t22C46);
          addr(IMAGE2D<float>) a2C32#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C2F);
          real4 v32C2B#1 = LoadVoxels<IMAGE2D<float>,4>(a2C32);
          real fy2C53#5 = Index<real2,1>(f2C24);
          real t32C58#1 = Add<real>(fy2C53,_t0F8B);
          real t12C56#1 = Sub<real>(fy2C53,_t0F8B);
          real t02C55#1 = Sub<real>(fy2C53,_t0F8D);
          real4 a2C54#1 = <real4>[t32C58,fy2C53,t12C56,t02C55];
          real4 hy2C49#1 = EvalKernel<4,bspln3,0>(a2C54);
          real fx2C4A#5 = Index<real2,0>(f2C24);
          real t32C4F#1 = Add<real>(fx2C4A,_t0F8B);
          real t12C4D#1 = Sub<real>(fx2C4A,_t0F8B);
          real t02C4C#1 = Sub<real>(fx2C4A,_t0F8D);
          real4 a2C4B#1 = <real4>[t32C4F,fx2C4A,t12C4D,t02C4C];
          real4 hx2C48#4 = EvalKernel<4,bspln3,0>(a2C4B);
          real t02C5D#1 = Dot<4>(v02C28,hx2C48);
          real t12C5E#1 = Dot<4>(v12C29,hx2C48);
          real t22C5F#1 = Dot<4>(v22C2A,hx2C48);
          real t32C60#1 = Dot<4>(v32C2B,hx2C48);
          real4 tv2C5C#1 = <real4>[t02C5D,t12C5E,t22C5F,t32C60];
          real _t2C22#1 = Dot<4>(hy2C49,tv2C5C);
          real2 x2CA0#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v260F45);
          real2 nd2CA2#2 = Floor<2>(x2CA0);
          real2 f2CA1#2 = Sub<real2>(x2CA0,nd2CA2);
          int{2} n2CA3#8 = RealToInt<2>(nd2CA2);
          int t22CC0#1 = Index<int{2},0>(n2CA3);
          int ix2CBE#4 = Add<int>(t12C42,t22CC0);
          int t22CC3#4 = Index<int{2},1>(n2CA3);
          int iy2CC1#1 = Add<int>(t12C42,t22CC3);
          addr(IMAGE2D<int>) a2CC4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CC1);
          real4 v02CA5#1 = LoadVoxels<IMAGE2D<int>,4>(a2CC4);
          int iy2CBA#1 = Add<int>(_t0FB3,t22CC3);
          addr(IMAGE2D<int>) a2CBD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CBA);
          real4 v12CA6#1 = LoadVoxels<IMAGE2D<int>,4>(a2CBD);
          int iy2CB3#1 = Add<int>(_t0FB7,t22CC3);
          addr(IMAGE2D<int>) a2CB6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CB3);
          real4 v22CA7#1 = LoadVoxels<IMAGE2D<int>,4>(a2CB6);
          int iy2CAC#1 = Add<int>(_t0F8F,t22CC3);
          addr(IMAGE2D<int>) a2CAF#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CAC);
          real4 v32CA8#1 = LoadVoxels<IMAGE2D<int>,4>(a2CAF);
          real fy2CD0#5 = Index<real2,1>(f2CA1);
          real t32CD5#1 = Add<real>(fy2CD0,_t0F8B);
          real t12CD3#1 = Sub<real>(fy2CD0,_t0F8B);
          real t02CD2#1 = Sub<real>(fy2CD0,_t0F8D);
          real4 a2CD1#1 = <real4>[t32CD5,fy2CD0,t12CD3,t02CD2];
          real4 hy2CC6#1 = EvalKernel<4,bspln3,0>(a2CD1);
          real fx2CC7#5 = Index<real2,0>(f2CA1);
          real t32CCC#1 = Add<real>(fx2CC7,_t0F8B);
          real t12CCA#1 = Sub<real>(fx2CC7,_t0F8B);
          real t02CC9#1 = Sub<real>(fx2CC7,_t0F8D);
          real4 a2CC8#1 = <real4>[t32CCC,fx2CC7,t12CCA,t02CC9];
          real4 hx2CC5#4 = EvalKernel<4,bspln3,0>(a2CC8);
          real t02CDA#1 = Dot<4>(v02CA5,hx2CC5);
          real t12CDB#1 = Dot<4>(v12CA6,hx2CC5);
          real t22CDC#1 = Dot<4>(v22CA7,hx2CC5);
          real t32CDD#1 = Dot<4>(v32CA8,hx2CC5);
          real4 tv2CD9#1 = <real4>[t02CDA,t12CDB,t22CDC,t32CDD];
          real _t2C9F#1 = Dot<4>(hy2CC6,tv2CD9);
          real _t2D1C#2 = Sub<real>(_t2C22,_t2C9F);
          real _t2D1E#1 = Mul<real>(_t2D1C,_t2D1C);
          real score2D20#1 = Add<real>(score2C0B,_t2D1E);
          goto JOIN2D23
        JOIN2D23:  preds = [ASSIGN2D21,COND2C21]
          real score2D22#2 = phi(score2D20,score2C0B)
          real _t2D24#1 = Dot<2>(r00FA5,v270F47);
          real _t2D26#1 = Dot<2>(r10FAB,v270F47);
          real2 _t2D28#1 = <real2>[_t2D24,_t2D26];
          real2 pos2D2A#2 = Add<real2>(_t2D28,_t0FBB);
          real2 x2D2D#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2D2A);
          bool _t2D2C#1 = Inside<IMAGE2D<float>,2>(x2D2D,_t0EFD);
          if _t2D2C then goto ASSIGN2D33 else goto ASSIGN3071
        ASSIGN2D33:  preds = [COND2D30]
          real2 x2D32#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v270F47);
          bool _t2D31#1 = Inside<IMAGE2D<int>,2>(x2D32,_t0EF9);
          goto JOIN2D37
        JOIN2D37:  preds = [ASSIGN2D34,ASSIGN3071]
          bool _t2D35#1 = phi(_t2D31,_t2D36)
          if _t2D35 then goto ASSIGN341A else goto JOIN2E3A
        ASSIGN341A:  preds = [COND2D38]
          real2 nd2D3C#2 = Floor<2>(x2D2D);
          real2 f2D3B#2 = Sub<real2>(x2D2D,nd2D3C);
          int{2} n2D3D#8 = RealToInt<2>(nd2D3C);
          int t12D59#4 = -1;
          int t22D5A#1 = Index<int{2},0>(n2D3D);
          int ix2D58#4 = Add<int>(t12D59,t22D5A);
          int t22D5D#4 = Index<int{2},1>(n2D3D);
          int iy2D5B#1 = Add<int>(t12D59,t22D5D);
          addr(IMAGE2D<float>) a2D5E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D5B);
          real4 v02D3F#1 = LoadVoxels<IMAGE2D<float>,4>(a2D5E);
          int iy2D54#1 = Add<int>(_t0FB3,t22D5D);
          addr(IMAGE2D<float>) a2D57#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D54);
          real4 v12D40#1 = LoadVoxels<IMAGE2D<float>,4>(a2D57);
          int iy2D4D#1 = Add<int>(_t0FB7,t22D5D);
          addr(IMAGE2D<float>) a2D50#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D4D);
          real4 v22D41#1 = LoadVoxels<IMAGE2D<float>,4>(a2D50);
          int iy2D46#1 = Add<int>(_t0F8F,t22D5D);
          addr(IMAGE2D<float>) a2D49#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D46);
          real4 v32D42#1 = LoadVoxels<IMAGE2D<float>,4>(a2D49);
          real fy2D6A#5 = Index<real2,1>(f2D3B);
          real t32D6F#1 = Add<real>(fy2D6A,_t0F8B);
          real t12D6D#1 = Sub<real>(fy2D6A,_t0F8B);
          real t02D6C#1 = Sub<real>(fy2D6A,_t0F8D);
          real4 a2D6B#1 = <real4>[t32D6F,fy2D6A,t12D6D,t02D6C];
          real4 hy2D60#1 = EvalKernel<4,bspln3,0>(a2D6B);
          real fx2D61#5 = Index<real2,0>(f2D3B);
          real t32D66#1 = Add<real>(fx2D61,_t0F8B);
          real t12D64#1 = Sub<real>(fx2D61,_t0F8B);
          real t02D63#1 = Sub<real>(fx2D61,_t0F8D);
          real4 a2D62#1 = <real4>[t32D66,fx2D61,t12D64,t02D63];
          real4 hx2D5F#4 = EvalKernel<4,bspln3,0>(a2D62);
          real t02D74#1 = Dot<4>(v02D3F,hx2D5F);
          real t12D75#1 = Dot<4>(v12D40,hx2D5F);
          real t22D76#1 = Dot<4>(v22D41,hx2D5F);
          real t32D77#1 = Dot<4>(v32D42,hx2D5F);
          real4 tv2D73#1 = <real4>[t02D74,t12D75,t22D76,t32D77];
          real _t2D39#1 = Dot<4>(hy2D60,tv2D73);
          real2 x2DB7#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v270F47);
          real2 nd2DB9#2 = Floor<2>(x2DB7);
          real2 f2DB8#2 = Sub<real2>(x2DB7,nd2DB9);
          int{2} n2DBA#8 = RealToInt<2>(nd2DB9);
          int t22DD7#1 = Index<int{2},0>(n2DBA);
          int ix2DD5#4 = Add<int>(t12D59,t22DD7);
          int t22DDA#4 = Index<int{2},1>(n2DBA);
          int iy2DD8#1 = Add<int>(t12D59,t22DDA);
          addr(IMAGE2D<int>) a2DDB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DD8);
          real4 v02DBC#1 = LoadVoxels<IMAGE2D<int>,4>(a2DDB);
          int iy2DD1#1 = Add<int>(_t0FB3,t22DDA);
          addr(IMAGE2D<int>) a2DD4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DD1);
          real4 v12DBD#1 = LoadVoxels<IMAGE2D<int>,4>(a2DD4);
          int iy2DCA#1 = Add<int>(_t0FB7,t22DDA);
          addr(IMAGE2D<int>) a2DCD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DCA);
          real4 v22DBE#1 = LoadVoxels<IMAGE2D<int>,4>(a2DCD);
          int iy2DC3#1 = Add<int>(_t0F8F,t22DDA);
          addr(IMAGE2D<int>) a2DC6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DC3);
          real4 v32DBF#1 = LoadVoxels<IMAGE2D<int>,4>(a2DC6);
          real fy2DE7#5 = Index<real2,1>(f2DB8);
          real t32DEC#1 = Add<real>(fy2DE7,_t0F8B);
          real t12DEA#1 = Sub<real>(fy2DE7,_t0F8B);
          real t02DE9#1 = Sub<real>(fy2DE7,_t0F8D);
          real4 a2DE8#1 = <real4>[t32DEC,fy2DE7,t12DEA,t02DE9];
          real4 hy2DDD#1 = EvalKernel<4,bspln3,0>(a2DE8);
          real fx2DDE#5 = Index<real2,0>(f2DB8);
          real t32DE3#1 = Add<real>(fx2DDE,_t0F8B);
          real t12DE1#1 = Sub<real>(fx2DDE,_t0F8B);
          real t02DE0#1 = Sub<real>(fx2DDE,_t0F8D);
          real4 a2DDF#1 = <real4>[t32DE3,fx2DDE,t12DE1,t02DE0];
          real4 hx2DDC#4 = EvalKernel<4,bspln3,0>(a2DDF);
          real t02DF1#1 = Dot<4>(v02DBC,hx2DDC);
          real t12DF2#1 = Dot<4>(v12DBD,hx2DDC);
          real t22DF3#1 = Dot<4>(v22DBE,hx2DDC);
          real t32DF4#1 = Dot<4>(v32DBF,hx2DDC);
          real4 tv2DF0#1 = <real4>[t02DF1,t12DF2,t22DF3,t32DF4];
          real _t2DB6#1 = Dot<4>(hy2DDD,tv2DF0);
          real _t2E33#2 = Sub<real>(_t2D39,_t2DB6);
          real _t2E35#1 = Mul<real>(_t2E33,_t2E33);
          real score2E37#1 = Add<real>(score2D22,_t2E35);
          goto JOIN2E3A
        JOIN2E3A:  preds = [ASSIGN2E38,COND2D38]
          real score2E39#2 = phi(score2E37,score2D22)
          real _t2E3B#1 = Dot<2>(r00FA5,v280F49);
          real _t2E3D#1 = Dot<2>(r10FAB,v280F49);
          real2 _t2E3F#1 = <real2>[_t2E3B,_t2E3D];
          real2 pos2E41#2 = Add<real2>(_t2E3F,_t0FBB);
          real2 x2E44#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2E41);
          bool _t2E43#1 = Inside<IMAGE2D<float>,2>(x2E44,_t0EFD);
          if _t2E43 then goto ASSIGN2E4A else goto ASSIGN3070
        ASSIGN2E4A:  preds = [COND2E47]
          real2 x2E49#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v280F49);
          bool _t2E48#1 = Inside<IMAGE2D<int>,2>(x2E49,_t0EF9);
          goto JOIN2E4E
        JOIN2E4E:  preds = [ASSIGN2E4B,ASSIGN3070]
          bool _t2E4C#1 = phi(_t2E48,_t2E4D)
          if _t2E4C then goto ASSIGN343B else goto JOIN2F51
        ASSIGN343B:  preds = [COND2E4F]
          real2 nd2E53#2 = Floor<2>(x2E44);
          real2 f2E52#2 = Sub<real2>(x2E44,nd2E53);
          int{2} n2E54#8 = RealToInt<2>(nd2E53);
          int t12E70#4 = -1;
          int t22E71#1 = Index<int{2},0>(n2E54);
          int ix2E6F#4 = Add<int>(t12E70,t22E71);
          int t22E74#4 = Index<int{2},1>(n2E54);
          int iy2E72#1 = Add<int>(t12E70,t22E74);
          addr(IMAGE2D<float>) a2E75#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E72);
          real4 v02E56#1 = LoadVoxels<IMAGE2D<float>,4>(a2E75);
          int iy2E6B#1 = Add<int>(_t0FB3,t22E74);
          addr(IMAGE2D<float>) a2E6E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E6B);
          real4 v12E57#1 = LoadVoxels<IMAGE2D<float>,4>(a2E6E);
          int iy2E64#1 = Add<int>(_t0FB7,t22E74);
          addr(IMAGE2D<float>) a2E67#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E64);
          real4 v22E58#1 = LoadVoxels<IMAGE2D<float>,4>(a2E67);
          int iy2E5D#1 = Add<int>(_t0F8F,t22E74);
          addr(IMAGE2D<float>) a2E60#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E5D);
          real4 v32E59#1 = LoadVoxels<IMAGE2D<float>,4>(a2E60);
          real fy2E81#5 = Index<real2,1>(f2E52);
          real t32E86#1 = Add<real>(fy2E81,_t0F8B);
          real t12E84#1 = Sub<real>(fy2E81,_t0F8B);
          real t02E83#1 = Sub<real>(fy2E81,_t0F8D);
          real4 a2E82#1 = <real4>[t32E86,fy2E81,t12E84,t02E83];
          real4 hy2E77#1 = EvalKernel<4,bspln3,0>(a2E82);
          real fx2E78#5 = Index<real2,0>(f2E52);
          real t32E7D#1 = Add<real>(fx2E78,_t0F8B);
          real t12E7B#1 = Sub<real>(fx2E78,_t0F8B);
          real t02E7A#1 = Sub<real>(fx2E78,_t0F8D);
          real4 a2E79#1 = <real4>[t32E7D,fx2E78,t12E7B,t02E7A];
          real4 hx2E76#4 = EvalKernel<4,bspln3,0>(a2E79);
          real t02E8B#1 = Dot<4>(v02E56,hx2E76);
          real t12E8C#1 = Dot<4>(v12E57,hx2E76);
          real t22E8D#1 = Dot<4>(v22E58,hx2E76);
          real t32E8E#1 = Dot<4>(v32E59,hx2E76);
          real4 tv2E8A#1 = <real4>[t02E8B,t12E8C,t22E8D,t32E8E];
          real _t2E50#1 = Dot<4>(hy2E77,tv2E8A);
          real2 x2ECE#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v280F49);
          real2 nd2ED0#2 = Floor<2>(x2ECE);
          real2 f2ECF#2 = Sub<real2>(x2ECE,nd2ED0);
          int{2} n2ED1#8 = RealToInt<2>(nd2ED0);
          int t22EEE#1 = Index<int{2},0>(n2ED1);
          int ix2EEC#4 = Add<int>(t12E70,t22EEE);
          int t22EF1#4 = Index<int{2},1>(n2ED1);
          int iy2EEF#1 = Add<int>(t12E70,t22EF1);
          addr(IMAGE2D<int>) a2EF2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EEF);
          real4 v02ED3#1 = LoadVoxels<IMAGE2D<int>,4>(a2EF2);
          int iy2EE8#1 = Add<int>(_t0FB3,t22EF1);
          addr(IMAGE2D<int>) a2EEB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EE8);
          real4 v12ED4#1 = LoadVoxels<IMAGE2D<int>,4>(a2EEB);
          int iy2EE1#1 = Add<int>(_t0FB7,t22EF1);
          addr(IMAGE2D<int>) a2EE4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EE1);
          real4 v22ED5#1 = LoadVoxels<IMAGE2D<int>,4>(a2EE4);
          int iy2EDA#1 = Add<int>(_t0F8F,t22EF1);
          addr(IMAGE2D<int>) a2EDD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EDA);
          real4 v32ED6#1 = LoadVoxels<IMAGE2D<int>,4>(a2EDD);
          real fy2EFE#5 = Index<real2,1>(f2ECF);
          real t32F03#1 = Add<real>(fy2EFE,_t0F8B);
          real t12F01#1 = Sub<real>(fy2EFE,_t0F8B);
          real t02F00#1 = Sub<real>(fy2EFE,_t0F8D);
          real4 a2EFF#1 = <real4>[t32F03,fy2EFE,t12F01,t02F00];
          real4 hy2EF4#1 = EvalKernel<4,bspln3,0>(a2EFF);
          real fx2EF5#5 = Index<real2,0>(f2ECF);
          real t32EFA#1 = Add<real>(fx2EF5,_t0F8B);
          real t12EF8#1 = Sub<real>(fx2EF5,_t0F8B);
          real t02EF7#1 = Sub<real>(fx2EF5,_t0F8D);
          real4 a2EF6#1 = <real4>[t32EFA,fx2EF5,t12EF8,t02EF7];
          real4 hx2EF3#4 = EvalKernel<4,bspln3,0>(a2EF6);
          real t02F08#1 = Dot<4>(v02ED3,hx2EF3);
          real t12F09#1 = Dot<4>(v12ED4,hx2EF3);
          real t22F0A#1 = Dot<4>(v22ED5,hx2EF3);
          real t32F0B#1 = Dot<4>(v32ED6,hx2EF3);
          real4 tv2F07#1 = <real4>[t02F08,t12F09,t22F0A,t32F0B];
          real _t2ECD#1 = Dot<4>(hy2EF4,tv2F07);
          real _t2F4A#2 = Sub<real>(_t2E50,_t2ECD);
          real _t2F4C#1 = Mul<real>(_t2F4A,_t2F4A);
          real score2F4E#1 = Add<real>(score2E39,_t2F4C);
          goto JOIN2F51
        JOIN2F51:  preds = [ASSIGN2F4F,COND2E4F]
          real score2F50#2 = phi(score2F4E,score2E39)
          real _t2F52#1 = Dot<2>(r00FA5,v290F4B);
          real _t2F54#1 = Dot<2>(r10FAB,v290F4B);
          real2 _t2F56#1 = <real2>[_t2F52,_t2F54];
          real2 pos2F58#3 = Add<real2>(_t2F56,_t0FBB);
          real2 x2F5B#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2F58);
          bool _t2F5A#1 = Inside<IMAGE2D<float>,2>(x2F5B,_t0EFD);
          if _t2F5A then goto ASSIGN2F61 else goto ASSIGN306F
        ASSIGN2F61:  preds = [COND2F5E]
          real2 x2F60#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v290F4B);
          bool _t2F5F#1 = Inside<IMAGE2D<int>,2>(x2F60,_t0EF9);
          goto JOIN2F65
        JOIN2F65:  preds = [ASSIGN2F62,ASSIGN306F]
          bool _t2F63#1 = phi(_t2F5F,_t2F64)
          if _t2F63 then goto ASSIGN345C else goto JOIN3068
        ASSIGN345C:  preds = [COND2F66]
          real2 nd2F6A#2 = Floor<2>(x2F5B);
          real2 f2F69#2 = Sub<real2>(x2F5B,nd2F6A);
          int{2} n2F6B#8 = RealToInt<2>(nd2F6A);
          int t12F87#4 = -1;
          int t22F88#1 = Index<int{2},0>(n2F6B);
          int ix2F86#4 = Add<int>(t12F87,t22F88);
          int t22F8B#4 = Index<int{2},1>(n2F6B);
          int iy2F89#1 = Add<int>(t12F87,t22F8B);
          addr(IMAGE2D<float>) a2F8C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F89);
          real4 v02F6D#1 = LoadVoxels<IMAGE2D<float>,4>(a2F8C);
          int iy2F82#1 = Add<int>(_t0FB3,t22F8B);
          addr(IMAGE2D<float>) a2F85#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F82);
          real4 v12F6E#1 = LoadVoxels<IMAGE2D<float>,4>(a2F85);
          int iy2F7B#1 = Add<int>(_t0FB7,t22F8B);
          addr(IMAGE2D<float>) a2F7E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F7B);
          real4 v22F6F#1 = LoadVoxels<IMAGE2D<float>,4>(a2F7E);
          int iy2F74#1 = Add<int>(_t0F8F,t22F8B);
          addr(IMAGE2D<float>) a2F77#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F74);
          real4 v32F70#1 = LoadVoxels<IMAGE2D<float>,4>(a2F77);
          real fy2F98#5 = Index<real2,1>(f2F69);
          real t32F9D#1 = Add<real>(fy2F98,_t0F8B);
          real t12F9B#1 = Sub<real>(fy2F98,_t0F8B);
          real t02F9A#1 = Sub<real>(fy2F98,_t0F8D);
          real4 a2F99#1 = <real4>[t32F9D,fy2F98,t12F9B,t02F9A];
          real4 hy2F8E#1 = EvalKernel<4,bspln3,0>(a2F99);
          real fx2F8F#5 = Index<real2,0>(f2F69);
          real t32F94#1 = Add<real>(fx2F8F,_t0F8B);
          real t12F92#1 = Sub<real>(fx2F8F,_t0F8B);
          real t02F91#1 = Sub<real>(fx2F8F,_t0F8D);
          real4 a2F90#1 = <real4>[t32F94,fx2F8F,t12F92,t02F91];
          real4 hx2F8D#4 = EvalKernel<4,bspln3,0>(a2F90);
          real t02FA2#1 = Dot<4>(v02F6D,hx2F8D);
          real t12FA3#1 = Dot<4>(v12F6E,hx2F8D);
          real t22FA4#1 = Dot<4>(v22F6F,hx2F8D);
          real t32FA5#1 = Dot<4>(v32F70,hx2F8D);
          real4 tv2FA1#1 = <real4>[t02FA2,t12FA3,t22FA4,t32FA5];
          real _t2F67#1 = Dot<4>(hy2F8E,tv2FA1);
          real2 x2FE5#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v290F4B);
          real2 nd2FE7#2 = Floor<2>(x2FE5);
          real2 f2FE6#2 = Sub<real2>(x2FE5,nd2FE7);
          int{2} n2FE8#8 = RealToInt<2>(nd2FE7);
          int t23005#1 = Index<int{2},0>(n2FE8);
          int ix3003#4 = Add<int>(t12F87,t23005);
          int t23008#4 = Index<int{2},1>(n2FE8);
          int iy3006#1 = Add<int>(t12F87,t23008);
          addr(IMAGE2D<int>) a3009#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy3006);
          real4 v02FEA#1 = LoadVoxels<IMAGE2D<int>,4>(a3009);
          int iy2FFF#1 = Add<int>(_t0FB3,t23008);
          addr(IMAGE2D<int>) a3002#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy2FFF);
          real4 v12FEB#1 = LoadVoxels<IMAGE2D<int>,4>(a3002);
          int iy2FF8#1 = Add<int>(_t0FB7,t23008);
          addr(IMAGE2D<int>) a2FFB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy2FF8);
          real4 v22FEC#1 = LoadVoxels<IMAGE2D<int>,4>(a2FFB);
          int iy2FF1#1 = Add<int>(_t0F8F,t23008);
          addr(IMAGE2D<int>) a2FF4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy2FF1);
          real4 v32FED#1 = LoadVoxels<IMAGE2D<int>,4>(a2FF4);
          real fy3015#5 = Index<real2,1>(f2FE6);
          real t3301A#1 = Add<real>(fy3015,_t0F8B);
          real t13018#1 = Sub<real>(fy3015,_t0F8B);
          real t03017#1 = Sub<real>(fy3015,_t0F8D);
          real4 a3016#1 = <real4>[t3301A,fy3015,t13018,t03017];
          real4 hy300B#1 = EvalKernel<4,bspln3,0>(a3016);
          real fx300C#5 = Index<real2,0>(f2FE6);
          real t33011#1 = Add<real>(fx300C,_t0F8B);
          real t1300F#1 = Sub<real>(fx300C,_t0F8B);
          real t0300E#1 = Sub<real>(fx300C,_t0F8D);
          real4 a300D#1 = <real4>[t33011,fx300C,t1300F,t0300E];
          real4 hx300A#4 = EvalKernel<4,bspln3,0>(a300D);
          real t0301F#1 = Dot<4>(v02FEA,hx300A);
          real t13020#1 = Dot<4>(v12FEB,hx300A);
          real t23021#1 = Dot<4>(v22FEC,hx300A);
          real t33022#1 = Dot<4>(v32FED,hx300A);
          real4 tv301E#1 = <real4>[t0301F,t13020,t23021,t33022];
          real _t2FE4#1 = Dot<4>(hy300B,tv301E);
          real _t3061#2 = Sub<real>(_t2F67,_t2FE4);
          real _t3063#1 = Mul<real>(_t3061,_t3061);
          real score3065#1 = Add<real>(score2F50,_t3063);
          goto JOIN3068
        JOIN3068:  preds = [ASSIGN3066,COND2F66]
          real score3067#1 = phi(score3065,score2F50)
          self.t = t0F87;
          self.score = score3067;
          self.r0 = r00FA5;
          self.r1 = r10FAB;
          self.pos = pos2F58;
          stabilize ()
        ASSIGN306F:  preds = [COND2F5E]
          bool _t2F64#1 = false;
          goto JOIN2F65
        ASSIGN3070:  preds = [COND2E47]
          bool _t2E4D#1 = false;
          goto JOIN2E4E
        ASSIGN3071:  preds = [COND2D30]
          bool _t2D36#1 = false;
          goto JOIN2D37
        ASSIGN3072:  preds = [COND2C19]
          bool _t2C1F#1 = false;
          goto JOIN2C20
        ASSIGN3073:  preds = [COND2B02]
          bool _t2B08#1 = false;
          goto JOIN2B09
        ASSIGN3074:  preds = [COND29EB]
          bool _t29F1#1 = false;
          goto JOIN29F2
        ASSIGN3075:  preds = [COND28D4]
          bool _t28DA#1 = false;
          goto JOIN28DB
        ASSIGN3076:  preds = [COND27BD]
          bool _t27C3#1 = false;
          goto JOIN27C4
        ASSIGN3077:  preds = [COND26A6]
          bool _t26AC#1 = false;
          goto JOIN26AD
        ASSIGN3078:  preds = [COND258F]
          bool _t2595#1 = false;
          goto JOIN2596
        ASSIGN3079:  preds = [COND2478]
          bool _t247E#1 = false;
          goto JOIN247F
        ASSIGN307A:  preds = [COND2361]
          bool _t2367#1 = false;
          goto JOIN2368
        ASSIGN307B:  preds = [COND224A]
          bool _t2250#1 = false;
          goto JOIN2251
        ASSIGN307C:  preds = [COND2133]
          bool _t2139#1 = false;
          goto JOIN213A
        ASSIGN307D:  preds = [COND201C]
          bool _t2022#1 = false;
          goto JOIN2023
        ASSIGN307E:  preds = [COND1F05]
          bool _t1F0B#1 = false;
          goto JOIN1F0C
        ASSIGN307F:  preds = [COND1DEE]
          bool _t1DF4#1 = false;
          goto JOIN1DF5
        ASSIGN3080:  preds = [COND1CD7]
          bool _t1CDD#1 = false;
          goto JOIN1CDE
        ASSIGN3081:  preds = [COND1BC0]
          bool _t1BC6#1 = false;
          goto JOIN1BC7
        ASSIGN3082:  preds = [COND1AA9]
          bool _t1AAF#1 = false;
          goto JOIN1AB0
        ASSIGN3083:  preds = [COND1992]
          bool _t1998#1 = false;
          goto JOIN1999
        ASSIGN3084:  preds = [COND187B]
          bool _t1881#1 = false;
          goto JOIN1882
        ASSIGN3085:  preds = [COND1764]
          bool _t176A#1 = false;
          goto JOIN176B
        ASSIGN3086:  preds = [COND164D]
          bool _t1653#1 = false;
          goto JOIN1654
        ASSIGN3087:  preds = [COND1536]
          bool _t153C#1 = false;
          goto JOIN153D
        ASSIGN3088:  preds = [COND141F]
          bool _t1425#1 = false;
          goto JOIN1426
        ASSIGN3089:  preds = [COND1308]
          bool _t130E#1 = false;
          goto JOIN130F
        ASSIGN308A:  preds = [COND11F1]
          bool _t11F7#1 = false;
          goto JOIN11F8
        ASSIGN308B:  preds = [COND10DA]
          bool _t10E0#1 = false;
          goto JOIN10E1
        ASSIGN308C:  preds = [COND0FC3]
          bool _t0FC9#1 = false;
          goto JOIN0FCA
    end Update
    method Stabilize
        ENTRY308E:  preds = []
          real3 t308F#1 = self.t;
          real score3091#1 = self.score;
          real2 r03093#1 = self.r0;
          real2 r13095#1 = self.r1;
          real2 pos3097#1 = self.pos;
          self.t = t308F;
          self.score = score3091;
          self.r0 = r03093;
          self.r1 = r13095;
          self.pos = pos3097;
          return ()
    end Stabilize
  end R
#### end program ####
++ mid-opt:unused
##### MidIL after contraction ####
## properties
  none
## globals
  global int T0F4D#0
  global int F0F4E#0
  global real2 v000F03#4
  global real2 v010F09#4
  global real2 v020F0D#4
  global real2 v030F0F#4
  global real2 v040F11#4
  global real2 v050F17#4
  global real2 v060F19#4
  global real2 v070F1B#4
  global real2 v080F1D#4
  global real2 v090F1F#4
  global real2 v100F25#4
  global real2 v110F27#4
  global real2 v120F29#4
  global real2 v130F2B#4
  global real2 v140F2D#4
  global real2 v150F2F#4
  global real2 v160F31#4
  global real2 v170F33#4
  global real2 v180F35#4
  global real2 v190F37#4
  global real2 v200F39#4
  global real2 v210F3B#4
  global real2 v220F3D#4
  global real2 v230F3F#4
  global real2 v240F41#4
  global real2 v250F43#4
  global real2 v260F45#4
  global real2 v270F47#4
  global real2 v280F49#4
  global real2 v290F4B#4
  global string _t0EF7#1
  global image(IMAGE2D<int>) _t0EF9#210
  global int _t0EF5#0
  global string _t0EFB#1
  global image(IMAGE2D<float>) _t0EFD#210
  global real _t0F15#5
  global real _t0F23#5
  global real _t0F21#6
  global real _t0F13#6
  global real _t0F01#11
  global real _t0F07#6
  global real _t0F0B#6
  global real _t0F05#7
  global real _t0EFF#12
## global initialization
  ENTRY0EF4:  preds = []
    string _t0EF7#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0EF9#210 = LoadImage<IMAGE2D<int>>(_t0EF7);
    string _t0EFB#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0EFD#210 = LoadImage<IMAGE2D<float>>(_t0EFB);
    real _t0EFF#12 = 0.5e0;
    real _t0F01#11 = Neg<real>(_t0EFF);
    real2 v000F03#4 = <real2>[_t0F01,_t0F01];
    real _t0F05#7 = 0.25e0;
    real _t0F07#6 = Neg<real>(_t0F05);
    real2 v010F09#4 = <real2>[_t0F01,_t0F07];
    real _t0F0B#6 = 0.0;
    real2 v020F0D#4 = <real2>[_t0F01,_t0F0B];
    real2 v030F0F#4 = <real2>[_t0F01,_t0F05];
    real2 v040F11#4 = <real2>[_t0F01,_t0EFF];
    real _t0F13#6 = 0.3e0;
    real _t0F15#5 = Neg<real>(_t0F13);
    real2 v050F17#4 = <real2>[_t0F15,_t0F01];
    real2 v060F19#4 = <real2>[_t0F15,_t0F07];
    real2 v070F1B#4 = <real2>[_t0F15,_t0F0B];
    real2 v080F1D#4 = <real2>[_t0F15,_t0F05];
    real2 v090F1F#4 = <real2>[_t0F15,_t0EFF];
    real _t0F21#6 = 0.1e0;
    real _t0F23#5 = Neg<real>(_t0F21);
    real2 v100F25#4 = <real2>[_t0F23,_t0F01];
    real2 v110F27#4 = <real2>[_t0F23,_t0F07];
    real2 v120F29#4 = <real2>[_t0F23,_t0F0B];
    real2 v130F2B#4 = <real2>[_t0F23,_t0F05];
    real2 v140F2D#4 = <real2>[_t0F23,_t0EFF];
    real2 v150F2F#4 = <real2>[_t0F21,_t0F01];
    real2 v160F31#4 = <real2>[_t0F21,_t0F07];
    real2 v170F33#4 = <real2>[_t0F21,_t0F0B];
    real2 v180F35#4 = <real2>[_t0F21,_t0F05];
    real2 v190F37#4 = <real2>[_t0F21,_t0EFF];
    real2 v200F39#4 = <real2>[_t0F13,_t0F01];
    real2 v210F3B#4 = <real2>[_t0F13,_t0F07];
    real2 v220F3D#4 = <real2>[_t0F13,_t0F0B];
    real2 v230F3F#4 = <real2>[_t0F13,_t0F05];
    real2 v240F41#4 = <real2>[_t0F13,_t0EFF];
    real2 v250F43#4 = <real2>[_t0EFF,_t0F01];
    real2 v260F45#4 = <real2>[_t0EFF,_t0F07];
    real2 v270F47#4 = <real2>[_t0EFF,_t0F0B];
    real2 v280F49#4 = <real2>[_t0EFF,_t0F05];
    real2 v290F4B#4 = <real2>[_t0EFF,_t0EFF];
    return (T0F4D,F0F4E,v000F03,v010F09,v020F0D,v030F0F,v040F11,v050F17,v060F19,v070F1B,v080F1D,v090F1F,v100F25,v110F27,v120F29,v130F2B,v140F2D,v150F2F,v160F31,v170F33,v180F35,v190F37,v200F39,v210F3B,v220F3D,v230F3F,v240F41,v250F43,v260F45,v270F47,v280F49,v290F4B,_t0EF7,_t0EF9,_t0EF5,_t0EFB,_t0EFD,_t0F15,_t0F23,_t0F21,_t0F13,_t0F01,_t0F07,_t0F0B,_t0F05,_t0EFF)
## initially
  ARRAY
    ENTRY0F55:  preds = []
      int _t0F51#4 = 0;
      int _t0F52#4 = 60;
      live vars = (_t0F52,_t0F51)
    for int i0F50#1 = _t0F51 .. _t0F52
      for int j0F53#1 = _t0F51 .. _t0F52
        for int k0F54#1 = _t0F51 .. _t0F52
          ENTRY0F59:  preds = []
            live vars = ()
          new R(i0F50,j0F53,k0F54);
## strands
  strand R (int i0F5B#1, int j0F5C#1, int k0F5D#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0F63:  preds = []
        real _t0F64#1 = IntToReal(i0F5B);
        real _t0F66#3 = 0.60e2;
        real _t0F68#1 = Div<real>(_t0F64,_t0F66);
        real _t0F6A#3 = 0.5e0;
        real _t0F6C#1 = Sub<real>(_t0F68,_t0F6A);
        real _t0F6E#1 = IntToReal(j0F5C);
        real _t0F70#1 = Div<real>(_t0F6E,_t0F66);
        real _t0F72#1 = Sub<real>(_t0F70,_t0F6A);
        real _t0F74#1 = IntToReal(k0F5D);
        real _t0F76#1 = Div<real>(_t0F74,_t0F66);
        real _t0F78#1 = Sub<real>(_t0F76,_t0F6A);
        real3 t0F7A#1 = <real3>[_t0F6C,_t0F72,_t0F78];
        real score0F7C#3 = 0.0;
        real2 r00F7E#3 = <real2>[score0F7C,score0F7C];
        self.t = t0F7A;
        self.score = score0F7C;
        self.r0 = r00F7E;
        self.r1 = r00F7E;
        self.pos = r00F7E;
        strand_init ()
    method Update
        ENTRY0F86:  preds = []
          real3 t0F87#4 = self.t;
          real score0F89#2 = self.score;
          real _t0F8B#242 = 0.1e1;
          real _t0F8D#123 = 0.2e1;
          int _t0F8F#61 = 2;
          real _t0F91#6 = Subscript<real3>(t0F87,_t0F8F);
          real _t0F93#1 = Mul<real>(_t0F8D,_t0F91);
          real _t0F95#1 = Mul<real>(_t0F93,_t0F91);
          real _t0F97#2 = Sub<real>(_t0F8B,_t0F95);
          real _t0F99#1 = Neg<real>(_t0F8D);
          real _t0F9B#1 = Mul<real>(_t0F91,_t0F91);
          real _t0F9D#1 = Sub<real>(_t0F8B,_t0F9B);
          real _t0F9F#2 = sqrt(_t0F9D);
          real _t0FA1#1 = Mul<real>(_t0F99,_t0F9F);
          real _t0FA3#1 = Mul<real>(_t0FA1,_t0F91);
          real2 r00FA5#31 = <real2>[_t0F97,_t0FA3];
          real _t0FA7#1 = Mul<real>(_t0F8D,_t0F9F);
          real _t0FA9#1 = Mul<real>(_t0FA7,_t0F91);
          real2 r10FAB#31 = <real2>[_t0FA9,_t0F97];
          real _t0FAD#1 = Dot<2>(r00FA5,v000F03);
          real _t0FAF#1 = Dot<2>(r10FAB,v000F03);
          real2 _t0FB1#1 = <real2>[_t0FAD,_t0FAF];
          int _t0FB3#61 = 0;
          real _t0FB5#1 = Subscript<real3>(t0F87,_t0FB3);
          int _t0FB7#61 = 1;
          real _t0FB9#1 = Subscript<real3>(t0F87,_t0FB7);
          real2 _t0FBB#30 = <real2>[_t0FB5,_t0FB9];
          real2 pos0FBD#2 = Add<real2>(_t0FB1,_t0FBB);
          real2 x0FC0#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos0FBD);
          bool _t0FBF#1 = Inside<IMAGE2D<float>,2>(x0FC0,_t0EFD);
          if _t0FBF then goto ASSIGN0FC6 else goto ASSIGN308C
        ASSIGN0FC6:  preds = [COND0FC3]
          real2 x0FC5#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v000F03);
          bool _t0FC4#1 = Inside<IMAGE2D<int>,2>(x0FC5,_t0EF9);
          goto JOIN0FCA
        JOIN0FCA:  preds = [ASSIGN0FC7,ASSIGN308C]
          bool _t0FC8#1 = phi(_t0FC4,_t0FC9)
          if _t0FC8 then goto ASSIGN309F else goto JOIN10CD
        ASSIGN309F:  preds = [COND0FCB]
          real2 nd0FCF#2 = Floor<2>(x0FC0);
          real2 f0FCE#2 = Sub<real2>(x0FC0,nd0FCF);
          int{2} n0FD0#8 = RealToInt<2>(nd0FCF);
          int t10FEC#4 = -1;
          int t20FED#1 = Index<int{2},0>(n0FD0);
          int ix0FEB#4 = Add<int>(t10FEC,t20FED);
          int t20FF0#4 = Index<int{2},1>(n0FD0);
          int iy0FEE#1 = Add<int>(t10FEC,t20FF0);
          addr(IMAGE2D<float>) a0FF1#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FEE);
          real4 v00FD2#1 = LoadVoxels<IMAGE2D<float>,4>(a0FF1);
          int iy0FE7#1 = Add<int>(_t0FB3,t20FF0);
          addr(IMAGE2D<float>) a0FEA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FE7);
          real4 v10FD3#1 = LoadVoxels<IMAGE2D<float>,4>(a0FEA);
          int iy0FE0#1 = Add<int>(_t0FB7,t20FF0);
          addr(IMAGE2D<float>) a0FE3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FE0);
          real4 v20FD4#1 = LoadVoxels<IMAGE2D<float>,4>(a0FE3);
          int iy0FD9#1 = Add<int>(_t0F8F,t20FF0);
          addr(IMAGE2D<float>) a0FDC#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix0FEB,iy0FD9);
          real4 v30FD5#1 = LoadVoxels<IMAGE2D<float>,4>(a0FDC);
          real fy0FFD#5 = Index<real2,1>(f0FCE);
          real t31002#1 = Add<real>(fy0FFD,_t0F8B);
          real t11000#1 = Sub<real>(fy0FFD,_t0F8B);
          real t00FFF#1 = Sub<real>(fy0FFD,_t0F8D);
          real4 a0FFE#1 = <real4>[t31002,fy0FFD,t11000,t00FFF];
          real4 hy0FF3#1 = EvalKernel<4,bspln3,0>(a0FFE);
          real fx0FF4#5 = Index<real2,0>(f0FCE);
          real t30FF9#1 = Add<real>(fx0FF4,_t0F8B);
          real t10FF7#1 = Sub<real>(fx0FF4,_t0F8B);
          real t00FF6#1 = Sub<real>(fx0FF4,_t0F8D);
          real4 a0FF5#1 = <real4>[t30FF9,fx0FF4,t10FF7,t00FF6];
          real4 hx0FF2#4 = EvalKernel<4,bspln3,0>(a0FF5);
          real t01007#1 = Dot<4>(v00FD2,hx0FF2);
          real t11008#1 = Dot<4>(v10FD3,hx0FF2);
          real t21009#1 = Dot<4>(v20FD4,hx0FF2);
          real t3100A#1 = Dot<4>(v30FD5,hx0FF2);
          real4 tv1006#1 = <real4>[t01007,t11008,t21009,t3100A];
          real _t0FCC#1 = Dot<4>(hy0FF3,tv1006);
          real2 x104A#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v000F03);
          real2 nd104C#2 = Floor<2>(x104A);
          real2 f104B#2 = Sub<real2>(x104A,nd104C);
          int{2} n104D#8 = RealToInt<2>(nd104C);
          int t2106A#1 = Index<int{2},0>(n104D);
          int ix1068#4 = Add<int>(t10FEC,t2106A);
          int t2106D#4 = Index<int{2},1>(n104D);
          int iy106B#1 = Add<int>(t10FEC,t2106D);
          addr(IMAGE2D<int>) a106E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy106B);
          real4 v0104F#1 = LoadVoxels<IMAGE2D<int>,4>(a106E);
          int iy1064#1 = Add<int>(_t0FB3,t2106D);
          addr(IMAGE2D<int>) a1067#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy1064);
          real4 v11050#1 = LoadVoxels<IMAGE2D<int>,4>(a1067);
          int iy105D#1 = Add<int>(_t0FB7,t2106D);
          addr(IMAGE2D<int>) a1060#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy105D);
          real4 v21051#1 = LoadVoxels<IMAGE2D<int>,4>(a1060);
          int iy1056#1 = Add<int>(_t0F8F,t2106D);
          addr(IMAGE2D<int>) a1059#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1068,iy1056);
          real4 v31052#1 = LoadVoxels<IMAGE2D<int>,4>(a1059);
          real fy107A#5 = Index<real2,1>(f104B);
          real t3107F#1 = Add<real>(fy107A,_t0F8B);
          real t1107D#1 = Sub<real>(fy107A,_t0F8B);
          real t0107C#1 = Sub<real>(fy107A,_t0F8D);
          real4 a107B#1 = <real4>[t3107F,fy107A,t1107D,t0107C];
          real4 hy1070#1 = EvalKernel<4,bspln3,0>(a107B);
          real fx1071#5 = Index<real2,0>(f104B);
          real t31076#1 = Add<real>(fx1071,_t0F8B);
          real t11074#1 = Sub<real>(fx1071,_t0F8B);
          real t01073#1 = Sub<real>(fx1071,_t0F8D);
          real4 a1072#1 = <real4>[t31076,fx1071,t11074,t01073];
          real4 hx106F#4 = EvalKernel<4,bspln3,0>(a1072);
          real t01084#1 = Dot<4>(v0104F,hx106F);
          real t11085#1 = Dot<4>(v11050,hx106F);
          real t21086#1 = Dot<4>(v21051,hx106F);
          real t31087#1 = Dot<4>(v31052,hx106F);
          real4 tv1083#1 = <real4>[t01084,t11085,t21086,t31087];
          real _t1049#1 = Dot<4>(hy1070,tv1083);
          real _t10C6#2 = Sub<real>(_t0FCC,_t1049);
          real _t10C8#1 = Mul<real>(_t10C6,_t10C6);
          real score10CA#1 = Add<real>(score0F89,_t10C8);
          goto JOIN10CD
        JOIN10CD:  preds = [ASSIGN10CB,COND0FCB]
          real score10CC#2 = phi(score10CA,score0F89)
          real _t10CE#1 = Dot<2>(r00FA5,v010F09);
          real _t10D0#1 = Dot<2>(r10FAB,v010F09);
          real2 _t10D2#1 = <real2>[_t10CE,_t10D0];
          real2 pos10D4#2 = Add<real2>(_t10D2,_t0FBB);
          real2 x10D7#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos10D4);
          bool _t10D6#1 = Inside<IMAGE2D<float>,2>(x10D7,_t0EFD);
          if _t10D6 then goto ASSIGN10DD else goto ASSIGN308B
        ASSIGN10DD:  preds = [COND10DA]
          real2 x10DC#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v010F09);
          bool _t10DB#1 = Inside<IMAGE2D<int>,2>(x10DC,_t0EF9);
          goto JOIN10E1
        JOIN10E1:  preds = [ASSIGN10DE,ASSIGN308B]
          bool _t10DF#1 = phi(_t10DB,_t10E0)
          if _t10DF then goto ASSIGN30C0 else goto JOIN11E4
        ASSIGN30C0:  preds = [COND10E2]
          real2 nd10E6#2 = Floor<2>(x10D7);
          real2 f10E5#2 = Sub<real2>(x10D7,nd10E6);
          int{2} n10E7#8 = RealToInt<2>(nd10E6);
          int t11103#4 = -1;
          int t21104#1 = Index<int{2},0>(n10E7);
          int ix1102#4 = Add<int>(t11103,t21104);
          int t21107#4 = Index<int{2},1>(n10E7);
          int iy1105#1 = Add<int>(t11103,t21107);
          addr(IMAGE2D<float>) a1108#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy1105);
          real4 v010E9#1 = LoadVoxels<IMAGE2D<float>,4>(a1108);
          int iy10FE#1 = Add<int>(_t0FB3,t21107);
          addr(IMAGE2D<float>) a1101#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy10FE);
          real4 v110EA#1 = LoadVoxels<IMAGE2D<float>,4>(a1101);
          int iy10F7#1 = Add<int>(_t0FB7,t21107);
          addr(IMAGE2D<float>) a10FA#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy10F7);
          real4 v210EB#1 = LoadVoxels<IMAGE2D<float>,4>(a10FA);
          int iy10F0#1 = Add<int>(_t0F8F,t21107);
          addr(IMAGE2D<float>) a10F3#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1102,iy10F0);
          real4 v310EC#1 = LoadVoxels<IMAGE2D<float>,4>(a10F3);
          real fy1114#5 = Index<real2,1>(f10E5);
          real t31119#1 = Add<real>(fy1114,_t0F8B);
          real t11117#1 = Sub<real>(fy1114,_t0F8B);
          real t01116#1 = Sub<real>(fy1114,_t0F8D);
          real4 a1115#1 = <real4>[t31119,fy1114,t11117,t01116];
          real4 hy110A#1 = EvalKernel<4,bspln3,0>(a1115);
          real fx110B#5 = Index<real2,0>(f10E5);
          real t31110#1 = Add<real>(fx110B,_t0F8B);
          real t1110E#1 = Sub<real>(fx110B,_t0F8B);
          real t0110D#1 = Sub<real>(fx110B,_t0F8D);
          real4 a110C#1 = <real4>[t31110,fx110B,t1110E,t0110D];
          real4 hx1109#4 = EvalKernel<4,bspln3,0>(a110C);
          real t0111E#1 = Dot<4>(v010E9,hx1109);
          real t1111F#1 = Dot<4>(v110EA,hx1109);
          real t21120#1 = Dot<4>(v210EB,hx1109);
          real t31121#1 = Dot<4>(v310EC,hx1109);
          real4 tv111D#1 = <real4>[t0111E,t1111F,t21120,t31121];
          real _t10E3#1 = Dot<4>(hy110A,tv111D);
          real2 x1161#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v010F09);
          real2 nd1163#2 = Floor<2>(x1161);
          real2 f1162#2 = Sub<real2>(x1161,nd1163);
          int{2} n1164#8 = RealToInt<2>(nd1163);
          int t21181#1 = Index<int{2},0>(n1164);
          int ix117F#4 = Add<int>(t11103,t21181);
          int t21184#4 = Index<int{2},1>(n1164);
          int iy1182#1 = Add<int>(t11103,t21184);
          addr(IMAGE2D<int>) a1185#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy1182);
          real4 v01166#1 = LoadVoxels<IMAGE2D<int>,4>(a1185);
          int iy117B#1 = Add<int>(_t0FB3,t21184);
          addr(IMAGE2D<int>) a117E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy117B);
          real4 v11167#1 = LoadVoxels<IMAGE2D<int>,4>(a117E);
          int iy1174#1 = Add<int>(_t0FB7,t21184);
          addr(IMAGE2D<int>) a1177#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy1174);
          real4 v21168#1 = LoadVoxels<IMAGE2D<int>,4>(a1177);
          int iy116D#1 = Add<int>(_t0F8F,t21184);
          addr(IMAGE2D<int>) a1170#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix117F,iy116D);
          real4 v31169#1 = LoadVoxels<IMAGE2D<int>,4>(a1170);
          real fy1191#5 = Index<real2,1>(f1162);
          real t31196#1 = Add<real>(fy1191,_t0F8B);
          real t11194#1 = Sub<real>(fy1191,_t0F8B);
          real t01193#1 = Sub<real>(fy1191,_t0F8D);
          real4 a1192#1 = <real4>[t31196,fy1191,t11194,t01193];
          real4 hy1187#1 = EvalKernel<4,bspln3,0>(a1192);
          real fx1188#5 = Index<real2,0>(f1162);
          real t3118D#1 = Add<real>(fx1188,_t0F8B);
          real t1118B#1 = Sub<real>(fx1188,_t0F8B);
          real t0118A#1 = Sub<real>(fx1188,_t0F8D);
          real4 a1189#1 = <real4>[t3118D,fx1188,t1118B,t0118A];
          real4 hx1186#4 = EvalKernel<4,bspln3,0>(a1189);
          real t0119B#1 = Dot<4>(v01166,hx1186);
          real t1119C#1 = Dot<4>(v11167,hx1186);
          real t2119D#1 = Dot<4>(v21168,hx1186);
          real t3119E#1 = Dot<4>(v31169,hx1186);
          real4 tv119A#1 = <real4>[t0119B,t1119C,t2119D,t3119E];
          real _t1160#1 = Dot<4>(hy1187,tv119A);
          real _t11DD#2 = Sub<real>(_t10E3,_t1160);
          real _t11DF#1 = Mul<real>(_t11DD,_t11DD);
          real score11E1#1 = Add<real>(score10CC,_t11DF);
          goto JOIN11E4
        JOIN11E4:  preds = [ASSIGN11E2,COND10E2]
          real score11E3#2 = phi(score11E1,score10CC)
          real _t11E5#1 = Dot<2>(r00FA5,v020F0D);
          real _t11E7#1 = Dot<2>(r10FAB,v020F0D);
          real2 _t11E9#1 = <real2>[_t11E5,_t11E7];
          real2 pos11EB#2 = Add<real2>(_t11E9,_t0FBB);
          real2 x11EE#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos11EB);
          bool _t11ED#1 = Inside<IMAGE2D<float>,2>(x11EE,_t0EFD);
          if _t11ED then goto ASSIGN11F4 else goto ASSIGN308A
        ASSIGN11F4:  preds = [COND11F1]
          real2 x11F3#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v020F0D);
          bool _t11F2#1 = Inside<IMAGE2D<int>,2>(x11F3,_t0EF9);
          goto JOIN11F8
        JOIN11F8:  preds = [ASSIGN11F5,ASSIGN308A]
          bool _t11F6#1 = phi(_t11F2,_t11F7)
          if _t11F6 then goto ASSIGN30E1 else goto JOIN12FB
        ASSIGN30E1:  preds = [COND11F9]
          real2 nd11FD#2 = Floor<2>(x11EE);
          real2 f11FC#2 = Sub<real2>(x11EE,nd11FD);
          int{2} n11FE#8 = RealToInt<2>(nd11FD);
          int t1121A#4 = -1;
          int t2121B#1 = Index<int{2},0>(n11FE);
          int ix1219#4 = Add<int>(t1121A,t2121B);
          int t2121E#4 = Index<int{2},1>(n11FE);
          int iy121C#1 = Add<int>(t1121A,t2121E);
          addr(IMAGE2D<float>) a121F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy121C);
          real4 v01200#1 = LoadVoxels<IMAGE2D<float>,4>(a121F);
          int iy1215#1 = Add<int>(_t0FB3,t2121E);
          addr(IMAGE2D<float>) a1218#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy1215);
          real4 v11201#1 = LoadVoxels<IMAGE2D<float>,4>(a1218);
          int iy120E#1 = Add<int>(_t0FB7,t2121E);
          addr(IMAGE2D<float>) a1211#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy120E);
          real4 v21202#1 = LoadVoxels<IMAGE2D<float>,4>(a1211);
          int iy1207#1 = Add<int>(_t0F8F,t2121E);
          addr(IMAGE2D<float>) a120A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1219,iy1207);
          real4 v31203#1 = LoadVoxels<IMAGE2D<float>,4>(a120A);
          real fy122B#5 = Index<real2,1>(f11FC);
          real t31230#1 = Add<real>(fy122B,_t0F8B);
          real t1122E#1 = Sub<real>(fy122B,_t0F8B);
          real t0122D#1 = Sub<real>(fy122B,_t0F8D);
          real4 a122C#1 = <real4>[t31230,fy122B,t1122E,t0122D];
          real4 hy1221#1 = EvalKernel<4,bspln3,0>(a122C);
          real fx1222#5 = Index<real2,0>(f11FC);
          real t31227#1 = Add<real>(fx1222,_t0F8B);
          real t11225#1 = Sub<real>(fx1222,_t0F8B);
          real t01224#1 = Sub<real>(fx1222,_t0F8D);
          real4 a1223#1 = <real4>[t31227,fx1222,t11225,t01224];
          real4 hx1220#4 = EvalKernel<4,bspln3,0>(a1223);
          real t01235#1 = Dot<4>(v01200,hx1220);
          real t11236#1 = Dot<4>(v11201,hx1220);
          real t21237#1 = Dot<4>(v21202,hx1220);
          real t31238#1 = Dot<4>(v31203,hx1220);
          real4 tv1234#1 = <real4>[t01235,t11236,t21237,t31238];
          real _t11FA#1 = Dot<4>(hy1221,tv1234);
          real2 x1278#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v020F0D);
          real2 nd127A#2 = Floor<2>(x1278);
          real2 f1279#2 = Sub<real2>(x1278,nd127A);
          int{2} n127B#8 = RealToInt<2>(nd127A);
          int t21298#1 = Index<int{2},0>(n127B);
          int ix1296#4 = Add<int>(t1121A,t21298);
          int t2129B#4 = Index<int{2},1>(n127B);
          int iy1299#1 = Add<int>(t1121A,t2129B);
          addr(IMAGE2D<int>) a129C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy1299);
          real4 v0127D#1 = LoadVoxels<IMAGE2D<int>,4>(a129C);
          int iy1292#1 = Add<int>(_t0FB3,t2129B);
          addr(IMAGE2D<int>) a1295#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy1292);
          real4 v1127E#1 = LoadVoxels<IMAGE2D<int>,4>(a1295);
          int iy128B#1 = Add<int>(_t0FB7,t2129B);
          addr(IMAGE2D<int>) a128E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy128B);
          real4 v2127F#1 = LoadVoxels<IMAGE2D<int>,4>(a128E);
          int iy1284#1 = Add<int>(_t0F8F,t2129B);
          addr(IMAGE2D<int>) a1287#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1296,iy1284);
          real4 v31280#1 = LoadVoxels<IMAGE2D<int>,4>(a1287);
          real fy12A8#5 = Index<real2,1>(f1279);
          real t312AD#1 = Add<real>(fy12A8,_t0F8B);
          real t112AB#1 = Sub<real>(fy12A8,_t0F8B);
          real t012AA#1 = Sub<real>(fy12A8,_t0F8D);
          real4 a12A9#1 = <real4>[t312AD,fy12A8,t112AB,t012AA];
          real4 hy129E#1 = EvalKernel<4,bspln3,0>(a12A9);
          real fx129F#5 = Index<real2,0>(f1279);
          real t312A4#1 = Add<real>(fx129F,_t0F8B);
          real t112A2#1 = Sub<real>(fx129F,_t0F8B);
          real t012A1#1 = Sub<real>(fx129F,_t0F8D);
          real4 a12A0#1 = <real4>[t312A4,fx129F,t112A2,t012A1];
          real4 hx129D#4 = EvalKernel<4,bspln3,0>(a12A0);
          real t012B2#1 = Dot<4>(v0127D,hx129D);
          real t112B3#1 = Dot<4>(v1127E,hx129D);
          real t212B4#1 = Dot<4>(v2127F,hx129D);
          real t312B5#1 = Dot<4>(v31280,hx129D);
          real4 tv12B1#1 = <real4>[t012B2,t112B3,t212B4,t312B5];
          real _t1277#1 = Dot<4>(hy129E,tv12B1);
          real _t12F4#2 = Sub<real>(_t11FA,_t1277);
          real _t12F6#1 = Mul<real>(_t12F4,_t12F4);
          real score12F8#1 = Add<real>(score11E3,_t12F6);
          goto JOIN12FB
        JOIN12FB:  preds = [ASSIGN12F9,COND11F9]
          real score12FA#2 = phi(score12F8,score11E3)
          real _t12FC#1 = Dot<2>(r00FA5,v030F0F);
          real _t12FE#1 = Dot<2>(r10FAB,v030F0F);
          real2 _t1300#1 = <real2>[_t12FC,_t12FE];
          real2 pos1302#2 = Add<real2>(_t1300,_t0FBB);
          real2 x1305#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1302);
          bool _t1304#1 = Inside<IMAGE2D<float>,2>(x1305,_t0EFD);
          if _t1304 then goto ASSIGN130B else goto ASSIGN3089
        ASSIGN130B:  preds = [COND1308]
          real2 x130A#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v030F0F);
          bool _t1309#1 = Inside<IMAGE2D<int>,2>(x130A,_t0EF9);
          goto JOIN130F
        JOIN130F:  preds = [ASSIGN130C,ASSIGN3089]
          bool _t130D#1 = phi(_t1309,_t130E)
          if _t130D then goto ASSIGN3102 else goto JOIN1412
        ASSIGN3102:  preds = [COND1310]
          real2 nd1314#2 = Floor<2>(x1305);
          real2 f1313#2 = Sub<real2>(x1305,nd1314);
          int{2} n1315#8 = RealToInt<2>(nd1314);
          int t11331#4 = -1;
          int t21332#1 = Index<int{2},0>(n1315);
          int ix1330#4 = Add<int>(t11331,t21332);
          int t21335#4 = Index<int{2},1>(n1315);
          int iy1333#1 = Add<int>(t11331,t21335);
          addr(IMAGE2D<float>) a1336#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy1333);
          real4 v01317#1 = LoadVoxels<IMAGE2D<float>,4>(a1336);
          int iy132C#1 = Add<int>(_t0FB3,t21335);
          addr(IMAGE2D<float>) a132F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy132C);
          real4 v11318#1 = LoadVoxels<IMAGE2D<float>,4>(a132F);
          int iy1325#1 = Add<int>(_t0FB7,t21335);
          addr(IMAGE2D<float>) a1328#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy1325);
          real4 v21319#1 = LoadVoxels<IMAGE2D<float>,4>(a1328);
          int iy131E#1 = Add<int>(_t0F8F,t21335);
          addr(IMAGE2D<float>) a1321#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1330,iy131E);
          real4 v3131A#1 = LoadVoxels<IMAGE2D<float>,4>(a1321);
          real fy1342#5 = Index<real2,1>(f1313);
          real t31347#1 = Add<real>(fy1342,_t0F8B);
          real t11345#1 = Sub<real>(fy1342,_t0F8B);
          real t01344#1 = Sub<real>(fy1342,_t0F8D);
          real4 a1343#1 = <real4>[t31347,fy1342,t11345,t01344];
          real4 hy1338#1 = EvalKernel<4,bspln3,0>(a1343);
          real fx1339#5 = Index<real2,0>(f1313);
          real t3133E#1 = Add<real>(fx1339,_t0F8B);
          real t1133C#1 = Sub<real>(fx1339,_t0F8B);
          real t0133B#1 = Sub<real>(fx1339,_t0F8D);
          real4 a133A#1 = <real4>[t3133E,fx1339,t1133C,t0133B];
          real4 hx1337#4 = EvalKernel<4,bspln3,0>(a133A);
          real t0134C#1 = Dot<4>(v01317,hx1337);
          real t1134D#1 = Dot<4>(v11318,hx1337);
          real t2134E#1 = Dot<4>(v21319,hx1337);
          real t3134F#1 = Dot<4>(v3131A,hx1337);
          real4 tv134B#1 = <real4>[t0134C,t1134D,t2134E,t3134F];
          real _t1311#1 = Dot<4>(hy1338,tv134B);
          real2 x138F#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v030F0F);
          real2 nd1391#2 = Floor<2>(x138F);
          real2 f1390#2 = Sub<real2>(x138F,nd1391);
          int{2} n1392#8 = RealToInt<2>(nd1391);
          int t213AF#1 = Index<int{2},0>(n1392);
          int ix13AD#4 = Add<int>(t11331,t213AF);
          int t213B2#4 = Index<int{2},1>(n1392);
          int iy13B0#1 = Add<int>(t11331,t213B2);
          addr(IMAGE2D<int>) a13B3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy13B0);
          real4 v01394#1 = LoadVoxels<IMAGE2D<int>,4>(a13B3);
          int iy13A9#1 = Add<int>(_t0FB3,t213B2);
          addr(IMAGE2D<int>) a13AC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy13A9);
          real4 v11395#1 = LoadVoxels<IMAGE2D<int>,4>(a13AC);
          int iy13A2#1 = Add<int>(_t0FB7,t213B2);
          addr(IMAGE2D<int>) a13A5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy13A2);
          real4 v21396#1 = LoadVoxels<IMAGE2D<int>,4>(a13A5);
          int iy139B#1 = Add<int>(_t0F8F,t213B2);
          addr(IMAGE2D<int>) a139E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix13AD,iy139B);
          real4 v31397#1 = LoadVoxels<IMAGE2D<int>,4>(a139E);
          real fy13BF#5 = Index<real2,1>(f1390);
          real t313C4#1 = Add<real>(fy13BF,_t0F8B);
          real t113C2#1 = Sub<real>(fy13BF,_t0F8B);
          real t013C1#1 = Sub<real>(fy13BF,_t0F8D);
          real4 a13C0#1 = <real4>[t313C4,fy13BF,t113C2,t013C1];
          real4 hy13B5#1 = EvalKernel<4,bspln3,0>(a13C0);
          real fx13B6#5 = Index<real2,0>(f1390);
          real t313BB#1 = Add<real>(fx13B6,_t0F8B);
          real t113B9#1 = Sub<real>(fx13B6,_t0F8B);
          real t013B8#1 = Sub<real>(fx13B6,_t0F8D);
          real4 a13B7#1 = <real4>[t313BB,fx13B6,t113B9,t013B8];
          real4 hx13B4#4 = EvalKernel<4,bspln3,0>(a13B7);
          real t013C9#1 = Dot<4>(v01394,hx13B4);
          real t113CA#1 = Dot<4>(v11395,hx13B4);
          real t213CB#1 = Dot<4>(v21396,hx13B4);
          real t313CC#1 = Dot<4>(v31397,hx13B4);
          real4 tv13C8#1 = <real4>[t013C9,t113CA,t213CB,t313CC];
          real _t138E#1 = Dot<4>(hy13B5,tv13C8);
          real _t140B#2 = Sub<real>(_t1311,_t138E);
          real _t140D#1 = Mul<real>(_t140B,_t140B);
          real score140F#1 = Add<real>(score12FA,_t140D);
          goto JOIN1412
        JOIN1412:  preds = [ASSIGN1410,COND1310]
          real score1411#2 = phi(score140F,score12FA)
          real _t1413#1 = Dot<2>(r00FA5,v040F11);
          real _t1415#1 = Dot<2>(r10FAB,v040F11);
          real2 _t1417#1 = <real2>[_t1413,_t1415];
          real2 pos1419#2 = Add<real2>(_t1417,_t0FBB);
          real2 x141C#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1419);
          bool _t141B#1 = Inside<IMAGE2D<float>,2>(x141C,_t0EFD);
          if _t141B then goto ASSIGN1422 else goto ASSIGN3088
        ASSIGN1422:  preds = [COND141F]
          real2 x1421#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v040F11);
          bool _t1420#1 = Inside<IMAGE2D<int>,2>(x1421,_t0EF9);
          goto JOIN1426
        JOIN1426:  preds = [ASSIGN1423,ASSIGN3088]
          bool _t1424#1 = phi(_t1420,_t1425)
          if _t1424 then goto ASSIGN3123 else goto JOIN1529
        ASSIGN3123:  preds = [COND1427]
          real2 nd142B#2 = Floor<2>(x141C);
          real2 f142A#2 = Sub<real2>(x141C,nd142B);
          int{2} n142C#8 = RealToInt<2>(nd142B);
          int t11448#4 = -1;
          int t21449#1 = Index<int{2},0>(n142C);
          int ix1447#4 = Add<int>(t11448,t21449);
          int t2144C#4 = Index<int{2},1>(n142C);
          int iy144A#1 = Add<int>(t11448,t2144C);
          addr(IMAGE2D<float>) a144D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy144A);
          real4 v0142E#1 = LoadVoxels<IMAGE2D<float>,4>(a144D);
          int iy1443#1 = Add<int>(_t0FB3,t2144C);
          addr(IMAGE2D<float>) a1446#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy1443);
          real4 v1142F#1 = LoadVoxels<IMAGE2D<float>,4>(a1446);
          int iy143C#1 = Add<int>(_t0FB7,t2144C);
          addr(IMAGE2D<float>) a143F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy143C);
          real4 v21430#1 = LoadVoxels<IMAGE2D<float>,4>(a143F);
          int iy1435#1 = Add<int>(_t0F8F,t2144C);
          addr(IMAGE2D<float>) a1438#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1447,iy1435);
          real4 v31431#1 = LoadVoxels<IMAGE2D<float>,4>(a1438);
          real fy1459#5 = Index<real2,1>(f142A);
          real t3145E#1 = Add<real>(fy1459,_t0F8B);
          real t1145C#1 = Sub<real>(fy1459,_t0F8B);
          real t0145B#1 = Sub<real>(fy1459,_t0F8D);
          real4 a145A#1 = <real4>[t3145E,fy1459,t1145C,t0145B];
          real4 hy144F#1 = EvalKernel<4,bspln3,0>(a145A);
          real fx1450#5 = Index<real2,0>(f142A);
          real t31455#1 = Add<real>(fx1450,_t0F8B);
          real t11453#1 = Sub<real>(fx1450,_t0F8B);
          real t01452#1 = Sub<real>(fx1450,_t0F8D);
          real4 a1451#1 = <real4>[t31455,fx1450,t11453,t01452];
          real4 hx144E#4 = EvalKernel<4,bspln3,0>(a1451);
          real t01463#1 = Dot<4>(v0142E,hx144E);
          real t11464#1 = Dot<4>(v1142F,hx144E);
          real t21465#1 = Dot<4>(v21430,hx144E);
          real t31466#1 = Dot<4>(v31431,hx144E);
          real4 tv1462#1 = <real4>[t01463,t11464,t21465,t31466];
          real _t1428#1 = Dot<4>(hy144F,tv1462);
          real2 x14A6#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v040F11);
          real2 nd14A8#2 = Floor<2>(x14A6);
          real2 f14A7#2 = Sub<real2>(x14A6,nd14A8);
          int{2} n14A9#8 = RealToInt<2>(nd14A8);
          int t214C6#1 = Index<int{2},0>(n14A9);
          int ix14C4#4 = Add<int>(t11448,t214C6);
          int t214C9#4 = Index<int{2},1>(n14A9);
          int iy14C7#1 = Add<int>(t11448,t214C9);
          addr(IMAGE2D<int>) a14CA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14C7);
          real4 v014AB#1 = LoadVoxels<IMAGE2D<int>,4>(a14CA);
          int iy14C0#1 = Add<int>(_t0FB3,t214C9);
          addr(IMAGE2D<int>) a14C3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14C0);
          real4 v114AC#1 = LoadVoxels<IMAGE2D<int>,4>(a14C3);
          int iy14B9#1 = Add<int>(_t0FB7,t214C9);
          addr(IMAGE2D<int>) a14BC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14B9);
          real4 v214AD#1 = LoadVoxels<IMAGE2D<int>,4>(a14BC);
          int iy14B2#1 = Add<int>(_t0F8F,t214C9);
          addr(IMAGE2D<int>) a14B5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix14C4,iy14B2);
          real4 v314AE#1 = LoadVoxels<IMAGE2D<int>,4>(a14B5);
          real fy14D6#5 = Index<real2,1>(f14A7);
          real t314DB#1 = Add<real>(fy14D6,_t0F8B);
          real t114D9#1 = Sub<real>(fy14D6,_t0F8B);
          real t014D8#1 = Sub<real>(fy14D6,_t0F8D);
          real4 a14D7#1 = <real4>[t314DB,fy14D6,t114D9,t014D8];
          real4 hy14CC#1 = EvalKernel<4,bspln3,0>(a14D7);
          real fx14CD#5 = Index<real2,0>(f14A7);
          real t314D2#1 = Add<real>(fx14CD,_t0F8B);
          real t114D0#1 = Sub<real>(fx14CD,_t0F8B);
          real t014CF#1 = Sub<real>(fx14CD,_t0F8D);
          real4 a14CE#1 = <real4>[t314D2,fx14CD,t114D0,t014CF];
          real4 hx14CB#4 = EvalKernel<4,bspln3,0>(a14CE);
          real t014E0#1 = Dot<4>(v014AB,hx14CB);
          real t114E1#1 = Dot<4>(v114AC,hx14CB);
          real t214E2#1 = Dot<4>(v214AD,hx14CB);
          real t314E3#1 = Dot<4>(v314AE,hx14CB);
          real4 tv14DF#1 = <real4>[t014E0,t114E1,t214E2,t314E3];
          real _t14A5#1 = Dot<4>(hy14CC,tv14DF);
          real _t1522#2 = Sub<real>(_t1428,_t14A5);
          real _t1524#1 = Mul<real>(_t1522,_t1522);
          real score1526#1 = Add<real>(score1411,_t1524);
          goto JOIN1529
        JOIN1529:  preds = [ASSIGN1527,COND1427]
          real score1528#2 = phi(score1526,score1411)
          real _t152A#1 = Dot<2>(r00FA5,v050F17);
          real _t152C#1 = Dot<2>(r10FAB,v050F17);
          real2 _t152E#1 = <real2>[_t152A,_t152C];
          real2 pos1530#2 = Add<real2>(_t152E,_t0FBB);
          real2 x1533#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1530);
          bool _t1532#1 = Inside<IMAGE2D<float>,2>(x1533,_t0EFD);
          if _t1532 then goto ASSIGN1539 else goto ASSIGN3087
        ASSIGN1539:  preds = [COND1536]
          real2 x1538#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v050F17);
          bool _t1537#1 = Inside<IMAGE2D<int>,2>(x1538,_t0EF9);
          goto JOIN153D
        JOIN153D:  preds = [ASSIGN153A,ASSIGN3087]
          bool _t153B#1 = phi(_t1537,_t153C)
          if _t153B then goto ASSIGN3144 else goto JOIN1640
        ASSIGN3144:  preds = [COND153E]
          real2 nd1542#2 = Floor<2>(x1533);
          real2 f1541#2 = Sub<real2>(x1533,nd1542);
          int{2} n1543#8 = RealToInt<2>(nd1542);
          int t1155F#4 = -1;
          int t21560#1 = Index<int{2},0>(n1543);
          int ix155E#4 = Add<int>(t1155F,t21560);
          int t21563#4 = Index<int{2},1>(n1543);
          int iy1561#1 = Add<int>(t1155F,t21563);
          addr(IMAGE2D<float>) a1564#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy1561);
          real4 v01545#1 = LoadVoxels<IMAGE2D<float>,4>(a1564);
          int iy155A#1 = Add<int>(_t0FB3,t21563);
          addr(IMAGE2D<float>) a155D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy155A);
          real4 v11546#1 = LoadVoxels<IMAGE2D<float>,4>(a155D);
          int iy1553#1 = Add<int>(_t0FB7,t21563);
          addr(IMAGE2D<float>) a1556#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy1553);
          real4 v21547#1 = LoadVoxels<IMAGE2D<float>,4>(a1556);
          int iy154C#1 = Add<int>(_t0F8F,t21563);
          addr(IMAGE2D<float>) a154F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix155E,iy154C);
          real4 v31548#1 = LoadVoxels<IMAGE2D<float>,4>(a154F);
          real fy1570#5 = Index<real2,1>(f1541);
          real t31575#1 = Add<real>(fy1570,_t0F8B);
          real t11573#1 = Sub<real>(fy1570,_t0F8B);
          real t01572#1 = Sub<real>(fy1570,_t0F8D);
          real4 a1571#1 = <real4>[t31575,fy1570,t11573,t01572];
          real4 hy1566#1 = EvalKernel<4,bspln3,0>(a1571);
          real fx1567#5 = Index<real2,0>(f1541);
          real t3156C#1 = Add<real>(fx1567,_t0F8B);
          real t1156A#1 = Sub<real>(fx1567,_t0F8B);
          real t01569#1 = Sub<real>(fx1567,_t0F8D);
          real4 a1568#1 = <real4>[t3156C,fx1567,t1156A,t01569];
          real4 hx1565#4 = EvalKernel<4,bspln3,0>(a1568);
          real t0157A#1 = Dot<4>(v01545,hx1565);
          real t1157B#1 = Dot<4>(v11546,hx1565);
          real t2157C#1 = Dot<4>(v21547,hx1565);
          real t3157D#1 = Dot<4>(v31548,hx1565);
          real4 tv1579#1 = <real4>[t0157A,t1157B,t2157C,t3157D];
          real _t153F#1 = Dot<4>(hy1566,tv1579);
          real2 x15BD#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v050F17);
          real2 nd15BF#2 = Floor<2>(x15BD);
          real2 f15BE#2 = Sub<real2>(x15BD,nd15BF);
          int{2} n15C0#8 = RealToInt<2>(nd15BF);
          int t215DD#1 = Index<int{2},0>(n15C0);
          int ix15DB#4 = Add<int>(t1155F,t215DD);
          int t215E0#4 = Index<int{2},1>(n15C0);
          int iy15DE#1 = Add<int>(t1155F,t215E0);
          addr(IMAGE2D<int>) a15E1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15DE);
          real4 v015C2#1 = LoadVoxels<IMAGE2D<int>,4>(a15E1);
          int iy15D7#1 = Add<int>(_t0FB3,t215E0);
          addr(IMAGE2D<int>) a15DA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15D7);
          real4 v115C3#1 = LoadVoxels<IMAGE2D<int>,4>(a15DA);
          int iy15D0#1 = Add<int>(_t0FB7,t215E0);
          addr(IMAGE2D<int>) a15D3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15D0);
          real4 v215C4#1 = LoadVoxels<IMAGE2D<int>,4>(a15D3);
          int iy15C9#1 = Add<int>(_t0F8F,t215E0);
          addr(IMAGE2D<int>) a15CC#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix15DB,iy15C9);
          real4 v315C5#1 = LoadVoxels<IMAGE2D<int>,4>(a15CC);
          real fy15ED#5 = Index<real2,1>(f15BE);
          real t315F2#1 = Add<real>(fy15ED,_t0F8B);
          real t115F0#1 = Sub<real>(fy15ED,_t0F8B);
          real t015EF#1 = Sub<real>(fy15ED,_t0F8D);
          real4 a15EE#1 = <real4>[t315F2,fy15ED,t115F0,t015EF];
          real4 hy15E3#1 = EvalKernel<4,bspln3,0>(a15EE);
          real fx15E4#5 = Index<real2,0>(f15BE);
          real t315E9#1 = Add<real>(fx15E4,_t0F8B);
          real t115E7#1 = Sub<real>(fx15E4,_t0F8B);
          real t015E6#1 = Sub<real>(fx15E4,_t0F8D);
          real4 a15E5#1 = <real4>[t315E9,fx15E4,t115E7,t015E6];
          real4 hx15E2#4 = EvalKernel<4,bspln3,0>(a15E5);
          real t015F7#1 = Dot<4>(v015C2,hx15E2);
          real t115F8#1 = Dot<4>(v115C3,hx15E2);
          real t215F9#1 = Dot<4>(v215C4,hx15E2);
          real t315FA#1 = Dot<4>(v315C5,hx15E2);
          real4 tv15F6#1 = <real4>[t015F7,t115F8,t215F9,t315FA];
          real _t15BC#1 = Dot<4>(hy15E3,tv15F6);
          real _t1639#2 = Sub<real>(_t153F,_t15BC);
          real _t163B#1 = Mul<real>(_t1639,_t1639);
          real score163D#1 = Add<real>(score1528,_t163B);
          goto JOIN1640
        JOIN1640:  preds = [ASSIGN163E,COND153E]
          real score163F#2 = phi(score163D,score1528)
          real _t1641#1 = Dot<2>(r00FA5,v060F19);
          real _t1643#1 = Dot<2>(r10FAB,v060F19);
          real2 _t1645#1 = <real2>[_t1641,_t1643];
          real2 pos1647#2 = Add<real2>(_t1645,_t0FBB);
          real2 x164A#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1647);
          bool _t1649#1 = Inside<IMAGE2D<float>,2>(x164A,_t0EFD);
          if _t1649 then goto ASSIGN1650 else goto ASSIGN3086
        ASSIGN1650:  preds = [COND164D]
          real2 x164F#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v060F19);
          bool _t164E#1 = Inside<IMAGE2D<int>,2>(x164F,_t0EF9);
          goto JOIN1654
        JOIN1654:  preds = [ASSIGN1651,ASSIGN3086]
          bool _t1652#1 = phi(_t164E,_t1653)
          if _t1652 then goto ASSIGN3165 else goto JOIN1757
        ASSIGN3165:  preds = [COND1655]
          real2 nd1659#2 = Floor<2>(x164A);
          real2 f1658#2 = Sub<real2>(x164A,nd1659);
          int{2} n165A#8 = RealToInt<2>(nd1659);
          int t11676#4 = -1;
          int t21677#1 = Index<int{2},0>(n165A);
          int ix1675#4 = Add<int>(t11676,t21677);
          int t2167A#4 = Index<int{2},1>(n165A);
          int iy1678#1 = Add<int>(t11676,t2167A);
          addr(IMAGE2D<float>) a167B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy1678);
          real4 v0165C#1 = LoadVoxels<IMAGE2D<float>,4>(a167B);
          int iy1671#1 = Add<int>(_t0FB3,t2167A);
          addr(IMAGE2D<float>) a1674#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy1671);
          real4 v1165D#1 = LoadVoxels<IMAGE2D<float>,4>(a1674);
          int iy166A#1 = Add<int>(_t0FB7,t2167A);
          addr(IMAGE2D<float>) a166D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy166A);
          real4 v2165E#1 = LoadVoxels<IMAGE2D<float>,4>(a166D);
          int iy1663#1 = Add<int>(_t0F8F,t2167A);
          addr(IMAGE2D<float>) a1666#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1675,iy1663);
          real4 v3165F#1 = LoadVoxels<IMAGE2D<float>,4>(a1666);
          real fy1687#5 = Index<real2,1>(f1658);
          real t3168C#1 = Add<real>(fy1687,_t0F8B);
          real t1168A#1 = Sub<real>(fy1687,_t0F8B);
          real t01689#1 = Sub<real>(fy1687,_t0F8D);
          real4 a1688#1 = <real4>[t3168C,fy1687,t1168A,t01689];
          real4 hy167D#1 = EvalKernel<4,bspln3,0>(a1688);
          real fx167E#5 = Index<real2,0>(f1658);
          real t31683#1 = Add<real>(fx167E,_t0F8B);
          real t11681#1 = Sub<real>(fx167E,_t0F8B);
          real t01680#1 = Sub<real>(fx167E,_t0F8D);
          real4 a167F#1 = <real4>[t31683,fx167E,t11681,t01680];
          real4 hx167C#4 = EvalKernel<4,bspln3,0>(a167F);
          real t01691#1 = Dot<4>(v0165C,hx167C);
          real t11692#1 = Dot<4>(v1165D,hx167C);
          real t21693#1 = Dot<4>(v2165E,hx167C);
          real t31694#1 = Dot<4>(v3165F,hx167C);
          real4 tv1690#1 = <real4>[t01691,t11692,t21693,t31694];
          real _t1656#1 = Dot<4>(hy167D,tv1690);
          real2 x16D4#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v060F19);
          real2 nd16D6#2 = Floor<2>(x16D4);
          real2 f16D5#2 = Sub<real2>(x16D4,nd16D6);
          int{2} n16D7#8 = RealToInt<2>(nd16D6);
          int t216F4#1 = Index<int{2},0>(n16D7);
          int ix16F2#4 = Add<int>(t11676,t216F4);
          int t216F7#4 = Index<int{2},1>(n16D7);
          int iy16F5#1 = Add<int>(t11676,t216F7);
          addr(IMAGE2D<int>) a16F8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16F5);
          real4 v016D9#1 = LoadVoxels<IMAGE2D<int>,4>(a16F8);
          int iy16EE#1 = Add<int>(_t0FB3,t216F7);
          addr(IMAGE2D<int>) a16F1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16EE);
          real4 v116DA#1 = LoadVoxels<IMAGE2D<int>,4>(a16F1);
          int iy16E7#1 = Add<int>(_t0FB7,t216F7);
          addr(IMAGE2D<int>) a16EA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16E7);
          real4 v216DB#1 = LoadVoxels<IMAGE2D<int>,4>(a16EA);
          int iy16E0#1 = Add<int>(_t0F8F,t216F7);
          addr(IMAGE2D<int>) a16E3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix16F2,iy16E0);
          real4 v316DC#1 = LoadVoxels<IMAGE2D<int>,4>(a16E3);
          real fy1704#5 = Index<real2,1>(f16D5);
          real t31709#1 = Add<real>(fy1704,_t0F8B);
          real t11707#1 = Sub<real>(fy1704,_t0F8B);
          real t01706#1 = Sub<real>(fy1704,_t0F8D);
          real4 a1705#1 = <real4>[t31709,fy1704,t11707,t01706];
          real4 hy16FA#1 = EvalKernel<4,bspln3,0>(a1705);
          real fx16FB#5 = Index<real2,0>(f16D5);
          real t31700#1 = Add<real>(fx16FB,_t0F8B);
          real t116FE#1 = Sub<real>(fx16FB,_t0F8B);
          real t016FD#1 = Sub<real>(fx16FB,_t0F8D);
          real4 a16FC#1 = <real4>[t31700,fx16FB,t116FE,t016FD];
          real4 hx16F9#4 = EvalKernel<4,bspln3,0>(a16FC);
          real t0170E#1 = Dot<4>(v016D9,hx16F9);
          real t1170F#1 = Dot<4>(v116DA,hx16F9);
          real t21710#1 = Dot<4>(v216DB,hx16F9);
          real t31711#1 = Dot<4>(v316DC,hx16F9);
          real4 tv170D#1 = <real4>[t0170E,t1170F,t21710,t31711];
          real _t16D3#1 = Dot<4>(hy16FA,tv170D);
          real _t1750#2 = Sub<real>(_t1656,_t16D3);
          real _t1752#1 = Mul<real>(_t1750,_t1750);
          real score1754#1 = Add<real>(score163F,_t1752);
          goto JOIN1757
        JOIN1757:  preds = [ASSIGN1755,COND1655]
          real score1756#2 = phi(score1754,score163F)
          real _t1758#1 = Dot<2>(r00FA5,v070F1B);
          real _t175A#1 = Dot<2>(r10FAB,v070F1B);
          real2 _t175C#1 = <real2>[_t1758,_t175A];
          real2 pos175E#2 = Add<real2>(_t175C,_t0FBB);
          real2 x1761#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos175E);
          bool _t1760#1 = Inside<IMAGE2D<float>,2>(x1761,_t0EFD);
          if _t1760 then goto ASSIGN1767 else goto ASSIGN3085
        ASSIGN1767:  preds = [COND1764]
          real2 x1766#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v070F1B);
          bool _t1765#1 = Inside<IMAGE2D<int>,2>(x1766,_t0EF9);
          goto JOIN176B
        JOIN176B:  preds = [ASSIGN1768,ASSIGN3085]
          bool _t1769#1 = phi(_t1765,_t176A)
          if _t1769 then goto ASSIGN3186 else goto JOIN186E
        ASSIGN3186:  preds = [COND176C]
          real2 nd1770#2 = Floor<2>(x1761);
          real2 f176F#2 = Sub<real2>(x1761,nd1770);
          int{2} n1771#8 = RealToInt<2>(nd1770);
          int t1178D#4 = -1;
          int t2178E#1 = Index<int{2},0>(n1771);
          int ix178C#4 = Add<int>(t1178D,t2178E);
          int t21791#4 = Index<int{2},1>(n1771);
          int iy178F#1 = Add<int>(t1178D,t21791);
          addr(IMAGE2D<float>) a1792#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy178F);
          real4 v01773#1 = LoadVoxels<IMAGE2D<float>,4>(a1792);
          int iy1788#1 = Add<int>(_t0FB3,t21791);
          addr(IMAGE2D<float>) a178B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy1788);
          real4 v11774#1 = LoadVoxels<IMAGE2D<float>,4>(a178B);
          int iy1781#1 = Add<int>(_t0FB7,t21791);
          addr(IMAGE2D<float>) a1784#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy1781);
          real4 v21775#1 = LoadVoxels<IMAGE2D<float>,4>(a1784);
          int iy177A#1 = Add<int>(_t0F8F,t21791);
          addr(IMAGE2D<float>) a177D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix178C,iy177A);
          real4 v31776#1 = LoadVoxels<IMAGE2D<float>,4>(a177D);
          real fy179E#5 = Index<real2,1>(f176F);
          real t317A3#1 = Add<real>(fy179E,_t0F8B);
          real t117A1#1 = Sub<real>(fy179E,_t0F8B);
          real t017A0#1 = Sub<real>(fy179E,_t0F8D);
          real4 a179F#1 = <real4>[t317A3,fy179E,t117A1,t017A0];
          real4 hy1794#1 = EvalKernel<4,bspln3,0>(a179F);
          real fx1795#5 = Index<real2,0>(f176F);
          real t3179A#1 = Add<real>(fx1795,_t0F8B);
          real t11798#1 = Sub<real>(fx1795,_t0F8B);
          real t01797#1 = Sub<real>(fx1795,_t0F8D);
          real4 a1796#1 = <real4>[t3179A,fx1795,t11798,t01797];
          real4 hx1793#4 = EvalKernel<4,bspln3,0>(a1796);
          real t017A8#1 = Dot<4>(v01773,hx1793);
          real t117A9#1 = Dot<4>(v11774,hx1793);
          real t217AA#1 = Dot<4>(v21775,hx1793);
          real t317AB#1 = Dot<4>(v31776,hx1793);
          real4 tv17A7#1 = <real4>[t017A8,t117A9,t217AA,t317AB];
          real _t176D#1 = Dot<4>(hy1794,tv17A7);
          real2 x17EB#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v070F1B);
          real2 nd17ED#2 = Floor<2>(x17EB);
          real2 f17EC#2 = Sub<real2>(x17EB,nd17ED);
          int{2} n17EE#8 = RealToInt<2>(nd17ED);
          int t2180B#1 = Index<int{2},0>(n17EE);
          int ix1809#4 = Add<int>(t1178D,t2180B);
          int t2180E#4 = Index<int{2},1>(n17EE);
          int iy180C#1 = Add<int>(t1178D,t2180E);
          addr(IMAGE2D<int>) a180F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy180C);
          real4 v017F0#1 = LoadVoxels<IMAGE2D<int>,4>(a180F);
          int iy1805#1 = Add<int>(_t0FB3,t2180E);
          addr(IMAGE2D<int>) a1808#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy1805);
          real4 v117F1#1 = LoadVoxels<IMAGE2D<int>,4>(a1808);
          int iy17FE#1 = Add<int>(_t0FB7,t2180E);
          addr(IMAGE2D<int>) a1801#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy17FE);
          real4 v217F2#1 = LoadVoxels<IMAGE2D<int>,4>(a1801);
          int iy17F7#1 = Add<int>(_t0F8F,t2180E);
          addr(IMAGE2D<int>) a17FA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1809,iy17F7);
          real4 v317F3#1 = LoadVoxels<IMAGE2D<int>,4>(a17FA);
          real fy181B#5 = Index<real2,1>(f17EC);
          real t31820#1 = Add<real>(fy181B,_t0F8B);
          real t1181E#1 = Sub<real>(fy181B,_t0F8B);
          real t0181D#1 = Sub<real>(fy181B,_t0F8D);
          real4 a181C#1 = <real4>[t31820,fy181B,t1181E,t0181D];
          real4 hy1811#1 = EvalKernel<4,bspln3,0>(a181C);
          real fx1812#5 = Index<real2,0>(f17EC);
          real t31817#1 = Add<real>(fx1812,_t0F8B);
          real t11815#1 = Sub<real>(fx1812,_t0F8B);
          real t01814#1 = Sub<real>(fx1812,_t0F8D);
          real4 a1813#1 = <real4>[t31817,fx1812,t11815,t01814];
          real4 hx1810#4 = EvalKernel<4,bspln3,0>(a1813);
          real t01825#1 = Dot<4>(v017F0,hx1810);
          real t11826#1 = Dot<4>(v117F1,hx1810);
          real t21827#1 = Dot<4>(v217F2,hx1810);
          real t31828#1 = Dot<4>(v317F3,hx1810);
          real4 tv1824#1 = <real4>[t01825,t11826,t21827,t31828];
          real _t17EA#1 = Dot<4>(hy1811,tv1824);
          real _t1867#2 = Sub<real>(_t176D,_t17EA);
          real _t1869#1 = Mul<real>(_t1867,_t1867);
          real score186B#1 = Add<real>(score1756,_t1869);
          goto JOIN186E
        JOIN186E:  preds = [ASSIGN186C,COND176C]
          real score186D#2 = phi(score186B,score1756)
          real _t186F#1 = Dot<2>(r00FA5,v080F1D);
          real _t1871#1 = Dot<2>(r10FAB,v080F1D);
          real2 _t1873#1 = <real2>[_t186F,_t1871];
          real2 pos1875#2 = Add<real2>(_t1873,_t0FBB);
          real2 x1878#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1875);
          bool _t1877#1 = Inside<IMAGE2D<float>,2>(x1878,_t0EFD);
          if _t1877 then goto ASSIGN187E else goto ASSIGN3084
        ASSIGN187E:  preds = [COND187B]
          real2 x187D#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v080F1D);
          bool _t187C#1 = Inside<IMAGE2D<int>,2>(x187D,_t0EF9);
          goto JOIN1882
        JOIN1882:  preds = [ASSIGN187F,ASSIGN3084]
          bool _t1880#1 = phi(_t187C,_t1881)
          if _t1880 then goto ASSIGN31A7 else goto JOIN1985
        ASSIGN31A7:  preds = [COND1883]
          real2 nd1887#2 = Floor<2>(x1878);
          real2 f1886#2 = Sub<real2>(x1878,nd1887);
          int{2} n1888#8 = RealToInt<2>(nd1887);
          int t118A4#4 = -1;
          int t218A5#1 = Index<int{2},0>(n1888);
          int ix18A3#4 = Add<int>(t118A4,t218A5);
          int t218A8#4 = Index<int{2},1>(n1888);
          int iy18A6#1 = Add<int>(t118A4,t218A8);
          addr(IMAGE2D<float>) a18A9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy18A6);
          real4 v0188A#1 = LoadVoxels<IMAGE2D<float>,4>(a18A9);
          int iy189F#1 = Add<int>(_t0FB3,t218A8);
          addr(IMAGE2D<float>) a18A2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy189F);
          real4 v1188B#1 = LoadVoxels<IMAGE2D<float>,4>(a18A2);
          int iy1898#1 = Add<int>(_t0FB7,t218A8);
          addr(IMAGE2D<float>) a189B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy1898);
          real4 v2188C#1 = LoadVoxels<IMAGE2D<float>,4>(a189B);
          int iy1891#1 = Add<int>(_t0F8F,t218A8);
          addr(IMAGE2D<float>) a1894#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix18A3,iy1891);
          real4 v3188D#1 = LoadVoxels<IMAGE2D<float>,4>(a1894);
          real fy18B5#5 = Index<real2,1>(f1886);
          real t318BA#1 = Add<real>(fy18B5,_t0F8B);
          real t118B8#1 = Sub<real>(fy18B5,_t0F8B);
          real t018B7#1 = Sub<real>(fy18B5,_t0F8D);
          real4 a18B6#1 = <real4>[t318BA,fy18B5,t118B8,t018B7];
          real4 hy18AB#1 = EvalKernel<4,bspln3,0>(a18B6);
          real fx18AC#5 = Index<real2,0>(f1886);
          real t318B1#1 = Add<real>(fx18AC,_t0F8B);
          real t118AF#1 = Sub<real>(fx18AC,_t0F8B);
          real t018AE#1 = Sub<real>(fx18AC,_t0F8D);
          real4 a18AD#1 = <real4>[t318B1,fx18AC,t118AF,t018AE];
          real4 hx18AA#4 = EvalKernel<4,bspln3,0>(a18AD);
          real t018BF#1 = Dot<4>(v0188A,hx18AA);
          real t118C0#1 = Dot<4>(v1188B,hx18AA);
          real t218C1#1 = Dot<4>(v2188C,hx18AA);
          real t318C2#1 = Dot<4>(v3188D,hx18AA);
          real4 tv18BE#1 = <real4>[t018BF,t118C0,t218C1,t318C2];
          real _t1884#1 = Dot<4>(hy18AB,tv18BE);
          real2 x1902#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v080F1D);
          real2 nd1904#2 = Floor<2>(x1902);
          real2 f1903#2 = Sub<real2>(x1902,nd1904);
          int{2} n1905#8 = RealToInt<2>(nd1904);
          int t21922#1 = Index<int{2},0>(n1905);
          int ix1920#4 = Add<int>(t118A4,t21922);
          int t21925#4 = Index<int{2},1>(n1905);
          int iy1923#1 = Add<int>(t118A4,t21925);
          addr(IMAGE2D<int>) a1926#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy1923);
          real4 v01907#1 = LoadVoxels<IMAGE2D<int>,4>(a1926);
          int iy191C#1 = Add<int>(_t0FB3,t21925);
          addr(IMAGE2D<int>) a191F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy191C);
          real4 v11908#1 = LoadVoxels<IMAGE2D<int>,4>(a191F);
          int iy1915#1 = Add<int>(_t0FB7,t21925);
          addr(IMAGE2D<int>) a1918#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy1915);
          real4 v21909#1 = LoadVoxels<IMAGE2D<int>,4>(a1918);
          int iy190E#1 = Add<int>(_t0F8F,t21925);
          addr(IMAGE2D<int>) a1911#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1920,iy190E);
          real4 v3190A#1 = LoadVoxels<IMAGE2D<int>,4>(a1911);
          real fy1932#5 = Index<real2,1>(f1903);
          real t31937#1 = Add<real>(fy1932,_t0F8B);
          real t11935#1 = Sub<real>(fy1932,_t0F8B);
          real t01934#1 = Sub<real>(fy1932,_t0F8D);
          real4 a1933#1 = <real4>[t31937,fy1932,t11935,t01934];
          real4 hy1928#1 = EvalKernel<4,bspln3,0>(a1933);
          real fx1929#5 = Index<real2,0>(f1903);
          real t3192E#1 = Add<real>(fx1929,_t0F8B);
          real t1192C#1 = Sub<real>(fx1929,_t0F8B);
          real t0192B#1 = Sub<real>(fx1929,_t0F8D);
          real4 a192A#1 = <real4>[t3192E,fx1929,t1192C,t0192B];
          real4 hx1927#4 = EvalKernel<4,bspln3,0>(a192A);
          real t0193C#1 = Dot<4>(v01907,hx1927);
          real t1193D#1 = Dot<4>(v11908,hx1927);
          real t2193E#1 = Dot<4>(v21909,hx1927);
          real t3193F#1 = Dot<4>(v3190A,hx1927);
          real4 tv193B#1 = <real4>[t0193C,t1193D,t2193E,t3193F];
          real _t1901#1 = Dot<4>(hy1928,tv193B);
          real _t197E#2 = Sub<real>(_t1884,_t1901);
          real _t1980#1 = Mul<real>(_t197E,_t197E);
          real score1982#1 = Add<real>(score186D,_t1980);
          goto JOIN1985
        JOIN1985:  preds = [ASSIGN1983,COND1883]
          real score1984#2 = phi(score1982,score186D)
          real _t1986#1 = Dot<2>(r00FA5,v090F1F);
          real _t1988#1 = Dot<2>(r10FAB,v090F1F);
          real2 _t198A#1 = <real2>[_t1986,_t1988];
          real2 pos198C#2 = Add<real2>(_t198A,_t0FBB);
          real2 x198F#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos198C);
          bool _t198E#1 = Inside<IMAGE2D<float>,2>(x198F,_t0EFD);
          if _t198E then goto ASSIGN1995 else goto ASSIGN3083
        ASSIGN1995:  preds = [COND1992]
          real2 x1994#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v090F1F);
          bool _t1993#1 = Inside<IMAGE2D<int>,2>(x1994,_t0EF9);
          goto JOIN1999
        JOIN1999:  preds = [ASSIGN1996,ASSIGN3083]
          bool _t1997#1 = phi(_t1993,_t1998)
          if _t1997 then goto ASSIGN31C8 else goto JOIN1A9C
        ASSIGN31C8:  preds = [COND199A]
          real2 nd199E#2 = Floor<2>(x198F);
          real2 f199D#2 = Sub<real2>(x198F,nd199E);
          int{2} n199F#8 = RealToInt<2>(nd199E);
          int t119BB#4 = -1;
          int t219BC#1 = Index<int{2},0>(n199F);
          int ix19BA#4 = Add<int>(t119BB,t219BC);
          int t219BF#4 = Index<int{2},1>(n199F);
          int iy19BD#1 = Add<int>(t119BB,t219BF);
          addr(IMAGE2D<float>) a19C0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19BD);
          real4 v019A1#1 = LoadVoxels<IMAGE2D<float>,4>(a19C0);
          int iy19B6#1 = Add<int>(_t0FB3,t219BF);
          addr(IMAGE2D<float>) a19B9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19B6);
          real4 v119A2#1 = LoadVoxels<IMAGE2D<float>,4>(a19B9);
          int iy19AF#1 = Add<int>(_t0FB7,t219BF);
          addr(IMAGE2D<float>) a19B2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19AF);
          real4 v219A3#1 = LoadVoxels<IMAGE2D<float>,4>(a19B2);
          int iy19A8#1 = Add<int>(_t0F8F,t219BF);
          addr(IMAGE2D<float>) a19AB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix19BA,iy19A8);
          real4 v319A4#1 = LoadVoxels<IMAGE2D<float>,4>(a19AB);
          real fy19CC#5 = Index<real2,1>(f199D);
          real t319D1#1 = Add<real>(fy19CC,_t0F8B);
          real t119CF#1 = Sub<real>(fy19CC,_t0F8B);
          real t019CE#1 = Sub<real>(fy19CC,_t0F8D);
          real4 a19CD#1 = <real4>[t319D1,fy19CC,t119CF,t019CE];
          real4 hy19C2#1 = EvalKernel<4,bspln3,0>(a19CD);
          real fx19C3#5 = Index<real2,0>(f199D);
          real t319C8#1 = Add<real>(fx19C3,_t0F8B);
          real t119C6#1 = Sub<real>(fx19C3,_t0F8B);
          real t019C5#1 = Sub<real>(fx19C3,_t0F8D);
          real4 a19C4#1 = <real4>[t319C8,fx19C3,t119C6,t019C5];
          real4 hx19C1#4 = EvalKernel<4,bspln3,0>(a19C4);
          real t019D6#1 = Dot<4>(v019A1,hx19C1);
          real t119D7#1 = Dot<4>(v119A2,hx19C1);
          real t219D8#1 = Dot<4>(v219A3,hx19C1);
          real t319D9#1 = Dot<4>(v319A4,hx19C1);
          real4 tv19D5#1 = <real4>[t019D6,t119D7,t219D8,t319D9];
          real _t199B#1 = Dot<4>(hy19C2,tv19D5);
          real2 x1A19#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v090F1F);
          real2 nd1A1B#2 = Floor<2>(x1A19);
          real2 f1A1A#2 = Sub<real2>(x1A19,nd1A1B);
          int{2} n1A1C#8 = RealToInt<2>(nd1A1B);
          int t21A39#1 = Index<int{2},0>(n1A1C);
          int ix1A37#4 = Add<int>(t119BB,t21A39);
          int t21A3C#4 = Index<int{2},1>(n1A1C);
          int iy1A3A#1 = Add<int>(t119BB,t21A3C);
          addr(IMAGE2D<int>) a1A3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A3A);
          real4 v01A1E#1 = LoadVoxels<IMAGE2D<int>,4>(a1A3D);
          int iy1A33#1 = Add<int>(_t0FB3,t21A3C);
          addr(IMAGE2D<int>) a1A36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A33);
          real4 v11A1F#1 = LoadVoxels<IMAGE2D<int>,4>(a1A36);
          int iy1A2C#1 = Add<int>(_t0FB7,t21A3C);
          addr(IMAGE2D<int>) a1A2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A2C);
          real4 v21A20#1 = LoadVoxels<IMAGE2D<int>,4>(a1A2F);
          int iy1A25#1 = Add<int>(_t0F8F,t21A3C);
          addr(IMAGE2D<int>) a1A28#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1A37,iy1A25);
          real4 v31A21#1 = LoadVoxels<IMAGE2D<int>,4>(a1A28);
          real fy1A49#5 = Index<real2,1>(f1A1A);
          real t31A4E#1 = Add<real>(fy1A49,_t0F8B);
          real t11A4C#1 = Sub<real>(fy1A49,_t0F8B);
          real t01A4B#1 = Sub<real>(fy1A49,_t0F8D);
          real4 a1A4A#1 = <real4>[t31A4E,fy1A49,t11A4C,t01A4B];
          real4 hy1A3F#1 = EvalKernel<4,bspln3,0>(a1A4A);
          real fx1A40#5 = Index<real2,0>(f1A1A);
          real t31A45#1 = Add<real>(fx1A40,_t0F8B);
          real t11A43#1 = Sub<real>(fx1A40,_t0F8B);
          real t01A42#1 = Sub<real>(fx1A40,_t0F8D);
          real4 a1A41#1 = <real4>[t31A45,fx1A40,t11A43,t01A42];
          real4 hx1A3E#4 = EvalKernel<4,bspln3,0>(a1A41);
          real t01A53#1 = Dot<4>(v01A1E,hx1A3E);
          real t11A54#1 = Dot<4>(v11A1F,hx1A3E);
          real t21A55#1 = Dot<4>(v21A20,hx1A3E);
          real t31A56#1 = Dot<4>(v31A21,hx1A3E);
          real4 tv1A52#1 = <real4>[t01A53,t11A54,t21A55,t31A56];
          real _t1A18#1 = Dot<4>(hy1A3F,tv1A52);
          real _t1A95#2 = Sub<real>(_t199B,_t1A18);
          real _t1A97#1 = Mul<real>(_t1A95,_t1A95);
          real score1A99#1 = Add<real>(score1984,_t1A97);
          goto JOIN1A9C
        JOIN1A9C:  preds = [ASSIGN1A9A,COND199A]
          real score1A9B#2 = phi(score1A99,score1984)
          real _t1A9D#1 = Dot<2>(r00FA5,v100F25);
          real _t1A9F#1 = Dot<2>(r10FAB,v100F25);
          real2 _t1AA1#1 = <real2>[_t1A9D,_t1A9F];
          real2 pos1AA3#2 = Add<real2>(_t1AA1,_t0FBB);
          real2 x1AA6#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1AA3);
          bool _t1AA5#1 = Inside<IMAGE2D<float>,2>(x1AA6,_t0EFD);
          if _t1AA5 then goto ASSIGN1AAC else goto ASSIGN3082
        ASSIGN1AAC:  preds = [COND1AA9]
          real2 x1AAB#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v100F25);
          bool _t1AAA#1 = Inside<IMAGE2D<int>,2>(x1AAB,_t0EF9);
          goto JOIN1AB0
        JOIN1AB0:  preds = [ASSIGN1AAD,ASSIGN3082]
          bool _t1AAE#1 = phi(_t1AAA,_t1AAF)
          if _t1AAE then goto ASSIGN31E9 else goto JOIN1BB3
        ASSIGN31E9:  preds = [COND1AB1]
          real2 nd1AB5#2 = Floor<2>(x1AA6);
          real2 f1AB4#2 = Sub<real2>(x1AA6,nd1AB5);
          int{2} n1AB6#8 = RealToInt<2>(nd1AB5);
          int t11AD2#4 = -1;
          int t21AD3#1 = Index<int{2},0>(n1AB6);
          int ix1AD1#4 = Add<int>(t11AD2,t21AD3);
          int t21AD6#4 = Index<int{2},1>(n1AB6);
          int iy1AD4#1 = Add<int>(t11AD2,t21AD6);
          addr(IMAGE2D<float>) a1AD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1AD4);
          real4 v01AB8#1 = LoadVoxels<IMAGE2D<float>,4>(a1AD7);
          int iy1ACD#1 = Add<int>(_t0FB3,t21AD6);
          addr(IMAGE2D<float>) a1AD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1ACD);
          real4 v11AB9#1 = LoadVoxels<IMAGE2D<float>,4>(a1AD0);
          int iy1AC6#1 = Add<int>(_t0FB7,t21AD6);
          addr(IMAGE2D<float>) a1AC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1AC6);
          real4 v21ABA#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC9);
          int iy1ABF#1 = Add<int>(_t0F8F,t21AD6);
          addr(IMAGE2D<float>) a1AC2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1AD1,iy1ABF);
          real4 v31ABB#1 = LoadVoxels<IMAGE2D<float>,4>(a1AC2);
          real fy1AE3#5 = Index<real2,1>(f1AB4);
          real t31AE8#1 = Add<real>(fy1AE3,_t0F8B);
          real t11AE6#1 = Sub<real>(fy1AE3,_t0F8B);
          real t01AE5#1 = Sub<real>(fy1AE3,_t0F8D);
          real4 a1AE4#1 = <real4>[t31AE8,fy1AE3,t11AE6,t01AE5];
          real4 hy1AD9#1 = EvalKernel<4,bspln3,0>(a1AE4);
          real fx1ADA#5 = Index<real2,0>(f1AB4);
          real t31ADF#1 = Add<real>(fx1ADA,_t0F8B);
          real t11ADD#1 = Sub<real>(fx1ADA,_t0F8B);
          real t01ADC#1 = Sub<real>(fx1ADA,_t0F8D);
          real4 a1ADB#1 = <real4>[t31ADF,fx1ADA,t11ADD,t01ADC];
          real4 hx1AD8#4 = EvalKernel<4,bspln3,0>(a1ADB);
          real t01AED#1 = Dot<4>(v01AB8,hx1AD8);
          real t11AEE#1 = Dot<4>(v11AB9,hx1AD8);
          real t21AEF#1 = Dot<4>(v21ABA,hx1AD8);
          real t31AF0#1 = Dot<4>(v31ABB,hx1AD8);
          real4 tv1AEC#1 = <real4>[t01AED,t11AEE,t21AEF,t31AF0];
          real _t1AB2#1 = Dot<4>(hy1AD9,tv1AEC);
          real2 x1B30#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v100F25);
          real2 nd1B32#2 = Floor<2>(x1B30);
          real2 f1B31#2 = Sub<real2>(x1B30,nd1B32);
          int{2} n1B33#8 = RealToInt<2>(nd1B32);
          int t21B50#1 = Index<int{2},0>(n1B33);
          int ix1B4E#4 = Add<int>(t11AD2,t21B50);
          int t21B53#4 = Index<int{2},1>(n1B33);
          int iy1B51#1 = Add<int>(t11AD2,t21B53);
          addr(IMAGE2D<int>) a1B54#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B51);
          real4 v01B35#1 = LoadVoxels<IMAGE2D<int>,4>(a1B54);
          int iy1B4A#1 = Add<int>(_t0FB3,t21B53);
          addr(IMAGE2D<int>) a1B4D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B4A);
          real4 v11B36#1 = LoadVoxels<IMAGE2D<int>,4>(a1B4D);
          int iy1B43#1 = Add<int>(_t0FB7,t21B53);
          addr(IMAGE2D<int>) a1B46#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B43);
          real4 v21B37#1 = LoadVoxels<IMAGE2D<int>,4>(a1B46);
          int iy1B3C#1 = Add<int>(_t0F8F,t21B53);
          addr(IMAGE2D<int>) a1B3F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1B4E,iy1B3C);
          real4 v31B38#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3F);
          real fy1B60#5 = Index<real2,1>(f1B31);
          real t31B65#1 = Add<real>(fy1B60,_t0F8B);
          real t11B63#1 = Sub<real>(fy1B60,_t0F8B);
          real t01B62#1 = Sub<real>(fy1B60,_t0F8D);
          real4 a1B61#1 = <real4>[t31B65,fy1B60,t11B63,t01B62];
          real4 hy1B56#1 = EvalKernel<4,bspln3,0>(a1B61);
          real fx1B57#5 = Index<real2,0>(f1B31);
          real t31B5C#1 = Add<real>(fx1B57,_t0F8B);
          real t11B5A#1 = Sub<real>(fx1B57,_t0F8B);
          real t01B59#1 = Sub<real>(fx1B57,_t0F8D);
          real4 a1B58#1 = <real4>[t31B5C,fx1B57,t11B5A,t01B59];
          real4 hx1B55#4 = EvalKernel<4,bspln3,0>(a1B58);
          real t01B6A#1 = Dot<4>(v01B35,hx1B55);
          real t11B6B#1 = Dot<4>(v11B36,hx1B55);
          real t21B6C#1 = Dot<4>(v21B37,hx1B55);
          real t31B6D#1 = Dot<4>(v31B38,hx1B55);
          real4 tv1B69#1 = <real4>[t01B6A,t11B6B,t21B6C,t31B6D];
          real _t1B2F#1 = Dot<4>(hy1B56,tv1B69);
          real _t1BAC#2 = Sub<real>(_t1AB2,_t1B2F);
          real _t1BAE#1 = Mul<real>(_t1BAC,_t1BAC);
          real score1BB0#1 = Add<real>(score1A9B,_t1BAE);
          goto JOIN1BB3
        JOIN1BB3:  preds = [ASSIGN1BB1,COND1AB1]
          real score1BB2#2 = phi(score1BB0,score1A9B)
          real _t1BB4#1 = Dot<2>(r00FA5,v110F27);
          real _t1BB6#1 = Dot<2>(r10FAB,v110F27);
          real2 _t1BB8#1 = <real2>[_t1BB4,_t1BB6];
          real2 pos1BBA#2 = Add<real2>(_t1BB8,_t0FBB);
          real2 x1BBD#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1BBA);
          bool _t1BBC#1 = Inside<IMAGE2D<float>,2>(x1BBD,_t0EFD);
          if _t1BBC then goto ASSIGN1BC3 else goto ASSIGN3081
        ASSIGN1BC3:  preds = [COND1BC0]
          real2 x1BC2#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v110F27);
          bool _t1BC1#1 = Inside<IMAGE2D<int>,2>(x1BC2,_t0EF9);
          goto JOIN1BC7
        JOIN1BC7:  preds = [ASSIGN1BC4,ASSIGN3081]
          bool _t1BC5#1 = phi(_t1BC1,_t1BC6)
          if _t1BC5 then goto ASSIGN320A else goto JOIN1CCA
        ASSIGN320A:  preds = [COND1BC8]
          real2 nd1BCC#2 = Floor<2>(x1BBD);
          real2 f1BCB#2 = Sub<real2>(x1BBD,nd1BCC);
          int{2} n1BCD#8 = RealToInt<2>(nd1BCC);
          int t11BE9#4 = -1;
          int t21BEA#1 = Index<int{2},0>(n1BCD);
          int ix1BE8#4 = Add<int>(t11BE9,t21BEA);
          int t21BED#4 = Index<int{2},1>(n1BCD);
          int iy1BEB#1 = Add<int>(t11BE9,t21BED);
          addr(IMAGE2D<float>) a1BEE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BEB);
          real4 v01BCF#1 = LoadVoxels<IMAGE2D<float>,4>(a1BEE);
          int iy1BE4#1 = Add<int>(_t0FB3,t21BED);
          addr(IMAGE2D<float>) a1BE7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BE4);
          real4 v11BD0#1 = LoadVoxels<IMAGE2D<float>,4>(a1BE7);
          int iy1BDD#1 = Add<int>(_t0FB7,t21BED);
          addr(IMAGE2D<float>) a1BE0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BDD);
          real4 v21BD1#1 = LoadVoxels<IMAGE2D<float>,4>(a1BE0);
          int iy1BD6#1 = Add<int>(_t0F8F,t21BED);
          addr(IMAGE2D<float>) a1BD9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1BE8,iy1BD6);
          real4 v31BD2#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD9);
          real fy1BFA#5 = Index<real2,1>(f1BCB);
          real t31BFF#1 = Add<real>(fy1BFA,_t0F8B);
          real t11BFD#1 = Sub<real>(fy1BFA,_t0F8B);
          real t01BFC#1 = Sub<real>(fy1BFA,_t0F8D);
          real4 a1BFB#1 = <real4>[t31BFF,fy1BFA,t11BFD,t01BFC];
          real4 hy1BF0#1 = EvalKernel<4,bspln3,0>(a1BFB);
          real fx1BF1#5 = Index<real2,0>(f1BCB);
          real t31BF6#1 = Add<real>(fx1BF1,_t0F8B);
          real t11BF4#1 = Sub<real>(fx1BF1,_t0F8B);
          real t01BF3#1 = Sub<real>(fx1BF1,_t0F8D);
          real4 a1BF2#1 = <real4>[t31BF6,fx1BF1,t11BF4,t01BF3];
          real4 hx1BEF#4 = EvalKernel<4,bspln3,0>(a1BF2);
          real t01C04#1 = Dot<4>(v01BCF,hx1BEF);
          real t11C05#1 = Dot<4>(v11BD0,hx1BEF);
          real t21C06#1 = Dot<4>(v21BD1,hx1BEF);
          real t31C07#1 = Dot<4>(v31BD2,hx1BEF);
          real4 tv1C03#1 = <real4>[t01C04,t11C05,t21C06,t31C07];
          real _t1BC9#1 = Dot<4>(hy1BF0,tv1C03);
          real2 x1C47#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v110F27);
          real2 nd1C49#2 = Floor<2>(x1C47);
          real2 f1C48#2 = Sub<real2>(x1C47,nd1C49);
          int{2} n1C4A#8 = RealToInt<2>(nd1C49);
          int t21C67#1 = Index<int{2},0>(n1C4A);
          int ix1C65#4 = Add<int>(t11BE9,t21C67);
          int t21C6A#4 = Index<int{2},1>(n1C4A);
          int iy1C68#1 = Add<int>(t11BE9,t21C6A);
          addr(IMAGE2D<int>) a1C6B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C68);
          real4 v01C4C#1 = LoadVoxels<IMAGE2D<int>,4>(a1C6B);
          int iy1C61#1 = Add<int>(_t0FB3,t21C6A);
          addr(IMAGE2D<int>) a1C64#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C61);
          real4 v11C4D#1 = LoadVoxels<IMAGE2D<int>,4>(a1C64);
          int iy1C5A#1 = Add<int>(_t0FB7,t21C6A);
          addr(IMAGE2D<int>) a1C5D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C5A);
          real4 v21C4E#1 = LoadVoxels<IMAGE2D<int>,4>(a1C5D);
          int iy1C53#1 = Add<int>(_t0F8F,t21C6A);
          addr(IMAGE2D<int>) a1C56#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1C65,iy1C53);
          real4 v31C4F#1 = LoadVoxels<IMAGE2D<int>,4>(a1C56);
          real fy1C77#5 = Index<real2,1>(f1C48);
          real t31C7C#1 = Add<real>(fy1C77,_t0F8B);
          real t11C7A#1 = Sub<real>(fy1C77,_t0F8B);
          real t01C79#1 = Sub<real>(fy1C77,_t0F8D);
          real4 a1C78#1 = <real4>[t31C7C,fy1C77,t11C7A,t01C79];
          real4 hy1C6D#1 = EvalKernel<4,bspln3,0>(a1C78);
          real fx1C6E#5 = Index<real2,0>(f1C48);
          real t31C73#1 = Add<real>(fx1C6E,_t0F8B);
          real t11C71#1 = Sub<real>(fx1C6E,_t0F8B);
          real t01C70#1 = Sub<real>(fx1C6E,_t0F8D);
          real4 a1C6F#1 = <real4>[t31C73,fx1C6E,t11C71,t01C70];
          real4 hx1C6C#4 = EvalKernel<4,bspln3,0>(a1C6F);
          real t01C81#1 = Dot<4>(v01C4C,hx1C6C);
          real t11C82#1 = Dot<4>(v11C4D,hx1C6C);
          real t21C83#1 = Dot<4>(v21C4E,hx1C6C);
          real t31C84#1 = Dot<4>(v31C4F,hx1C6C);
          real4 tv1C80#1 = <real4>[t01C81,t11C82,t21C83,t31C84];
          real _t1C46#1 = Dot<4>(hy1C6D,tv1C80);
          real _t1CC3#2 = Sub<real>(_t1BC9,_t1C46);
          real _t1CC5#1 = Mul<real>(_t1CC3,_t1CC3);
          real score1CC7#1 = Add<real>(score1BB2,_t1CC5);
          goto JOIN1CCA
        JOIN1CCA:  preds = [ASSIGN1CC8,COND1BC8]
          real score1CC9#2 = phi(score1CC7,score1BB2)
          real _t1CCB#1 = Dot<2>(r00FA5,v120F29);
          real _t1CCD#1 = Dot<2>(r10FAB,v120F29);
          real2 _t1CCF#1 = <real2>[_t1CCB,_t1CCD];
          real2 pos1CD1#2 = Add<real2>(_t1CCF,_t0FBB);
          real2 x1CD4#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1CD1);
          bool _t1CD3#1 = Inside<IMAGE2D<float>,2>(x1CD4,_t0EFD);
          if _t1CD3 then goto ASSIGN1CDA else goto ASSIGN3080
        ASSIGN1CDA:  preds = [COND1CD7]
          real2 x1CD9#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v120F29);
          bool _t1CD8#1 = Inside<IMAGE2D<int>,2>(x1CD9,_t0EF9);
          goto JOIN1CDE
        JOIN1CDE:  preds = [ASSIGN1CDB,ASSIGN3080]
          bool _t1CDC#1 = phi(_t1CD8,_t1CDD)
          if _t1CDC then goto ASSIGN322B else goto JOIN1DE1
        ASSIGN322B:  preds = [COND1CDF]
          real2 nd1CE3#2 = Floor<2>(x1CD4);
          real2 f1CE2#2 = Sub<real2>(x1CD4,nd1CE3);
          int{2} n1CE4#8 = RealToInt<2>(nd1CE3);
          int t11D00#4 = -1;
          int t21D01#1 = Index<int{2},0>(n1CE4);
          int ix1CFF#4 = Add<int>(t11D00,t21D01);
          int t21D04#4 = Index<int{2},1>(n1CE4);
          int iy1D02#1 = Add<int>(t11D00,t21D04);
          addr(IMAGE2D<float>) a1D05#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1D02);
          real4 v01CE6#1 = LoadVoxels<IMAGE2D<float>,4>(a1D05);
          int iy1CFB#1 = Add<int>(_t0FB3,t21D04);
          addr(IMAGE2D<float>) a1CFE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1CFB);
          real4 v11CE7#1 = LoadVoxels<IMAGE2D<float>,4>(a1CFE);
          int iy1CF4#1 = Add<int>(_t0FB7,t21D04);
          addr(IMAGE2D<float>) a1CF7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1CF4);
          real4 v21CE8#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF7);
          int iy1CED#1 = Add<int>(_t0F8F,t21D04);
          addr(IMAGE2D<float>) a1CF0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1CFF,iy1CED);
          real4 v31CE9#1 = LoadVoxels<IMAGE2D<float>,4>(a1CF0);
          real fy1D11#5 = Index<real2,1>(f1CE2);
          real t31D16#1 = Add<real>(fy1D11,_t0F8B);
          real t11D14#1 = Sub<real>(fy1D11,_t0F8B);
          real t01D13#1 = Sub<real>(fy1D11,_t0F8D);
          real4 a1D12#1 = <real4>[t31D16,fy1D11,t11D14,t01D13];
          real4 hy1D07#1 = EvalKernel<4,bspln3,0>(a1D12);
          real fx1D08#5 = Index<real2,0>(f1CE2);
          real t31D0D#1 = Add<real>(fx1D08,_t0F8B);
          real t11D0B#1 = Sub<real>(fx1D08,_t0F8B);
          real t01D0A#1 = Sub<real>(fx1D08,_t0F8D);
          real4 a1D09#1 = <real4>[t31D0D,fx1D08,t11D0B,t01D0A];
          real4 hx1D06#4 = EvalKernel<4,bspln3,0>(a1D09);
          real t01D1B#1 = Dot<4>(v01CE6,hx1D06);
          real t11D1C#1 = Dot<4>(v11CE7,hx1D06);
          real t21D1D#1 = Dot<4>(v21CE8,hx1D06);
          real t31D1E#1 = Dot<4>(v31CE9,hx1D06);
          real4 tv1D1A#1 = <real4>[t01D1B,t11D1C,t21D1D,t31D1E];
          real _t1CE0#1 = Dot<4>(hy1D07,tv1D1A);
          real2 x1D5E#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v120F29);
          real2 nd1D60#2 = Floor<2>(x1D5E);
          real2 f1D5F#2 = Sub<real2>(x1D5E,nd1D60);
          int{2} n1D61#8 = RealToInt<2>(nd1D60);
          int t21D7E#1 = Index<int{2},0>(n1D61);
          int ix1D7C#4 = Add<int>(t11D00,t21D7E);
          int t21D81#4 = Index<int{2},1>(n1D61);
          int iy1D7F#1 = Add<int>(t11D00,t21D81);
          addr(IMAGE2D<int>) a1D82#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D7F);
          real4 v01D63#1 = LoadVoxels<IMAGE2D<int>,4>(a1D82);
          int iy1D78#1 = Add<int>(_t0FB3,t21D81);
          addr(IMAGE2D<int>) a1D7B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D78);
          real4 v11D64#1 = LoadVoxels<IMAGE2D<int>,4>(a1D7B);
          int iy1D71#1 = Add<int>(_t0FB7,t21D81);
          addr(IMAGE2D<int>) a1D74#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D71);
          real4 v21D65#1 = LoadVoxels<IMAGE2D<int>,4>(a1D74);
          int iy1D6A#1 = Add<int>(_t0F8F,t21D81);
          addr(IMAGE2D<int>) a1D6D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1D7C,iy1D6A);
          real4 v31D66#1 = LoadVoxels<IMAGE2D<int>,4>(a1D6D);
          real fy1D8E#5 = Index<real2,1>(f1D5F);
          real t31D93#1 = Add<real>(fy1D8E,_t0F8B);
          real t11D91#1 = Sub<real>(fy1D8E,_t0F8B);
          real t01D90#1 = Sub<real>(fy1D8E,_t0F8D);
          real4 a1D8F#1 = <real4>[t31D93,fy1D8E,t11D91,t01D90];
          real4 hy1D84#1 = EvalKernel<4,bspln3,0>(a1D8F);
          real fx1D85#5 = Index<real2,0>(f1D5F);
          real t31D8A#1 = Add<real>(fx1D85,_t0F8B);
          real t11D88#1 = Sub<real>(fx1D85,_t0F8B);
          real t01D87#1 = Sub<real>(fx1D85,_t0F8D);
          real4 a1D86#1 = <real4>[t31D8A,fx1D85,t11D88,t01D87];
          real4 hx1D83#4 = EvalKernel<4,bspln3,0>(a1D86);
          real t01D98#1 = Dot<4>(v01D63,hx1D83);
          real t11D99#1 = Dot<4>(v11D64,hx1D83);
          real t21D9A#1 = Dot<4>(v21D65,hx1D83);
          real t31D9B#1 = Dot<4>(v31D66,hx1D83);
          real4 tv1D97#1 = <real4>[t01D98,t11D99,t21D9A,t31D9B];
          real _t1D5D#1 = Dot<4>(hy1D84,tv1D97);
          real _t1DDA#2 = Sub<real>(_t1CE0,_t1D5D);
          real _t1DDC#1 = Mul<real>(_t1DDA,_t1DDA);
          real score1DDE#1 = Add<real>(score1CC9,_t1DDC);
          goto JOIN1DE1
        JOIN1DE1:  preds = [ASSIGN1DDF,COND1CDF]
          real score1DE0#2 = phi(score1DDE,score1CC9)
          real _t1DE2#1 = Dot<2>(r00FA5,v130F2B);
          real _t1DE4#1 = Dot<2>(r10FAB,v130F2B);
          real2 _t1DE6#1 = <real2>[_t1DE2,_t1DE4];
          real2 pos1DE8#2 = Add<real2>(_t1DE6,_t0FBB);
          real2 x1DEB#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1DE8);
          bool _t1DEA#1 = Inside<IMAGE2D<float>,2>(x1DEB,_t0EFD);
          if _t1DEA then goto ASSIGN1DF1 else goto ASSIGN307F
        ASSIGN1DF1:  preds = [COND1DEE]
          real2 x1DF0#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v130F2B);
          bool _t1DEF#1 = Inside<IMAGE2D<int>,2>(x1DF0,_t0EF9);
          goto JOIN1DF5
        JOIN1DF5:  preds = [ASSIGN1DF2,ASSIGN307F]
          bool _t1DF3#1 = phi(_t1DEF,_t1DF4)
          if _t1DF3 then goto ASSIGN324C else goto JOIN1EF8
        ASSIGN324C:  preds = [COND1DF6]
          real2 nd1DFA#2 = Floor<2>(x1DEB);
          real2 f1DF9#2 = Sub<real2>(x1DEB,nd1DFA);
          int{2} n1DFB#8 = RealToInt<2>(nd1DFA);
          int t11E17#4 = -1;
          int t21E18#1 = Index<int{2},0>(n1DFB);
          int ix1E16#4 = Add<int>(t11E17,t21E18);
          int t21E1B#4 = Index<int{2},1>(n1DFB);
          int iy1E19#1 = Add<int>(t11E17,t21E1B);
          addr(IMAGE2D<float>) a1E1C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E19);
          real4 v01DFD#1 = LoadVoxels<IMAGE2D<float>,4>(a1E1C);
          int iy1E12#1 = Add<int>(_t0FB3,t21E1B);
          addr(IMAGE2D<float>) a1E15#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E12);
          real4 v11DFE#1 = LoadVoxels<IMAGE2D<float>,4>(a1E15);
          int iy1E0B#1 = Add<int>(_t0FB7,t21E1B);
          addr(IMAGE2D<float>) a1E0E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E0B);
          real4 v21DFF#1 = LoadVoxels<IMAGE2D<float>,4>(a1E0E);
          int iy1E04#1 = Add<int>(_t0F8F,t21E1B);
          addr(IMAGE2D<float>) a1E07#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1E16,iy1E04);
          real4 v31E00#1 = LoadVoxels<IMAGE2D<float>,4>(a1E07);
          real fy1E28#5 = Index<real2,1>(f1DF9);
          real t31E2D#1 = Add<real>(fy1E28,_t0F8B);
          real t11E2B#1 = Sub<real>(fy1E28,_t0F8B);
          real t01E2A#1 = Sub<real>(fy1E28,_t0F8D);
          real4 a1E29#1 = <real4>[t31E2D,fy1E28,t11E2B,t01E2A];
          real4 hy1E1E#1 = EvalKernel<4,bspln3,0>(a1E29);
          real fx1E1F#5 = Index<real2,0>(f1DF9);
          real t31E24#1 = Add<real>(fx1E1F,_t0F8B);
          real t11E22#1 = Sub<real>(fx1E1F,_t0F8B);
          real t01E21#1 = Sub<real>(fx1E1F,_t0F8D);
          real4 a1E20#1 = <real4>[t31E24,fx1E1F,t11E22,t01E21];
          real4 hx1E1D#4 = EvalKernel<4,bspln3,0>(a1E20);
          real t01E32#1 = Dot<4>(v01DFD,hx1E1D);
          real t11E33#1 = Dot<4>(v11DFE,hx1E1D);
          real t21E34#1 = Dot<4>(v21DFF,hx1E1D);
          real t31E35#1 = Dot<4>(v31E00,hx1E1D);
          real4 tv1E31#1 = <real4>[t01E32,t11E33,t21E34,t31E35];
          real _t1DF7#1 = Dot<4>(hy1E1E,tv1E31);
          real2 x1E75#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v130F2B);
          real2 nd1E77#2 = Floor<2>(x1E75);
          real2 f1E76#2 = Sub<real2>(x1E75,nd1E77);
          int{2} n1E78#8 = RealToInt<2>(nd1E77);
          int t21E95#1 = Index<int{2},0>(n1E78);
          int ix1E93#4 = Add<int>(t11E17,t21E95);
          int t21E98#4 = Index<int{2},1>(n1E78);
          int iy1E96#1 = Add<int>(t11E17,t21E98);
          addr(IMAGE2D<int>) a1E99#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E96);
          real4 v01E7A#1 = LoadVoxels<IMAGE2D<int>,4>(a1E99);
          int iy1E8F#1 = Add<int>(_t0FB3,t21E98);
          addr(IMAGE2D<int>) a1E92#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E8F);
          real4 v11E7B#1 = LoadVoxels<IMAGE2D<int>,4>(a1E92);
          int iy1E88#1 = Add<int>(_t0FB7,t21E98);
          addr(IMAGE2D<int>) a1E8B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E88);
          real4 v21E7C#1 = LoadVoxels<IMAGE2D<int>,4>(a1E8B);
          int iy1E81#1 = Add<int>(_t0F8F,t21E98);
          addr(IMAGE2D<int>) a1E84#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1E93,iy1E81);
          real4 v31E7D#1 = LoadVoxels<IMAGE2D<int>,4>(a1E84);
          real fy1EA5#5 = Index<real2,1>(f1E76);
          real t31EAA#1 = Add<real>(fy1EA5,_t0F8B);
          real t11EA8#1 = Sub<real>(fy1EA5,_t0F8B);
          real t01EA7#1 = Sub<real>(fy1EA5,_t0F8D);
          real4 a1EA6#1 = <real4>[t31EAA,fy1EA5,t11EA8,t01EA7];
          real4 hy1E9B#1 = EvalKernel<4,bspln3,0>(a1EA6);
          real fx1E9C#5 = Index<real2,0>(f1E76);
          real t31EA1#1 = Add<real>(fx1E9C,_t0F8B);
          real t11E9F#1 = Sub<real>(fx1E9C,_t0F8B);
          real t01E9E#1 = Sub<real>(fx1E9C,_t0F8D);
          real4 a1E9D#1 = <real4>[t31EA1,fx1E9C,t11E9F,t01E9E];
          real4 hx1E9A#4 = EvalKernel<4,bspln3,0>(a1E9D);
          real t01EAF#1 = Dot<4>(v01E7A,hx1E9A);
          real t11EB0#1 = Dot<4>(v11E7B,hx1E9A);
          real t21EB1#1 = Dot<4>(v21E7C,hx1E9A);
          real t31EB2#1 = Dot<4>(v31E7D,hx1E9A);
          real4 tv1EAE#1 = <real4>[t01EAF,t11EB0,t21EB1,t31EB2];
          real _t1E74#1 = Dot<4>(hy1E9B,tv1EAE);
          real _t1EF1#2 = Sub<real>(_t1DF7,_t1E74);
          real _t1EF3#1 = Mul<real>(_t1EF1,_t1EF1);
          real score1EF5#1 = Add<real>(score1DE0,_t1EF3);
          goto JOIN1EF8
        JOIN1EF8:  preds = [ASSIGN1EF6,COND1DF6]
          real score1EF7#2 = phi(score1EF5,score1DE0)
          real _t1EF9#1 = Dot<2>(r00FA5,v140F2D);
          real _t1EFB#1 = Dot<2>(r10FAB,v140F2D);
          real2 _t1EFD#1 = <real2>[_t1EF9,_t1EFB];
          real2 pos1EFF#2 = Add<real2>(_t1EFD,_t0FBB);
          real2 x1F02#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos1EFF);
          bool _t1F01#1 = Inside<IMAGE2D<float>,2>(x1F02,_t0EFD);
          if _t1F01 then goto ASSIGN1F08 else goto ASSIGN307E
        ASSIGN1F08:  preds = [COND1F05]
          real2 x1F07#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v140F2D);
          bool _t1F06#1 = Inside<IMAGE2D<int>,2>(x1F07,_t0EF9);
          goto JOIN1F0C
        JOIN1F0C:  preds = [ASSIGN1F09,ASSIGN307E]
          bool _t1F0A#1 = phi(_t1F06,_t1F0B)
          if _t1F0A then goto ASSIGN326D else goto JOIN200F
        ASSIGN326D:  preds = [COND1F0D]
          real2 nd1F11#2 = Floor<2>(x1F02);
          real2 f1F10#2 = Sub<real2>(x1F02,nd1F11);
          int{2} n1F12#8 = RealToInt<2>(nd1F11);
          int t11F2E#4 = -1;
          int t21F2F#1 = Index<int{2},0>(n1F12);
          int ix1F2D#4 = Add<int>(t11F2E,t21F2F);
          int t21F32#4 = Index<int{2},1>(n1F12);
          int iy1F30#1 = Add<int>(t11F2E,t21F32);
          addr(IMAGE2D<float>) a1F33#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F30);
          real4 v01F14#1 = LoadVoxels<IMAGE2D<float>,4>(a1F33);
          int iy1F29#1 = Add<int>(_t0FB3,t21F32);
          addr(IMAGE2D<float>) a1F2C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F29);
          real4 v11F15#1 = LoadVoxels<IMAGE2D<float>,4>(a1F2C);
          int iy1F22#1 = Add<int>(_t0FB7,t21F32);
          addr(IMAGE2D<float>) a1F25#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F22);
          real4 v21F16#1 = LoadVoxels<IMAGE2D<float>,4>(a1F25);
          int iy1F1B#1 = Add<int>(_t0F8F,t21F32);
          addr(IMAGE2D<float>) a1F1E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix1F2D,iy1F1B);
          real4 v31F17#1 = LoadVoxels<IMAGE2D<float>,4>(a1F1E);
          real fy1F3F#5 = Index<real2,1>(f1F10);
          real t31F44#1 = Add<real>(fy1F3F,_t0F8B);
          real t11F42#1 = Sub<real>(fy1F3F,_t0F8B);
          real t01F41#1 = Sub<real>(fy1F3F,_t0F8D);
          real4 a1F40#1 = <real4>[t31F44,fy1F3F,t11F42,t01F41];
          real4 hy1F35#1 = EvalKernel<4,bspln3,0>(a1F40);
          real fx1F36#5 = Index<real2,0>(f1F10);
          real t31F3B#1 = Add<real>(fx1F36,_t0F8B);
          real t11F39#1 = Sub<real>(fx1F36,_t0F8B);
          real t01F38#1 = Sub<real>(fx1F36,_t0F8D);
          real4 a1F37#1 = <real4>[t31F3B,fx1F36,t11F39,t01F38];
          real4 hx1F34#4 = EvalKernel<4,bspln3,0>(a1F37);
          real t01F49#1 = Dot<4>(v01F14,hx1F34);
          real t11F4A#1 = Dot<4>(v11F15,hx1F34);
          real t21F4B#1 = Dot<4>(v21F16,hx1F34);
          real t31F4C#1 = Dot<4>(v31F17,hx1F34);
          real4 tv1F48#1 = <real4>[t01F49,t11F4A,t21F4B,t31F4C];
          real _t1F0E#1 = Dot<4>(hy1F35,tv1F48);
          real2 x1F8C#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v140F2D);
          real2 nd1F8E#2 = Floor<2>(x1F8C);
          real2 f1F8D#2 = Sub<real2>(x1F8C,nd1F8E);
          int{2} n1F8F#8 = RealToInt<2>(nd1F8E);
          int t21FAC#1 = Index<int{2},0>(n1F8F);
          int ix1FAA#4 = Add<int>(t11F2E,t21FAC);
          int t21FAF#4 = Index<int{2},1>(n1F8F);
          int iy1FAD#1 = Add<int>(t11F2E,t21FAF);
          addr(IMAGE2D<int>) a1FB0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1FAD);
          real4 v01F91#1 = LoadVoxels<IMAGE2D<int>,4>(a1FB0);
          int iy1FA6#1 = Add<int>(_t0FB3,t21FAF);
          addr(IMAGE2D<int>) a1FA9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1FA6);
          real4 v11F92#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA9);
          int iy1F9F#1 = Add<int>(_t0FB7,t21FAF);
          addr(IMAGE2D<int>) a1FA2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1F9F);
          real4 v21F93#1 = LoadVoxels<IMAGE2D<int>,4>(a1FA2);
          int iy1F98#1 = Add<int>(_t0F8F,t21FAF);
          addr(IMAGE2D<int>) a1F9B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix1FAA,iy1F98);
          real4 v31F94#1 = LoadVoxels<IMAGE2D<int>,4>(a1F9B);
          real fy1FBC#5 = Index<real2,1>(f1F8D);
          real t31FC1#1 = Add<real>(fy1FBC,_t0F8B);
          real t11FBF#1 = Sub<real>(fy1FBC,_t0F8B);
          real t01FBE#1 = Sub<real>(fy1FBC,_t0F8D);
          real4 a1FBD#1 = <real4>[t31FC1,fy1FBC,t11FBF,t01FBE];
          real4 hy1FB2#1 = EvalKernel<4,bspln3,0>(a1FBD);
          real fx1FB3#5 = Index<real2,0>(f1F8D);
          real t31FB8#1 = Add<real>(fx1FB3,_t0F8B);
          real t11FB6#1 = Sub<real>(fx1FB3,_t0F8B);
          real t01FB5#1 = Sub<real>(fx1FB3,_t0F8D);
          real4 a1FB4#1 = <real4>[t31FB8,fx1FB3,t11FB6,t01FB5];
          real4 hx1FB1#4 = EvalKernel<4,bspln3,0>(a1FB4);
          real t01FC6#1 = Dot<4>(v01F91,hx1FB1);
          real t11FC7#1 = Dot<4>(v11F92,hx1FB1);
          real t21FC8#1 = Dot<4>(v21F93,hx1FB1);
          real t31FC9#1 = Dot<4>(v31F94,hx1FB1);
          real4 tv1FC5#1 = <real4>[t01FC6,t11FC7,t21FC8,t31FC9];
          real _t1F8B#1 = Dot<4>(hy1FB2,tv1FC5);
          real _t2008#2 = Sub<real>(_t1F0E,_t1F8B);
          real _t200A#1 = Mul<real>(_t2008,_t2008);
          real score200C#1 = Add<real>(score1EF7,_t200A);
          goto JOIN200F
        JOIN200F:  preds = [ASSIGN200D,COND1F0D]
          real score200E#2 = phi(score200C,score1EF7)
          real _t2010#1 = Dot<2>(r00FA5,v150F2F);
          real _t2012#1 = Dot<2>(r10FAB,v150F2F);
          real2 _t2014#1 = <real2>[_t2010,_t2012];
          real2 pos2016#2 = Add<real2>(_t2014,_t0FBB);
          real2 x2019#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2016);
          bool _t2018#1 = Inside<IMAGE2D<float>,2>(x2019,_t0EFD);
          if _t2018 then goto ASSIGN201F else goto ASSIGN307D
        ASSIGN201F:  preds = [COND201C]
          real2 x201E#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v150F2F);
          bool _t201D#1 = Inside<IMAGE2D<int>,2>(x201E,_t0EF9);
          goto JOIN2023
        JOIN2023:  preds = [ASSIGN2020,ASSIGN307D]
          bool _t2021#1 = phi(_t201D,_t2022)
          if _t2021 then goto ASSIGN328E else goto JOIN2126
        ASSIGN328E:  preds = [COND2024]
          real2 nd2028#2 = Floor<2>(x2019);
          real2 f2027#2 = Sub<real2>(x2019,nd2028);
          int{2} n2029#8 = RealToInt<2>(nd2028);
          int t12045#4 = -1;
          int t22046#1 = Index<int{2},0>(n2029);
          int ix2044#4 = Add<int>(t12045,t22046);
          int t22049#4 = Index<int{2},1>(n2029);
          int iy2047#1 = Add<int>(t12045,t22049);
          addr(IMAGE2D<float>) a204A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2047);
          real4 v0202B#1 = LoadVoxels<IMAGE2D<float>,4>(a204A);
          int iy2040#1 = Add<int>(_t0FB3,t22049);
          addr(IMAGE2D<float>) a2043#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2040);
          real4 v1202C#1 = LoadVoxels<IMAGE2D<float>,4>(a2043);
          int iy2039#1 = Add<int>(_t0FB7,t22049);
          addr(IMAGE2D<float>) a203C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2039);
          real4 v2202D#1 = LoadVoxels<IMAGE2D<float>,4>(a203C);
          int iy2032#1 = Add<int>(_t0F8F,t22049);
          addr(IMAGE2D<float>) a2035#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2044,iy2032);
          real4 v3202E#1 = LoadVoxels<IMAGE2D<float>,4>(a2035);
          real fy2056#5 = Index<real2,1>(f2027);
          real t3205B#1 = Add<real>(fy2056,_t0F8B);
          real t12059#1 = Sub<real>(fy2056,_t0F8B);
          real t02058#1 = Sub<real>(fy2056,_t0F8D);
          real4 a2057#1 = <real4>[t3205B,fy2056,t12059,t02058];
          real4 hy204C#1 = EvalKernel<4,bspln3,0>(a2057);
          real fx204D#5 = Index<real2,0>(f2027);
          real t32052#1 = Add<real>(fx204D,_t0F8B);
          real t12050#1 = Sub<real>(fx204D,_t0F8B);
          real t0204F#1 = Sub<real>(fx204D,_t0F8D);
          real4 a204E#1 = <real4>[t32052,fx204D,t12050,t0204F];
          real4 hx204B#4 = EvalKernel<4,bspln3,0>(a204E);
          real t02060#1 = Dot<4>(v0202B,hx204B);
          real t12061#1 = Dot<4>(v1202C,hx204B);
          real t22062#1 = Dot<4>(v2202D,hx204B);
          real t32063#1 = Dot<4>(v3202E,hx204B);
          real4 tv205F#1 = <real4>[t02060,t12061,t22062,t32063];
          real _t2025#1 = Dot<4>(hy204C,tv205F);
          real2 x20A3#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v150F2F);
          real2 nd20A5#2 = Floor<2>(x20A3);
          real2 f20A4#2 = Sub<real2>(x20A3,nd20A5);
          int{2} n20A6#8 = RealToInt<2>(nd20A5);
          int t220C3#1 = Index<int{2},0>(n20A6);
          int ix20C1#4 = Add<int>(t12045,t220C3);
          int t220C6#4 = Index<int{2},1>(n20A6);
          int iy20C4#1 = Add<int>(t12045,t220C6);
          addr(IMAGE2D<int>) a20C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20C4);
          real4 v020A8#1 = LoadVoxels<IMAGE2D<int>,4>(a20C7);
          int iy20BD#1 = Add<int>(_t0FB3,t220C6);
          addr(IMAGE2D<int>) a20C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20BD);
          real4 v120A9#1 = LoadVoxels<IMAGE2D<int>,4>(a20C0);
          int iy20B6#1 = Add<int>(_t0FB7,t220C6);
          addr(IMAGE2D<int>) a20B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20B6);
          real4 v220AA#1 = LoadVoxels<IMAGE2D<int>,4>(a20B9);
          int iy20AF#1 = Add<int>(_t0F8F,t220C6);
          addr(IMAGE2D<int>) a20B2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix20C1,iy20AF);
          real4 v320AB#1 = LoadVoxels<IMAGE2D<int>,4>(a20B2);
          real fy20D3#5 = Index<real2,1>(f20A4);
          real t320D8#1 = Add<real>(fy20D3,_t0F8B);
          real t120D6#1 = Sub<real>(fy20D3,_t0F8B);
          real t020D5#1 = Sub<real>(fy20D3,_t0F8D);
          real4 a20D4#1 = <real4>[t320D8,fy20D3,t120D6,t020D5];
          real4 hy20C9#1 = EvalKernel<4,bspln3,0>(a20D4);
          real fx20CA#5 = Index<real2,0>(f20A4);
          real t320CF#1 = Add<real>(fx20CA,_t0F8B);
          real t120CD#1 = Sub<real>(fx20CA,_t0F8B);
          real t020CC#1 = Sub<real>(fx20CA,_t0F8D);
          real4 a20CB#1 = <real4>[t320CF,fx20CA,t120CD,t020CC];
          real4 hx20C8#4 = EvalKernel<4,bspln3,0>(a20CB);
          real t020DD#1 = Dot<4>(v020A8,hx20C8);
          real t120DE#1 = Dot<4>(v120A9,hx20C8);
          real t220DF#1 = Dot<4>(v220AA,hx20C8);
          real t320E0#1 = Dot<4>(v320AB,hx20C8);
          real4 tv20DC#1 = <real4>[t020DD,t120DE,t220DF,t320E0];
          real _t20A2#1 = Dot<4>(hy20C9,tv20DC);
          real _t211F#2 = Sub<real>(_t2025,_t20A2);
          real _t2121#1 = Mul<real>(_t211F,_t211F);
          real score2123#1 = Add<real>(score200E,_t2121);
          goto JOIN2126
        JOIN2126:  preds = [ASSIGN2124,COND2024]
          real score2125#2 = phi(score2123,score200E)
          real _t2127#1 = Dot<2>(r00FA5,v160F31);
          real _t2129#1 = Dot<2>(r10FAB,v160F31);
          real2 _t212B#1 = <real2>[_t2127,_t2129];
          real2 pos212D#2 = Add<real2>(_t212B,_t0FBB);
          real2 x2130#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos212D);
          bool _t212F#1 = Inside<IMAGE2D<float>,2>(x2130,_t0EFD);
          if _t212F then goto ASSIGN2136 else goto ASSIGN307C
        ASSIGN2136:  preds = [COND2133]
          real2 x2135#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v160F31);
          bool _t2134#1 = Inside<IMAGE2D<int>,2>(x2135,_t0EF9);
          goto JOIN213A
        JOIN213A:  preds = [ASSIGN2137,ASSIGN307C]
          bool _t2138#1 = phi(_t2134,_t2139)
          if _t2138 then goto ASSIGN32AF else goto JOIN223D
        ASSIGN32AF:  preds = [COND213B]
          real2 nd213F#2 = Floor<2>(x2130);
          real2 f213E#2 = Sub<real2>(x2130,nd213F);
          int{2} n2140#8 = RealToInt<2>(nd213F);
          int t1215C#4 = -1;
          int t2215D#1 = Index<int{2},0>(n2140);
          int ix215B#4 = Add<int>(t1215C,t2215D);
          int t22160#4 = Index<int{2},1>(n2140);
          int iy215E#1 = Add<int>(t1215C,t22160);
          addr(IMAGE2D<float>) a2161#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy215E);
          real4 v02142#1 = LoadVoxels<IMAGE2D<float>,4>(a2161);
          int iy2157#1 = Add<int>(_t0FB3,t22160);
          addr(IMAGE2D<float>) a215A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy2157);
          real4 v12143#1 = LoadVoxels<IMAGE2D<float>,4>(a215A);
          int iy2150#1 = Add<int>(_t0FB7,t22160);
          addr(IMAGE2D<float>) a2153#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy2150);
          real4 v22144#1 = LoadVoxels<IMAGE2D<float>,4>(a2153);
          int iy2149#1 = Add<int>(_t0F8F,t22160);
          addr(IMAGE2D<float>) a214C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix215B,iy2149);
          real4 v32145#1 = LoadVoxels<IMAGE2D<float>,4>(a214C);
          real fy216D#5 = Index<real2,1>(f213E);
          real t32172#1 = Add<real>(fy216D,_t0F8B);
          real t12170#1 = Sub<real>(fy216D,_t0F8B);
          real t0216F#1 = Sub<real>(fy216D,_t0F8D);
          real4 a216E#1 = <real4>[t32172,fy216D,t12170,t0216F];
          real4 hy2163#1 = EvalKernel<4,bspln3,0>(a216E);
          real fx2164#5 = Index<real2,0>(f213E);
          real t32169#1 = Add<real>(fx2164,_t0F8B);
          real t12167#1 = Sub<real>(fx2164,_t0F8B);
          real t02166#1 = Sub<real>(fx2164,_t0F8D);
          real4 a2165#1 = <real4>[t32169,fx2164,t12167,t02166];
          real4 hx2162#4 = EvalKernel<4,bspln3,0>(a2165);
          real t02177#1 = Dot<4>(v02142,hx2162);
          real t12178#1 = Dot<4>(v12143,hx2162);
          real t22179#1 = Dot<4>(v22144,hx2162);
          real t3217A#1 = Dot<4>(v32145,hx2162);
          real4 tv2176#1 = <real4>[t02177,t12178,t22179,t3217A];
          real _t213C#1 = Dot<4>(hy2163,tv2176);
          real2 x21BA#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v160F31);
          real2 nd21BC#2 = Floor<2>(x21BA);
          real2 f21BB#2 = Sub<real2>(x21BA,nd21BC);
          int{2} n21BD#8 = RealToInt<2>(nd21BC);
          int t221DA#1 = Index<int{2},0>(n21BD);
          int ix21D8#4 = Add<int>(t1215C,t221DA);
          int t221DD#4 = Index<int{2},1>(n21BD);
          int iy21DB#1 = Add<int>(t1215C,t221DD);
          addr(IMAGE2D<int>) a21DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21DB);
          real4 v021BF#1 = LoadVoxels<IMAGE2D<int>,4>(a21DE);
          int iy21D4#1 = Add<int>(_t0FB3,t221DD);
          addr(IMAGE2D<int>) a21D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21D4);
          real4 v121C0#1 = LoadVoxels<IMAGE2D<int>,4>(a21D7);
          int iy21CD#1 = Add<int>(_t0FB7,t221DD);
          addr(IMAGE2D<int>) a21D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21CD);
          real4 v221C1#1 = LoadVoxels<IMAGE2D<int>,4>(a21D0);
          int iy21C6#1 = Add<int>(_t0F8F,t221DD);
          addr(IMAGE2D<int>) a21C9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix21D8,iy21C6);
          real4 v321C2#1 = LoadVoxels<IMAGE2D<int>,4>(a21C9);
          real fy21EA#5 = Index<real2,1>(f21BB);
          real t321EF#1 = Add<real>(fy21EA,_t0F8B);
          real t121ED#1 = Sub<real>(fy21EA,_t0F8B);
          real t021EC#1 = Sub<real>(fy21EA,_t0F8D);
          real4 a21EB#1 = <real4>[t321EF,fy21EA,t121ED,t021EC];
          real4 hy21E0#1 = EvalKernel<4,bspln3,0>(a21EB);
          real fx21E1#5 = Index<real2,0>(f21BB);
          real t321E6#1 = Add<real>(fx21E1,_t0F8B);
          real t121E4#1 = Sub<real>(fx21E1,_t0F8B);
          real t021E3#1 = Sub<real>(fx21E1,_t0F8D);
          real4 a21E2#1 = <real4>[t321E6,fx21E1,t121E4,t021E3];
          real4 hx21DF#4 = EvalKernel<4,bspln3,0>(a21E2);
          real t021F4#1 = Dot<4>(v021BF,hx21DF);
          real t121F5#1 = Dot<4>(v121C0,hx21DF);
          real t221F6#1 = Dot<4>(v221C1,hx21DF);
          real t321F7#1 = Dot<4>(v321C2,hx21DF);
          real4 tv21F3#1 = <real4>[t021F4,t121F5,t221F6,t321F7];
          real _t21B9#1 = Dot<4>(hy21E0,tv21F3);
          real _t2236#2 = Sub<real>(_t213C,_t21B9);
          real _t2238#1 = Mul<real>(_t2236,_t2236);
          real score223A#1 = Add<real>(score2125,_t2238);
          goto JOIN223D
        JOIN223D:  preds = [ASSIGN223B,COND213B]
          real score223C#2 = phi(score223A,score2125)
          real _t223E#1 = Dot<2>(r00FA5,v170F33);
          real _t2240#1 = Dot<2>(r10FAB,v170F33);
          real2 _t2242#1 = <real2>[_t223E,_t2240];
          real2 pos2244#2 = Add<real2>(_t2242,_t0FBB);
          real2 x2247#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2244);
          bool _t2246#1 = Inside<IMAGE2D<float>,2>(x2247,_t0EFD);
          if _t2246 then goto ASSIGN224D else goto ASSIGN307B
        ASSIGN224D:  preds = [COND224A]
          real2 x224C#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v170F33);
          bool _t224B#1 = Inside<IMAGE2D<int>,2>(x224C,_t0EF9);
          goto JOIN2251
        JOIN2251:  preds = [ASSIGN224E,ASSIGN307B]
          bool _t224F#1 = phi(_t224B,_t2250)
          if _t224F then goto ASSIGN32D0 else goto JOIN2354
        ASSIGN32D0:  preds = [COND2252]
          real2 nd2256#2 = Floor<2>(x2247);
          real2 f2255#2 = Sub<real2>(x2247,nd2256);
          int{2} n2257#8 = RealToInt<2>(nd2256);
          int t12273#4 = -1;
          int t22274#1 = Index<int{2},0>(n2257);
          int ix2272#4 = Add<int>(t12273,t22274);
          int t22277#4 = Index<int{2},1>(n2257);
          int iy2275#1 = Add<int>(t12273,t22277);
          addr(IMAGE2D<float>) a2278#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy2275);
          real4 v02259#1 = LoadVoxels<IMAGE2D<float>,4>(a2278);
          int iy226E#1 = Add<int>(_t0FB3,t22277);
          addr(IMAGE2D<float>) a2271#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy226E);
          real4 v1225A#1 = LoadVoxels<IMAGE2D<float>,4>(a2271);
          int iy2267#1 = Add<int>(_t0FB7,t22277);
          addr(IMAGE2D<float>) a226A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy2267);
          real4 v2225B#1 = LoadVoxels<IMAGE2D<float>,4>(a226A);
          int iy2260#1 = Add<int>(_t0F8F,t22277);
          addr(IMAGE2D<float>) a2263#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2272,iy2260);
          real4 v3225C#1 = LoadVoxels<IMAGE2D<float>,4>(a2263);
          real fy2284#5 = Index<real2,1>(f2255);
          real t32289#1 = Add<real>(fy2284,_t0F8B);
          real t12287#1 = Sub<real>(fy2284,_t0F8B);
          real t02286#1 = Sub<real>(fy2284,_t0F8D);
          real4 a2285#1 = <real4>[t32289,fy2284,t12287,t02286];
          real4 hy227A#1 = EvalKernel<4,bspln3,0>(a2285);
          real fx227B#5 = Index<real2,0>(f2255);
          real t32280#1 = Add<real>(fx227B,_t0F8B);
          real t1227E#1 = Sub<real>(fx227B,_t0F8B);
          real t0227D#1 = Sub<real>(fx227B,_t0F8D);
          real4 a227C#1 = <real4>[t32280,fx227B,t1227E,t0227D];
          real4 hx2279#4 = EvalKernel<4,bspln3,0>(a227C);
          real t0228E#1 = Dot<4>(v02259,hx2279);
          real t1228F#1 = Dot<4>(v1225A,hx2279);
          real t22290#1 = Dot<4>(v2225B,hx2279);
          real t32291#1 = Dot<4>(v3225C,hx2279);
          real4 tv228D#1 = <real4>[t0228E,t1228F,t22290,t32291];
          real _t2253#1 = Dot<4>(hy227A,tv228D);
          real2 x22D1#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v170F33);
          real2 nd22D3#2 = Floor<2>(x22D1);
          real2 f22D2#2 = Sub<real2>(x22D1,nd22D3);
          int{2} n22D4#8 = RealToInt<2>(nd22D3);
          int t222F1#1 = Index<int{2},0>(n22D4);
          int ix22EF#4 = Add<int>(t12273,t222F1);
          int t222F4#4 = Index<int{2},1>(n22D4);
          int iy22F2#1 = Add<int>(t12273,t222F4);
          addr(IMAGE2D<int>) a22F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22F2);
          real4 v022D6#1 = LoadVoxels<IMAGE2D<int>,4>(a22F5);
          int iy22EB#1 = Add<int>(_t0FB3,t222F4);
          addr(IMAGE2D<int>) a22EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22EB);
          real4 v122D7#1 = LoadVoxels<IMAGE2D<int>,4>(a22EE);
          int iy22E4#1 = Add<int>(_t0FB7,t222F4);
          addr(IMAGE2D<int>) a22E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22E4);
          real4 v222D8#1 = LoadVoxels<IMAGE2D<int>,4>(a22E7);
          int iy22DD#1 = Add<int>(_t0F8F,t222F4);
          addr(IMAGE2D<int>) a22E0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix22EF,iy22DD);
          real4 v322D9#1 = LoadVoxels<IMAGE2D<int>,4>(a22E0);
          real fy2301#5 = Index<real2,1>(f22D2);
          real t32306#1 = Add<real>(fy2301,_t0F8B);
          real t12304#1 = Sub<real>(fy2301,_t0F8B);
          real t02303#1 = Sub<real>(fy2301,_t0F8D);
          real4 a2302#1 = <real4>[t32306,fy2301,t12304,t02303];
          real4 hy22F7#1 = EvalKernel<4,bspln3,0>(a2302);
          real fx22F8#5 = Index<real2,0>(f22D2);
          real t322FD#1 = Add<real>(fx22F8,_t0F8B);
          real t122FB#1 = Sub<real>(fx22F8,_t0F8B);
          real t022FA#1 = Sub<real>(fx22F8,_t0F8D);
          real4 a22F9#1 = <real4>[t322FD,fx22F8,t122FB,t022FA];
          real4 hx22F6#4 = EvalKernel<4,bspln3,0>(a22F9);
          real t0230B#1 = Dot<4>(v022D6,hx22F6);
          real t1230C#1 = Dot<4>(v122D7,hx22F6);
          real t2230D#1 = Dot<4>(v222D8,hx22F6);
          real t3230E#1 = Dot<4>(v322D9,hx22F6);
          real4 tv230A#1 = <real4>[t0230B,t1230C,t2230D,t3230E];
          real _t22D0#1 = Dot<4>(hy22F7,tv230A);
          real _t234D#2 = Sub<real>(_t2253,_t22D0);
          real _t234F#1 = Mul<real>(_t234D,_t234D);
          real score2351#1 = Add<real>(score223C,_t234F);
          goto JOIN2354
        JOIN2354:  preds = [ASSIGN2352,COND2252]
          real score2353#2 = phi(score2351,score223C)
          real _t2355#1 = Dot<2>(r00FA5,v180F35);
          real _t2357#1 = Dot<2>(r10FAB,v180F35);
          real2 _t2359#1 = <real2>[_t2355,_t2357];
          real2 pos235B#2 = Add<real2>(_t2359,_t0FBB);
          real2 x235E#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos235B);
          bool _t235D#1 = Inside<IMAGE2D<float>,2>(x235E,_t0EFD);
          if _t235D then goto ASSIGN2364 else goto ASSIGN307A
        ASSIGN2364:  preds = [COND2361]
          real2 x2363#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v180F35);
          bool _t2362#1 = Inside<IMAGE2D<int>,2>(x2363,_t0EF9);
          goto JOIN2368
        JOIN2368:  preds = [ASSIGN2365,ASSIGN307A]
          bool _t2366#1 = phi(_t2362,_t2367)
          if _t2366 then goto ASSIGN32F1 else goto JOIN246B
        ASSIGN32F1:  preds = [COND2369]
          real2 nd236D#2 = Floor<2>(x235E);
          real2 f236C#2 = Sub<real2>(x235E,nd236D);
          int{2} n236E#8 = RealToInt<2>(nd236D);
          int t1238A#4 = -1;
          int t2238B#1 = Index<int{2},0>(n236E);
          int ix2389#4 = Add<int>(t1238A,t2238B);
          int t2238E#4 = Index<int{2},1>(n236E);
          int iy238C#1 = Add<int>(t1238A,t2238E);
          addr(IMAGE2D<float>) a238F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy238C);
          real4 v02370#1 = LoadVoxels<IMAGE2D<float>,4>(a238F);
          int iy2385#1 = Add<int>(_t0FB3,t2238E);
          addr(IMAGE2D<float>) a2388#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy2385);
          real4 v12371#1 = LoadVoxels<IMAGE2D<float>,4>(a2388);
          int iy237E#1 = Add<int>(_t0FB7,t2238E);
          addr(IMAGE2D<float>) a2381#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy237E);
          real4 v22372#1 = LoadVoxels<IMAGE2D<float>,4>(a2381);
          int iy2377#1 = Add<int>(_t0F8F,t2238E);
          addr(IMAGE2D<float>) a237A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2389,iy2377);
          real4 v32373#1 = LoadVoxels<IMAGE2D<float>,4>(a237A);
          real fy239B#5 = Index<real2,1>(f236C);
          real t323A0#1 = Add<real>(fy239B,_t0F8B);
          real t1239E#1 = Sub<real>(fy239B,_t0F8B);
          real t0239D#1 = Sub<real>(fy239B,_t0F8D);
          real4 a239C#1 = <real4>[t323A0,fy239B,t1239E,t0239D];
          real4 hy2391#1 = EvalKernel<4,bspln3,0>(a239C);
          real fx2392#5 = Index<real2,0>(f236C);
          real t32397#1 = Add<real>(fx2392,_t0F8B);
          real t12395#1 = Sub<real>(fx2392,_t0F8B);
          real t02394#1 = Sub<real>(fx2392,_t0F8D);
          real4 a2393#1 = <real4>[t32397,fx2392,t12395,t02394];
          real4 hx2390#4 = EvalKernel<4,bspln3,0>(a2393);
          real t023A5#1 = Dot<4>(v02370,hx2390);
          real t123A6#1 = Dot<4>(v12371,hx2390);
          real t223A7#1 = Dot<4>(v22372,hx2390);
          real t323A8#1 = Dot<4>(v32373,hx2390);
          real4 tv23A4#1 = <real4>[t023A5,t123A6,t223A7,t323A8];
          real _t236A#1 = Dot<4>(hy2391,tv23A4);
          real2 x23E8#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v180F35);
          real2 nd23EA#2 = Floor<2>(x23E8);
          real2 f23E9#2 = Sub<real2>(x23E8,nd23EA);
          int{2} n23EB#8 = RealToInt<2>(nd23EA);
          int t22408#1 = Index<int{2},0>(n23EB);
          int ix2406#4 = Add<int>(t1238A,t22408);
          int t2240B#4 = Index<int{2},1>(n23EB);
          int iy2409#1 = Add<int>(t1238A,t2240B);
          addr(IMAGE2D<int>) a240C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy2409);
          real4 v023ED#1 = LoadVoxels<IMAGE2D<int>,4>(a240C);
          int iy2402#1 = Add<int>(_t0FB3,t2240B);
          addr(IMAGE2D<int>) a2405#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy2402);
          real4 v123EE#1 = LoadVoxels<IMAGE2D<int>,4>(a2405);
          int iy23FB#1 = Add<int>(_t0FB7,t2240B);
          addr(IMAGE2D<int>) a23FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy23FB);
          real4 v223EF#1 = LoadVoxels<IMAGE2D<int>,4>(a23FE);
          int iy23F4#1 = Add<int>(_t0F8F,t2240B);
          addr(IMAGE2D<int>) a23F7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2406,iy23F4);
          real4 v323F0#1 = LoadVoxels<IMAGE2D<int>,4>(a23F7);
          real fy2418#5 = Index<real2,1>(f23E9);
          real t3241D#1 = Add<real>(fy2418,_t0F8B);
          real t1241B#1 = Sub<real>(fy2418,_t0F8B);
          real t0241A#1 = Sub<real>(fy2418,_t0F8D);
          real4 a2419#1 = <real4>[t3241D,fy2418,t1241B,t0241A];
          real4 hy240E#1 = EvalKernel<4,bspln3,0>(a2419);
          real fx240F#5 = Index<real2,0>(f23E9);
          real t32414#1 = Add<real>(fx240F,_t0F8B);
          real t12412#1 = Sub<real>(fx240F,_t0F8B);
          real t02411#1 = Sub<real>(fx240F,_t0F8D);
          real4 a2410#1 = <real4>[t32414,fx240F,t12412,t02411];
          real4 hx240D#4 = EvalKernel<4,bspln3,0>(a2410);
          real t02422#1 = Dot<4>(v023ED,hx240D);
          real t12423#1 = Dot<4>(v123EE,hx240D);
          real t22424#1 = Dot<4>(v223EF,hx240D);
          real t32425#1 = Dot<4>(v323F0,hx240D);
          real4 tv2421#1 = <real4>[t02422,t12423,t22424,t32425];
          real _t23E7#1 = Dot<4>(hy240E,tv2421);
          real _t2464#2 = Sub<real>(_t236A,_t23E7);
          real _t2466#1 = Mul<real>(_t2464,_t2464);
          real score2468#1 = Add<real>(score2353,_t2466);
          goto JOIN246B
        JOIN246B:  preds = [ASSIGN2469,COND2369]
          real score246A#2 = phi(score2468,score2353)
          real _t246C#1 = Dot<2>(r00FA5,v190F37);
          real _t246E#1 = Dot<2>(r10FAB,v190F37);
          real2 _t2470#1 = <real2>[_t246C,_t246E];
          real2 pos2472#2 = Add<real2>(_t2470,_t0FBB);
          real2 x2475#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2472);
          bool _t2474#1 = Inside<IMAGE2D<float>,2>(x2475,_t0EFD);
          if _t2474 then goto ASSIGN247B else goto ASSIGN3079
        ASSIGN247B:  preds = [COND2478]
          real2 x247A#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v190F37);
          bool _t2479#1 = Inside<IMAGE2D<int>,2>(x247A,_t0EF9);
          goto JOIN247F
        JOIN247F:  preds = [ASSIGN247C,ASSIGN3079]
          bool _t247D#1 = phi(_t2479,_t247E)
          if _t247D then goto ASSIGN3312 else goto JOIN2582
        ASSIGN3312:  preds = [COND2480]
          real2 nd2484#2 = Floor<2>(x2475);
          real2 f2483#2 = Sub<real2>(x2475,nd2484);
          int{2} n2485#8 = RealToInt<2>(nd2484);
          int t124A1#4 = -1;
          int t224A2#1 = Index<int{2},0>(n2485);
          int ix24A0#4 = Add<int>(t124A1,t224A2);
          int t224A5#4 = Index<int{2},1>(n2485);
          int iy24A3#1 = Add<int>(t124A1,t224A5);
          addr(IMAGE2D<float>) a24A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy24A3);
          real4 v02487#1 = LoadVoxels<IMAGE2D<float>,4>(a24A6);
          int iy249C#1 = Add<int>(_t0FB3,t224A5);
          addr(IMAGE2D<float>) a249F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy249C);
          real4 v12488#1 = LoadVoxels<IMAGE2D<float>,4>(a249F);
          int iy2495#1 = Add<int>(_t0FB7,t224A5);
          addr(IMAGE2D<float>) a2498#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy2495);
          real4 v22489#1 = LoadVoxels<IMAGE2D<float>,4>(a2498);
          int iy248E#1 = Add<int>(_t0F8F,t224A5);
          addr(IMAGE2D<float>) a2491#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix24A0,iy248E);
          real4 v3248A#1 = LoadVoxels<IMAGE2D<float>,4>(a2491);
          real fy24B2#5 = Index<real2,1>(f2483);
          real t324B7#1 = Add<real>(fy24B2,_t0F8B);
          real t124B5#1 = Sub<real>(fy24B2,_t0F8B);
          real t024B4#1 = Sub<real>(fy24B2,_t0F8D);
          real4 a24B3#1 = <real4>[t324B7,fy24B2,t124B5,t024B4];
          real4 hy24A8#1 = EvalKernel<4,bspln3,0>(a24B3);
          real fx24A9#5 = Index<real2,0>(f2483);
          real t324AE#1 = Add<real>(fx24A9,_t0F8B);
          real t124AC#1 = Sub<real>(fx24A9,_t0F8B);
          real t024AB#1 = Sub<real>(fx24A9,_t0F8D);
          real4 a24AA#1 = <real4>[t324AE,fx24A9,t124AC,t024AB];
          real4 hx24A7#4 = EvalKernel<4,bspln3,0>(a24AA);
          real t024BC#1 = Dot<4>(v02487,hx24A7);
          real t124BD#1 = Dot<4>(v12488,hx24A7);
          real t224BE#1 = Dot<4>(v22489,hx24A7);
          real t324BF#1 = Dot<4>(v3248A,hx24A7);
          real4 tv24BB#1 = <real4>[t024BC,t124BD,t224BE,t324BF];
          real _t2481#1 = Dot<4>(hy24A8,tv24BB);
          real2 x24FF#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v190F37);
          real2 nd2501#2 = Floor<2>(x24FF);
          real2 f2500#2 = Sub<real2>(x24FF,nd2501);
          int{2} n2502#8 = RealToInt<2>(nd2501);
          int t2251F#1 = Index<int{2},0>(n2502);
          int ix251D#4 = Add<int>(t124A1,t2251F);
          int t22522#4 = Index<int{2},1>(n2502);
          int iy2520#1 = Add<int>(t124A1,t22522);
          addr(IMAGE2D<int>) a2523#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy2520);
          real4 v02504#1 = LoadVoxels<IMAGE2D<int>,4>(a2523);
          int iy2519#1 = Add<int>(_t0FB3,t22522);
          addr(IMAGE2D<int>) a251C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy2519);
          real4 v12505#1 = LoadVoxels<IMAGE2D<int>,4>(a251C);
          int iy2512#1 = Add<int>(_t0FB7,t22522);
          addr(IMAGE2D<int>) a2515#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy2512);
          real4 v22506#1 = LoadVoxels<IMAGE2D<int>,4>(a2515);
          int iy250B#1 = Add<int>(_t0F8F,t22522);
          addr(IMAGE2D<int>) a250E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix251D,iy250B);
          real4 v32507#1 = LoadVoxels<IMAGE2D<int>,4>(a250E);
          real fy252F#5 = Index<real2,1>(f2500);
          real t32534#1 = Add<real>(fy252F,_t0F8B);
          real t12532#1 = Sub<real>(fy252F,_t0F8B);
          real t02531#1 = Sub<real>(fy252F,_t0F8D);
          real4 a2530#1 = <real4>[t32534,fy252F,t12532,t02531];
          real4 hy2525#1 = EvalKernel<4,bspln3,0>(a2530);
          real fx2526#5 = Index<real2,0>(f2500);
          real t3252B#1 = Add<real>(fx2526,_t0F8B);
          real t12529#1 = Sub<real>(fx2526,_t0F8B);
          real t02528#1 = Sub<real>(fx2526,_t0F8D);
          real4 a2527#1 = <real4>[t3252B,fx2526,t12529,t02528];
          real4 hx2524#4 = EvalKernel<4,bspln3,0>(a2527);
          real t02539#1 = Dot<4>(v02504,hx2524);
          real t1253A#1 = Dot<4>(v12505,hx2524);
          real t2253B#1 = Dot<4>(v22506,hx2524);
          real t3253C#1 = Dot<4>(v32507,hx2524);
          real4 tv2538#1 = <real4>[t02539,t1253A,t2253B,t3253C];
          real _t24FE#1 = Dot<4>(hy2525,tv2538);
          real _t257B#2 = Sub<real>(_t2481,_t24FE);
          real _t257D#1 = Mul<real>(_t257B,_t257B);
          real score257F#1 = Add<real>(score246A,_t257D);
          goto JOIN2582
        JOIN2582:  preds = [ASSIGN2580,COND2480]
          real score2581#2 = phi(score257F,score246A)
          real _t2583#1 = Dot<2>(r00FA5,v200F39);
          real _t2585#1 = Dot<2>(r10FAB,v200F39);
          real2 _t2587#1 = <real2>[_t2583,_t2585];
          real2 pos2589#2 = Add<real2>(_t2587,_t0FBB);
          real2 x258C#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2589);
          bool _t258B#1 = Inside<IMAGE2D<float>,2>(x258C,_t0EFD);
          if _t258B then goto ASSIGN2592 else goto ASSIGN3078
        ASSIGN2592:  preds = [COND258F]
          real2 x2591#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v200F39);
          bool _t2590#1 = Inside<IMAGE2D<int>,2>(x2591,_t0EF9);
          goto JOIN2596
        JOIN2596:  preds = [ASSIGN2593,ASSIGN3078]
          bool _t2594#1 = phi(_t2590,_t2595)
          if _t2594 then goto ASSIGN3333 else goto JOIN2699
        ASSIGN3333:  preds = [COND2597]
          real2 nd259B#2 = Floor<2>(x258C);
          real2 f259A#2 = Sub<real2>(x258C,nd259B);
          int{2} n259C#8 = RealToInt<2>(nd259B);
          int t125B8#4 = -1;
          int t225B9#1 = Index<int{2},0>(n259C);
          int ix25B7#4 = Add<int>(t125B8,t225B9);
          int t225BC#4 = Index<int{2},1>(n259C);
          int iy25BA#1 = Add<int>(t125B8,t225BC);
          addr(IMAGE2D<float>) a25BD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25BA);
          real4 v0259E#1 = LoadVoxels<IMAGE2D<float>,4>(a25BD);
          int iy25B3#1 = Add<int>(_t0FB3,t225BC);
          addr(IMAGE2D<float>) a25B6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25B3);
          real4 v1259F#1 = LoadVoxels<IMAGE2D<float>,4>(a25B6);
          int iy25AC#1 = Add<int>(_t0FB7,t225BC);
          addr(IMAGE2D<float>) a25AF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25AC);
          real4 v225A0#1 = LoadVoxels<IMAGE2D<float>,4>(a25AF);
          int iy25A5#1 = Add<int>(_t0F8F,t225BC);
          addr(IMAGE2D<float>) a25A8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix25B7,iy25A5);
          real4 v325A1#1 = LoadVoxels<IMAGE2D<float>,4>(a25A8);
          real fy25C9#5 = Index<real2,1>(f259A);
          real t325CE#1 = Add<real>(fy25C9,_t0F8B);
          real t125CC#1 = Sub<real>(fy25C9,_t0F8B);
          real t025CB#1 = Sub<real>(fy25C9,_t0F8D);
          real4 a25CA#1 = <real4>[t325CE,fy25C9,t125CC,t025CB];
          real4 hy25BF#1 = EvalKernel<4,bspln3,0>(a25CA);
          real fx25C0#5 = Index<real2,0>(f259A);
          real t325C5#1 = Add<real>(fx25C0,_t0F8B);
          real t125C3#1 = Sub<real>(fx25C0,_t0F8B);
          real t025C2#1 = Sub<real>(fx25C0,_t0F8D);
          real4 a25C1#1 = <real4>[t325C5,fx25C0,t125C3,t025C2];
          real4 hx25BE#4 = EvalKernel<4,bspln3,0>(a25C1);
          real t025D3#1 = Dot<4>(v0259E,hx25BE);
          real t125D4#1 = Dot<4>(v1259F,hx25BE);
          real t225D5#1 = Dot<4>(v225A0,hx25BE);
          real t325D6#1 = Dot<4>(v325A1,hx25BE);
          real4 tv25D2#1 = <real4>[t025D3,t125D4,t225D5,t325D6];
          real _t2598#1 = Dot<4>(hy25BF,tv25D2);
          real2 x2616#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v200F39);
          real2 nd2618#2 = Floor<2>(x2616);
          real2 f2617#2 = Sub<real2>(x2616,nd2618);
          int{2} n2619#8 = RealToInt<2>(nd2618);
          int t22636#1 = Index<int{2},0>(n2619);
          int ix2634#4 = Add<int>(t125B8,t22636);
          int t22639#4 = Index<int{2},1>(n2619);
          int iy2637#1 = Add<int>(t125B8,t22639);
          addr(IMAGE2D<int>) a263A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2637);
          real4 v0261B#1 = LoadVoxels<IMAGE2D<int>,4>(a263A);
          int iy2630#1 = Add<int>(_t0FB3,t22639);
          addr(IMAGE2D<int>) a2633#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2630);
          real4 v1261C#1 = LoadVoxels<IMAGE2D<int>,4>(a2633);
          int iy2629#1 = Add<int>(_t0FB7,t22639);
          addr(IMAGE2D<int>) a262C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2629);
          real4 v2261D#1 = LoadVoxels<IMAGE2D<int>,4>(a262C);
          int iy2622#1 = Add<int>(_t0F8F,t22639);
          addr(IMAGE2D<int>) a2625#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2634,iy2622);
          real4 v3261E#1 = LoadVoxels<IMAGE2D<int>,4>(a2625);
          real fy2646#5 = Index<real2,1>(f2617);
          real t3264B#1 = Add<real>(fy2646,_t0F8B);
          real t12649#1 = Sub<real>(fy2646,_t0F8B);
          real t02648#1 = Sub<real>(fy2646,_t0F8D);
          real4 a2647#1 = <real4>[t3264B,fy2646,t12649,t02648];
          real4 hy263C#1 = EvalKernel<4,bspln3,0>(a2647);
          real fx263D#5 = Index<real2,0>(f2617);
          real t32642#1 = Add<real>(fx263D,_t0F8B);
          real t12640#1 = Sub<real>(fx263D,_t0F8B);
          real t0263F#1 = Sub<real>(fx263D,_t0F8D);
          real4 a263E#1 = <real4>[t32642,fx263D,t12640,t0263F];
          real4 hx263B#4 = EvalKernel<4,bspln3,0>(a263E);
          real t02650#1 = Dot<4>(v0261B,hx263B);
          real t12651#1 = Dot<4>(v1261C,hx263B);
          real t22652#1 = Dot<4>(v2261D,hx263B);
          real t32653#1 = Dot<4>(v3261E,hx263B);
          real4 tv264F#1 = <real4>[t02650,t12651,t22652,t32653];
          real _t2615#1 = Dot<4>(hy263C,tv264F);
          real _t2692#2 = Sub<real>(_t2598,_t2615);
          real _t2694#1 = Mul<real>(_t2692,_t2692);
          real score2696#1 = Add<real>(score2581,_t2694);
          goto JOIN2699
        JOIN2699:  preds = [ASSIGN2697,COND2597]
          real score2698#2 = phi(score2696,score2581)
          real _t269A#1 = Dot<2>(r00FA5,v210F3B);
          real _t269C#1 = Dot<2>(r10FAB,v210F3B);
          real2 _t269E#1 = <real2>[_t269A,_t269C];
          real2 pos26A0#2 = Add<real2>(_t269E,_t0FBB);
          real2 x26A3#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos26A0);
          bool _t26A2#1 = Inside<IMAGE2D<float>,2>(x26A3,_t0EFD);
          if _t26A2 then goto ASSIGN26A9 else goto ASSIGN3077
        ASSIGN26A9:  preds = [COND26A6]
          real2 x26A8#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v210F3B);
          bool _t26A7#1 = Inside<IMAGE2D<int>,2>(x26A8,_t0EF9);
          goto JOIN26AD
        JOIN26AD:  preds = [ASSIGN26AA,ASSIGN3077]
          bool _t26AB#1 = phi(_t26A7,_t26AC)
          if _t26AB then goto ASSIGN3354 else goto JOIN27B0
        ASSIGN3354:  preds = [COND26AE]
          real2 nd26B2#2 = Floor<2>(x26A3);
          real2 f26B1#2 = Sub<real2>(x26A3,nd26B2);
          int{2} n26B3#8 = RealToInt<2>(nd26B2);
          int t126CF#4 = -1;
          int t226D0#1 = Index<int{2},0>(n26B3);
          int ix26CE#4 = Add<int>(t126CF,t226D0);
          int t226D3#4 = Index<int{2},1>(n26B3);
          int iy26D1#1 = Add<int>(t126CF,t226D3);
          addr(IMAGE2D<float>) a26D4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26D1);
          real4 v026B5#1 = LoadVoxels<IMAGE2D<float>,4>(a26D4);
          int iy26CA#1 = Add<int>(_t0FB3,t226D3);
          addr(IMAGE2D<float>) a26CD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26CA);
          real4 v126B6#1 = LoadVoxels<IMAGE2D<float>,4>(a26CD);
          int iy26C3#1 = Add<int>(_t0FB7,t226D3);
          addr(IMAGE2D<float>) a26C6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26C3);
          real4 v226B7#1 = LoadVoxels<IMAGE2D<float>,4>(a26C6);
          int iy26BC#1 = Add<int>(_t0F8F,t226D3);
          addr(IMAGE2D<float>) a26BF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix26CE,iy26BC);
          real4 v326B8#1 = LoadVoxels<IMAGE2D<float>,4>(a26BF);
          real fy26E0#5 = Index<real2,1>(f26B1);
          real t326E5#1 = Add<real>(fy26E0,_t0F8B);
          real t126E3#1 = Sub<real>(fy26E0,_t0F8B);
          real t026E2#1 = Sub<real>(fy26E0,_t0F8D);
          real4 a26E1#1 = <real4>[t326E5,fy26E0,t126E3,t026E2];
          real4 hy26D6#1 = EvalKernel<4,bspln3,0>(a26E1);
          real fx26D7#5 = Index<real2,0>(f26B1);
          real t326DC#1 = Add<real>(fx26D7,_t0F8B);
          real t126DA#1 = Sub<real>(fx26D7,_t0F8B);
          real t026D9#1 = Sub<real>(fx26D7,_t0F8D);
          real4 a26D8#1 = <real4>[t326DC,fx26D7,t126DA,t026D9];
          real4 hx26D5#4 = EvalKernel<4,bspln3,0>(a26D8);
          real t026EA#1 = Dot<4>(v026B5,hx26D5);
          real t126EB#1 = Dot<4>(v126B6,hx26D5);
          real t226EC#1 = Dot<4>(v226B7,hx26D5);
          real t326ED#1 = Dot<4>(v326B8,hx26D5);
          real4 tv26E9#1 = <real4>[t026EA,t126EB,t226EC,t326ED];
          real _t26AF#1 = Dot<4>(hy26D6,tv26E9);
          real2 x272D#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v210F3B);
          real2 nd272F#2 = Floor<2>(x272D);
          real2 f272E#2 = Sub<real2>(x272D,nd272F);
          int{2} n2730#8 = RealToInt<2>(nd272F);
          int t2274D#1 = Index<int{2},0>(n2730);
          int ix274B#4 = Add<int>(t126CF,t2274D);
          int t22750#4 = Index<int{2},1>(n2730);
          int iy274E#1 = Add<int>(t126CF,t22750);
          addr(IMAGE2D<int>) a2751#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy274E);
          real4 v02732#1 = LoadVoxels<IMAGE2D<int>,4>(a2751);
          int iy2747#1 = Add<int>(_t0FB3,t22750);
          addr(IMAGE2D<int>) a274A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy2747);
          real4 v12733#1 = LoadVoxels<IMAGE2D<int>,4>(a274A);
          int iy2740#1 = Add<int>(_t0FB7,t22750);
          addr(IMAGE2D<int>) a2743#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy2740);
          real4 v22734#1 = LoadVoxels<IMAGE2D<int>,4>(a2743);
          int iy2739#1 = Add<int>(_t0F8F,t22750);
          addr(IMAGE2D<int>) a273C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix274B,iy2739);
          real4 v32735#1 = LoadVoxels<IMAGE2D<int>,4>(a273C);
          real fy275D#5 = Index<real2,1>(f272E);
          real t32762#1 = Add<real>(fy275D,_t0F8B);
          real t12760#1 = Sub<real>(fy275D,_t0F8B);
          real t0275F#1 = Sub<real>(fy275D,_t0F8D);
          real4 a275E#1 = <real4>[t32762,fy275D,t12760,t0275F];
          real4 hy2753#1 = EvalKernel<4,bspln3,0>(a275E);
          real fx2754#5 = Index<real2,0>(f272E);
          real t32759#1 = Add<real>(fx2754,_t0F8B);
          real t12757#1 = Sub<real>(fx2754,_t0F8B);
          real t02756#1 = Sub<real>(fx2754,_t0F8D);
          real4 a2755#1 = <real4>[t32759,fx2754,t12757,t02756];
          real4 hx2752#4 = EvalKernel<4,bspln3,0>(a2755);
          real t02767#1 = Dot<4>(v02732,hx2752);
          real t12768#1 = Dot<4>(v12733,hx2752);
          real t22769#1 = Dot<4>(v22734,hx2752);
          real t3276A#1 = Dot<4>(v32735,hx2752);
          real4 tv2766#1 = <real4>[t02767,t12768,t22769,t3276A];
          real _t272C#1 = Dot<4>(hy2753,tv2766);
          real _t27A9#2 = Sub<real>(_t26AF,_t272C);
          real _t27AB#1 = Mul<real>(_t27A9,_t27A9);
          real score27AD#1 = Add<real>(score2698,_t27AB);
          goto JOIN27B0
        JOIN27B0:  preds = [ASSIGN27AE,COND26AE]
          real score27AF#2 = phi(score27AD,score2698)
          real _t27B1#1 = Dot<2>(r00FA5,v220F3D);
          real _t27B3#1 = Dot<2>(r10FAB,v220F3D);
          real2 _t27B5#1 = <real2>[_t27B1,_t27B3];
          real2 pos27B7#2 = Add<real2>(_t27B5,_t0FBB);
          real2 x27BA#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos27B7);
          bool _t27B9#1 = Inside<IMAGE2D<float>,2>(x27BA,_t0EFD);
          if _t27B9 then goto ASSIGN27C0 else goto ASSIGN3076
        ASSIGN27C0:  preds = [COND27BD]
          real2 x27BF#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v220F3D);
          bool _t27BE#1 = Inside<IMAGE2D<int>,2>(x27BF,_t0EF9);
          goto JOIN27C4
        JOIN27C4:  preds = [ASSIGN27C1,ASSIGN3076]
          bool _t27C2#1 = phi(_t27BE,_t27C3)
          if _t27C2 then goto ASSIGN3375 else goto JOIN28C7
        ASSIGN3375:  preds = [COND27C5]
          real2 nd27C9#2 = Floor<2>(x27BA);
          real2 f27C8#2 = Sub<real2>(x27BA,nd27C9);
          int{2} n27CA#8 = RealToInt<2>(nd27C9);
          int t127E6#4 = -1;
          int t227E7#1 = Index<int{2},0>(n27CA);
          int ix27E5#4 = Add<int>(t127E6,t227E7);
          int t227EA#4 = Index<int{2},1>(n27CA);
          int iy27E8#1 = Add<int>(t127E6,t227EA);
          addr(IMAGE2D<float>) a27EB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27E8);
          real4 v027CC#1 = LoadVoxels<IMAGE2D<float>,4>(a27EB);
          int iy27E1#1 = Add<int>(_t0FB3,t227EA);
          addr(IMAGE2D<float>) a27E4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27E1);
          real4 v127CD#1 = LoadVoxels<IMAGE2D<float>,4>(a27E4);
          int iy27DA#1 = Add<int>(_t0FB7,t227EA);
          addr(IMAGE2D<float>) a27DD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27DA);
          real4 v227CE#1 = LoadVoxels<IMAGE2D<float>,4>(a27DD);
          int iy27D3#1 = Add<int>(_t0F8F,t227EA);
          addr(IMAGE2D<float>) a27D6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix27E5,iy27D3);
          real4 v327CF#1 = LoadVoxels<IMAGE2D<float>,4>(a27D6);
          real fy27F7#5 = Index<real2,1>(f27C8);
          real t327FC#1 = Add<real>(fy27F7,_t0F8B);
          real t127FA#1 = Sub<real>(fy27F7,_t0F8B);
          real t027F9#1 = Sub<real>(fy27F7,_t0F8D);
          real4 a27F8#1 = <real4>[t327FC,fy27F7,t127FA,t027F9];
          real4 hy27ED#1 = EvalKernel<4,bspln3,0>(a27F8);
          real fx27EE#5 = Index<real2,0>(f27C8);
          real t327F3#1 = Add<real>(fx27EE,_t0F8B);
          real t127F1#1 = Sub<real>(fx27EE,_t0F8B);
          real t027F0#1 = Sub<real>(fx27EE,_t0F8D);
          real4 a27EF#1 = <real4>[t327F3,fx27EE,t127F1,t027F0];
          real4 hx27EC#4 = EvalKernel<4,bspln3,0>(a27EF);
          real t02801#1 = Dot<4>(v027CC,hx27EC);
          real t12802#1 = Dot<4>(v127CD,hx27EC);
          real t22803#1 = Dot<4>(v227CE,hx27EC);
          real t32804#1 = Dot<4>(v327CF,hx27EC);
          real4 tv2800#1 = <real4>[t02801,t12802,t22803,t32804];
          real _t27C6#1 = Dot<4>(hy27ED,tv2800);
          real2 x2844#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v220F3D);
          real2 nd2846#2 = Floor<2>(x2844);
          real2 f2845#2 = Sub<real2>(x2844,nd2846);
          int{2} n2847#8 = RealToInt<2>(nd2846);
          int t22864#1 = Index<int{2},0>(n2847);
          int ix2862#4 = Add<int>(t127E6,t22864);
          int t22867#4 = Index<int{2},1>(n2847);
          int iy2865#1 = Add<int>(t127E6,t22867);
          addr(IMAGE2D<int>) a2868#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy2865);
          real4 v02849#1 = LoadVoxels<IMAGE2D<int>,4>(a2868);
          int iy285E#1 = Add<int>(_t0FB3,t22867);
          addr(IMAGE2D<int>) a2861#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy285E);
          real4 v1284A#1 = LoadVoxels<IMAGE2D<int>,4>(a2861);
          int iy2857#1 = Add<int>(_t0FB7,t22867);
          addr(IMAGE2D<int>) a285A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy2857);
          real4 v2284B#1 = LoadVoxels<IMAGE2D<int>,4>(a285A);
          int iy2850#1 = Add<int>(_t0F8F,t22867);
          addr(IMAGE2D<int>) a2853#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2862,iy2850);
          real4 v3284C#1 = LoadVoxels<IMAGE2D<int>,4>(a2853);
          real fy2874#5 = Index<real2,1>(f2845);
          real t32879#1 = Add<real>(fy2874,_t0F8B);
          real t12877#1 = Sub<real>(fy2874,_t0F8B);
          real t02876#1 = Sub<real>(fy2874,_t0F8D);
          real4 a2875#1 = <real4>[t32879,fy2874,t12877,t02876];
          real4 hy286A#1 = EvalKernel<4,bspln3,0>(a2875);
          real fx286B#5 = Index<real2,0>(f2845);
          real t32870#1 = Add<real>(fx286B,_t0F8B);
          real t1286E#1 = Sub<real>(fx286B,_t0F8B);
          real t0286D#1 = Sub<real>(fx286B,_t0F8D);
          real4 a286C#1 = <real4>[t32870,fx286B,t1286E,t0286D];
          real4 hx2869#4 = EvalKernel<4,bspln3,0>(a286C);
          real t0287E#1 = Dot<4>(v02849,hx2869);
          real t1287F#1 = Dot<4>(v1284A,hx2869);
          real t22880#1 = Dot<4>(v2284B,hx2869);
          real t32881#1 = Dot<4>(v3284C,hx2869);
          real4 tv287D#1 = <real4>[t0287E,t1287F,t22880,t32881];
          real _t2843#1 = Dot<4>(hy286A,tv287D);
          real _t28C0#2 = Sub<real>(_t27C6,_t2843);
          real _t28C2#1 = Mul<real>(_t28C0,_t28C0);
          real score28C4#1 = Add<real>(score27AF,_t28C2);
          goto JOIN28C7
        JOIN28C7:  preds = [ASSIGN28C5,COND27C5]
          real score28C6#2 = phi(score28C4,score27AF)
          real _t28C8#1 = Dot<2>(r00FA5,v230F3F);
          real _t28CA#1 = Dot<2>(r10FAB,v230F3F);
          real2 _t28CC#1 = <real2>[_t28C8,_t28CA];
          real2 pos28CE#2 = Add<real2>(_t28CC,_t0FBB);
          real2 x28D1#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos28CE);
          bool _t28D0#1 = Inside<IMAGE2D<float>,2>(x28D1,_t0EFD);
          if _t28D0 then goto ASSIGN28D7 else goto ASSIGN3075
        ASSIGN28D7:  preds = [COND28D4]
          real2 x28D6#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v230F3F);
          bool _t28D5#1 = Inside<IMAGE2D<int>,2>(x28D6,_t0EF9);
          goto JOIN28DB
        JOIN28DB:  preds = [ASSIGN28D8,ASSIGN3075]
          bool _t28D9#1 = phi(_t28D5,_t28DA)
          if _t28D9 then goto ASSIGN3396 else goto JOIN29DE
        ASSIGN3396:  preds = [COND28DC]
          real2 nd28E0#2 = Floor<2>(x28D1);
          real2 f28DF#2 = Sub<real2>(x28D1,nd28E0);
          int{2} n28E1#8 = RealToInt<2>(nd28E0);
          int t128FD#4 = -1;
          int t228FE#1 = Index<int{2},0>(n28E1);
          int ix28FC#4 = Add<int>(t128FD,t228FE);
          int t22901#4 = Index<int{2},1>(n28E1);
          int iy28FF#1 = Add<int>(t128FD,t22901);
          addr(IMAGE2D<float>) a2902#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28FF);
          real4 v028E3#1 = LoadVoxels<IMAGE2D<float>,4>(a2902);
          int iy28F8#1 = Add<int>(_t0FB3,t22901);
          addr(IMAGE2D<float>) a28FB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28F8);
          real4 v128E4#1 = LoadVoxels<IMAGE2D<float>,4>(a28FB);
          int iy28F1#1 = Add<int>(_t0FB7,t22901);
          addr(IMAGE2D<float>) a28F4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28F1);
          real4 v228E5#1 = LoadVoxels<IMAGE2D<float>,4>(a28F4);
          int iy28EA#1 = Add<int>(_t0F8F,t22901);
          addr(IMAGE2D<float>) a28ED#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix28FC,iy28EA);
          real4 v328E6#1 = LoadVoxels<IMAGE2D<float>,4>(a28ED);
          real fy290E#5 = Index<real2,1>(f28DF);
          real t32913#1 = Add<real>(fy290E,_t0F8B);
          real t12911#1 = Sub<real>(fy290E,_t0F8B);
          real t02910#1 = Sub<real>(fy290E,_t0F8D);
          real4 a290F#1 = <real4>[t32913,fy290E,t12911,t02910];
          real4 hy2904#1 = EvalKernel<4,bspln3,0>(a290F);
          real fx2905#5 = Index<real2,0>(f28DF);
          real t3290A#1 = Add<real>(fx2905,_t0F8B);
          real t12908#1 = Sub<real>(fx2905,_t0F8B);
          real t02907#1 = Sub<real>(fx2905,_t0F8D);
          real4 a2906#1 = <real4>[t3290A,fx2905,t12908,t02907];
          real4 hx2903#4 = EvalKernel<4,bspln3,0>(a2906);
          real t02918#1 = Dot<4>(v028E3,hx2903);
          real t12919#1 = Dot<4>(v128E4,hx2903);
          real t2291A#1 = Dot<4>(v228E5,hx2903);
          real t3291B#1 = Dot<4>(v328E6,hx2903);
          real4 tv2917#1 = <real4>[t02918,t12919,t2291A,t3291B];
          real _t28DD#1 = Dot<4>(hy2904,tv2917);
          real2 x295B#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v230F3F);
          real2 nd295D#2 = Floor<2>(x295B);
          real2 f295C#2 = Sub<real2>(x295B,nd295D);
          int{2} n295E#8 = RealToInt<2>(nd295D);
          int t2297B#1 = Index<int{2},0>(n295E);
          int ix2979#4 = Add<int>(t128FD,t2297B);
          int t2297E#4 = Index<int{2},1>(n295E);
          int iy297C#1 = Add<int>(t128FD,t2297E);
          addr(IMAGE2D<int>) a297F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy297C);
          real4 v02960#1 = LoadVoxels<IMAGE2D<int>,4>(a297F);
          int iy2975#1 = Add<int>(_t0FB3,t2297E);
          addr(IMAGE2D<int>) a2978#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy2975);
          real4 v12961#1 = LoadVoxels<IMAGE2D<int>,4>(a2978);
          int iy296E#1 = Add<int>(_t0FB7,t2297E);
          addr(IMAGE2D<int>) a2971#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy296E);
          real4 v22962#1 = LoadVoxels<IMAGE2D<int>,4>(a2971);
          int iy2967#1 = Add<int>(_t0F8F,t2297E);
          addr(IMAGE2D<int>) a296A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2979,iy2967);
          real4 v32963#1 = LoadVoxels<IMAGE2D<int>,4>(a296A);
          real fy298B#5 = Index<real2,1>(f295C);
          real t32990#1 = Add<real>(fy298B,_t0F8B);
          real t1298E#1 = Sub<real>(fy298B,_t0F8B);
          real t0298D#1 = Sub<real>(fy298B,_t0F8D);
          real4 a298C#1 = <real4>[t32990,fy298B,t1298E,t0298D];
          real4 hy2981#1 = EvalKernel<4,bspln3,0>(a298C);
          real fx2982#5 = Index<real2,0>(f295C);
          real t32987#1 = Add<real>(fx2982,_t0F8B);
          real t12985#1 = Sub<real>(fx2982,_t0F8B);
          real t02984#1 = Sub<real>(fx2982,_t0F8D);
          real4 a2983#1 = <real4>[t32987,fx2982,t12985,t02984];
          real4 hx2980#4 = EvalKernel<4,bspln3,0>(a2983);
          real t02995#1 = Dot<4>(v02960,hx2980);
          real t12996#1 = Dot<4>(v12961,hx2980);
          real t22997#1 = Dot<4>(v22962,hx2980);
          real t32998#1 = Dot<4>(v32963,hx2980);
          real4 tv2994#1 = <real4>[t02995,t12996,t22997,t32998];
          real _t295A#1 = Dot<4>(hy2981,tv2994);
          real _t29D7#2 = Sub<real>(_t28DD,_t295A);
          real _t29D9#1 = Mul<real>(_t29D7,_t29D7);
          real score29DB#1 = Add<real>(score28C6,_t29D9);
          goto JOIN29DE
        JOIN29DE:  preds = [ASSIGN29DC,COND28DC]
          real score29DD#2 = phi(score29DB,score28C6)
          real _t29DF#1 = Dot<2>(r00FA5,v240F41);
          real _t29E1#1 = Dot<2>(r10FAB,v240F41);
          real2 _t29E3#1 = <real2>[_t29DF,_t29E1];
          real2 pos29E5#2 = Add<real2>(_t29E3,_t0FBB);
          real2 x29E8#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos29E5);
          bool _t29E7#1 = Inside<IMAGE2D<float>,2>(x29E8,_t0EFD);
          if _t29E7 then goto ASSIGN29EE else goto ASSIGN3074
        ASSIGN29EE:  preds = [COND29EB]
          real2 x29ED#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v240F41);
          bool _t29EC#1 = Inside<IMAGE2D<int>,2>(x29ED,_t0EF9);
          goto JOIN29F2
        JOIN29F2:  preds = [ASSIGN29EF,ASSIGN3074]
          bool _t29F0#1 = phi(_t29EC,_t29F1)
          if _t29F0 then goto ASSIGN33B7 else goto JOIN2AF5
        ASSIGN33B7:  preds = [COND29F3]
          real2 nd29F7#2 = Floor<2>(x29E8);
          real2 f29F6#2 = Sub<real2>(x29E8,nd29F7);
          int{2} n29F8#8 = RealToInt<2>(nd29F7);
          int t12A14#4 = -1;
          int t22A15#1 = Index<int{2},0>(n29F8);
          int ix2A13#4 = Add<int>(t12A14,t22A15);
          int t22A18#4 = Index<int{2},1>(n29F8);
          int iy2A16#1 = Add<int>(t12A14,t22A18);
          addr(IMAGE2D<float>) a2A19#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A16);
          real4 v029FA#1 = LoadVoxels<IMAGE2D<float>,4>(a2A19);
          int iy2A0F#1 = Add<int>(_t0FB3,t22A18);
          addr(IMAGE2D<float>) a2A12#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A0F);
          real4 v129FB#1 = LoadVoxels<IMAGE2D<float>,4>(a2A12);
          int iy2A08#1 = Add<int>(_t0FB7,t22A18);
          addr(IMAGE2D<float>) a2A0B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A08);
          real4 v229FC#1 = LoadVoxels<IMAGE2D<float>,4>(a2A0B);
          int iy2A01#1 = Add<int>(_t0F8F,t22A18);
          addr(IMAGE2D<float>) a2A04#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2A13,iy2A01);
          real4 v329FD#1 = LoadVoxels<IMAGE2D<float>,4>(a2A04);
          real fy2A25#5 = Index<real2,1>(f29F6);
          real t32A2A#1 = Add<real>(fy2A25,_t0F8B);
          real t12A28#1 = Sub<real>(fy2A25,_t0F8B);
          real t02A27#1 = Sub<real>(fy2A25,_t0F8D);
          real4 a2A26#1 = <real4>[t32A2A,fy2A25,t12A28,t02A27];
          real4 hy2A1B#1 = EvalKernel<4,bspln3,0>(a2A26);
          real fx2A1C#5 = Index<real2,0>(f29F6);
          real t32A21#1 = Add<real>(fx2A1C,_t0F8B);
          real t12A1F#1 = Sub<real>(fx2A1C,_t0F8B);
          real t02A1E#1 = Sub<real>(fx2A1C,_t0F8D);
          real4 a2A1D#1 = <real4>[t32A21,fx2A1C,t12A1F,t02A1E];
          real4 hx2A1A#4 = EvalKernel<4,bspln3,0>(a2A1D);
          real t02A2F#1 = Dot<4>(v029FA,hx2A1A);
          real t12A30#1 = Dot<4>(v129FB,hx2A1A);
          real t22A31#1 = Dot<4>(v229FC,hx2A1A);
          real t32A32#1 = Dot<4>(v329FD,hx2A1A);
          real4 tv2A2E#1 = <real4>[t02A2F,t12A30,t22A31,t32A32];
          real _t29F4#1 = Dot<4>(hy2A1B,tv2A2E);
          real2 x2A72#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v240F41);
          real2 nd2A74#2 = Floor<2>(x2A72);
          real2 f2A73#2 = Sub<real2>(x2A72,nd2A74);
          int{2} n2A75#8 = RealToInt<2>(nd2A74);
          int t22A92#1 = Index<int{2},0>(n2A75);
          int ix2A90#4 = Add<int>(t12A14,t22A92);
          int t22A95#4 = Index<int{2},1>(n2A75);
          int iy2A93#1 = Add<int>(t12A14,t22A95);
          addr(IMAGE2D<int>) a2A96#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A93);
          real4 v02A77#1 = LoadVoxels<IMAGE2D<int>,4>(a2A96);
          int iy2A8C#1 = Add<int>(_t0FB3,t22A95);
          addr(IMAGE2D<int>) a2A8F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A8C);
          real4 v12A78#1 = LoadVoxels<IMAGE2D<int>,4>(a2A8F);
          int iy2A85#1 = Add<int>(_t0FB7,t22A95);
          addr(IMAGE2D<int>) a2A88#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A85);
          real4 v22A79#1 = LoadVoxels<IMAGE2D<int>,4>(a2A88);
          int iy2A7E#1 = Add<int>(_t0F8F,t22A95);
          addr(IMAGE2D<int>) a2A81#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2A90,iy2A7E);
          real4 v32A7A#1 = LoadVoxels<IMAGE2D<int>,4>(a2A81);
          real fy2AA2#5 = Index<real2,1>(f2A73);
          real t32AA7#1 = Add<real>(fy2AA2,_t0F8B);
          real t12AA5#1 = Sub<real>(fy2AA2,_t0F8B);
          real t02AA4#1 = Sub<real>(fy2AA2,_t0F8D);
          real4 a2AA3#1 = <real4>[t32AA7,fy2AA2,t12AA5,t02AA4];
          real4 hy2A98#1 = EvalKernel<4,bspln3,0>(a2AA3);
          real fx2A99#5 = Index<real2,0>(f2A73);
          real t32A9E#1 = Add<real>(fx2A99,_t0F8B);
          real t12A9C#1 = Sub<real>(fx2A99,_t0F8B);
          real t02A9B#1 = Sub<real>(fx2A99,_t0F8D);
          real4 a2A9A#1 = <real4>[t32A9E,fx2A99,t12A9C,t02A9B];
          real4 hx2A97#4 = EvalKernel<4,bspln3,0>(a2A9A);
          real t02AAC#1 = Dot<4>(v02A77,hx2A97);
          real t12AAD#1 = Dot<4>(v12A78,hx2A97);
          real t22AAE#1 = Dot<4>(v22A79,hx2A97);
          real t32AAF#1 = Dot<4>(v32A7A,hx2A97);
          real4 tv2AAB#1 = <real4>[t02AAC,t12AAD,t22AAE,t32AAF];
          real _t2A71#1 = Dot<4>(hy2A98,tv2AAB);
          real _t2AEE#2 = Sub<real>(_t29F4,_t2A71);
          real _t2AF0#1 = Mul<real>(_t2AEE,_t2AEE);
          real score2AF2#1 = Add<real>(score29DD,_t2AF0);
          goto JOIN2AF5
        JOIN2AF5:  preds = [ASSIGN2AF3,COND29F3]
          real score2AF4#2 = phi(score2AF2,score29DD)
          real _t2AF6#1 = Dot<2>(r00FA5,v250F43);
          real _t2AF8#1 = Dot<2>(r10FAB,v250F43);
          real2 _t2AFA#1 = <real2>[_t2AF6,_t2AF8];
          real2 pos2AFC#2 = Add<real2>(_t2AFA,_t0FBB);
          real2 x2AFF#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2AFC);
          bool _t2AFE#1 = Inside<IMAGE2D<float>,2>(x2AFF,_t0EFD);
          if _t2AFE then goto ASSIGN2B05 else goto ASSIGN3073
        ASSIGN2B05:  preds = [COND2B02]
          real2 x2B04#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v250F43);
          bool _t2B03#1 = Inside<IMAGE2D<int>,2>(x2B04,_t0EF9);
          goto JOIN2B09
        JOIN2B09:  preds = [ASSIGN2B06,ASSIGN3073]
          bool _t2B07#1 = phi(_t2B03,_t2B08)
          if _t2B07 then goto ASSIGN33D8 else goto JOIN2C0C
        ASSIGN33D8:  preds = [COND2B0A]
          real2 nd2B0E#2 = Floor<2>(x2AFF);
          real2 f2B0D#2 = Sub<real2>(x2AFF,nd2B0E);
          int{2} n2B0F#8 = RealToInt<2>(nd2B0E);
          int t12B2B#4 = -1;
          int t22B2C#1 = Index<int{2},0>(n2B0F);
          int ix2B2A#4 = Add<int>(t12B2B,t22B2C);
          int t22B2F#4 = Index<int{2},1>(n2B0F);
          int iy2B2D#1 = Add<int>(t12B2B,t22B2F);
          addr(IMAGE2D<float>) a2B30#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B2D);
          real4 v02B11#1 = LoadVoxels<IMAGE2D<float>,4>(a2B30);
          int iy2B26#1 = Add<int>(_t0FB3,t22B2F);
          addr(IMAGE2D<float>) a2B29#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B26);
          real4 v12B12#1 = LoadVoxels<IMAGE2D<float>,4>(a2B29);
          int iy2B1F#1 = Add<int>(_t0FB7,t22B2F);
          addr(IMAGE2D<float>) a2B22#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B1F);
          real4 v22B13#1 = LoadVoxels<IMAGE2D<float>,4>(a2B22);
          int iy2B18#1 = Add<int>(_t0F8F,t22B2F);
          addr(IMAGE2D<float>) a2B1B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2B2A,iy2B18);
          real4 v32B14#1 = LoadVoxels<IMAGE2D<float>,4>(a2B1B);
          real fy2B3C#5 = Index<real2,1>(f2B0D);
          real t32B41#1 = Add<real>(fy2B3C,_t0F8B);
          real t12B3F#1 = Sub<real>(fy2B3C,_t0F8B);
          real t02B3E#1 = Sub<real>(fy2B3C,_t0F8D);
          real4 a2B3D#1 = <real4>[t32B41,fy2B3C,t12B3F,t02B3E];
          real4 hy2B32#1 = EvalKernel<4,bspln3,0>(a2B3D);
          real fx2B33#5 = Index<real2,0>(f2B0D);
          real t32B38#1 = Add<real>(fx2B33,_t0F8B);
          real t12B36#1 = Sub<real>(fx2B33,_t0F8B);
          real t02B35#1 = Sub<real>(fx2B33,_t0F8D);
          real4 a2B34#1 = <real4>[t32B38,fx2B33,t12B36,t02B35];
          real4 hx2B31#4 = EvalKernel<4,bspln3,0>(a2B34);
          real t02B46#1 = Dot<4>(v02B11,hx2B31);
          real t12B47#1 = Dot<4>(v12B12,hx2B31);
          real t22B48#1 = Dot<4>(v22B13,hx2B31);
          real t32B49#1 = Dot<4>(v32B14,hx2B31);
          real4 tv2B45#1 = <real4>[t02B46,t12B47,t22B48,t32B49];
          real _t2B0B#1 = Dot<4>(hy2B32,tv2B45);
          real2 x2B89#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v250F43);
          real2 nd2B8B#2 = Floor<2>(x2B89);
          real2 f2B8A#2 = Sub<real2>(x2B89,nd2B8B);
          int{2} n2B8C#8 = RealToInt<2>(nd2B8B);
          int t22BA9#1 = Index<int{2},0>(n2B8C);
          int ix2BA7#4 = Add<int>(t12B2B,t22BA9);
          int t22BAC#4 = Index<int{2},1>(n2B8C);
          int iy2BAA#1 = Add<int>(t12B2B,t22BAC);
          addr(IMAGE2D<int>) a2BAD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2BAA);
          real4 v02B8E#1 = LoadVoxels<IMAGE2D<int>,4>(a2BAD);
          int iy2BA3#1 = Add<int>(_t0FB3,t22BAC);
          addr(IMAGE2D<int>) a2BA6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2BA3);
          real4 v12B8F#1 = LoadVoxels<IMAGE2D<int>,4>(a2BA6);
          int iy2B9C#1 = Add<int>(_t0FB7,t22BAC);
          addr(IMAGE2D<int>) a2B9F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2B9C);
          real4 v22B90#1 = LoadVoxels<IMAGE2D<int>,4>(a2B9F);
          int iy2B95#1 = Add<int>(_t0F8F,t22BAC);
          addr(IMAGE2D<int>) a2B98#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2BA7,iy2B95);
          real4 v32B91#1 = LoadVoxels<IMAGE2D<int>,4>(a2B98);
          real fy2BB9#5 = Index<real2,1>(f2B8A);
          real t32BBE#1 = Add<real>(fy2BB9,_t0F8B);
          real t12BBC#1 = Sub<real>(fy2BB9,_t0F8B);
          real t02BBB#1 = Sub<real>(fy2BB9,_t0F8D);
          real4 a2BBA#1 = <real4>[t32BBE,fy2BB9,t12BBC,t02BBB];
          real4 hy2BAF#1 = EvalKernel<4,bspln3,0>(a2BBA);
          real fx2BB0#5 = Index<real2,0>(f2B8A);
          real t32BB5#1 = Add<real>(fx2BB0,_t0F8B);
          real t12BB3#1 = Sub<real>(fx2BB0,_t0F8B);
          real t02BB2#1 = Sub<real>(fx2BB0,_t0F8D);
          real4 a2BB1#1 = <real4>[t32BB5,fx2BB0,t12BB3,t02BB2];
          real4 hx2BAE#4 = EvalKernel<4,bspln3,0>(a2BB1);
          real t02BC3#1 = Dot<4>(v02B8E,hx2BAE);
          real t12BC4#1 = Dot<4>(v12B8F,hx2BAE);
          real t22BC5#1 = Dot<4>(v22B90,hx2BAE);
          real t32BC6#1 = Dot<4>(v32B91,hx2BAE);
          real4 tv2BC2#1 = <real4>[t02BC3,t12BC4,t22BC5,t32BC6];
          real _t2B88#1 = Dot<4>(hy2BAF,tv2BC2);
          real _t2C05#2 = Sub<real>(_t2B0B,_t2B88);
          real _t2C07#1 = Mul<real>(_t2C05,_t2C05);
          real score2C09#1 = Add<real>(score2AF4,_t2C07);
          goto JOIN2C0C
        JOIN2C0C:  preds = [ASSIGN2C0A,COND2B0A]
          real score2C0B#2 = phi(score2C09,score2AF4)
          real _t2C0D#1 = Dot<2>(r00FA5,v260F45);
          real _t2C0F#1 = Dot<2>(r10FAB,v260F45);
          real2 _t2C11#1 = <real2>[_t2C0D,_t2C0F];
          real2 pos2C13#2 = Add<real2>(_t2C11,_t0FBB);
          real2 x2C16#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2C13);
          bool _t2C15#1 = Inside<IMAGE2D<float>,2>(x2C16,_t0EFD);
          if _t2C15 then goto ASSIGN2C1C else goto ASSIGN3072
        ASSIGN2C1C:  preds = [COND2C19]
          real2 x2C1B#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v260F45);
          bool _t2C1A#1 = Inside<IMAGE2D<int>,2>(x2C1B,_t0EF9);
          goto JOIN2C20
        JOIN2C20:  preds = [ASSIGN2C1D,ASSIGN3072]
          bool _t2C1E#1 = phi(_t2C1A,_t2C1F)
          if _t2C1E then goto ASSIGN33F9 else goto JOIN2D23
        ASSIGN33F9:  preds = [COND2C21]
          real2 nd2C25#2 = Floor<2>(x2C16);
          real2 f2C24#2 = Sub<real2>(x2C16,nd2C25);
          int{2} n2C26#8 = RealToInt<2>(nd2C25);
          int t12C42#4 = -1;
          int t22C43#1 = Index<int{2},0>(n2C26);
          int ix2C41#4 = Add<int>(t12C42,t22C43);
          int t22C46#4 = Index<int{2},1>(n2C26);
          int iy2C44#1 = Add<int>(t12C42,t22C46);
          addr(IMAGE2D<float>) a2C47#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C44);
          real4 v02C28#1 = LoadVoxels<IMAGE2D<float>,4>(a2C47);
          int iy2C3D#1 = Add<int>(_t0FB3,t22C46);
          addr(IMAGE2D<float>) a2C40#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C3D);
          real4 v12C29#1 = LoadVoxels<IMAGE2D<float>,4>(a2C40);
          int iy2C36#1 = Add<int>(_t0FB7,t22C46);
          addr(IMAGE2D<float>) a2C39#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C36);
          real4 v22C2A#1 = LoadVoxels<IMAGE2D<float>,4>(a2C39);
          int iy2C2F#1 = Add<int>(_t0F8F,t22C46);
          addr(IMAGE2D<float>) a2C32#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2C41,iy2C2F);
          real4 v32C2B#1 = LoadVoxels<IMAGE2D<float>,4>(a2C32);
          real fy2C53#5 = Index<real2,1>(f2C24);
          real t32C58#1 = Add<real>(fy2C53,_t0F8B);
          real t12C56#1 = Sub<real>(fy2C53,_t0F8B);
          real t02C55#1 = Sub<real>(fy2C53,_t0F8D);
          real4 a2C54#1 = <real4>[t32C58,fy2C53,t12C56,t02C55];
          real4 hy2C49#1 = EvalKernel<4,bspln3,0>(a2C54);
          real fx2C4A#5 = Index<real2,0>(f2C24);
          real t32C4F#1 = Add<real>(fx2C4A,_t0F8B);
          real t12C4D#1 = Sub<real>(fx2C4A,_t0F8B);
          real t02C4C#1 = Sub<real>(fx2C4A,_t0F8D);
          real4 a2C4B#1 = <real4>[t32C4F,fx2C4A,t12C4D,t02C4C];
          real4 hx2C48#4 = EvalKernel<4,bspln3,0>(a2C4B);
          real t02C5D#1 = Dot<4>(v02C28,hx2C48);
          real t12C5E#1 = Dot<4>(v12C29,hx2C48);
          real t22C5F#1 = Dot<4>(v22C2A,hx2C48);
          real t32C60#1 = Dot<4>(v32C2B,hx2C48);
          real4 tv2C5C#1 = <real4>[t02C5D,t12C5E,t22C5F,t32C60];
          real _t2C22#1 = Dot<4>(hy2C49,tv2C5C);
          real2 x2CA0#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v260F45);
          real2 nd2CA2#2 = Floor<2>(x2CA0);
          real2 f2CA1#2 = Sub<real2>(x2CA0,nd2CA2);
          int{2} n2CA3#8 = RealToInt<2>(nd2CA2);
          int t22CC0#1 = Index<int{2},0>(n2CA3);
          int ix2CBE#4 = Add<int>(t12C42,t22CC0);
          int t22CC3#4 = Index<int{2},1>(n2CA3);
          int iy2CC1#1 = Add<int>(t12C42,t22CC3);
          addr(IMAGE2D<int>) a2CC4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CC1);
          real4 v02CA5#1 = LoadVoxels<IMAGE2D<int>,4>(a2CC4);
          int iy2CBA#1 = Add<int>(_t0FB3,t22CC3);
          addr(IMAGE2D<int>) a2CBD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CBA);
          real4 v12CA6#1 = LoadVoxels<IMAGE2D<int>,4>(a2CBD);
          int iy2CB3#1 = Add<int>(_t0FB7,t22CC3);
          addr(IMAGE2D<int>) a2CB6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CB3);
          real4 v22CA7#1 = LoadVoxels<IMAGE2D<int>,4>(a2CB6);
          int iy2CAC#1 = Add<int>(_t0F8F,t22CC3);
          addr(IMAGE2D<int>) a2CAF#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2CBE,iy2CAC);
          real4 v32CA8#1 = LoadVoxels<IMAGE2D<int>,4>(a2CAF);
          real fy2CD0#5 = Index<real2,1>(f2CA1);
          real t32CD5#1 = Add<real>(fy2CD0,_t0F8B);
          real t12CD3#1 = Sub<real>(fy2CD0,_t0F8B);
          real t02CD2#1 = Sub<real>(fy2CD0,_t0F8D);
          real4 a2CD1#1 = <real4>[t32CD5,fy2CD0,t12CD3,t02CD2];
          real4 hy2CC6#1 = EvalKernel<4,bspln3,0>(a2CD1);
          real fx2CC7#5 = Index<real2,0>(f2CA1);
          real t32CCC#1 = Add<real>(fx2CC7,_t0F8B);
          real t12CCA#1 = Sub<real>(fx2CC7,_t0F8B);
          real t02CC9#1 = Sub<real>(fx2CC7,_t0F8D);
          real4 a2CC8#1 = <real4>[t32CCC,fx2CC7,t12CCA,t02CC9];
          real4 hx2CC5#4 = EvalKernel<4,bspln3,0>(a2CC8);
          real t02CDA#1 = Dot<4>(v02CA5,hx2CC5);
          real t12CDB#1 = Dot<4>(v12CA6,hx2CC5);
          real t22CDC#1 = Dot<4>(v22CA7,hx2CC5);
          real t32CDD#1 = Dot<4>(v32CA8,hx2CC5);
          real4 tv2CD9#1 = <real4>[t02CDA,t12CDB,t22CDC,t32CDD];
          real _t2C9F#1 = Dot<4>(hy2CC6,tv2CD9);
          real _t2D1C#2 = Sub<real>(_t2C22,_t2C9F);
          real _t2D1E#1 = Mul<real>(_t2D1C,_t2D1C);
          real score2D20#1 = Add<real>(score2C0B,_t2D1E);
          goto JOIN2D23
        JOIN2D23:  preds = [ASSIGN2D21,COND2C21]
          real score2D22#2 = phi(score2D20,score2C0B)
          real _t2D24#1 = Dot<2>(r00FA5,v270F47);
          real _t2D26#1 = Dot<2>(r10FAB,v270F47);
          real2 _t2D28#1 = <real2>[_t2D24,_t2D26];
          real2 pos2D2A#2 = Add<real2>(_t2D28,_t0FBB);
          real2 x2D2D#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2D2A);
          bool _t2D2C#1 = Inside<IMAGE2D<float>,2>(x2D2D,_t0EFD);
          if _t2D2C then goto ASSIGN2D33 else goto ASSIGN3071
        ASSIGN2D33:  preds = [COND2D30]
          real2 x2D32#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v270F47);
          bool _t2D31#1 = Inside<IMAGE2D<int>,2>(x2D32,_t0EF9);
          goto JOIN2D37
        JOIN2D37:  preds = [ASSIGN2D34,ASSIGN3071]
          bool _t2D35#1 = phi(_t2D31,_t2D36)
          if _t2D35 then goto ASSIGN341A else goto JOIN2E3A
        ASSIGN341A:  preds = [COND2D38]
          real2 nd2D3C#2 = Floor<2>(x2D2D);
          real2 f2D3B#2 = Sub<real2>(x2D2D,nd2D3C);
          int{2} n2D3D#8 = RealToInt<2>(nd2D3C);
          int t12D59#4 = -1;
          int t22D5A#1 = Index<int{2},0>(n2D3D);
          int ix2D58#4 = Add<int>(t12D59,t22D5A);
          int t22D5D#4 = Index<int{2},1>(n2D3D);
          int iy2D5B#1 = Add<int>(t12D59,t22D5D);
          addr(IMAGE2D<float>) a2D5E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D5B);
          real4 v02D3F#1 = LoadVoxels<IMAGE2D<float>,4>(a2D5E);
          int iy2D54#1 = Add<int>(_t0FB3,t22D5D);
          addr(IMAGE2D<float>) a2D57#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D54);
          real4 v12D40#1 = LoadVoxels<IMAGE2D<float>,4>(a2D57);
          int iy2D4D#1 = Add<int>(_t0FB7,t22D5D);
          addr(IMAGE2D<float>) a2D50#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D4D);
          real4 v22D41#1 = LoadVoxels<IMAGE2D<float>,4>(a2D50);
          int iy2D46#1 = Add<int>(_t0F8F,t22D5D);
          addr(IMAGE2D<float>) a2D49#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2D58,iy2D46);
          real4 v32D42#1 = LoadVoxels<IMAGE2D<float>,4>(a2D49);
          real fy2D6A#5 = Index<real2,1>(f2D3B);
          real t32D6F#1 = Add<real>(fy2D6A,_t0F8B);
          real t12D6D#1 = Sub<real>(fy2D6A,_t0F8B);
          real t02D6C#1 = Sub<real>(fy2D6A,_t0F8D);
          real4 a2D6B#1 = <real4>[t32D6F,fy2D6A,t12D6D,t02D6C];
          real4 hy2D60#1 = EvalKernel<4,bspln3,0>(a2D6B);
          real fx2D61#5 = Index<real2,0>(f2D3B);
          real t32D66#1 = Add<real>(fx2D61,_t0F8B);
          real t12D64#1 = Sub<real>(fx2D61,_t0F8B);
          real t02D63#1 = Sub<real>(fx2D61,_t0F8D);
          real4 a2D62#1 = <real4>[t32D66,fx2D61,t12D64,t02D63];
          real4 hx2D5F#4 = EvalKernel<4,bspln3,0>(a2D62);
          real t02D74#1 = Dot<4>(v02D3F,hx2D5F);
          real t12D75#1 = Dot<4>(v12D40,hx2D5F);
          real t22D76#1 = Dot<4>(v22D41,hx2D5F);
          real t32D77#1 = Dot<4>(v32D42,hx2D5F);
          real4 tv2D73#1 = <real4>[t02D74,t12D75,t22D76,t32D77];
          real _t2D39#1 = Dot<4>(hy2D60,tv2D73);
          real2 x2DB7#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v270F47);
          real2 nd2DB9#2 = Floor<2>(x2DB7);
          real2 f2DB8#2 = Sub<real2>(x2DB7,nd2DB9);
          int{2} n2DBA#8 = RealToInt<2>(nd2DB9);
          int t22DD7#1 = Index<int{2},0>(n2DBA);
          int ix2DD5#4 = Add<int>(t12D59,t22DD7);
          int t22DDA#4 = Index<int{2},1>(n2DBA);
          int iy2DD8#1 = Add<int>(t12D59,t22DDA);
          addr(IMAGE2D<int>) a2DDB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DD8);
          real4 v02DBC#1 = LoadVoxels<IMAGE2D<int>,4>(a2DDB);
          int iy2DD1#1 = Add<int>(_t0FB3,t22DDA);
          addr(IMAGE2D<int>) a2DD4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DD1);
          real4 v12DBD#1 = LoadVoxels<IMAGE2D<int>,4>(a2DD4);
          int iy2DCA#1 = Add<int>(_t0FB7,t22DDA);
          addr(IMAGE2D<int>) a2DCD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DCA);
          real4 v22DBE#1 = LoadVoxels<IMAGE2D<int>,4>(a2DCD);
          int iy2DC3#1 = Add<int>(_t0F8F,t22DDA);
          addr(IMAGE2D<int>) a2DC6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2DD5,iy2DC3);
          real4 v32DBF#1 = LoadVoxels<IMAGE2D<int>,4>(a2DC6);
          real fy2DE7#5 = Index<real2,1>(f2DB8);
          real t32DEC#1 = Add<real>(fy2DE7,_t0F8B);
          real t12DEA#1 = Sub<real>(fy2DE7,_t0F8B);
          real t02DE9#1 = Sub<real>(fy2DE7,_t0F8D);
          real4 a2DE8#1 = <real4>[t32DEC,fy2DE7,t12DEA,t02DE9];
          real4 hy2DDD#1 = EvalKernel<4,bspln3,0>(a2DE8);
          real fx2DDE#5 = Index<real2,0>(f2DB8);
          real t32DE3#1 = Add<real>(fx2DDE,_t0F8B);
          real t12DE1#1 = Sub<real>(fx2DDE,_t0F8B);
          real t02DE0#1 = Sub<real>(fx2DDE,_t0F8D);
          real4 a2DDF#1 = <real4>[t32DE3,fx2DDE,t12DE1,t02DE0];
          real4 hx2DDC#4 = EvalKernel<4,bspln3,0>(a2DDF);
          real t02DF1#1 = Dot<4>(v02DBC,hx2DDC);
          real t12DF2#1 = Dot<4>(v12DBD,hx2DDC);
          real t22DF3#1 = Dot<4>(v22DBE,hx2DDC);
          real t32DF4#1 = Dot<4>(v32DBF,hx2DDC);
          real4 tv2DF0#1 = <real4>[t02DF1,t12DF2,t22DF3,t32DF4];
          real _t2DB6#1 = Dot<4>(hy2DDD,tv2DF0);
          real _t2E33#2 = Sub<real>(_t2D39,_t2DB6);
          real _t2E35#1 = Mul<real>(_t2E33,_t2E33);
          real score2E37#1 = Add<real>(score2D22,_t2E35);
          goto JOIN2E3A
        JOIN2E3A:  preds = [ASSIGN2E38,COND2D38]
          real score2E39#2 = phi(score2E37,score2D22)
          real _t2E3B#1 = Dot<2>(r00FA5,v280F49);
          real _t2E3D#1 = Dot<2>(r10FAB,v280F49);
          real2 _t2E3F#1 = <real2>[_t2E3B,_t2E3D];
          real2 pos2E41#2 = Add<real2>(_t2E3F,_t0FBB);
          real2 x2E44#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2E41);
          bool _t2E43#1 = Inside<IMAGE2D<float>,2>(x2E44,_t0EFD);
          if _t2E43 then goto ASSIGN2E4A else goto ASSIGN3070
        ASSIGN2E4A:  preds = [COND2E47]
          real2 x2E49#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v280F49);
          bool _t2E48#1 = Inside<IMAGE2D<int>,2>(x2E49,_t0EF9);
          goto JOIN2E4E
        JOIN2E4E:  preds = [ASSIGN2E4B,ASSIGN3070]
          bool _t2E4C#1 = phi(_t2E48,_t2E4D)
          if _t2E4C then goto ASSIGN343B else goto JOIN2F51
        ASSIGN343B:  preds = [COND2E4F]
          real2 nd2E53#2 = Floor<2>(x2E44);
          real2 f2E52#2 = Sub<real2>(x2E44,nd2E53);
          int{2} n2E54#8 = RealToInt<2>(nd2E53);
          int t12E70#4 = -1;
          int t22E71#1 = Index<int{2},0>(n2E54);
          int ix2E6F#4 = Add<int>(t12E70,t22E71);
          int t22E74#4 = Index<int{2},1>(n2E54);
          int iy2E72#1 = Add<int>(t12E70,t22E74);
          addr(IMAGE2D<float>) a2E75#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E72);
          real4 v02E56#1 = LoadVoxels<IMAGE2D<float>,4>(a2E75);
          int iy2E6B#1 = Add<int>(_t0FB3,t22E74);
          addr(IMAGE2D<float>) a2E6E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E6B);
          real4 v12E57#1 = LoadVoxels<IMAGE2D<float>,4>(a2E6E);
          int iy2E64#1 = Add<int>(_t0FB7,t22E74);
          addr(IMAGE2D<float>) a2E67#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E64);
          real4 v22E58#1 = LoadVoxels<IMAGE2D<float>,4>(a2E67);
          int iy2E5D#1 = Add<int>(_t0F8F,t22E74);
          addr(IMAGE2D<float>) a2E60#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2E6F,iy2E5D);
          real4 v32E59#1 = LoadVoxels<IMAGE2D<float>,4>(a2E60);
          real fy2E81#5 = Index<real2,1>(f2E52);
          real t32E86#1 = Add<real>(fy2E81,_t0F8B);
          real t12E84#1 = Sub<real>(fy2E81,_t0F8B);
          real t02E83#1 = Sub<real>(fy2E81,_t0F8D);
          real4 a2E82#1 = <real4>[t32E86,fy2E81,t12E84,t02E83];
          real4 hy2E77#1 = EvalKernel<4,bspln3,0>(a2E82);
          real fx2E78#5 = Index<real2,0>(f2E52);
          real t32E7D#1 = Add<real>(fx2E78,_t0F8B);
          real t12E7B#1 = Sub<real>(fx2E78,_t0F8B);
          real t02E7A#1 = Sub<real>(fx2E78,_t0F8D);
          real4 a2E79#1 = <real4>[t32E7D,fx2E78,t12E7B,t02E7A];
          real4 hx2E76#4 = EvalKernel<4,bspln3,0>(a2E79);
          real t02E8B#1 = Dot<4>(v02E56,hx2E76);
          real t12E8C#1 = Dot<4>(v12E57,hx2E76);
          real t22E8D#1 = Dot<4>(v22E58,hx2E76);
          real t32E8E#1 = Dot<4>(v32E59,hx2E76);
          real4 tv2E8A#1 = <real4>[t02E8B,t12E8C,t22E8D,t32E8E];
          real _t2E50#1 = Dot<4>(hy2E77,tv2E8A);
          real2 x2ECE#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v280F49);
          real2 nd2ED0#2 = Floor<2>(x2ECE);
          real2 f2ECF#2 = Sub<real2>(x2ECE,nd2ED0);
          int{2} n2ED1#8 = RealToInt<2>(nd2ED0);
          int t22EEE#1 = Index<int{2},0>(n2ED1);
          int ix2EEC#4 = Add<int>(t12E70,t22EEE);
          int t22EF1#4 = Index<int{2},1>(n2ED1);
          int iy2EEF#1 = Add<int>(t12E70,t22EF1);
          addr(IMAGE2D<int>) a2EF2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EEF);
          real4 v02ED3#1 = LoadVoxels<IMAGE2D<int>,4>(a2EF2);
          int iy2EE8#1 = Add<int>(_t0FB3,t22EF1);
          addr(IMAGE2D<int>) a2EEB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EE8);
          real4 v12ED4#1 = LoadVoxels<IMAGE2D<int>,4>(a2EEB);
          int iy2EE1#1 = Add<int>(_t0FB7,t22EF1);
          addr(IMAGE2D<int>) a2EE4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EE1);
          real4 v22ED5#1 = LoadVoxels<IMAGE2D<int>,4>(a2EE4);
          int iy2EDA#1 = Add<int>(_t0F8F,t22EF1);
          addr(IMAGE2D<int>) a2EDD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix2EEC,iy2EDA);
          real4 v32ED6#1 = LoadVoxels<IMAGE2D<int>,4>(a2EDD);
          real fy2EFE#5 = Index<real2,1>(f2ECF);
          real t32F03#1 = Add<real>(fy2EFE,_t0F8B);
          real t12F01#1 = Sub<real>(fy2EFE,_t0F8B);
          real t02F00#1 = Sub<real>(fy2EFE,_t0F8D);
          real4 a2EFF#1 = <real4>[t32F03,fy2EFE,t12F01,t02F00];
          real4 hy2EF4#1 = EvalKernel<4,bspln3,0>(a2EFF);
          real fx2EF5#5 = Index<real2,0>(f2ECF);
          real t32EFA#1 = Add<real>(fx2EF5,_t0F8B);
          real t12EF8#1 = Sub<real>(fx2EF5,_t0F8B);
          real t02EF7#1 = Sub<real>(fx2EF5,_t0F8D);
          real4 a2EF6#1 = <real4>[t32EFA,fx2EF5,t12EF8,t02EF7];
          real4 hx2EF3#4 = EvalKernel<4,bspln3,0>(a2EF6);
          real t02F08#1 = Dot<4>(v02ED3,hx2EF3);
          real t12F09#1 = Dot<4>(v12ED4,hx2EF3);
          real t22F0A#1 = Dot<4>(v22ED5,hx2EF3);
          real t32F0B#1 = Dot<4>(v32ED6,hx2EF3);
          real4 tv2F07#1 = <real4>[t02F08,t12F09,t22F0A,t32F0B];
          real _t2ECD#1 = Dot<4>(hy2EF4,tv2F07);
          real _t2F4A#2 = Sub<real>(_t2E50,_t2ECD);
          real _t2F4C#1 = Mul<real>(_t2F4A,_t2F4A);
          real score2F4E#1 = Add<real>(score2E39,_t2F4C);
          goto JOIN2F51
        JOIN2F51:  preds = [ASSIGN2F4F,COND2E4F]
          real score2F50#2 = phi(score2F4E,score2E39)
          real _t2F52#1 = Dot<2>(r00FA5,v290F4B);
          real _t2F54#1 = Dot<2>(r10FAB,v290F4B);
          real2 _t2F56#1 = <real2>[_t2F52,_t2F54];
          real2 pos2F58#3 = Add<real2>(_t2F56,_t0FBB);
          real2 x2F5B#3 = PosToImgSpace<IMAGE2D<float>>(_t0EFD,pos2F58);
          bool _t2F5A#1 = Inside<IMAGE2D<float>,2>(x2F5B,_t0EFD);
          if _t2F5A then goto ASSIGN2F61 else goto ASSIGN306F
        ASSIGN2F61:  preds = [COND2F5E]
          real2 x2F60#1 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v290F4B);
          bool _t2F5F#1 = Inside<IMAGE2D<int>,2>(x2F60,_t0EF9);
          goto JOIN2F65
        JOIN2F65:  preds = [ASSIGN2F62,ASSIGN306F]
          bool _t2F63#1 = phi(_t2F5F,_t2F64)
          if _t2F63 then goto ASSIGN345C else goto JOIN3068
        ASSIGN345C:  preds = [COND2F66]
          real2 nd2F6A#2 = Floor<2>(x2F5B);
          real2 f2F69#2 = Sub<real2>(x2F5B,nd2F6A);
          int{2} n2F6B#8 = RealToInt<2>(nd2F6A);
          int t12F87#4 = -1;
          int t22F88#1 = Index<int{2},0>(n2F6B);
          int ix2F86#4 = Add<int>(t12F87,t22F88);
          int t22F8B#4 = Index<int{2},1>(n2F6B);
          int iy2F89#1 = Add<int>(t12F87,t22F8B);
          addr(IMAGE2D<float>) a2F8C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F89);
          real4 v02F6D#1 = LoadVoxels<IMAGE2D<float>,4>(a2F8C);
          int iy2F82#1 = Add<int>(_t0FB3,t22F8B);
          addr(IMAGE2D<float>) a2F85#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F82);
          real4 v12F6E#1 = LoadVoxels<IMAGE2D<float>,4>(a2F85);
          int iy2F7B#1 = Add<int>(_t0FB7,t22F8B);
          addr(IMAGE2D<float>) a2F7E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F7B);
          real4 v22F6F#1 = LoadVoxels<IMAGE2D<float>,4>(a2F7E);
          int iy2F74#1 = Add<int>(_t0F8F,t22F8B);
          addr(IMAGE2D<float>) a2F77#1 = VoxelAddress<IMAGE2D<float>,0>(_t0EFD,ix2F86,iy2F74);
          real4 v32F70#1 = LoadVoxels<IMAGE2D<float>,4>(a2F77);
          real fy2F98#5 = Index<real2,1>(f2F69);
          real t32F9D#1 = Add<real>(fy2F98,_t0F8B);
          real t12F9B#1 = Sub<real>(fy2F98,_t0F8B);
          real t02F9A#1 = Sub<real>(fy2F98,_t0F8D);
          real4 a2F99#1 = <real4>[t32F9D,fy2F98,t12F9B,t02F9A];
          real4 hy2F8E#1 = EvalKernel<4,bspln3,0>(a2F99);
          real fx2F8F#5 = Index<real2,0>(f2F69);
          real t32F94#1 = Add<real>(fx2F8F,_t0F8B);
          real t12F92#1 = Sub<real>(fx2F8F,_t0F8B);
          real t02F91#1 = Sub<real>(fx2F8F,_t0F8D);
          real4 a2F90#1 = <real4>[t32F94,fx2F8F,t12F92,t02F91];
          real4 hx2F8D#4 = EvalKernel<4,bspln3,0>(a2F90);
          real t02FA2#1 = Dot<4>(v02F6D,hx2F8D);
          real t12FA3#1 = Dot<4>(v12F6E,hx2F8D);
          real t22FA4#1 = Dot<4>(v22F6F,hx2F8D);
          real t32FA5#1 = Dot<4>(v32F70,hx2F8D);
          real4 tv2FA1#1 = <real4>[t02FA2,t12FA3,t22FA4,t32FA5];
          real _t2F67#1 = Dot<4>(hy2F8E,tv2FA1);
          real2 x2FE5#2 = PosToImgSpace<IMAGE2D<int>>(_t0EF9,v290F4B);
          real2 nd2FE7#2 = Floor<2>(x2FE5);
          real2 f2FE6#2 = Sub<real2>(x2FE5,nd2FE7);
          int{2} n2FE8#8 = RealToInt<2>(nd2FE7);
          int t23005#1 = Index<int{2},0>(n2FE8);
          int ix3003#4 = Add<int>(t12F87,t23005);
          int t23008#4 = Index<int{2},1>(n2FE8);
          int iy3006#1 = Add<int>(t12F87,t23008);
          addr(IMAGE2D<int>) a3009#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy3006);
          real4 v02FEA#1 = LoadVoxels<IMAGE2D<int>,4>(a3009);
          int iy2FFF#1 = Add<int>(_t0FB3,t23008);
          addr(IMAGE2D<int>) a3002#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy2FFF);
          real4 v12FEB#1 = LoadVoxels<IMAGE2D<int>,4>(a3002);
          int iy2FF8#1 = Add<int>(_t0FB7,t23008);
          addr(IMAGE2D<int>) a2FFB#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy2FF8);
          real4 v22FEC#1 = LoadVoxels<IMAGE2D<int>,4>(a2FFB);
          int iy2FF1#1 = Add<int>(_t0F8F,t23008);
          addr(IMAGE2D<int>) a2FF4#1 = VoxelAddress<IMAGE2D<int>,0>(_t0EF9,ix3003,iy2FF1);
          real4 v32FED#1 = LoadVoxels<IMAGE2D<int>,4>(a2FF4);
          real fy3015#5 = Index<real2,1>(f2FE6);
          real t3301A#1 = Add<real>(fy3015,_t0F8B);
          real t13018#1 = Sub<real>(fy3015,_t0F8B);
          real t03017#1 = Sub<real>(fy3015,_t0F8D);
          real4 a3016#1 = <real4>[t3301A,fy3015,t13018,t03017];
          real4 hy300B#1 = EvalKernel<4,bspln3,0>(a3016);
          real fx300C#5 = Index<real2,0>(f2FE6);
          real t33011#1 = Add<real>(fx300C,_t0F8B);
          real t1300F#1 = Sub<real>(fx300C,_t0F8B);
          real t0300E#1 = Sub<real>(fx300C,_t0F8D);
          real4 a300D#1 = <real4>[t33011,fx300C,t1300F,t0300E];
          real4 hx300A#4 = EvalKernel<4,bspln3,0>(a300D);
          real t0301F#1 = Dot<4>(v02FEA,hx300A);
          real t13020#1 = Dot<4>(v12FEB,hx300A);
          real t23021#1 = Dot<4>(v22FEC,hx300A);
          real t33022#1 = Dot<4>(v32FED,hx300A);
          real4 tv301E#1 = <real4>[t0301F,t13020,t23021,t33022];
          real _t2FE4#1 = Dot<4>(hy300B,tv301E);
          real _t3061#2 = Sub<real>(_t2F67,_t2FE4);
          real _t3063#1 = Mul<real>(_t3061,_t3061);
          real score3065#1 = Add<real>(score2F50,_t3063);
          goto JOIN3068
        JOIN3068:  preds = [ASSIGN3066,COND2F66]
          real score3067#1 = phi(score3065,score2F50)
          self.t = t0F87;
          self.score = score3067;
          self.r0 = r00FA5;
          self.r1 = r10FAB;
          self.pos = pos2F58;
          stabilize ()
        ASSIGN306F:  preds = [COND2F5E]
          bool _t2F64#1 = false;
          goto JOIN2F65
        ASSIGN3070:  preds = [COND2E47]
          bool _t2E4D#1 = false;
          goto JOIN2E4E
        ASSIGN3071:  preds = [COND2D30]
          bool _t2D36#1 = false;
          goto JOIN2D37
        ASSIGN3072:  preds = [COND2C19]
          bool _t2C1F#1 = false;
          goto JOIN2C20
        ASSIGN3073:  preds = [COND2B02]
          bool _t2B08#1 = false;
          goto JOIN2B09
        ASSIGN3074:  preds = [COND29EB]
          bool _t29F1#1 = false;
          goto JOIN29F2
        ASSIGN3075:  preds = [COND28D4]
          bool _t28DA#1 = false;
          goto JOIN28DB
        ASSIGN3076:  preds = [COND27BD]
          bool _t27C3#1 = false;
          goto JOIN27C4
        ASSIGN3077:  preds = [COND26A6]
          bool _t26AC#1 = false;
          goto JOIN26AD
        ASSIGN3078:  preds = [COND258F]
          bool _t2595#1 = false;
          goto JOIN2596
        ASSIGN3079:  preds = [COND2478]
          bool _t247E#1 = false;
          goto JOIN247F
        ASSIGN307A:  preds = [COND2361]
          bool _t2367#1 = false;
          goto JOIN2368
        ASSIGN307B:  preds = [COND224A]
          bool _t2250#1 = false;
          goto JOIN2251
        ASSIGN307C:  preds = [COND2133]
          bool _t2139#1 = false;
          goto JOIN213A
        ASSIGN307D:  preds = [COND201C]
          bool _t2022#1 = false;
          goto JOIN2023
        ASSIGN307E:  preds = [COND1F05]
          bool _t1F0B#1 = false;
          goto JOIN1F0C
        ASSIGN307F:  preds = [COND1DEE]
          bool _t1DF4#1 = false;
          goto JOIN1DF5
        ASSIGN3080:  preds = [COND1CD7]
          bool _t1CDD#1 = false;
          goto JOIN1CDE
        ASSIGN3081:  preds = [COND1BC0]
          bool _t1BC6#1 = false;
          goto JOIN1BC7
        ASSIGN3082:  preds = [COND1AA9]
          bool _t1AAF#1 = false;
          goto JOIN1AB0
        ASSIGN3083:  preds = [COND1992]
          bool _t1998#1 = false;
          goto JOIN1999
        ASSIGN3084:  preds = [COND187B]
          bool _t1881#1 = false;
          goto JOIN1882
        ASSIGN3085:  preds = [COND1764]
          bool _t176A#1 = false;
          goto JOIN176B
        ASSIGN3086:  preds = [COND164D]
          bool _t1653#1 = false;
          goto JOIN1654
        ASSIGN3087:  preds = [COND1536]
          bool _t153C#1 = false;
          goto JOIN153D
        ASSIGN3088:  preds = [COND141F]
          bool _t1425#1 = false;
          goto JOIN1426
        ASSIGN3089:  preds = [COND1308]
          bool _t130E#1 = false;
          goto JOIN130F
        ASSIGN308A:  preds = [COND11F1]
          bool _t11F7#1 = false;
          goto JOIN11F8
        ASSIGN308B:  preds = [COND10DA]
          bool _t10E0#1 = false;
          goto JOIN10E1
        ASSIGN308C:  preds = [COND0FC3]
          bool _t0FC9#1 = false;
          goto JOIN0FCA
    end Update
    method Stabilize
        ENTRY308E:  preds = []
          real3 t308F#1 = self.t;
          real score3091#1 = self.score;
          real2 r03093#1 = self.r0;
          real2 r13095#1 = self.r1;
          real2 pos3097#1 = self.pos;
          self.t = t308F;
          self.score = score3091;
          self.r0 = r03093;
          self.r1 = r13095;
          self.pos = pos3097;
          return ()
    end Stabilize
  end R
#### end program ####
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
++ low-il:redundant-assign
##### LowIL after value numbering ####
## properties
  none
## globals
  global int T34D4#0
  global int F34D5#0
  global real2 v00348A#4
  global real2 v013490#4
  global real2 v023494#4
  global real2 v033496#4
  global real2 v043498#4
  global real2 v05349E#4
  global real2 v0634A0#4
  global real2 v0734A2#4
  global real2 v0834A4#4
  global real2 v0934A6#4
  global real2 v1034AC#4
  global real2 v1134AE#4
  global real2 v1234B0#4
  global real2 v1334B2#4
  global real2 v1434B4#4
  global real2 v1534B6#4
  global real2 v1634B8#4
  global real2 v1734BA#4
  global real2 v1834BC#4
  global real2 v1934BE#4
  global real2 v2034C0#4
  global real2 v2134C2#4
  global real2 v2234C4#4
  global real2 v2334C6#4
  global real2 v2434C8#4
  global real2 v2534CA#4
  global real2 v2634CC#4
  global real2 v2734CE#4
  global real2 v2834D0#4
  global real2 v2934D2#4
  global string _t347E#1
  global image(IMAGE2D<int>) _t3480#210
  global int _t34D6#0
  global string _t3482#1
  global image(IMAGE2D<float>) _t3484#180
  global real _t349C#5
  global real _t34AA#5
  global real _t34A8#6
  global real _t349A#6
  global real _t3488#11
  global real _t348E#6
  global real _t3492#6
  global real _t348C#7
  global real _t3486#12
## global initialization
  ENTRY347D:  preds = []
    string _t347E#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t3480#210 = LoadImage<IMAGE2D<int>>(_t347E);
    string _t3482#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t3484#180 = LoadImage<IMAGE2D<float>>(_t3482);
    real _t3486#12 = 0.5e0;
    real _t3488#11 = Neg<real>(_t3486);
    real2 v00348A#4 = <real2>[_t3488,_t3488];
    real _t348C#7 = 0.25e0;
    real _t348E#6 = Neg<real>(_t348C);
    real2 v013490#4 = <real2>[_t3488,_t348E];
    real _t3492#6 = 0.0;
    real2 v023494#4 = <real2>[_t3488,_t3492];
    real2 v033496#4 = <real2>[_t3488,_t348C];
    real2 v043498#4 = <real2>[_t3488,_t3486];
    real _t349A#6 = 0.3e0;
    real _t349C#5 = Neg<real>(_t349A);
    real2 v05349E#4 = <real2>[_t349C,_t3488];
    real2 v0634A0#4 = <real2>[_t349C,_t348E];
    real2 v0734A2#4 = <real2>[_t349C,_t3492];
    real2 v0834A4#4 = <real2>[_t349C,_t348C];
    real2 v0934A6#4 = <real2>[_t349C,_t3486];
    real _t34A8#6 = 0.1e0;
    real _t34AA#5 = Neg<real>(_t34A8);
    real2 v1034AC#4 = <real2>[_t34AA,_t3488];
    real2 v1134AE#4 = <real2>[_t34AA,_t348E];
    real2 v1234B0#4 = <real2>[_t34AA,_t3492];
    real2 v1334B2#4 = <real2>[_t34AA,_t348C];
    real2 v1434B4#4 = <real2>[_t34AA,_t3486];
    real2 v1534B6#4 = <real2>[_t34A8,_t3488];
    real2 v1634B8#4 = <real2>[_t34A8,_t348E];
    real2 v1734BA#4 = <real2>[_t34A8,_t3492];
    real2 v1834BC#4 = <real2>[_t34A8,_t348C];
    real2 v1934BE#4 = <real2>[_t34A8,_t3486];
    real2 v2034C0#4 = <real2>[_t349A,_t3488];
    real2 v2134C2#4 = <real2>[_t349A,_t348E];
    real2 v2234C4#4 = <real2>[_t349A,_t3492];
    real2 v2334C6#4 = <real2>[_t349A,_t348C];
    real2 v2434C8#4 = <real2>[_t349A,_t3486];
    real2 v2534CA#4 = <real2>[_t3486,_t3488];
    real2 v2634CC#4 = <real2>[_t3486,_t348E];
    real2 v2734CE#4 = <real2>[_t3486,_t3492];
    real2 v2834D0#4 = <real2>[_t3486,_t348C];
    real2 v2934D2#4 = <real2>[_t3486,_t3486];
    return (T34D4,F34D5,v00348A,v013490,v023494,v033496,v043498,v05349E,v0634A0,v0734A2,v0834A4,v0934A6,v1034AC,v1134AE,v1234B0,v1334B2,v1434B4,v1534B6,v1634B8,v1734BA,v1834BC,v1934BE,v2034C0,v2134C2,v2234C4,v2334C6,v2434C8,v2534CA,v2634CC,v2734CE,v2834D0,v2934D2,_t347E,_t3480,_t34D6,_t3482,_t3484,_t349C,_t34AA,_t34A8,_t349A,_t3488,_t348E,_t3492,_t348C,_t3486)
## initially
  ARRAY
    ENTRY34DD:  preds = []
      int _t34D9#4 = 0;
      int _t34DA#4 = 60;
      live vars = (_t34DA,_t34D9)
    for int i34D8#1 = _t34D9 .. _t34DA
      for int j34DB#1 = _t34D9 .. _t34DA
        for int k34DC#1 = _t34D9 .. _t34DA
          ENTRY34E1:  preds = []
            live vars = ()
          new R(i34D8,j34DB,k34DC);
## strands
  strand R (int i34E3#1, int j34E4#1, int k34E5#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY34EB:  preds = []
        real _t34EC#1 = IntToReal(i34E3);
        real _t34EE#3 = 0.60e2;
        real _t34F0#1 = Div<real>(_t34EC,_t34EE);
        real _t34F2#3 = 0.5e0;
        real _t34F4#1 = Sub<real>(_t34F0,_t34F2);
        real _t34F6#1 = IntToReal(j34E4);
        real _t34F8#1 = Div<real>(_t34F6,_t34EE);
        real _t34FA#1 = Sub<real>(_t34F8,_t34F2);
        real _t34FC#1 = IntToReal(k34E5);
        real _t34FE#1 = Div<real>(_t34FC,_t34EE);
        real _t3500#1 = Sub<real>(_t34FE,_t34F2);
        real3 t3502#1 = <real3>[_t34F4,_t34FA,_t3500];
        real score3504#3 = 0.0;
        real2 r03506#3 = <real2>[score3504,score3504];
        self.t = t3502;
        self.score = score3504;
        self.r0 = r03506;
        self.r1 = r03506;
        self.pos = r03506;
        strand_init ()
    method Update
        ENTRY350E:  preds = []
          real3 t350F#4 = self.t;
          real score3511#2 = self.score;
          real _t3513#302 = 0.1e1;
          real _t3515#153 = 0.2e1;
          int _t3517#61 = 2;
          real _t3519#6 = Subscript<real3>(t350F,_t3517);
          real _t351B#1 = Mul<real>(_t3515,_t3519);
          real _t351D#1 = Mul<real>(_t351B,_t3519);
          real _t351F#2 = Sub<real>(_t3513,_t351D);
          real _t3521#1 = Neg<real>(_t3515);
          real _t3523#1 = Mul<real>(_t3519,_t3519);
          real _t3525#1 = Sub<real>(_t3513,_t3523);
          real _t3527#2 = sqrt(_t3525);
          real _t3529#1 = Mul<real>(_t3521,_t3527);
          real _t352B#1 = Mul<real>(_t3529,_t3519);
          real2 r0352D#31 = <real2>[_t351F,_t352B];
          real _t352F#1 = Mul<real>(_t3515,_t3527);
          real _t3531#1 = Mul<real>(_t352F,_t3519);
          real2 r13533#31 = <real2>[_t3531,_t351F];
          real _t3535#1 = Dot<2>(r0352D,v00348A);
          real _t3537#1 = Dot<2>(r13533,v00348A);
          real2 _t3539#1 = <real2>[_t3535,_t3537];
          int _t353B#61 = 0;
          real _t353D#1 = Subscript<real3>(t350F,_t353B);
          int _t353F#61 = 1;
          real _t3541#1 = Subscript<real3>(t350F,_t353F);
          real2 _t3543#30 = <real2>[_t353D,_t3541];
          real2 pos3545#1 = Add<real2>(_t3539,_t3543);
          real2 x3547#3 = PosToImgSpace<IMAGE2D<float>>(_t3484,pos3545);
          bool _t3549#1 = Inside<IMAGE2D<float>,2>(x3547,_t3484);
          if _t3549 then goto ASSIGN354D else goto ASSIGN6910
        ASSIGN354D:  preds = [COND354B]
          real2 x354C#1 = PosToImgSpace<IMAGE2D<int>>(_t3480,v00348A);
          bool _t354E#1 = Inside<IMAGE2D<int>,2>(x354C,_t3480);
          goto JOIN3552
        JOIN3552:  preds = [ASSIGN354F,ASSIGN6910]
          bool _t3550#1 = phi(_t354E,_t3551)
          if _t3550 then goto ASSIGN3555 else goto JOIN36F7
        ASSIGN3555:  preds = [COND3553]
          real2 nd3554#2 = Floor<2>(x3547);
          real2 f3556#2 = Sub<real2>(x3547,nd3554);
          int{2} n3558#2 = RealToInt<2>(nd3554);
          int t1355A#4 = -1;
          int t2355C#1 = Index<int{2},0>(n3558);
          int ix355E#4 = Add<int>(t1355A,t2355C);
          int t23560#4 = Index<int{2},1>(n3558);
          int iy3562#1 = Add<int>(t1355A,t23560);
          int n03565#8 = 21;
          int t3566#1 = Mul<int>(n03565,iy3562);
          int index3567#1 = Add<int>(ix355E,t3566);
          addr(IMAGE2D<float>) imgBaseAddr3568#4 = ImageAddress<IMAGE2D<float>>(_t3484);
          addr(IMAGE2D<float>) a3564#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3568,index3567);
          real4 v0356E#1 = LoadVoxels<IMAGE2D<float>,4>(a3564);
          int iy3570#1 = Add<int>(_t353B,t23560);
          int t3574#1 = Mul<int>(n03565,iy3570);
          int index3575#1 = Add<int>(ix355E,t3574);
          addr(IMAGE2D<float>) a3572#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3568,index3575);
          real4 v1357C#1 = LoadVoxels<IMAGE2D<float>,4>(a3572);
          int iy357E#1 = Add<int>(_t353F,t23560);
          int t3582#1 = Mul<int>(n03565,iy357E);
          int index3583#1 = Add<int>(ix355E,t3582);
          addr(IMAGE2D<float>) a3580#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3568,index3583);
          real4 v2358A#1 = LoadVoxels<IMAGE2D<float>,4>(a3580);
          int iy358C#1 = Add<int>(_t3517,t23560);
          int t3590#1 = Mul<int>(n03565,iy358C);
          int index3591#1 = Add<int>(ix355E,t3590);
          addr(IMAGE2D<float>) a358E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3568,index3591);
          real4 v33598#1 = LoadVoxels<IMAGE2D<float>,4>(a358E);
          real fy359A#4 = Index<real2,1>(f3556);
          real t3359C#1 = Add<real>(fy359A,_t3513);
          real t1359E#1 = Sub<real>(fy359A,_t3513);
          real t035A0#1 = Sub<real>(fy359A,_t3515);
          real4 a35A2#3 = <real4>[t3359C,fy359A,t1359E,t035A0];
          real _f35B5#2 = 0.133333333333e1;
          real _f35B6#2 = 0.666666666667e0;
          real4 a035A5#4 = <real4>[_f35B5,_f35B6,_f35B6,_f35B5];
          real _f35B1#1 = -0.2e1;
          real _f35B2#2 = 0.0;
          real4 a135A6#4 = <real4>[_f35B1,_f35B2,_f35B2,_t3515];
          real _f35AE#2 = -0.1e1;
          real4 a235A7#4 = <real4>[_t3513,_f35AE,_f35AE,_t3513];
          real _f35A9#1 = -0.166666666667e0;
          real _f35AA#1 = 0.5e0;
          real _f35AB#1 = -0.5e0;
          real _f35AC#1 = 0.166666666667e0;
          real4 a335A8#4 = <real4>[_f35A9,_f35AA,_f35AB,_f35AC];
          real4 prod335B9#1 = Mul<real4>(a35A2,a335A8);
          real4 sum235BA#1 = Add<real4>(a235A7,prod335B9);
          real4 prod235BB#1 = Mul<real4>(a35A2,sum235BA);
          real4 sum135BC#1 = Add<real4>(a135A6,prod235BB);
          real4 prod135BD#1 = Mul<real4>(a35A2,sum135BC);
          real4 hy35A4#1 = Add<real4>(a035A5,prod135BD);
          real fx35D8#4 = Index<real2,0>(f3556);
          real t335DA#1 = Add<real>(fx35D8,_t3513);
          real t135DC#1 = Sub<real>(fx35D8,_t3513);
          real t035DE#1 = Sub<real>(fx35D8,_t3515);
          real4 a35E0#3 = <real4>[t335DA,fx35D8,t135DC,t035DE];
          real4 prod335F7#1 = Mul<real4>(a35E0,a335A8);
          real4 sum235F8#1 = Add<real4>(a235A7,prod335F7);
          real4 prod235F9#1 = Mul<real4>(a35E0,sum235F8);
          real4 sum135FA#1 = Add<real4>(a135A6,prod235F9);
          real4 prod135FB#1 = Mul<real4>(a35E0,sum135FA);
          real4 hx35E2#4 = Add<real4>(a035A5,prod135FB);
          real t03616#1 = Dot<4>(v0356E,hx35E2);
          real t13618#1 = Dot<4>(v1357C,hx35E2);
          real t2361A#1 = Dot<4>(v2358A,hx35E2);
          real t3361C#1 = Dot<4>(v33598,hx35E2);
          real4 tv361E#1 = <real4>[t03616,t13618,t2361A,t3361C];
          real _t3620#1 = Dot<4>(hy35A4,tv361E);
          real2 x3622#2 = PosToImgSpace<IMAGE2D<int>>(_t3480,v00348A);
          real2 nd3624#2 = Floor<2>(x3622);
          real2 f3626#2 = Sub<real2>(x3622,nd3624);
          int{2} n3628#2 = RealToInt<2>(nd3624);
          int t2362A#1 = Index<int{2},0>(n3628);
          int ix362C#4 = Add<int>(t1355A,t2362A);
          int t2362E#4 = Index<int{2},1>(n3628);
          int iy3630#1 = Add<int>(t1355A,t2362E);
          int t3634#1 = Mul<int>(n03565,iy3630);
          int index3635#1 = Add<int>(ix362C,t3634);
          addr(IMAGE2D<int>) imgBaseAddr3636#4 = ImageAddress<IMAGE2D<int>>(_t3480);
          addr(IMAGE2D<int>) a3632#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3636,index3635);
          real4 v0363C#1 = LoadVoxels<IMAGE2D<int>,4>(a3632);
          int iy363E#1 = Add<int>(_t353B,t2362E);
          int t3642#1 = Mul<int>(n03565,iy363E);
          int index3643#1 = Add<int>(ix362C,t3642);
          addr(IMAGE2D<int>) a3640#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3636,index3643);
          real4 v1364A#1 = LoadVoxels<IMAGE2D<int>,4>(a3640);
          int iy364C#1 = Add<int>(_t353F,t2362E);
          int t3650#1 = Mul<int>(n03565,iy364C);
          int index3651#1 = Add<int>(ix362C,t3650);
          addr(IMAGE2D<int>) a364E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3636,index3651);
          real4 v23658#1 = LoadVoxels<IMAGE2D<int>,4>(a364E);
          int iy365A#1 = Add<int>(_t3517,t2362E);
          int t365E#1 = Mul<int>(n03565,iy365A);
          int index365F#1 = Add<int>(ix362C,t365E);
          addr(IMAGE2D<int>) a365C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3636,index365F);
          real4 v33666#1 = LoadVoxels<IMAGE2D<int>,4>(a365C);
          real fy3668#4 = Index<real2,1>(f3626);
          real t3366A#1 = Add<real>(fy3668,_t3513);
          real t1366C#1 = Sub<real>(fy3668,_t3513);
          real t0366E#1 = Sub<real>(fy3668,_t3515);
          real4 a3670#3 = <real4>[t3366A,fy3668,t1366C,t0366E];
          real4 prod33687#1 = Mul<real4>(a3670,a335A8);
          real4 sum23688#1 = Add<real4>(a235A7,prod33687);
          real4 prod23689#1 = Mul<real4>(a3670,sum23688);
          real4 sum1368A#1 = Add<real4>(a135A6,prod23689);
          real4 prod1368B#1 = Mul<real4>(a3670,sum1368A);
          real4 hy3672#1 = Add<real4>(a035A5,prod1368B);
          real fx36A6#4 = Index<real2,0>(f3626);
          real t336A8#1 = Add<real>(fx36A6,_t3513);
          real t136AA#1 = Sub<real>(fx36A6,_t3513);
          real t036AC#1 = Sub<real>(fx36A6,_t3515);
          real4 a36AE#3 = <real4>[t336A8,fx36A6,t136AA,t036AC];
          real4 prod336C5#1 = Mul<real4>(a36AE,a335A8);
          real4 sum236C6#1 = Add<real4>(a235A7,prod336C5);
          real4 prod236C7#1 = Mul<real4>(a36AE,sum236C6);
          real4 sum136C8#1 = Add<real4>(a135A6,prod236C7);
          real4 prod136C9#1 = Mul<real4>(a36AE,sum136C8);
          real4 hx36B0#4 = Add<real4>(a035A5,prod136C9);
          real t036E4#1 = Dot<4>(v0363C,hx36B0);
          real t136E6#1 = Dot<4>(v1364A,hx36B0);
          real t236E8#1 = Dot<4>(v23658,hx36B0);
          real t336EA#1 = Dot<4>(v33666,hx36B0);
          real4 tv36EC#1 = <real4>[t036E4,t136E6,t236E8,t336EA];
          real _t36EE#1 = Dot<4>(hy3672,tv36EC);
          real _t36F0#2 = Sub<real>(_t3620,_t36EE);
          real _t36F2#1 = Mul<real>(_t36F0,_t36F0);
          real score36F4#1 = Add<real>(score3511,_t36F2);
          goto JOIN36F7
        JOIN36F7:  preds = [ASSIGN36F5,COND3553]
          real score36F6#2 = phi(score36F4,score3511)
          real _t36F8#1 = Dot<2>(r0352D,v013490);
          real _t36FA#1 = Dot<2>(r13533,v013490);
          real2 _t36FC#1 = <real2>[_t36F8,_t36FA];
          real2 pos36FE#1 = Add<real2>(_t36FC,_t3543);
          real2 x3700#3 = PosToImgSpace<IMAGE2D<float>>(_t3484,pos36FE);
          bool _t3702#1 = Inside<IMAGE2D<float>,2>(x3700,_t3484);
          if _t3702 then goto ASSIGN3706 else goto ASSIGN690F
        ASSIGN3706:  preds = [COND3704]
          real2 x3705#1 = PosToImgSpace<IMAGE2D<int>>(_t3480,v013490);
          bool _t3707#1 = Inside<IMAGE2D<int>,2>(x3705,_t3480);
          goto JOIN370B
        JOIN370B:  preds = [ASSIGN3708,ASSIGN690F]
          bool _t3709#1 = phi(_t3707,_t370A)
          if _t3709 then goto ASSIGN370E else goto JOIN38B0
        ASSIGN370E:  preds = [COND370C]
          real2 nd370D#2 = Floor<2>(x3700);
          real2 f370F#2 = Sub<real2>(x3700,nd370D);
          int{2} n3711#2 = RealToInt<2>(nd370D);
          int t13713#4 = -1;
          int t23715#1 = Index<int{2},0>(n3711);
          int ix3717#4 = Add<int>(t13713,t23715);
          int t23719#4 = Index<int{2},1>(n3711);
          int iy371B#1 = Add<int>(t13713,t23719);
          int n0371E#8 = 21;
          int t371F#1 = Mul<int>(n0371E,iy371B);
          int index3720#1 = Add<int>(ix3717,t371F);
          addr(IMAGE2D<float>) imgBaseAddr3721#4 = ImageAddress<IMAGE2D<float>>(_t3484);
          addr(IMAGE2D<float>) a371D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3721,index3720);
          real4 v03727#1 = LoadVoxels<IMAGE2D<float>,4>(a371D);
          int iy3729#1 = Add<int>(_t353B,t23719);
          int t372D#1 = Mul<int>(n0371E,iy3729);
          int index372E#1 = Add<int>(ix3717,t372D);
          addr(IMAGE2D<float>) a372B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3721,index372E);
          real4 v13735#1 = LoadVoxels<IMAGE2D<float>,4>(a372B);
          int iy3737#1 = Add<int>(_t353F,t23719);
          int t373B#1 = Mul<int>(n0371E,iy3737);
          int index373C#1 = Add<int>(ix3717,t373B);
          addr(IMAGE2D<float>) a3739#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3721,index373C);
          real4 v23743#1 = LoadVoxels<IMAGE2D<float>,4>(a3739);
          int iy3745#1 = Add<int>(_t3517,t23719);
          int t3749#1 = Mul<int>(n0371E,iy3745);
          int index374A#1 = Add<int>(ix3717,t3749);
          addr(IMAGE2D<float>) a3747#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3721,index374A);
          real4 v33751#1 = LoadVoxels<IMAGE2D<float>,4>(a3747);
          real fy3753#4 = Index<real2,1>(f370F);
          real t33755#1 = Add<real>(fy3753,_t3513);
          real t13757#1 = Sub<real>(fy3753,_t3513);
          real t03759#1 = Sub<real>(fy3753,_t3515);
          real4 a375B#3 = <real4>[t33755,fy3753,t13757,t03759];
          real _f376E#2 = 0.133333333333e1;
          real _f376F#2 = 0.666666666667e0;
          real4 a0375E#4 = <real4>[_f376E,_f376F,_f376F,_f376E];
          real _f376A#1 = -0.2e1;
          real _f376B#2 = 0.0;
          real4 a1375F#4 = <real4>[_f376A,_f376B,_f376B,_t3515];
          real _f3767#2 = -0.1e1;
          real4 a23760#4 = <real4>[_t3513,_f3767,_f3767,_t3513];
          real _f3762#1 = -0.166666666667e0;
          real _f3763#1 = 0.5e0;
          real _f3764#1 = -0.5e0;
          real _f3765#1 = 0.166666666667e0;
          real4 a33761#4 = <real4>[_f3762,_f3763,_f3764,_f3765];
          real4 prod33772#1 = Mul<real4>(a375B,a33761);
          real4 sum23773#1 = Add<real4>(a23760,prod33772);
          real4 prod23774#1 = Mul<real4>(a375B,sum23773);
          real4 sum13775#1 = Add<real4>(a1375F,prod23774);
          real4 prod13776#1 = Mul<real4>(a375B,sum13775);
          real4 hy375D#1 = Add<real4>(a0375E,prod13776);
          real fx3791#4 = Index<real2,0>(f370F);
          real t33793#1 = Add<real>(fx3791,_t3513);
          real t13795#1 = Sub<real>(fx3791,_t3513);
          real t03797#1 = Sub<real>(fx3791,_t3515);
          real4 a3799#3 = <real4>[t33793,fx3791,t13795,t03797];
          real4 prod337B0#1 = Mul<real4>(a3799,a33761);
          real4 sum237B1#1 = Add<real4>(a23760,prod337B0);
          real4 prod237B2#1 = Mul<real4>(a3799,sum237B1);
          real4 sum137B3#1 = Add<real4>(a1375F,prod237B2);
          real4 prod137B4#1 = Mul<real4>(a3799,sum137B3);
          real4 hx379B#4 = Add<real4>(a0375E,prod137B4);
          real t037CF#1 = Dot<4>(v03727,hx379B);
          real t137D1#1 = Dot<4>(v13735,hx379B);
          real t237D3#1 = Dot<4>(v23743,hx379B);
          real t337D5#1 = Dot<4>(v33751,hx379B);
          real4 tv37D7#1 = <real4>[t037CF,t137D1,t237D3,t337D5];
          real _t37D9#1 = Dot<4>(hy375D,tv37D7);
          real2 x37DB#2 = PosToImgSpace<IMAGE2D<int>>(_t3480,v013490);
          real2 nd37DD#2 = Floor<2>(x37DB);
          real2 f37DF#2 = Sub<real2>(x37DB,nd37DD);
          int{2} n37E1#2 = RealToInt<2>(nd37DD);
          int t237E3#1 = Index<int{2},0>(n37E1);
          int ix37E5#4 = Add<int>(t13713,t237E3);
          int t237E7#4 = Index<int{2},1>(n37E1);
          int iy37E9#1 = Add<int>(t13713,t237E7);
          int t37ED#1 = Mul<int>(n0371E,iy37E9);
          int index37EE#1 = Add<int>(ix37E5,t37ED);
          addr(IMAGE2D<int>) imgBaseAddr37EF#4 = ImageAddress<IMAGE2D<int>>(_t3480);
          addr(IMAGE2D<int>) a37EB#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr37EF,index37EE);
          real4 v037F5#1 = LoadVoxels<IMAGE2D<int>,4>(a37EB);
          int iy37F7#1 = Add<int>(_t353B,t237E7);
          int t37FB#1 = Mul<int>(n0371E,iy37F7);
          int index37FC#1 = Add<int>(ix37E5,t37FB);
          addr(IMAGE2D<int>) a37F9#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr37EF,index37FC);
          real4 v13803#1 = LoadVoxels<IMAGE2D<int>,4>(a37F9);
          int iy3805#1 = Add<int>(_t353F,t237E7);
          int t3809#1 = Mul<int>(n0371E,iy3805);
          int index380A#1 = Add<int>(ix37E5,t3809);
          addr(IMAGE2D<int>) a3807#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr37EF,index380A);
          real4 v23811#1 = LoadVoxels<IMAGE2D<int>,4>(a3807);
          int iy3813#1 = Add<int>(_t3517,t237E7);
          int t3817#1 = Mul<int>(n0371E,iy3813);
          int index3818#1 = Add<int>(ix37E5,t3817);
          addr(IMAGE2D<int>) a3815#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr37EF,index3818);
          real4 v3381F#1 = LoadVoxels<IMAGE2D<int>,4>(a3815);
          real fy3821#4 = Index<real2,1>(f37DF);
          real t33823#1 = Add<real>(fy3821,_t3513);
          real t13825#1 = Sub<real>(fy3821,_t3513);
          real t03827#1 = Sub<real>(fy3821,_t3515);
          real4 a3829#3 = <real4>[t33823,fy3821,t13825,t03827];
          real4 prod33840#1 = Mul<real4>(a3829,a33761);
          real4 sum23841#1 = Add<real4>(a23760,prod33840);
          real4 prod23842#1 = Mul<real4>(a3829,sum23841);
          real4 sum13843#1 = Add<real4>(a1375F,prod23842);
          real4 prod13844#1 = Mul<real4>(a3829,sum13843);
          real4 hy382B#1 = Add<real4>(a0375E,prod13844);
          real fx385F#4 = Index<real2,0>(f37DF);
          real t33861#1 = Add<real>(fx385F,_t3513);
          real t13863#1 = Sub<real>(fx385F,_t3513);
          real t03865#1 = Sub<real>(fx385F,_t3515);
          real4 a3867#3 = <real4>[t33861,fx385F,t13863,t03865];
          real4 prod3387E#1 = Mul<real4>(a3867,a33761);
          real4 sum2387F#1 = Add<real4>(a23760,prod3387E);
          real4 prod23880#1 = Mul<real4>(a3867,sum2387F);
          real4 sum13881#1 = Add<real4>(a1375F,prod23880);
          real4 prod13882#1 = Mul<real4>(a3867,sum13881);
          real4 hx3869#4 = Add<real4>(a0375E,prod13882);
          real t0389D#1 = Dot<4>(v037F5,hx3869);
          real t1389F#1 = Dot<4>(v13803,hx3869);
          real t238A1#1 = Dot<4>(v23811,hx3869);
          real t338A3#1 = Dot<4>(v3381F,hx3869);
          real4 tv38A5#1 = <real4>[t0389D,t1389F,t238A1,t338A3];
          real _t38A7#1 = Dot<4>(hy382B,tv38A5);
          real _t38A9#2 = Sub<real>(_t37D9,_t38A7);
          real _t38AB#1 = Mul<real>(_t38A9,_t38A9);
          real score38AD#1 = Add<real>(score36F6,_t38AB);
          goto JOIN38B0
        JOIN38B0:  preds = [ASSIGN38AE,COND370C]
          real score38AF#2 = phi(score38AD,score36F6)
          real _t38B1#1 = Dot<2>(r0352D,v023494);
          real _t38B3#1 = Dot<2>(r13533,v023494);
          real2 _t38B5#1 = <real2>[_t38B1,_t38B3];
          real2 pos38B7#1 = Add<real2>(_t38B5,_t3543);
          real2 x38B9#3 = PosToImgSpace<IMAGE2D<float>>(_t3484,pos38B7);
          bool _t38BB#1 = Inside<IMAGE2D<float>,2>(x38B9,_t3484);
          if _t38BB then goto ASSIGN38BF else goto ASSIGN690E
        ASSIGN38BF:  preds = [COND38BD]
          real2 x38BE#1 = PosToImgSpace<IMAGE2D<int>>(_t3480,v023494);
          bool _t38C0#1 = Inside<IMAGE2D<int>,2>(x38BE,_t3480);
          goto JOIN38C4
        JOIN38C4:  preds = [ASSIGN38C1,ASSIGN690E]
          bool _t38C2#1 = phi(_t38C0,_t38C3)
          if _t38C2 then goto ASSIGN38C7 else goto JOIN3A69
        ASSIGN38C7:  preds = [COND38C5]
          real2 nd38C6#2 = Floor<2>(x38B9);
          real2 f38C8#2 = Sub<real2>(x38B9,nd38C6);
          int{2} n38CA#2 = RealToInt<2>(nd38C6);
          int t138CC#4 = -1;
          int t238CE#1 = Index<int{2},0>(n38CA);
          int ix38D0#4 = Add<int>(t138CC,t238CE);
          int t238D2#4 = Index<int{2},1>(n38CA);
          int iy38D4#1 = Add<int>(t138CC,t238D2);
          int n038D7#8 = 21;
          int t38D8#1 = Mul<int>(n038D7,iy38D4);
          int index38D9#1 = Add<int>(ix38D0,t38D8);
          addr(IMAGE2D<float>) imgBaseAddr38DA#4 = ImageAddress<IMAGE2D<float>>(_t3484);
          addr(IMAGE2D<float>) a38D6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr38DA,index38D9);
          real4 v038E0#1 = LoadVoxels<IMAGE2D<float>,4>(a38D6);
          int iy38E2#1 = Add<int>(_t353B,t238D2);
          int t38E6#1 = Mul<int>(n038D7,iy38E2);
          int index38E7#1 = Add<int>(ix38D0,t38E6);
          addr(IMAGE2D<float>) a38E4#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr38DA,index38E7);
          real4 v138EE#1 = LoadVoxels<IMAGE2D<float>,4>(a38E4);
          int iy38F0#1 = Add<int>(_t353F,t238D2);
          int t38F4#1 = Mul<int>(n038D7,iy38F0);
          int index38F5#1 = Add<int>(ix38D0,t38F4);
          addr(IMAGE2D<float>) a38F2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr38DA,index38F5);
          real4 v238FC#1 = LoadVoxels<IMAGE2D<float>,4>(a38F2);
          int iy38FE#1 = Add<int>(_t3517,t238D2);
          int t3902#1 = Mul<int>(n038D7,iy38FE);
          int index3903#1 = Add<int>(ix38D0,t3902);
          addr(IMAGE2D<float>) a3900#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr38DA,index3903);
          real4 v3390A#1 = LoadVoxels<IMAGE2D<float>,4>(a3900);
          real fy390C#4 = Index<real2,1>(f38C8);
          real t3390E#1 = Add<real>(fy390C,_t3513);
          real t13910#1 = Sub<real>(fy390C,_t3513);
          real t03912#1 = Sub<real>(fy390C,_t3515);
          real4 a3914#3 = <real4>[t3390E,fy390C,t13910,t03912];
          real _f3927#2 = 0.133333333333e1;
          real _f3928#2 = 0.666666666667e0;
          real4 a03917#4 = <real4>[_f3927,_f3928,_f3928,_f3927];
          real _f3923#1 = -0.2e1;
          real _f3924#2 = 0.0;
          real4 a13918#4 = <real4>[_f3923,_f3924,_f3924,_t3515];
          real _f3920#2 = -0.1e1;
          real4 a23919#4 = <real4>[_t3513,_f3920,_f3920,_t3513];
          real _f391B#1 = -0.166666666667e0;
          real _f391C#1 = 0.5e0;
          real _f391D#1 = -0.5e0;
          real _f391E#1 = 0.166666666667e0;
          real4 a3391A#4 = <real4>[_f391B,_f391C,_f391D,_f391E];
          real4 prod3392B#1 = Mul<real4>(a3914,a3391A);
          real4 sum2392C#1 = Add<real4>(a23919,prod3392B);
          real4 prod2392D#1 = Mul<real4>(a3914,sum2392C);
          real4 sum1392E#1 = Add<real4>(a13918,prod2392D);
          real4 prod1392F#1 = Mul<real4>(a3914,sum1392E);
          real4 hy3916#1 = Add<real4>(a03917,prod1392F);
          real fx394A#4 = Index<real2,0>(f38C8);
          real t3394C#1 = Add<real>(fx394A,_t3513);
          real t1394E#1 = Sub<real>(fx394A,_t3513);
          real t03950#1 = Sub<real>(fx394A,_t3515);
          real4 a3952#3 = <real4>[t3394C,fx394A,t1394E,t03950];
          real4 prod33969#1 = Mul<real4>(a3952,a3391A);
          real4 sum2396A#1 = Add<real4>(a23919,prod33969);
          real4 prod2396B#1 = Mul<real4>(a3952,sum2396A);
          real4 sum1396C#1 = Add<real4>(a13918,prod2396B);
          real4 prod1396D#1 = Mul<real4>(a3952,sum1396C);
          real4 hx3954#4 = Add<real4>(a03917,prod1396D);
          real t03988#1 = Dot<4>(v038E0,hx3954);
          real t1398A#1 = Dot<4>(v138EE,hx3954);
          real t2398C#1 = Dot<4>(v238FC,hx3954);
          real t3398E#1 = Dot<4>(v3390A,hx3954);
          real4 tv3990#1 = <real4>[t03988,t1398A,t2398C,t3398E];
          real _t3992#1 = Dot<4>(hy3916,tv3990);
          real2 x3994#2 = PosToImgSpace<IMAGE2D<int>>(_t3480,v023494);
          real2 nd3996#2 = Floor<2>(x3994);
          real2 f3998#2 = Sub<real2>(x3994,nd3996);
          int{2} n399A#2 = RealToInt<2>(nd3996);
          int t2399C#1 = Index<int{2},0>(n399A);
          int ix399E#4 = Add<int>(t138CC,t2399C);
          int t239A0#4 = Index<int{2},1>(n399A);
          int iy39A2#1 = Add<int>(t138CC,t239A0);
          int t39A6#1 = Mul<int>(n038D7,iy39A2);
          int index39A7#1 = Add<int>(ix399E,t39A6);
          addr(IMAGE2D<int>) imgBaseAddr39A8#4 = ImageAddress<IMAGE2D<int>>(_t3480);
          addr(IMAGE2D<int>) a39A4#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39A8,index39A7);
          real4 v039AE#1 = LoadVoxels<IMAGE2D<int>,4>(a39A4);
          int iy39B0#1 = Add<int>(_t353B,t239A0);
          int t39B4#1 = Mul<int>(n038D7,iy39B0);
          int index39B5#1 = Add<int>(ix399E,t39B4);
          addr(IMAGE2D<int>) a39B2#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39A8,index39B5);
          real4 v139BC#1 = LoadVoxels<IMAGE2D<int>,4>(a39B2);
          int iy39BE#1 = Add<int>(_t353F,t239A0);
          int t39C2#1 = Mul<int>(n038D7,iy39BE);
          int index39C3#1 = Add<int>(ix399E,t39C2);
          addr(IMAGE2D<int>) a39C0#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39A8,index39C3);
          real4 v239CA#1 = LoadVoxels<IMAGE2D<int>,4>(a39C0);
          int iy39CC#1 = Add<int>(_t3517,t239A0);
          int t39D0#1 = Mul<int>(n038D7,iy39CC);
          int index39D1#1 = Add<int>(ix399E,t39D0);
          addr(IMAGE2D<int>) a39CE#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr39A8,index39D1);
          real4 v339D8#1 = LoadVoxels<IMAGE2D<int>,4>(a39CE);
          real fy39DA#4 = Index<real2,1>(f3998);
          real t339DC#1 = Add<real>(fy39DA,_t3513);
          real t139DE#1 = Sub<real>(fy39DA,_t3513);
          real t039E0#1 = Sub<real>(fy39DA,_t3515);
          real4 a39E2#3 = <real4>[t339DC,fy39DA,t139DE,t039E0];
          real4 prod339F9#1 = Mul<real4>(a39E2,a3391A);
          real4 sum239FA#1 = Add<real4>(a23919,prod339F9);
          real4 prod239FB#1 = Mul<real4>(a39E2,sum239FA);
          real4 sum139FC#1 = Add<real4>(a13918,prod239FB);
          real4 prod139FD#1 = Mul<real4>(a39E2,sum139FC);
          real4 hy39E4#1 = Add<real4>(a03917,prod139FD);
          real fx3A18#4 = Index<real2,0>(f3998);
          real t33A1A#1 = Add<real>(fx3A18,_t3513);
          real t13A1C#1 = Sub<real>(fx3A18,_t3513);
          real t03A1E#1 = Sub<real>(fx3A18,_t3515);
          real4 a3A20#3 = <real4>[t33A1A,fx3A18,t13A1C,t03A1E];
          real4 prod33A37#1 = Mul<real4>(a3A20,a3391A);
          real4 sum23A38#1 = Add<real4>(a23919,prod33A37);
          real4 prod23A39#1 = Mul<real4>(a3A20,sum23A38);
          real4 sum13A3A#1 = Add<real4>(a13918,prod23A39);
          real4 prod13A3B#1 = Mul<real4>(a3A20,sum13A3A);
          real4 hx3A22#4 = Add<real4>(a03917,prod13A3B);
          real t03A56#1 = Dot<4>(v039AE,hx3A22);
          real t13A58#1 = Dot<4>(v139BC,hx3A22);
          real t23A5A#1 = Dot<4>(v239CA,hx3A22);
          real t33A5C#1 = Dot<4>(v339D8,hx3A22);
          real4 tv3A5E#1 = <real4>[t03A56,t13A58,t23A5A,t33A5C];
          real _t3A60#1 = Dot<4>(hy39E4,tv3A5E);
          real _t3A62#2 = Sub<real>(_t3992,_t3A60);
          real _t3A64#1 = Mul<real>(_t3A62,_t3A62);
          real score3A66#1 = Add<real>(score38AF,_t3A64);
          goto JOIN3A69
        JOIN3A69:  preds = [ASSIGN3A67,COND38C5]
          real score3A68#2 = phi(score3A66,score38AF)
          real _t3A6A#1 = Dot<2>(r0352D,v033496);
          real _t3A6C#1 = Dot<2>(r13533,v033496);
          real2 _t3A6E#1 = <real2>[_t3A6A,_t3A6C];
          real2 pos3A70#1 = Add<real2>(_t3A6E,_t3543);
          real2 x3A72#3 = PosToImgSpace<IMAGE2D<float>>(_t3484,pos3A70);
          bool _t3A74#1 = Inside<IMAGE2D<float>,2>(x3A72,_t3484);
          if _t3A74 then goto ASSIGN3A78 else goto ASSIGN690D
        ASSIGN3A78:  preds = [COND3A76]
          real2 x3A77#1 = PosToImgSpace<IMAGE2D<int>>(_t3480,v033496);
          bool _t3A79#1 = Inside<IMAGE2D<int>,2>(x3A77,_t3480);
          goto JOIN3A7D
        JOIN3A7D:  preds = [ASSIGN3A7A,ASSIGN690D]
          bool _t3A7B#1 = phi(_t3A79,_t3A7C)
          if _t3A7B then goto ASSIGN3A80 else goto JOIN3C22
        ASSIGN3A80:  preds = [COND3A7E]
          real2 nd3A7F#2 = Floor<2>(x3A72);
          real2 f3A81#2 = Sub<real2>(x3A72,nd3A7F);
          int{2} n3A83#2 = RealToInt<2>(nd3A7F);
          int t13A85#4 = -1;
          int t23A87#1 = Index<int{2},0>(n3A83);
          int ix3A89#4 = Add<int>(t13A85,t23A87);
          int t23A8B#4 = Index<int{2},1>(n3A83);
          int iy3A8D#1 = Add<int>(t13A85,t23A8B);
          int n03A90#8 = 21;
          int t3A91#1 = Mul<int>(n03A90,iy3A8D);
          int index3A92#1 = Add<int>(ix3A89,t3A91);
          addr(IMAGE2D<float>) imgBaseAddr3A93#4 = ImageAddress<IMAGE2D<float>>(_t3484);
          addr(IMAGE2D<float>) a3A8F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3A93,index3A92);
          real4 v03A99#1 = LoadVoxels<IMAGE2D<float>,4>(a3A8F);
          int iy3A9B#1 = Add<int>(_t353B,t23A8B);
          int t3A9F#1 = Mul<int>(n03A90,iy3A9B);
          int index3AA0#1 = Add<int>(ix3A89,t3A9F);
          addr(IMAGE2D<float>) a3A9D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3A93,index3AA0);
          real4 v13AA7#1 = LoadVoxels<IMAGE2D<float>,4>(a3A9D);
          int iy3AA9#1 = Add<int>(_t353F,t23A8B);
          int t3AAD#1 = Mul<int>(n03A90,iy3AA9);
          int index3AAE#1 = Add<int>(ix3A89,t3AAD);
          addr(IMAGE2D<float>) a3AAB#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3A93,index3AAE);
          real4 v23AB5#1 = LoadVoxels<IMAGE2D<float>,4>(a3AAB);
          int iy3AB7#1 = Add<int>(_t3517,t23A8B);
          int t3ABB#1 = Mul<int>(n03A90,iy3AB7);
          int index3ABC#1 = Add<int>(ix3A89,t3ABB);
          addr(IMAGE2D<float>) a3AB9#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3A93,index3ABC);
          real4 v33AC3#1 = LoadVoxels<IMAGE2D<float>,4>(a3AB9);
          real fy3AC5#4 = Index<real2,1>(f3A81);
          real t33AC7#1 = Add<real>(fy3AC5,_t3513);
          real t13AC9#1 = Sub<real>(fy3AC5,_t3513);
          real t03ACB#1 = Sub<real>(fy3AC5,_t3515);
          real4 a3ACD#3 = <real4>[t33AC7,fy3AC5,t13AC9,t03ACB];
          real _f3AE0#2 = 0.133333333333e1;
          real _f3AE1#2 = 0.666666666667e0;
          real4 a03AD0#4 = <real4>[_f3AE0,_f3AE1,_f3AE1,_f3AE0];
          real _f3ADC#1 = -0.2e1;
          real _f3ADD#2 = 0.0;
          real4 a13AD1#4 = <real4>[_f3ADC,_f3ADD,_f3ADD,_t3515];
          real _f3AD9#2 = -0.1e1;
          real4 a23AD2#4 = <real4>[_t3513,_f3AD9,_f3AD9,_t3513];
          real _f3AD4#1 = -0.166666666667e0;
          real _f3AD5#1 = 0.5e0;
          real _f3AD6#1 = -0.5e0;
          real _f3AD7#1 = 0.166666666667e0;
          real4 a33AD3#4 = <real4>[_f3AD4,_f3AD5,_f3AD6,_f3AD7];
          real4 prod33AE4#1 = Mul<real4>(a3ACD,a33AD3);
          real4 sum23AE5#1 = Add<real4>(a23AD2,prod33AE4);
          real4 prod23AE6#1 = Mul<real4>(a3ACD,sum23AE5);
          real4 sum13AE7#1 = Add<real4>(a13AD1,prod23AE6);
          real4 prod13AE8#1 = Mul<real4>(a3ACD,sum13AE7);
          real4 hy3ACF#1 = Add<real4>(a03AD0,prod13AE8);
          real fx3B03#4 = Index<real2,0>(f3A81);
          real t33B05#1 = Add<real>(fx3B03,_t3513);
          real t13B07#1 = Sub<real>(fx3B03,_t3513);
          real t03B09#1 = Sub<real>(fx3B03,_t3515);
          real4 a3B0B#3 = <real4>[t33B05,fx3B03,t13B07,t03B09];
          real4 prod33B22#1 = Mul<real4>(a3B0B,a33AD3);
          real4 sum23B23#1 = Add<real4>(a23AD2,prod33B22);
          real4 prod23B24#1 = Mul<real4>(a3B0B,sum23B23);
          real4 sum13B25#1 = Add<real4>(a13AD1,prod23B24);
          real4 prod13B26#1 = Mul<real4>(a3B0B,sum13B25);
          real4 hx3B0D#4 = Add<real4>(a03AD0,prod13B26);
          real t03B41#1 = Dot<4>(v03A99,hx3B0D);
          real t13B43#1 = Dot<4>(v13AA7,hx3B0D);
          real t23B45#1 = Dot<4>(v23AB5,hx3B0D);
          real t33B47#1 = Dot<4>(v33AC3,hx3B0D);
          real4 tv3B49#1 = <real4>[t03B41,t13B43,t23B45,t33B47];
          real _t3B4B#1 = Dot<4>(hy3ACF,tv3B49);
          real2 x3B4D#2 = PosToImgSpace<IMAGE2D<int>>(_t3480,v033496);
          real2 nd3B4F#2 = Floor<2>(x3B4D);
          real2 f3B51#2 = Sub<real2>(x3B4D,nd3B4F);
          int{2} n3B53#2 = RealToInt<2>(nd3B4F);
          int t23B55#1 = Index<int{2},0>(n3B53);
          int ix3B57#4 = Add<int>(t13A85,t23B55);
          int t23B59#4 = Index<int{2},1>(n3B53);
          int iy3B5B#1 = Add<int>(t13A85,t23B59);
          int t3B5F#1 = Mul<int>(n03A90,iy3B5B);
          int index3B60#1 = Add<int>(ix3B57,t3B5F);
          addr(IMAGE2D<int>) imgBaseAddr3B61#4 = ImageAddress<IMAGE2D<int>>(_t3480);
          addr(IMAGE2D<int>) a3B5D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B61,index3B60);
          real4 v03B67#1 = LoadVoxels<IMAGE2D<int>,4>(a3B5D);
          int iy3B69#1 = Add<int>(_t353B,t23B59);
          int t3B6D#1 = Mul<int>(n03A90,iy3B69);
          int index3B6E#1 = Add<int>(ix3B57,t3B6D);
          addr(IMAGE2D<int>) a3B6B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B61,index3B6E);
          real4 v13B75#1 = LoadVoxels<IMAGE2D<int>,4>(a3B6B);
          int iy3B77#1 = Add<int>(_t353F,t23B59);
          int t3B7B#1 = Mul<int>(n03A90,iy3B77);
          int index3B7C#1 = Add<int>(ix3B57,t3B7B);
          addr(IMAGE2D<int>) a3B79#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B61,index3B7C);
          real4 v23B83#1 = LoadVoxels<IMAGE2D<int>,4>(a3B79);
          int iy3B85#1 = Add<int>(_t3517,t23B59);
          int t3B89#1 = Mul<int>(n03A90,iy3B85);
          int index3B8A#1 = Add<int>(ix3B57,t3B89);
          addr(IMAGE2D<int>) a3B87#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3B61,index3B8A);
          real4 v33B91#1 = LoadVoxels<IMAGE2D<int>,4>(a3B87);
          real fy3B93#4 = Index<real2,1>(f3B51);
          real t33B95#1 = Add<real>(fy3B93,_t3513);
          real t13B97#1 = Sub<real>(fy3B93,_t3513);
          real t03B99#1 = Sub<real>(fy3B93,_t3515);
          real4 a3B9B#3 = <real4>[t33B95,fy3B93,t13B97,t03B99];
          real4 prod33BB2#1 = Mul<real4>(a3B9B,a33AD3);
          real4 sum23BB3#1 = Add<real4>(a23AD2,prod33BB2);
          real4 prod23BB4#1 = Mul<real4>(a3B9B,sum23BB3);
          real4 sum13BB5#1 = Add<real4>(a13AD1,prod23BB4);
          real4 prod13BB6#1 = Mul<real4>(a3B9B,sum13BB5);
          real4 hy3B9D#1 = Add<real4>(a03AD0,prod13BB6);
          real fx3BD1#4 = Index<real2,0>(f3B51);
          real t33BD3#1 = Add<real>(fx3BD1,_t3513);
          real t13BD5#1 = Sub<real>(fx3BD1,_t3513);
          real t03BD7#1 = Sub<real>(fx3BD1,_t3515);
          real4 a3BD9#3 = <real4>[t33BD3,fx3BD1,t13BD5,t03BD7];
          real4 prod33BF0#1 = Mul<real4>(a3BD9,a33AD3);
          real4 sum23BF1#1 = Add<real4>(a23AD2,prod33BF0);
          real4 prod23BF2#1 = Mul<real4>(a3BD9,sum23BF1);
          real4 sum13BF3#1 = Add<real4>(a13AD1,prod23BF2);
          real4 prod13BF4#1 = Mul<real4>(a3BD9,sum13BF3);
          real4 hx3BDB#4 = Add<real4>(a03AD0,prod13BF4);
          real t03C0F#1 = Dot<4>(v03B67,hx3BDB);
          real t13C11#1 = Dot<4>(v13B75,hx3BDB);
          real t23C13#1 = Dot<4>(v23B83,hx3BDB);
          real t33C15#1 = Dot<4>(v33B91,hx3BDB);
          real4 tv3C17#1 = <real4>[t03C0F,t13C11,t23C13,t33C15];
          real _t3C19#1 = Dot<4>(hy3B9D,tv3C17);
          real _t3C1B#2 = Sub<real>(_t3B4B,_t3C19);
          real _t3C1D#1 = Mul<real>(_t3C1B,_t3C1B);
          real score3C1F#1 = Add<real>(score3A68,_t3C1D);
          goto JOIN3C22
        JOIN3C22:  preds = [ASSIGN3C20,COND3A7E]
          real score3C21#2 = phi(score3C1F,score3A68)
          real _t3C23#1 = Dot<2>(r0352D,v043498);
          real _t3C25#1 = Dot<2>(r13533,v043498);
          real2 _t3C27#1 = <real2>[_t3C23,_t3C25];
          real2 pos3C29#1 = Add<real2>(_t3C27,_t3543);
          real2 x3C2B#3 = PosToImgSpace<IMAGE2D<float>>(_t3484,pos3C29);
          bool _t3C2D#1 = Inside<IMAGE2D<float>,2>(x3C2B,_t3484);
          if _t3C2D then goto ASSIGN3C31 else goto ASSIGN690C
        ASSIGN3C31:  preds = [COND3C2F]
          real2 x3C30#1 = PosToImgSpace<IMAGE2D<int>>(_t3480,v043498);
          bool _t3C32#1 = Inside<IMAGE2D<int>,2>(x3C30,_t3480);
          goto JOIN3C36
        JOIN3C36:  preds = [ASSIGN3C33,ASSIGN690C]
          bool _t3C34#1 = phi(_t3C32,_t3C35)
          if _t3C34 then goto ASSIGN3C39 else goto JOIN3DDB
        ASSIGN3C39:  preds = [COND3C37]
          real2 nd3C38#2 = Floor<2>(x3C2B);
          real2 f3C3A#2 = Sub<real2>(x3C2B,nd3C38);
          int{2} n3C3C#2 = RealToInt<2>(nd3C38);
          int t13C3E#4 = -1;
          int t23C40#1 = Index<int{2},0>(n3C3C);
          int ix3C42#4 = Add<int>(t13C3E,t23C40);
          int t23C44#4 = Index<int{2},1>(n3C3C);
          int iy3C46#1 = Add<int>(t13C3E,t23C44);
          int n03C49#8 = 21;
          int t3C4A#1 = Mul<int>(n03C49,iy3C46);
          int index3C4B#1 = Add<int>(ix3C42,t3C4A);
          addr(IMAGE2D<float>) imgBaseAddr3C4C#4 = ImageAddress<IMAGE2D<float>>(_t3484);
          addr(IMAGE2D<float>) a3C48#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3C4C,index3C4B);
          real4 v03C52#1 = LoadVoxels<IMAGE2D<float