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

SCM Repository

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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2402 - (download) (annotate)
Sat Jul 27 13:55:03 2013 UTC (6 years, 1 month ago) by jhr
File size: 1058802 byte(s)
  Create branch for adding OpenCL to vis12 branch.  Based on r2401 of the vis12 branch.
/* 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 = [0.0, 0.0];
vec2 v01 = [0.0, 0.25e0];
vec2 v02 = [0.0, 0.5e0];
vec2 v03 = [0.0, unary -<$[]> (0.25e0)];
vec2 v04 = [0.0, unary -<$[]> (0.5e0)];
vec2 v05 = [0.25e0, 0.0];
vec2 v06 = [0.25e0, 0.25e0];
vec2 v07 = [0.25e0, 0.5e0];
vec2 v08 = [0.25e0, unary -<$[]> (0.25e0)];
vec2 v09 = [0.25e0, unary -<$[]> (0.5e0)];
vec2 v10 = [0.5e0, 0.0];
vec2 v11 = [0.5e0, 0.25e0];
vec2 v12 = [0.5e0, 0.5e0];
vec2 v13 = [0.5e0, unary -<$[]> (0.25e0)];
vec2 v14 = [0.5e0, unary -<$[]> (0.5e0)];
vec2 v15 = [unary -<$[]> (0.25e0), 0.0];
vec2 v16 = [unary -<$[]> (0.25e0), 0.25e0];
vec2 v17 = [unary -<$[]> (0.25e0), 0.5e0];
vec2 v18 = [unary -<$[]> (0.25e0), unary -<$[]> (0.25e0)];
vec2 v19 = [unary -<$[]> (0.25e0), unary -<$[]> (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))));
      }
    stabilize;
    }
  
  Stabilize
  {
  }
  
}
/* Program end */
/* Simplified Program start */
{
  field#2(2)[] T00A3;
  field#2(2)[] F00AC;
  vec2 v0000B5;
  vec2 v0100B6;
  vec2 v0200B7;
  vec2 v0300B8;
  vec2 v0400BA;
  vec2 v0500BC;
  vec2 v0600BD;
  vec2 v0700BE;
  vec2 v0800BF;
  vec2 v0900C1;
  vec2 v1000C3;
  vec2 v1100C4;
  vec2 v1200C5;
  vec2 v1300C6;
  vec2 v1400C8;
  vec2 v1500CA;
  vec2 v1600CC;
  vec2 v1700CE;
  vec2 v1800D0;
  vec2 v1900D3;
  _t034B = bspln30095 ();
  _t034C = "square-template.nrrd";
  _t034D = load0080<%2; $[]> (_t034C);
  T00A3 = ⊛003A<#2; %2; $[]> (_t034B, _t034D);
  _t034E = bspln30095 ();
  _t034F = "square-rotate.nrrd";
  _t0350 = load0080<%2; $[]> (_t034F);
  F00AC = ⊛003A<#2; %2; $[]> (_t034E, _t0350);
  _t0351 = 0.0;
  _t0352 = 0.0;
  v0000B5 = [_t0351, _t0352];
  _t0353 = 0.0;
  _t0354 = 0.25e0;
  v0100B6 = [_t0353, _t0354];
  _t0355 = 0.0;
  _t0356 = 0.5e0;
  v0200B7 = [_t0355, _t0356];
  _t0357 = 0.0;
  _t0358 = 0.25e0;
  _t0359 = unary -004D<$[]> (_t0358);
  v0300B8 = [_t0357, _t0359];
  _t035A = 0.0;
  _t035B = 0.5e0;
  _t035C = unary -004D<$[]> (_t035B);
  v0400BA = [_t035A, _t035C];
  _t035D = 0.25e0;
  _t035E = 0.0;
  v0500BC = [_t035D, _t035E];
  _t035F = 0.25e0;
  _t0360 = 0.25e0;
  v0600BD = [_t035F, _t0360];
  _t0361 = 0.25e0;
  _t0362 = 0.5e0;
  v0700BE = [_t0361, _t0362];
  _t0363 = 0.25e0;
  _t0364 = 0.25e0;
  _t0365 = unary -004D<$[]> (_t0364);
  v0800BF = [_t0363, _t0365];
  _t0366 = 0.25e0;
  _t0367 = 0.5e0;
  _t0368 = unary -004D<$[]> (_t0367);
  v0900C1 = [_t0366, _t0368];
  _t0369 = 0.5e0;
  _t036A = 0.0;
  v1000C3 = [_t0369, _t036A];
  _t036B = 0.5e0;
  _t036C = 0.25e0;
  v1100C4 = [_t036B, _t036C];
  _t036D = 0.5e0;
  _t036E = 0.5e0;
  v1200C5 = [_t036D, _t036E];
  _t036F = 0.5e0;
  _t0370 = 0.25e0;
  _t0371 = unary -004D<$[]> (_t0370);
  v1300C6 = [_t036F, _t0371];
  _t0372 = 0.5e0;
  _t0373 = 0.5e0;
  _t0374 = unary -004D<$[]> (_t0373);
  v1400C8 = [_t0372, _t0374];
  _t0375 = 0.25e0;
  _t0376 = unary -004D<$[]> (_t0375);
  _t0377 = 0.0;
  v1500CA = [_t0376, _t0377];
  _t0378 = 0.25e0;
  _t0379 = unary -004D<$[]> (_t0378);
  _t037A = 0.25e0;
  v1600CC = [_t0379, _t037A];
  _t037B = 0.25e0;
  _t037C = unary -004D<$[]> (_t037B);
  _t037D = 0.5e0;
  v1700CE = [_t037C, _t037D];
  _t037E = 0.25e0;
  _t037F = unary -004D<$[]> (_t037E);
  _t0380 = 0.25e0;
  _t0381 = unary -004D<$[]> (_t0380);
  v1800D0 = [_t037F, _t0381];
  _t0382 = 0.25e0;
  _t0383 = unary -004D<$[]> (_t0382);
  _t0384 = 0.5e0;
  _t0385 = unary -004D<$[]> (_t0384);
  v1900D3 = [_t0383, _t0385];
}
Array
  {
    _t051C = 0;
    _t051D = 60;
    _t051E = 0;
    _t051F = 60;
    _t0520 = 0;
    _t0521 = 60;
  }
  for int i0348 = _t051C .. _t051D
    for int j0349 = _t051E .. _t051F
      for int k034A = _t0520 .. _t0521
        { }
        new R(i0348, j0349, k034A);
strand R (int i00D8, int j00D7, int k00D6)
{{
    vec3 t00D9;
    output real score00DD;
    vec2 r000DE;
    vec2 r100DF;
    vec2 pos00E0;
    _t0386 = $i2r009B (i00D8);
    _t0387 = 0.60e2;
    _t0388 = /002A (_t0386, _t0387);
    _t0389 = 0.5e0;
    _t038A = -0016<$[]> (_t0388, _t0389);
    _t038B = $i2r009B (j00D7);
    _t038C = 0.60e2;
    _t038D = /002A (_t038B, _t038C);
    _t038E = 0.5e0;
    _t038F = -0016<$[]> (_t038D, _t038E);
    _t0390 = $i2r009B (k00D6);
    _t0391 = 0.60e2;
    _t0392 = /002A (_t0390, _t0391);
    _t0393 = 0.5e0;
    _t0394 = -0016<$[]> (_t0392, _t0393);
    t00D9 = [_t038A, _t038F, _t0394];
    score00DD = 0.0;
    _t0395 = 0.0;
    _t0396 = 0.0;
    r000DE = [_t0395, _t0396];
    _t0397 = 0.0;
    _t0398 = 0.0;
    r100DF = [_t0397, _t0398];
    _t0399 = 0.0;
    _t039A = 0.0;
    pos00E0 = [_t0399, _t039A];
  }
  Update
  {
    _t039B = 0.1e1;
    _t039C = 0.2e1;
    _t039D = 2;
    _t039E = t00D9[_t039D];
    _t039F = *001C (_t039C, _t039E);
    _t03A0 = 2;
    _t03A1 = t00D9[_t03A0];
    _t03A2 = *001C (_t039F, _t03A1);
    _t03A3 = -0016<$[]> (_t039B, _t03A2);
    _t03A4 = 0.2e1;
    _t03A5 = unary -004D<$[]> (_t03A4);
    _t03A6 = 0.1e1;
    _t03A7 = 2;
    _t03A8 = t00D9[_t03A7];
    _t03A9 = 2;
    _t03AA = t00D9[_t03A9];
    _t03AB = *001C (_t03A8, _t03AA);
    _t03AC = -0016<$[]> (_t03A6, _t03AB);
    _t03AD = sqrt0091 (_t03AC);
    _t03AE = *001C (_t03A5, _t03AD);
    _t03AF = 2;
    _t03B0 = t00D9[_t03AF];
    _t03B1 = *001C (_t03AE, _t03B0);
    r000DE = [_t03A3, _t03B1];
    _t03B2 = 0.2e1;
    _t03B3 = 0.1e1;
    _t03B4 = 2;
    _t03B5 = t00D9[_t03B4];
    _t03B6 = 2;
    _t03B7 = t00D9[_t03B6];
    _t03B8 = *001C (_t03B5, _t03B7);
    _t03B9 = -0016<$[]> (_t03B3, _t03B8);
    _t03BA = sqrt0091 (_t03B9);
    _t03BB = *001C (_t03B2, _t03BA);
    _t03BC = 2;
    _t03BD = t00D9[_t03BC];
    _t03BE = *001C (_t03BB, _t03BD);
    _t03BF = 0.1e1;
    _t03C0 = 0.2e1;
    _t03C1 = 2;
    _t03C2 = t00D9[_t03C1];
    _t03C3 = *001C (_t03C0, _t03C2);
    _t03C4 = 2;
    _t03C5 = t00D9[_t03C4];
    _t03C6 = *001C (_t03C3, _t03C5);
    _t03C7 = -0016<$[]> (_t03BF, _t03C6);
    r100DF = [_t03BE, _t03C7];
    _t03C8 = •0079<$[2]; $[2]; $[]> (r000DE, v0000B5);
    _t03C9 = •0079<$[2]; $[2]; $[]> (r100DF, v0000B5);
    _t03CA = [_t03C8, _t03C9];
    _t03CB = 0;
    _t03CC = t00D9[_t03CB];
    _t03CD = 1;
    _t03CE = t00D9[_t03CD];
    _t03CF = [_t03CC, _t03CE];
    pos00E0 = +000F<$[2]> (_t03CA, _t03CF);
    bool _t03D0;
    _t03D1 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t03D1
      _t03D0 = inside007D<#2; %2; $[]> (v0000B5, T00A3);
    else
      _t03D0 = false;
    if _t03D0 {
      _t03D2 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03D3 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t03D4 = -0016<$[]> (_t03D2, _t03D3);
      _t03D5 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03D6 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t03D7 = -0016<$[]> (_t03D5, _t03D6);
      _t03D8 = *001C (_t03D4, _t03D7);
      score00DD = +000F<$[]> (score00DD, _t03D8);
    }
    _t03D9 = •0079<$[2]; $[2]; $[]> (r000DE, v0100B6);
    _t03DA = •0079<$[2]; $[2]; $[]> (r100DF, v0100B6);
    _t03DB = [_t03D9, _t03DA];
    _t03DC = 0;
    _t03DD = t00D9[_t03DC];
    _t03DE = 1;
    _t03DF = t00D9[_t03DE];
    _t03E0 = [_t03DD, _t03DF];
    pos00E0 = +000F<$[2]> (_t03DB, _t03E0);
    bool _t03E1;
    _t03E2 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t03E2
      _t03E1 = inside007D<#2; %2; $[]> (v0100B6, T00A3);
    else
      _t03E1 = false;
    if _t03E1 {
      _t03E3 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03E4 = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t03E5 = -0016<$[]> (_t03E3, _t03E4);
      _t03E6 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03E7 = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t03E8 = -0016<$[]> (_t03E6, _t03E7);
      _t03E9 = *001C (_t03E5, _t03E8);
      score00DD = +000F<$[]> (score00DD, _t03E9);
    }
    _t03EA = •0079<$[2]; $[2]; $[]> (r000DE, v0200B7);
    _t03EB = •0079<$[2]; $[2]; $[]> (r100DF, v0200B7);
    _t03EC = [_t03EA, _t03EB];
    _t03ED = 0;
    _t03EE = t00D9[_t03ED];
    _t03EF = 1;
    _t03F0 = t00D9[_t03EF];
    _t03F1 = [_t03EE, _t03F0];
    pos00E0 = +000F<$[2]> (_t03EC, _t03F1);
    bool _t03F2;
    _t03F3 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t03F3
      _t03F2 = inside007D<#2; %2; $[]> (v0200B7, T00A3);
    else
      _t03F2 = false;
    if _t03F2 {
      _t03F4 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03F5 = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t03F6 = -0016<$[]> (_t03F4, _t03F5);
      _t03F7 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03F8 = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t03F9 = -0016<$[]> (_t03F7, _t03F8);
      _t03FA = *001C (_t03F6, _t03F9);
      score00DD = +000F<$[]> (score00DD, _t03FA);
    }
    _t03FB = •0079<$[2]; $[2]; $[]> (r000DE, v0300B8);
    _t03FC = •0079<$[2]; $[2]; $[]> (r100DF, v0300B8);
    _t03FD = [_t03FB, _t03FC];
    _t03FE = 0;
    _t03FF = t00D9[_t03FE];
    _t0400 = 1;
    _t0401 = t00D9[_t0400];
    _t0402 = [_t03FF, _t0401];
    pos00E0 = +000F<$[2]> (_t03FD, _t0402);
    bool _t0403;
    _t0404 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0404
      _t0403 = inside007D<#2; %2; $[]> (v0300B8, T00A3);
    else
      _t0403 = false;
    if _t0403 {
      _t0405 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0406 = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t0407 = -0016<$[]> (_t0405, _t0406);
      _t0408 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0409 = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t040A = -0016<$[]> (_t0408, _t0409);
      _t040B = *001C (_t0407, _t040A);
      score00DD = +000F<$[]> (score00DD, _t040B);
    }
    _t040C = •0079<$[2]; $[2]; $[]> (r000DE, v0400BA);
    _t040D = •0079<$[2]; $[2]; $[]> (r100DF, v0400BA);
    _t040E = [_t040C, _t040D];
    _t040F = 0;
    _t0410 = t00D9[_t040F];
    _t0411 = 1;
    _t0412 = t00D9[_t0411];
    _t0413 = [_t0410, _t0412];
    pos00E0 = +000F<$[2]> (_t040E, _t0413);
    bool _t0414;
    _t0415 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0415
      _t0414 = inside007D<#2; %2; $[]> (v0400BA, T00A3);
    else
      _t0414 = false;
    if _t0414 {
      _t0416 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0417 = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t0418 = -0016<$[]> (_t0416, _t0417);
      _t0419 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t041A = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t041B = -0016<$[]> (_t0419, _t041A);
      _t041C = *001C (_t0418, _t041B);
      score00DD = +000F<$[]> (score00DD, _t041C);
    }
    _t041D = •0079<$[2]; $[2]; $[]> (r000DE, v0500BC);
    _t041E = •0079<$[2]; $[2]; $[]> (r100DF, v0500BC);
    _t041F = [_t041D, _t041E];
    _t0420 = 0;
    _t0421 = t00D9[_t0420];
    _t0422 = 1;
    _t0423 = t00D9[_t0422];
    _t0424 = [_t0421, _t0423];
    pos00E0 = +000F<$[2]> (_t041F, _t0424);
    bool _t0425;
    _t0426 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0426
      _t0425 = inside007D<#2; %2; $[]> (v0500BC, T00A3);
    else
      _t0425 = false;
    if _t0425 {
      _t0427 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0428 = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t0429 = -0016<$[]> (_t0427, _t0428);
      _t042A = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t042B = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t042C = -0016<$[]> (_t042A, _t042B);
      _t042D = *001C (_t0429, _t042C);
      score00DD = +000F<$[]> (score00DD, _t042D);
    }
    _t042E = •0079<$[2]; $[2]; $[]> (r000DE, v0600BD);
    _t042F = •0079<$[2]; $[2]; $[]> (r100DF, v0600BD);
    _t0430 = [_t042E, _t042F];
    _t0431 = 0;
    _t0432 = t00D9[_t0431];
    _t0433 = 1;
    _t0434 = t00D9[_t0433];
    _t0435 = [_t0432, _t0434];
    pos00E0 = +000F<$[2]> (_t0430, _t0435);
    bool _t0436;
    _t0437 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0437
      _t0436 = inside007D<#2; %2; $[]> (v0600BD, T00A3);
    else
      _t0436 = false;
    if _t0436 {
      _t0438 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0439 = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t043A = -0016<$[]> (_t0438, _t0439);
      _t043B = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t043C = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t043D = -0016<$[]> (_t043B, _t043C);
      _t043E = *001C (_t043A, _t043D);
      score00DD = +000F<$[]> (score00DD, _t043E);
    }
    _t043F = •0079<$[2]; $[2]; $[]> (r000DE, v0700BE);
    _t0440 = •0079<$[2]; $[2]; $[]> (r100DF, v0700BE);
    _t0441 = [_t043F, _t0440];
    _t0442 = 0;
    _t0443 = t00D9[_t0442];
    _t0444 = 1;
    _t0445 = t00D9[_t0444];
    _t0446 = [_t0443, _t0445];
    pos00E0 = +000F<$[2]> (_t0441, _t0446);
    bool _t0447;
    _t0448 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0448
      _t0447 = inside007D<#2; %2; $[]> (v0700BE, T00A3);
    else
      _t0447 = false;
    if _t0447 {
      _t0449 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t044A = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t044B = -0016<$[]> (_t0449, _t044A);
      _t044C = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t044D = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t044E = -0016<$[]> (_t044C, _t044D);
      _t044F = *001C (_t044B, _t044E);
      score00DD = +000F<$[]> (score00DD, _t044F);
    }
    _t0450 = •0079<$[2]; $[2]; $[]> (r000DE, v0800BF);
    _t0451 = •0079<$[2]; $[2]; $[]> (r100DF, v0800BF);
    _t0452 = [_t0450, _t0451];
    _t0453 = 0;
    _t0454 = t00D9[_t0453];
    _t0455 = 1;
    _t0456 = t00D9[_t0455];
    _t0457 = [_t0454, _t0456];
    pos00E0 = +000F<$[2]> (_t0452, _t0457);
    bool _t0458;
    _t0459 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0459
      _t0458 = inside007D<#2; %2; $[]> (v0800BF, T00A3);
    else
      _t0458 = false;
    if _t0458 {
      _t045A = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t045B = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t045C = -0016<$[]> (_t045A, _t045B);
      _t045D = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t045E = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t045F = -0016<$[]> (_t045D, _t045E);
      _t0460 = *001C (_t045C, _t045F);
      score00DD = +000F<$[]> (score00DD, _t0460);
    }
    _t0461 = •0079<$[2]; $[2]; $[]> (r000DE, v0900C1);
    _t0462 = •0079<$[2]; $[2]; $[]> (r100DF, v0900C1);
    _t0463 = [_t0461, _t0462];
    _t0464 = 0;
    _t0465 = t00D9[_t0464];
    _t0466 = 1;
    _t0467 = t00D9[_t0466];
    _t0468 = [_t0465, _t0467];
    pos00E0 = +000F<$[2]> (_t0463, _t0468);
    bool _t0469;
    _t046A = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t046A
      _t0469 = inside007D<#2; %2; $[]> (v0900C1, T00A3);
    else
      _t0469 = false;
    if _t0469 {
      _t046B = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t046C = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t046D = -0016<$[]> (_t046B, _t046C);
      _t046E = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t046F = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t0470 = -0016<$[]> (_t046E, _t046F);
      _t0471 = *001C (_t046D, _t0470);
      score00DD = +000F<$[]> (score00DD, _t0471);
    }
    _t0472 = •0079<$[2]; $[2]; $[]> (r000DE, v1000C3);
    _t0473 = •0079<$[2]; $[2]; $[]> (r100DF, v1000C3);
    _t0474 = [_t0472, _t0473];
    _t0475 = 0;
    _t0476 = t00D9[_t0475];
    _t0477 = 1;
    _t0478 = t00D9[_t0477];
    _t0479 = [_t0476, _t0478];
    pos00E0 = +000F<$[2]> (_t0474, _t0479);
    bool _t047A;
    _t047B = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t047B
      _t047A = inside007D<#2; %2; $[]> (v1000C3, T00A3);
    else
      _t047A = false;
    if _t047A {
      _t047C = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t047D = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t047E = -0016<$[]> (_t047C, _t047D);
      _t047F = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0480 = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t0481 = -0016<$[]> (_t047F, _t0480);
      _t0482 = *001C (_t047E, _t0481);
      score00DD = +000F<$[]> (score00DD, _t0482);
    }
    _t0483 = •0079<$[2]; $[2]; $[]> (r000DE, v1100C4);
    _t0484 = •0079<$[2]; $[2]; $[]> (r100DF, v1100C4);
    _t0485 = [_t0483, _t0484];
    _t0486 = 0;
    _t0487 = t00D9[_t0486];
    _t0488 = 1;
    _t0489 = t00D9[_t0488];
    _t048A = [_t0487, _t0489];
    pos00E0 = +000F<$[2]> (_t0485, _t048A);
    bool _t048B;
    _t048C = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t048C
      _t048B = inside007D<#2; %2; $[]> (v1100C4, T00A3);
    else
      _t048B = false;
    if _t048B {
      _t048D = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t048E = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t048F = -0016<$[]> (_t048D, _t048E);
      _t0490 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0491 = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t0492 = -0016<$[]> (_t0490, _t0491);
      _t0493 = *001C (_t048F, _t0492);
      score00DD = +000F<$[]> (score00DD, _t0493);
    }
    _t0494 = •0079<$[2]; $[2]; $[]> (r000DE, v1200C5);
    _t0495 = •0079<$[2]; $[2]; $[]> (r100DF, v1200C5);
    _t0496 = [_t0494, _t0495];
    _t0497 = 0;
    _t0498 = t00D9[_t0497];
    _t0499 = 1;
    _t049A = t00D9[_t0499];
    _t049B = [_t0498, _t049A];
    pos00E0 = +000F<$[2]> (_t0496, _t049B);
    bool _t049C;
    _t049D = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t049D
      _t049C = inside007D<#2; %2; $[]> (v1200C5, T00A3);
    else
      _t049C = false;
    if _t049C {
      _t049E = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t049F = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t04A0 = -0016<$[]> (_t049E, _t049F);
      _t04A1 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04A2 = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t04A3 = -0016<$[]> (_t04A1, _t04A2);
      _t04A4 = *001C (_t04A0, _t04A3);
      score00DD = +000F<$[]> (score00DD, _t04A4);
    }
    _t04A5 = •0079<$[2]; $[2]; $[]> (r000DE, v1300C6);
    _t04A6 = •0079<$[2]; $[2]; $[]> (r100DF, v1300C6);
    _t04A7 = [_t04A5, _t04A6];
    _t04A8 = 0;
    _t04A9 = t00D9[_t04A8];
    _t04AA = 1;
    _t04AB = t00D9[_t04AA];
    _t04AC = [_t04A9, _t04AB];
    pos00E0 = +000F<$[2]> (_t04A7, _t04AC);
    bool _t04AD;
    _t04AE = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04AE
      _t04AD = inside007D<#2; %2; $[]> (v1300C6, T00A3);
    else
      _t04AD = false;
    if _t04AD {
      _t04AF = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04B0 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t04B1 = -0016<$[]> (_t04AF, _t04B0);
      _t04B2 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04B3 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t04B4 = -0016<$[]> (_t04B2, _t04B3);
      _t04B5 = *001C (_t04B1, _t04B4);
      score00DD = +000F<$[]> (score00DD, _t04B5);
    }
    _t04B6 = •0079<$[2]; $[2]; $[]> (r000DE, v1400C8);
    _t04B7 = •0079<$[2]; $[2]; $[]> (r100DF, v1400C8);
    _t04B8 = [_t04B6, _t04B7];
    _t04B9 = 0;
    _t04BA = t00D9[_t04B9];
    _t04BB = 1;
    _t04BC = t00D9[_t04BB];
    _t04BD = [_t04BA, _t04BC];
    pos00E0 = +000F<$[2]> (_t04B8, _t04BD);
    bool _t04BE;
    _t04BF = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04BF
      _t04BE = inside007D<#2; %2; $[]> (v1400C8, T00A3);
    else
      _t04BE = false;
    if _t04BE {
      _t04C0 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04C1 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t04C2 = -0016<$[]> (_t04C0, _t04C1);
      _t04C3 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04C4 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t04C5 = -0016<$[]> (_t04C3, _t04C4);
      _t04C6 = *001C (_t04C2, _t04C5);
      score00DD = +000F<$[]> (score00DD, _t04C6);
    }
    _t04C7 = •0079<$[2]; $[2]; $[]> (r000DE, v1500CA);
    _t04C8 = •0079<$[2]; $[2]; $[]> (r100DF, v1500CA);
    _t04C9 = [_t04C7, _t04C8];
    _t04CA = 0;
    _t04CB = t00D9[_t04CA];
    _t04CC = 1;
    _t04CD = t00D9[_t04CC];
    _t04CE = [_t04CB, _t04CD];
    pos00E0 = +000F<$[2]> (_t04C9, _t04CE);
    bool _t04CF;
    _t04D0 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04D0
      _t04CF = inside007D<#2; %2; $[]> (v1500CA, T00A3);
    else
      _t04CF = false;
    if _t04CF {
      _t04D1 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04D2 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t04D3 = -0016<$[]> (_t04D1, _t04D2);
      _t04D4 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04D5 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t04D6 = -0016<$[]> (_t04D4, _t04D5);
      _t04D7 = *001C (_t04D3, _t04D6);
      score00DD = +000F<$[]> (score00DD, _t04D7);
    }
    _t04D8 = •0079<$[2]; $[2]; $[]> (r000DE, v1600CC);
    _t04D9 = •0079<$[2]; $[2]; $[]> (r100DF, v1600CC);
    _t04DA = [_t04D8, _t04D9];
    _t04DB = 0;
    _t04DC = t00D9[_t04DB];
    _t04DD = 1;
    _t04DE = t00D9[_t04DD];
    _t04DF = [_t04DC, _t04DE];
    pos00E0 = +000F<$[2]> (_t04DA, _t04DF);
    bool _t04E0;
    _t04E1 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04E1
      _t04E0 = inside007D<#2; %2; $[]> (v1600CC, T00A3);
    else
      _t04E0 = false;
    if _t04E0 {
      _t04E2 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04E3 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t04E4 = -0016<$[]> (_t04E2, _t04E3);
      _t04E5 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04E6 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t04E7 = -0016<$[]> (_t04E5, _t04E6);
      _t04E8 = *001C (_t04E4, _t04E7);
      score00DD = +000F<$[]> (score00DD, _t04E8);
    }
    _t04E9 = •0079<$[2]; $[2]; $[]> (r000DE, v1700CE);
    _t04EA = •0079<$[2]; $[2]; $[]> (r100DF, v1700CE);
    _t04EB = [_t04E9, _t04EA];
    _t04EC = 0;
    _t04ED = t00D9[_t04EC];
    _t04EE = 1;
    _t04EF = t00D9[_t04EE];
    _t04F0 = [_t04ED, _t04EF];
    pos00E0 = +000F<$[2]> (_t04EB, _t04F0);
    bool _t04F1;
    _t04F2 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04F2
      _t04F1 = inside007D<#2; %2; $[]> (v1700CE, T00A3);
    else
      _t04F1 = false;
    if _t04F1 {
      _t04F3 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04F4 = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t04F5 = -0016<$[]> (_t04F3, _t04F4);
      _t04F6 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04F7 = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t04F8 = -0016<$[]> (_t04F6, _t04F7);
      _t04F9 = *001C (_t04F5, _t04F8);
      score00DD = +000F<$[]> (score00DD, _t04F9);
    }
    _t04FA = •0079<$[2]; $[2]; $[]> (r000DE, v1800D0);
    _t04FB = •0079<$[2]; $[2]; $[]> (r100DF, v1800D0);
    _t04FC = [_t04FA, _t04FB];
    _t04FD = 0;
    _t04FE = t00D9[_t04FD];
    _t04FF = 1;
    _t0500 = t00D9[_t04FF];
    _t0501 = [_t04FE, _t0500];
    pos00E0 = +000F<$[2]> (_t04FC, _t0501);
    bool _t0502;
    _t0503 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0503
      _t0502 = inside007D<#2; %2; $[]> (v1800D0, T00A3);
    else
      _t0502 = false;
    if _t0502 {
      _t0504 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0505 = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t0506 = -0016<$[]> (_t0504, _t0505);
      _t0507 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0508 = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t0509 = -0016<$[]> (_t0507, _t0508);
      _t050A = *001C (_t0506, _t0509);
      score00DD = +000F<$[]> (score00DD, _t050A);
    }
    _t050B = •0079<$[2]; $[2]; $[]> (r000DE, v1900D3);
    _t050C = •0079<$[2]; $[2]; $[]> (r100DF, v1900D3);
    _t050D = [_t050B, _t050C];
    _t050E = 0;
    _t050F = t00D9[_t050E];
    _t0510 = 1;
    _t0511 = t00D9[_t0510];
    _t0512 = [_t050F, _t0511];
    pos00E0 = +000F<$[2]> (_t050D, _t0512);
    bool _t0513;
    _t0514 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0514
      _t0513 = inside007D<#2; %2; $[]> (v1900D3, T00A3);
    else
      _t0513 = false;
    if _t0513 {
      _t0515 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0516 = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t0517 = -0016<$[]> (_t0515, _t0516);
      _t0518 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0519 = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t051A = -0016<$[]> (_t0518, _t0519);
      _t051B = *001C (_t0517, _t051A);
      score00DD = +000F<$[]> (score00DD, _t051B);
    }
    stabilize;
  }
  Stabilize
  { }
}
/* Program end */
**** static variables:  _t034C _t034D _t034F _t0350
eval assignment: _t034C = "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: _t034D = IMAGE2D<int>
eval assignment: _t034F = "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: _t0350 = IMAGE2D<float>
eval assignment: _t0351 = 0.0
eval assignment: _t0352 = 0.0
eval assignment: v0000B5 = tensor
eval assignment: _t0353 = 0.0
eval assignment: _t0354 = 0.25
eval assignment: v0100B6 = tensor
eval assignment: _t0355 = 0.0
eval assignment: _t0356 = 0.5
eval assignment: v0200B7 = tensor
eval assignment: _t0357 = 0.0
eval assignment: _t0358 = 0.25
eval assignment: _t035A = 0.0
eval assignment: _t035B = 0.5
eval assignment: _t035D = 0.25
eval assignment: _t035E = 0.0
eval assignment: v0500BC = tensor
eval assignment: _t035F = 0.25
eval assignment: _t0360 = 0.25
eval assignment: v0600BD = tensor
eval assignment: _t0361 = 0.25
eval assignment: _t0362 = 0.5
eval assignment: v0700BE = tensor
eval assignment: _t0363 = 0.25
eval assignment: _t0364 = 0.25
eval assignment: _t0366 = 0.25
eval assignment: _t0367 = 0.5
eval assignment: _t0369 = 0.5
eval assignment: _t036A = 0.0
eval assignment: v1000C3 = tensor
eval assignment: _t036B = 0.5
eval assignment: _t036C = 0.25
eval assignment: v1100C4 = tensor
eval assignment: _t036D = 0.5
eval assignment: _t036E = 0.5
eval assignment: v1200C5 = tensor
eval assignment: _t036F = 0.5
eval assignment: _t0370 = 0.25
eval assignment: _t0372 = 0.5
eval assignment: _t0373 = 0.5
eval assignment: _t0375 = 0.25
eval assignment: _t0377 = 0.0
eval assignment: _t0378 = 0.25
eval assignment: _t037A = 0.25
eval assignment: _t037B = 0.25
eval assignment: _t037D = 0.5
eval assignment: _t037E = 0.25
eval assignment: _t0380 = 0.25
eval assignment: _t0382 = 0.25
eval assignment: _t0384 = 0.5
/* Simplified Program start */
{
  field#2(2)[] T00A3;
  field#2(2)[] F00AC;
  vec2 v0000B5;
  vec2 v0100B6;
  vec2 v0200B7;
  vec2 v0300B8;
  vec2 v0400BA;
  vec2 v0500BC;
  vec2 v0600BD;
  vec2 v0700BE;
  vec2 v0800BF;
  vec2 v0900C1;
  vec2 v1000C3;
  vec2 v1100C4;
  vec2 v1200C5;
  vec2 v1300C6;
  vec2 v1400C8;
  vec2 v1500CA;
  vec2 v1600CC;
  vec2 v1700CE;
  vec2 v1800D0;
  vec2 v1900D3;
  _t034B = bspln30095 ();
  _t034C = "square-template.nrrd";
  _t034D = load (IMAGE2D<int> ,_t034C);
  T00A3 = ⊛003A<#2; %2; $[]> (_t034B, _t034D);
  _t034E = bspln30095 ();
  _t034F = "square-rotate.nrrd";
  _t0350 = load (IMAGE2D<float> ,_t034F);
  F00AC = ⊛003A<#2; %2; $[]> (_t034E, _t0350);
  _t0351 = 0.0;
  _t0352 = 0.0;
  v0000B5 = [_t0351, _t0352];
  _t0353 = 0.0;
  _t0354 = 0.25e0;
  v0100B6 = [_t0353, _t0354];
  _t0355 = 0.0;
  _t0356 = 0.5e0;
  v0200B7 = [_t0355, _t0356];
  _t0357 = 0.0;
  _t0358 = 0.25e0;
  _t0359 = unary -004D<$[]> (_t0358);
  v0300B8 = [_t0357, _t0359];
  _t035A = 0.0;
  _t035B = 0.5e0;
  _t035C = unary -004D<$[]> (_t035B);
  v0400BA = [_t035A, _t035C];
  _t035D = 0.25e0;
  _t035E = 0.0;
  v0500BC = [_t035D, _t035E];
  _t035F = 0.25e0;
  _t0360 = 0.25e0;
  v0600BD = [_t035F, _t0360];
  _t0361 = 0.25e0;
  _t0362 = 0.5e0;
  v0700BE = [_t0361, _t0362];
  _t0363 = 0.25e0;
  _t0364 = 0.25e0;
  _t0365 = unary -004D<$[]> (_t0364);
  v0800BF = [_t0363, _t0365];
  _t0366 = 0.25e0;
  _t0367 = 0.5e0;
  _t0368 = unary -004D<$[]> (_t0367);
  v0900C1 = [_t0366, _t0368];
  _t0369 = 0.5e0;
  _t036A = 0.0;
  v1000C3 = [_t0369, _t036A];
  _t036B = 0.5e0;
  _t036C = 0.25e0;
  v1100C4 = [_t036B, _t036C];
  _t036D = 0.5e0;
  _t036E = 0.5e0;
  v1200C5 = [_t036D, _t036E];
  _t036F = 0.5e0;
  _t0370 = 0.25e0;
  _t0371 = unary -004D<$[]> (_t0370);
  v1300C6 = [_t036F, _t0371];
  _t0372 = 0.5e0;
  _t0373 = 0.5e0;
  _t0374 = unary -004D<$[]> (_t0373);
  v1400C8 = [_t0372, _t0374];
  _t0375 = 0.25e0;
  _t0376 = unary -004D<$[]> (_t0375);
  _t0377 = 0.0;
  v1500CA = [_t0376, _t0377];
  _t0378 = 0.25e0;
  _t0379 = unary -004D<$[]> (_t0378);
  _t037A = 0.25e0;
  v1600CC = [_t0379, _t037A];
  _t037B = 0.25e0;
  _t037C = unary -004D<$[]> (_t037B);
  _t037D = 0.5e0;
  v1700CE = [_t037C, _t037D];
  _t037E = 0.25e0;
  _t037F = unary -004D<$[]> (_t037E);
  _t0380 = 0.25e0;
  _t0381 = unary -004D<$[]> (_t0380);
  v1800D0 = [_t037F, _t0381];
  _t0382 = 0.25e0;
  _t0383 = unary -004D<$[]> (_t0382);
  _t0384 = 0.5e0;
  _t0385 = unary -004D<$[]> (_t0384);
  v1900D3 = [_t0383, _t0385];
}
Array
  {
    _t051C = 0;
    _t051D = 60;
    _t051E = 0;
    _t051F = 60;
    _t0520 = 0;
    _t0521 = 60;
  }
  for int i0348 = _t051C .. _t051D
    for int j0349 = _t051E .. _t051F
      for int k034A = _t0520 .. _t0521
        { }
        new R(i0348, j0349, k034A);
strand R (int i00D8, int j00D7, int k00D6)
{{
    vec3 t00D9;
    output real score00DD;
    vec2 r000DE;
    vec2 r100DF;
    vec2 pos00E0;
    _t0386 = $i2r009B (i00D8);
    _t0387 = 0.60e2;
    _t0388 = /002A (_t0386, _t0387);
    _t0389 = 0.5e0;
    _t038A = -0016<$[]> (_t0388, _t0389);
    _t038B = $i2r009B (j00D7);
    _t038C = 0.60e2;
    _t038D = /002A (_t038B, _t038C);
    _t038E = 0.5e0;
    _t038F = -0016<$[]> (_t038D, _t038E);
    _t0390 = $i2r009B (k00D6);
    _t0391 = 0.60e2;
    _t0392 = /002A (_t0390, _t0391);
    _t0393 = 0.5e0;
    _t0394 = -0016<$[]> (_t0392, _t0393);
    t00D9 = [_t038A, _t038F, _t0394];
    score00DD = 0.0;
    _t0395 = 0.0;
    _t0396 = 0.0;
    r000DE = [_t0395, _t0396];
    _t0397 = 0.0;
    _t0398 = 0.0;
    r100DF = [_t0397, _t0398];
    _t0399 = 0.0;
    _t039A = 0.0;
    pos00E0 = [_t0399, _t039A];
  }
  Update
  {
    _t039B = 0.1e1;
    _t039C = 0.2e1;
    _t039D = 2;
    _t039E = t00D9[_t039D];
    _t039F = *001C (_t039C, _t039E);
    _t03A0 = 2;
    _t03A1 = t00D9[_t03A0];
    _t03A2 = *001C (_t039F, _t03A1);
    _t03A3 = -0016<$[]> (_t039B, _t03A2);
    _t03A4 = 0.2e1;
    _t03A5 = unary -004D<$[]> (_t03A4);
    _t03A6 = 0.1e1;
    _t03A7 = 2;
    _t03A8 = t00D9[_t03A7];
    _t03A9 = 2;
    _t03AA = t00D9[_t03A9];
    _t03AB = *001C (_t03A8, _t03AA);
    _t03AC = -0016<$[]> (_t03A6, _t03AB);
    _t03AD = sqrt0091 (_t03AC);
    _t03AE = *001C (_t03A5, _t03AD);
    _t03AF = 2;
    _t03B0 = t00D9[_t03AF];
    _t03B1 = *001C (_t03AE, _t03B0);
    r000DE = [_t03A3, _t03B1];
    _t03B2 = 0.2e1;
    _t03B3 = 0.1e1;
    _t03B4 = 2;
    _t03B5 = t00D9[_t03B4];
    _t03B6 = 2;
    _t03B7 = t00D9[_t03B6];
    _t03B8 = *001C (_t03B5, _t03B7);
    _t03B9 = -0016<$[]> (_t03B3, _t03B8);
    _t03BA = sqrt0091 (_t03B9);
    _t03BB = *001C (_t03B2, _t03BA);
    _t03BC = 2;
    _t03BD = t00D9[_t03BC];
    _t03BE = *001C (_t03BB, _t03BD);
    _t03BF = 0.1e1;
    _t03C0 = 0.2e1;
    _t03C1 = 2;
    _t03C2 = t00D9[_t03C1];
    _t03C3 = *001C (_t03C0, _t03C2);
    _t03C4 = 2;
    _t03C5 = t00D9[_t03C4];
    _t03C6 = *001C (_t03C3, _t03C5);
    _t03C7 = -0016<$[]> (_t03BF, _t03C6);
    r100DF = [_t03BE, _t03C7];
    _t03C8 = •0079<$[2]; $[2]; $[]> (r000DE, v0000B5);
    _t03C9 = •0079<$[2]; $[2]; $[]> (r100DF, v0000B5);
    _t03CA = [_t03C8, _t03C9];
    _t03CB = 0;
    _t03CC = t00D9[_t03CB];
    _t03CD = 1;
    _t03CE = t00D9[_t03CD];
    _t03CF = [_t03CC, _t03CE];
    pos00E0 = +000F<$[2]> (_t03CA, _t03CF);
    bool _t03D0;
    _t03D1 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t03D1
      _t03D0 = inside007D<#2; %2; $[]> (v0000B5, T00A3);
    else
      _t03D0 = false;
    if _t03D0 {
      _t03D2 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03D3 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t03D4 = -0016<$[]> (_t03D2, _t03D3);
      _t03D5 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03D6 = @0060<#2; %2; $[]> (T00A3, v0000B5);
      _t03D7 = -0016<$[]> (_t03D5, _t03D6);
      _t03D8 = *001C (_t03D4, _t03D7);
      score00DD = +000F<$[]> (score00DD, _t03D8);
    }
    _t03D9 = •0079<$[2]; $[2]; $[]> (r000DE, v0100B6);
    _t03DA = •0079<$[2]; $[2]; $[]> (r100DF, v0100B6);
    _t03DB = [_t03D9, _t03DA];
    _t03DC = 0;
    _t03DD = t00D9[_t03DC];
    _t03DE = 1;
    _t03DF = t00D9[_t03DE];
    _t03E0 = [_t03DD, _t03DF];
    pos00E0 = +000F<$[2]> (_t03DB, _t03E0);
    bool _t03E1;
    _t03E2 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t03E2
      _t03E1 = inside007D<#2; %2; $[]> (v0100B6, T00A3);
    else
      _t03E1 = false;
    if _t03E1 {
      _t03E3 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03E4 = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t03E5 = -0016<$[]> (_t03E3, _t03E4);
      _t03E6 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03E7 = @0060<#2; %2; $[]> (T00A3, v0100B6);
      _t03E8 = -0016<$[]> (_t03E6, _t03E7);
      _t03E9 = *001C (_t03E5, _t03E8);
      score00DD = +000F<$[]> (score00DD, _t03E9);
    }
    _t03EA = •0079<$[2]; $[2]; $[]> (r000DE, v0200B7);
    _t03EB = •0079<$[2]; $[2]; $[]> (r100DF, v0200B7);
    _t03EC = [_t03EA, _t03EB];
    _t03ED = 0;
    _t03EE = t00D9[_t03ED];
    _t03EF = 1;
    _t03F0 = t00D9[_t03EF];
    _t03F1 = [_t03EE, _t03F0];
    pos00E0 = +000F<$[2]> (_t03EC, _t03F1);
    bool _t03F2;
    _t03F3 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t03F3
      _t03F2 = inside007D<#2; %2; $[]> (v0200B7, T00A3);
    else
      _t03F2 = false;
    if _t03F2 {
      _t03F4 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03F5 = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t03F6 = -0016<$[]> (_t03F4, _t03F5);
      _t03F7 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t03F8 = @0060<#2; %2; $[]> (T00A3, v0200B7);
      _t03F9 = -0016<$[]> (_t03F7, _t03F8);
      _t03FA = *001C (_t03F6, _t03F9);
      score00DD = +000F<$[]> (score00DD, _t03FA);
    }
    _t03FB = •0079<$[2]; $[2]; $[]> (r000DE, v0300B8);
    _t03FC = •0079<$[2]; $[2]; $[]> (r100DF, v0300B8);
    _t03FD = [_t03FB, _t03FC];
    _t03FE = 0;
    _t03FF = t00D9[_t03FE];
    _t0400 = 1;
    _t0401 = t00D9[_t0400];
    _t0402 = [_t03FF, _t0401];
    pos00E0 = +000F<$[2]> (_t03FD, _t0402);
    bool _t0403;
    _t0404 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0404
      _t0403 = inside007D<#2; %2; $[]> (v0300B8, T00A3);
    else
      _t0403 = false;
    if _t0403 {
      _t0405 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0406 = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t0407 = -0016<$[]> (_t0405, _t0406);
      _t0408 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0409 = @0060<#2; %2; $[]> (T00A3, v0300B8);
      _t040A = -0016<$[]> (_t0408, _t0409);
      _t040B = *001C (_t0407, _t040A);
      score00DD = +000F<$[]> (score00DD, _t040B);
    }
    _t040C = •0079<$[2]; $[2]; $[]> (r000DE, v0400BA);
    _t040D = •0079<$[2]; $[2]; $[]> (r100DF, v0400BA);
    _t040E = [_t040C, _t040D];
    _t040F = 0;
    _t0410 = t00D9[_t040F];
    _t0411 = 1;
    _t0412 = t00D9[_t0411];
    _t0413 = [_t0410, _t0412];
    pos00E0 = +000F<$[2]> (_t040E, _t0413);
    bool _t0414;
    _t0415 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0415
      _t0414 = inside007D<#2; %2; $[]> (v0400BA, T00A3);
    else
      _t0414 = false;
    if _t0414 {
      _t0416 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0417 = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t0418 = -0016<$[]> (_t0416, _t0417);
      _t0419 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t041A = @0060<#2; %2; $[]> (T00A3, v0400BA);
      _t041B = -0016<$[]> (_t0419, _t041A);
      _t041C = *001C (_t0418, _t041B);
      score00DD = +000F<$[]> (score00DD, _t041C);
    }
    _t041D = •0079<$[2]; $[2]; $[]> (r000DE, v0500BC);
    _t041E = •0079<$[2]; $[2]; $[]> (r100DF, v0500BC);
    _t041F = [_t041D, _t041E];
    _t0420 = 0;
    _t0421 = t00D9[_t0420];
    _t0422 = 1;
    _t0423 = t00D9[_t0422];
    _t0424 = [_t0421, _t0423];
    pos00E0 = +000F<$[2]> (_t041F, _t0424);
    bool _t0425;
    _t0426 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0426
      _t0425 = inside007D<#2; %2; $[]> (v0500BC, T00A3);
    else
      _t0425 = false;
    if _t0425 {
      _t0427 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0428 = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t0429 = -0016<$[]> (_t0427, _t0428);
      _t042A = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t042B = @0060<#2; %2; $[]> (T00A3, v0500BC);
      _t042C = -0016<$[]> (_t042A, _t042B);
      _t042D = *001C (_t0429, _t042C);
      score00DD = +000F<$[]> (score00DD, _t042D);
    }
    _t042E = •0079<$[2]; $[2]; $[]> (r000DE, v0600BD);
    _t042F = •0079<$[2]; $[2]; $[]> (r100DF, v0600BD);
    _t0430 = [_t042E, _t042F];
    _t0431 = 0;
    _t0432 = t00D9[_t0431];
    _t0433 = 1;
    _t0434 = t00D9[_t0433];
    _t0435 = [_t0432, _t0434];
    pos00E0 = +000F<$[2]> (_t0430, _t0435);
    bool _t0436;
    _t0437 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0437
      _t0436 = inside007D<#2; %2; $[]> (v0600BD, T00A3);
    else
      _t0436 = false;
    if _t0436 {
      _t0438 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0439 = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t043A = -0016<$[]> (_t0438, _t0439);
      _t043B = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t043C = @0060<#2; %2; $[]> (T00A3, v0600BD);
      _t043D = -0016<$[]> (_t043B, _t043C);
      _t043E = *001C (_t043A, _t043D);
      score00DD = +000F<$[]> (score00DD, _t043E);
    }
    _t043F = •0079<$[2]; $[2]; $[]> (r000DE, v0700BE);
    _t0440 = •0079<$[2]; $[2]; $[]> (r100DF, v0700BE);
    _t0441 = [_t043F, _t0440];
    _t0442 = 0;
    _t0443 = t00D9[_t0442];
    _t0444 = 1;
    _t0445 = t00D9[_t0444];
    _t0446 = [_t0443, _t0445];
    pos00E0 = +000F<$[2]> (_t0441, _t0446);
    bool _t0447;
    _t0448 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0448
      _t0447 = inside007D<#2; %2; $[]> (v0700BE, T00A3);
    else
      _t0447 = false;
    if _t0447 {
      _t0449 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t044A = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t044B = -0016<$[]> (_t0449, _t044A);
      _t044C = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t044D = @0060<#2; %2; $[]> (T00A3, v0700BE);
      _t044E = -0016<$[]> (_t044C, _t044D);
      _t044F = *001C (_t044B, _t044E);
      score00DD = +000F<$[]> (score00DD, _t044F);
    }
    _t0450 = •0079<$[2]; $[2]; $[]> (r000DE, v0800BF);
    _t0451 = •0079<$[2]; $[2]; $[]> (r100DF, v0800BF);
    _t0452 = [_t0450, _t0451];
    _t0453 = 0;
    _t0454 = t00D9[_t0453];
    _t0455 = 1;
    _t0456 = t00D9[_t0455];
    _t0457 = [_t0454, _t0456];
    pos00E0 = +000F<$[2]> (_t0452, _t0457);
    bool _t0458;
    _t0459 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0459
      _t0458 = inside007D<#2; %2; $[]> (v0800BF, T00A3);
    else
      _t0458 = false;
    if _t0458 {
      _t045A = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t045B = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t045C = -0016<$[]> (_t045A, _t045B);
      _t045D = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t045E = @0060<#2; %2; $[]> (T00A3, v0800BF);
      _t045F = -0016<$[]> (_t045D, _t045E);
      _t0460 = *001C (_t045C, _t045F);
      score00DD = +000F<$[]> (score00DD, _t0460);
    }
    _t0461 = •0079<$[2]; $[2]; $[]> (r000DE, v0900C1);
    _t0462 = •0079<$[2]; $[2]; $[]> (r100DF, v0900C1);
    _t0463 = [_t0461, _t0462];
    _t0464 = 0;
    _t0465 = t00D9[_t0464];
    _t0466 = 1;
    _t0467 = t00D9[_t0466];
    _t0468 = [_t0465, _t0467];
    pos00E0 = +000F<$[2]> (_t0463, _t0468);
    bool _t0469;
    _t046A = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t046A
      _t0469 = inside007D<#2; %2; $[]> (v0900C1, T00A3);
    else
      _t0469 = false;
    if _t0469 {
      _t046B = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t046C = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t046D = -0016<$[]> (_t046B, _t046C);
      _t046E = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t046F = @0060<#2; %2; $[]> (T00A3, v0900C1);
      _t0470 = -0016<$[]> (_t046E, _t046F);
      _t0471 = *001C (_t046D, _t0470);
      score00DD = +000F<$[]> (score00DD, _t0471);
    }
    _t0472 = •0079<$[2]; $[2]; $[]> (r000DE, v1000C3);
    _t0473 = •0079<$[2]; $[2]; $[]> (r100DF, v1000C3);
    _t0474 = [_t0472, _t0473];
    _t0475 = 0;
    _t0476 = t00D9[_t0475];
    _t0477 = 1;
    _t0478 = t00D9[_t0477];
    _t0479 = [_t0476, _t0478];
    pos00E0 = +000F<$[2]> (_t0474, _t0479);
    bool _t047A;
    _t047B = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t047B
      _t047A = inside007D<#2; %2; $[]> (v1000C3, T00A3);
    else
      _t047A = false;
    if _t047A {
      _t047C = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t047D = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t047E = -0016<$[]> (_t047C, _t047D);
      _t047F = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0480 = @0060<#2; %2; $[]> (T00A3, v1000C3);
      _t0481 = -0016<$[]> (_t047F, _t0480);
      _t0482 = *001C (_t047E, _t0481);
      score00DD = +000F<$[]> (score00DD, _t0482);
    }
    _t0483 = •0079<$[2]; $[2]; $[]> (r000DE, v1100C4);
    _t0484 = •0079<$[2]; $[2]; $[]> (r100DF, v1100C4);
    _t0485 = [_t0483, _t0484];
    _t0486 = 0;
    _t0487 = t00D9[_t0486];
    _t0488 = 1;
    _t0489 = t00D9[_t0488];
    _t048A = [_t0487, _t0489];
    pos00E0 = +000F<$[2]> (_t0485, _t048A);
    bool _t048B;
    _t048C = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t048C
      _t048B = inside007D<#2; %2; $[]> (v1100C4, T00A3);
    else
      _t048B = false;
    if _t048B {
      _t048D = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t048E = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t048F = -0016<$[]> (_t048D, _t048E);
      _t0490 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0491 = @0060<#2; %2; $[]> (T00A3, v1100C4);
      _t0492 = -0016<$[]> (_t0490, _t0491);
      _t0493 = *001C (_t048F, _t0492);
      score00DD = +000F<$[]> (score00DD, _t0493);
    }
    _t0494 = •0079<$[2]; $[2]; $[]> (r000DE, v1200C5);
    _t0495 = •0079<$[2]; $[2]; $[]> (r100DF, v1200C5);
    _t0496 = [_t0494, _t0495];
    _t0497 = 0;
    _t0498 = t00D9[_t0497];
    _t0499 = 1;
    _t049A = t00D9[_t0499];
    _t049B = [_t0498, _t049A];
    pos00E0 = +000F<$[2]> (_t0496, _t049B);
    bool _t049C;
    _t049D = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t049D
      _t049C = inside007D<#2; %2; $[]> (v1200C5, T00A3);
    else
      _t049C = false;
    if _t049C {
      _t049E = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t049F = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t04A0 = -0016<$[]> (_t049E, _t049F);
      _t04A1 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04A2 = @0060<#2; %2; $[]> (T00A3, v1200C5);
      _t04A3 = -0016<$[]> (_t04A1, _t04A2);
      _t04A4 = *001C (_t04A0, _t04A3);
      score00DD = +000F<$[]> (score00DD, _t04A4);
    }
    _t04A5 = •0079<$[2]; $[2]; $[]> (r000DE, v1300C6);
    _t04A6 = •0079<$[2]; $[2]; $[]> (r100DF, v1300C6);
    _t04A7 = [_t04A5, _t04A6];
    _t04A8 = 0;
    _t04A9 = t00D9[_t04A8];
    _t04AA = 1;
    _t04AB = t00D9[_t04AA];
    _t04AC = [_t04A9, _t04AB];
    pos00E0 = +000F<$[2]> (_t04A7, _t04AC);
    bool _t04AD;
    _t04AE = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04AE
      _t04AD = inside007D<#2; %2; $[]> (v1300C6, T00A3);
    else
      _t04AD = false;
    if _t04AD {
      _t04AF = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04B0 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t04B1 = -0016<$[]> (_t04AF, _t04B0);
      _t04B2 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04B3 = @0060<#2; %2; $[]> (T00A3, v1300C6);
      _t04B4 = -0016<$[]> (_t04B2, _t04B3);
      _t04B5 = *001C (_t04B1, _t04B4);
      score00DD = +000F<$[]> (score00DD, _t04B5);
    }
    _t04B6 = •0079<$[2]; $[2]; $[]> (r000DE, v1400C8);
    _t04B7 = •0079<$[2]; $[2]; $[]> (r100DF, v1400C8);
    _t04B8 = [_t04B6, _t04B7];
    _t04B9 = 0;
    _t04BA = t00D9[_t04B9];
    _t04BB = 1;
    _t04BC = t00D9[_t04BB];
    _t04BD = [_t04BA, _t04BC];
    pos00E0 = +000F<$[2]> (_t04B8, _t04BD);
    bool _t04BE;
    _t04BF = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04BF
      _t04BE = inside007D<#2; %2; $[]> (v1400C8, T00A3);
    else
      _t04BE = false;
    if _t04BE {
      _t04C0 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04C1 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t04C2 = -0016<$[]> (_t04C0, _t04C1);
      _t04C3 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04C4 = @0060<#2; %2; $[]> (T00A3, v1400C8);
      _t04C5 = -0016<$[]> (_t04C3, _t04C4);
      _t04C6 = *001C (_t04C2, _t04C5);
      score00DD = +000F<$[]> (score00DD, _t04C6);
    }
    _t04C7 = •0079<$[2]; $[2]; $[]> (r000DE, v1500CA);
    _t04C8 = •0079<$[2]; $[2]; $[]> (r100DF, v1500CA);
    _t04C9 = [_t04C7, _t04C8];
    _t04CA = 0;
    _t04CB = t00D9[_t04CA];
    _t04CC = 1;
    _t04CD = t00D9[_t04CC];
    _t04CE = [_t04CB, _t04CD];
    pos00E0 = +000F<$[2]> (_t04C9, _t04CE);
    bool _t04CF;
    _t04D0 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04D0
      _t04CF = inside007D<#2; %2; $[]> (v1500CA, T00A3);
    else
      _t04CF = false;
    if _t04CF {
      _t04D1 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04D2 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t04D3 = -0016<$[]> (_t04D1, _t04D2);
      _t04D4 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04D5 = @0060<#2; %2; $[]> (T00A3, v1500CA);
      _t04D6 = -0016<$[]> (_t04D4, _t04D5);
      _t04D7 = *001C (_t04D3, _t04D6);
      score00DD = +000F<$[]> (score00DD, _t04D7);
    }
    _t04D8 = •0079<$[2]; $[2]; $[]> (r000DE, v1600CC);
    _t04D9 = •0079<$[2]; $[2]; $[]> (r100DF, v1600CC);
    _t04DA = [_t04D8, _t04D9];
    _t04DB = 0;
    _t04DC = t00D9[_t04DB];
    _t04DD = 1;
    _t04DE = t00D9[_t04DD];
    _t04DF = [_t04DC, _t04DE];
    pos00E0 = +000F<$[2]> (_t04DA, _t04DF);
    bool _t04E0;
    _t04E1 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04E1
      _t04E0 = inside007D<#2; %2; $[]> (v1600CC, T00A3);
    else
      _t04E0 = false;
    if _t04E0 {
      _t04E2 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04E3 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t04E4 = -0016<$[]> (_t04E2, _t04E3);
      _t04E5 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04E6 = @0060<#2; %2; $[]> (T00A3, v1600CC);
      _t04E7 = -0016<$[]> (_t04E5, _t04E6);
      _t04E8 = *001C (_t04E4, _t04E7);
      score00DD = +000F<$[]> (score00DD, _t04E8);
    }
    _t04E9 = •0079<$[2]; $[2]; $[]> (r000DE, v1700CE);
    _t04EA = •0079<$[2]; $[2]; $[]> (r100DF, v1700CE);
    _t04EB = [_t04E9, _t04EA];
    _t04EC = 0;
    _t04ED = t00D9[_t04EC];
    _t04EE = 1;
    _t04EF = t00D9[_t04EE];
    _t04F0 = [_t04ED, _t04EF];
    pos00E0 = +000F<$[2]> (_t04EB, _t04F0);
    bool _t04F1;
    _t04F2 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t04F2
      _t04F1 = inside007D<#2; %2; $[]> (v1700CE, T00A3);
    else
      _t04F1 = false;
    if _t04F1 {
      _t04F3 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04F4 = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t04F5 = -0016<$[]> (_t04F3, _t04F4);
      _t04F6 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t04F7 = @0060<#2; %2; $[]> (T00A3, v1700CE);
      _t04F8 = -0016<$[]> (_t04F6, _t04F7);
      _t04F9 = *001C (_t04F5, _t04F8);
      score00DD = +000F<$[]> (score00DD, _t04F9);
    }
    _t04FA = •0079<$[2]; $[2]; $[]> (r000DE, v1800D0);
    _t04FB = •0079<$[2]; $[2]; $[]> (r100DF, v1800D0);
    _t04FC = [_t04FA, _t04FB];
    _t04FD = 0;
    _t04FE = t00D9[_t04FD];
    _t04FF = 1;
    _t0500 = t00D9[_t04FF];
    _t0501 = [_t04FE, _t0500];
    pos00E0 = +000F<$[2]> (_t04FC, _t0501);
    bool _t0502;
    _t0503 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0503
      _t0502 = inside007D<#2; %2; $[]> (v1800D0, T00A3);
    else
      _t0502 = false;
    if _t0502 {
      _t0504 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0505 = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t0506 = -0016<$[]> (_t0504, _t0505);
      _t0507 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0508 = @0060<#2; %2; $[]> (T00A3, v1800D0);
      _t0509 = -0016<$[]> (_t0507, _t0508);
      _t050A = *001C (_t0506, _t0509);
      score00DD = +000F<$[]> (score00DD, _t050A);
    }
    _t050B = •0079<$[2]; $[2]; $[]> (r000DE, v1900D3);
    _t050C = •0079<$[2]; $[2]; $[]> (r100DF, v1900D3);
    _t050D = [_t050B, _t050C];
    _t050E = 0;
    _t050F = t00D9[_t050E];
    _t0510 = 1;
    _t0511 = t00D9[_t0510];
    _t0512 = [_t050F, _t0511];
    pos00E0 = +000F<$[2]> (_t050D, _t0512);
    bool _t0513;
    _t0514 = inside007D<#2; %2; $[]> (pos00E0, F00AC);
    if _t0514
      _t0513 = inside007D<#2; %2; $[]> (v1900D3, T00A3);
    else
      _t0513 = false;
    if _t0513 {
      _t0515 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0516 = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t0517 = -0016<$[]> (_t0515, _t0516);
      _t0518 = @0060<#2; %2; $[]> (F00AC, pos00E0);
      _t0519 = @0060<#2; %2; $[]> (T00A3, v1900D3);
      _t051A = -0016<$[]> (_t0518, _t0519);
      _t051B = *001C (_t0517, _t051A);
      score00DD = +000F<$[]> (score00DD, _t051B);
    }
    stabilize;
  }
  Stabilize
  { }
}
/* Program end */
##### HighIL after translation to HighIL ####
## properties
  none
## globals
  global field T0528#60
  global field F0530#60
  global tensor[2] v000536#5
  global tensor[2] v01053C#5
  global tensor[2] v020542#5
  global tensor[2] v03054A#5
  global tensor[2] v040552#5
  global tensor[2] v050558#5
  global tensor[2] v06055E#5
  global tensor[2] v070564#5
  global tensor[2] v08056C#5
  global tensor[2] v090574#5
  global tensor[2] v10057A#5
  global tensor[2] v110580#5
  global tensor[2] v120586#5
  global tensor[2] v13058E#5
  global tensor[2] v140596#5
  global tensor[2] v15059E#5
  global tensor[2] v1605A6#5
  global tensor[2] v1705AE#5
  global tensor[2] v1805B8#5
  global tensor[2] v1905C2#5
  global kernel _t0522#1
  global string _t0524#1
  global image2D _t0526#1
  global kernel _t052A#1
  global string _t052C#1
  global image2D _t052E#1
  global real _t0532#1
  global real _t0534#1
  global real _t0538#1
  global real _t053A#1
  global real _t053E#1
  global real _t0540#1
  global real _t0544#1
  global real _t0546#1
  global real _t0548#1
  global real _t054C#1
  global real _t054E#1
  global real _t0550#1
  global real _t0554#1
  global real _t0556#1
  global real _t055A#1
  global real _t055C#1
  global real _t0560#1
  global real _t0562#1
  global real _t0566#1
  global real _t0568#1
  global real _t056A#1
  global real _t056E#1
  global real _t0570#1
  global real _t0572#1
  global real _t0576#1
  global real _t0578#1
  global real _t057C#1
  global real _t057E#1
  global real _t0582#1
  global real _t0584#1
  global real _t0588#1
  global real _t058A#1
  global real _t058C#1
  global real _t0590#1
  global real _t0592#1
  global real _t0594#1
  global real _t0598#1
  global real _t059A#1
  global real _t059C#1
  global real _t05A0#1
  global real _t05A2#1
  global real _t05A4#1
  global real _t05A8#1
  global real _t05AA#1
  global real _t05AC#1
  global real _t05B0#1
  global real _t05B2#1
  global real _t05B4#1
  global real _t05B6#1
  global real _t05BA#1
  global real _t05BC#1
  global real _t05BE#1
  global real _t05C0#1
## global initialization
  ENTRY05C4:  preds = []
    kernel _t0522#1 = Kernel<bspln3,0>;
    string _t0524#1 = "square-template.nrrd";
    image2D _t0526#1 = LoadImage<IMAGE2D<int>>(_t0524);
    field T0528#60 = Field<2>(_t0526,_t0522);
    kernel _t052A#1 = Kernel<bspln3,0>;
    string _t052C#1 = "square-rotate.nrrd";
    image2D _t052E#1 = LoadImage<IMAGE2D<float>>(_t052C);
    field F0530#60 = Field<2>(_t052E,_t052A);
    real _t0532#1 = 0.0;
    real _t0534#1 = 0.0;
    tensor[2] v000536#5 = <tensor[2]>[_t0532,_t0534];
    real _t0538#1 = 0.0;
    real _t053A#1 = 0.25e0;
    tensor[2] v01053C#5 = <tensor[2]>[_t0538,_t053A];
    real _t053E#1 = 0.0;
    real _t0540#1 = 0.5e0;
    tensor[2] v020542#5 = <tensor[2]>[_t053E,_t0540];
    real _t0544#1 = 0.0;
    real _t0546#1 = 0.25e0;
    real _t0548#1 = Neg<real>(_t0546);
    tensor[2] v03054A#5 = <tensor[2]>[_t0544,_t0548];
    real _t054C#1 = 0.0;
    real _t054E#1 = 0.5e0;
    real _t0550#1 = Neg<real>(_t054E);
    tensor[2] v040552#5 = <tensor[2]>[_t054C,_t0550];
    real _t0554#1 = 0.25e0;
    real _t0556#1 = 0.0;
    tensor[2] v050558#5 = <tensor[2]>[_t0554,_t0556];
    real _t055A#1 = 0.25e0;
    real _t055C#1 = 0.25e0;
    tensor[2] v06055E#5 = <tensor[2]>[_t055A,_t055C];
    real _t0560#1 = 0.25e0;
    real _t0562#1 = 0.5e0;
    tensor[2] v070564#5 = <tensor[2]>[_t0560,_t0562];
    real _t0566#1 = 0.25e0;
    real _t0568#1 = 0.25e0;
    real _t056A#1 = Neg<real>(_t0568);
    tensor[2] v08056C#5 = <tensor[2]>[_t0566,_t056A];
    real _t056E#1 = 0.25e0;
    real _t0570#1 = 0.5e0;
    real _t0572#1 = Neg<real>(_t0570);
    tensor[2] v090574#5 = <tensor[2]>[_t056E,_t0572];
    real _t0576#1 = 0.5e0;
    real _t0578#1 = 0.0;
    tensor[2] v10057A#5 = <tensor[2]>[_t0576,_t0578];
    real _t057C#1 = 0.5e0;
    real _t057E#1 = 0.25e0;
    tensor[2] v110580#5 = <tensor[2]>[_t057C,_t057E];
    real _t0582#1 = 0.5e0;
    real _t0584#1 = 0.5e0;
    tensor[2] v120586#5 = <tensor[2]>[_t0582,_t0584];
    real _t0588#1 = 0.5e0;
    real _t058A#1 = 0.25e0;
    real _t058C#1 = Neg<real>(_t058A);
    tensor[2] v13058E#5 = <tensor[2]>[_t0588,_t058C];
    real _t0590#1 = 0.5e0;
    real _t0592#1 = 0.5e0;
    real _t0594#1 = Neg<real>(_t0592);
    tensor[2] v140596#5 = <tensor[2]>[_t0590,_t0594];
    real _t0598#1 = 0.25e0;
    real _t059A#1 = Neg<real>(_t0598);
    real _t059C#1 = 0.0;
    tensor[2] v15059E#5 = <tensor[2]>[_t059A,_t059C];
    real _t05A0#1 = 0.25e0;
    real _t05A2#1 = Neg<real>(_t05A0);
    real _t05A4#1 = 0.25e0;
    tensor[2] v1605A6#5 = <tensor[2]>[_t05A2,_t05A4];
    real _t05A8#1 = 0.25e0;
    real _t05AA#1 = Neg<real>(_t05A8);
    real _t05AC#1 = 0.5e0;
    tensor[2] v1705AE#5 = <tensor[2]>[_t05AA,_t05AC];
    real _t05B0#1 = 0.25e0;
    real _t05B2#1 = Neg<real>(_t05B0);
    real _t05B4#1 = 0.25e0;
    real _t05B6#1 = Neg<real>(_t05B4);
    tensor[2] v1805B8#5 = <tensor[2]>[_t05B2,_t05B6];
    real _t05BA#1 = 0.25e0;
    real _t05BC#1 = Neg<real>(_t05BA);
    real _t05BE#1 = 0.5e0;
    real _t05C0#1 = Neg<real>(_t05BE);
    tensor[2] v1905C2#5 = <tensor[2]>[_t05BC,_t05C0];
    return (T0528,F0530,v000536,v01053C,v020542,v03054A,v040552,v050558,v06055E,v070564,v08056C,v090574,v10057A,v110580,v120586,v13058E,v140596,v15059E,v1605A6,v1705AE,v1805B8,v1905C2,_t0522,_t0524,_t0526,_t052A,_t052C,_t052E,_t0532,_t0534,_t0538,_t053A,_t053E,_t0540,_t0544,_t0546,_t0548,_t054C,_t054E,_t0550,_t0554,_t0556,_t055A,_t055C,_t0560,_t0562,_t0566,_t0568,_t056A,_t056E,_t0570,_t0572,_t0576,_t0578,_t057C,_t057E,_t0582,_t0584,_t0588,_t058A,_t058C,_t0590,_t0592,_t0594,_t0598,_t059A,_t059C,_t05A0,_t05A2,_t05A4,_t05A8,_t05AA,_t05AC,_t05B0,_t05B2,_t05B4,_t05B6,_t05BA,_t05BC,_t05BE,_t05C0)
## initially
  ARRAY
    ENTRY05D2:  preds = []
      int _t05C6#2 = 0;
      int _t05C8#2 = 60;
      int _t05CA#2 = 0;
      int _t05CC#2 = 60;
      int _t05CE#2 = 0;
      int _t05D0#2 = 60;
      live vars = (_t05D0,_t05CE,_t05CC,_t05CA,_t05C8,_t05C6)
    for int i05D4#1 = _t05C6 .. _t05C8
      for int j05D5#1 = _t05CA .. _t05CC
        for int k05D6#1 = _t05CE .. _t05D0
          ENTRY05D7:  preds = []
            live vars = ()
          new R(i05D4,j05D5,k05D6);
## strands
  strand R (int i05D9#1, int j05DA#1, int k05DB#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY0615:  preds = []
        real _t05E1#1 = IntToReal(i05D9);
        real _t05E3#1 = 0.60e2;
        real _t05E5#1 = Div<real>(_t05E1,_t05E3);
        real _t05E7#1 = 0.5e0;
        real _t05E9#1 = Sub<real>(_t05E5,_t05E7);
        real _t05EB#1 = IntToReal(j05DA);
        real _t05ED#1 = 0.60e2;
        real _t05EF#1 = Div<real>(_t05EB,_t05ED);
        real _t05F1#1 = 0.5e0;
        real _t05F3#1 = Sub<real>(_t05EF,_t05F1);
        real _t05F5#1 = IntToReal(k05DB);
        real _t05F7#1 = 0.60e2;
        real _t05F9#1 = Div<real>(_t05F5,_t05F7);
        real _t05FB#1 = 0.5e0;
        real _t05FD#1 = Sub<real>(_t05F9,_t05FB);
        tensor[3] t05FF#1 = <tensor[3]>[_t05E9,_t05F3,_t05FD];
        real score0601#1 = 0.0;
        real _t0603#1 = 0.0;
        real _t0605#1 = 0.0;
        tensor[2] r00607#1 = <tensor[2]>[_t0603,_t0605];
        real _t0609#1 = 0.0;
        real _t060B#1 = 0.0;
        tensor[2] r1060D#1 = <tensor[2]>[_t0609,_t060B];
        real _t060F#1 = 0.0;
        real _t0611#1 = 0.0;
        tensor[2] pos0613#1 = <tensor[2]>[_t060F,_t0611];
        self.t = t05FF;
        self.score = score0601;
        self.r0 = r00607;
        self.r1 = r1060D;
        self.pos = pos0613;
        strand_init ()
    method Update
        ENTRY0A36:  preds = []
          tensor[3] t061C#51 = self.t;
          real score061D#2 = self.score;
          tensor[2] r0061E#0 = self.r0;
          tensor[2] r1061F#0 = self.r1;
          tensor[2] pos0620#0 = self.pos;
          real _t0626#1 = 0.1e1;
          real _t0628#1 = 0.2e1;
          int _t062A#1 = 2;
          real _t062C#1 = TensorSub<tensor[3]>(t061C,_t062A);
          real _t062E#1 = Mul<real>(_t0628,_t062C);
          int _t0630#1 = 2;
          real _t0632#1 = TensorSub<tensor[3]>(t061C,_t0630);
          real _t0634#1 = Mul<real>(_t062E,_t0632);
          real _t0636#1 = Sub<real>(_t0626,_t0634);
          real _t0638#1 = 0.2e1;
          real _t063A#1 = Neg<real>(_t0638);
          real _t063C#1 = 0.1e1;
          int _t063E#1 = 2;
          real _t0640#1 = TensorSub<tensor[3]>(t061C,_t063E);
          int _t0642#1 = 2;
          real _t0644#1 = TensorSub<tensor[3]>(t061C,_t0642);
          real _t0646#1 = Mul<real>(_t0640,_t0644);
          real _t0648#1 = Sub<real>(_t063C,_t0646);
          real _t064A#1 = sqrt(_t0648);
          real _t064C#1 = Mul<real>(_t063A,_t064A);
          int _t064E#1 = 2;
          real _t0650#1 = TensorSub<tensor[3]>(t061C,_t064E);
          real _t0652#1 = Mul<real>(_t064C,_t0650);
          tensor[2] r00654#21 = <tensor[2]>[_t0636,_t0652];
          real _t0656#1 = 0.2e1;
          real _t0658#1 = 0.1e1;
          int _t065A#1 = 2;
          real _t065C#1 = TensorSub<tensor[3]>(t061C,_t065A);
          int _t065E#1 = 2;
          real _t0660#1 = TensorSub<tensor[3]>(t061C,_t065E);
          real _t0662#1 = Mul<real>(_t065C,_t0660);
          real _t0664#1 = Sub<real>(_t0658,_t0662);
          real _t0666#1 = sqrt(_t0664);
          real _t0668#1 = Mul<real>(_t0656,_t0666);
          int _t066A#1 = 2;
          real _t066C#1 = TensorSub<tensor[3]>(t061C,_t066A);
          real _t066E#1 = Mul<real>(_t0668,_t066C);
          real _t0670#1 = 0.1e1;
          real _t0672#1 = 0.2e1;
          int _t0674#1 = 2;
          real _t0676#1 = TensorSub<tensor[3]>(t061C,_t0674);
          real _t0678#1 = Mul<real>(_t0672,_t0676);
          int _t067A#1 = 2;
          real _t067C#1 = TensorSub<tensor[3]>(t061C,_t067A);
          real _t067E#1 = Mul<real>(_t0678,_t067C);
          real _t0680#1 = Sub<real>(_t0670,_t067E);
          tensor[2] r10682#21 = <tensor[2]>[_t066E,_t0680];
          real _t0684#1 = Dot<tensor[2]>(r00654,v000536);
          real _t0686#1 = Dot<tensor[2]>(r10682,v000536);
          tensor[2] _t0688#1 = <tensor[2]>[_t0684,_t0686];
          int _t068A#1 = 0;
          real _t068C#1 = TensorSub<tensor[3]>(t061C,_t068A);
          int _t068E#1 = 1;
          real _t0690#1 = TensorSub<tensor[3]>(t061C,_t068E);
          tensor[2] _t0692#1 = <tensor[2]>[_t068C,_t0690];
          tensor[2] pos0694#3 = Add<tensor[2]>(_t0688,_t0692);
          bool _t0697#1 = Inside<2>(pos0694,F0530);
          if _t0697 then goto ASSIGN069C else goto ASSIGN069E
        ASSIGN069C:  preds = [COND069F]
          bool _t069A#1 = Inside<2>(v000536,T0528);
          goto JOIN0699
        JOIN0699:  preds = [ASSIGN069C,ASSIGN069E]
          bool _t069B#1 = phi(_t069A,_t069D)
          if _t069B then goto ASSIGN06A2 else goto JOIN06A0
        ASSIGN06A2:  preds = [COND06B2]
          real _t06A1#1 = Probe<tensor[2],real>(F0530,pos0694);
          real _t06A3#1 = Probe<tensor[2],real>(T0528,v000536);
          real _t06A5#1 = Sub<real>(_t06A1,_t06A3);
          real _t06A7#1 = Probe<tensor[2],real>(F0530,pos0694);
          real _t06A9#1 = Probe<tensor[2],real>(T0528,v000536);
          real _t06AB#1 = Sub<real>(_t06A7,_t06A9);
          real _t06AD#1 = Mul<real>(_t06A5,_t06AB);
          real score06AF#1 = Add<real>(score061D,_t06AD);
          goto JOIN06A0
        JOIN06A0:  preds = [ASSIGN06B1,COND06B2]
          real score06B0#2 = phi(score06AF,score061D)
          real _t06B3#1 = Dot<tensor[2]>(r00654,v01053C);
          real _t06B5#1 = Dot<tensor[2]>(r10682,v01053C);
          tensor[2] _t06B7#1 = <tensor[2]>[_t06B3,_t06B5];
          int _t06B9#1 = 0;
          real _t06BB#1 = TensorSub<tensor[3]>(t061C,_t06B9);
          int _t06BD#1 = 1;
          real _t06BF#1 = TensorSub<tensor[3]>(t061C,_t06BD);
          tensor[2] _t06C1#1 = <tensor[2]>[_t06BB,_t06BF];
          tensor[2] pos06C3#3 = Add<tensor[2]>(_t06B7,_t06C1);
          bool _t06C6#1 = Inside<2>(pos06C3,F0530);
          if _t06C6 then goto ASSIGN06CB else goto ASSIGN06CD
        ASSIGN06CB:  preds = [COND06CE]
          bool _t06C9#1 = Inside<2>(v01053C,T0528);
          goto JOIN06C8
        JOIN06C8:  preds = [ASSIGN06CB,ASSIGN06CD]
          bool _t06CA#1 = phi(_t06C9,_t06CC)
          if _t06CA then goto ASSIGN06D1 else goto JOIN06CF
        ASSIGN06D1:  preds = [COND06E1]
          real _t06D0#1 = Probe<tensor[2],real>(F0530,pos06C3);
          real _t06D2#1 = Probe<tensor[2],real>(T0528,v01053C);
          real _t06D4#1 = Sub<real>(_t06D0,_t06D2);
          real _t06D6#1 = Probe<tensor[2],real>(F0530,pos06C3);
          real _t06D8#1 = Probe<tensor[2],real>(T0528,v01053C);
          real _t06DA#1 = Sub<real>(_t06D6,_t06D8);
          real _t06DC#1 = Mul<real>(_t06D4,_t06DA);
          real score06DE#1 = Add<real>(score06B0,_t06DC);
          goto JOIN06CF
        JOIN06CF:  preds = [ASSIGN06E0,COND06E1]
          real score06DF#2 = phi(score06DE,score06B0)
          real _t06E2#1 = Dot<tensor[2]>(r00654,v020542);
          real _t06E4#1 = Dot<tensor[2]>(r10682,v020542);
          tensor[2] _t06E6#1 = <tensor[2]>[_t06E2,_t06E4];
          int _t06E8#1 = 0;
          real _t06EA#1 = TensorSub<tensor[3]>(t061C,_t06E8);
          int _t06EC#1 = 1;
          real _t06EE#1 = TensorSub<tensor[3]>(t061C,_t06EC);
          tensor[2] _t06F0#1 = <tensor[2]>[_t06EA,_t06EE];
          tensor[2] pos06F2#3 = Add<tensor[2]>(_t06E6,_t06F0);
          bool _t06F5#1 = Inside<2>(pos06F2,F0530);
          if _t06F5 then goto ASSIGN06FA else goto ASSIGN06FC
        ASSIGN06FA:  preds = [COND06FD]
          bool _t06F8#1 = Inside<2>(v020542,T0528);
          goto JOIN06F7
        JOIN06F7:  preds = [ASSIGN06FA,ASSIGN06FC]
          bool _t06F9#1 = phi(_t06F8,_t06FB)
          if _t06F9 then goto ASSIGN0700 else goto JOIN06FE
        ASSIGN0700:  preds = [COND0710]
          real _t06FF#1 = Probe<tensor[2],real>(F0530,pos06F2);
          real _t0701#1 = Probe<tensor[2],real>(T0528,v020542);
          real _t0703#1 = Sub<real>(_t06FF,_t0701);
          real _t0705#1 = Probe<tensor[2],real>(F0530,pos06F2);
          real _t0707#1 = Probe<tensor[2],real>(T0528,v020542);
          real _t0709#1 = Sub<real>(_t0705,_t0707);
          real _t070B#1 = Mul<real>(_t0703,_t0709);
          real score070D#1 = Add<real>(score06DF,_t070B);
          goto JOIN06FE
        JOIN06FE:  preds = [ASSIGN070F,COND0710]
          real score070E#2 = phi(score070D,score06DF)
          real _t0711#1 = Dot<tensor[2]>(r00654,v03054A);
          real _t0713#1 = Dot<tensor[2]>(r10682,v03054A);
          tensor[2] _t0715#1 = <tensor[2]>[_t0711,_t0713];
          int _t0717#1 = 0;
          real _t0719#1 = TensorSub<tensor[3]>(t061C,_t0717);
          int _t071B#1 = 1;
          real _t071D#1 = TensorSub<tensor[3]>(t061C,_t071B);
          tensor[2] _t071F#1 = <tensor[2]>[_t0719,_t071D];
          tensor[2] pos0721#3 = Add<tensor[2]>(_t0715,_t071F);
          bool _t0724#1 = Inside<2>(pos0721,F0530);
          if _t0724 then goto ASSIGN0729 else goto ASSIGN072B
        ASSIGN0729:  preds = [COND072C]
          bool _t0727#1 = Inside<2>(v03054A,T0528);
          goto JOIN0726
        JOIN0726:  preds = [ASSIGN0729,ASSIGN072B]
          bool _t0728#1 = phi(_t0727,_t072A)
          if _t0728 then goto ASSIGN072F else goto JOIN072D
        ASSIGN072F:  preds = [COND073F]
          real _t072E#1 = Probe<tensor[2],real>(F0530,pos0721);
          real _t0730#1 = Probe<tensor[2],real>(T0528,v03054A);
          real _t0732#1 = Sub<real>(_t072E,_t0730);
          real _t0734#1 = Probe<tensor[2],real>(F0530,pos0721);
          real _t0736#1 = Probe<tensor[2],real>(T0528,v03054A);
          real _t0738#1 = Sub<real>(_t0734,_t0736);
          real _t073A#1 = Mul<real>(_t0732,_t0738);
          real score073C#1 = Add<real>(score070E,_t073A);
          goto JOIN072D
        JOIN072D:  preds = [ASSIGN073E,COND073F]
          real score073D#2 = phi(score073C,score070E)
          real _t0740#1 = Dot<tensor[2]>(r00654,v040552);
          real _t0742#1 = Dot<tensor[2]>(r10682,v040552);
          tensor[2] _t0744#1 = <tensor[2]>[_t0740,_t0742];
          int _t0746#1 = 0;
          real _t0748#1 = TensorSub<tensor[3]>(t061C,_t0746);
          int _t074A#1 = 1;
          real _t074C#1 = TensorSub<tensor[3]>(t061C,_t074A);
          tensor[2] _t074E#1 = <tensor[2]>[_t0748,_t074C];
          tensor[2] pos0750#3 = Add<tensor[2]>(_t0744,_t074E);
          bool _t0753#1 = Inside<2>(pos0750,F0530);
          if _t0753 then goto ASSIGN0758 else goto ASSIGN075A
        ASSIGN0758:  preds = [COND075B]
          bool _t0756#1 = Inside<2>(v040552,T0528);
          goto JOIN0755
        JOIN0755:  preds = [ASSIGN0758,ASSIGN075A]
          bool _t0757#1 = phi(_t0756,_t0759)
          if _t0757 then goto ASSIGN075E else goto JOIN075C
        ASSIGN075E:  preds = [COND076E]
          real _t075D#1 = Probe<tensor[2],real>(F0530,pos0750);
          real _t075F#1 = Probe<tensor[2],real>(T0528,v040552);
          real _t0761#1 = Sub<real>(_t075D,_t075F);
          real _t0763#1 = Probe<tensor[2],real>(F0530,pos0750);
          real _t0765#1 = Probe<tensor[2],real>(T0528,v040552);
          real _t0767#1 = Sub<real>(_t0763,_t0765);
          real _t0769#1 = Mul<real>(_t0761,_t0767);
          real score076B#1 = Add<real>(score073D,_t0769);
          goto JOIN075C
        JOIN075C:  preds = [ASSIGN076D,COND076E]
          real score076C#2 = phi(score076B,score073D)
          real _t076F#1 = Dot<tensor[2]>(r00654,v050558);
          real _t0771#1 = Dot<tensor[2]>(r10682,v050558);
          tensor[2] _t0773#1 = <tensor[2]>[_t076F,_t0771];
          int _t0775#1 = 0;
          real _t0777#1 = TensorSub<tensor[3]>(t061C,_t0775);
          int _t0779#1 = 1;
          real _t077B#1 = TensorSub<tensor[3]>(t061C,_t0779);
          tensor[2] _t077D#1 = <tensor[2]>[_t0777,_t077B];
          tensor[2] pos077F#3 = Add<tensor[2]>(_t0773,_t077D);
          bool _t0782#1 = Inside<2>(pos077F,F0530);
          if _t0782 then goto ASSIGN0787 else goto ASSIGN0789
        ASSIGN0787:  preds = [COND078A]
          bool _t0785#1 = Inside<2>(v050558,T0528);
          goto JOIN0784
        JOIN0784:  preds = [ASSIGN0787,ASSIGN0789]
          bool _t0786#1 = phi(_t0785,_t0788)
          if _t0786 then goto ASSIGN078D else goto JOIN078B
        ASSIGN078D:  preds = [COND079D]
          real _t078C#1 = Probe<tensor[2],real>(F0530,pos077F);
          real _t078E#1 = Probe<tensor[2],real>(T0528,v050558);
          real _t0790#1 = Sub<real>(_t078C,_t078E);
          real _t0792#1 = Probe<tensor[2],real>(F0530,pos077F);
          real _t0794#1 = Probe<tensor[2],real>(T0528,v050558);
          real _t0796#1 = Sub<real>(_t0792,_t0794);
          real _t0798#1 = Mul<real>(_t0790,_t0796);
          real score079A#1 = Add<real>(score076C,_t0798);
          goto JOIN078B
        JOIN078B:  preds = [ASSIGN079C,COND079D]
          real score079B#2 = phi(score079A,score076C)
          real _t079E#1 = Dot<tensor[2]>(r00654,v06055E);
          real _t07A0#1 = Dot<tensor[2]>(r10682,v06055E);
          tensor[2] _t07A2#1 = <tensor[2]>[_t079E,_t07A0];
          int _t07A4#1 = 0;
          real _t07A6#1 = TensorSub<tensor[3]>(t061C,_t07A4);
          int _t07A8#1 = 1;
          real _t07AA#1 = TensorSub<tensor[3]>(t061C,_t07A8);
          tensor[2] _t07AC#1 = <tensor[2]>[_t07A6,_t07AA];
          tensor[2] pos07AE#3 = Add<tensor[2]>(_t07A2,_t07AC);
          bool _t07B1#1 = Inside<2>(pos07AE,F0530);
          if _t07B1 then goto ASSIGN07B6 else goto ASSIGN07B8
        ASSIGN07B6:  preds = [COND07B9]
          bool _t07B4#1 = Inside<2>(v06055E,T0528);
          goto JOIN07B3
        JOIN07B3:  preds = [ASSIGN07B6,ASSIGN07B8]
          bool _t07B5#1 = phi(_t07B4,_t07B7)
          if _t07B5 then goto ASSIGN07BC else goto JOIN07BA
        ASSIGN07BC:  preds = [COND07CC]
          real _t07BB#1 = Probe<tensor[2],real>(F0530,pos07AE);
          real _t07BD#1 = Probe<tensor[2],real>(T0528,v06055E);
          real _t07BF#1 = Sub<real>(_t07BB,_t07BD);
          real _t07C1#1 = Probe<tensor[2],real>(F0530,pos07AE);
          real _t07C3#1 = Probe<tensor[2],real>(T0528,v06055E);
          real _t07C5#1 = Sub<real>(_t07C1,_t07C3);
          real _t07C7#1 = Mul<real>(_t07BF,_t07C5);
          real score07C9#1 = Add<real>(score079B,_t07C7);
          goto JOIN07BA
        JOIN07BA:  preds = [ASSIGN07CB,COND07CC]
          real score07CA#2 = phi(score07C9,score079B)
          real _t07CD#1 = Dot<tensor[2]>(r00654,v070564);
          real _t07CF#1 = Dot<tensor[2]>(r10682,v070564);
          tensor[2] _t07D1#1 = <tensor[2]>[_t07CD,_t07CF];
          int _t07D3#1 = 0;
          real _t07D5#1 = TensorSub<tensor[3]>(t061C,_t07D3);
          int _t07D7#1 = 1;
          real _t07D9#1 = TensorSub<tensor[3]>(t061C,_t07D7);
          tensor[2] _t07DB#1 = <tensor[2]>[_t07D5,_t07D9];
          tensor[2] pos07DD#3 = Add<tensor[2]>(_t07D1,_t07DB);
          bool _t07E0#1 = Inside<2>(pos07DD,F0530);
          if _t07E0 then goto ASSIGN07E5 else goto ASSIGN07E7
        ASSIGN07E5:  preds = [COND07E8]
          bool _t07E3#1 = Inside<2>(v070564,T0528);
          goto JOIN07E2
        JOIN07E2:  preds = [ASSIGN07E5,ASSIGN07E7]
          bool _t07E4#1 = phi(_t07E3,_t07E6)
          if _t07E4 then goto ASSIGN07EB else goto JOIN07E9
        ASSIGN07EB:  preds = [COND07FB]
          real _t07EA#1 = Probe<tensor[2],real>(F0530,pos07DD);
          real _t07EC#1 = Probe<tensor[2],real>(T0528,v070564);
          real _t07EE#1 = Sub<real>(_t07EA,_t07EC);
          real _t07F0#1 = Probe<tensor[2],real>(F0530,pos07DD);
          real _t07F2#1 = Probe<tensor[2],real>(T0528,v070564);
          real _t07F4#1 = Sub<real>(_t07F0,_t07F2);
          real _t07F6#1 = Mul<real>(_t07EE,_t07F4);
          real score07F8#1 = Add<real>(score07CA,_t07F6);
          goto JOIN07E9
        JOIN07E9:  preds = [ASSIGN07FA,COND07FB]
          real score07F9#2 = phi(score07F8,score07CA)
          real _t07FC#1 = Dot<tensor[2]>(r00654,v08056C);
          real _t07FE#1 = Dot<tensor[2]>(r10682,v08056C);
          tensor[2] _t0800#1 = <tensor[2]>[_t07FC,_t07FE];
          int _t0802#1 = 0;
          real _t0804#1 = TensorSub<tensor[3]>(t061C,_t0802);
          int _t0806#1 = 1;
          real _t0808#1 = TensorSub<tensor[3]>(t061C,_t0806);
          tensor[2] _t080A#1 = <tensor[2]>[_t0804,_t0808];
          tensor[2] pos080C#3 = Add<tensor[2]>(_t0800,_t080A);
          bool _t080F#1 = Inside<2>(pos080C,F0530);
          if _t080F then goto ASSIGN0814 else goto ASSIGN0816
        ASSIGN0814:  preds = [COND0817]
          bool _t0812#1 = Inside<2>(v08056C,T0528);
          goto JOIN0811
        JOIN0811:  preds = [ASSIGN0814,ASSIGN0816]
          bool _t0813#1 = phi(_t0812,_t0815)
          if _t0813 then goto ASSIGN081A else goto JOIN0818
        ASSIGN081A:  preds = [COND082A]
          real _t0819#1 = Probe<tensor[2],real>(F0530,pos080C);
          real _t081B#1 = Probe<tensor[2],real>(T0528,v08056C);
          real _t081D#1 = Sub<real>(_t0819,_t081B);
          real _t081F#1 = Probe<tensor[2],real>(F0530,pos080C);
          real _t0821#1 = Probe<tensor[2],real>(T0528,v08056C);
          real _t0823#1 = Sub<real>(_t081F,_t0821);
          real _t0825#1 = Mul<real>(_t081D,_t0823);
          real score0827#1 = Add<real>(score07F9,_t0825);
          goto JOIN0818
        JOIN0818:  preds = [ASSIGN0829,COND082A]
          real score0828#2 = phi(score0827,score07F9)
          real _t082B#1 = Dot<tensor[2]>(r00654,v090574);
          real _t082D#1 = Dot<tensor[2]>(r10682,v090574);
          tensor[2] _t082F#1 = <tensor[2]>[_t082B,_t082D];
          int _t0831#1 = 0;
          real _t0833#1 = TensorSub<tensor[3]>(t061C,_t0831);
          int _t0835#1 = 1;
          real _t0837#1 = TensorSub<tensor[3]>(t061C,_t0835);
          tensor[2] _t0839#1 = <tensor[2]>[_t0833,_t0837];
          tensor[2] pos083B#3 = Add<tensor[2]>(_t082F,_t0839);
          bool _t083E#1 = Inside<2>(pos083B,F0530);
          if _t083E then goto ASSIGN0843 else goto ASSIGN0845
        ASSIGN0843:  preds = [COND0846]
          bool _t0841#1 = Inside<2>(v090574,T0528);
          goto JOIN0840
        JOIN0840:  preds = [ASSIGN0843,ASSIGN0845]
          bool _t0842#1 = phi(_t0841,_t0844)
          if _t0842 then goto ASSIGN0849 else goto JOIN0847
        ASSIGN0849:  preds = [COND0859]
          real _t0848#1 = Probe<tensor[2],real>(F0530,pos083B);
          real _t084A#1 = Probe<tensor[2],real>(T0528,v090574);
          real _t084C#1 = Sub<real>(_t0848,_t084A);
          real _t084E#1 = Probe<tensor[2],real>(F0530,pos083B);
          real _t0850#1 = Probe<tensor[2],real>(T0528,v090574);
          real _t0852#1 = Sub<real>(_t084E,_t0850);
          real _t0854#1 = Mul<real>(_t084C,_t0852);
          real score0856#1 = Add<real>(score0828,_t0854);
          goto JOIN0847
        JOIN0847:  preds = [ASSIGN0858,COND0859]
          real score0857#2 = phi(score0856,score0828)
          real _t085A#1 = Dot<tensor[2]>(r00654,v10057A);
          real _t085C#1 = Dot<tensor[2]>(r10682,v10057A);
          tensor[2] _t085E#1 = <tensor[2]>[_t085A,_t085C];
          int _t0860#1 = 0;
          real _t0862#1 = TensorSub<tensor[3]>(t061C,_t0860);
          int _t0864#1 = 1;
          real _t0866#1 = TensorSub<tensor[3]>(t061C,_t0864);
          tensor[2] _t0868#1 = <tensor[2]>[_t0862,_t0866];
          tensor[2] pos086A#3 = Add<tensor[2]>(_t085E,_t0868);
          bool _t086D#1 = Inside<2>(pos086A,F0530);
          if _t086D then goto ASSIGN0872 else goto ASSIGN0874
        ASSIGN0872:  preds = [COND0875]
          bool _t0870#1 = Inside<2>(v10057A,T0528);
          goto JOIN086F
        JOIN086F:  preds = [ASSIGN0872,ASSIGN0874]
          bool _t0871#1 = phi(_t0870,_t0873)
          if _t0871 then goto ASSIGN0878 else goto JOIN0876
        ASSIGN0878:  preds = [COND0888]
          real _t0877#1 = Probe<tensor[2],real>(F0530,pos086A);
          real _t0879#1 = Probe<tensor[2],real>(T0528,v10057A);
          real _t087B#1 = Sub<real>(_t0877,_t0879);
          real _t087D#1 = Probe<tensor[2],real>(F0530,pos086A);
          real _t087F#1 = Probe<tensor[2],real>(T0528,v10057A);
          real _t0881#1 = Sub<real>(_t087D,_t087F);
          real _t0883#1 = Mul<real>(_t087B,_t0881);
          real score0885#1 = Add<real>(score0857,_t0883);
          goto JOIN0876
        JOIN0876:  preds = [ASSIGN0887,COND0888]
          real score0886#2 = phi(score0885,score0857)
          real _t0889#1 = Dot<tensor[2]>(r00654,v110580);
          real _t088B#1 = Dot<tensor[2]>(r10682,v110580);
          tensor[2] _t088D#1 = <tensor[2]>[_t0889,_t088B];
          int _t088F#1 = 0;
          real _t0891#1 = TensorSub<tensor[3]>(t061C,_t088F);
          int _t0893#1 = 1;
          real _t0895#1 = TensorSub<tensor[3]>(t061C,_t0893);
          tensor[2] _t0897#1 = <tensor[2]>[_t0891,_t0895];
          tensor[2] pos0899#3 = Add<tensor[2]>(_t088D,_t0897);
          bool _t089C#1 = Inside<2>(pos0899,F0530);
          if _t089C then goto ASSIGN08A1 else goto ASSIGN08A3
        ASSIGN08A1:  preds = [COND08A4]
          bool _t089F#1 = Inside<2>(v110580,T0528);
          goto JOIN089E
        JOIN089E:  preds = [ASSIGN08A1,ASSIGN08A3]
          bool _t08A0#1 = phi(_t089F,_t08A2)
          if _t08A0 then goto ASSIGN08A7 else goto JOIN08A5
        ASSIGN08A7:  preds = [COND08B7]
          real _t08A6#1 = Probe<tensor[2],real>(F0530,pos0899);
          real _t08A8#1 = Probe<tensor[2],real>(T0528,v110580);
          real _t08AA#1 = Sub<real>(_t08A6,_t08A8);
          real _t08AC#1 = Probe<tensor[2],real>(F0530,pos0899);
          real _t08AE#1 = Probe<tensor[2],real>(T0528,v110580);
          real _t08B0#1 = Sub<real>(_t08AC,_t08AE);
          real _t08B2#1 = Mul<real>(_t08AA,_t08B0);
          real score08B4#1 = Add<real>(score0886,_t08B2);
          goto JOIN08A5
        JOIN08A5:  preds = [ASSIGN08B6,COND08B7]
          real score08B5#2 = phi(score08B4,score0886)
          real _t08B8#1 = Dot<tensor[2]>(r00654,v120586);
          real _t08BA#1 = Dot<tensor[2]>(r10682,v120586);
          tensor[2] _t08BC#1 = <tensor[2]>[_t08B8,_t08BA];
          int _t08BE#1 = 0;
          real _t08C0#1 = TensorSub<tensor[3]>(t061C,_t08BE);
          int _t08C2#1 = 1;
          real _t08C4#1 = TensorSub<tensor[3]>(t061C,_t08C2);
          tensor[2] _t08C6#1 = <tensor[2]>[_t08C0,_t08C4];
          tensor[2] pos08C8#3 = Add<tensor[2]>(_t08BC,_t08C6);
          bool _t08CB#1 = Inside<2>(pos08C8,F0530);
          if _t08CB then goto ASSIGN08D0 else goto ASSIGN08D2
        ASSIGN08D0:  preds = [COND08D3]
          bool _t08CE#1 = Inside<2>(v120586,T0528);
          goto JOIN08CD
        JOIN08CD:  preds = [ASSIGN08D0,ASSIGN08D2]
          bool _t08CF#1 = phi(_t08CE,_t08D1)
          if _t08CF then goto ASSIGN08D6 else goto JOIN08D4
        ASSIGN08D6:  preds = [COND08E6]
          real _t08D5#1 = Probe<tensor[2],real>(F0530,pos08C8);
          real _t08D7#1 = Probe<tensor[2],real>(T0528,v120586);
          real _t08D9#1 = Sub<real>(_t08D5,_t08D7);
          real _t08DB#1 = Probe<tensor[2],real>(F0530,pos08C8);
          real _t08DD#1 = Probe<tensor[2],real>(T0528,v120586);
          real _t08DF#1 = Sub<real>(_t08DB,_t08DD);
          real _t08E1#1 = Mul<real>(_t08D9,_t08DF);
          real score08E3#1 = Add<real>(score08B5,_t08E1);
          goto JOIN08D4
        JOIN08D4:  preds = [ASSIGN08E5,COND08E6]
          real score08E4#2 = phi(score08E3,score08B5)
          real _t08E7#1 = Dot<tensor[2]>(r00654,v13058E);
          real _t08E9#1 = Dot<tensor[2]>(r10682,v13058E);
          tensor[2] _t08EB#1 = <tensor[2]>[_t08E7,_t08E9];
          int _t08ED#1 = 0;
          real _t08EF#1 = TensorSub<tensor[3]>(t061C,_t08ED);
          int _t08F1#1 = 1;
          real _t08F3#1 = TensorSub<tensor[3]>(t061C,_t08F1);
          tensor[2] _t08F5#1 = <tensor[2]>[_t08EF,_t08F3];
          tensor[2] pos08F7#3 = Add<tensor[2]>(_t08EB,_t08F5);
          bool _t08FA#1 = Inside<2>(pos08F7,F0530);
          if _t08FA then goto ASSIGN08FF else goto ASSIGN0901
        ASSIGN08FF:  preds = [COND0902]
          bool _t08FD#1 = Inside<2>(v13058E,T0528);
          goto JOIN08FC
        JOIN08FC:  preds = [ASSIGN08FF,ASSIGN0901]
          bool _t08FE#1 = phi(_t08FD,_t0900)
          if _t08FE then goto ASSIGN0905 else goto JOIN0903
        ASSIGN0905:  preds = [COND0915]
          real _t0904#1 = Probe<tensor[2],real>(F0530,pos08F7);
          real _t0906#1 = Probe<tensor[2],real>(T0528,v13058E);
          real _t0908#1 = Sub<real>(_t0904,_t0906);
          real _t090A#1 = Probe<tensor[2],real>(F0530,pos08F7);
          real _t090C#1 = Probe<tensor[2],real>(T0528,v13058E);
          real _t090E#1 = Sub<real>(_t090A,_t090C);
          real _t0910#1 = Mul<real>(_t0908,_t090E);
          real score0912#1 = Add<real>(score08E4,_t0910);
          goto JOIN0903
        JOIN0903:  preds = [ASSIGN0914,COND0915]
          real score0913#2 = phi(score0912,score08E4)
          real _t0916#1 = Dot<tensor[2]>(r00654,v140596);
          real _t0918#1 = Dot<tensor[2]>(r10682,v140596);
          tensor[2] _t091A#1 = <tensor[2]>[_t0916,_t0918];
          int _t091C#1 = 0;
          real _t091E#1 = TensorSub<tensor[3]>(t061C,_t091C);
          int _t0920#1 = 1;
          real _t0922#1 = TensorSub<tensor[3]>(t061C,_t0920);
          tensor[2] _t0924#1 = <tensor[2]>[_t091E,_t0922];
          tensor[2] pos0926#3 = Add<tensor[2]>(_t091A,_t0924);
          bool _t0929#1 = Inside<2>(pos0926,F0530);
          if _t0929 then goto ASSIGN092E else goto ASSIGN0930
        ASSIGN092E:  preds = [COND0931]
          bool _t092C#1 = Inside<2>(v140596,T0528);
          goto JOIN092B
        JOIN092B:  preds = [ASSIGN092E,ASSIGN0930]
          bool _t092D#1 = phi(_t092C,_t092F)
          if _t092D then goto ASSIGN0934 else goto JOIN0932
        ASSIGN0934:  preds = [COND0944]
          real _t0933#1 = Probe<tensor[2],real>(F0530,pos0926);
          real _t0935#1 = Probe<tensor[2],real>(T0528,v140596);
          real _t0937#1 = Sub<real>(_t0933,_t0935);
          real _t0939#1 = Probe<tensor[2],real>(F0530,pos0926);
          real _t093B#1 = Probe<tensor[2],real>(T0528,v140596);
          real _t093D#1 = Sub<real>(_t0939,_t093B);
          real _t093F#1 = Mul<real>(_t0937,_t093D);
          real score0941#1 = Add<real>(score0913,_t093F);
          goto JOIN0932
        JOIN0932:  preds = [ASSIGN0943,COND0944]
          real score0942#2 = phi(score0941,score0913)
          real _t0945#1 = Dot<tensor[2]>(r00654,v15059E);
          real _t0947#1 = Dot<tensor[2]>(r10682,v15059E);
          tensor[2] _t0949#1 = <tensor[2]>[_t0945,_t0947];
          int _t094B#1 = 0;
          real _t094D#1 = TensorSub<tensor[3]>(t061C,_t094B);
          int _t094F#1 = 1;
          real _t0951#1 = TensorSub<tensor[3]>(t061C,_t094F);
          tensor[2] _t0953#1 = <tensor[2]>[_t094D,_t0951];
          tensor[2] pos0955#3 = Add<tensor[2]>(_t0949,_t0953);
          bool _t0958#1 = Inside<2>(pos0955,F0530);
          if _t0958 then goto ASSIGN095D else goto ASSIGN095F
        ASSIGN095D:  preds = [COND0960]
          bool _t095B#1 = Inside<2>(v15059E,T0528);
          goto JOIN095A
        JOIN095A:  preds = [ASSIGN095D,ASSIGN095F]
          bool _t095C#1 = phi(_t095B,_t095E)
          if _t095C then goto ASSIGN0963 else goto JOIN0961
        ASSIGN0963:  preds = [COND0973]
          real _t0962#1 = Probe<tensor[2],real>(F0530,pos0955);
          real _t0964#1 = Probe<tensor[2],real>(T0528,v15059E);
          real _t0966#1 = Sub<real>(_t0962,_t0964);
          real _t0968#1 = Probe<tensor[2],real>(F0530,pos0955);
          real _t096A#1 = Probe<tensor[2],real>(T0528,v15059E);
          real _t096C#1 = Sub<real>(_t0968,_t096A);
          real _t096E#1 = Mul<real>(_t0966,_t096C);
          real score0970#1 = Add<real>(score0942,_t096E);
          goto JOIN0961
        JOIN0961:  preds = [ASSIGN0972,COND0973]
          real score0971#2 = phi(score0970,score0942)
          real _t0974#1 = Dot<tensor[2]>(r00654,v1605A6);
          real _t0976#1 = Dot<tensor[2]>(r10682,v1605A6);
          tensor[2] _t0978#1 = <tensor[2]>[_t0974,_t0976];
          int _t097A#1 = 0;
          real _t097C#1 = TensorSub<tensor[3]>(t061C,_t097A);
          int _t097E#1 = 1;
          real _t0980#1 = TensorSub<tensor[3]>(t061C,_t097E);
          tensor[2] _t0982#1 = <tensor[2]>[_t097C,_t0980];
          tensor[2] pos0984#3 = Add<tensor[2]>(_t0978,_t0982);
          bool _t0987#1 = Inside<2>(pos0984,F0530);
          if _t0987 then goto ASSIGN098C else goto ASSIGN098E
        ASSIGN098C:  preds = [COND098F]
          bool _t098A#1 = Inside<2>(v1605A6,T0528);
          goto JOIN0989
        JOIN0989:  preds = [ASSIGN098C,ASSIGN098E]
          bool _t098B#1 = phi(_t098A,_t098D)
          if _t098B then goto ASSIGN0992 else goto JOIN0990
        ASSIGN0992:  preds = [COND09A2]
          real _t0991#1 = Probe<tensor[2],real>(F0530,pos0984);
          real _t0993#1 = Probe<tensor[2],real>(T0528,v1605A6);
          real _t0995#1 = Sub<real>(_t0991,_t0993);
          real _t0997#1 = Probe<tensor[2],real>(F0530,pos0984);
          real _t0999#1 = Probe<tensor[2],real>(T0528,v1605A6);
          real _t099B#1 = Sub<real>(_t0997,_t0999);
          real _t099D#1 = Mul<real>(_t0995,_t099B);
          real score099F#1 = Add<real>(score0971,_t099D);
          goto JOIN0990
        JOIN0990:  preds = [ASSIGN09A1,COND09A2]
          real score09A0#2 = phi(score099F,score0971)
          real _t09A3#1 = Dot<tensor[2]>(r00654,v1705AE);
          real _t09A5#1 = Dot<tensor[2]>(r10682,v1705AE);
          tensor[2] _t09A7#1 = <tensor[2]>[_t09A3,_t09A5];
          int _t09A9#1 = 0;
          real _t09AB#1 = TensorSub<tensor[3]>(t061C,_t09A9);
          int _t09AD#1 = 1;
          real _t09AF#1 = TensorSub<tensor[3]>(t061C,_t09AD);
          tensor[2] _t09B1#1 = <tensor[2]>[_t09AB,_t09AF];
          tensor[2] pos09B3#3 = Add<tensor[2]>(_t09A7,_t09B1);
          bool _t09B6#1 = Inside<2>(pos09B3,F0530);
          if _t09B6 then goto ASSIGN09BB else goto ASSIGN09BD
        ASSIGN09BB:  preds = [COND09BE]
          bool _t09B9#1 = Inside<2>(v1705AE,T0528);
          goto JOIN09B8
        JOIN09B8:  preds = [ASSIGN09BB,ASSIGN09BD]
          bool _t09BA#1 = phi(_t09B9,_t09BC)
          if _t09BA then goto ASSIGN09C1 else goto JOIN09BF
        ASSIGN09C1:  preds = [COND09D1]
          real _t09C0#1 = Probe<tensor[2],real>(F0530,pos09B3);
          real _t09C2#1 = Probe<tensor[2],real>(T0528,v1705AE);
          real _t09C4#1 = Sub<real>(_t09C0,_t09C2);
          real _t09C6#1 = Probe<tensor[2],real>(F0530,pos09B3);
          real _t09C8#1 = Probe<tensor[2],real>(T0528,v1705AE);
          real _t09CA#1 = Sub<real>(_t09C6,_t09C8);
          real _t09CC#1 = Mul<real>(_t09C4,_t09CA);
          real score09CE#1 = Add<real>(score09A0,_t09CC);
          goto JOIN09BF
        JOIN09BF:  preds = [ASSIGN09D0,COND09D1]
          real score09CF#2 = phi(score09CE,score09A0)
          real _t09D2#1 = Dot<tensor[2]>(r00654,v1805B8);
          real _t09D4#1 = Dot<tensor[2]>(r10682,v1805B8);
          tensor[2] _t09D6#1 = <tensor[2]>[_t09D2,_t09D4];
          int _t09D8#1 = 0;
          real _t09DA#1 = TensorSub<tensor[3]>(t061C,_t09D8);
          int _t09DC#1 = 1;
          real _t09DE#1 = TensorSub<tensor[3]>(t061C,_t09DC);
          tensor[2] _t09E0#1 = <tensor[2]>[_t09DA,_t09DE];
          tensor[2] pos09E2#3 = Add<tensor[2]>(_t09D6,_t09E0);
          bool _t09E5#1 = Inside<2>(pos09E2,F0530);
          if _t09E5 then goto ASSIGN09EA else goto ASSIGN09EC
        ASSIGN09EA:  preds = [COND09ED]
          bool _t09E8#1 = Inside<2>(v1805B8,T0528);
          goto JOIN09E7
        JOIN09E7:  preds = [ASSIGN09EA,ASSIGN09EC]
          bool _t09E9#1 = phi(_t09E8,_t09EB)
          if _t09E9 then goto ASSIGN09F0 else goto JOIN09EE
        ASSIGN09F0:  preds = [COND0A00]
          real _t09EF#1 = Probe<tensor[2],real>(F0530,pos09E2);
          real _t09F1#1 = Probe<tensor[2],real>(T0528,v1805B8);
          real _t09F3#1 = Sub<real>(_t09EF,_t09F1);
          real _t09F5#1 = Probe<tensor[2],real>(F0530,pos09E2);
          real _t09F7#1 = Probe<tensor[2],real>(T0528,v1805B8);
          real _t09F9#1 = Sub<real>(_t09F5,_t09F7);
          real _t09FB#1 = Mul<real>(_t09F3,_t09F9);
          real score09FD#1 = Add<real>(score09CF,_t09FB);
          goto JOIN09EE
        JOIN09EE:  preds = [ASSIGN09FF,COND0A00]
          real score09FE#2 = phi(score09FD,score09CF)
          real _t0A01#1 = Dot<tensor[2]>(r00654,v1905C2);
          real _t0A03#1 = Dot<tensor[2]>(r10682,v1905C2);
          tensor[2] _t0A05#1 = <tensor[2]>[_t0A01,_t0A03];
          int _t0A07#1 = 0;
          real _t0A09#1 = TensorSub<tensor[3]>(t061C,_t0A07);
          int _t0A0B#1 = 1;
          real _t0A0D#1 = TensorSub<tensor[3]>(t061C,_t0A0B);
          tensor[2] _t0A0F#1 = <tensor[2]>[_t0A09,_t0A0D];
          tensor[2] pos0A11#4 = Add<tensor[2]>(_t0A05,_t0A0F);
          bool _t0A14#1 = Inside<2>(pos0A11,F0530);
          if _t0A14 then goto ASSIGN0A19 else goto ASSIGN0A1B
        ASSIGN0A19:  preds = [COND0A1C]
          bool _t0A17#1 = Inside<2>(v1905C2,T0528);
          goto JOIN0A16
        JOIN0A16:  preds = [ASSIGN0A19,ASSIGN0A1B]
          bool _t0A18#1 = phi(_t0A17,_t0A1A)
          if _t0A18 then goto ASSIGN0A1F else goto JOIN0A1D
        ASSIGN0A1F:  preds = [COND0A2F]
          real _t0A1E#1 = Probe<tensor[2],real>(F0530,pos0A11);
          real _t0A20#1 = Probe<tensor[2],real>(T0528,v1905C2);
          real _t0A22#1 = Sub<real>(_t0A1E,_t0A20);
          real _t0A24#1 = Probe<tensor[2],real>(F0530,pos0A11);
          real _t0A26#1 = Probe<tensor[2],real>(T0528,v1905C2);
          real _t0A28#1 = Sub<real>(_t0A24,_t0A26);
          real _t0A2A#1 = Mul<real>(_t0A22,_t0A28);
          real score0A2C#1 = Add<real>(score09FE,_t0A2A);
          goto JOIN0A1D
        JOIN0A1D:  preds = [ASSIGN0A2E,COND0A2F]
          real score0A2D#1 = phi(score0A2C,score09FE)
          self.t = t061C;
          self.score = score0A2D;
          self.r0 = r00654;
          self.r1 = r10682;
          self.pos = pos0A11;
          stabilize ()
        ASSIGN0A1B:  preds = [COND0A1C]
          bool _t0A1A#1 = false;
          goto JOIN0A16
        ASSIGN09EC:  preds = [COND09ED]
          bool _t09EB#1 = false;
          goto JOIN09E7
        ASSIGN09BD:  preds = [COND09BE]
          bool _t09BC#1 = false;
          goto JOIN09B8
        ASSIGN098E:  preds = [COND098F]
          bool _t098D#1 = false;
          goto JOIN0989
        ASSIGN095F:  preds = [COND0960]
          bool _t095E#1 = false;
          goto JOIN095A
        ASSIGN0930:  preds = [COND0931]
          bool _t092F#1 = false;
          goto JOIN092B
        ASSIGN0901:  preds = [COND0902]
          bool _t0900#1 = false;
          goto JOIN08FC
        ASSIGN08D2:  preds = [COND08D3]
          bool _t08D1#1 = false;
          goto JOIN08CD
        ASSIGN08A3:  preds = [COND08A4]
          bool _t08A2#1 = false;
          goto JOIN089E
        ASSIGN0874:  preds = [COND0875]
          bool _t0873#1 = false;
          goto JOIN086F
        ASSIGN0845:  preds = [COND0846]
          bool _t0844#1 = false;
          goto JOIN0840
        ASSIGN0816:  preds = [COND0817]
          bool _t0815#1 = false;
          goto JOIN0811
        ASSIGN07E7:  preds = [COND07E8]
          bool _t07E6#1 = false;
          goto JOIN07E2
        ASSIGN07B8:  preds = [COND07B9]
          bool _t07B7#1 = false;
          goto JOIN07B3
        ASSIGN0789:  preds = [COND078A]
          bool _t0788#1 = false;
          goto JOIN0784
        ASSIGN075A:  preds = [COND075B]
          bool _t0759#1 = false;
          goto JOIN0755
        ASSIGN072B:  preds = [COND072C]
          bool _t072A#1 = false;
          goto JOIN0726
        ASSIGN06FC:  preds = [COND06FD]
          bool _t06FB#1 = false;
          goto JOIN06F7
        ASSIGN06CD:  preds = [COND06CE]
          bool _t06CC#1 = false;
          goto JOIN06C8
        ASSIGN069E:  preds = [COND069F]
          bool _t069D#1 = false;
          goto JOIN0699
    end Update
    method Stabilize
        ENTRY0A42:  preds = []
          tensor[3] t0A38#1 = self.t;
          real score0A39#1 = self.score;
          tensor[2] r00A3A#1 = self.r0;
          tensor[2] r10A3B#1 = self.r1;
          tensor[2] pos0A3C#1 = self.pos;
          self.t = t0A38;
          self.score = score0A39;
          self.r0 = r00A3A;
          self.r1 = r10A3B;
          self.pos = pos0A3C;
          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
##### HighIL after value numbering ####
## properties
  none
## globals
  global field T0528#60
  global field F0530#60
  global tensor[2] v000536#5
  global tensor[2] v01053C#5
  global tensor[2] v020542#5
  global tensor[2] v03054A#5
  global tensor[2] v040552#5
  global tensor[2] v050558#5
  global tensor[2] v06055E#5
  global tensor[2] v070564#5
  global tensor[2] v08056C#5
  global tensor[2] v090574#5
  global tensor[2] v10057A#5
  global tensor[2] v110580#5
  global tensor[2] v120586#5
  global tensor[2] v13058E#5
  global tensor[2] v140596#5
  global tensor[2] v15059E#5
  global tensor[2] v1605A6#5
  global tensor[2] v1705AE#5
  global tensor[2] v1805B8#5
  global tensor[2] v1905C2#5
  global string _t0524#1
  global image2D _t0526#1
  global kernel _t0522#3
  global string _t052C#1
  global image2D _t052E#1
  global real _t0532#17
  global real _t053A#27
  global real _t0548#17
  global real _t0540#22
  global real _t0550#7
## global initialization
  ENTRY05C4:  preds = []
    kernel _t0522#3 = Kernel<bspln3,0>;
    string _t0524#1 = "square-template.nrrd";
    image2D _t0526#1 = LoadImage<IMAGE2D<int>>(_t0524);
    field T0528#60 = Field<2>(_t0526,_t0522);
    string _t052C#1 = "square-rotate.nrrd";
    image2D _t052E#1 = LoadImage<IMAGE2D<float>>(_t052C);
    field F0530#60 = Field<2>(_t052E,_t0522);
    real _t0532#17 = 0.0;
    tensor[2] v000536#5 = <tensor[2]>[_t0532,_t0532];
    real _t053A#27 = 0.25e0;
    tensor[2] v01053C#5 = <tensor[2]>[_t0532,_t053A];
    real _t0540#22 = 0.5e0;
    tensor[2] v020542#5 = <tensor[2]>[_t0532,_t0540];
    real _t0548#17 = Neg<real>(_t053A);
    tensor[2] v03054A#5 = <tensor[2]>[_t0532,_t0548];
    real _t0550#7 = Neg<real>(_t0540);
    tensor[2] v040552#5 = <tensor[2]>[_t0532,_t0550];
    tensor[2] v050558#5 = <tensor[2]>[_t053A,_t0532];
    tensor[2] v06055E#5 = <tensor[2]>[_t053A,_t053A];
    tensor[2] v070564#5 = <tensor[2]>[_t053A,_t0540];
    tensor[2] v08056C#5 = <tensor[2]>[_t053A,_t0548];
    tensor[2] v090574#5 = <tensor[2]>[_t053A,_t0550];
    tensor[2] v10057A#5 = <tensor[2]>[_t0540,_t0532];
    tensor[2] v110580#5 = <tensor[2]>[_t0540,_t053A];
    tensor[2] v120586#5 = <tensor[2]>[_t0540,_t0540];
    tensor[2] v13058E#5 = <tensor[2]>[_t0540,_t0548];
    tensor[2] v140596#5 = <tensor[2]>[_t0540,_t0550];
    tensor[2] v15059E#5 = <tensor[2]>[_t0548,_t0532];
    tensor[2] v1605A6#5 = <tensor[2]>[_t0548,_t053A];
    tensor[2] v1705AE#5 = <tensor[2]>[_t0548,_t0540];
    tensor[2] v1805B8#5 = <tensor[2]>[_t0548,_t0548];
    tensor[2] v1905C2#5 = <tensor[2]>[_t0548,_t0550];
    return (T0528,F0530,v000536,v01053C,v020542,v03054A,v040552,v050558,v06055E,v070564,v08056C,v090574,v10057A,v110580,v120586,v13058E,v140596,v15059E,v1605A6,v1705AE,v1805B8,v1905C2,_t0524,_t0526,_t0522,_t052C,_t052E,_t0532,_t053A,_t0548,_t0540,_t0550)
## initially
  ARRAY
    ENTRY05D2:  preds = []
      int _t05C6#4 = 0;
      int _t05C8#4 = 60;
      live vars = (_t05C8,_t05C6)
    for int i05D4#1 = _t05C6 .. _t05C8
      for int j05D5#1 = _t05C6 .. _t05C8
        for int k05D6#1 = _t05C6 .. _t05C8
          ENTRY05D7:  preds = []
            live vars = ()
          new R(i05D4,j05D5,k05D6);
## strands
  strand R (int i05D9#1, int j05DA#1, int k05DB#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY0615:  preds = []
        real _t05E1#1 = IntToReal(i05D9);
        real _t05E3#3 = 0.60e2;
        real _t05E5#1 = Div<real>(_t05E1,_t05E3);
        real _t05E7#3 = 0.5e0;
        real _t05E9#1 = Sub<real>(_t05E5,_t05E7);
        real _t05EB#1 = IntToReal(j05DA);
        real _t05EF#1 = Div<real>(_t05EB,_t05E3);
        real _t05F3#1 = Sub<real>(_t05EF,_t05E7);
        real _t05F5#1 = IntToReal(k05DB);
        real _t05F9#1 = Div<real>(_t05F5,_t05E3);
        real _t05FD#1 = Sub<real>(_t05F9,_t05E7);
        tensor[3] t05FF#1 = <tensor[3]>[_t05E9,_t05F3,_t05FD];
        real score0601#3 = 0.0;
        tensor[2] r00607#3 = <tensor[2]>[score0601,score0601];
        self.t = t05FF;
        self.score = score0601;
        self.r0 = r00607;
        self.r1 = r00607;
        self.pos = r00607;
        strand_init ()
    method Update
        ENTRY0A36:  preds = []
          tensor[3] t061C#51 = self.t;
          real score061D#2 = self.score;
          tensor[2] r0061E#0 = self.r0;
          tensor[2] r1061F#0 = self.r1;
          tensor[2] pos0620#0 = self.pos;
          real _t0626#2 = 0.1e1;
          real _t0628#3 = 0.2e1;
          int _t062A#1 = 2;
          real _t062C#6 = TensorSub<tensor[3]>(t061C,_t062A);
          real _t062E#1 = Mul<real>(_t0628,_t062C);
          real _t0634#1 = Mul<real>(_t062E,_t062C);
          real _t0636#2 = Sub<real>(_t0626,_t0634);
          real _t063A#1 = Neg<real>(_t0628);
          real _t0646#1 = Mul<real>(_t062C,_t062C);
          real _t0648#1 = Sub<real>(_t0626,_t0646);
          real _t064A#2 = sqrt(_t0648);
          real _t064C#1 = Mul<real>(_t063A,_t064A);
          real _t0652#1 = Mul<real>(_t064C,_t062C);
          tensor[2] r00654#21 = <tensor[2]>[_t0636,_t0652];
          real _t0668#1 = Mul<real>(_t0628,_t064A);
          real _t066E#1 = Mul<real>(_t0668,_t062C);
          tensor[2] r10682#21 = <tensor[2]>[_t066E,_t0636];
          real _t0684#1 = Dot<tensor[2]>(r00654,v000536);
          real _t0686#1 = Dot<tensor[2]>(r10682,v000536);
          tensor[2] _t0688#1 = <tensor[2]>[_t0684,_t0686];
          int _t068A#1 = 0;
          real _t068C#1 = TensorSub<tensor[3]>(t061C,_t068A);
          int _t068E#1 = 1;
          real _t0690#1 = TensorSub<tensor[3]>(t061C,_t068E);
          tensor[2] _t0692#20 = <tensor[2]>[_t068C,_t0690];
          tensor[2] pos0694#3 = Add<tensor[2]>(_t0688,_t0692);
          bool _t0697#1 = Inside<2>(pos0694,F0530);
          if _t0697 then goto ASSIGN069C else goto ASSIGN069E
        ASSIGN069C:  preds = [COND069F]
          bool _t069A#1 = Inside<2>(v000536,T0528);
          goto JOIN0699
        JOIN0699:  preds = [ASSIGN069C,ASSIGN069E]
          bool _t069B#1 = phi(_t069A,_t069D)
          if _t069B then goto ASSIGN06A2 else goto JOIN06A0
        ASSIGN06A2:  preds = [COND06B2]
          real _t06A1#1 = Probe<tensor[2],real>(F0530,pos0694);
          real _t06A3#1 = Probe<tensor[2],real>(T0528,v000536);
          real _t06A5#2 = Sub<real>(_t06A1,_t06A3);
          real _t06AD#1 = Mul<real>(_t06A5,_t06A5);
          real score06AF#1 = Add<real>(score061D,_t06AD);
          goto JOIN06A0
        JOIN06A0:  preds = [ASSIGN06B1,COND06B2]
          real score06B0#2 = phi(score06AF,score061D)
          real _t06B3#1 = Dot<tensor[2]>(r00654,v01053C);
          real _t06B5#1 = Dot<tensor[2]>(r10682,v01053C);
          tensor[2] _t06B7#1 = <tensor[2]>[_t06B3,_t06B5];
          tensor[2] pos06C3#3 = Add<tensor[2]>(_t06B7,_t0692);
          bool _t06C6#1 = Inside<2>(pos06C3,F0530);
          if _t06C6 then goto ASSIGN06CB else goto ASSIGN06CD
        ASSIGN06CB:  preds = [COND06CE]
          bool _t06C9#1 = Inside<2>(v01053C,T0528);
          goto JOIN06C8
        JOIN06C8:  preds = [ASSIGN06CB,ASSIGN06CD]
          bool _t06CA#1 = phi(_t06C9,_t06CC)
          if _t06CA then goto ASSIGN06D1 else goto JOIN06CF
        ASSIGN06D1:  preds = [COND06E1]
          real _t06D0#1 = Probe<tensor[2],real>(F0530,pos06C3);
          real _t06D2#1 = Probe<tensor[2],real>(T0528,v01053C);
          real _t06D4#2 = Sub<real>(_t06D0,_t06D2);
          real _t06DC#1 = Mul<real>(_t06D4,_t06D4);
          real score06DE#1 = Add<real>(score06B0,_t06DC);
          goto JOIN06CF
        JOIN06CF:  preds = [ASSIGN06E0,COND06E1]
          real score06DF#2 = phi(score06DE,score06B0)
          real _t06E2#1 = Dot<tensor[2]>(r00654,v020542);
          real _t06E4#1 = Dot<tensor[2]>(r10682,v020542);
          tensor[2] _t06E6#1 = <tensor[2]>[_t06E2,_t06E4];
          tensor[2] pos06F2#3 = Add<tensor[2]>(_t06E6,_t0692);
          bool _t06F5#1 = Inside<2>(pos06F2,F0530);
          if _t06F5 then goto ASSIGN06FA else goto ASSIGN06FC
        ASSIGN06FA:  preds = [COND06FD]
          bool _t06F8#1 = Inside<2>(v020542,T0528);
          goto JOIN06F7
        JOIN06F7:  preds = [ASSIGN06FA,ASSIGN06FC]
          bool _t06F9#1 = phi(_t06F8,_t06FB)
          if _t06F9 then goto ASSIGN0700 else goto JOIN06FE
        ASSIGN0700:  preds = [COND0710]
          real _t06FF#1 = Probe<tensor[2],real>(F0530,pos06F2);
          real _t0701#1 = Probe<tensor[2],real>(T0528,v020542);
          real _t0703#2 = Sub<real>(_t06FF,_t0701);
          real _t070B#1 = Mul<real>(_t0703,_t0703);
          real score070D#1 = Add<real>(score06DF,_t070B);
          goto JOIN06FE
        JOIN06FE:  preds = [ASSIGN070F,COND0710]
          real score070E#2 = phi(score070D,score06DF)
          real _t0711#1 = Dot<tensor[2]>(r00654,v03054A);
          real _t0713#1 = Dot<tensor[2]>(r10682,v03054A);
          tensor[2] _t0715#1 = <tensor[2]>[_t0711,_t0713];
          tensor[2] pos0721#3 = Add<tensor[2]>(_t0715,_t0692);
          bool _t0724#1 = Inside<2>(pos0721,F0530);
          if _t0724 then goto ASSIGN0729 else goto ASSIGN072B
        ASSIGN0729:  preds = [COND072C]
          bool _t0727#1 = Inside<2>(v03054A,T0528);
          goto JOIN0726
        JOIN0726:  preds = [ASSIGN0729,ASSIGN072B]
          bool _t0728#1 = phi(_t0727,_t072A)
          if _t0728 then goto ASSIGN072F else goto JOIN072D
        ASSIGN072F:  preds = [COND073F]
          real _t072E#1 = Probe<tensor[2],real>(F0530,pos0721);
          real _t0730#1 = Probe<tensor[2],real>(T0528,v03054A);
          real _t0732#2 = Sub<real>(_t072E,_t0730);
          real _t073A#1 = Mul<real>(_t0732,_t0732);
          real score073C#1 = Add<real>(score070E,_t073A);
          goto JOIN072D
        JOIN072D:  preds = [ASSIGN073E,COND073F]
          real score073D#2 = phi(score073C,score070E)
          real _t0740#1 = Dot<tensor[2]>(r00654,v040552);
          real _t0742#1 = Dot<tensor[2]>(r10682,v040552);
          tensor[2] _t0744#1 = <tensor[2]>[_t0740,_t0742];
          tensor[2] pos0750#3 = Add<tensor[2]>(_t0744,_t0692);
          bool _t0753#1 = Inside<2>(pos0750,F0530);
          if _t0753 then goto ASSIGN0758 else goto ASSIGN075A
        ASSIGN0758:  preds = [COND075B]
          bool _t0756#1 = Inside<2>(v040552,T0528);
          goto JOIN0755
        JOIN0755:  preds = [ASSIGN0758,ASSIGN075A]
          bool _t0757#1 = phi(_t0756,_t0759)
          if _t0757 then goto ASSIGN075E else goto JOIN075C
        ASSIGN075E:  preds = [COND076E]
          real _t075D#1 = Probe<tensor[2],real>(F0530,pos0750);
          real _t075F#1 = Probe<tensor[2],real>(T0528,v040552);
          real _t0761#2 = Sub<real>(_t075D,_t075F);
          real _t0769#1 = Mul<real>(_t0761,_t0761);
          real score076B#1 = Add<real>(score073D,_t0769);
          goto JOIN075C
        JOIN075C:  preds = [ASSIGN076D,COND076E]
          real score076C#2 = phi(score076B,score073D)
          real _t076F#1 = Dot<tensor[2]>(r00654,v050558);
          real _t0771#1 = Dot<tensor[2]>(r10682,v050558);
          tensor[2] _t0773#1 = <tensor[2]>[_t076F,_t0771];
          tensor[2] pos077F#3 = Add<tensor[2]>(_t0773,_t0692);
          bool _t0782#1 = Inside<2>(pos077F,F0530);
          if _t0782 then goto ASSIGN0787 else goto ASSIGN0789
        ASSIGN0787:  preds = [COND078A]
          bool _t0785#1 = Inside<2>(v050558,T0528);
          goto JOIN0784
        JOIN0784:  preds = [ASSIGN0787,ASSIGN0789]
          bool _t0786#1 = phi(_t0785,_t0788)
          if _t0786 then goto ASSIGN078D else goto JOIN078B
        ASSIGN078D:  preds = [COND079D]
          real _t078C#1 = Probe<tensor[2],real>(F0530,pos077F);
          real _t078E#1 = Probe<tensor[2],real>(T0528,v050558);
          real _t0790#2 = Sub<real>(_t078C,_t078E);
          real _t0798#1 = Mul<real>(_t0790,_t0790);
          real score079A#1 = Add<real>(score076C,_t0798);
          goto JOIN078B
        JOIN078B:  preds = [ASSIGN079C,COND079D]
          real score079B#2 = phi(score079A,score076C)
          real _t079E#1 = Dot<tensor[2]>(r00654,v06055E);
          real _t07A0#1 = Dot<tensor[2]>(r10682,v06055E);
          tensor[2] _t07A2#1 = <tensor[2]>[_t079E,_t07A0];
          tensor[2] pos07AE#3 = Add<tensor[2]>(_t07A2,_t0692);
          bool _t07B1#1 = Inside<2>(pos07AE,F0530);
          if _t07B1 then goto ASSIGN07B6 else goto ASSIGN07B8
        ASSIGN07B6:  preds = [COND07B9]
          bool _t07B4#1 = Inside<2>(v06055E,T0528);
          goto JOIN07B3
        JOIN07B3:  preds = [ASSIGN07B6,ASSIGN07B8]
          bool _t07B5#1 = phi(_t07B4,_t07B7)
          if _t07B5 then goto ASSIGN07BC else goto JOIN07BA
        ASSIGN07BC:  preds = [COND07CC]
          real _t07BB#1 = Probe<tensor[2],real>(F0530,pos07AE);
          real _t07BD#1 = Probe<tensor[2],real>(T0528,v06055E);
          real _t07BF#2 = Sub<real>(_t07BB,_t07BD);
          real _t07C7#1 = Mul<real>(_t07BF,_t07BF);
          real score07C9#1 = Add<real>(score079B,_t07C7);
          goto JOIN07BA
        JOIN07BA:  preds = [ASSIGN07CB,COND07CC]
          real score07CA#2 = phi(score07C9,score079B)
          real _t07CD#1 = Dot<tensor[2]>(r00654,v070564);
          real _t07CF#1 = Dot<tensor[2]>(r10682,v070564);
          tensor[2] _t07D1#1 = <tensor[2]>[_t07CD,_t07CF];
          tensor[2] pos07DD#3 = Add<tensor[2]>(_t07D1,_t0692);
          bool _t07E0#1 = Inside<2>(pos07DD,F0530);
          if _t07E0 then goto ASSIGN07E5 else goto ASSIGN07E7
        ASSIGN07E5:  preds = [COND07E8]
          bool _t07E3#1 = Inside<2>(v070564,T0528);
          goto JOIN07E2
        JOIN07E2:  preds = [ASSIGN07E5,ASSIGN07E7]
          bool _t07E4#1 = phi(_t07E3,_t07E6)
          if _t07E4 then goto ASSIGN07EB else goto JOIN07E9
        ASSIGN07EB:  preds = [COND07FB]
          real _t07EA#1 = Probe<tensor[2],real>(F0530,pos07DD);
          real _t07EC#1 = Probe<tensor[2],real>(T0528,v070564);
          real _t07EE#2 = Sub<real>(_t07EA,_t07EC);
          real _t07F6#1 = Mul<real>(_t07EE,_t07EE);
          real score07F8#1 = Add<real>(score07CA,_t07F6);
          goto JOIN07E9
        JOIN07E9:  preds = [ASSIGN07FA,COND07FB]
          real score07F9#2 = phi(score07F8,score07CA)
          real _t07FC#1 = Dot<tensor[2]>(r00654,v08056C);
          real _t07FE#1 = Dot<tensor[2]>(r10682,v08056C);
          tensor[2] _t0800#1 = <tensor[2]>[_t07FC,_t07FE];
          tensor[2] pos080C#3 = Add<tensor[2]>(_t0800,_t0692);
          bool _t080F#1 = Inside<2>(pos080C,F0530);
          if _t080F then goto ASSIGN0814 else goto ASSIGN0816
        ASSIGN0814:  preds = [COND0817]
          bool _t0812#1 = Inside<2>(v08056C,T0528);
          goto JOIN0811
        JOIN0811:  preds = [ASSIGN0814,ASSIGN0816]
          bool _t0813#1 = phi(_t0812,_t0815)
          if _t0813 then goto ASSIGN081A else goto JOIN0818
        ASSIGN081A:  preds = [COND082A]
          real _t0819#1 = Probe<tensor[2],real>(F0530,pos080C);
          real _t081B#1 = Probe<tensor[2],real>(T0528,v08056C);
          real _t081D#2 = Sub<real>(_t0819,_t081B);
          real _t0825#1 = Mul<real>(_t081D,_t081D);
          real score0827#1 = Add<real>(score07F9,_t0825);
          goto JOIN0818
        JOIN0818:  preds = [ASSIGN0829,COND082A]
          real score0828#2 = phi(score0827,score07F9)
          real _t082B#1 = Dot<tensor[2]>(r00654,v090574);
          real _t082D#1 = Dot<tensor[2]>(r10682,v090574);
          tensor[2] _t082F#1 = <tensor[2]>[_t082B,_t082D];
          tensor[2] pos083B#3 = Add<tensor[2]>(_t082F,_t0692);
          bool _t083E#1 = Inside<2>(pos083B,F0530);
          if _t083E then goto ASSIGN0843 else goto ASSIGN0845
        ASSIGN0843:  preds = [COND0846]
          bool _t0841#1 = Inside<2>(v090574,T0528);
          goto JOIN0840
        JOIN0840:  preds = [ASSIGN0843,ASSIGN0845]
          bool _t0842#1 = phi(_t0841,_t0844)
          if _t0842 then goto ASSIGN0849 else goto JOIN0847
        ASSIGN0849:  preds = [COND0859]
          real _t0848#1 = Probe<tensor[2],real>(F0530,pos083B);
          real _t084A#1 = Probe<tensor[2],real>(T0528,v090574);
          real _t084C#2 = Sub<real>(_t0848,_t084A);
          real _t0854#1 = Mul<real>(_t084C,_t084C);
          real score0856#1 = Add<real>(score0828,_t0854);
          goto JOIN0847
        JOIN0847:  preds = [ASSIGN0858,COND0859]
          real score0857#2 = phi(score0856,score0828)
          real _t085A#1 = Dot<tensor[2]>(r00654,v10057A);
          real _t085C#1 = Dot<tensor[2]>(r10682,v10057A);
          tensor[2] _t085E#1 = <tensor[2]>[_t085A,_t085C];
          tensor[2] pos086A#3 = Add<tensor[2]>(_t085E,_t0692);
          bool _t086D#1 = Inside<2>(pos086A,F0530);
          if _t086D then goto ASSIGN0872 else goto ASSIGN0874
        ASSIGN0872:  preds = [COND0875]
          bool _t0870#1 = Inside<2>(v10057A,T0528);
          goto JOIN086F
        JOIN086F:  preds = [ASSIGN0872,ASSIGN0874]
          bool _t0871#1 = phi(_t0870,_t0873)
          if _t0871 then goto ASSIGN0878 else goto JOIN0876
        ASSIGN0878:  preds = [COND0888]
          real _t0877#1 = Probe<tensor[2],real>(F0530,pos086A);
          real _t0879#1 = Probe<tensor[2],real>(T0528,v10057A);
          real _t087B#2 = Sub<real>(_t0877,_t0879);
          real _t0883#1 = Mul<real>(_t087B,_t087B);
          real score0885#1 = Add<real>(score0857,_t0883);
          goto JOIN0876
        JOIN0876:  preds = [ASSIGN0887,COND0888]
          real score0886#2 = phi(score0885,score0857)
          real _t0889#1 = Dot<tensor[2]>(r00654,v110580);
          real _t088B#1 = Dot<tensor[2]>(r10682,v110580);
          tensor[2] _t088D#1 = <tensor[2]>[_t0889,_t088B];
          tensor[2] pos0899#3 = Add<tensor[2]>(_t088D,_t0692);
          bool _t089C#1 = Inside<2>(pos0899,F0530);
          if _t089C then goto ASSIGN08A1 else goto ASSIGN08A3
        ASSIGN08A1:  preds = [COND08A4]
          bool _t089F#1 = Inside<2>(v110580,T0528);
          goto JOIN089E
        JOIN089E:  preds = [ASSIGN08A1,ASSIGN08A3]
          bool _t08A0#1 = phi(_t089F,_t08A2)
          if _t08A0 then goto ASSIGN08A7 else goto JOIN08A5
        ASSIGN08A7:  preds = [COND08B7]
          real _t08A6#1 = Probe<tensor[2],real>(F0530,pos0899);
          real _t08A8#1 = Probe<tensor[2],real>(T0528,v110580);
          real _t08AA#2 = Sub<real>(_t08A6,_t08A8);
          real _t08B2#1 = Mul<real>(_t08AA,_t08AA);
          real score08B4#1 = Add<real>(score0886,_t08B2);
          goto JOIN08A5
        JOIN08A5:  preds = [ASSIGN08B6,COND08B7]
          real score08B5#2 = phi(score08B4,score0886)
          real _t08B8#1 = Dot<tensor[2]>(r00654,v120586);
          real _t08BA#1 = Dot<tensor[2]>(r10682,v120586);
          tensor[2] _t08BC#1 = <tensor[2]>[_t08B8,_t08BA];
          tensor[2] pos08C8#3 = Add<tensor[2]>(_t08BC,_t0692);
          bool _t08CB#1 = Inside<2>(pos08C8,F0530);
          if _t08CB then goto ASSIGN08D0 else goto ASSIGN08D2
        ASSIGN08D0:  preds = [COND08D3]
          bool _t08CE#1 = Inside<2>(v120586,T0528);
          goto JOIN08CD
        JOIN08CD:  preds = [ASSIGN08D0,ASSIGN08D2]
          bool _t08CF#1 = phi(_t08CE,_t08D1)
          if _t08CF then goto ASSIGN08D6 else goto JOIN08D4
        ASSIGN08D6:  preds = [COND08E6]
          real _t08D5#1 = Probe<tensor[2],real>(F0530,pos08C8);
          real _t08D7#1 = Probe<tensor[2],real>(T0528,v120586);
          real _t08D9#2 = Sub<real>(_t08D5,_t08D7);
          real _t08E1#1 = Mul<real>(_t08D9,_t08D9);
          real score08E3#1 = Add<real>(score08B5,_t08E1);
          goto JOIN08D4
        JOIN08D4:  preds = [ASSIGN08E5,COND08E6]
          real score08E4#2 = phi(score08E3,score08B5)
          real _t08E7#1 = Dot<tensor[2]>(r00654,v13058E);
          real _t08E9#1 = Dot<tensor[2]>(r10682,v13058E);
          tensor[2] _t08EB#1 = <tensor[2]>[_t08E7,_t08E9];
          tensor[2] pos08F7#3 = Add<tensor[2]>(_t08EB,_t0692);
          bool _t08FA#1 = Inside<2>(pos08F7,F0530);
          if _t08FA then goto ASSIGN08FF else goto ASSIGN0901
        ASSIGN08FF:  preds = [COND0902]
          bool _t08FD#1 = Inside<2>(v13058E,T0528);
          goto JOIN08FC
        JOIN08FC:  preds = [ASSIGN08FF,ASSIGN0901]
          bool _t08FE#1 = phi(_t08FD,_t0900)
          if _t08FE then goto ASSIGN0905 else goto JOIN0903
        ASSIGN0905:  preds = [COND0915]
          real _t0904#1 = Probe<tensor[2],real>(F0530,pos08F7);
          real _t0906#1 = Probe<tensor[2],real>(T0528,v13058E);
          real _t0908#2 = Sub<real>(_t0904,_t0906);
          real _t0910#1 = Mul<real>(_t0908,_t0908);
          real score0912#1 = Add<real>(score08E4,_t0910);
          goto JOIN0903
        JOIN0903:  preds = [ASSIGN0914,COND0915]
          real score0913#2 = phi(score0912,score08E4)
          real _t0916#1 = Dot<tensor[2]>(r00654,v140596);
          real _t0918#1 = Dot<tensor[2]>(r10682,v140596);
          tensor[2] _t091A#1 = <tensor[2]>[_t0916,_t0918];
          tensor[2] pos0926#3 = Add<tensor[2]>(_t091A,_t0692);
          bool _t0929#1 = Inside<2>(pos0926,F0530);
          if _t0929 then goto ASSIGN092E else goto ASSIGN0930
        ASSIGN092E:  preds = [COND0931]
          bool _t092C#1 = Inside<2>(v140596,T0528);
          goto JOIN092B
        JOIN092B:  preds = [ASSIGN092E,ASSIGN0930]
          bool _t092D#1 = phi(_t092C,_t092F)
          if _t092D then goto ASSIGN0934 else goto JOIN0932
        ASSIGN0934:  preds = [COND0944]
          real _t0933#1 = Probe<tensor[2],real>(F0530,pos0926);
          real _t0935#1 = Probe<tensor[2],real>(T0528,v140596);
          real _t0937#2 = Sub<real>(_t0933,_t0935);
          real _t093F#1 = Mul<real>(_t0937,_t0937);
          real score0941#1 = Add<real>(score0913,_t093F);
          goto JOIN0932
        JOIN0932:  preds = [ASSIGN0943,COND0944]
          real score0942#2 = phi(score0941,score0913)
          real _t0945#1 = Dot<tensor[2]>(r00654,v15059E);
          real _t0947#1 = Dot<tensor[2]>(r10682,v15059E);
          tensor[2] _t0949#1 = <tensor[2]>[_t0945,_t0947];
          tensor[2] pos0955#3 = Add<tensor[2]>(_t0949,_t0692);
          bool _t0958#1 = Inside<2>(pos0955,F0530);
          if _t0958 then goto ASSIGN095D else goto ASSIGN095F
        ASSIGN095D:  preds = [COND0960]
          bool _t095B#1 = Inside<2>(v15059E,T0528);
          goto JOIN095A
        JOIN095A:  preds = [ASSIGN095D,ASSIGN095F]
          bool _t095C#1 = phi(_t095B,_t095E)
          if _t095C then goto ASSIGN0963 else goto JOIN0961
        ASSIGN0963:  preds = [COND0973]
          real _t0962#1 = Probe<tensor[2],real>(F0530,pos0955);
          real _t0964#1 = Probe<tensor[2],real>(T0528,v15059E);
          real _t0966#2 = Sub<real>(_t0962,_t0964);
          real _t096E#1 = Mul<real>(_t0966,_t0966);
          real score0970#1 = Add<real>(score0942,_t096E);
          goto JOIN0961
        JOIN0961:  preds = [ASSIGN0972,COND0973]
          real score0971#2 = phi(score0970,score0942)
          real _t0974#1 = Dot<tensor[2]>(r00654,v1605A6);
          real _t0976#1 = Dot<tensor[2]>(r10682,v1605A6);
          tensor[2] _t0978#1 = <tensor[2]>[_t0974,_t0976];
          tensor[2] pos0984#3 = Add<tensor[2]>(_t0978,_t0692);
          bool _t0987#1 = Inside<2>(pos0984,F0530);
          if _t0987 then goto ASSIGN098C else goto ASSIGN098E
        ASSIGN098C:  preds = [COND098F]
          bool _t098A#1 = Inside<2>(v1605A6,T0528);
          goto JOIN0989
        JOIN0989:  preds = [ASSIGN098C,ASSIGN098E]
          bool _t098B#1 = phi(_t098A,_t098D)
          if _t098B then goto ASSIGN0992 else goto JOIN0990
        ASSIGN0992:  preds = [COND09A2]
          real _t0991#1 = Probe<tensor[2],real>(F0530,pos0984);
          real _t0993#1 = Probe<tensor[2],real>(T0528,v1605A6);
          real _t0995#2 = Sub<real>(_t0991,_t0993);
          real _t099D#1 = Mul<real>(_t0995,_t0995);
          real score099F#1 = Add<real>(score0971,_t099D);
          goto JOIN0990
        JOIN0990:  preds = [ASSIGN09A1,COND09A2]
          real score09A0#2 = phi(score099F,score0971)
          real _t09A3#1 = Dot<tensor[2]>(r00654,v1705AE);
          real _t09A5#1 = Dot<tensor[2]>(r10682,v1705AE);
          tensor[2] _t09A7#1 = <tensor[2]>[_t09A3,_t09A5];
          tensor[2] pos09B3#3 = Add<tensor[2]>(_t09A7,_t0692);
          bool _t09B6#1 = Inside<2>(pos09B3,F0530);
          if _t09B6 then goto ASSIGN09BB else goto ASSIGN09BD
        ASSIGN09BB:  preds = [COND09BE]
          bool _t09B9#1 = Inside<2>(v1705AE,T0528);
          goto JOIN09B8
        JOIN09B8:  preds = [ASSIGN09BB,ASSIGN09BD]
          bool _t09BA#1 = phi(_t09B9,_t09BC)
          if _t09BA then goto ASSIGN09C1 else goto JOIN09BF
        ASSIGN09C1:  preds = [COND09D1]
          real _t09C0#1 = Probe<tensor[2],real>(F0530,pos09B3);
          real _t09C2#1 = Probe<tensor[2],real>(T0528,v1705AE);
          real _t09C4#2 = Sub<real>(_t09C0,_t09C2);
          real _t09CC#1 = Mul<real>(_t09C4,_t09C4);
          real score09CE#1 = Add<real>(score09A0,_t09CC);
          goto JOIN09BF
        JOIN09BF:  preds = [ASSIGN09D0,COND09D1]
          real score09CF#2 = phi(score09CE,score09A0)
          real _t09D2#1 = Dot<tensor[2]>(r00654,v1805B8);
          real _t09D4#1 = Dot<tensor[2]>(r10682,v1805B8);
          tensor[2] _t09D6#1 = <tensor[2]>[_t09D2,_t09D4];
          tensor[2] pos09E2#3 = Add<tensor[2]>(_t09D6,_t0692);
          bool _t09E5#1 = Inside<2>(pos09E2,F0530);
          if _t09E5 then goto ASSIGN09EA else goto ASSIGN09EC
        ASSIGN09EA:  preds = [COND09ED]
          bool _t09E8#1 = Inside<2>(v1805B8,T0528);
          goto JOIN09E7
        JOIN09E7:  preds = [ASSIGN09EA,ASSIGN09EC]
          bool _t09E9#1 = phi(_t09E8,_t09EB)
          if _t09E9 then goto ASSIGN09F0 else goto JOIN09EE
        ASSIGN09F0:  preds = [COND0A00]
          real _t09EF#1 = Probe<tensor[2],real>(F0530,pos09E2);
          real _t09F1#1 = Probe<tensor[2],real>(T0528,v1805B8);
          real _t09F3#2 = Sub<real>(_t09EF,_t09F1);
          real _t09FB#1 = Mul<real>(_t09F3,_t09F3);
          real score09FD#1 = Add<real>(score09CF,_t09FB);
          goto JOIN09EE
        JOIN09EE:  preds = [ASSIGN09FF,COND0A00]
          real score09FE#2 = phi(score09FD,score09CF)
          real _t0A01#1 = Dot<tensor[2]>(r00654,v1905C2);
          real _t0A03#1 = Dot<tensor[2]>(r10682,v1905C2);
          tensor[2] _t0A05#1 = <tensor[2]>[_t0A01,_t0A03];
          tensor[2] pos0A11#4 = Add<tensor[2]>(_t0A05,_t0692);
          bool _t0A14#1 = Inside<2>(pos0A11,F0530);
          if _t0A14 then goto ASSIGN0A19 else goto ASSIGN0A1B
        ASSIGN0A19:  preds = [COND0A1C]
          bool _t0A17#1 = Inside<2>(v1905C2,T0528);
          goto JOIN0A16
        JOIN0A16:  preds = [ASSIGN0A19,ASSIGN0A1B]
          bool _t0A18#1 = phi(_t0A17,_t0A1A)
          if _t0A18 then goto ASSIGN0A1F else goto JOIN0A1D
        ASSIGN0A1F:  preds = [COND0A2F]
          real _t0A1E#1 = Probe<tensor[2],real>(F0530,pos0A11);
          real _t0A20#1 = Probe<tensor[2],real>(T0528,v1905C2);
          real _t0A22#2 = Sub<real>(_t0A1E,_t0A20);
          real _t0A2A#1 = Mul<real>(_t0A22,_t0A22);
          real score0A2C#1 = Add<real>(score09FE,_t0A2A);
          goto JOIN0A1D
        JOIN0A1D:  preds = [ASSIGN0A2E,COND0A2F]
          real score0A2D#1 = phi(score0A2C,score09FE)
          self.t = t061C;
          self.score = score0A2D;
          self.r0 = r00654;
          self.r1 = r10682;
          self.pos = pos0A11;
          stabilize ()
        ASSIGN0A1B:  preds = [COND0A1C]
          bool _t0A1A#1 = false;
          goto JOIN0A16
        ASSIGN09EC:  preds = [COND09ED]
          bool _t09EB#1 = false;
          goto JOIN09E7
        ASSIGN09BD:  preds = [COND09BE]
          bool _t09BC#1 = false;
          goto JOIN09B8
        ASSIGN098E:  preds = [COND098F]
          bool _t098D#1 = false;
          goto JOIN0989
        ASSIGN095F:  preds = [COND0960]
          bool _t095E#1 = false;
          goto JOIN095A
        ASSIGN0930:  preds = [COND0931]
          bool _t092F#1 = false;
          goto JOIN092B
        ASSIGN0901:  preds = [COND0902]
          bool _t0900#1 = false;
          goto JOIN08FC
        ASSIGN08D2:  preds = [COND08D3]
          bool _t08D1#1 = false;
          goto JOIN08CD
        ASSIGN08A3:  preds = [COND08A4]
          bool _t08A2#1 = false;
          goto JOIN089E
        ASSIGN0874:  preds = [COND0875]
          bool _t0873#1 = false;
          goto JOIN086F
        ASSIGN0845:  preds = [COND0846]
          bool _t0844#1 = false;
          goto JOIN0840
        ASSIGN0816:  preds = [COND0817]
          bool _t0815#1 = false;
          goto JOIN0811
        ASSIGN07E7:  preds = [COND07E8]
          bool _t07E6#1 = false;
          goto JOIN07E2
        ASSIGN07B8:  preds = [COND07B9]
          bool _t07B7#1 = false;
          goto JOIN07B3
        ASSIGN0789:  preds = [COND078A]
          bool _t0788#1 = false;
          goto JOIN0784
        ASSIGN075A:  preds = [COND075B]
          bool _t0759#1 = false;
          goto JOIN0755
        ASSIGN072B:  preds = [COND072C]
          bool _t072A#1 = false;
          goto JOIN0726
        ASSIGN06FC:  preds = [COND06FD]
          bool _t06FB#1 = false;
          goto JOIN06F7
        ASSIGN06CD:  preds = [COND06CE]
          bool _t06CC#1 = false;
          goto JOIN06C8
        ASSIGN069E:  preds = [COND069F]
          bool _t069D#1 = false;
          goto JOIN0699
    end Update
    method Stabilize
        ENTRY0A42:  preds = []
          tensor[3] t0A38#1 = self.t;
          real score0A39#1 = self.score;
          tensor[2] r00A3A#1 = self.r0;
          tensor[2] r10A3B#1 = self.r1;
          tensor[2] pos0A3C#1 = self.pos;
          self.t = t0A38;
          self.score = score0A39;
          self.r0 = r00A3A;
          self.r1 = r10A3B;
          self.pos = pos0A3C;
          return ()
    end Stabilize
  end R
#### end program ####
++ high-opt:unused
++ high-opt:unused
++ high-opt:unused
##### HighIL after normalization ####
## properties
  none
## globals
  global field T0528#60
  global field F0530#60
  global tensor[2] v000536#5
  global tensor[2] v01053C#5
  global tensor[2] v020542#5
  global tensor[2] v03054A#5
  global tensor[2] v040552#5
  global tensor[2] v050558#5
  global tensor[2] v06055E#5
  global tensor[2] v070564#5
  global tensor[2] v08056C#5
  global tensor[2] v090574#5
  global tensor[2] v10057A#5
  global tensor[2] v110580#5
  global tensor[2] v120586#5
  global tensor[2] v13058E#5
  global tensor[2] v140596#5
  global tensor[2] v15059E#5
  global tensor[2] v1605A6#5
  global tensor[2] v1705AE#5
  global tensor[2] v1805B8#5
  global tensor[2] v1905C2#5
  global string _t0524#1
  global image2D _t0526#1
  global kernel _t0522#3
  global string _t052C#1
  global image2D _t052E#1
  global real _t0532#17
  global real _t053A#27
  global real _t0548#17
  global real _t0540#22
  global real _t0550#7
## global initialization
  ENTRY05C4:  preds = []
    kernel _t0522#3 = Kernel<bspln3,0>;
    string _t0524#1 = "square-template.nrrd";
    image2D _t0526#1 = LoadImage<IMAGE2D<int>>(_t0524);
    field T0528#60 = Field<2>(_t0526,_t0522);
    string _t052C#1 = "square-rotate.nrrd";
    image2D _t052E#1 = LoadImage<IMAGE2D<float>>(_t052C);
    field F0530#60 = Field<2>(_t052E,_t0522);
    real _t0532#17 = 0.0;
    tensor[2] v000536#5 = <tensor[2]>[_t0532,_t0532];
    real _t053A#27 = 0.25e0;
    tensor[2] v01053C#5 = <tensor[2]>[_t0532,_t053A];
    real _t0540#22 = 0.5e0;
    tensor[2] v020542#5 = <tensor[2]>[_t0532,_t0540];
    real _t0548#17 = Neg<real>(_t053A);
    tensor[2] v03054A#5 = <tensor[2]>[_t0532,_t0548];
    real _t0550#7 = Neg<real>(_t0540);
    tensor[2] v040552#5 = <tensor[2]>[_t0532,_t0550];
    tensor[2] v050558#5 = <tensor[2]>[_t053A,_t0532];
    tensor[2] v06055E#5 = <tensor[2]>[_t053A,_t053A];
    tensor[2] v070564#5 = <tensor[2]>[_t053A,_t0540];
    tensor[2] v08056C#5 = <tensor[2]>[_t053A,_t0548];
    tensor[2] v090574#5 = <tensor[2]>[_t053A,_t0550];
    tensor[2] v10057A#5 = <tensor[2]>[_t0540,_t0532];
    tensor[2] v110580#5 = <tensor[2]>[_t0540,_t053A];
    tensor[2] v120586#5 = <tensor[2]>[_t0540,_t0540];
    tensor[2] v13058E#5 = <tensor[2]>[_t0540,_t0548];
    tensor[2] v140596#5 = <tensor[2]>[_t0540,_t0550];
    tensor[2] v15059E#5 = <tensor[2]>[_t0548,_t0532];
    tensor[2] v1605A6#5 = <tensor[2]>[_t0548,_t053A];
    tensor[2] v1705AE#5 = <tensor[2]>[_t0548,_t0540];
    tensor[2] v1805B8#5 = <tensor[2]>[_t0548,_t0548];
    tensor[2] v1905C2#5 = <tensor[2]>[_t0548,_t0550];
    return (T0528,F0530,v000536,v01053C,v020542,v03054A,v040552,v050558,v06055E,v070564,v08056C,v090574,v10057A,v110580,v120586,v13058E,v140596,v15059E,v1605A6,v1705AE,v1805B8,v1905C2,_t0524,_t0526,_t0522,_t052C,_t052E,_t0532,_t053A,_t0548,_t0540,_t0550)
## initially
  ARRAY
    ENTRY05D2:  preds = []
      int _t05C6#4 = 0;
      int _t05C8#4 = 60;
      live vars = (_t05C8,_t05C6)
    for int i05D4#1 = _t05C6 .. _t05C8
      for int j05D5#1 = _t05C6 .. _t05C8
        for int k05D6#1 = _t05C6 .. _t05C8
          ENTRY05D7:  preds = []
            live vars = ()
          new R(i05D4,j05D5,k05D6);
## strands
  strand R (int i05D9#1, int j05DA#1, int k05DB#1)
    state: tensor[3] self.t;output real self.score;tensor[2] self.r0;tensor[2] self.r1;tensor[2] self.pos;
      ENTRY0615:  preds = []
        real _t05E1#1 = IntToReal(i05D9);
        real _t05E3#3 = 0.60e2;
        real _t05E5#1 = Div<real>(_t05E1,_t05E3);
        real _t05E7#3 = 0.5e0;
        real _t05E9#1 = Sub<real>(_t05E5,_t05E7);
        real _t05EB#1 = IntToReal(j05DA);
        real _t05EF#1 = Div<real>(_t05EB,_t05E3);
        real _t05F3#1 = Sub<real>(_t05EF,_t05E7);
        real _t05F5#1 = IntToReal(k05DB);
        real _t05F9#1 = Div<real>(_t05F5,_t05E3);
        real _t05FD#1 = Sub<real>(_t05F9,_t05E7);
        tensor[3] t05FF#1 = <tensor[3]>[_t05E9,_t05F3,_t05FD];
        real score0601#3 = 0.0;
        tensor[2] r00607#3 = <tensor[2]>[score0601,score0601];
        self.t = t05FF;
        self.score = score0601;
        self.r0 = r00607;
        self.r1 = r00607;
        self.pos = r00607;
        strand_init ()
    method Update
        ENTRY0A36:  preds = []
          tensor[3] t061C#51 = self.t;
          real score061D#2 = self.score;
          real _t0626#2 = 0.1e1;
          real _t0628#3 = 0.2e1;
          int _t062A#1 = 2;
          real _t062C#6 = TensorSub<tensor[3]>(t061C,_t062A);
          real _t062E#1 = Mul<real>(_t0628,_t062C);
          real _t0634#1 = Mul<real>(_t062E,_t062C);
          real _t0636#2 = Sub<real>(_t0626,_t0634);
          real _t063A#1 = Neg<real>(_t0628);
          real _t0646#1 = Mul<real>(_t062C,_t062C);
          real _t0648#1 = Sub<real>(_t0626,_t0646);
          real _t064A#2 = sqrt(_t0648);
          real _t064C#1 = Mul<real>(_t063A,_t064A);
          real _t0652#1 = Mul<real>(_t064C,_t062C);
          tensor[2] r00654#21 = <tensor[2]>[_t0636,_t0652];
          real _t0668#1 = Mul<real>(_t0628,_t064A);
          real _t066E#1 = Mul<real>(_t0668,_t062C);
          tensor[2] r10682#21 = <tensor[2]>[_t066E,_t0636];
          real _t0684#1 = Dot<tensor[2]>(r00654,v000536);
          real _t0686#1 = Dot<tensor[2]>(r10682,v000536);
          tensor[2] _t0688#1 = <tensor[2]>[_t0684,_t0686];
          int _t068A#1 = 0;
          real _t068C#1 = TensorSub<tensor[3]>(t061C,_t068A);
          int _t068E#1 = 1;
          real _t0690#1 = TensorSub<tensor[3]>(t061C,_t068E);
          tensor[2] _t0692#20 = <tensor[2]>[_t068C,_t0690];
          tensor[2] pos0694#3 = Add<tensor[2]>(_t0688,_t0692);
          bool _t0697#1 = Inside<2>(pos0694,F0530);
          if _t0697 then goto ASSIGN069C else goto ASSIGN069E
        ASSIGN069C:  preds = [COND069F]
          bool _t069A#1 = Inside<2>(v000536,T0528);
          goto JOIN0699
        JOIN0699:  preds = [ASSIGN069C,ASSIGN069E]
          bool _t069B#1 = phi(_t069A,_t069D)
          if _t069B then goto ASSIGN06A2 else goto JOIN06A0
        ASSIGN06A2:  preds = [COND06B2]
          real _t06A1#1 = Probe<tensor[2],real>(F0530,pos0694);
          real _t06A3#1 = Probe<tensor[2],real>(T0528,v000536);
          real _t06A5#2 = Sub<real>(_t06A1,_t06A3);
          real _t06AD#1 = Mul<real>(_t06A5,_t06A5);
          real score06AF#1 = Add<real>(score061D,_t06AD);
          goto JOIN06A0
        JOIN06A0:  preds = [ASSIGN06B1,COND06B2]
          real score06B0#2 = phi(score06AF,score061D)
          real _t06B3#1 = Dot<tensor[2]>(r00654,v01053C);
          real _t06B5#1 = Dot<tensor[2]>(r10682,v01053C);
          tensor[2] _t06B7#1 = <tensor[2]>[_t06B3,_t06B5];
          tensor[2] pos06C3#3 = Add<tensor[2]>(_t06B7,_t0692);
          bool _t06C6#1 = Inside<2>(pos06C3,F0530);
          if _t06C6 then goto ASSIGN06CB else goto ASSIGN06CD
        ASSIGN06CB:  preds = [COND06CE]
          bool _t06C9#1 = Inside<2>(v01053C,T0528);
          goto JOIN06C8
        JOIN06C8:  preds = [ASSIGN06CB,ASSIGN06CD]
          bool _t06CA#1 = phi(_t06C9,_t06CC)
          if _t06CA then goto ASSIGN06D1 else goto JOIN06CF
        ASSIGN06D1:  preds = [COND06E1]
          real _t06D0#1 = Probe<tensor[2],real>(F0530,pos06C3);
          real _t06D2#1 = Probe<tensor[2],real>(T0528,v01053C);
          real _t06D4#2 = Sub<real>(_t06D0,_t06D2);
          real _t06DC#1 = Mul<real>(_t06D4,_t06D4);
          real score06DE#1 = Add<real>(score06B0,_t06DC);
          goto JOIN06CF
        JOIN06CF:  preds = [ASSIGN06E0,COND06E1]
          real score06DF#2 = phi(score06DE,score06B0)
          real _t06E2#1 = Dot<tensor[2]>(r00654,v020542);
          real _t06E4#1 = Dot<tensor[2]>(r10682,v020542);
          tensor[2] _t06E6#1 = <tensor[2]>[_t06E2,_t06E4];
          tensor[2] pos06F2#3 = Add<tensor[2]>(_t06E6,_t0692);
          bool _t06F5#1 = Inside<2>(pos06F2,F0530);
          if _t06F5 then goto ASSIGN06FA else goto ASSIGN06FC
        ASSIGN06FA:  preds = [COND06FD]
          bool _t06F8#1 = Inside<2>(v020542,T0528);
          goto JOIN06F7
        JOIN06F7:  preds = [ASSIGN06FA,ASSIGN06FC]
          bool _t06F9#1 = phi(_t06F8,_t06FB)
          if _t06F9 then goto ASSIGN0700 else goto JOIN06FE
        ASSIGN0700:  preds = [COND0710]
          real _t06FF#1 = Probe<tensor[2],real>(F0530,pos06F2);
          real _t0701#1 = Probe<tensor[2],real>(T0528,v020542);
          real _t0703#2 = Sub<real>(_t06FF,_t0701);
          real _t070B#1 = Mul<real>(_t0703,_t0703);
          real score070D#1 = Add<real>(score06DF,_t070B);
          goto JOIN06FE
        JOIN06FE:  preds = [ASSIGN070F,COND0710]
          real score070E#2 = phi(score070D,score06DF)
          real _t0711#1 = Dot<tensor[2]>(r00654,v03054A);
          real _t0713#1 = Dot<tensor[2]>(r10682,v03054A);
          tensor[2] _t0715#1 = <tensor[2]>[_t0711,_t0713];
          tensor[2] pos0721#3 = Add<tensor[2]>(_t0715,_t0692);
          bool _t0724#1 = Inside<2>(pos0721,F0530);
          if _t0724 then goto ASSIGN0729 else goto ASSIGN072B
        ASSIGN0729:  preds = [COND072C]
          bool _t0727#1 = Inside<2>(v03054A,T0528);
          goto JOIN0726
        JOIN0726:  preds = [ASSIGN0729,ASSIGN072B]
          bool _t0728#1 = phi(_t0727,_t072A)
          if _t0728 then goto ASSIGN072F else goto JOIN072D
        ASSIGN072F:  preds = [COND073F]
          real _t072E#1 = Probe<tensor[2],real>(F0530,pos0721);
          real _t0730#1 = Probe<tensor[2],real>(T0528,v03054A);
          real _t0732#2 = Sub<real>(_t072E,_t0730);
          real _t073A#1 = Mul<real>(_t0732,_t0732);
          real score073C#1 = Add<real>(score070E,_t073A);
          goto JOIN072D
        JOIN072D:  preds = [ASSIGN073E,COND073F]
          real score073D#2 = phi(score073C,score070E)
          real _t0740#1 = Dot<tensor[2]>(r00654,v040552);
          real _t0742#1 = Dot<tensor[2]>(r10682,v040552);
          tensor[2] _t0744#1 = <tensor[2]>[_t0740,_t0742];
          tensor[2] pos0750#3 = Add<tensor[2]>(_t0744,_t0692);
          bool _t0753#1 = Inside<2>(pos0750,F0530);
          if _t0753 then goto ASSIGN0758 else goto ASSIGN075A
        ASSIGN0758:  preds = [COND075B]
          bool _t0756#1 = Inside<2>(v040552,T0528);
          goto JOIN0755
        JOIN0755:  preds = [ASSIGN0758,ASSIGN075A]
          bool _t0757#1 = phi(_t0756,_t0759)
          if _t0757 then goto ASSIGN075E else goto JOIN075C
        ASSIGN075E:  preds = [COND076E]
          real _t075D#1 = Probe<tensor[2],real>(F0530,pos0750);
          real _t075F#1 = Probe<tensor[2],real>(T0528,v040552);
          real _t0761#2 = Sub<real>(_t075D,_t075F);
          real _t0769#1 = Mul<real>(_t0761,_t0761);
          real score076B#1 = Add<real>(score073D,_t0769);
          goto JOIN075C
        JOIN075C:  preds = [ASSIGN076D,COND076E]
          real score076C#2 = phi(score076B,score073D)
          real _t076F#1 = Dot<tensor[2]>(r00654,v050558);
          real _t0771#1 = Dot<tensor[2]>(r10682,v050558);
          tensor[2] _t0773#1 = <tensor[2]>[_t076F,_t0771];
          tensor[2] pos077F#3 = Add<tensor[2]>(_t0773,_t0692);
          bool _t0782#1 = Inside<2>(pos077F,F0530);
          if _t0782 then goto ASSIGN0787 else goto ASSIGN0789
        ASSIGN0787:  preds = [COND078A]
          bool _t0785#1 = Inside<2>(v050558,T0528);
          goto JOIN0784
        JOIN0784:  preds = [ASSIGN0787,ASSIGN0789]
          bool _t0786#1 = phi(_t0785,_t0788)
          if _t0786 then goto ASSIGN078D else goto JOIN078B
        ASSIGN078D:  preds = [COND079D]
          real _t078C#1 = Probe<tensor[2],real>(F0530,pos077F);
          real _t078E#1 = Probe<tensor[2],real>(T0528,v050558);
          real _t0790#2 = Sub<real>(_t078C,_t078E);
          real _t0798#1 = Mul<real>(_t0790,_t0790);
          real score079A#1 = Add<real>(score076C,_t0798);
          goto JOIN078B
        JOIN078B:  preds = [ASSIGN079C,COND079D]
          real score079B#2 = phi(score079A,score076C)
          real _t079E#1 = Dot<tensor[2]>(r00654,v06055E);
          real _t07A0#1 = Dot<tensor[2]>(r10682,v06055E);
          tensor[2] _t07A2#1 = <tensor[2]>[_t079E,_t07A0];
          tensor[2] pos07AE#3 = Add<tensor[2]>(_t07A2,_t0692);
          bool _t07B1#1 = Inside<2>(pos07AE,F0530);
          if _t07B1 then goto ASSIGN07B6 else goto ASSIGN07B8
        ASSIGN07B6:  preds = [COND07B9]
          bool _t07B4#1 = Inside<2>(v06055E,T0528);
          goto JOIN07B3
        JOIN07B3:  preds = [ASSIGN07B6,ASSIGN07B8]
          bool _t07B5#1 = phi(_t07B4,_t07B7)
          if _t07B5 then goto ASSIGN07BC else goto JOIN07BA
        ASSIGN07BC:  preds = [COND07CC]
          real _t07BB#1 = Probe<tensor[2],real>(F0530,pos07AE);
          real _t07BD#1 = Probe<tensor[2],real>(T0528,v06055E);
          real _t07BF#2 = Sub<real>(_t07BB,_t07BD);
          real _t07C7#1 = Mul<real>(_t07BF,_t07BF);
          real score07C9#1 = Add<real>(score079B,_t07C7);
          goto JOIN07BA
        JOIN07BA:  preds = [ASSIGN07CB,COND07CC]
          real score07CA#2 = phi(score07C9,score079B)
          real _t07CD#1 = Dot<tensor[2]>(r00654,v070564);
          real _t07CF#1 = Dot<tensor[2]>(r10682,v070564);
          tensor[2] _t07D1#1 = <tensor[2]>[_t07CD,_t07CF];
          tensor[2] pos07DD#3 = Add<tensor[2]>(_t07D1,_t0692);
          bool _t07E0#1 = Inside<2>(pos07DD,F0530);
          if _t07E0 then goto ASSIGN07E5 else goto ASSIGN07E7
        ASSIGN07E5:  preds = [COND07E8]
          bool _t07E3#1 = Inside<2>(v070564,T0528);
          goto JOIN07E2
        JOIN07E2:  preds = [ASSIGN07E5,ASSIGN07E7]
          bool _t07E4#1 = phi(_t07E3,_t07E6)
          if _t07E4 then goto ASSIGN07EB else goto JOIN07E9
        ASSIGN07EB:  preds = [COND07FB]
          real _t07EA#1 = Probe<tensor[2],real>(F0530,pos07DD);
          real _t07EC#1 = Probe<tensor[2],real>(T0528,v070564);
          real _t07EE#2 = Sub<real>(_t07EA,_t07EC);
          real _t07F6#1 = Mul<real>(_t07EE,_t07EE);
          real score07F8#1 = Add<real>(score07CA,_t07F6);
          goto JOIN07E9
        JOIN07E9:  preds = [ASSIGN07FA,COND07FB]
          real score07F9#2 = phi(score07F8,score07CA)
          real _t07FC#1 = Dot<tensor[2]>(r00654,v08056C);
          real _t07FE#1 = Dot<tensor[2]>(r10682,v08056C);
          tensor[2] _t0800#1 = <tensor[2]>[_t07FC,_t07FE];
          tensor[2] pos080C#3 = Add<tensor[2]>(_t0800,_t0692);
          bool _t080F#1 = Inside<2>(pos080C,F0530);
          if _t080F then goto ASSIGN0814 else goto ASSIGN0816
        ASSIGN0814:  preds = [COND0817]
          bool _t0812#1 = Inside<2>(v08056C,T0528);
          goto JOIN0811
        JOIN0811:  preds = [ASSIGN0814,ASSIGN0816]
          bool _t0813#1 = phi(_t0812,_t0815)
          if _t0813 then goto ASSIGN081A else goto JOIN0818
        ASSIGN081A:  preds = [COND082A]
          real _t0819#1 = Probe<tensor[2],real>(F0530,pos080C);
          real _t081B#1 = Probe<tensor[2],real>(T0528,v08056C);
          real _t081D#2 = Sub<real>(_t0819,_t081B);
          real _t0825#1 = Mul<real>(_t081D,_t081D);
          real score0827#1 = Add<real>(score07F9,_t0825);
          goto JOIN0818
        JOIN0818:  preds = [ASSIGN0829,COND082A]
          real score0828#2 = phi(score0827,score07F9)
          real _t082B#1 = Dot<tensor[2]>(r00654,v090574);
          real _t082D#1 = Dot<tensor[2]>(r10682,v090574);
          tensor[2] _t082F#1 = <tensor[2]>[_t082B,_t082D];
          tensor[2] pos083B#3 = Add<tensor[2]>(_t082F,_t0692);
          bool _t083E#1 = Inside<2>(pos083B,F0530);
          if _t083E then goto ASSIGN0843 else goto ASSIGN0845
        ASSIGN0843:  preds = [COND0846]
          bool _t0841#1 = Inside<2>(v090574,T0528);
          goto JOIN0840
        JOIN0840:  preds = [ASSIGN0843,ASSIGN0845]
          bool _t0842#1 = phi(_t0841,_t0844)
          if _t0842 then goto ASSIGN0849 else goto JOIN0847
        ASSIGN0849:  preds = [COND0859]
          real _t0848#1 = Probe<tensor[2],real>(F0530,pos083B);
          real _t084A#1 = Probe<tensor[2],real>(T0528,v090574);
          real _t084C#2 = Sub<real>(_t0848,_t084A);
          real _t0854#1 = Mul<real>(_t084C,_t084C);
          real score0856#1 = Add<real>(score0828,_t0854);
          goto JOIN0847
        JOIN0847:  preds = [ASSIGN0858,COND0859]
          real score0857#2 = phi(score0856,score0828)
          real _t085A#1 = Dot<tensor[2]>(r00654,v10057A);
          real _t085C#1 = Dot<tensor[2]>(r10682,v10057A);
          tensor[2] _t085E#1 = <tensor[2]>[_t085A,_t085C];
          tensor[2] pos086A#3 = Add<tensor[2]>(_t085E,_t0692);
          bool _t086D#1 = Inside<2>(pos086A,F0530);
          if _t086D then goto ASSIGN0872 else goto ASSIGN0874
        ASSIGN0872:  preds = [COND0875]
          bool _t0870#1 = Inside<2>(v10057A,T0528);
          goto JOIN086F
        JOIN086F:  preds = [ASSIGN0872,ASSIGN0874]
          bool _t0871#1 = phi(_t0870,_t0873)
          if _t0871 then goto ASSIGN0878 else goto JOIN0876
        ASSIGN0878:  preds = [COND0888]
          real _t0877#1 = Probe<tensor[2],real>(F0530,pos086A);
          real _t0879#1 = Probe<tensor[2],real>(T0528,v10057A);
          real _t087B#2 = Sub<real>(_t0877,_t0879);
          real _t0883#1 = Mul<real>(_t087B,_t087B);
          real score0885#1 = Add<real>(score0857,_t0883);
          goto JOIN0876
        JOIN0876:  preds = [ASSIGN0887,COND0888]
          real score0886#2 = phi(score0885,score0857)
          real _t0889#1 = Dot<tensor[2]>(r00654,v110580);
          real _t088B#1 = Dot<tensor[2]>(r10682,v110580);
          tensor[2] _t088D#1 = <tensor[2]>[_t0889,_t088B];
          tensor[2] pos0899#3 = Add<tensor[2]>(_t088D,_t0692);
          bool _t089C#1 = Inside<2>(pos0899,F0530);
          if _t089C then goto ASSIGN08A1 else goto ASSIGN08A3
        ASSIGN08A1:  preds = [COND08A4]
          bool _t089F#1 = Inside<2>(v110580,T0528);
          goto JOIN089E
        JOIN089E:  preds = [ASSIGN08A1,ASSIGN08A3]
          bool _t08A0#1 = phi(_t089F,_t08A2)
          if _t08A0 then goto ASSIGN08A7 else goto JOIN08A5
        ASSIGN08A7:  preds = [COND08B7]
          real _t08A6#1 = Probe<tensor[2],real>(F0530,pos0899);
          real _t08A8#1 = Probe<tensor[2],real>(T0528,v110580);
          real _t08AA#2 = Sub<real>(_t08A6,_t08A8);
          real _t08B2#1 = Mul<real>(_t08AA,_t08AA);
          real score08B4#1 = Add<real>(score0886,_t08B2);
          goto JOIN08A5
        JOIN08A5:  preds = [ASSIGN08B6,COND08B7]
          real score08B5#2 = phi(score08B4,score0886)
          real _t08B8#1 = Dot<tensor[2]>(r00654,v120586);
          real _t08BA#1 = Dot<tensor[2]>(r10682,v120586);
          tensor[2] _t08BC#1 = <tensor[2]>[_t08B8,_t08BA];
          tensor[2] pos08C8#3 = Add<tensor[2]>(_t08BC,_t0692);
          bool _t08CB#1 = Inside<2>(pos08C8,F0530);
          if _t08CB then goto ASSIGN08D0 else goto ASSIGN08D2
        ASSIGN08D0:  preds = [COND08D3]
          bool _t08CE#1 = Inside<2>(v120586,T0528);
          goto JOIN08CD
        JOIN08CD:  preds = [ASSIGN08D0,ASSIGN08D2]
          bool _t08CF#1 = phi(_t08CE,_t08D1)
          if _t08CF then goto ASSIGN08D6 else goto JOIN08D4
        ASSIGN08D6:  preds = [COND08E6]
          real _t08D5#1 = Probe<tensor[2],real>(F0530,pos08C8);
          real _t08D7#1 = Probe<tensor[2],real>(T0528,v120586);
          real _t08D9#2 = Sub<real>(_t08D5,_t08D7);
          real _t08E1#1 = Mul<real>(_t08D9,_t08D9);
          real score08E3#1 = Add<real>(score08B5,_t08E1);
          goto JOIN08D4
        JOIN08D4:  preds = [ASSIGN08E5,COND08E6]
          real score08E4#2 = phi(score08E3,score08B5)
          real _t08E7#1 = Dot<tensor[2]>(r00654,v13058E);
          real _t08E9#1 = Dot<tensor[2]>(r10682,v13058E);
          tensor[2] _t08EB#1 = <tensor[2]>[_t08E7,_t08E9];
          tensor[2] pos08F7#3 = Add<tensor[2]>(_t08EB,_t0692);
          bool _t08FA#1 = Inside<2>(pos08F7,F0530);
          if _t08FA then goto ASSIGN08FF else goto ASSIGN0901
        ASSIGN08FF:  preds = [COND0902]
          bool _t08FD#1 = Inside<2>(v13058E,T0528);
          goto JOIN08FC
        JOIN08FC:  preds = [ASSIGN08FF,ASSIGN0901]
          bool _t08FE#1 = phi(_t08FD,_t0900)
          if _t08FE then goto ASSIGN0905 else goto JOIN0903
        ASSIGN0905:  preds = [COND0915]
          real _t0904#1 = Probe<tensor[2],real>(F0530,pos08F7);
          real _t0906#1 = Probe<tensor[2],real>(T0528,v13058E);
          real _t0908#2 = Sub<real>(_t0904,_t0906);
          real _t0910#1 = Mul<real>(_t0908,_t0908);
          real score0912#1 = Add<real>(score08E4,_t0910);
          goto JOIN0903
        JOIN0903:  preds = [ASSIGN0914,COND0915]
          real score0913#2 = phi(score0912,score08E4)
          real _t0916#1 = Dot<tensor[2]>(r00654,v140596);
          real _t0918#1 = Dot<tensor[2]>(r10682,v140596);
          tensor[2] _t091A#1 = <tensor[2]>[_t0916,_t0918];
          tensor[2] pos0926#3 = Add<tensor[2]>(_t091A,_t0692);
          bool _t0929#1 = Inside<2>(pos0926,F0530);
          if _t0929 then goto ASSIGN092E else goto ASSIGN0930
        ASSIGN092E:  preds = [COND0931]
          bool _t092C#1 = Inside<2>(v140596,T0528);
          goto JOIN092B
        JOIN092B:  preds = [ASSIGN092E,ASSIGN0930]
          bool _t092D#1 = phi(_t092C,_t092F)
          if _t092D then goto ASSIGN0934 else goto JOIN0932
        ASSIGN0934:  preds = [COND0944]
          real _t0933#1 = Probe<tensor[2],real>(F0530,pos0926);
          real _t0935#1 = Probe<tensor[2],real>(T0528,v140596);
          real _t0937#2 = Sub<real>(_t0933,_t0935);
          real _t093F#1 = Mul<real>(_t0937,_t0937);
          real score0941#1 = Add<real>(score0913,_t093F);
          goto JOIN0932
        JOIN0932:  preds = [ASSIGN0943,COND0944]
          real score0942#2 = phi(score0941,score0913)
          real _t0945#1 = Dot<tensor[2]>(r00654,v15059E);
          real _t0947#1 = Dot<tensor[2]>(r10682,v15059E);
          tensor[2] _t0949#1 = <tensor[2]>[_t0945,_t0947];
          tensor[2] pos0955#3 = Add<tensor[2]>(_t0949,_t0692);
          bool _t0958#1 = Inside<2>(pos0955,F0530);
          if _t0958 then goto ASSIGN095D else goto ASSIGN095F
        ASSIGN095D:  preds = [COND0960]
          bool _t095B#1 = Inside<2>(v15059E,T0528);
          goto JOIN095A
        JOIN095A:  preds = [ASSIGN095D,ASSIGN095F]
          bool _t095C#1 = phi(_t095B,_t095E)
          if _t095C then goto ASSIGN0963 else goto JOIN0961
        ASSIGN0963:  preds = [COND0973]
          real _t0962#1 = Probe<tensor[2],real>(F0530,pos0955);
          real _t0964#1 = Probe<tensor[2],real>(T0528,v15059E);
          real _t0966#2 = Sub<real>(_t0962,_t0964);
          real _t096E#1 = Mul<real>(_t0966,_t0966);
          real score0970#1 = Add<real>(score0942,_t096E);
          goto JOIN0961
        JOIN0961:  preds = [ASSIGN0972,COND0973]
          real score0971#2 = phi(score0970,score0942)
          real _t0974#1 = Dot<tensor[2]>(r00654,v1605A6);
          real _t0976#1 = Dot<tensor[2]>(r10682,v1605A6);
          tensor[2] _t0978#1 = <tensor[2]>[_t0974,_t0976];
          tensor[2] pos0984#3 = Add<tensor[2]>(_t0978,_t0692);
          bool _t0987#1 = Inside<2>(pos0984,F0530);
          if _t0987 then goto ASSIGN098C else goto ASSIGN098E
        ASSIGN098C:  preds = [COND098F]
          bool _t098A#1 = Inside<2>(v1605A6,T0528);
          goto JOIN0989
        JOIN0989:  preds = [ASSIGN098C,ASSIGN098E]
          bool _t098B#1 = phi(_t098A,_t098D)
          if _t098B then goto ASSIGN0992 else goto JOIN0990
        ASSIGN0992:  preds = [COND09A2]
          real _t0991#1 = Probe<tensor[2],real>(F0530,pos0984);
          real _t0993#1 = Probe<tensor[2],real>(T0528,v1605A6);
          real _t0995#2 = Sub<real>(_t0991,_t0993);
          real _t099D#1 = Mul<real>(_t0995,_t0995);
          real score099F#1 = Add<real>(score0971,_t099D);
          goto JOIN0990
        JOIN0990:  preds = [ASSIGN09A1,COND09A2]
          real score09A0#2 = phi(score099F,score0971)
          real _t09A3#1 = Dot<tensor[2]>(r00654,v1705AE);
          real _t09A5#1 = Dot<tensor[2]>(r10682,v1705AE);
          tensor[2] _t09A7#1 = <tensor[2]>[_t09A3,_t09A5];
          tensor[2] pos09B3#3 = Add<tensor[2]>(_t09A7,_t0692);
          bool _t09B6#1 = Inside<2>(pos09B3,F0530);
          if _t09B6 then goto ASSIGN09BB else goto ASSIGN09BD
        ASSIGN09BB:  preds = [COND09BE]
          bool _t09B9#1 = Inside<2>(v1705AE,T0528);
          goto JOIN09B8
        JOIN09B8:  preds = [ASSIGN09BB,ASSIGN09BD]
          bool _t09BA#1 = phi(_t09B9,_t09BC)
          if _t09BA then goto ASSIGN09C1 else goto JOIN09BF
        ASSIGN09C1:  preds = [COND09D1]
          real _t09C0#1 = Probe<tensor[2],real>(F0530,pos09B3);
          real _t09C2#1 = Probe<tensor[2],real>(T0528,v1705AE);
          real _t09C4#2 = Sub<real>(_t09C0,_t09C2);
          real _t09CC#1 = Mul<real>(_t09C4,_t09C4);
          real score09CE#1 = Add<real>(score09A0,_t09CC);
          goto JOIN09BF
        JOIN09BF:  preds = [ASSIGN09D0,COND09D1]
          real score09CF#2 = phi(score09CE,score09A0)
          real _t09D2#1 = Dot<tensor[2]>(r00654,v1805B8);
          real _t09D4#1 = Dot<tensor[2]>(r10682,v1805B8);
          tensor[2] _t09D6#1 = <tensor[2]>[_t09D2,_t09D4];
          tensor[2] pos09E2#3 = Add<tensor[2]>(_t09D6,_t0692);
          bool _t09E5#1 = Inside<2>(pos09E2,F0530);
          if _t09E5 then goto ASSIGN09EA else goto ASSIGN09EC
        ASSIGN09EA:  preds = [COND09ED]
          bool _t09E8#1 = Inside<2>(v1805B8,T0528);
          goto JOIN09E7
        JOIN09E7:  preds = [ASSIGN09EA,ASSIGN09EC]
          bool _t09E9#1 = phi(_t09E8,_t09EB)
          if _t09E9 then goto ASSIGN09F0 else goto JOIN09EE
        ASSIGN09F0:  preds = [COND0A00]
          real _t09EF#1 = Probe<tensor[2],real>(F0530,pos09E2);
          real _t09F1#1 = Probe<tensor[2],real>(T0528,v1805B8);
          real _t09F3#2 = Sub<real>(_t09EF,_t09F1);
          real _t09FB#1 = Mul<real>(_t09F3,_t09F3);
          real score09FD#1 = Add<real>(score09CF,_t09FB);
          goto JOIN09EE
        JOIN09EE:  preds = [ASSIGN09FF,COND0A00]
          real score09FE#2 = phi(score09FD,score09CF)
          real _t0A01#1 = Dot<tensor[2]>(r00654,v1905C2);
          real _t0A03#1 = Dot<tensor[2]>(r10682,v1905C2);
          tensor[2] _t0A05#1 = <tensor[2]>[_t0A01,_t0A03];
          tensor[2] pos0A11#4 = Add<tensor[2]>(_t0A05,_t0692);
          bool _t0A14#1 = Inside<2>(pos0A11,F0530);
          if _t0A14 then goto ASSIGN0A19 else goto ASSIGN0A1B
        ASSIGN0A19:  preds = [COND0A1C]
          bool _t0A17#1 = Inside<2>(v1905C2,T0528);
          goto JOIN0A16
        JOIN0A16:  preds = [ASSIGN0A19,ASSIGN0A1B]
          bool _t0A18#1 = phi(_t0A17,_t0A1A)
          if _t0A18 then goto ASSIGN0A1F else goto JOIN0A1D
        ASSIGN0A1F:  preds = [COND0A2F]
          real _t0A1E#1 = Probe<tensor[2],real>(F0530,pos0A11);
          real _t0A20#1 = Probe<tensor[2],real>(T0528,v1905C2);
          real _t0A22#2 = Sub<real>(_t0A1E,_t0A20);
          real _t0A2A#1 = Mul<real>(_t0A22,_t0A22);
          real score0A2C#1 = Add<real>(score09FE,_t0A2A);
          goto JOIN0A1D
        JOIN0A1D:  preds = [ASSIGN0A2E,COND0A2F]
          real score0A2D#1 = phi(score0A2C,score09FE)
          self.t = t061C;
          self.score = score0A2D;
          self.r0 = r00654;
          self.r1 = r10682;
          self.pos = pos0A11;
          stabilize ()
        ASSIGN0A1B:  preds = [COND0A1C]
          bool _t0A1A#1 = false;
          goto JOIN0A16
        ASSIGN09EC:  preds = [COND09ED]
          bool _t09EB#1 = false;
          goto JOIN09E7
        ASSIGN09BD:  preds = [COND09BE]
          bool _t09BC#1 = false;
          goto JOIN09B8
        ASSIGN098E:  preds = [COND098F]
          bool _t098D#1 = false;
          goto JOIN0989
        ASSIGN095F:  preds = [COND0960]
          bool _t095E#1 = false;
          goto JOIN095A
        ASSIGN0930:  preds = [COND0931]
          bool _t092F#1 = false;
          goto JOIN092B
        ASSIGN0901:  preds = [COND0902]
          bool _t0900#1 = false;
          goto JOIN08FC
        ASSIGN08D2:  preds = [COND08D3]
          bool _t08D1#1 = false;
          goto JOIN08CD
        ASSIGN08A3:  preds = [COND08A4]
          bool _t08A2#1 = false;
          goto JOIN089E
        ASSIGN0874:  preds = [COND0875]
          bool _t0873#1 = false;
          goto JOIN086F
        ASSIGN0845:  preds = [COND0846]
          bool _t0844#1 = false;
          goto JOIN0840
        ASSIGN0816:  preds = [COND0817]
          bool _t0815#1 = false;
          goto JOIN0811
        ASSIGN07E7:  preds = [COND07E8]
          bool _t07E6#1 = false;
          goto JOIN07E2
        ASSIGN07B8:  preds = [COND07B9]
          bool _t07B7#1 = false;
          goto JOIN07B3
        ASSIGN0789:  preds = [COND078A]
          bool _t0788#1 = false;
          goto JOIN0784
        ASSIGN075A:  preds = [COND075B]
          bool _t0759#1 = false;
          goto JOIN0755
        ASSIGN072B:  preds = [COND072C]
          bool _t072A#1 = false;
          goto JOIN0726
        ASSIGN06FC:  preds = [COND06FD]
          bool _t06FB#1 = false;
          goto JOIN06F7
        ASSIGN06CD:  preds = [COND06CE]
          bool _t06CC#1 = false;
          goto JOIN06C8
        ASSIGN069E:  preds = [COND069F]
          bool _t069D#1 = false;
          goto JOIN0699
    end Update
    method Stabilize
        ENTRY0A42:  preds = []
          tensor[3] t0A38#1 = self.t;
          real score0A39#1 = self.score;
          tensor[2] r00A3A#1 = self.r0;
          tensor[2] r10A3B#1 = self.r1;
          tensor[2] pos0A3C#1 = self.pos;
          self.t = t0A38;
          self.score = score0A39;
          self.r0 = r00A3A;
          self.r1 = r10A3B;
          self.pos = pos0A3C;
          return ()
    end Stabilize
  end R
#### end program ####
##### MidIL after translation to MidIL ####
## properties
  none
## globals
  global int T0AD7#0
  global int F0AD8#0
  global real2 v000AA7#4
  global real2 v010AAB#4
  global real2 v020AAF#4
  global real2 v030AB3#4
  global real2 v040AB7#4
  global real2 v050AB9#4
  global real2 v060ABB#4
  global real2 v070ABD#4
  global real2 v080ABF#4
  global real2 v090AC1#4
  global real2 v100AC3#4
  global real2 v110AC5#4
  global real2 v120AC7#4
  global real2 v130AC9#4
  global real2 v140ACB#4
  global real2 v150ACD#4
  global real2 v160ACF#4
  global real2 v170AD1#4
  global real2 v180AD3#4
  global real2 v190AD5#4
  global string _t0A9D#1
  global image(IMAGE2D<int>) _t0A9F#140
  global int _t0A9B#0
  global string _t0AA1#1
  global image(IMAGE2D<float>) _t0AA3#140
  global real _t0AA5#9
  global real _t0AA9#10
  global real _t0AB1#9
  global real _t0AAD#10
  global real _t0AB5#4
## global initialization
  ENTRY0A9A:  preds = []
    int _t0A9B#0 = 0;
    string _t0A9D#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0A9F#140 = LoadImage<IMAGE2D<int>>(_t0A9D);
    string _t0AA1#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0AA3#140 = LoadImage<IMAGE2D<float>>(_t0AA1);
    real _t0AA5#9 = 0.0;
    real2 v000AA7#4 = <real2>[_t0AA5,_t0AA5];
    real _t0AA9#10 = 0.25e0;
    real2 v010AAB#4 = <real2>[_t0AA5,_t0AA9];
    real _t0AAD#10 = 0.5e0;
    real2 v020AAF#4 = <real2>[_t0AA5,_t0AAD];
    real _t0AB1#9 = Neg<real>(_t0AA9);
    real2 v030AB3#4 = <real2>[_t0AA5,_t0AB1];
    real _t0AB5#4 = Neg<real>(_t0AAD);
    real2 v040AB7#4 = <real2>[_t0AA5,_t0AB5];
    real2 v050AB9#4 = <real2>[_t0AA9,_t0AA5];
    real2 v060ABB#4 = <real2>[_t0AA9,_t0AA9];
    real2 v070ABD#4 = <real2>[_t0AA9,_t0AAD];
    real2 v080ABF#4 = <real2>[_t0AA9,_t0AB1];
    real2 v090AC1#4 = <real2>[_t0AA9,_t0AB5];
    real2 v100AC3#4 = <real2>[_t0AAD,_t0AA5];
    real2 v110AC5#4 = <real2>[_t0AAD,_t0AA9];
    real2 v120AC7#4 = <real2>[_t0AAD,_t0AAD];
    real2 v130AC9#4 = <real2>[_t0AAD,_t0AB1];
    real2 v140ACB#4 = <real2>[_t0AAD,_t0AB5];
    real2 v150ACD#4 = <real2>[_t0AB1,_t0AA5];
    real2 v160ACF#4 = <real2>[_t0AB1,_t0AA9];
    real2 v170AD1#4 = <real2>[_t0AB1,_t0AAD];
    real2 v180AD3#4 = <real2>[_t0AB1,_t0AB1];
    real2 v190AD5#4 = <real2>[_t0AB1,_t0AB5];
    return (T0AD7,F0AD8,v000AA7,v010AAB,v020AAF,v030AB3,v040AB7,v050AB9,v060ABB,v070ABD,v080ABF,v090AC1,v100AC3,v110AC5,v120AC7,v130AC9,v140ACB,v150ACD,v160ACF,v170AD1,v180AD3,v190AD5,_t0A9D,_t0A9F,_t0A9B,_t0AA1,_t0AA3,_t0AA5,_t0AA9,_t0AB1,_t0AAD,_t0AB5)
## initially
  ARRAY
    ENTRY0ADF:  preds = []
      int _t0ADB#4 = 0;
      int _t0ADC#4 = 60;
      live vars = (_t0ADC,_t0ADB)
    for int i0ADA#1 = _t0ADB .. _t0ADC
      for int j0ADD#1 = _t0ADB .. _t0ADC
        for int k0ADE#1 = _t0ADB .. _t0ADC
          ENTRY0AE3:  preds = []
            live vars = ()
          new R(i0ADA,j0ADD,k0ADE);
## strands
  strand R (int i0AE5#1, int j0AE6#1, int k0AE7#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0AED:  preds = []
        real _t0AEE#1 = IntToReal(i0AE5);
        real _t0AF0#3 = 0.60e2;
        real _t0AF2#1 = Div<real>(_t0AEE,_t0AF0);
        real _t0AF4#3 = 0.5e0;
        real _t0AF6#1 = Sub<real>(_t0AF2,_t0AF4);
        real _t0AF8#1 = IntToReal(j0AE6);
        real _t0AFA#1 = Div<real>(_t0AF8,_t0AF0);
        real _t0AFC#1 = Sub<real>(_t0AFA,_t0AF4);
        real _t0AFE#1 = IntToReal(k0AE7);
        real _t0B00#1 = Div<real>(_t0AFE,_t0AF0);
        real _t0B02#1 = Sub<real>(_t0B00,_t0AF4);
        real3 t0B04#1 = <real3>[_t0AF6,_t0AFC,_t0B02];
        real score0B06#3 = 0.0;
        real2 r00B08#3 = <real2>[score0B06,score0B06];
        self.t = t0B04;
        self.score = score0B06;
        self.r0 = r00B08;
        self.r1 = r00B08;
        self.pos = r00B08;
        strand_init ()
    method Update
        ENTRY0B10:  preds = []
          real3 t0B11#4 = self.t;
          real score0B13#2 = self.score;
          real _t0B15#2 = 0.1e1;
          real _t0B17#3 = 0.2e1;
          int _t0B19#1 = 2;
          real _t0B1B#6 = Subscript<real3>(t0B11,_t0B19);
          real _t0B1D#1 = Mul<real>(_t0B17,_t0B1B);
          real _t0B1F#1 = Mul<real>(_t0B1D,_t0B1B);
          real _t0B21#2 = Sub<real>(_t0B15,_t0B1F);
          real _t0B23#1 = Neg<real>(_t0B17);
          real _t0B25#1 = Mul<real>(_t0B1B,_t0B1B);
          real _t0B27#1 = Sub<real>(_t0B15,_t0B25);
          real _t0B29#2 = sqrt(_t0B27);
          real _t0B2B#1 = Mul<real>(_t0B23,_t0B29);
          real _t0B2D#1 = Mul<real>(_t0B2B,_t0B1B);
          real2 r00B2F#21 = <real2>[_t0B21,_t0B2D];
          real _t0B31#1 = Mul<real>(_t0B17,_t0B29);
          real _t0B33#1 = Mul<real>(_t0B31,_t0B1B);
          real2 r10B35#21 = <real2>[_t0B33,_t0B21];
          real _t0B37#1 = Dot<2>(r00B2F,v000AA7);
          real _t0B39#1 = Dot<2>(r10B35,v000AA7);
          real2 _t0B3B#1 = <real2>[_t0B37,_t0B39];
          int _t0B3D#1 = 0;
          real _t0B3F#1 = Subscript<real3>(t0B11,_t0B3D);
          int _t0B41#1 = 1;
          real _t0B43#1 = Subscript<real3>(t0B11,_t0B41);
          real2 _t0B45#20 = <real2>[_t0B3F,_t0B43];
          real2 pos0B47#2 = Add<real2>(_t0B3B,_t0B45);
          real2 x0B4A#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0B47);
          bool _t0B49#1 = Inside<IMAGE2D<float>,2>(x0B4A,_t0AA3);
          if _t0B49 then goto ASSIGN0B50 else goto ASSIGN2126
        ASSIGN0B50:  preds = [COND0B4D]
          real2 x0B4F#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v000AA7);
          bool _t0B4E#1 = Inside<IMAGE2D<int>,2>(x0B4F,_t0A9F);
          goto JOIN0B54
        JOIN0B54:  preds = [ASSIGN0B51,ASSIGN2126]
          bool _t0B52#1 = phi(_t0B4E,_t0B53)
          if _t0B52 then goto ASSIGN0B95 else goto JOIN0C57
        ASSIGN0B95:  preds = [COND0B55]
          real2 x0B57#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0B47);
          real2 nd0B59#2 = Floor<2>(x0B57);
          real2 f0B58#2 = Sub<real2>(x0B57,nd0B59);
          int{2} n0B5A#8 = RealToInt<2>(nd0B59);
          int t10B76#1 = -1;
          int t20B77#1 = Index<int{2},0>(n0B5A);
          int ix0B75#1 = Add<int>(t10B76,t20B77);
          int t10B79#1 = -1;
          int t20B7A#1 = Index<int{2},1>(n0B5A);
          int iy0B78#1 = Add<int>(t10B79,t20B7A);
          addr(IMAGE2D<float>) a0B7B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B78);
          real4 v00B5C#1 = LoadVoxels<IMAGE2D<float>,4>(a0B7B);
          int t10B6F#1 = -1;
          int t20B70#1 = Index<int{2},0>(n0B5A);
          int ix0B6E#1 = Add<int>(t10B6F,t20B70);
          int t10B72#1 = 0;
          int t20B73#1 = Index<int{2},1>(n0B5A);
          int iy0B71#1 = Add<int>(t10B72,t20B73);
          addr(IMAGE2D<float>) a0B74#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B6E,iy0B71);
          real4 v10B5D#1 = LoadVoxels<IMAGE2D<float>,4>(a0B74);
          int t10B68#1 = -1;
          int t20B69#1 = Index<int{2},0>(n0B5A);
          int ix0B67#1 = Add<int>(t10B68,t20B69);
          int t10B6B#1 = 1;
          int t20B6C#1 = Index<int{2},1>(n0B5A);
          int iy0B6A#1 = Add<int>(t10B6B,t20B6C);
          addr(IMAGE2D<float>) a0B6D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B67,iy0B6A);
          real4 v20B5E#1 = LoadVoxels<IMAGE2D<float>,4>(a0B6D);
          int t10B61#1 = -1;
          int t20B62#1 = Index<int{2},0>(n0B5A);
          int ix0B60#1 = Add<int>(t10B61,t20B62);
          int t10B64#1 = 2;
          int t20B65#1 = Index<int{2},1>(n0B5A);
          int iy0B63#1 = Add<int>(t10B64,t20B65);
          addr(IMAGE2D<float>) a0B66#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B60,iy0B63);
          real4 v30B5F#1 = LoadVoxels<IMAGE2D<float>,4>(a0B66);
          real fy0B87#4 = Index<real2,1>(f0B58);
          real r0B8F#1 = 0.1e1;
          real t30B8C#1 = Add<real>(fy0B87,r0B8F);
          real t20B8B#1 = fy0B87;
          real r0B8E#1 = 0.1e1;
          real t10B8A#1 = Sub<real>(fy0B87,r0B8E);
          real r0B8D#1 = 0.2e1;
          real t00B89#1 = Sub<real>(fy0B87,r0B8D);
          real4 a0B88#1 = <real4>[t30B8C,t20B8B,t10B8A,t00B89];
          real4 hy0B7D#1 = EvalKernel<4,bspln3,0>(a0B88);
          real fx0B7E#4 = Index<real2,0>(f0B58);
          real r0B86#1 = 0.1e1;
          real t30B83#1 = Add<real>(fx0B7E,r0B86);
          real t20B82#1 = fx0B7E;
          real r0B85#1 = 0.1e1;
          real t10B81#1 = Sub<real>(fx0B7E,r0B85);
          real r0B84#1 = 0.2e1;
          real t00B80#1 = Sub<real>(fx0B7E,r0B84);
          real4 a0B7F#1 = <real4>[t30B83,t20B82,t10B81,t00B80];
          real4 hx0B7C#4 = EvalKernel<4,bspln3,0>(a0B7F);
          real t00B91#1 = Dot<4>(v00B5C,hx0B7C);
          real t10B92#1 = Dot<4>(v10B5D,hx0B7C);
          real t20B93#1 = Dot<4>(v20B5E,hx0B7C);
          real t30B94#1 = Dot<4>(v30B5F,hx0B7C);
          real4 tv0B90#1 = <real4>[t00B91,t10B92,t20B93,t30B94];
          real _t0B56#1 = Dot<4>(hy0B7D,tv0B90);
          real2 x0BD4#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v000AA7);
          real2 nd0BD6#2 = Floor<2>(x0BD4);
          real2 f0BD5#2 = Sub<real2>(x0BD4,nd0BD6);
          int{2} n0BD7#8 = RealToInt<2>(nd0BD6);
          int t10BF3#1 = -1;
          int t20BF4#1 = Index<int{2},0>(n0BD7);
          int ix0BF2#1 = Add<int>(t10BF3,t20BF4);
          int t10BF6#1 = -1;
          int t20BF7#1 = Index<int{2},1>(n0BD7);
          int iy0BF5#1 = Add<int>(t10BF6,t20BF7);
          addr(IMAGE2D<int>) a0BF8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BF5);
          real4 v00BD9#1 = LoadVoxels<IMAGE2D<int>,4>(a0BF8);
          int t10BEC#1 = -1;
          int t20BED#1 = Index<int{2},0>(n0BD7);
          int ix0BEB#1 = Add<int>(t10BEC,t20BED);
          int t10BEF#1 = 0;
          int t20BF0#1 = Index<int{2},1>(n0BD7);
          int iy0BEE#1 = Add<int>(t10BEF,t20BF0);
          addr(IMAGE2D<int>) a0BF1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BEB,iy0BEE);
          real4 v10BDA#1 = LoadVoxels<IMAGE2D<int>,4>(a0BF1);
          int t10BE5#1 = -1;
          int t20BE6#1 = Index<int{2},0>(n0BD7);
          int ix0BE4#1 = Add<int>(t10BE5,t20BE6);
          int t10BE8#1 = 1;
          int t20BE9#1 = Index<int{2},1>(n0BD7);
          int iy0BE7#1 = Add<int>(t10BE8,t20BE9);
          addr(IMAGE2D<int>) a0BEA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BE4,iy0BE7);
          real4 v20BDB#1 = LoadVoxels<IMAGE2D<int>,4>(a0BEA);
          int t10BDE#1 = -1;
          int t20BDF#1 = Index<int{2},0>(n0BD7);
          int ix0BDD#1 = Add<int>(t10BDE,t20BDF);
          int t10BE1#1 = 2;
          int t20BE2#1 = Index<int{2},1>(n0BD7);
          int iy0BE0#1 = Add<int>(t10BE1,t20BE2);
          addr(IMAGE2D<int>) a0BE3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BDD,iy0BE0);
          real4 v30BDC#1 = LoadVoxels<IMAGE2D<int>,4>(a0BE3);
          real fy0C04#4 = Index<real2,1>(f0BD5);
          real r0C0C#1 = 0.1e1;
          real t30C09#1 = Add<real>(fy0C04,r0C0C);
          real t20C08#1 = fy0C04;
          real r0C0B#1 = 0.1e1;
          real t10C07#1 = Sub<real>(fy0C04,r0C0B);
          real r0C0A#1 = 0.2e1;
          real t00C06#1 = Sub<real>(fy0C04,r0C0A);
          real4 a0C05#1 = <real4>[t30C09,t20C08,t10C07,t00C06];
          real4 hy0BFA#1 = EvalKernel<4,bspln3,0>(a0C05);
          real fx0BFB#4 = Index<real2,0>(f0BD5);
          real r0C03#1 = 0.1e1;
          real t30C00#1 = Add<real>(fx0BFB,r0C03);
          real t20BFF#1 = fx0BFB;
          real r0C02#1 = 0.1e1;
          real t10BFE#1 = Sub<real>(fx0BFB,r0C02);
          real r0C01#1 = 0.2e1;
          real t00BFD#1 = Sub<real>(fx0BFB,r0C01);
          real4 a0BFC#1 = <real4>[t30C00,t20BFF,t10BFE,t00BFD];
          real4 hx0BF9#4 = EvalKernel<4,bspln3,0>(a0BFC);
          real t00C0E#1 = Dot<4>(v00BD9,hx0BF9);
          real t10C0F#1 = Dot<4>(v10BDA,hx0BF9);
          real t20C10#1 = Dot<4>(v20BDB,hx0BF9);
          real t30C11#1 = Dot<4>(v30BDC,hx0BF9);
          real4 tv0C0D#1 = <real4>[t00C0E,t10C0F,t20C10,t30C11];
          real _t0BD3#1 = Dot<4>(hy0BFA,tv0C0D);
          real _t0C50#2 = Sub<real>(_t0B56,_t0BD3);
          real _t0C52#1 = Mul<real>(_t0C50,_t0C50);
          real score0C54#1 = Add<real>(score0B13,_t0C52);
          goto JOIN0C57
        JOIN0C57:  preds = [ASSIGN0C55,COND0B55]
          real score0C56#2 = phi(score0C54,score0B13)
          real _t0C58#1 = Dot<2>(r00B2F,v010AAB);
          real _t0C5A#1 = Dot<2>(r10B35,v010AAB);
          real2 _t0C5C#1 = <real2>[_t0C58,_t0C5A];
          real2 pos0C5E#2 = Add<real2>(_t0C5C,_t0B45);
          real2 x0C61#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0C5E);
          bool _t0C60#1 = Inside<IMAGE2D<float>,2>(x0C61,_t0AA3);
          if _t0C60 then goto ASSIGN0C67 else goto ASSIGN2125
        ASSIGN0C67:  preds = [COND0C64]
          real2 x0C66#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v010AAB);
          bool _t0C65#1 = Inside<IMAGE2D<int>,2>(x0C66,_t0A9F);
          goto JOIN0C6B
        JOIN0C6B:  preds = [ASSIGN0C68,ASSIGN2125]
          bool _t0C69#1 = phi(_t0C65,_t0C6A)
          if _t0C69 then goto ASSIGN0CAC else goto JOIN0D6E
        ASSIGN0CAC:  preds = [COND0C6C]
          real2 x0C6E#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0C5E);
          real2 nd0C70#2 = Floor<2>(x0C6E);
          real2 f0C6F#2 = Sub<real2>(x0C6E,nd0C70);
          int{2} n0C71#8 = RealToInt<2>(nd0C70);
          int t10C8D#1 = -1;
          int t20C8E#1 = Index<int{2},0>(n0C71);
          int ix0C8C#1 = Add<int>(t10C8D,t20C8E);
          int t10C90#1 = -1;
          int t20C91#1 = Index<int{2},1>(n0C71);
          int iy0C8F#1 = Add<int>(t10C90,t20C91);
          addr(IMAGE2D<float>) a0C92#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C8F);
          real4 v00C73#1 = LoadVoxels<IMAGE2D<float>,4>(a0C92);
          int t10C86#1 = -1;
          int t20C87#1 = Index<int{2},0>(n0C71);
          int ix0C85#1 = Add<int>(t10C86,t20C87);
          int t10C89#1 = 0;
          int t20C8A#1 = Index<int{2},1>(n0C71);
          int iy0C88#1 = Add<int>(t10C89,t20C8A);
          addr(IMAGE2D<float>) a0C8B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C85,iy0C88);
          real4 v10C74#1 = LoadVoxels<IMAGE2D<float>,4>(a0C8B);
          int t10C7F#1 = -1;
          int t20C80#1 = Index<int{2},0>(n0C71);
          int ix0C7E#1 = Add<int>(t10C7F,t20C80);
          int t10C82#1 = 1;
          int t20C83#1 = Index<int{2},1>(n0C71);
          int iy0C81#1 = Add<int>(t10C82,t20C83);
          addr(IMAGE2D<float>) a0C84#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C7E,iy0C81);
          real4 v20C75#1 = LoadVoxels<IMAGE2D<float>,4>(a0C84);
          int t10C78#1 = -1;
          int t20C79#1 = Index<int{2},0>(n0C71);
          int ix0C77#1 = Add<int>(t10C78,t20C79);
          int t10C7B#1 = 2;
          int t20C7C#1 = Index<int{2},1>(n0C71);
          int iy0C7A#1 = Add<int>(t10C7B,t20C7C);
          addr(IMAGE2D<float>) a0C7D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C77,iy0C7A);
          real4 v30C76#1 = LoadVoxels<IMAGE2D<float>,4>(a0C7D);
          real fy0C9E#4 = Index<real2,1>(f0C6F);
          real r0CA6#1 = 0.1e1;
          real t30CA3#1 = Add<real>(fy0C9E,r0CA6);
          real t20CA2#1 = fy0C9E;
          real r0CA5#1 = 0.1e1;
          real t10CA1#1 = Sub<real>(fy0C9E,r0CA5);
          real r0CA4#1 = 0.2e1;
          real t00CA0#1 = Sub<real>(fy0C9E,r0CA4);
          real4 a0C9F#1 = <real4>[t30CA3,t20CA2,t10CA1,t00CA0];
          real4 hy0C94#1 = EvalKernel<4,bspln3,0>(a0C9F);
          real fx0C95#4 = Index<real2,0>(f0C6F);
          real r0C9D#1 = 0.1e1;
          real t30C9A#1 = Add<real>(fx0C95,r0C9D);
          real t20C99#1 = fx0C95;
          real r0C9C#1 = 0.1e1;
          real t10C98#1 = Sub<real>(fx0C95,r0C9C);
          real r0C9B#1 = 0.2e1;
          real t00C97#1 = Sub<real>(fx0C95,r0C9B);
          real4 a0C96#1 = <real4>[t30C9A,t20C99,t10C98,t00C97];
          real4 hx0C93#4 = EvalKernel<4,bspln3,0>(a0C96);
          real t00CA8#1 = Dot<4>(v00C73,hx0C93);
          real t10CA9#1 = Dot<4>(v10C74,hx0C93);
          real t20CAA#1 = Dot<4>(v20C75,hx0C93);
          real t30CAB#1 = Dot<4>(v30C76,hx0C93);
          real4 tv0CA7#1 = <real4>[t00CA8,t10CA9,t20CAA,t30CAB];
          real _t0C6D#1 = Dot<4>(hy0C94,tv0CA7);
          real2 x0CEB#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v010AAB);
          real2 nd0CED#2 = Floor<2>(x0CEB);
          real2 f0CEC#2 = Sub<real2>(x0CEB,nd0CED);
          int{2} n0CEE#8 = RealToInt<2>(nd0CED);
          int t10D0A#1 = -1;
          int t20D0B#1 = Index<int{2},0>(n0CEE);
          int ix0D09#1 = Add<int>(t10D0A,t20D0B);
          int t10D0D#1 = -1;
          int t20D0E#1 = Index<int{2},1>(n0CEE);
          int iy0D0C#1 = Add<int>(t10D0D,t20D0E);
          addr(IMAGE2D<int>) a0D0F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0D0C);
          real4 v00CF0#1 = LoadVoxels<IMAGE2D<int>,4>(a0D0F);
          int t10D03#1 = -1;
          int t20D04#1 = Index<int{2},0>(n0CEE);
          int ix0D02#1 = Add<int>(t10D03,t20D04);
          int t10D06#1 = 0;
          int t20D07#1 = Index<int{2},1>(n0CEE);
          int iy0D05#1 = Add<int>(t10D06,t20D07);
          addr(IMAGE2D<int>) a0D08#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D02,iy0D05);
          real4 v10CF1#1 = LoadVoxels<IMAGE2D<int>,4>(a0D08);
          int t10CFC#1 = -1;
          int t20CFD#1 = Index<int{2},0>(n0CEE);
          int ix0CFB#1 = Add<int>(t10CFC,t20CFD);
          int t10CFF#1 = 1;
          int t20D00#1 = Index<int{2},1>(n0CEE);
          int iy0CFE#1 = Add<int>(t10CFF,t20D00);
          addr(IMAGE2D<int>) a0D01#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0CFB,iy0CFE);
          real4 v20CF2#1 = LoadVoxels<IMAGE2D<int>,4>(a0D01);
          int t10CF5#1 = -1;
          int t20CF6#1 = Index<int{2},0>(n0CEE);
          int ix0CF4#1 = Add<int>(t10CF5,t20CF6);
          int t10CF8#1 = 2;
          int t20CF9#1 = Index<int{2},1>(n0CEE);
          int iy0CF7#1 = Add<int>(t10CF8,t20CF9);
          addr(IMAGE2D<int>) a0CFA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0CF4,iy0CF7);
          real4 v30CF3#1 = LoadVoxels<IMAGE2D<int>,4>(a0CFA);
          real fy0D1B#4 = Index<real2,1>(f0CEC);
          real r0D23#1 = 0.1e1;
          real t30D20#1 = Add<real>(fy0D1B,r0D23);
          real t20D1F#1 = fy0D1B;
          real r0D22#1 = 0.1e1;
          real t10D1E#1 = Sub<real>(fy0D1B,r0D22);
          real r0D21#1 = 0.2e1;
          real t00D1D#1 = Sub<real>(fy0D1B,r0D21);
          real4 a0D1C#1 = <real4>[t30D20,t20D1F,t10D1E,t00D1D];
          real4 hy0D11#1 = EvalKernel<4,bspln3,0>(a0D1C);
          real fx0D12#4 = Index<real2,0>(f0CEC);
          real r0D1A#1 = 0.1e1;
          real t30D17#1 = Add<real>(fx0D12,r0D1A);
          real t20D16#1 = fx0D12;
          real r0D19#1 = 0.1e1;
          real t10D15#1 = Sub<real>(fx0D12,r0D19);
          real r0D18#1 = 0.2e1;
          real t00D14#1 = Sub<real>(fx0D12,r0D18);
          real4 a0D13#1 = <real4>[t30D17,t20D16,t10D15,t00D14];
          real4 hx0D10#4 = EvalKernel<4,bspln3,0>(a0D13);
          real t00D25#1 = Dot<4>(v00CF0,hx0D10);
          real t10D26#1 = Dot<4>(v10CF1,hx0D10);
          real t20D27#1 = Dot<4>(v20CF2,hx0D10);
          real t30D28#1 = Dot<4>(v30CF3,hx0D10);
          real4 tv0D24#1 = <real4>[t00D25,t10D26,t20D27,t30D28];
          real _t0CEA#1 = Dot<4>(hy0D11,tv0D24);
          real _t0D67#2 = Sub<real>(_t0C6D,_t0CEA);
          real _t0D69#1 = Mul<real>(_t0D67,_t0D67);
          real score0D6B#1 = Add<real>(score0C56,_t0D69);
          goto JOIN0D6E
        JOIN0D6E:  preds = [ASSIGN0D6C,COND0C6C]
          real score0D6D#2 = phi(score0D6B,score0C56)
          real _t0D6F#1 = Dot<2>(r00B2F,v020AAF);
          real _t0D71#1 = Dot<2>(r10B35,v020AAF);
          real2 _t0D73#1 = <real2>[_t0D6F,_t0D71];
          real2 pos0D75#2 = Add<real2>(_t0D73,_t0B45);
          real2 x0D78#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0D75);
          bool _t0D77#1 = Inside<IMAGE2D<float>,2>(x0D78,_t0AA3);
          if _t0D77 then goto ASSIGN0D7E else goto ASSIGN2124
        ASSIGN0D7E:  preds = [COND0D7B]
          real2 x0D7D#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v020AAF);
          bool _t0D7C#1 = Inside<IMAGE2D<int>,2>(x0D7D,_t0A9F);
          goto JOIN0D82
        JOIN0D82:  preds = [ASSIGN0D7F,ASSIGN2124]
          bool _t0D80#1 = phi(_t0D7C,_t0D81)
          if _t0D80 then goto ASSIGN0DC3 else goto JOIN0E85
        ASSIGN0DC3:  preds = [COND0D83]
          real2 x0D85#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0D75);
          real2 nd0D87#2 = Floor<2>(x0D85);
          real2 f0D86#2 = Sub<real2>(x0D85,nd0D87);
          int{2} n0D88#8 = RealToInt<2>(nd0D87);
          int t10DA4#1 = -1;
          int t20DA5#1 = Index<int{2},0>(n0D88);
          int ix0DA3#1 = Add<int>(t10DA4,t20DA5);
          int t10DA7#1 = -1;
          int t20DA8#1 = Index<int{2},1>(n0D88);
          int iy0DA6#1 = Add<int>(t10DA7,t20DA8);
          addr(IMAGE2D<float>) a0DA9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0DA6);
          real4 v00D8A#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA9);
          int t10D9D#1 = -1;
          int t20D9E#1 = Index<int{2},0>(n0D88);
          int ix0D9C#1 = Add<int>(t10D9D,t20D9E);
          int t10DA0#1 = 0;
          int t20DA1#1 = Index<int{2},1>(n0D88);
          int iy0D9F#1 = Add<int>(t10DA0,t20DA1);
          addr(IMAGE2D<float>) a0DA2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0D9C,iy0D9F);
          real4 v10D8B#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA2);
          int t10D96#1 = -1;
          int t20D97#1 = Index<int{2},0>(n0D88);
          int ix0D95#1 = Add<int>(t10D96,t20D97);
          int t10D99#1 = 1;
          int t20D9A#1 = Index<int{2},1>(n0D88);
          int iy0D98#1 = Add<int>(t10D99,t20D9A);
          addr(IMAGE2D<float>) a0D9B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0D95,iy0D98);
          real4 v20D8C#1 = LoadVoxels<IMAGE2D<float>,4>(a0D9B);
          int t10D8F#1 = -1;
          int t20D90#1 = Index<int{2},0>(n0D88);
          int ix0D8E#1 = Add<int>(t10D8F,t20D90);
          int t10D92#1 = 2;
          int t20D93#1 = Index<int{2},1>(n0D88);
          int iy0D91#1 = Add<int>(t10D92,t20D93);
          addr(IMAGE2D<float>) a0D94#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0D8E,iy0D91);
          real4 v30D8D#1 = LoadVoxels<IMAGE2D<float>,4>(a0D94);
          real fy0DB5#4 = Index<real2,1>(f0D86);
          real r0DBD#1 = 0.1e1;
          real t30DBA#1 = Add<real>(fy0DB5,r0DBD);
          real t20DB9#1 = fy0DB5;
          real r0DBC#1 = 0.1e1;
          real t10DB8#1 = Sub<real>(fy0DB5,r0DBC);
          real r0DBB#1 = 0.2e1;
          real t00DB7#1 = Sub<real>(fy0DB5,r0DBB);
          real4 a0DB6#1 = <real4>[t30DBA,t20DB9,t10DB8,t00DB7];
          real4 hy0DAB#1 = EvalKernel<4,bspln3,0>(a0DB6);
          real fx0DAC#4 = Index<real2,0>(f0D86);
          real r0DB4#1 = 0.1e1;
          real t30DB1#1 = Add<real>(fx0DAC,r0DB4);
          real t20DB0#1 = fx0DAC;
          real r0DB3#1 = 0.1e1;
          real t10DAF#1 = Sub<real>(fx0DAC,r0DB3);
          real r0DB2#1 = 0.2e1;
          real t00DAE#1 = Sub<real>(fx0DAC,r0DB2);
          real4 a0DAD#1 = <real4>[t30DB1,t20DB0,t10DAF,t00DAE];
          real4 hx0DAA#4 = EvalKernel<4,bspln3,0>(a0DAD);
          real t00DBF#1 = Dot<4>(v00D8A,hx0DAA);
          real t10DC0#1 = Dot<4>(v10D8B,hx0DAA);
          real t20DC1#1 = Dot<4>(v20D8C,hx0DAA);
          real t30DC2#1 = Dot<4>(v30D8D,hx0DAA);
          real4 tv0DBE#1 = <real4>[t00DBF,t10DC0,t20DC1,t30DC2];
          real _t0D84#1 = Dot<4>(hy0DAB,tv0DBE);
          real2 x0E02#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v020AAF);
          real2 nd0E04#2 = Floor<2>(x0E02);
          real2 f0E03#2 = Sub<real2>(x0E02,nd0E04);
          int{2} n0E05#8 = RealToInt<2>(nd0E04);
          int t10E21#1 = -1;
          int t20E22#1 = Index<int{2},0>(n0E05);
          int ix0E20#1 = Add<int>(t10E21,t20E22);
          int t10E24#1 = -1;
          int t20E25#1 = Index<int{2},1>(n0E05);
          int iy0E23#1 = Add<int>(t10E24,t20E25);
          addr(IMAGE2D<int>) a0E26#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E23);
          real4 v00E07#1 = LoadVoxels<IMAGE2D<int>,4>(a0E26);
          int t10E1A#1 = -1;
          int t20E1B#1 = Index<int{2},0>(n0E05);
          int ix0E19#1 = Add<int>(t10E1A,t20E1B);
          int t10E1D#1 = 0;
          int t20E1E#1 = Index<int{2},1>(n0E05);
          int iy0E1C#1 = Add<int>(t10E1D,t20E1E);
          addr(IMAGE2D<int>) a0E1F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E19,iy0E1C);
          real4 v10E08#1 = LoadVoxels<IMAGE2D<int>,4>(a0E1F);
          int t10E13#1 = -1;
          int t20E14#1 = Index<int{2},0>(n0E05);
          int ix0E12#1 = Add<int>(t10E13,t20E14);
          int t10E16#1 = 1;
          int t20E17#1 = Index<int{2},1>(n0E05);
          int iy0E15#1 = Add<int>(t10E16,t20E17);
          addr(IMAGE2D<int>) a0E18#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E12,iy0E15);
          real4 v20E09#1 = LoadVoxels<IMAGE2D<int>,4>(a0E18);
          int t10E0C#1 = -1;
          int t20E0D#1 = Index<int{2},0>(n0E05);
          int ix0E0B#1 = Add<int>(t10E0C,t20E0D);
          int t10E0F#1 = 2;
          int t20E10#1 = Index<int{2},1>(n0E05);
          int iy0E0E#1 = Add<int>(t10E0F,t20E10);
          addr(IMAGE2D<int>) a0E11#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E0B,iy0E0E);
          real4 v30E0A#1 = LoadVoxels<IMAGE2D<int>,4>(a0E11);
          real fy0E32#4 = Index<real2,1>(f0E03);
          real r0E3A#1 = 0.1e1;
          real t30E37#1 = Add<real>(fy0E32,r0E3A);
          real t20E36#1 = fy0E32;
          real r0E39#1 = 0.1e1;
          real t10E35#1 = Sub<real>(fy0E32,r0E39);
          real r0E38#1 = 0.2e1;
          real t00E34#1 = Sub<real>(fy0E32,r0E38);
          real4 a0E33#1 = <real4>[t30E37,t20E36,t10E35,t00E34];
          real4 hy0E28#1 = EvalKernel<4,bspln3,0>(a0E33);
          real fx0E29#4 = Index<real2,0>(f0E03);
          real r0E31#1 = 0.1e1;
          real t30E2E#1 = Add<real>(fx0E29,r0E31);
          real t20E2D#1 = fx0E29;
          real r0E30#1 = 0.1e1;
          real t10E2C#1 = Sub<real>(fx0E29,r0E30);
          real r0E2F#1 = 0.2e1;
          real t00E2B#1 = Sub<real>(fx0E29,r0E2F);
          real4 a0E2A#1 = <real4>[t30E2E,t20E2D,t10E2C,t00E2B];
          real4 hx0E27#4 = EvalKernel<4,bspln3,0>(a0E2A);
          real t00E3C#1 = Dot<4>(v00E07,hx0E27);
          real t10E3D#1 = Dot<4>(v10E08,hx0E27);
          real t20E3E#1 = Dot<4>(v20E09,hx0E27);
          real t30E3F#1 = Dot<4>(v30E0A,hx0E27);
          real4 tv0E3B#1 = <real4>[t00E3C,t10E3D,t20E3E,t30E3F];
          real _t0E01#1 = Dot<4>(hy0E28,tv0E3B);
          real _t0E7E#2 = Sub<real>(_t0D84,_t0E01);
          real _t0E80#1 = Mul<real>(_t0E7E,_t0E7E);
          real score0E82#1 = Add<real>(score0D6D,_t0E80);
          goto JOIN0E85
        JOIN0E85:  preds = [ASSIGN0E83,COND0D83]
          real score0E84#2 = phi(score0E82,score0D6D)
          real _t0E86#1 = Dot<2>(r00B2F,v030AB3);
          real _t0E88#1 = Dot<2>(r10B35,v030AB3);
          real2 _t0E8A#1 = <real2>[_t0E86,_t0E88];
          real2 pos0E8C#2 = Add<real2>(_t0E8A,_t0B45);
          real2 x0E8F#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0E8C);
          bool _t0E8E#1 = Inside<IMAGE2D<float>,2>(x0E8F,_t0AA3);
          if _t0E8E then goto ASSIGN0E95 else goto ASSIGN2123
        ASSIGN0E95:  preds = [COND0E92]
          real2 x0E94#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v030AB3);
          bool _t0E93#1 = Inside<IMAGE2D<int>,2>(x0E94,_t0A9F);
          goto JOIN0E99
        JOIN0E99:  preds = [ASSIGN0E96,ASSIGN2123]
          bool _t0E97#1 = phi(_t0E93,_t0E98)
          if _t0E97 then goto ASSIGN0EDA else goto JOIN0F9C
        ASSIGN0EDA:  preds = [COND0E9A]
          real2 x0E9C#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0E8C);
          real2 nd0E9E#2 = Floor<2>(x0E9C);
          real2 f0E9D#2 = Sub<real2>(x0E9C,nd0E9E);
          int{2} n0E9F#8 = RealToInt<2>(nd0E9E);
          int t10EBB#1 = -1;
          int t20EBC#1 = Index<int{2},0>(n0E9F);
          int ix0EBA#1 = Add<int>(t10EBB,t20EBC);
          int t10EBE#1 = -1;
          int t20EBF#1 = Index<int{2},1>(n0E9F);
          int iy0EBD#1 = Add<int>(t10EBE,t20EBF);
          addr(IMAGE2D<float>) a0EC0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EBD);
          real4 v00EA1#1 = LoadVoxels<IMAGE2D<float>,4>(a0EC0);
          int t10EB4#1 = -1;
          int t20EB5#1 = Index<int{2},0>(n0E9F);
          int ix0EB3#1 = Add<int>(t10EB4,t20EB5);
          int t10EB7#1 = 0;
          int t20EB8#1 = Index<int{2},1>(n0E9F);
          int iy0EB6#1 = Add<int>(t10EB7,t20EB8);
          addr(IMAGE2D<float>) a0EB9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EB3,iy0EB6);
          real4 v10EA2#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB9);
          int t10EAD#1 = -1;
          int t20EAE#1 = Index<int{2},0>(n0E9F);
          int ix0EAC#1 = Add<int>(t10EAD,t20EAE);
          int t10EB0#1 = 1;
          int t20EB1#1 = Index<int{2},1>(n0E9F);
          int iy0EAF#1 = Add<int>(t10EB0,t20EB1);
          addr(IMAGE2D<float>) a0EB2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EAC,iy0EAF);
          real4 v20EA3#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB2);
          int t10EA6#1 = -1;
          int t20EA7#1 = Index<int{2},0>(n0E9F);
          int ix0EA5#1 = Add<int>(t10EA6,t20EA7);
          int t10EA9#1 = 2;
          int t20EAA#1 = Index<int{2},1>(n0E9F);
          int iy0EA8#1 = Add<int>(t10EA9,t20EAA);
          addr(IMAGE2D<float>) a0EAB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EA5,iy0EA8);
          real4 v30EA4#1 = LoadVoxels<IMAGE2D<float>,4>(a0EAB);
          real fy0ECC#4 = Index<real2,1>(f0E9D);
          real r0ED4#1 = 0.1e1;
          real t30ED1#1 = Add<real>(fy0ECC,r0ED4);
          real t20ED0#1 = fy0ECC;
          real r0ED3#1 = 0.1e1;
          real t10ECF#1 = Sub<real>(fy0ECC,r0ED3);
          real r0ED2#1 = 0.2e1;
          real t00ECE#1 = Sub<real>(fy0ECC,r0ED2);
          real4 a0ECD#1 = <real4>[t30ED1,t20ED0,t10ECF,t00ECE];
          real4 hy0EC2#1 = EvalKernel<4,bspln3,0>(a0ECD);
          real fx0EC3#4 = Index<real2,0>(f0E9D);
          real r0ECB#1 = 0.1e1;
          real t30EC8#1 = Add<real>(fx0EC3,r0ECB);
          real t20EC7#1 = fx0EC3;
          real r0ECA#1 = 0.1e1;
          real t10EC6#1 = Sub<real>(fx0EC3,r0ECA);
          real r0EC9#1 = 0.2e1;
          real t00EC5#1 = Sub<real>(fx0EC3,r0EC9);
          real4 a0EC4#1 = <real4>[t30EC8,t20EC7,t10EC6,t00EC5];
          real4 hx0EC1#4 = EvalKernel<4,bspln3,0>(a0EC4);
          real t00ED6#1 = Dot<4>(v00EA1,hx0EC1);
          real t10ED7#1 = Dot<4>(v10EA2,hx0EC1);
          real t20ED8#1 = Dot<4>(v20EA3,hx0EC1);
          real t30ED9#1 = Dot<4>(v30EA4,hx0EC1);
          real4 tv0ED5#1 = <real4>[t00ED6,t10ED7,t20ED8,t30ED9];
          real _t0E9B#1 = Dot<4>(hy0EC2,tv0ED5);
          real2 x0F19#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v030AB3);
          real2 nd0F1B#2 = Floor<2>(x0F19);
          real2 f0F1A#2 = Sub<real2>(x0F19,nd0F1B);
          int{2} n0F1C#8 = RealToInt<2>(nd0F1B);
          int t10F38#1 = -1;
          int t20F39#1 = Index<int{2},0>(n0F1C);
          int ix0F37#1 = Add<int>(t10F38,t20F39);
          int t10F3B#1 = -1;
          int t20F3C#1 = Index<int{2},1>(n0F1C);
          int iy0F3A#1 = Add<int>(t10F3B,t20F3C);
          addr(IMAGE2D<int>) a0F3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F3A);
          real4 v00F1E#1 = LoadVoxels<IMAGE2D<int>,4>(a0F3D);
          int t10F31#1 = -1;
          int t20F32#1 = Index<int{2},0>(n0F1C);
          int ix0F30#1 = Add<int>(t10F31,t20F32);
          int t10F34#1 = 0;
          int t20F35#1 = Index<int{2},1>(n0F1C);
          int iy0F33#1 = Add<int>(t10F34,t20F35);
          addr(IMAGE2D<int>) a0F36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F30,iy0F33);
          real4 v10F1F#1 = LoadVoxels<IMAGE2D<int>,4>(a0F36);
          int t10F2A#1 = -1;
          int t20F2B#1 = Index<int{2},0>(n0F1C);
          int ix0F29#1 = Add<int>(t10F2A,t20F2B);
          int t10F2D#1 = 1;
          int t20F2E#1 = Index<int{2},1>(n0F1C);
          int iy0F2C#1 = Add<int>(t10F2D,t20F2E);
          addr(IMAGE2D<int>) a0F2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F29,iy0F2C);
          real4 v20F20#1 = LoadVoxels<IMAGE2D<int>,4>(a0F2F);
          int t10F23#1 = -1;
          int t20F24#1 = Index<int{2},0>(n0F1C);
          int ix0F22#1 = Add<int>(t10F23,t20F24);
          int t10F26#1 = 2;
          int t20F27#1 = Index<int{2},1>(n0F1C);
          int iy0F25#1 = Add<int>(t10F26,t20F27);
          addr(IMAGE2D<int>) a0F28#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F22,iy0F25);
          real4 v30F21#1 = LoadVoxels<IMAGE2D<int>,4>(a0F28);
          real fy0F49#4 = Index<real2,1>(f0F1A);
          real r0F51#1 = 0.1e1;
          real t30F4E#1 = Add<real>(fy0F49,r0F51);
          real t20F4D#1 = fy0F49;
          real r0F50#1 = 0.1e1;
          real t10F4C#1 = Sub<real>(fy0F49,r0F50);
          real r0F4F#1 = 0.2e1;
          real t00F4B#1 = Sub<real>(fy0F49,r0F4F);
          real4 a0F4A#1 = <real4>[t30F4E,t20F4D,t10F4C,t00F4B];
          real4 hy0F3F#1 = EvalKernel<4,bspln3,0>(a0F4A);
          real fx0F40#4 = Index<real2,0>(f0F1A);
          real r0F48#1 = 0.1e1;
          real t30F45#1 = Add<real>(fx0F40,r0F48);
          real t20F44#1 = fx0F40;
          real r0F47#1 = 0.1e1;
          real t10F43#1 = Sub<real>(fx0F40,r0F47);
          real r0F46#1 = 0.2e1;
          real t00F42#1 = Sub<real>(fx0F40,r0F46);
          real4 a0F41#1 = <real4>[t30F45,t20F44,t10F43,t00F42];
          real4 hx0F3E#4 = EvalKernel<4,bspln3,0>(a0F41);
          real t00F53#1 = Dot<4>(v00F1E,hx0F3E);
          real t10F54#1 = Dot<4>(v10F1F,hx0F3E);
          real t20F55#1 = Dot<4>(v20F20,hx0F3E);
          real t30F56#1 = Dot<4>(v30F21,hx0F3E);
          real4 tv0F52#1 = <real4>[t00F53,t10F54,t20F55,t30F56];
          real _t0F18#1 = Dot<4>(hy0F3F,tv0F52);
          real _t0F95#2 = Sub<real>(_t0E9B,_t0F18);
          real _t0F97#1 = Mul<real>(_t0F95,_t0F95);
          real score0F99#1 = Add<real>(score0E84,_t0F97);
          goto JOIN0F9C
        JOIN0F9C:  preds = [ASSIGN0F9A,COND0E9A]
          real score0F9B#2 = phi(score0F99,score0E84)
          real _t0F9D#1 = Dot<2>(r00B2F,v040AB7);
          real _t0F9F#1 = Dot<2>(r10B35,v040AB7);
          real2 _t0FA1#1 = <real2>[_t0F9D,_t0F9F];
          real2 pos0FA3#2 = Add<real2>(_t0FA1,_t0B45);
          real2 x0FA6#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0FA3);
          bool _t0FA5#1 = Inside<IMAGE2D<float>,2>(x0FA6,_t0AA3);
          if _t0FA5 then goto ASSIGN0FAC else goto ASSIGN2122
        ASSIGN0FAC:  preds = [COND0FA9]
          real2 x0FAB#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v040AB7);
          bool _t0FAA#1 = Inside<IMAGE2D<int>,2>(x0FAB,_t0A9F);
          goto JOIN0FB0
        JOIN0FB0:  preds = [ASSIGN0FAD,ASSIGN2122]
          bool _t0FAE#1 = phi(_t0FAA,_t0FAF)
          if _t0FAE then goto ASSIGN0FF1 else goto JOIN10B3
        ASSIGN0FF1:  preds = [COND0FB1]
          real2 x0FB3#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0FA3);
          real2 nd0FB5#2 = Floor<2>(x0FB3);
          real2 f0FB4#2 = Sub<real2>(x0FB3,nd0FB5);
          int{2} n0FB6#8 = RealToInt<2>(nd0FB5);
          int t10FD2#1 = -1;
          int t20FD3#1 = Index<int{2},0>(n0FB6);
          int ix0FD1#1 = Add<int>(t10FD2,t20FD3);
          int t10FD5#1 = -1;
          int t20FD6#1 = Index<int{2},1>(n0FB6);
          int iy0FD4#1 = Add<int>(t10FD5,t20FD6);
          addr(IMAGE2D<float>) a0FD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FD4);
          real4 v00FB8#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD7);
          int t10FCB#1 = -1;
          int t20FCC#1 = Index<int{2},0>(n0FB6);
          int ix0FCA#1 = Add<int>(t10FCB,t20FCC);
          int t10FCE#1 = 0;
          int t20FCF#1 = Index<int{2},1>(n0FB6);
          int iy0FCD#1 = Add<int>(t10FCE,t20FCF);
          addr(IMAGE2D<float>) a0FD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FCA,iy0FCD);
          real4 v10FB9#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD0);
          int t10FC4#1 = -1;
          int t20FC5#1 = Index<int{2},0>(n0FB6);
          int ix0FC3#1 = Add<int>(t10FC4,t20FC5);
          int t10FC7#1 = 1;
          int t20FC8#1 = Index<int{2},1>(n0FB6);
          int iy0FC6#1 = Add<int>(t10FC7,t20FC8);
          addr(IMAGE2D<float>) a0FC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FC3,iy0FC6);
          real4 v20FBA#1 = LoadVoxels<IMAGE2D<float>,4>(a0FC9);
          int t10FBD#1 = -1;
          int t20FBE#1 = Index<int{2},0>(n0FB6);
          int ix0FBC#1 = Add<int>(t10FBD,t20FBE);
          int t10FC0#1 = 2;
          int t20FC1#1 = Index<int{2},1>(n0FB6);
          int iy0FBF#1 = Add<int>(t10FC0,t20FC1);
          addr(IMAGE2D<float>) a0FC2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FBC,iy0FBF);
          real4 v30FBB#1 = LoadVoxels<IMAGE2D<float>,4>(a0FC2);
          real fy0FE3#4 = Index<real2,1>(f0FB4);
          real r0FEB#1 = 0.1e1;
          real t30FE8#1 = Add<real>(fy0FE3,r0FEB);
          real t20FE7#1 = fy0FE3;
          real r0FEA#1 = 0.1e1;
          real t10FE6#1 = Sub<real>(fy0FE3,r0FEA);
          real r0FE9#1 = 0.2e1;
          real t00FE5#1 = Sub<real>(fy0FE3,r0FE9);
          real4 a0FE4#1 = <real4>[t30FE8,t20FE7,t10FE6,t00FE5];
          real4 hy0FD9#1 = EvalKernel<4,bspln3,0>(a0FE4);
          real fx0FDA#4 = Index<real2,0>(f0FB4);
          real r0FE2#1 = 0.1e1;
          real t30FDF#1 = Add<real>(fx0FDA,r0FE2);
          real t20FDE#1 = fx0FDA;
          real r0FE1#1 = 0.1e1;
          real t10FDD#1 = Sub<real>(fx0FDA,r0FE1);
          real r0FE0#1 = 0.2e1;
          real t00FDC#1 = Sub<real>(fx0FDA,r0FE0);
          real4 a0FDB#1 = <real4>[t30FDF,t20FDE,t10FDD,t00FDC];
          real4 hx0FD8#4 = EvalKernel<4,bspln3,0>(a0FDB);
          real t00FED#1 = Dot<4>(v00FB8,hx0FD8);
          real t10FEE#1 = Dot<4>(v10FB9,hx0FD8);
          real t20FEF#1 = Dot<4>(v20FBA,hx0FD8);
          real t30FF0#1 = Dot<4>(v30FBB,hx0FD8);
          real4 tv0FEC#1 = <real4>[t00FED,t10FEE,t20FEF,t30FF0];
          real _t0FB2#1 = Dot<4>(hy0FD9,tv0FEC);
          real2 x1030#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v040AB7);
          real2 nd1032#2 = Floor<2>(x1030);
          real2 f1031#2 = Sub<real2>(x1030,nd1032);
          int{2} n1033#8 = RealToInt<2>(nd1032);
          int t1104F#1 = -1;
          int t21050#1 = Index<int{2},0>(n1033);
          int ix104E#1 = Add<int>(t1104F,t21050);
          int t11052#1 = -1;
          int t21053#1 = Index<int{2},1>(n1033);
          int iy1051#1 = Add<int>(t11052,t21053);
          addr(IMAGE2D<int>) a1054#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy1051);
          real4 v01035#1 = LoadVoxels<IMAGE2D<int>,4>(a1054);
          int t11048#1 = -1;
          int t21049#1 = Index<int{2},0>(n1033);
          int ix1047#1 = Add<int>(t11048,t21049);
          int t1104B#1 = 0;
          int t2104C#1 = Index<int{2},1>(n1033);
          int iy104A#1 = Add<int>(t1104B,t2104C);
          addr(IMAGE2D<int>) a104D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1047,iy104A);
          real4 v11036#1 = LoadVoxels<IMAGE2D<int>,4>(a104D);
          int t11041#1 = -1;
          int t21042#1 = Index<int{2},0>(n1033);
          int ix1040#1 = Add<int>(t11041,t21042);
          int t11044#1 = 1;
          int t21045#1 = Index<int{2},1>(n1033);
          int iy1043#1 = Add<int>(t11044,t21045);
          addr(IMAGE2D<int>) a1046#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1040,iy1043);
          real4 v21037#1 = LoadVoxels<IMAGE2D<int>,4>(a1046);
          int t1103A#1 = -1;
          int t2103B#1 = Index<int{2},0>(n1033);
          int ix1039#1 = Add<int>(t1103A,t2103B);
          int t1103D#1 = 2;
          int t2103E#1 = Index<int{2},1>(n1033);
          int iy103C#1 = Add<int>(t1103D,t2103E);
          addr(IMAGE2D<int>) a103F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1039,iy103C);
          real4 v31038#1 = LoadVoxels<IMAGE2D<int>,4>(a103F);
          real fy1060#4 = Index<real2,1>(f1031);
          real r1068#1 = 0.1e1;
          real t31065#1 = Add<real>(fy1060,r1068);
          real t21064#1 = fy1060;
          real r1067#1 = 0.1e1;
          real t11063#1 = Sub<real>(fy1060,r1067);
          real r1066#1 = 0.2e1;
          real t01062#1 = Sub<real>(fy1060,r1066);
          real4 a1061#1 = <real4>[t31065,t21064,t11063,t01062];
          real4 hy1056#1 = EvalKernel<4,bspln3,0>(a1061);
          real fx1057#4 = Index<real2,0>(f1031);
          real r105F#1 = 0.1e1;
          real t3105C#1 = Add<real>(fx1057,r105F);
          real t2105B#1 = fx1057;
          real r105E#1 = 0.1e1;
          real t1105A#1 = Sub<real>(fx1057,r105E);
          real r105D#1 = 0.2e1;
          real t01059#1 = Sub<real>(fx1057,r105D);
          real4 a1058#1 = <real4>[t3105C,t2105B,t1105A,t01059];
          real4 hx1055#4 = EvalKernel<4,bspln3,0>(a1058);
          real t0106A#1 = Dot<4>(v01035,hx1055);
          real t1106B#1 = Dot<4>(v11036,hx1055);
          real t2106C#1 = Dot<4>(v21037,hx1055);
          real t3106D#1 = Dot<4>(v31038,hx1055);
          real4 tv1069#1 = <real4>[t0106A,t1106B,t2106C,t3106D];
          real _t102F#1 = Dot<4>(hy1056,tv1069);
          real _t10AC#2 = Sub<real>(_t0FB2,_t102F);
          real _t10AE#1 = Mul<real>(_t10AC,_t10AC);
          real score10B0#1 = Add<real>(score0F9B,_t10AE);
          goto JOIN10B3
        JOIN10B3:  preds = [ASSIGN10B1,COND0FB1]
          real score10B2#2 = phi(score10B0,score0F9B)
          real _t10B4#1 = Dot<2>(r00B2F,v050AB9);
          real _t10B6#1 = Dot<2>(r10B35,v050AB9);
          real2 _t10B8#1 = <real2>[_t10B4,_t10B6];
          real2 pos10BA#2 = Add<real2>(_t10B8,_t0B45);
          real2 x10BD#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos10BA);
          bool _t10BC#1 = Inside<IMAGE2D<float>,2>(x10BD,_t0AA3);
          if _t10BC then goto ASSIGN10C3 else goto ASSIGN2121
        ASSIGN10C3:  preds = [COND10C0]
          real2 x10C2#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v050AB9);
          bool _t10C1#1 = Inside<IMAGE2D<int>,2>(x10C2,_t0A9F);
          goto JOIN10C7
        JOIN10C7:  preds = [ASSIGN10C4,ASSIGN2121]
          bool _t10C5#1 = phi(_t10C1,_t10C6)
          if _t10C5 then goto ASSIGN1108 else goto JOIN11CA
        ASSIGN1108:  preds = [COND10C8]
          real2 x10CA#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos10BA);
          real2 nd10CC#2 = Floor<2>(x10CA);
          real2 f10CB#2 = Sub<real2>(x10CA,nd10CC);
          int{2} n10CD#8 = RealToInt<2>(nd10CC);
          int t110E9#1 = -1;
          int t210EA#1 = Index<int{2},0>(n10CD);
          int ix10E8#1 = Add<int>(t110E9,t210EA);
          int t110EC#1 = -1;
          int t210ED#1 = Index<int{2},1>(n10CD);
          int iy10EB#1 = Add<int>(t110EC,t210ED);
          addr(IMAGE2D<float>) a10EE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10EB);
          real4 v010CF#1 = LoadVoxels<IMAGE2D<float>,4>(a10EE);
          int t110E2#1 = -1;
          int t210E3#1 = Index<int{2},0>(n10CD);
          int ix10E1#1 = Add<int>(t110E2,t210E3);
          int t110E5#1 = 0;
          int t210E6#1 = Index<int{2},1>(n10CD);
          int iy10E4#1 = Add<int>(t110E5,t210E6);
          addr(IMAGE2D<float>) a10E7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E1,iy10E4);
          real4 v110D0#1 = LoadVoxels<IMAGE2D<float>,4>(a10E7);
          int t110DB#1 = -1;
          int t210DC#1 = Index<int{2},0>(n10CD);
          int ix10DA#1 = Add<int>(t110DB,t210DC);
          int t110DE#1 = 1;
          int t210DF#1 = Index<int{2},1>(n10CD);
          int iy10DD#1 = Add<int>(t110DE,t210DF);
          addr(IMAGE2D<float>) a10E0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10DA,iy10DD);
          real4 v210D1#1 = LoadVoxels<IMAGE2D<float>,4>(a10E0);
          int t110D4#1 = -1;
          int t210D5#1 = Index<int{2},0>(n10CD);
          int ix10D3#1 = Add<int>(t110D4,t210D5);
          int t110D7#1 = 2;
          int t210D8#1 = Index<int{2},1>(n10CD);
          int iy10D6#1 = Add<int>(t110D7,t210D8);
          addr(IMAGE2D<float>) a10D9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10D3,iy10D6);
          real4 v310D2#1 = LoadVoxels<IMAGE2D<float>,4>(a10D9);
          real fy10FA#4 = Index<real2,1>(f10CB);
          real r1102#1 = 0.1e1;
          real t310FF#1 = Add<real>(fy10FA,r1102);
          real t210FE#1 = fy10FA;
          real r1101#1 = 0.1e1;
          real t110FD#1 = Sub<real>(fy10FA,r1101);
          real r1100#1 = 0.2e1;
          real t010FC#1 = Sub<real>(fy10FA,r1100);
          real4 a10FB#1 = <real4>[t310FF,t210FE,t110FD,t010FC];
          real4 hy10F0#1 = EvalKernel<4,bspln3,0>(a10FB);
          real fx10F1#4 = Index<real2,0>(f10CB);
          real r10F9#1 = 0.1e1;
          real t310F6#1 = Add<real>(fx10F1,r10F9);
          real t210F5#1 = fx10F1;
          real r10F8#1 = 0.1e1;
          real t110F4#1 = Sub<real>(fx10F1,r10F8);
          real r10F7#1 = 0.2e1;
          real t010F3#1 = Sub<real>(fx10F1,r10F7);
          real4 a10F2#1 = <real4>[t310F6,t210F5,t110F4,t010F3];
          real4 hx10EF#4 = EvalKernel<4,bspln3,0>(a10F2);
          real t01104#1 = Dot<4>(v010CF,hx10EF);
          real t11105#1 = Dot<4>(v110D0,hx10EF);
          real t21106#1 = Dot<4>(v210D1,hx10EF);
          real t31107#1 = Dot<4>(v310D2,hx10EF);
          real4 tv1103#1 = <real4>[t01104,t11105,t21106,t31107];
          real _t10C9#1 = Dot<4>(hy10F0,tv1103);
          real2 x1147#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v050AB9);
          real2 nd1149#2 = Floor<2>(x1147);
          real2 f1148#2 = Sub<real2>(x1147,nd1149);
          int{2} n114A#8 = RealToInt<2>(nd1149);
          int t11166#1 = -1;
          int t21167#1 = Index<int{2},0>(n114A);
          int ix1165#1 = Add<int>(t11166,t21167);
          int t11169#1 = -1;
          int t2116A#1 = Index<int{2},1>(n114A);
          int iy1168#1 = Add<int>(t11169,t2116A);
          addr(IMAGE2D<int>) a116B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy1168);
          real4 v0114C#1 = LoadVoxels<IMAGE2D<int>,4>(a116B);
          int t1115F#1 = -1;
          int t21160#1 = Index<int{2},0>(n114A);
          int ix115E#1 = Add<int>(t1115F,t21160);
          int t11162#1 = 0;
          int t21163#1 = Index<int{2},1>(n114A);
          int iy1161#1 = Add<int>(t11162,t21163);
          addr(IMAGE2D<int>) a1164#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix115E,iy1161);
          real4 v1114D#1 = LoadVoxels<IMAGE2D<int>,4>(a1164);
          int t11158#1 = -1;
          int t21159#1 = Index<int{2},0>(n114A);
          int ix1157#1 = Add<int>(t11158,t21159);
          int t1115B#1 = 1;
          int t2115C#1 = Index<int{2},1>(n114A);
          int iy115A#1 = Add<int>(t1115B,t2115C);
          addr(IMAGE2D<int>) a115D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1157,iy115A);
          real4 v2114E#1 = LoadVoxels<IMAGE2D<int>,4>(a115D);
          int t11151#1 = -1;
          int t21152#1 = Index<int{2},0>(n114A);
          int ix1150#1 = Add<int>(t11151,t21152);
          int t11154#1 = 2;
          int t21155#1 = Index<int{2},1>(n114A);
          int iy1153#1 = Add<int>(t11154,t21155);
          addr(IMAGE2D<int>) a1156#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1150,iy1153);
          real4 v3114F#1 = LoadVoxels<IMAGE2D<int>,4>(a1156);
          real fy1177#4 = Index<real2,1>(f1148);
          real r117F#1 = 0.1e1;
          real t3117C#1 = Add<real>(fy1177,r117F);
          real t2117B#1 = fy1177;
          real r117E#1 = 0.1e1;
          real t1117A#1 = Sub<real>(fy1177,r117E);
          real r117D#1 = 0.2e1;
          real t01179#1 = Sub<real>(fy1177,r117D);
          real4 a1178#1 = <real4>[t3117C,t2117B,t1117A,t01179];
          real4 hy116D#1 = EvalKernel<4,bspln3,0>(a1178);
          real fx116E#4 = Index<real2,0>(f1148);
          real r1176#1 = 0.1e1;
          real t31173#1 = Add<real>(fx116E,r1176);
          real t21172#1 = fx116E;
          real r1175#1 = 0.1e1;
          real t11171#1 = Sub<real>(fx116E,r1175);
          real r1174#1 = 0.2e1;
          real t01170#1 = Sub<real>(fx116E,r1174);
          real4 a116F#1 = <real4>[t31173,t21172,t11171,t01170];
          real4 hx116C#4 = EvalKernel<4,bspln3,0>(a116F);
          real t01181#1 = Dot<4>(v0114C,hx116C);
          real t11182#1 = Dot<4>(v1114D,hx116C);
          real t21183#1 = Dot<4>(v2114E,hx116C);
          real t31184#1 = Dot<4>(v3114F,hx116C);
          real4 tv1180#1 = <real4>[t01181,t11182,t21183,t31184];
          real _t1146#1 = Dot<4>(hy116D,tv1180);
          real _t11C3#2 = Sub<real>(_t10C9,_t1146);
          real _t11C5#1 = Mul<real>(_t11C3,_t11C3);
          real score11C7#1 = Add<real>(score10B2,_t11C5);
          goto JOIN11CA
        JOIN11CA:  preds = [ASSIGN11C8,COND10C8]
          real score11C9#2 = phi(score11C7,score10B2)
          real _t11CB#1 = Dot<2>(r00B2F,v060ABB);
          real _t11CD#1 = Dot<2>(r10B35,v060ABB);
          real2 _t11CF#1 = <real2>[_t11CB,_t11CD];
          real2 pos11D1#2 = Add<real2>(_t11CF,_t0B45);
          real2 x11D4#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos11D1);
          bool _t11D3#1 = Inside<IMAGE2D<float>,2>(x11D4,_t0AA3);
          if _t11D3 then goto ASSIGN11DA else goto ASSIGN2120
        ASSIGN11DA:  preds = [COND11D7]
          real2 x11D9#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v060ABB);
          bool _t11D8#1 = Inside<IMAGE2D<int>,2>(x11D9,_t0A9F);
          goto JOIN11DE
        JOIN11DE:  preds = [ASSIGN11DB,ASSIGN2120]
          bool _t11DC#1 = phi(_t11D8,_t11DD)
          if _t11DC then goto ASSIGN121F else goto JOIN12E1
        ASSIGN121F:  preds = [COND11DF]
          real2 x11E1#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos11D1);
          real2 nd11E3#2 = Floor<2>(x11E1);
          real2 f11E2#2 = Sub<real2>(x11E1,nd11E3);
          int{2} n11E4#8 = RealToInt<2>(nd11E3);
          int t11200#1 = -1;
          int t21201#1 = Index<int{2},0>(n11E4);
          int ix11FF#1 = Add<int>(t11200,t21201);
          int t11203#1 = -1;
          int t21204#1 = Index<int{2},1>(n11E4);
          int iy1202#1 = Add<int>(t11203,t21204);
          addr(IMAGE2D<float>) a1205#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy1202);
          real4 v011E6#1 = LoadVoxels<IMAGE2D<float>,4>(a1205);
          int t111F9#1 = -1;
          int t211FA#1 = Index<int{2},0>(n11E4);
          int ix11F8#1 = Add<int>(t111F9,t211FA);
          int t111FC#1 = 0;
          int t211FD#1 = Index<int{2},1>(n11E4);
          int iy11FB#1 = Add<int>(t111FC,t211FD);
          addr(IMAGE2D<float>) a11FE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11F8,iy11FB);
          real4 v111E7#1 = LoadVoxels<IMAGE2D<float>,4>(a11FE);
          int t111F2#1 = -1;
          int t211F3#1 = Index<int{2},0>(n11E4);
          int ix11F1#1 = Add<int>(t111F2,t211F3);
          int t111F5#1 = 1;
          int t211F6#1 = Index<int{2},1>(n11E4);
          int iy11F4#1 = Add<int>(t111F5,t211F6);
          addr(IMAGE2D<float>) a11F7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11F1,iy11F4);
          real4 v211E8#1 = LoadVoxels<IMAGE2D<float>,4>(a11F7);
          int t111EB#1 = -1;
          int t211EC#1 = Index<int{2},0>(n11E4);
          int ix11EA#1 = Add<int>(t111EB,t211EC);
          int t111EE#1 = 2;
          int t211EF#1 = Index<int{2},1>(n11E4);
          int iy11ED#1 = Add<int>(t111EE,t211EF);
          addr(IMAGE2D<float>) a11F0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11EA,iy11ED);
          real4 v311E9#1 = LoadVoxels<IMAGE2D<float>,4>(a11F0);
          real fy1211#4 = Index<real2,1>(f11E2);
          real r1219#1 = 0.1e1;
          real t31216#1 = Add<real>(fy1211,r1219);
          real t21215#1 = fy1211;
          real r1218#1 = 0.1e1;
          real t11214#1 = Sub<real>(fy1211,r1218);
          real r1217#1 = 0.2e1;
          real t01213#1 = Sub<real>(fy1211,r1217);
          real4 a1212#1 = <real4>[t31216,t21215,t11214,t01213];
          real4 hy1207#1 = EvalKernel<4,bspln3,0>(a1212);
          real fx1208#4 = Index<real2,0>(f11E2);
          real r1210#1 = 0.1e1;
          real t3120D#1 = Add<real>(fx1208,r1210);
          real t2120C#1 = fx1208;
          real r120F#1 = 0.1e1;
          real t1120B#1 = Sub<real>(fx1208,r120F);
          real r120E#1 = 0.2e1;
          real t0120A#1 = Sub<real>(fx1208,r120E);
          real4 a1209#1 = <real4>[t3120D,t2120C,t1120B,t0120A];
          real4 hx1206#4 = EvalKernel<4,bspln3,0>(a1209);
          real t0121B#1 = Dot<4>(v011E6,hx1206);
          real t1121C#1 = Dot<4>(v111E7,hx1206);
          real t2121D#1 = Dot<4>(v211E8,hx1206);
          real t3121E#1 = Dot<4>(v311E9,hx1206);
          real4 tv121A#1 = <real4>[t0121B,t1121C,t2121D,t3121E];
          real _t11E0#1 = Dot<4>(hy1207,tv121A);
          real2 x125E#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v060ABB);
          real2 nd1260#2 = Floor<2>(x125E);
          real2 f125F#2 = Sub<real2>(x125E,nd1260);
          int{2} n1261#8 = RealToInt<2>(nd1260);
          int t1127D#1 = -1;
          int t2127E#1 = Index<int{2},0>(n1261);
          int ix127C#1 = Add<int>(t1127D,t2127E);
          int t11280#1 = -1;
          int t21281#1 = Index<int{2},1>(n1261);
          int iy127F#1 = Add<int>(t11280,t21281);
          addr(IMAGE2D<int>) a1282#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy127F);
          real4 v01263#1 = LoadVoxels<IMAGE2D<int>,4>(a1282);
          int t11276#1 = -1;
          int t21277#1 = Index<int{2},0>(n1261);
          int ix1275#1 = Add<int>(t11276,t21277);
          int t11279#1 = 0;
          int t2127A#1 = Index<int{2},1>(n1261);
          int iy1278#1 = Add<int>(t11279,t2127A);
          addr(IMAGE2D<int>) a127B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1275,iy1278);
          real4 v11264#1 = LoadVoxels<IMAGE2D<int>,4>(a127B);
          int t1126F#1 = -1;
          int t21270#1 = Index<int{2},0>(n1261);
          int ix126E#1 = Add<int>(t1126F,t21270);
          int t11272#1 = 1;
          int t21273#1 = Index<int{2},1>(n1261);
          int iy1271#1 = Add<int>(t11272,t21273);
          addr(IMAGE2D<int>) a1274#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix126E,iy1271);
          real4 v21265#1 = LoadVoxels<IMAGE2D<int>,4>(a1274);
          int t11268#1 = -1;
          int t21269#1 = Index<int{2},0>(n1261);
          int ix1267#1 = Add<int>(t11268,t21269);
          int t1126B#1 = 2;
          int t2126C#1 = Index<int{2},1>(n1261);
          int iy126A#1 = Add<int>(t1126B,t2126C);
          addr(IMAGE2D<int>) a126D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1267,iy126A);
          real4 v31266#1 = LoadVoxels<IMAGE2D<int>,4>(a126D);
          real fy128E#4 = Index<real2,1>(f125F);
          real r1296#1 = 0.1e1;
          real t31293#1 = Add<real>(fy128E,r1296);
          real t21292#1 = fy128E;
          real r1295#1 = 0.1e1;
          real t11291#1 = Sub<real>(fy128E,r1295);
          real r1294#1 = 0.2e1;
          real t01290#1 = Sub<real>(fy128E,r1294);
          real4 a128F#1 = <real4>[t31293,t21292,t11291,t01290];
          real4 hy1284#1 = EvalKernel<4,bspln3,0>(a128F);
          real fx1285#4 = Index<real2,0>(f125F);
          real r128D#1 = 0.1e1;
          real t3128A#1 = Add<real>(fx1285,r128D);
          real t21289#1 = fx1285;
          real r128C#1 = 0.1e1;
          real t11288#1 = Sub<real>(fx1285,r128C);
          real r128B#1 = 0.2e1;
          real t01287#1 = Sub<real>(fx1285,r128B);
          real4 a1286#1 = <real4>[t3128A,t21289,t11288,t01287];
          real4 hx1283#4 = EvalKernel<4,bspln3,0>(a1286);
          real t01298#1 = Dot<4>(v01263,hx1283);
          real t11299#1 = Dot<4>(v11264,hx1283);
          real t2129A#1 = Dot<4>(v21265,hx1283);
          real t3129B#1 = Dot<4>(v31266,hx1283);
          real4 tv1297#1 = <real4>[t01298,t11299,t2129A,t3129B];
          real _t125D#1 = Dot<4>(hy1284,tv1297);
          real _t12DA#2 = Sub<real>(_t11E0,_t125D);
          real _t12DC#1 = Mul<real>(_t12DA,_t12DA);
          real score12DE#1 = Add<real>(score11C9,_t12DC);
          goto JOIN12E1
        JOIN12E1:  preds = [ASSIGN12DF,COND11DF]
          real score12E0#2 = phi(score12DE,score11C9)
          real _t12E2#1 = Dot<2>(r00B2F,v070ABD);
          real _t12E4#1 = Dot<2>(r10B35,v070ABD);
          real2 _t12E6#1 = <real2>[_t12E2,_t12E4];
          real2 pos12E8#2 = Add<real2>(_t12E6,_t0B45);
          real2 x12EB#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos12E8);
          bool _t12EA#1 = Inside<IMAGE2D<float>,2>(x12EB,_t0AA3);
          if _t12EA then goto ASSIGN12F1 else goto ASSIGN211F
        ASSIGN12F1:  preds = [COND12EE]
          real2 x12F0#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v070ABD);
          bool _t12EF#1 = Inside<IMAGE2D<int>,2>(x12F0,_t0A9F);
          goto JOIN12F5
        JOIN12F5:  preds = [ASSIGN12F2,ASSIGN211F]
          bool _t12F3#1 = phi(_t12EF,_t12F4)
          if _t12F3 then goto ASSIGN1336 else goto JOIN13F8
        ASSIGN1336:  preds = [COND12F6]
          real2 x12F8#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos12E8);
          real2 nd12FA#2 = Floor<2>(x12F8);
          real2 f12F9#2 = Sub<real2>(x12F8,nd12FA);
          int{2} n12FB#8 = RealToInt<2>(nd12FA);
          int t11317#1 = -1;
          int t21318#1 = Index<int{2},0>(n12FB);
          int ix1316#1 = Add<int>(t11317,t21318);
          int t1131A#1 = -1;
          int t2131B#1 = Index<int{2},1>(n12FB);
          int iy1319#1 = Add<int>(t1131A,t2131B);
          addr(IMAGE2D<float>) a131C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy1319);
          real4 v012FD#1 = LoadVoxels<IMAGE2D<float>,4>(a131C);
          int t11310#1 = -1;
          int t21311#1 = Index<int{2},0>(n12FB);
          int ix130F#1 = Add<int>(t11310,t21311);
          int t11313#1 = 0;
          int t21314#1 = Index<int{2},1>(n12FB);
          int iy1312#1 = Add<int>(t11313,t21314);
          addr(IMAGE2D<float>) a1315#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix130F,iy1312);
          real4 v112FE#1 = LoadVoxels<IMAGE2D<float>,4>(a1315);
          int t11309#1 = -1;
          int t2130A#1 = Index<int{2},0>(n12FB);
          int ix1308#1 = Add<int>(t11309,t2130A);
          int t1130C#1 = 1;
          int t2130D#1 = Index<int{2},1>(n12FB);
          int iy130B#1 = Add<int>(t1130C,t2130D);
          addr(IMAGE2D<float>) a130E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1308,iy130B);
          real4 v212FF#1 = LoadVoxels<IMAGE2D<float>,4>(a130E);
          int t11302#1 = -1;
          int t21303#1 = Index<int{2},0>(n12FB);
          int ix1301#1 = Add<int>(t11302,t21303);
          int t11305#1 = 2;
          int t21306#1 = Index<int{2},1>(n12FB);
          int iy1304#1 = Add<int>(t11305,t21306);
          addr(IMAGE2D<float>) a1307#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1301,iy1304);
          real4 v31300#1 = LoadVoxels<IMAGE2D<float>,4>(a1307);
          real fy1328#4 = Index<real2,1>(f12F9);
          real r1330#1 = 0.1e1;
          real t3132D#1 = Add<real>(fy1328,r1330);
          real t2132C#1 = fy1328;
          real r132F#1 = 0.1e1;
          real t1132B#1 = Sub<real>(fy1328,r132F);
          real r132E#1 = 0.2e1;
          real t0132A#1 = Sub<real>(fy1328,r132E);
          real4 a1329#1 = <real4>[t3132D,t2132C,t1132B,t0132A];
          real4 hy131E#1 = EvalKernel<4,bspln3,0>(a1329);
          real fx131F#4 = Index<real2,0>(f12F9);
          real r1327#1 = 0.1e1;
          real t31324#1 = Add<real>(fx131F,r1327);
          real t21323#1 = fx131F;
          real r1326#1 = 0.1e1;
          real t11322#1 = Sub<real>(fx131F,r1326);
          real r1325#1 = 0.2e1;
          real t01321#1 = Sub<real>(fx131F,r1325);
          real4 a1320#1 = <real4>[t31324,t21323,t11322,t01321];
          real4 hx131D#4 = EvalKernel<4,bspln3,0>(a1320);
          real t01332#1 = Dot<4>(v012FD,hx131D);
          real t11333#1 = Dot<4>(v112FE,hx131D);
          real t21334#1 = Dot<4>(v212FF,hx131D);
          real t31335#1 = Dot<4>(v31300,hx131D);
          real4 tv1331#1 = <real4>[t01332,t11333,t21334,t31335];
          real _t12F7#1 = Dot<4>(hy131E,tv1331);
          real2 x1375#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v070ABD);
          real2 nd1377#2 = Floor<2>(x1375);
          real2 f1376#2 = Sub<real2>(x1375,nd1377);
          int{2} n1378#8 = RealToInt<2>(nd1377);
          int t11394#1 = -1;
          int t21395#1 = Index<int{2},0>(n1378);
          int ix1393#1 = Add<int>(t11394,t21395);
          int t11397#1 = -1;
          int t21398#1 = Index<int{2},1>(n1378);
          int iy1396#1 = Add<int>(t11397,t21398);
          addr(IMAGE2D<int>) a1399#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy1396);
          real4 v0137A#1 = LoadVoxels<IMAGE2D<int>,4>(a1399);
          int t1138D#1 = -1;
          int t2138E#1 = Index<int{2},0>(n1378);
          int ix138C#1 = Add<int>(t1138D,t2138E);
          int t11390#1 = 0;
          int t21391#1 = Index<int{2},1>(n1378);
          int iy138F#1 = Add<int>(t11390,t21391);
          addr(IMAGE2D<int>) a1392#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix138C,iy138F);
          real4 v1137B#1 = LoadVoxels<IMAGE2D<int>,4>(a1392);
          int t11386#1 = -1;
          int t21387#1 = Index<int{2},0>(n1378);
          int ix1385#1 = Add<int>(t11386,t21387);
          int t11389#1 = 1;
          int t2138A#1 = Index<int{2},1>(n1378);
          int iy1388#1 = Add<int>(t11389,t2138A);
          addr(IMAGE2D<int>) a138B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1385,iy1388);
          real4 v2137C#1 = LoadVoxels<IMAGE2D<int>,4>(a138B);
          int t1137F#1 = -1;
          int t21380#1 = Index<int{2},0>(n1378);
          int ix137E#1 = Add<int>(t1137F,t21380);
          int t11382#1 = 2;
          int t21383#1 = Index<int{2},1>(n1378);
          int iy1381#1 = Add<int>(t11382,t21383);
          addr(IMAGE2D<int>) a1384#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix137E,iy1381);
          real4 v3137D#1 = LoadVoxels<IMAGE2D<int>,4>(a1384);
          real fy13A5#4 = Index<real2,1>(f1376);
          real r13AD#1 = 0.1e1;
          real t313AA#1 = Add<real>(fy13A5,r13AD);
          real t213A9#1 = fy13A5;
          real r13AC#1 = 0.1e1;
          real t113A8#1 = Sub<real>(fy13A5,r13AC);
          real r13AB#1 = 0.2e1;
          real t013A7#1 = Sub<real>(fy13A5,r13AB);
          real4 a13A6#1 = <real4>[t313AA,t213A9,t113A8,t013A7];
          real4 hy139B#1 = EvalKernel<4,bspln3,0>(a13A6);
          real fx139C#4 = Index<real2,0>(f1376);
          real r13A4#1 = 0.1e1;
          real t313A1#1 = Add<real>(fx139C,r13A4);
          real t213A0#1 = fx139C;
          real r13A3#1 = 0.1e1;
          real t1139F#1 = Sub<real>(fx139C,r13A3);
          real r13A2#1 = 0.2e1;
          real t0139E#1 = Sub<real>(fx139C,r13A2);
          real4 a139D#1 = <real4>[t313A1,t213A0,t1139F,t0139E];
          real4 hx139A#4 = EvalKernel<4,bspln3,0>(a139D);
          real t013AF#1 = Dot<4>(v0137A,hx139A);
          real t113B0#1 = Dot<4>(v1137B,hx139A);
          real t213B1#1 = Dot<4>(v2137C,hx139A);
          real t313B2#1 = Dot<4>(v3137D,hx139A);
          real4 tv13AE#1 = <real4>[t013AF,t113B0,t213B1,t313B2];
          real _t1374#1 = Dot<4>(hy139B,tv13AE);
          real _t13F1#2 = Sub<real>(_t12F7,_t1374);
          real _t13F3#1 = Mul<real>(_t13F1,_t13F1);
          real score13F5#1 = Add<real>(score12E0,_t13F3);
          goto JOIN13F8
        JOIN13F8:  preds = [ASSIGN13F6,COND12F6]
          real score13F7#2 = phi(score13F5,score12E0)
          real _t13F9#1 = Dot<2>(r00B2F,v080ABF);
          real _t13FB#1 = Dot<2>(r10B35,v080ABF);
          real2 _t13FD#1 = <real2>[_t13F9,_t13FB];
          real2 pos13FF#2 = Add<real2>(_t13FD,_t0B45);
          real2 x1402#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos13FF);
          bool _t1401#1 = Inside<IMAGE2D<float>,2>(x1402,_t0AA3);
          if _t1401 then goto ASSIGN1408 else goto ASSIGN211E
        ASSIGN1408:  preds = [COND1405]
          real2 x1407#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v080ABF);
          bool _t1406#1 = Inside<IMAGE2D<int>,2>(x1407,_t0A9F);
          goto JOIN140C
        JOIN140C:  preds = [ASSIGN1409,ASSIGN211E]
          bool _t140A#1 = phi(_t1406,_t140B)
          if _t140A then goto ASSIGN144D else goto JOIN150F
        ASSIGN144D:  preds = [COND140D]
          real2 x140F#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos13FF);
          real2 nd1411#2 = Floor<2>(x140F);
          real2 f1410#2 = Sub<real2>(x140F,nd1411);
          int{2} n1412#8 = RealToInt<2>(nd1411);
          int t1142E#1 = -1;
          int t2142F#1 = Index<int{2},0>(n1412);
          int ix142D#1 = Add<int>(t1142E,t2142F);
          int t11431#1 = -1;
          int t21432#1 = Index<int{2},1>(n1412);
          int iy1430#1 = Add<int>(t11431,t21432);
          addr(IMAGE2D<float>) a1433#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy1430);
          real4 v01414#1 = LoadVoxels<IMAGE2D<float>,4>(a1433);
          int t11427#1 = -1;
          int t21428#1 = Index<int{2},0>(n1412);
          int ix1426#1 = Add<int>(t11427,t21428);
          int t1142A#1 = 0;
          int t2142B#1 = Index<int{2},1>(n1412);
          int iy1429#1 = Add<int>(t1142A,t2142B);
          addr(IMAGE2D<float>) a142C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1426,iy1429);
          real4 v11415#1 = LoadVoxels<IMAGE2D<float>,4>(a142C);
          int t11420#1 = -1;
          int t21421#1 = Index<int{2},0>(n1412);
          int ix141F#1 = Add<int>(t11420,t21421);
          int t11423#1 = 1;
          int t21424#1 = Index<int{2},1>(n1412);
          int iy1422#1 = Add<int>(t11423,t21424);
          addr(IMAGE2D<float>) a1425#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix141F,iy1422);
          real4 v21416#1 = LoadVoxels<IMAGE2D<float>,4>(a1425);
          int t11419#1 = -1;
          int t2141A#1 = Index<int{2},0>(n1412);
          int ix1418#1 = Add<int>(t11419,t2141A);
          int t1141C#1 = 2;
          int t2141D#1 = Index<int{2},1>(n1412);
          int iy141B#1 = Add<int>(t1141C,t2141D);
          addr(IMAGE2D<float>) a141E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1418,iy141B);
          real4 v31417#1 = LoadVoxels<IMAGE2D<float>,4>(a141E);
          real fy143F#4 = Index<real2,1>(f1410);
          real r1447#1 = 0.1e1;
          real t31444#1 = Add<real>(fy143F,r1447);
          real t21443#1 = fy143F;
          real r1446#1 = 0.1e1;
          real t11442#1 = Sub<real>(fy143F,r1446);
          real r1445#1 = 0.2e1;
          real t01441#1 = Sub<real>(fy143F,r1445);
          real4 a1440#1 = <real4>[t31444,t21443,t11442,t01441];
          real4 hy1435#1 = EvalKernel<4,bspln3,0>(a1440);
          real fx1436#4 = Index<real2,0>(f1410);
          real r143E#1 = 0.1e1;
          real t3143B#1 = Add<real>(fx1436,r143E);
          real t2143A#1 = fx1436;
          real r143D#1 = 0.1e1;
          real t11439#1 = Sub<real>(fx1436,r143D);
          real r143C#1 = 0.2e1;
          real t01438#1 = Sub<real>(fx1436,r143C);
          real4 a1437#1 = <real4>[t3143B,t2143A,t11439,t01438];
          real4 hx1434#4 = EvalKernel<4,bspln3,0>(a1437);
          real t01449#1 = Dot<4>(v01414,hx1434);
          real t1144A#1 = Dot<4>(v11415,hx1434);
          real t2144B#1 = Dot<4>(v21416,hx1434);
          real t3144C#1 = Dot<4>(v31417,hx1434);
          real4 tv1448#1 = <real4>[t01449,t1144A,t2144B,t3144C];
          real _t140E#1 = Dot<4>(hy1435,tv1448);
          real2 x148C#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v080ABF);
          real2 nd148E#2 = Floor<2>(x148C);
          real2 f148D#2 = Sub<real2>(x148C,nd148E);
          int{2} n148F#8 = RealToInt<2>(nd148E);
          int t114AB#1 = -1;
          int t214AC#1 = Index<int{2},0>(n148F);
          int ix14AA#1 = Add<int>(t114AB,t214AC);
          int t114AE#1 = -1;
          int t214AF#1 = Index<int{2},1>(n148F);
          int iy14AD#1 = Add<int>(t114AE,t214AF);
          addr(IMAGE2D<int>) a14B0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy14AD);
          real4 v01491#1 = LoadVoxels<IMAGE2D<int>,4>(a14B0);
          int t114A4#1 = -1;
          int t214A5#1 = Index<int{2},0>(n148F);
          int ix14A3#1 = Add<int>(t114A4,t214A5);
          int t114A7#1 = 0;
          int t214A8#1 = Index<int{2},1>(n148F);
          int iy14A6#1 = Add<int>(t114A7,t214A8);
          addr(IMAGE2D<int>) a14A9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14A3,iy14A6);
          real4 v11492#1 = LoadVoxels<IMAGE2D<int>,4>(a14A9);
          int t1149D#1 = -1;
          int t2149E#1 = Index<int{2},0>(n148F);
          int ix149C#1 = Add<int>(t1149D,t2149E);
          int t114A0#1 = 1;
          int t214A1#1 = Index<int{2},1>(n148F);
          int iy149F#1 = Add<int>(t114A0,t214A1);
          addr(IMAGE2D<int>) a14A2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix149C,iy149F);
          real4 v21493#1 = LoadVoxels<IMAGE2D<int>,4>(a14A2);
          int t11496#1 = -1;
          int t21497#1 = Index<int{2},0>(n148F);
          int ix1495#1 = Add<int>(t11496,t21497);
          int t11499#1 = 2;
          int t2149A#1 = Index<int{2},1>(n148F);
          int iy1498#1 = Add<int>(t11499,t2149A);
          addr(IMAGE2D<int>) a149B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1495,iy1498);
          real4 v31494#1 = LoadVoxels<IMAGE2D<int>,4>(a149B);
          real fy14BC#4 = Index<real2,1>(f148D);
          real r14C4#1 = 0.1e1;
          real t314C1#1 = Add<real>(fy14BC,r14C4);
          real t214C0#1 = fy14BC;
          real r14C3#1 = 0.1e1;
          real t114BF#1 = Sub<real>(fy14BC,r14C3);
          real r14C2#1 = 0.2e1;
          real t014BE#1 = Sub<real>(fy14BC,r14C2);
          real4 a14BD#1 = <real4>[t314C1,t214C0,t114BF,t014BE];
          real4 hy14B2#1 = EvalKernel<4,bspln3,0>(a14BD);
          real fx14B3#4 = Index<real2,0>(f148D);
          real r14BB#1 = 0.1e1;
          real t314B8#1 = Add<real>(fx14B3,r14BB);
          real t214B7#1 = fx14B3;
          real r14BA#1 = 0.1e1;
          real t114B6#1 = Sub<real>(fx14B3,r14BA);
          real r14B9#1 = 0.2e1;
          real t014B5#1 = Sub<real>(fx14B3,r14B9);
          real4 a14B4#1 = <real4>[t314B8,t214B7,t114B6,t014B5];
          real4 hx14B1#4 = EvalKernel<4,bspln3,0>(a14B4);
          real t014C6#1 = Dot<4>(v01491,hx14B1);
          real t114C7#1 = Dot<4>(v11492,hx14B1);
          real t214C8#1 = Dot<4>(v21493,hx14B1);
          real t314C9#1 = Dot<4>(v31494,hx14B1);
          real4 tv14C5#1 = <real4>[t014C6,t114C7,t214C8,t314C9];
          real _t148B#1 = Dot<4>(hy14B2,tv14C5);
          real _t1508#2 = Sub<real>(_t140E,_t148B);
          real _t150A#1 = Mul<real>(_t1508,_t1508);
          real score150C#1 = Add<real>(score13F7,_t150A);
          goto JOIN150F
        JOIN150F:  preds = [ASSIGN150D,COND140D]
          real score150E#2 = phi(score150C,score13F7)
          real _t1510#1 = Dot<2>(r00B2F,v090AC1);
          real _t1512#1 = Dot<2>(r10B35,v090AC1);
          real2 _t1514#1 = <real2>[_t1510,_t1512];
          real2 pos1516#2 = Add<real2>(_t1514,_t0B45);
          real2 x1519#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1516);
          bool _t1518#1 = Inside<IMAGE2D<float>,2>(x1519,_t0AA3);
          if _t1518 then goto ASSIGN151F else goto ASSIGN211D
        ASSIGN151F:  preds = [COND151C]
          real2 x151E#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v090AC1);
          bool _t151D#1 = Inside<IMAGE2D<int>,2>(x151E,_t0A9F);
          goto JOIN1523
        JOIN1523:  preds = [ASSIGN1520,ASSIGN211D]
          bool _t1521#1 = phi(_t151D,_t1522)
          if _t1521 then goto ASSIGN1564 else goto JOIN1626
        ASSIGN1564:  preds = [COND1524]
          real2 x1526#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1516);
          real2 nd1528#2 = Floor<2>(x1526);
          real2 f1527#2 = Sub<real2>(x1526,nd1528);
          int{2} n1529#8 = RealToInt<2>(nd1528);
          int t11545#1 = -1;
          int t21546#1 = Index<int{2},0>(n1529);
          int ix1544#1 = Add<int>(t11545,t21546);
          int t11548#1 = -1;
          int t21549#1 = Index<int{2},1>(n1529);
          int iy1547#1 = Add<int>(t11548,t21549);
          addr(IMAGE2D<float>) a154A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1547);
          real4 v0152B#1 = LoadVoxels<IMAGE2D<float>,4>(a154A);
          int t1153E#1 = -1;
          int t2153F#1 = Index<int{2},0>(n1529);
          int ix153D#1 = Add<int>(t1153E,t2153F);
          int t11541#1 = 0;
          int t21542#1 = Index<int{2},1>(n1529);
          int iy1540#1 = Add<int>(t11541,t21542);
          addr(IMAGE2D<float>) a1543#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix153D,iy1540);
          real4 v1152C#1 = LoadVoxels<IMAGE2D<float>,4>(a1543);
          int t11537#1 = -1;
          int t21538#1 = Index<int{2},0>(n1529);
          int ix1536#1 = Add<int>(t11537,t21538);
          int t1153A#1 = 1;
          int t2153B#1 = Index<int{2},1>(n1529);
          int iy1539#1 = Add<int>(t1153A,t2153B);
          addr(IMAGE2D<float>) a153C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1536,iy1539);
          real4 v2152D#1 = LoadVoxels<IMAGE2D<float>,4>(a153C);
          int t11530#1 = -1;
          int t21531#1 = Index<int{2},0>(n1529);
          int ix152F#1 = Add<int>(t11530,t21531);
          int t11533#1 = 2;
          int t21534#1 = Index<int{2},1>(n1529);
          int iy1532#1 = Add<int>(t11533,t21534);
          addr(IMAGE2D<float>) a1535#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix152F,iy1532);
          real4 v3152E#1 = LoadVoxels<IMAGE2D<float>,4>(a1535);
          real fy1556#4 = Index<real2,1>(f1527);
          real r155E#1 = 0.1e1;
          real t3155B#1 = Add<real>(fy1556,r155E);
          real t2155A#1 = fy1556;
          real r155D#1 = 0.1e1;
          real t11559#1 = Sub<real>(fy1556,r155D);
          real r155C#1 = 0.2e1;
          real t01558#1 = Sub<real>(fy1556,r155C);
          real4 a1557#1 = <real4>[t3155B,t2155A,t11559,t01558];
          real4 hy154C#1 = EvalKernel<4,bspln3,0>(a1557);
          real fx154D#4 = Index<real2,0>(f1527);
          real r1555#1 = 0.1e1;
          real t31552#1 = Add<real>(fx154D,r1555);
          real t21551#1 = fx154D;
          real r1554#1 = 0.1e1;
          real t11550#1 = Sub<real>(fx154D,r1554);
          real r1553#1 = 0.2e1;
          real t0154F#1 = Sub<real>(fx154D,r1553);
          real4 a154E#1 = <real4>[t31552,t21551,t11550,t0154F];
          real4 hx154B#4 = EvalKernel<4,bspln3,0>(a154E);
          real t01560#1 = Dot<4>(v0152B,hx154B);
          real t11561#1 = Dot<4>(v1152C,hx154B);
          real t21562#1 = Dot<4>(v2152D,hx154B);
          real t31563#1 = Dot<4>(v3152E,hx154B);
          real4 tv155F#1 = <real4>[t01560,t11561,t21562,t31563];
          real _t1525#1 = Dot<4>(hy154C,tv155F);
          real2 x15A3#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v090AC1);
          real2 nd15A5#2 = Floor<2>(x15A3);
          real2 f15A4#2 = Sub<real2>(x15A3,nd15A5);
          int{2} n15A6#8 = RealToInt<2>(nd15A5);
          int t115C2#1 = -1;
          int t215C3#1 = Index<int{2},0>(n15A6);
          int ix15C1#1 = Add<int>(t115C2,t215C3);
          int t115C5#1 = -1;
          int t215C6#1 = Index<int{2},1>(n15A6);
          int iy15C4#1 = Add<int>(t115C5,t215C6);
          addr(IMAGE2D<int>) a15C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15C4);
          real4 v015A8#1 = LoadVoxels<IMAGE2D<int>,4>(a15C7);
          int t115BB#1 = -1;
          int t215BC#1 = Index<int{2},0>(n15A6);
          int ix15BA#1 = Add<int>(t115BB,t215BC);
          int t115BE#1 = 0;
          int t215BF#1 = Index<int{2},1>(n15A6);
          int iy15BD#1 = Add<int>(t115BE,t215BF);
          addr(IMAGE2D<int>) a15C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15BA,iy15BD);
          real4 v115A9#1 = LoadVoxels<IMAGE2D<int>,4>(a15C0);
          int t115B4#1 = -1;
          int t215B5#1 = Index<int{2},0>(n15A6);
          int ix15B3#1 = Add<int>(t115B4,t215B5);
          int t115B7#1 = 1;
          int t215B8#1 = Index<int{2},1>(n15A6);
          int iy15B6#1 = Add<int>(t115B7,t215B8);
          addr(IMAGE2D<int>) a15B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15B3,iy15B6);
          real4 v215AA#1 = LoadVoxels<IMAGE2D<int>,4>(a15B9);
          int t115AD#1 = -1;
          int t215AE#1 = Index<int{2},0>(n15A6);
          int ix15AC#1 = Add<int>(t115AD,t215AE);
          int t115B0#1 = 2;
          int t215B1#1 = Index<int{2},1>(n15A6);
          int iy15AF#1 = Add<int>(t115B0,t215B1);
          addr(IMAGE2D<int>) a15B2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15AC,iy15AF);
          real4 v315AB#1 = LoadVoxels<IMAGE2D<int>,4>(a15B2);
          real fy15D3#4 = Index<real2,1>(f15A4);
          real r15DB#1 = 0.1e1;
          real t315D8#1 = Add<real>(fy15D3,r15DB);
          real t215D7#1 = fy15D3;
          real r15DA#1 = 0.1e1;
          real t115D6#1 = Sub<real>(fy15D3,r15DA);
          real r15D9#1 = 0.2e1;
          real t015D5#1 = Sub<real>(fy15D3,r15D9);
          real4 a15D4#1 = <real4>[t315D8,t215D7,t115D6,t015D5];
          real4 hy15C9#1 = EvalKernel<4,bspln3,0>(a15D4);
          real fx15CA#4 = Index<real2,0>(f15A4);
          real r15D2#1 = 0.1e1;
          real t315CF#1 = Add<real>(fx15CA,r15D2);
          real t215CE#1 = fx15CA;
          real r15D1#1 = 0.1e1;
          real t115CD#1 = Sub<real>(fx15CA,r15D1);
          real r15D0#1 = 0.2e1;
          real t015CC#1 = Sub<real>(fx15CA,r15D0);
          real4 a15CB#1 = <real4>[t315CF,t215CE,t115CD,t015CC];
          real4 hx15C8#4 = EvalKernel<4,bspln3,0>(a15CB);
          real t015DD#1 = Dot<4>(v015A8,hx15C8);
          real t115DE#1 = Dot<4>(v115A9,hx15C8);
          real t215DF#1 = Dot<4>(v215AA,hx15C8);
          real t315E0#1 = Dot<4>(v315AB,hx15C8);
          real4 tv15DC#1 = <real4>[t015DD,t115DE,t215DF,t315E0];
          real _t15A2#1 = Dot<4>(hy15C9,tv15DC);
          real _t161F#2 = Sub<real>(_t1525,_t15A2);
          real _t1621#1 = Mul<real>(_t161F,_t161F);
          real score1623#1 = Add<real>(score150E,_t1621);
          goto JOIN1626
        JOIN1626:  preds = [ASSIGN1624,COND1524]
          real score1625#2 = phi(score1623,score150E)
          real _t1627#1 = Dot<2>(r00B2F,v100AC3);
          real _t1629#1 = Dot<2>(r10B35,v100AC3);
          real2 _t162B#1 = <real2>[_t1627,_t1629];
          real2 pos162D#2 = Add<real2>(_t162B,_t0B45);
          real2 x1630#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos162D);
          bool _t162F#1 = Inside<IMAGE2D<float>,2>(x1630,_t0AA3);
          if _t162F then goto ASSIGN1636 else goto ASSIGN211C
        ASSIGN1636:  preds = [COND1633]
          real2 x1635#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v100AC3);
          bool _t1634#1 = Inside<IMAGE2D<int>,2>(x1635,_t0A9F);
          goto JOIN163A
        JOIN163A:  preds = [ASSIGN1637,ASSIGN211C]
          bool _t1638#1 = phi(_t1634,_t1639)
          if _t1638 then goto ASSIGN167B else goto JOIN173D
        ASSIGN167B:  preds = [COND163B]
          real2 x163D#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos162D);
          real2 nd163F#2 = Floor<2>(x163D);
          real2 f163E#2 = Sub<real2>(x163D,nd163F);
          int{2} n1640#8 = RealToInt<2>(nd163F);
          int t1165C#1 = -1;
          int t2165D#1 = Index<int{2},0>(n1640);
          int ix165B#1 = Add<int>(t1165C,t2165D);
          int t1165F#1 = -1;
          int t21660#1 = Index<int{2},1>(n1640);
          int iy165E#1 = Add<int>(t1165F,t21660);
          addr(IMAGE2D<float>) a1661#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy165E);
          real4 v01642#1 = LoadVoxels<IMAGE2D<float>,4>(a1661);
          int t11655#1 = -1;
          int t21656#1 = Index<int{2},0>(n1640);
          int ix1654#1 = Add<int>(t11655,t21656);
          int t11658#1 = 0;
          int t21659#1 = Index<int{2},1>(n1640);
          int iy1657#1 = Add<int>(t11658,t21659);
          addr(IMAGE2D<float>) a165A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1654,iy1657);
          real4 v11643#1 = LoadVoxels<IMAGE2D<float>,4>(a165A);
          int t1164E#1 = -1;
          int t2164F#1 = Index<int{2},0>(n1640);
          int ix164D#1 = Add<int>(t1164E,t2164F);
          int t11651#1 = 1;
          int t21652#1 = Index<int{2},1>(n1640);
          int iy1650#1 = Add<int>(t11651,t21652);
          addr(IMAGE2D<float>) a1653#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix164D,iy1650);
          real4 v21644#1 = LoadVoxels<IMAGE2D<float>,4>(a1653);
          int t11647#1 = -1;
          int t21648#1 = Index<int{2},0>(n1640);
          int ix1646#1 = Add<int>(t11647,t21648);
          int t1164A#1 = 2;
          int t2164B#1 = Index<int{2},1>(n1640);
          int iy1649#1 = Add<int>(t1164A,t2164B);
          addr(IMAGE2D<float>) a164C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1646,iy1649);
          real4 v31645#1 = LoadVoxels<IMAGE2D<float>,4>(a164C);
          real fy166D#4 = Index<real2,1>(f163E);
          real r1675#1 = 0.1e1;
          real t31672#1 = Add<real>(fy166D,r1675);
          real t21671#1 = fy166D;
          real r1674#1 = 0.1e1;
          real t11670#1 = Sub<real>(fy166D,r1674);
          real r1673#1 = 0.2e1;
          real t0166F#1 = Sub<real>(fy166D,r1673);
          real4 a166E#1 = <real4>[t31672,t21671,t11670,t0166F];
          real4 hy1663#1 = EvalKernel<4,bspln3,0>(a166E);
          real fx1664#4 = Index<real2,0>(f163E);
          real r166C#1 = 0.1e1;
          real t31669#1 = Add<real>(fx1664,r166C);
          real t21668#1 = fx1664;
          real r166B#1 = 0.1e1;
          real t11667#1 = Sub<real>(fx1664,r166B);
          real r166A#1 = 0.2e1;
          real t01666#1 = Sub<real>(fx1664,r166A);
          real4 a1665#1 = <real4>[t31669,t21668,t11667,t01666];
          real4 hx1662#4 = EvalKernel<4,bspln3,0>(a1665);
          real t01677#1 = Dot<4>(v01642,hx1662);
          real t11678#1 = Dot<4>(v11643,hx1662);
          real t21679#1 = Dot<4>(v21644,hx1662);
          real t3167A#1 = Dot<4>(v31645,hx1662);
          real4 tv1676#1 = <real4>[t01677,t11678,t21679,t3167A];
          real _t163C#1 = Dot<4>(hy1663,tv1676);
          real2 x16BA#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v100AC3);
          real2 nd16BC#2 = Floor<2>(x16BA);
          real2 f16BB#2 = Sub<real2>(x16BA,nd16BC);
          int{2} n16BD#8 = RealToInt<2>(nd16BC);
          int t116D9#1 = -1;
          int t216DA#1 = Index<int{2},0>(n16BD);
          int ix16D8#1 = Add<int>(t116D9,t216DA);
          int t116DC#1 = -1;
          int t216DD#1 = Index<int{2},1>(n16BD);
          int iy16DB#1 = Add<int>(t116DC,t216DD);
          addr(IMAGE2D<int>) a16DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16DB);
          real4 v016BF#1 = LoadVoxels<IMAGE2D<int>,4>(a16DE);
          int t116D2#1 = -1;
          int t216D3#1 = Index<int{2},0>(n16BD);
          int ix16D1#1 = Add<int>(t116D2,t216D3);
          int t116D5#1 = 0;
          int t216D6#1 = Index<int{2},1>(n16BD);
          int iy16D4#1 = Add<int>(t116D5,t216D6);
          addr(IMAGE2D<int>) a16D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D1,iy16D4);
          real4 v116C0#1 = LoadVoxels<IMAGE2D<int>,4>(a16D7);
          int t116CB#1 = -1;
          int t216CC#1 = Index<int{2},0>(n16BD);
          int ix16CA#1 = Add<int>(t116CB,t216CC);
          int t116CE#1 = 1;
          int t216CF#1 = Index<int{2},1>(n16BD);
          int iy16CD#1 = Add<int>(t116CE,t216CF);
          addr(IMAGE2D<int>) a16D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16CA,iy16CD);
          real4 v216C1#1 = LoadVoxels<IMAGE2D<int>,4>(a16D0);
          int t116C4#1 = -1;
          int t216C5#1 = Index<int{2},0>(n16BD);
          int ix16C3#1 = Add<int>(t116C4,t216C5);
          int t116C7#1 = 2;
          int t216C8#1 = Index<int{2},1>(n16BD);
          int iy16C6#1 = Add<int>(t116C7,t216C8);
          addr(IMAGE2D<int>) a16C9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16C3,iy16C6);
          real4 v316C2#1 = LoadVoxels<IMAGE2D<int>,4>(a16C9);
          real fy16EA#4 = Index<real2,1>(f16BB);
          real r16F2#1 = 0.1e1;
          real t316EF#1 = Add<real>(fy16EA,r16F2);
          real t216EE#1 = fy16EA;
          real r16F1#1 = 0.1e1;
          real t116ED#1 = Sub<real>(fy16EA,r16F1);
          real r16F0#1 = 0.2e1;
          real t016EC#1 = Sub<real>(fy16EA,r16F0);
          real4 a16EB#1 = <real4>[t316EF,t216EE,t116ED,t016EC];
          real4 hy16E0#1 = EvalKernel<4,bspln3,0>(a16EB);
          real fx16E1#4 = Index<real2,0>(f16BB);
          real r16E9#1 = 0.1e1;
          real t316E6#1 = Add<real>(fx16E1,r16E9);
          real t216E5#1 = fx16E1;
          real r16E8#1 = 0.1e1;
          real t116E4#1 = Sub<real>(fx16E1,r16E8);
          real r16E7#1 = 0.2e1;
          real t016E3#1 = Sub<real>(fx16E1,r16E7);
          real4 a16E2#1 = <real4>[t316E6,t216E5,t116E4,t016E3];
          real4 hx16DF#4 = EvalKernel<4,bspln3,0>(a16E2);
          real t016F4#1 = Dot<4>(v016BF,hx16DF);
          real t116F5#1 = Dot<4>(v116C0,hx16DF);
          real t216F6#1 = Dot<4>(v216C1,hx16DF);
          real t316F7#1 = Dot<4>(v316C2,hx16DF);
          real4 tv16F3#1 = <real4>[t016F4,t116F5,t216F6,t316F7];
          real _t16B9#1 = Dot<4>(hy16E0,tv16F3);
          real _t1736#2 = Sub<real>(_t163C,_t16B9);
          real _t1738#1 = Mul<real>(_t1736,_t1736);
          real score173A#1 = Add<real>(score1625,_t1738);
          goto JOIN173D
        JOIN173D:  preds = [ASSIGN173B,COND163B]
          real score173C#2 = phi(score173A,score1625)
          real _t173E#1 = Dot<2>(r00B2F,v110AC5);
          real _t1740#1 = Dot<2>(r10B35,v110AC5);
          real2 _t1742#1 = <real2>[_t173E,_t1740];
          real2 pos1744#2 = Add<real2>(_t1742,_t0B45);
          real2 x1747#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1744);
          bool _t1746#1 = Inside<IMAGE2D<float>,2>(x1747,_t0AA3);
          if _t1746 then goto ASSIGN174D else goto ASSIGN211B
        ASSIGN174D:  preds = [COND174A]
          real2 x174C#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v110AC5);
          bool _t174B#1 = Inside<IMAGE2D<int>,2>(x174C,_t0A9F);
          goto JOIN1751
        JOIN1751:  preds = [ASSIGN174E,ASSIGN211B]
          bool _t174F#1 = phi(_t174B,_t1750)
          if _t174F then goto ASSIGN1792 else goto JOIN1854
        ASSIGN1792:  preds = [COND1752]
          real2 x1754#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1744);
          real2 nd1756#2 = Floor<2>(x1754);
          real2 f1755#2 = Sub<real2>(x1754,nd1756);
          int{2} n1757#8 = RealToInt<2>(nd1756);
          int t11773#1 = -1;
          int t21774#1 = Index<int{2},0>(n1757);
          int ix1772#1 = Add<int>(t11773,t21774);
          int t11776#1 = -1;
          int t21777#1 = Index<int{2},1>(n1757);
          int iy1775#1 = Add<int>(t11776,t21777);
          addr(IMAGE2D<float>) a1778#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy1775);
          real4 v01759#1 = LoadVoxels<IMAGE2D<float>,4>(a1778);
          int t1176C#1 = -1;
          int t2176D#1 = Index<int{2},0>(n1757);
          int ix176B#1 = Add<int>(t1176C,t2176D);
          int t1176F#1 = 0;
          int t21770#1 = Index<int{2},1>(n1757);
          int iy176E#1 = Add<int>(t1176F,t21770);
          addr(IMAGE2D<float>) a1771#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix176B,iy176E);
          real4 v1175A#1 = LoadVoxels<IMAGE2D<float>,4>(a1771);
          int t11765#1 = -1;
          int t21766#1 = Index<int{2},0>(n1757);
          int ix1764#1 = Add<int>(t11765,t21766);
          int t11768#1 = 1;
          int t21769#1 = Index<int{2},1>(n1757);
          int iy1767#1 = Add<int>(t11768,t21769);
          addr(IMAGE2D<float>) a176A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1764,iy1767);
          real4 v2175B#1 = LoadVoxels<IMAGE2D<float>,4>(a176A);
          int t1175E#1 = -1;
          int t2175F#1 = Index<int{2},0>(n1757);
          int ix175D#1 = Add<int>(t1175E,t2175F);
          int t11761#1 = 2;
          int t21762#1 = Index<int{2},1>(n1757);
          int iy1760#1 = Add<int>(t11761,t21762);
          addr(IMAGE2D<float>) a1763#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix175D,iy1760);
          real4 v3175C#1 = LoadVoxels<IMAGE2D<float>,4>(a1763);
          real fy1784#4 = Index<real2,1>(f1755);
          real r178C#1 = 0.1e1;
          real t31789#1 = Add<real>(fy1784,r178C);
          real t21788#1 = fy1784;
          real r178B#1 = 0.1e1;
          real t11787#1 = Sub<real>(fy1784,r178B);
          real r178A#1 = 0.2e1;
          real t01786#1 = Sub<real>(fy1784,r178A);
          real4 a1785#1 = <real4>[t31789,t21788,t11787,t01786];
          real4 hy177A#1 = EvalKernel<4,bspln3,0>(a1785);
          real fx177B#4 = Index<real2,0>(f1755);
          real r1783#1 = 0.1e1;
          real t31780#1 = Add<real>(fx177B,r1783);
          real t2177F#1 = fx177B;
          real r1782#1 = 0.1e1;
          real t1177E#1 = Sub<real>(fx177B,r1782);
          real r1781#1 = 0.2e1;
          real t0177D#1 = Sub<real>(fx177B,r1781);
          real4 a177C#1 = <real4>[t31780,t2177F,t1177E,t0177D];
          real4 hx1779#4 = EvalKernel<4,bspln3,0>(a177C);
          real t0178E#1 = Dot<4>(v01759,hx1779);
          real t1178F#1 = Dot<4>(v1175A,hx1779);
          real t21790#1 = Dot<4>(v2175B,hx1779);
          real t31791#1 = Dot<4>(v3175C,hx1779);
          real4 tv178D#1 = <real4>[t0178E,t1178F,t21790,t31791];
          real _t1753#1 = Dot<4>(hy177A,tv178D);
          real2 x17D1#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v110AC5);
          real2 nd17D3#2 = Floor<2>(x17D1);
          real2 f17D2#2 = Sub<real2>(x17D1,nd17D3);
          int{2} n17D4#8 = RealToInt<2>(nd17D3);
          int t117F0#1 = -1;
          int t217F1#1 = Index<int{2},0>(n17D4);
          int ix17EF#1 = Add<int>(t117F0,t217F1);
          int t117F3#1 = -1;
          int t217F4#1 = Index<int{2},1>(n17D4);
          int iy17F2#1 = Add<int>(t117F3,t217F4);
          addr(IMAGE2D<int>) a17F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17F2);
          real4 v017D6#1 = LoadVoxels<IMAGE2D<int>,4>(a17F5);
          int t117E9#1 = -1;
          int t217EA#1 = Index<int{2},0>(n17D4);
          int ix17E8#1 = Add<int>(t117E9,t217EA);
          int t117EC#1 = 0;
          int t217ED#1 = Index<int{2},1>(n17D4);
          int iy17EB#1 = Add<int>(t117EC,t217ED);
          addr(IMAGE2D<int>) a17EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17E8,iy17EB);
          real4 v117D7#1 = LoadVoxels<IMAGE2D<int>,4>(a17EE);
          int t117E2#1 = -1;
          int t217E3#1 = Index<int{2},0>(n17D4);
          int ix17E1#1 = Add<int>(t117E2,t217E3);
          int t117E5#1 = 1;
          int t217E6#1 = Index<int{2},1>(n17D4);
          int iy17E4#1 = Add<int>(t117E5,t217E6);
          addr(IMAGE2D<int>) a17E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17E1,iy17E4);
          real4 v217D8#1 = LoadVoxels<IMAGE2D<int>,4>(a17E7);
          int t117DB#1 = -1;
          int t217DC#1 = Index<int{2},0>(n17D4);
          int ix17DA#1 = Add<int>(t117DB,t217DC);
          int t117DE#1 = 2;
          int t217DF#1 = Index<int{2},1>(n17D4);
          int iy17DD#1 = Add<int>(t117DE,t217DF);
          addr(IMAGE2D<int>) a17E0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17DA,iy17DD);
          real4 v317D9#1 = LoadVoxels<IMAGE2D<int>,4>(a17E0);
          real fy1801#4 = Index<real2,1>(f17D2);
          real r1809#1 = 0.1e1;
          real t31806#1 = Add<real>(fy1801,r1809);
          real t21805#1 = fy1801;
          real r1808#1 = 0.1e1;
          real t11804#1 = Sub<real>(fy1801,r1808);
          real r1807#1 = 0.2e1;
          real t01803#1 = Sub<real>(fy1801,r1807);
          real4 a1802#1 = <real4>[t31806,t21805,t11804,t01803];
          real4 hy17F7#1 = EvalKernel<4,bspln3,0>(a1802);
          real fx17F8#4 = Index<real2,0>(f17D2);
          real r1800#1 = 0.1e1;
          real t317FD#1 = Add<real>(fx17F8,r1800);
          real t217FC#1 = fx17F8;
          real r17FF#1 = 0.1e1;
          real t117FB#1 = Sub<real>(fx17F8,r17FF);
          real r17FE#1 = 0.2e1;
          real t017FA#1 = Sub<real>(fx17F8,r17FE);
          real4 a17F9#1 = <real4>[t317FD,t217FC,t117FB,t017FA];
          real4 hx17F6#4 = EvalKernel<4,bspln3,0>(a17F9);
          real t0180B#1 = Dot<4>(v017D6,hx17F6);
          real t1180C#1 = Dot<4>(v117D7,hx17F6);
          real t2180D#1 = Dot<4>(v217D8,hx17F6);
          real t3180E#1 = Dot<4>(v317D9,hx17F6);
          real4 tv180A#1 = <real4>[t0180B,t1180C,t2180D,t3180E];
          real _t17D0#1 = Dot<4>(hy17F7,tv180A);
          real _t184D#2 = Sub<real>(_t1753,_t17D0);
          real _t184F#1 = Mul<real>(_t184D,_t184D);
          real score1851#1 = Add<real>(score173C,_t184F);
          goto JOIN1854
        JOIN1854:  preds = [ASSIGN1852,COND1752]
          real score1853#2 = phi(score1851,score173C)
          real _t1855#1 = Dot<2>(r00B2F,v120AC7);
          real _t1857#1 = Dot<2>(r10B35,v120AC7);
          real2 _t1859#1 = <real2>[_t1855,_t1857];
          real2 pos185B#2 = Add<real2>(_t1859,_t0B45);
          real2 x185E#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos185B);
          bool _t185D#1 = Inside<IMAGE2D<float>,2>(x185E,_t0AA3);
          if _t185D then goto ASSIGN1864 else goto ASSIGN211A
        ASSIGN1864:  preds = [COND1861]
          real2 x1863#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v120AC7);
          bool _t1862#1 = Inside<IMAGE2D<int>,2>(x1863,_t0A9F);
          goto JOIN1868
        JOIN1868:  preds = [ASSIGN1865,ASSIGN211A]
          bool _t1866#1 = phi(_t1862,_t1867)
          if _t1866 then goto ASSIGN18A9 else goto JOIN196B
        ASSIGN18A9:  preds = [COND1869]
          real2 x186B#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos185B);
          real2 nd186D#2 = Floor<2>(x186B);
          real2 f186C#2 = Sub<real2>(x186B,nd186D);
          int{2} n186E#8 = RealToInt<2>(nd186D);
          int t1188A#1 = -1;
          int t2188B#1 = Index<int{2},0>(n186E);
          int ix1889#1 = Add<int>(t1188A,t2188B);
          int t1188D#1 = -1;
          int t2188E#1 = Index<int{2},1>(n186E);
          int iy188C#1 = Add<int>(t1188D,t2188E);
          addr(IMAGE2D<float>) a188F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy188C);
          real4 v01870#1 = LoadVoxels<IMAGE2D<float>,4>(a188F);
          int t11883#1 = -1;
          int t21884#1 = Index<int{2},0>(n186E);
          int ix1882#1 = Add<int>(t11883,t21884);
          int t11886#1 = 0;
          int t21887#1 = Index<int{2},1>(n186E);
          int iy1885#1 = Add<int>(t11886,t21887);
          addr(IMAGE2D<float>) a1888#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1882,iy1885);
          real4 v11871#1 = LoadVoxels<IMAGE2D<float>,4>(a1888);
          int t1187C#1 = -1;
          int t2187D#1 = Index<int{2},0>(n186E);
          int ix187B#1 = Add<int>(t1187C,t2187D);
          int t1187F#1 = 1;
          int t21880#1 = Index<int{2},1>(n186E);
          int iy187E#1 = Add<int>(t1187F,t21880);
          addr(IMAGE2D<float>) a1881#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix187B,iy187E);
          real4 v21872#1 = LoadVoxels<IMAGE2D<float>,4>(a1881);
          int t11875#1 = -1;
          int t21876#1 = Index<int{2},0>(n186E);
          int ix1874#1 = Add<int>(t11875,t21876);
          int t11878#1 = 2;
          int t21879#1 = Index<int{2},1>(n186E);
          int iy1877#1 = Add<int>(t11878,t21879);
          addr(IMAGE2D<float>) a187A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1874,iy1877);
          real4 v31873#1 = LoadVoxels<IMAGE2D<float>,4>(a187A);
          real fy189B#4 = Index<real2,1>(f186C);
          real r18A3#1 = 0.1e1;
          real t318A0#1 = Add<real>(fy189B,r18A3);
          real t2189F#1 = fy189B;
          real r18A2#1 = 0.1e1;
          real t1189E#1 = Sub<real>(fy189B,r18A2);
          real r18A1#1 = 0.2e1;
          real t0189D#1 = Sub<real>(fy189B,r18A1);
          real4 a189C#1 = <real4>[t318A0,t2189F,t1189E,t0189D];
          real4 hy1891#1 = EvalKernel<4,bspln3,0>(a189C);
          real fx1892#4 = Index<real2,0>(f186C);
          real r189A#1 = 0.1e1;
          real t31897#1 = Add<real>(fx1892,r189A);
          real t21896#1 = fx1892;
          real r1899#1 = 0.1e1;
          real t11895#1 = Sub<real>(fx1892,r1899);
          real r1898#1 = 0.2e1;
          real t01894#1 = Sub<real>(fx1892,r1898);
          real4 a1893#1 = <real4>[t31897,t21896,t11895,t01894];
          real4 hx1890#4 = EvalKernel<4,bspln3,0>(a1893);
          real t018A5#1 = Dot<4>(v01870,hx1890);
          real t118A6#1 = Dot<4>(v11871,hx1890);
          real t218A7#1 = Dot<4>(v21872,hx1890);
          real t318A8#1 = Dot<4>(v31873,hx1890);
          real4 tv18A4#1 = <real4>[t018A5,t118A6,t218A7,t318A8];
          real _t186A#1 = Dot<4>(hy1891,tv18A4);
          real2 x18E8#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v120AC7);
          real2 nd18EA#2 = Floor<2>(x18E8);
          real2 f18E9#2 = Sub<real2>(x18E8,nd18EA);
          int{2} n18EB#8 = RealToInt<2>(nd18EA);
          int t11907#1 = -1;
          int t21908#1 = Index<int{2},0>(n18EB);
          int ix1906#1 = Add<int>(t11907,t21908);
          int t1190A#1 = -1;
          int t2190B#1 = Index<int{2},1>(n18EB);
          int iy1909#1 = Add<int>(t1190A,t2190B);
          addr(IMAGE2D<int>) a190C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy1909);
          real4 v018ED#1 = LoadVoxels<IMAGE2D<int>,4>(a190C);
          int t11900#1 = -1;
          int t21901#1 = Index<int{2},0>(n18EB);
          int ix18FF#1 = Add<int>(t11900,t21901);
          int t11903#1 = 0;
          int t21904#1 = Index<int{2},1>(n18EB);
          int iy1902#1 = Add<int>(t11903,t21904);
          addr(IMAGE2D<int>) a1905#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix18FF,iy1902);
          real4 v118EE#1 = LoadVoxels<IMAGE2D<int>,4>(a1905);
          int t118F9#1 = -1;
          int t218FA#1 = Index<int{2},0>(n18EB);
          int ix18F8#1 = Add<int>(t118F9,t218FA);
          int t118FC#1 = 1;
          int t218FD#1 = Index<int{2},1>(n18EB);
          int iy18FB#1 = Add<int>(t118FC,t218FD);
          addr(IMAGE2D<int>) a18FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix18F8,iy18FB);
          real4 v218EF#1 = LoadVoxels<IMAGE2D<int>,4>(a18FE);
          int t118F2#1 = -1;
          int t218F3#1 = Index<int{2},0>(n18EB);
          int ix18F1#1 = Add<int>(t118F2,t218F3);
          int t118F5#1 = 2;
          int t218F6#1 = Index<int{2},1>(n18EB);
          int iy18F4#1 = Add<int>(t118F5,t218F6);
          addr(IMAGE2D<int>) a18F7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix18F1,iy18F4);
          real4 v318F0#1 = LoadVoxels<IMAGE2D<int>,4>(a18F7);
          real fy1918#4 = Index<real2,1>(f18E9);
          real r1920#1 = 0.1e1;
          real t3191D#1 = Add<real>(fy1918,r1920);
          real t2191C#1 = fy1918;
          real r191F#1 = 0.1e1;
          real t1191B#1 = Sub<real>(fy1918,r191F);
          real r191E#1 = 0.2e1;
          real t0191A#1 = Sub<real>(fy1918,r191E);
          real4 a1919#1 = <real4>[t3191D,t2191C,t1191B,t0191A];
          real4 hy190E#1 = EvalKernel<4,bspln3,0>(a1919);
          real fx190F#4 = Index<real2,0>(f18E9);
          real r1917#1 = 0.1e1;
          real t31914#1 = Add<real>(fx190F,r1917);
          real t21913#1 = fx190F;
          real r1916#1 = 0.1e1;
          real t11912#1 = Sub<real>(fx190F,r1916);
          real r1915#1 = 0.2e1;
          real t01911#1 = Sub<real>(fx190F,r1915);
          real4 a1910#1 = <real4>[t31914,t21913,t11912,t01911];
          real4 hx190D#4 = EvalKernel<4,bspln3,0>(a1910);
          real t01922#1 = Dot<4>(v018ED,hx190D);
          real t11923#1 = Dot<4>(v118EE,hx190D);
          real t21924#1 = Dot<4>(v218EF,hx190D);
          real t31925#1 = Dot<4>(v318F0,hx190D);
          real4 tv1921#1 = <real4>[t01922,t11923,t21924,t31925];
          real _t18E7#1 = Dot<4>(hy190E,tv1921);
          real _t1964#2 = Sub<real>(_t186A,_t18E7);
          real _t1966#1 = Mul<real>(_t1964,_t1964);
          real score1968#1 = Add<real>(score1853,_t1966);
          goto JOIN196B
        JOIN196B:  preds = [ASSIGN1969,COND1869]
          real score196A#2 = phi(score1968,score1853)
          real _t196C#1 = Dot<2>(r00B2F,v130AC9);
          real _t196E#1 = Dot<2>(r10B35,v130AC9);
          real2 _t1970#1 = <real2>[_t196C,_t196E];
          real2 pos1972#2 = Add<real2>(_t1970,_t0B45);
          real2 x1975#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1972);
          bool _t1974#1 = Inside<IMAGE2D<float>,2>(x1975,_t0AA3);
          if _t1974 then goto ASSIGN197B else goto ASSIGN2119
        ASSIGN197B:  preds = [COND1978]
          real2 x197A#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v130AC9);
          bool _t1979#1 = Inside<IMAGE2D<int>,2>(x197A,_t0A9F);
          goto JOIN197F
        JOIN197F:  preds = [ASSIGN197C,ASSIGN2119]
          bool _t197D#1 = phi(_t1979,_t197E)
          if _t197D then goto ASSIGN19C0 else goto JOIN1A82
        ASSIGN19C0:  preds = [COND1980]
          real2 x1982#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1972);
          real2 nd1984#2 = Floor<2>(x1982);
          real2 f1983#2 = Sub<real2>(x1982,nd1984);
          int{2} n1985#8 = RealToInt<2>(nd1984);
          int t119A1#1 = -1;
          int t219A2#1 = Index<int{2},0>(n1985);
          int ix19A0#1 = Add<int>(t119A1,t219A2);
          int t119A4#1 = -1;
          int t219A5#1 = Index<int{2},1>(n1985);
          int iy19A3#1 = Add<int>(t119A4,t219A5);
          addr(IMAGE2D<float>) a19A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy19A3);
          real4 v01987#1 = LoadVoxels<IMAGE2D<float>,4>(a19A6);
          int t1199A#1 = -1;
          int t2199B#1 = Index<int{2},0>(n1985);
          int ix1999#1 = Add<int>(t1199A,t2199B);
          int t1199D#1 = 0;
          int t2199E#1 = Index<int{2},1>(n1985);
          int iy199C#1 = Add<int>(t1199D,t2199E);
          addr(IMAGE2D<float>) a199F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1999,iy199C);
          real4 v11988#1 = LoadVoxels<IMAGE2D<float>,4>(a199F);
          int t11993#1 = -1;
          int t21994#1 = Index<int{2},0>(n1985);
          int ix1992#1 = Add<int>(t11993,t21994);
          int t11996#1 = 1;
          int t21997#1 = Index<int{2},1>(n1985);
          int iy1995#1 = Add<int>(t11996,t21997);
          addr(IMAGE2D<float>) a1998#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1992,iy1995);
          real4 v21989#1 = LoadVoxels<IMAGE2D<float>,4>(a1998);
          int t1198C#1 = -1;
          int t2198D#1 = Index<int{2},0>(n1985);
          int ix198B#1 = Add<int>(t1198C,t2198D);
          int t1198F#1 = 2;
          int t21990#1 = Index<int{2},1>(n1985);
          int iy198E#1 = Add<int>(t1198F,t21990);
          addr(IMAGE2D<float>) a1991#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix198B,iy198E);
          real4 v3198A#1 = LoadVoxels<IMAGE2D<float>,4>(a1991);
          real fy19B2#4 = Index<real2,1>(f1983);
          real r19BA#1 = 0.1e1;
          real t319B7#1 = Add<real>(fy19B2,r19BA);
          real t219B6#1 = fy19B2;
          real r19B9#1 = 0.1e1;
          real t119B5#1 = Sub<real>(fy19B2,r19B9);
          real r19B8#1 = 0.2e1;
          real t019B4#1 = Sub<real>(fy19B2,r19B8);
          real4 a19B3#1 = <real4>[t319B7,t219B6,t119B5,t019B4];
          real4 hy19A8#1 = EvalKernel<4,bspln3,0>(a19B3);
          real fx19A9#4 = Index<real2,0>(f1983);
          real r19B1#1 = 0.1e1;
          real t319AE#1 = Add<real>(fx19A9,r19B1);
          real t219AD#1 = fx19A9;
          real r19B0#1 = 0.1e1;
          real t119AC#1 = Sub<real>(fx19A9,r19B0);
          real r19AF#1 = 0.2e1;
          real t019AB#1 = Sub<real>(fx19A9,r19AF);
          real4 a19AA#1 = <real4>[t319AE,t219AD,t119AC,t019AB];
          real4 hx19A7#4 = EvalKernel<4,bspln3,0>(a19AA);
          real t019BC#1 = Dot<4>(v01987,hx19A7);
          real t119BD#1 = Dot<4>(v11988,hx19A7);
          real t219BE#1 = Dot<4>(v21989,hx19A7);
          real t319BF#1 = Dot<4>(v3198A,hx19A7);
          real4 tv19BB#1 = <real4>[t019BC,t119BD,t219BE,t319BF];
          real _t1981#1 = Dot<4>(hy19A8,tv19BB);
          real2 x19FF#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v130AC9);
          real2 nd1A01#2 = Floor<2>(x19FF);
          real2 f1A00#2 = Sub<real2>(x19FF,nd1A01);
          int{2} n1A02#8 = RealToInt<2>(nd1A01);
          int t11A1E#1 = -1;
          int t21A1F#1 = Index<int{2},0>(n1A02);
          int ix1A1D#1 = Add<int>(t11A1E,t21A1F);
          int t11A21#1 = -1;
          int t21A22#1 = Index<int{2},1>(n1A02);
          int iy1A20#1 = Add<int>(t11A21,t21A22);
          addr(IMAGE2D<int>) a1A23#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A20);
          real4 v01A04#1 = LoadVoxels<IMAGE2D<int>,4>(a1A23);
          int t11A17#1 = -1;
          int t21A18#1 = Index<int{2},0>(n1A02);
          int ix1A16#1 = Add<int>(t11A17,t21A18);
          int t11A1A#1 = 0;
          int t21A1B#1 = Index<int{2},1>(n1A02);
          int iy1A19#1 = Add<int>(t11A1A,t21A1B);
          addr(IMAGE2D<int>) a1A1C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A16,iy1A19);
          real4 v11A05#1 = LoadVoxels<IMAGE2D<int>,4>(a1A1C);
          int t11A10#1 = -1;
          int t21A11#1 = Index<int{2},0>(n1A02);
          int ix1A0F#1 = Add<int>(t11A10,t21A11);
          int t11A13#1 = 1;
          int t21A14#1 = Index<int{2},1>(n1A02);
          int iy1A12#1 = Add<int>(t11A13,t21A14);
          addr(IMAGE2D<int>) a1A15#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A0F,iy1A12);
          real4 v21A06#1 = LoadVoxels<IMAGE2D<int>,4>(a1A15);
          int t11A09#1 = -1;
          int t21A0A#1 = Index<int{2},0>(n1A02);
          int ix1A08#1 = Add<int>(t11A09,t21A0A);
          int t11A0C#1 = 2;
          int t21A0D#1 = Index<int{2},1>(n1A02);
          int iy1A0B#1 = Add<int>(t11A0C,t21A0D);
          addr(IMAGE2D<int>) a1A0E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A08,iy1A0B);
          real4 v31A07#1 = LoadVoxels<IMAGE2D<int>,4>(a1A0E);
          real fy1A2F#4 = Index<real2,1>(f1A00);
          real r1A37#1 = 0.1e1;
          real t31A34#1 = Add<real>(fy1A2F,r1A37);
          real t21A33#1 = fy1A2F;
          real r1A36#1 = 0.1e1;
          real t11A32#1 = Sub<real>(fy1A2F,r1A36);
          real r1A35#1 = 0.2e1;
          real t01A31#1 = Sub<real>(fy1A2F,r1A35);
          real4 a1A30#1 = <real4>[t31A34,t21A33,t11A32,t01A31];
          real4 hy1A25#1 = EvalKernel<4,bspln3,0>(a1A30);
          real fx1A26#4 = Index<real2,0>(f1A00);
          real r1A2E#1 = 0.1e1;
          real t31A2B#1 = Add<real>(fx1A26,r1A2E);
          real t21A2A#1 = fx1A26;
          real r1A2D#1 = 0.1e1;
          real t11A29#1 = Sub<real>(fx1A26,r1A2D);
          real r1A2C#1 = 0.2e1;
          real t01A28#1 = Sub<real>(fx1A26,r1A2C);
          real4 a1A27#1 = <real4>[t31A2B,t21A2A,t11A29,t01A28];
          real4 hx1A24#4 = EvalKernel<4,bspln3,0>(a1A27);
          real t01A39#1 = Dot<4>(v01A04,hx1A24);
          real t11A3A#1 = Dot<4>(v11A05,hx1A24);
          real t21A3B#1 = Dot<4>(v21A06,hx1A24);
          real t31A3C#1 = Dot<4>(v31A07,hx1A24);
          real4 tv1A38#1 = <real4>[t01A39,t11A3A,t21A3B,t31A3C];
          real _t19FE#1 = Dot<4>(hy1A25,tv1A38);
          real _t1A7B#2 = Sub<real>(_t1981,_t19FE);
          real _t1A7D#1 = Mul<real>(_t1A7B,_t1A7B);
          real score1A7F#1 = Add<real>(score196A,_t1A7D);
          goto JOIN1A82
        JOIN1A82:  preds = [ASSIGN1A80,COND1980]
          real score1A81#2 = phi(score1A7F,score196A)
          real _t1A83#1 = Dot<2>(r00B2F,v140ACB);
          real _t1A85#1 = Dot<2>(r10B35,v140ACB);
          real2 _t1A87#1 = <real2>[_t1A83,_t1A85];
          real2 pos1A89#2 = Add<real2>(_t1A87,_t0B45);
          real2 x1A8C#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1A89);
          bool _t1A8B#1 = Inside<IMAGE2D<float>,2>(x1A8C,_t0AA3);
          if _t1A8B then goto ASSIGN1A92 else goto ASSIGN2118
        ASSIGN1A92:  preds = [COND1A8F]
          real2 x1A91#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v140ACB);
          bool _t1A90#1 = Inside<IMAGE2D<int>,2>(x1A91,_t0A9F);
          goto JOIN1A96
        JOIN1A96:  preds = [ASSIGN1A93,ASSIGN2118]
          bool _t1A94#1 = phi(_t1A90,_t1A95)
          if _t1A94 then goto ASSIGN1AD7 else goto JOIN1B99
        ASSIGN1AD7:  preds = [COND1A97]
          real2 x1A99#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1A89);
          real2 nd1A9B#2 = Floor<2>(x1A99);
          real2 f1A9A#2 = Sub<real2>(x1A99,nd1A9B);
          int{2} n1A9C#8 = RealToInt<2>(nd1A9B);
          int t11AB8#1 = -1;
          int t21AB9#1 = Index<int{2},0>(n1A9C);
          int ix1AB7#1 = Add<int>(t11AB8,t21AB9);
          int t11ABB#1 = -1;
          int t21ABC#1 = Index<int{2},1>(n1A9C);
          int iy1ABA#1 = Add<int>(t11ABB,t21ABC);
          addr(IMAGE2D<float>) a1ABD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1ABA);
          real4 v01A9E#1 = LoadVoxels<IMAGE2D<float>,4>(a1ABD);
          int t11AB1#1 = -1;
          int t21AB2#1 = Index<int{2},0>(n1A9C);
          int ix1AB0#1 = Add<int>(t11AB1,t21AB2);
          int t11AB4#1 = 0;
          int t21AB5#1 = Index<int{2},1>(n1A9C);
          int iy1AB3#1 = Add<int>(t11AB4,t21AB5);
          addr(IMAGE2D<float>) a1AB6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB0,iy1AB3);
          real4 v11A9F#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB6);
          int t11AAA#1 = -1;
          int t21AAB#1 = Index<int{2},0>(n1A9C);
          int ix1AA9#1 = Add<int>(t11AAA,t21AAB);
          int t11AAD#1 = 1;
          int t21AAE#1 = Index<int{2},1>(n1A9C);
          int iy1AAC#1 = Add<int>(t11AAD,t21AAE);
          addr(IMAGE2D<float>) a1AAF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AA9,iy1AAC);
          real4 v21AA0#1 = LoadVoxels<IMAGE2D<float>,4>(a1AAF);
          int t11AA3#1 = -1;
          int t21AA4#1 = Index<int{2},0>(n1A9C);
          int ix1AA2#1 = Add<int>(t11AA3,t21AA4);
          int t11AA6#1 = 2;
          int t21AA7#1 = Index<int{2},1>(n1A9C);
          int iy1AA5#1 = Add<int>(t11AA6,t21AA7);
          addr(IMAGE2D<float>) a1AA8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AA2,iy1AA5);
          real4 v31AA1#1 = LoadVoxels<IMAGE2D<float>,4>(a1AA8);
          real fy1AC9#4 = Index<real2,1>(f1A9A);
          real r1AD1#1 = 0.1e1;
          real t31ACE#1 = Add<real>(fy1AC9,r1AD1);
          real t21ACD#1 = fy1AC9;
          real r1AD0#1 = 0.1e1;
          real t11ACC#1 = Sub<real>(fy1AC9,r1AD0);
          real r1ACF#1 = 0.2e1;
          real t01ACB#1 = Sub<real>(fy1AC9,r1ACF);
          real4 a1ACA#1 = <real4>[t31ACE,t21ACD,t11ACC,t01ACB];
          real4 hy1ABF#1 = EvalKernel<4,bspln3,0>(a1ACA);
          real fx1AC0#4 = Index<real2,0>(f1A9A);
          real r1AC8#1 = 0.1e1;
          real t31AC5#1 = Add<real>(fx1AC0,r1AC8);
          real t21AC4#1 = fx1AC0;
          real r1AC7#1 = 0.1e1;
          real t11AC3#1 = Sub<real>(fx1AC0,r1AC7);
          real r1AC6#1 = 0.2e1;
          real t01AC2#1 = Sub<real>(fx1AC0,r1AC6);
          real4 a1AC1#1 = <real4>[t31AC5,t21AC4,t11AC3,t01AC2];
          real4 hx1ABE#4 = EvalKernel<4,bspln3,0>(a1AC1);
          real t01AD3#1 = Dot<4>(v01A9E,hx1ABE);
          real t11AD4#1 = Dot<4>(v11A9F,hx1ABE);
          real t21AD5#1 = Dot<4>(v21AA0,hx1ABE);
          real t31AD6#1 = Dot<4>(v31AA1,hx1ABE);
          real4 tv1AD2#1 = <real4>[t01AD3,t11AD4,t21AD5,t31AD6];
          real _t1A98#1 = Dot<4>(hy1ABF,tv1AD2);
          real2 x1B16#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v140ACB);
          real2 nd1B18#2 = Floor<2>(x1B16);
          real2 f1B17#2 = Sub<real2>(x1B16,nd1B18);
          int{2} n1B19#8 = RealToInt<2>(nd1B18);
          int t11B35#1 = -1;
          int t21B36#1 = Index<int{2},0>(n1B19);
          int ix1B34#1 = Add<int>(t11B35,t21B36);
          int t11B38#1 = -1;
          int t21B39#1 = Index<int{2},1>(n1B19);
          int iy1B37#1 = Add<int>(t11B38,t21B39);
          addr(IMAGE2D<int>) a1B3A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B37);
          real4 v01B1B#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3A);
          int t11B2E#1 = -1;
          int t21B2F#1 = Index<int{2},0>(n1B19);
          int ix1B2D#1 = Add<int>(t11B2E,t21B2F);
          int t11B31#1 = 0;
          int t21B32#1 = Index<int{2},1>(n1B19);
          int iy1B30#1 = Add<int>(t11B31,t21B32);
          addr(IMAGE2D<int>) a1B33#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B2D,iy1B30);
          real4 v11B1C#1 = LoadVoxels<IMAGE2D<int>,4>(a1B33);
          int t11B27#1 = -1;
          int t21B28#1 = Index<int{2},0>(n1B19);
          int ix1B26#1 = Add<int>(t11B27,t21B28);
          int t11B2A#1 = 1;
          int t21B2B#1 = Index<int{2},1>(n1B19);
          int iy1B29#1 = Add<int>(t11B2A,t21B2B);
          addr(IMAGE2D<int>) a1B2C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B26,iy1B29);
          real4 v21B1D#1 = LoadVoxels<IMAGE2D<int>,4>(a1B2C);
          int t11B20#1 = -1;
          int t21B21#1 = Index<int{2},0>(n1B19);
          int ix1B1F#1 = Add<int>(t11B20,t21B21);
          int t11B23#1 = 2;
          int t21B24#1 = Index<int{2},1>(n1B19);
          int iy1B22#1 = Add<int>(t11B23,t21B24);
          addr(IMAGE2D<int>) a1B25#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B1F,iy1B22);
          real4 v31B1E#1 = LoadVoxels<IMAGE2D<int>,4>(a1B25);
          real fy1B46#4 = Index<real2,1>(f1B17);
          real r1B4E#1 = 0.1e1;
          real t31B4B#1 = Add<real>(fy1B46,r1B4E);
          real t21B4A#1 = fy1B46;
          real r1B4D#1 = 0.1e1;
          real t11B49#1 = Sub<real>(fy1B46,r1B4D);
          real r1B4C#1 = 0.2e1;
          real t01B48#1 = Sub<real>(fy1B46,r1B4C);
          real4 a1B47#1 = <real4>[t31B4B,t21B4A,t11B49,t01B48];
          real4 hy1B3C#1 = EvalKernel<4,bspln3,0>(a1B47);
          real fx1B3D#4 = Index<real2,0>(f1B17);
          real r1B45#1 = 0.1e1;
          real t31B42#1 = Add<real>(fx1B3D,r1B45);
          real t21B41#1 = fx1B3D;
          real r1B44#1 = 0.1e1;
          real t11B40#1 = Sub<real>(fx1B3D,r1B44);
          real r1B43#1 = 0.2e1;
          real t01B3F#1 = Sub<real>(fx1B3D,r1B43);
          real4 a1B3E#1 = <real4>[t31B42,t21B41,t11B40,t01B3F];
          real4 hx1B3B#4 = EvalKernel<4,bspln3,0>(a1B3E);
          real t01B50#1 = Dot<4>(v01B1B,hx1B3B);
          real t11B51#1 = Dot<4>(v11B1C,hx1B3B);
          real t21B52#1 = Dot<4>(v21B1D,hx1B3B);
          real t31B53#1 = Dot<4>(v31B1E,hx1B3B);
          real4 tv1B4F#1 = <real4>[t01B50,t11B51,t21B52,t31B53];
          real _t1B15#1 = Dot<4>(hy1B3C,tv1B4F);
          real _t1B92#2 = Sub<real>(_t1A98,_t1B15);
          real _t1B94#1 = Mul<real>(_t1B92,_t1B92);
          real score1B96#1 = Add<real>(score1A81,_t1B94);
          goto JOIN1B99
        JOIN1B99:  preds = [ASSIGN1B97,COND1A97]
          real score1B98#2 = phi(score1B96,score1A81)
          real _t1B9A#1 = Dot<2>(r00B2F,v150ACD);
          real _t1B9C#1 = Dot<2>(r10B35,v150ACD);
          real2 _t1B9E#1 = <real2>[_t1B9A,_t1B9C];
          real2 pos1BA0#2 = Add<real2>(_t1B9E,_t0B45);
          real2 x1BA3#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1BA0);
          bool _t1BA2#1 = Inside<IMAGE2D<float>,2>(x1BA3,_t0AA3);
          if _t1BA2 then goto ASSIGN1BA9 else goto ASSIGN2117
        ASSIGN1BA9:  preds = [COND1BA6]
          real2 x1BA8#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v150ACD);
          bool _t1BA7#1 = Inside<IMAGE2D<int>,2>(x1BA8,_t0A9F);
          goto JOIN1BAD
        JOIN1BAD:  preds = [ASSIGN1BAA,ASSIGN2117]
          bool _t1BAB#1 = phi(_t1BA7,_t1BAC)
          if _t1BAB then goto ASSIGN1BEE else goto JOIN1CB0
        ASSIGN1BEE:  preds = [COND1BAE]
          real2 x1BB0#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1BA0);
          real2 nd1BB2#2 = Floor<2>(x1BB0);
          real2 f1BB1#2 = Sub<real2>(x1BB0,nd1BB2);
          int{2} n1BB3#8 = RealToInt<2>(nd1BB2);
          int t11BCF#1 = -1;
          int t21BD0#1 = Index<int{2},0>(n1BB3);
          int ix1BCE#1 = Add<int>(t11BCF,t21BD0);
          int t11BD2#1 = -1;
          int t21BD3#1 = Index<int{2},1>(n1BB3);
          int iy1BD1#1 = Add<int>(t11BD2,t21BD3);
          addr(IMAGE2D<float>) a1BD4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BD1);
          real4 v01BB5#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD4);
          int t11BC8#1 = -1;
          int t21BC9#1 = Index<int{2},0>(n1BB3);
          int ix1BC7#1 = Add<int>(t11BC8,t21BC9);
          int t11BCB#1 = 0;
          int t21BCC#1 = Index<int{2},1>(n1BB3);
          int iy1BCA#1 = Add<int>(t11BCB,t21BCC);
          addr(IMAGE2D<float>) a1BCD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BC7,iy1BCA);
          real4 v11BB6#1 = LoadVoxels<IMAGE2D<float>,4>(a1BCD);
          int t11BC1#1 = -1;
          int t21BC2#1 = Index<int{2},0>(n1BB3);
          int ix1BC0#1 = Add<int>(t11BC1,t21BC2);
          int t11BC4#1 = 1;
          int t21BC5#1 = Index<int{2},1>(n1BB3);
          int iy1BC3#1 = Add<int>(t11BC4,t21BC5);
          addr(IMAGE2D<float>) a1BC6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BC0,iy1BC3);
          real4 v21BB7#1 = LoadVoxels<IMAGE2D<float>,4>(a1BC6);
          int t11BBA#1 = -1;
          int t21BBB#1 = Index<int{2},0>(n1BB3);
          int ix1BB9#1 = Add<int>(t11BBA,t21BBB);
          int t11BBD#1 = 2;
          int t21BBE#1 = Index<int{2},1>(n1BB3);
          int iy1BBC#1 = Add<int>(t11BBD,t21BBE);
          addr(IMAGE2D<float>) a1BBF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BB9,iy1BBC);
          real4 v31BB8#1 = LoadVoxels<IMAGE2D<float>,4>(a1BBF);
          real fy1BE0#4 = Index<real2,1>(f1BB1);
          real r1BE8#1 = 0.1e1;
          real t31BE5#1 = Add<real>(fy1BE0,r1BE8);
          real t21BE4#1 = fy1BE0;
          real r1BE7#1 = 0.1e1;
          real t11BE3#1 = Sub<real>(fy1BE0,r1BE7);
          real r1BE6#1 = 0.2e1;
          real t01BE2#1 = Sub<real>(fy1BE0,r1BE6);
          real4 a1BE1#1 = <real4>[t31BE5,t21BE4,t11BE3,t01BE2];
          real4 hy1BD6#1 = EvalKernel<4,bspln3,0>(a1BE1);
          real fx1BD7#4 = Index<real2,0>(f1BB1);
          real r1BDF#1 = 0.1e1;
          real t31BDC#1 = Add<real>(fx1BD7,r1BDF);
          real t21BDB#1 = fx1BD7;
          real r1BDE#1 = 0.1e1;
          real t11BDA#1 = Sub<real>(fx1BD7,r1BDE);
          real r1BDD#1 = 0.2e1;
          real t01BD9#1 = Sub<real>(fx1BD7,r1BDD);
          real4 a1BD8#1 = <real4>[t31BDC,t21BDB,t11BDA,t01BD9];
          real4 hx1BD5#4 = EvalKernel<4,bspln3,0>(a1BD8);
          real t01BEA#1 = Dot<4>(v01BB5,hx1BD5);
          real t11BEB#1 = Dot<4>(v11BB6,hx1BD5);
          real t21BEC#1 = Dot<4>(v21BB7,hx1BD5);
          real t31BED#1 = Dot<4>(v31BB8,hx1BD5);
          real4 tv1BE9#1 = <real4>[t01BEA,t11BEB,t21BEC,t31BED];
          real _t1BAF#1 = Dot<4>(hy1BD6,tv1BE9);
          real2 x1C2D#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v150ACD);
          real2 nd1C2F#2 = Floor<2>(x1C2D);
          real2 f1C2E#2 = Sub<real2>(x1C2D,nd1C2F);
          int{2} n1C30#8 = RealToInt<2>(nd1C2F);
          int t11C4C#1 = -1;
          int t21C4D#1 = Index<int{2},0>(n1C30);
          int ix1C4B#1 = Add<int>(t11C4C,t21C4D);
          int t11C4F#1 = -1;
          int t21C50#1 = Index<int{2},1>(n1C30);
          int iy1C4E#1 = Add<int>(t11C4F,t21C50);
          addr(IMAGE2D<int>) a1C51#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C4E);
          real4 v01C32#1 = LoadVoxels<IMAGE2D<int>,4>(a1C51);
          int t11C45#1 = -1;
          int t21C46#1 = Index<int{2},0>(n1C30);
          int ix1C44#1 = Add<int>(t11C45,t21C46);
          int t11C48#1 = 0;
          int t21C49#1 = Index<int{2},1>(n1C30);
          int iy1C47#1 = Add<int>(t11C48,t21C49);
          addr(IMAGE2D<int>) a1C4A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C44,iy1C47);
          real4 v11C33#1 = LoadVoxels<IMAGE2D<int>,4>(a1C4A);
          int t11C3E#1 = -1;
          int t21C3F#1 = Index<int{2},0>(n1C30);
          int ix1C3D#1 = Add<int>(t11C3E,t21C3F);
          int t11C41#1 = 1;
          int t21C42#1 = Index<int{2},1>(n1C30);
          int iy1C40#1 = Add<int>(t11C41,t21C42);
          addr(IMAGE2D<int>) a1C43#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C3D,iy1C40);
          real4 v21C34#1 = LoadVoxels<IMAGE2D<int>,4>(a1C43);
          int t11C37#1 = -1;
          int t21C38#1 = Index<int{2},0>(n1C30);
          int ix1C36#1 = Add<int>(t11C37,t21C38);
          int t11C3A#1 = 2;
          int t21C3B#1 = Index<int{2},1>(n1C30);
          int iy1C39#1 = Add<int>(t11C3A,t21C3B);
          addr(IMAGE2D<int>) a1C3C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C36,iy1C39);
          real4 v31C35#1 = LoadVoxels<IMAGE2D<int>,4>(a1C3C);
          real fy1C5D#4 = Index<real2,1>(f1C2E);
          real r1C65#1 = 0.1e1;
          real t31C62#1 = Add<real>(fy1C5D,r1C65);
          real t21C61#1 = fy1C5D;
          real r1C64#1 = 0.1e1;
          real t11C60#1 = Sub<real>(fy1C5D,r1C64);
          real r1C63#1 = 0.2e1;
          real t01C5F#1 = Sub<real>(fy1C5D,r1C63);
          real4 a1C5E#1 = <real4>[t31C62,t21C61,t11C60,t01C5F];
          real4 hy1C53#1 = EvalKernel<4,bspln3,0>(a1C5E);
          real fx1C54#4 = Index<real2,0>(f1C2E);
          real r1C5C#1 = 0.1e1;
          real t31C59#1 = Add<real>(fx1C54,r1C5C);
          real t21C58#1 = fx1C54;
          real r1C5B#1 = 0.1e1;
          real t11C57#1 = Sub<real>(fx1C54,r1C5B);
          real r1C5A#1 = 0.2e1;
          real t01C56#1 = Sub<real>(fx1C54,r1C5A);
          real4 a1C55#1 = <real4>[t31C59,t21C58,t11C57,t01C56];
          real4 hx1C52#4 = EvalKernel<4,bspln3,0>(a1C55);
          real t01C67#1 = Dot<4>(v01C32,hx1C52);
          real t11C68#1 = Dot<4>(v11C33,hx1C52);
          real t21C69#1 = Dot<4>(v21C34,hx1C52);
          real t31C6A#1 = Dot<4>(v31C35,hx1C52);
          real4 tv1C66#1 = <real4>[t01C67,t11C68,t21C69,t31C6A];
          real _t1C2C#1 = Dot<4>(hy1C53,tv1C66);
          real _t1CA9#2 = Sub<real>(_t1BAF,_t1C2C);
          real _t1CAB#1 = Mul<real>(_t1CA9,_t1CA9);
          real score1CAD#1 = Add<real>(score1B98,_t1CAB);
          goto JOIN1CB0
        JOIN1CB0:  preds = [ASSIGN1CAE,COND1BAE]
          real score1CAF#2 = phi(score1CAD,score1B98)
          real _t1CB1#1 = Dot<2>(r00B2F,v160ACF);
          real _t1CB3#1 = Dot<2>(r10B35,v160ACF);
          real2 _t1CB5#1 = <real2>[_t1CB1,_t1CB3];
          real2 pos1CB7#2 = Add<real2>(_t1CB5,_t0B45);
          real2 x1CBA#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1CB7);
          bool _t1CB9#1 = Inside<IMAGE2D<float>,2>(x1CBA,_t0AA3);
          if _t1CB9 then goto ASSIGN1CC0 else goto ASSIGN2116
        ASSIGN1CC0:  preds = [COND1CBD]
          real2 x1CBF#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v160ACF);
          bool _t1CBE#1 = Inside<IMAGE2D<int>,2>(x1CBF,_t0A9F);
          goto JOIN1CC4
        JOIN1CC4:  preds = [ASSIGN1CC1,ASSIGN2116]
          bool _t1CC2#1 = phi(_t1CBE,_t1CC3)
          if _t1CC2 then goto ASSIGN1D05 else goto JOIN1DC7
        ASSIGN1D05:  preds = [COND1CC5]
          real2 x1CC7#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1CB7);
          real2 nd1CC9#2 = Floor<2>(x1CC7);
          real2 f1CC8#2 = Sub<real2>(x1CC7,nd1CC9);
          int{2} n1CCA#8 = RealToInt<2>(nd1CC9);
          int t11CE6#1 = -1;
          int t21CE7#1 = Index<int{2},0>(n1CCA);
          int ix1CE5#1 = Add<int>(t11CE6,t21CE7);
          int t11CE9#1 = -1;
          int t21CEA#1 = Index<int{2},1>(n1CCA);
          int iy1CE8#1 = Add<int>(t11CE9,t21CEA);
          addr(IMAGE2D<float>) a1CEB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CE8);
          real4 v01CCC#1 = LoadVoxels<IMAGE2D<float>,4>(a1CEB);
          int t11CDF#1 = -1;
          int t21CE0#1 = Index<int{2},0>(n1CCA);
          int ix1CDE#1 = Add<int>(t11CDF,t21CE0);
          int t11CE2#1 = 0;
          int t21CE3#1 = Index<int{2},1>(n1CCA);
          int iy1CE1#1 = Add<int>(t11CE2,t21CE3);
          addr(IMAGE2D<float>) a1CE4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CDE,iy1CE1);
          real4 v11CCD#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE4);
          int t11CD8#1 = -1;
          int t21CD9#1 = Index<int{2},0>(n1CCA);
          int ix1CD7#1 = Add<int>(t11CD8,t21CD9);
          int t11CDB#1 = 1;
          int t21CDC#1 = Index<int{2},1>(n1CCA);
          int iy1CDA#1 = Add<int>(t11CDB,t21CDC);
          addr(IMAGE2D<float>) a1CDD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CD7,iy1CDA);
          real4 v21CCE#1 = LoadVoxels<IMAGE2D<float>,4>(a1CDD);
          int t11CD1#1 = -1;
          int t21CD2#1 = Index<int{2},0>(n1CCA);
          int ix1CD0#1 = Add<int>(t11CD1,t21CD2);
          int t11CD4#1 = 2;
          int t21CD5#1 = Index<int{2},1>(n1CCA);
          int iy1CD3#1 = Add<int>(t11CD4,t21CD5);
          addr(IMAGE2D<float>) a1CD6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CD0,iy1CD3);
          real4 v31CCF#1 = LoadVoxels<IMAGE2D<float>,4>(a1CD6);
          real fy1CF7#4 = Index<real2,1>(f1CC8);
          real r1CFF#1 = 0.1e1;
          real t31CFC#1 = Add<real>(fy1CF7,r1CFF);
          real t21CFB#1 = fy1CF7;
          real r1CFE#1 = 0.1e1;
          real t11CFA#1 = Sub<real>(fy1CF7,r1CFE);
          real r1CFD#1 = 0.2e1;
          real t01CF9#1 = Sub<real>(fy1CF7,r1CFD);
          real4 a1CF8#1 = <real4>[t31CFC,t21CFB,t11CFA,t01CF9];
          real4 hy1CED#1 = EvalKernel<4,bspln3,0>(a1CF8);
          real fx1CEE#4 = Index<real2,0>(f1CC8);
          real r1CF6#1 = 0.1e1;
          real t31CF3#1 = Add<real>(fx1CEE,r1CF6);
          real t21CF2#1 = fx1CEE;
          real r1CF5#1 = 0.1e1;
          real t11CF1#1 = Sub<real>(fx1CEE,r1CF5);
          real r1CF4#1 = 0.2e1;
          real t01CF0#1 = Sub<real>(fx1CEE,r1CF4);
          real4 a1CEF#1 = <real4>[t31CF3,t21CF2,t11CF1,t01CF0];
          real4 hx1CEC#4 = EvalKernel<4,bspln3,0>(a1CEF);
          real t01D01#1 = Dot<4>(v01CCC,hx1CEC);
          real t11D02#1 = Dot<4>(v11CCD,hx1CEC);
          real t21D03#1 = Dot<4>(v21CCE,hx1CEC);
          real t31D04#1 = Dot<4>(v31CCF,hx1CEC);
          real4 tv1D00#1 = <real4>[t01D01,t11D02,t21D03,t31D04];
          real _t1CC6#1 = Dot<4>(hy1CED,tv1D00);
          real2 x1D44#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v160ACF);
          real2 nd1D46#2 = Floor<2>(x1D44);
          real2 f1D45#2 = Sub<real2>(x1D44,nd1D46);
          int{2} n1D47#8 = RealToInt<2>(nd1D46);
          int t11D63#1 = -1;
          int t21D64#1 = Index<int{2},0>(n1D47);
          int ix1D62#1 = Add<int>(t11D63,t21D64);
          int t11D66#1 = -1;
          int t21D67#1 = Index<int{2},1>(n1D47);
          int iy1D65#1 = Add<int>(t11D66,t21D67);
          addr(IMAGE2D<int>) a1D68#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D65);
          real4 v01D49#1 = LoadVoxels<IMAGE2D<int>,4>(a1D68);
          int t11D5C#1 = -1;
          int t21D5D#1 = Index<int{2},0>(n1D47);
          int ix1D5B#1 = Add<int>(t11D5C,t21D5D);
          int t11D5F#1 = 0;
          int t21D60#1 = Index<int{2},1>(n1D47);
          int iy1D5E#1 = Add<int>(t11D5F,t21D60);
          addr(IMAGE2D<int>) a1D61#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D5B,iy1D5E);
          real4 v11D4A#1 = LoadVoxels<IMAGE2D<int>,4>(a1D61);
          int t11D55#1 = -1;
          int t21D56#1 = Index<int{2},0>(n1D47);
          int ix1D54#1 = Add<int>(t11D55,t21D56);
          int t11D58#1 = 1;
          int t21D59#1 = Index<int{2},1>(n1D47);
          int iy1D57#1 = Add<int>(t11D58,t21D59);
          addr(IMAGE2D<int>) a1D5A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D54,iy1D57);
          real4 v21D4B#1 = LoadVoxels<IMAGE2D<int>,4>(a1D5A);
          int t11D4E#1 = -1;
          int t21D4F#1 = Index<int{2},0>(n1D47);
          int ix1D4D#1 = Add<int>(t11D4E,t21D4F);
          int t11D51#1 = 2;
          int t21D52#1 = Index<int{2},1>(n1D47);
          int iy1D50#1 = Add<int>(t11D51,t21D52);
          addr(IMAGE2D<int>) a1D53#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D4D,iy1D50);
          real4 v31D4C#1 = LoadVoxels<IMAGE2D<int>,4>(a1D53);
          real fy1D74#4 = Index<real2,1>(f1D45);
          real r1D7C#1 = 0.1e1;
          real t31D79#1 = Add<real>(fy1D74,r1D7C);
          real t21D78#1 = fy1D74;
          real r1D7B#1 = 0.1e1;
          real t11D77#1 = Sub<real>(fy1D74,r1D7B);
          real r1D7A#1 = 0.2e1;
          real t01D76#1 = Sub<real>(fy1D74,r1D7A);
          real4 a1D75#1 = <real4>[t31D79,t21D78,t11D77,t01D76];
          real4 hy1D6A#1 = EvalKernel<4,bspln3,0>(a1D75);
          real fx1D6B#4 = Index<real2,0>(f1D45);
          real r1D73#1 = 0.1e1;
          real t31D70#1 = Add<real>(fx1D6B,r1D73);
          real t21D6F#1 = fx1D6B;
          real r1D72#1 = 0.1e1;
          real t11D6E#1 = Sub<real>(fx1D6B,r1D72);
          real r1D71#1 = 0.2e1;
          real t01D6D#1 = Sub<real>(fx1D6B,r1D71);
          real4 a1D6C#1 = <real4>[t31D70,t21D6F,t11D6E,t01D6D];
          real4 hx1D69#4 = EvalKernel<4,bspln3,0>(a1D6C);
          real t01D7E#1 = Dot<4>(v01D49,hx1D69);
          real t11D7F#1 = Dot<4>(v11D4A,hx1D69);
          real t21D80#1 = Dot<4>(v21D4B,hx1D69);
          real t31D81#1 = Dot<4>(v31D4C,hx1D69);
          real4 tv1D7D#1 = <real4>[t01D7E,t11D7F,t21D80,t31D81];
          real _t1D43#1 = Dot<4>(hy1D6A,tv1D7D);
          real _t1DC0#2 = Sub<real>(_t1CC6,_t1D43);
          real _t1DC2#1 = Mul<real>(_t1DC0,_t1DC0);
          real score1DC4#1 = Add<real>(score1CAF,_t1DC2);
          goto JOIN1DC7
        JOIN1DC7:  preds = [ASSIGN1DC5,COND1CC5]
          real score1DC6#2 = phi(score1DC4,score1CAF)
          real _t1DC8#1 = Dot<2>(r00B2F,v170AD1);
          real _t1DCA#1 = Dot<2>(r10B35,v170AD1);
          real2 _t1DCC#1 = <real2>[_t1DC8,_t1DCA];
          real2 pos1DCE#2 = Add<real2>(_t1DCC,_t0B45);
          real2 x1DD1#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1DCE);
          bool _t1DD0#1 = Inside<IMAGE2D<float>,2>(x1DD1,_t0AA3);
          if _t1DD0 then goto ASSIGN1DD7 else goto ASSIGN2115
        ASSIGN1DD7:  preds = [COND1DD4]
          real2 x1DD6#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v170AD1);
          bool _t1DD5#1 = Inside<IMAGE2D<int>,2>(x1DD6,_t0A9F);
          goto JOIN1DDB
        JOIN1DDB:  preds = [ASSIGN1DD8,ASSIGN2115]
          bool _t1DD9#1 = phi(_t1DD5,_t1DDA)
          if _t1DD9 then goto ASSIGN1E1C else goto JOIN1EDE
        ASSIGN1E1C:  preds = [COND1DDC]
          real2 x1DDE#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1DCE);
          real2 nd1DE0#2 = Floor<2>(x1DDE);
          real2 f1DDF#2 = Sub<real2>(x1DDE,nd1DE0);
          int{2} n1DE1#8 = RealToInt<2>(nd1DE0);
          int t11DFD#1 = -1;
          int t21DFE#1 = Index<int{2},0>(n1DE1);
          int ix1DFC#1 = Add<int>(t11DFD,t21DFE);
          int t11E00#1 = -1;
          int t21E01#1 = Index<int{2},1>(n1DE1);
          int iy1DFF#1 = Add<int>(t11E00,t21E01);
          addr(IMAGE2D<float>) a1E02#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DFF);
          real4 v01DE3#1 = LoadVoxels<IMAGE2D<float>,4>(a1E02);
          int t11DF6#1 = -1;
          int t21DF7#1 = Index<int{2},0>(n1DE1);
          int ix1DF5#1 = Add<int>(t11DF6,t21DF7);
          int t11DF9#1 = 0;
          int t21DFA#1 = Index<int{2},1>(n1DE1);
          int iy1DF8#1 = Add<int>(t11DF9,t21DFA);
          addr(IMAGE2D<float>) a1DFB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DF5,iy1DF8);
          real4 v11DE4#1 = LoadVoxels<IMAGE2D<float>,4>(a1DFB);
          int t11DEF#1 = -1;
          int t21DF0#1 = Index<int{2},0>(n1DE1);
          int ix1DEE#1 = Add<int>(t11DEF,t21DF0);
          int t11DF2#1 = 1;
          int t21DF3#1 = Index<int{2},1>(n1DE1);
          int iy1DF1#1 = Add<int>(t11DF2,t21DF3);
          addr(IMAGE2D<float>) a1DF4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DEE,iy1DF1);
          real4 v21DE5#1 = LoadVoxels<IMAGE2D<float>,4>(a1DF4);
          int t11DE8#1 = -1;
          int t21DE9#1 = Index<int{2},0>(n1DE1);
          int ix1DE7#1 = Add<int>(t11DE8,t21DE9);
          int t11DEB#1 = 2;
          int t21DEC#1 = Index<int{2},1>(n1DE1);
          int iy1DEA#1 = Add<int>(t11DEB,t21DEC);
          addr(IMAGE2D<float>) a1DED#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DE7,iy1DEA);
          real4 v31DE6#1 = LoadVoxels<IMAGE2D<float>,4>(a1DED);
          real fy1E0E#4 = Index<real2,1>(f1DDF);
          real r1E16#1 = 0.1e1;
          real t31E13#1 = Add<real>(fy1E0E,r1E16);
          real t21E12#1 = fy1E0E;
          real r1E15#1 = 0.1e1;
          real t11E11#1 = Sub<real>(fy1E0E,r1E15);
          real r1E14#1 = 0.2e1;
          real t01E10#1 = Sub<real>(fy1E0E,r1E14);
          real4 a1E0F#1 = <real4>[t31E13,t21E12,t11E11,t01E10];
          real4 hy1E04#1 = EvalKernel<4,bspln3,0>(a1E0F);
          real fx1E05#4 = Index<real2,0>(f1DDF);
          real r1E0D#1 = 0.1e1;
          real t31E0A#1 = Add<real>(fx1E05,r1E0D);
          real t21E09#1 = fx1E05;
          real r1E0C#1 = 0.1e1;
          real t11E08#1 = Sub<real>(fx1E05,r1E0C);
          real r1E0B#1 = 0.2e1;
          real t01E07#1 = Sub<real>(fx1E05,r1E0B);
          real4 a1E06#1 = <real4>[t31E0A,t21E09,t11E08,t01E07];
          real4 hx1E03#4 = EvalKernel<4,bspln3,0>(a1E06);
          real t01E18#1 = Dot<4>(v01DE3,hx1E03);
          real t11E19#1 = Dot<4>(v11DE4,hx1E03);
          real t21E1A#1 = Dot<4>(v21DE5,hx1E03);
          real t31E1B#1 = Dot<4>(v31DE6,hx1E03);
          real4 tv1E17#1 = <real4>[t01E18,t11E19,t21E1A,t31E1B];
          real _t1DDD#1 = Dot<4>(hy1E04,tv1E17);
          real2 x1E5B#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v170AD1);
          real2 nd1E5D#2 = Floor<2>(x1E5B);
          real2 f1E5C#2 = Sub<real2>(x1E5B,nd1E5D);
          int{2} n1E5E#8 = RealToInt<2>(nd1E5D);
          int t11E7A#1 = -1;
          int t21E7B#1 = Index<int{2},0>(n1E5E);
          int ix1E79#1 = Add<int>(t11E7A,t21E7B);
          int t11E7D#1 = -1;
          int t21E7E#1 = Index<int{2},1>(n1E5E);
          int iy1E7C#1 = Add<int>(t11E7D,t21E7E);
          addr(IMAGE2D<int>) a1E7F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E7C);
          real4 v01E60#1 = LoadVoxels<IMAGE2D<int>,4>(a1E7F);
          int t11E73#1 = -1;
          int t21E74#1 = Index<int{2},0>(n1E5E);
          int ix1E72#1 = Add<int>(t11E73,t21E74);
          int t11E76#1 = 0;
          int t21E77#1 = Index<int{2},1>(n1E5E);
          int iy1E75#1 = Add<int>(t11E76,t21E77);
          addr(IMAGE2D<int>) a1E78#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E72,iy1E75);
          real4 v11E61#1 = LoadVoxels<IMAGE2D<int>,4>(a1E78);
          int t11E6C#1 = -1;
          int t21E6D#1 = Index<int{2},0>(n1E5E);
          int ix1E6B#1 = Add<int>(t11E6C,t21E6D);
          int t11E6F#1 = 1;
          int t21E70#1 = Index<int{2},1>(n1E5E);
          int iy1E6E#1 = Add<int>(t11E6F,t21E70);
          addr(IMAGE2D<int>) a1E71#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E6B,iy1E6E);
          real4 v21E62#1 = LoadVoxels<IMAGE2D<int>,4>(a1E71);
          int t11E65#1 = -1;
          int t21E66#1 = Index<int{2},0>(n1E5E);
          int ix1E64#1 = Add<int>(t11E65,t21E66);
          int t11E68#1 = 2;
          int t21E69#1 = Index<int{2},1>(n1E5E);
          int iy1E67#1 = Add<int>(t11E68,t21E69);
          addr(IMAGE2D<int>) a1E6A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E64,iy1E67);
          real4 v31E63#1 = LoadVoxels<IMAGE2D<int>,4>(a1E6A);
          real fy1E8B#4 = Index<real2,1>(f1E5C);
          real r1E93#1 = 0.1e1;
          real t31E90#1 = Add<real>(fy1E8B,r1E93);
          real t21E8F#1 = fy1E8B;
          real r1E92#1 = 0.1e1;
          real t11E8E#1 = Sub<real>(fy1E8B,r1E92);
          real r1E91#1 = 0.2e1;
          real t01E8D#1 = Sub<real>(fy1E8B,r1E91);
          real4 a1E8C#1 = <real4>[t31E90,t21E8F,t11E8E,t01E8D];
          real4 hy1E81#1 = EvalKernel<4,bspln3,0>(a1E8C);
          real fx1E82#4 = Index<real2,0>(f1E5C);
          real r1E8A#1 = 0.1e1;
          real t31E87#1 = Add<real>(fx1E82,r1E8A);
          real t21E86#1 = fx1E82;
          real r1E89#1 = 0.1e1;
          real t11E85#1 = Sub<real>(fx1E82,r1E89);
          real r1E88#1 = 0.2e1;
          real t01E84#1 = Sub<real>(fx1E82,r1E88);
          real4 a1E83#1 = <real4>[t31E87,t21E86,t11E85,t01E84];
          real4 hx1E80#4 = EvalKernel<4,bspln3,0>(a1E83);
          real t01E95#1 = Dot<4>(v01E60,hx1E80);
          real t11E96#1 = Dot<4>(v11E61,hx1E80);
          real t21E97#1 = Dot<4>(v21E62,hx1E80);
          real t31E98#1 = Dot<4>(v31E63,hx1E80);
          real4 tv1E94#1 = <real4>[t01E95,t11E96,t21E97,t31E98];
          real _t1E5A#1 = Dot<4>(hy1E81,tv1E94);
          real _t1ED7#2 = Sub<real>(_t1DDD,_t1E5A);
          real _t1ED9#1 = Mul<real>(_t1ED7,_t1ED7);
          real score1EDB#1 = Add<real>(score1DC6,_t1ED9);
          goto JOIN1EDE
        JOIN1EDE:  preds = [ASSIGN1EDC,COND1DDC]
          real score1EDD#2 = phi(score1EDB,score1DC6)
          real _t1EDF#1 = Dot<2>(r00B2F,v180AD3);
          real _t1EE1#1 = Dot<2>(r10B35,v180AD3);
          real2 _t1EE3#1 = <real2>[_t1EDF,_t1EE1];
          real2 pos1EE5#2 = Add<real2>(_t1EE3,_t0B45);
          real2 x1EE8#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1EE5);
          bool _t1EE7#1 = Inside<IMAGE2D<float>,2>(x1EE8,_t0AA3);
          if _t1EE7 then goto ASSIGN1EEE else goto ASSIGN2114
        ASSIGN1EEE:  preds = [COND1EEB]
          real2 x1EED#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v180AD3);
          bool _t1EEC#1 = Inside<IMAGE2D<int>,2>(x1EED,_t0A9F);
          goto JOIN1EF2
        JOIN1EF2:  preds = [ASSIGN1EEF,ASSIGN2114]
          bool _t1EF0#1 = phi(_t1EEC,_t1EF1)
          if _t1EF0 then goto ASSIGN1F33 else goto JOIN1FF5
        ASSIGN1F33:  preds = [COND1EF3]
          real2 x1EF5#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1EE5);
          real2 nd1EF7#2 = Floor<2>(x1EF5);
          real2 f1EF6#2 = Sub<real2>(x1EF5,nd1EF7);
          int{2} n1EF8#8 = RealToInt<2>(nd1EF7);
          int t11F14#1 = -1;
          int t21F15#1 = Index<int{2},0>(n1EF8);
          int ix1F13#1 = Add<int>(t11F14,t21F15);
          int t11F17#1 = -1;
          int t21F18#1 = Index<int{2},1>(n1EF8);
          int iy1F16#1 = Add<int>(t11F17,t21F18);
          addr(IMAGE2D<float>) a1F19#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F16);
          real4 v01EFA#1 = LoadVoxels<IMAGE2D<float>,4>(a1F19);
          int t11F0D#1 = -1;
          int t21F0E#1 = Index<int{2},0>(n1EF8);
          int ix1F0C#1 = Add<int>(t11F0D,t21F0E);
          int t11F10#1 = 0;
          int t21F11#1 = Index<int{2},1>(n1EF8);
          int iy1F0F#1 = Add<int>(t11F10,t21F11);
          addr(IMAGE2D<float>) a1F12#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F0C,iy1F0F);
          real4 v11EFB#1 = LoadVoxels<IMAGE2D<float>,4>(a1F12);
          int t11F06#1 = -1;
          int t21F07#1 = Index<int{2},0>(n1EF8);
          int ix1F05#1 = Add<int>(t11F06,t21F07);
          int t11F09#1 = 1;
          int t21F0A#1 = Index<int{2},1>(n1EF8);
          int iy1F08#1 = Add<int>(t11F09,t21F0A);
          addr(IMAGE2D<float>) a1F0B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F05,iy1F08);
          real4 v21EFC#1 = LoadVoxels<IMAGE2D<float>,4>(a1F0B);
          int t11EFF#1 = -1;
          int t21F00#1 = Index<int{2},0>(n1EF8);
          int ix1EFE#1 = Add<int>(t11EFF,t21F00);
          int t11F02#1 = 2;
          int t21F03#1 = Index<int{2},1>(n1EF8);
          int iy1F01#1 = Add<int>(t11F02,t21F03);
          addr(IMAGE2D<float>) a1F04#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1EFE,iy1F01);
          real4 v31EFD#1 = LoadVoxels<IMAGE2D<float>,4>(a1F04);
          real fy1F25#4 = Index<real2,1>(f1EF6);
          real r1F2D#1 = 0.1e1;
          real t31F2A#1 = Add<real>(fy1F25,r1F2D);
          real t21F29#1 = fy1F25;
          real r1F2C#1 = 0.1e1;
          real t11F28#1 = Sub<real>(fy1F25,r1F2C);
          real r1F2B#1 = 0.2e1;
          real t01F27#1 = Sub<real>(fy1F25,r1F2B);
          real4 a1F26#1 = <real4>[t31F2A,t21F29,t11F28,t01F27];
          real4 hy1F1B#1 = EvalKernel<4,bspln3,0>(a1F26);
          real fx1F1C#4 = Index<real2,0>(f1EF6);
          real r1F24#1 = 0.1e1;
          real t31F21#1 = Add<real>(fx1F1C,r1F24);
          real t21F20#1 = fx1F1C;
          real r1F23#1 = 0.1e1;
          real t11F1F#1 = Sub<real>(fx1F1C,r1F23);
          real r1F22#1 = 0.2e1;
          real t01F1E#1 = Sub<real>(fx1F1C,r1F22);
          real4 a1F1D#1 = <real4>[t31F21,t21F20,t11F1F,t01F1E];
          real4 hx1F1A#4 = EvalKernel<4,bspln3,0>(a1F1D);
          real t01F2F#1 = Dot<4>(v01EFA,hx1F1A);
          real t11F30#1 = Dot<4>(v11EFB,hx1F1A);
          real t21F31#1 = Dot<4>(v21EFC,hx1F1A);
          real t31F32#1 = Dot<4>(v31EFD,hx1F1A);
          real4 tv1F2E#1 = <real4>[t01F2F,t11F30,t21F31,t31F32];
          real _t1EF4#1 = Dot<4>(hy1F1B,tv1F2E);
          real2 x1F72#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v180AD3);
          real2 nd1F74#2 = Floor<2>(x1F72);
          real2 f1F73#2 = Sub<real2>(x1F72,nd1F74);
          int{2} n1F75#8 = RealToInt<2>(nd1F74);
          int t11F91#1 = -1;
          int t21F92#1 = Index<int{2},0>(n1F75);
          int ix1F90#1 = Add<int>(t11F91,t21F92);
          int t11F94#1 = -1;
          int t21F95#1 = Index<int{2},1>(n1F75);
          int iy1F93#1 = Add<int>(t11F94,t21F95);
          addr(IMAGE2D<int>) a1F96#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F93);
          real4 v01F77#1 = LoadVoxels<IMAGE2D<int>,4>(a1F96);
          int t11F8A#1 = -1;
          int t21F8B#1 = Index<int{2},0>(n1F75);
          int ix1F89#1 = Add<int>(t11F8A,t21F8B);
          int t11F8D#1 = 0;
          int t21F8E#1 = Index<int{2},1>(n1F75);
          int iy1F8C#1 = Add<int>(t11F8D,t21F8E);
          addr(IMAGE2D<int>) a1F8F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F89,iy1F8C);
          real4 v11F78#1 = LoadVoxels<IMAGE2D<int>,4>(a1F8F);
          int t11F83#1 = -1;
          int t21F84#1 = Index<int{2},0>(n1F75);
          int ix1F82#1 = Add<int>(t11F83,t21F84);
          int t11F86#1 = 1;
          int t21F87#1 = Index<int{2},1>(n1F75);
          int iy1F85#1 = Add<int>(t11F86,t21F87);
          addr(IMAGE2D<int>) a1F88#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F82,iy1F85);
          real4 v21F79#1 = LoadVoxels<IMAGE2D<int>,4>(a1F88);
          int t11F7C#1 = -1;
          int t21F7D#1 = Index<int{2},0>(n1F75);
          int ix1F7B#1 = Add<int>(t11F7C,t21F7D);
          int t11F7F#1 = 2;
          int t21F80#1 = Index<int{2},1>(n1F75);
          int iy1F7E#1 = Add<int>(t11F7F,t21F80);
          addr(IMAGE2D<int>) a1F81#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F7B,iy1F7E);
          real4 v31F7A#1 = LoadVoxels<IMAGE2D<int>,4>(a1F81);
          real fy1FA2#4 = Index<real2,1>(f1F73);
          real r1FAA#1 = 0.1e1;
          real t31FA7#1 = Add<real>(fy1FA2,r1FAA);
          real t21FA6#1 = fy1FA2;
          real r1FA9#1 = 0.1e1;
          real t11FA5#1 = Sub<real>(fy1FA2,r1FA9);
          real r1FA8#1 = 0.2e1;
          real t01FA4#1 = Sub<real>(fy1FA2,r1FA8);
          real4 a1FA3#1 = <real4>[t31FA7,t21FA6,t11FA5,t01FA4];
          real4 hy1F98#1 = EvalKernel<4,bspln3,0>(a1FA3);
          real fx1F99#4 = Index<real2,0>(f1F73);
          real r1FA1#1 = 0.1e1;
          real t31F9E#1 = Add<real>(fx1F99,r1FA1);
          real t21F9D#1 = fx1F99;
          real r1FA0#1 = 0.1e1;
          real t11F9C#1 = Sub<real>(fx1F99,r1FA0);
          real r1F9F#1 = 0.2e1;
          real t01F9B#1 = Sub<real>(fx1F99,r1F9F);
          real4 a1F9A#1 = <real4>[t31F9E,t21F9D,t11F9C,t01F9B];
          real4 hx1F97#4 = EvalKernel<4,bspln3,0>(a1F9A);
          real t01FAC#1 = Dot<4>(v01F77,hx1F97);
          real t11FAD#1 = Dot<4>(v11F78,hx1F97);
          real t21FAE#1 = Dot<4>(v21F79,hx1F97);
          real t31FAF#1 = Dot<4>(v31F7A,hx1F97);
          real4 tv1FAB#1 = <real4>[t01FAC,t11FAD,t21FAE,t31FAF];
          real _t1F71#1 = Dot<4>(hy1F98,tv1FAB);
          real _t1FEE#2 = Sub<real>(_t1EF4,_t1F71);
          real _t1FF0#1 = Mul<real>(_t1FEE,_t1FEE);
          real score1FF2#1 = Add<real>(score1EDD,_t1FF0);
          goto JOIN1FF5
        JOIN1FF5:  preds = [ASSIGN1FF3,COND1EF3]
          real score1FF4#2 = phi(score1FF2,score1EDD)
          real _t1FF6#1 = Dot<2>(r00B2F,v190AD5);
          real _t1FF8#1 = Dot<2>(r10B35,v190AD5);
          real2 _t1FFA#1 = <real2>[_t1FF6,_t1FF8];
          real2 pos1FFC#3 = Add<real2>(_t1FFA,_t0B45);
          real2 x1FFF#1 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1FFC);
          bool _t1FFE#1 = Inside<IMAGE2D<float>,2>(x1FFF,_t0AA3);
          if _t1FFE then goto ASSIGN2005 else goto ASSIGN2113
        ASSIGN2005:  preds = [COND2002]
          real2 x2004#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v190AD5);
          bool _t2003#1 = Inside<IMAGE2D<int>,2>(x2004,_t0A9F);
          goto JOIN2009
        JOIN2009:  preds = [ASSIGN2006,ASSIGN2113]
          bool _t2007#1 = phi(_t2003,_t2008)
          if _t2007 then goto ASSIGN204A else goto JOIN210C
        ASSIGN204A:  preds = [COND200A]
          real2 x200C#2 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1FFC);
          real2 nd200E#2 = Floor<2>(x200C);
          real2 f200D#2 = Sub<real2>(x200C,nd200E);
          int{2} n200F#8 = RealToInt<2>(nd200E);
          int t1202B#1 = -1;
          int t2202C#1 = Index<int{2},0>(n200F);
          int ix202A#1 = Add<int>(t1202B,t2202C);
          int t1202E#1 = -1;
          int t2202F#1 = Index<int{2},1>(n200F);
          int iy202D#1 = Add<int>(t1202E,t2202F);
          addr(IMAGE2D<float>) a2030#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy202D);
          real4 v02011#1 = LoadVoxels<IMAGE2D<float>,4>(a2030);
          int t12024#1 = -1;
          int t22025#1 = Index<int{2},0>(n200F);
          int ix2023#1 = Add<int>(t12024,t22025);
          int t12027#1 = 0;
          int t22028#1 = Index<int{2},1>(n200F);
          int iy2026#1 = Add<int>(t12027,t22028);
          addr(IMAGE2D<float>) a2029#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix2023,iy2026);
          real4 v12012#1 = LoadVoxels<IMAGE2D<float>,4>(a2029);
          int t1201D#1 = -1;
          int t2201E#1 = Index<int{2},0>(n200F);
          int ix201C#1 = Add<int>(t1201D,t2201E);
          int t12020#1 = 1;
          int t22021#1 = Index<int{2},1>(n200F);
          int iy201F#1 = Add<int>(t12020,t22021);
          addr(IMAGE2D<float>) a2022#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix201C,iy201F);
          real4 v22013#1 = LoadVoxels<IMAGE2D<float>,4>(a2022);
          int t12016#1 = -1;
          int t22017#1 = Index<int{2},0>(n200F);
          int ix2015#1 = Add<int>(t12016,t22017);
          int t12019#1 = 2;
          int t2201A#1 = Index<int{2},1>(n200F);
          int iy2018#1 = Add<int>(t12019,t2201A);
          addr(IMAGE2D<float>) a201B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix2015,iy2018);
          real4 v32014#1 = LoadVoxels<IMAGE2D<float>,4>(a201B);
          real fy203C#4 = Index<real2,1>(f200D);
          real r2044#1 = 0.1e1;
          real t32041#1 = Add<real>(fy203C,r2044);
          real t22040#1 = fy203C;
          real r2043#1 = 0.1e1;
          real t1203F#1 = Sub<real>(fy203C,r2043);
          real r2042#1 = 0.2e1;
          real t0203E#1 = Sub<real>(fy203C,r2042);
          real4 a203D#1 = <real4>[t32041,t22040,t1203F,t0203E];
          real4 hy2032#1 = EvalKernel<4,bspln3,0>(a203D);
          real fx2033#4 = Index<real2,0>(f200D);
          real r203B#1 = 0.1e1;
          real t32038#1 = Add<real>(fx2033,r203B);
          real t22037#1 = fx2033;
          real r203A#1 = 0.1e1;
          real t12036#1 = Sub<real>(fx2033,r203A);
          real r2039#1 = 0.2e1;
          real t02035#1 = Sub<real>(fx2033,r2039);
          real4 a2034#1 = <real4>[t32038,t22037,t12036,t02035];
          real4 hx2031#4 = EvalKernel<4,bspln3,0>(a2034);
          real t02046#1 = Dot<4>(v02011,hx2031);
          real t12047#1 = Dot<4>(v12012,hx2031);
          real t22048#1 = Dot<4>(v22013,hx2031);
          real t32049#1 = Dot<4>(v32014,hx2031);
          real4 tv2045#1 = <real4>[t02046,t12047,t22048,t32049];
          real _t200B#1 = Dot<4>(hy2032,tv2045);
          real2 x2089#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v190AD5);
          real2 nd208B#2 = Floor<2>(x2089);
          real2 f208A#2 = Sub<real2>(x2089,nd208B);
          int{2} n208C#8 = RealToInt<2>(nd208B);
          int t120A8#1 = -1;
          int t220A9#1 = Index<int{2},0>(n208C);
          int ix20A7#1 = Add<int>(t120A8,t220A9);
          int t120AB#1 = -1;
          int t220AC#1 = Index<int{2},1>(n208C);
          int iy20AA#1 = Add<int>(t120AB,t220AC);
          addr(IMAGE2D<int>) a20AD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy20AA);
          real4 v0208E#1 = LoadVoxels<IMAGE2D<int>,4>(a20AD);
          int t120A1#1 = -1;
          int t220A2#1 = Index<int{2},0>(n208C);
          int ix20A0#1 = Add<int>(t120A1,t220A2);
          int t120A4#1 = 0;
          int t220A5#1 = Index<int{2},1>(n208C);
          int iy20A3#1 = Add<int>(t120A4,t220A5);
          addr(IMAGE2D<int>) a20A6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A0,iy20A3);
          real4 v1208F#1 = LoadVoxels<IMAGE2D<int>,4>(a20A6);
          int t1209A#1 = -1;
          int t2209B#1 = Index<int{2},0>(n208C);
          int ix2099#1 = Add<int>(t1209A,t2209B);
          int t1209D#1 = 1;
          int t2209E#1 = Index<int{2},1>(n208C);
          int iy209C#1 = Add<int>(t1209D,t2209E);
          addr(IMAGE2D<int>) a209F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix2099,iy209C);
          real4 v22090#1 = LoadVoxels<IMAGE2D<int>,4>(a209F);
          int t12093#1 = -1;
          int t22094#1 = Index<int{2},0>(n208C);
          int ix2092#1 = Add<int>(t12093,t22094);
          int t12096#1 = 2;
          int t22097#1 = Index<int{2},1>(n208C);
          int iy2095#1 = Add<int>(t12096,t22097);
          addr(IMAGE2D<int>) a2098#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix2092,iy2095);
          real4 v32091#1 = LoadVoxels<IMAGE2D<int>,4>(a2098);
          real fy20B9#4 = Index<real2,1>(f208A);
          real r20C1#1 = 0.1e1;
          real t320BE#1 = Add<real>(fy20B9,r20C1);
          real t220BD#1 = fy20B9;
          real r20C0#1 = 0.1e1;
          real t120BC#1 = Sub<real>(fy20B9,r20C0);
          real r20BF#1 = 0.2e1;
          real t020BB#1 = Sub<real>(fy20B9,r20BF);
          real4 a20BA#1 = <real4>[t320BE,t220BD,t120BC,t020BB];
          real4 hy20AF#1 = EvalKernel<4,bspln3,0>(a20BA);
          real fx20B0#4 = Index<real2,0>(f208A);
          real r20B8#1 = 0.1e1;
          real t320B5#1 = Add<real>(fx20B0,r20B8);
          real t220B4#1 = fx20B0;
          real r20B7#1 = 0.1e1;
          real t120B3#1 = Sub<real>(fx20B0,r20B7);
          real r20B6#1 = 0.2e1;
          real t020B2#1 = Sub<real>(fx20B0,r20B6);
          real4 a20B1#1 = <real4>[t320B5,t220B4,t120B3,t020B2];
          real4 hx20AE#4 = EvalKernel<4,bspln3,0>(a20B1);
          real t020C3#1 = Dot<4>(v0208E,hx20AE);
          real t120C4#1 = Dot<4>(v1208F,hx20AE);
          real t220C5#1 = Dot<4>(v22090,hx20AE);
          real t320C6#1 = Dot<4>(v32091,hx20AE);
          real4 tv20C2#1 = <real4>[t020C3,t120C4,t220C5,t320C6];
          real _t2088#1 = Dot<4>(hy20AF,tv20C2);
          real _t2105#2 = Sub<real>(_t200B,_t2088);
          real _t2107#1 = Mul<real>(_t2105,_t2105);
          real score2109#1 = Add<real>(score1FF4,_t2107);
          goto JOIN210C
        JOIN210C:  preds = [ASSIGN210A,COND200A]
          real score210B#1 = phi(score2109,score1FF4)
          self.t = t0B11;
          self.score = score210B;
          self.r0 = r00B2F;
          self.r1 = r10B35;
          self.pos = pos1FFC;
          stabilize ()
        ASSIGN2113:  preds = [COND2002]
          bool _t2008#1 = false;
          goto JOIN2009
        ASSIGN2114:  preds = [COND1EEB]
          bool _t1EF1#1 = false;
          goto JOIN1EF2
        ASSIGN2115:  preds = [COND1DD4]
          bool _t1DDA#1 = false;
          goto JOIN1DDB
        ASSIGN2116:  preds = [COND1CBD]
          bool _t1CC3#1 = false;
          goto JOIN1CC4
        ASSIGN2117:  preds = [COND1BA6]
          bool _t1BAC#1 = false;
          goto JOIN1BAD
        ASSIGN2118:  preds = [COND1A8F]
          bool _t1A95#1 = false;
          goto JOIN1A96
        ASSIGN2119:  preds = [COND1978]
          bool _t197E#1 = false;
          goto JOIN197F
        ASSIGN211A:  preds = [COND1861]
          bool _t1867#1 = false;
          goto JOIN1868
        ASSIGN211B:  preds = [COND174A]
          bool _t1750#1 = false;
          goto JOIN1751
        ASSIGN211C:  preds = [COND1633]
          bool _t1639#1 = false;
          goto JOIN163A
        ASSIGN211D:  preds = [COND151C]
          bool _t1522#1 = false;
          goto JOIN1523
        ASSIGN211E:  preds = [COND1405]
          bool _t140B#1 = false;
          goto JOIN140C
        ASSIGN211F:  preds = [COND12EE]
          bool _t12F4#1 = false;
          goto JOIN12F5
        ASSIGN2120:  preds = [COND11D7]
          bool _t11DD#1 = false;
          goto JOIN11DE
        ASSIGN2121:  preds = [COND10C0]
          bool _t10C6#1 = false;
          goto JOIN10C7
        ASSIGN2122:  preds = [COND0FA9]
          bool _t0FAF#1 = false;
          goto JOIN0FB0
        ASSIGN2123:  preds = [COND0E92]
          bool _t0E98#1 = false;
          goto JOIN0E99
        ASSIGN2124:  preds = [COND0D7B]
          bool _t0D81#1 = false;
          goto JOIN0D82
        ASSIGN2125:  preds = [COND0C64]
          bool _t0C6A#1 = false;
          goto JOIN0C6B
        ASSIGN2126:  preds = [COND0B4D]
          bool _t0B53#1 = false;
          goto JOIN0B54
    end Update
    method Stabilize
        ENTRY2128:  preds = []
          real3 t2129#1 = self.t;
          real score212B#1 = self.score;
          real2 r0212D#1 = self.r0;
          real2 r1212F#1 = self.r1;
          real2 pos2131#1 = self.pos;
          self.t = t2129;
          self.score = score212B;
          self.r0 = r0212D;
          self.r1 = r1212F;
          self.pos = pos2131;
          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
##### MidIL after value numbering ####
## properties
  none
## globals
  global int T0AD7#0
  global int F0AD8#0
  global real2 v000AA7#4
  global real2 v010AAB#4
  global real2 v020AAF#4
  global real2 v030AB3#4
  global real2 v040AB7#4
  global real2 v050AB9#4
  global real2 v060ABB#4
  global real2 v070ABD#4
  global real2 v080ABF#4
  global real2 v090AC1#4
  global real2 v100AC3#4
  global real2 v110AC5#4
  global real2 v120AC7#4
  global real2 v130AC9#4
  global real2 v140ACB#4
  global real2 v150ACD#4
  global real2 v160ACF#4
  global real2 v170AD1#4
  global real2 v180AD3#4
  global real2 v190AD5#4
  global string _t0A9D#1
  global image(IMAGE2D<int>) _t0A9F#140
  global int _t0A9B#0
  global string _t0AA1#1
  global image(IMAGE2D<float>) _t0AA3#140
  global real _t0AA5#9
  global real _t0AA9#10
  global real _t0AB1#9
  global real _t0AAD#10
  global real _t0AB5#4
## global initialization
  ENTRY0A9A:  preds = []
    int _t0A9B#0 = 0;
    string _t0A9D#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0A9F#140 = LoadImage<IMAGE2D<int>>(_t0A9D);
    string _t0AA1#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0AA3#140 = LoadImage<IMAGE2D<float>>(_t0AA1);
    real _t0AA5#9 = 0.0;
    real2 v000AA7#4 = <real2>[_t0AA5,_t0AA5];
    real _t0AA9#10 = 0.25e0;
    real2 v010AAB#4 = <real2>[_t0AA5,_t0AA9];
    real _t0AAD#10 = 0.5e0;
    real2 v020AAF#4 = <real2>[_t0AA5,_t0AAD];
    real _t0AB1#9 = Neg<real>(_t0AA9);
    real2 v030AB3#4 = <real2>[_t0AA5,_t0AB1];
    real _t0AB5#4 = Neg<real>(_t0AAD);
    real2 v040AB7#4 = <real2>[_t0AA5,_t0AB5];
    real2 v050AB9#4 = <real2>[_t0AA9,_t0AA5];
    real2 v060ABB#4 = <real2>[_t0AA9,_t0AA9];
    real2 v070ABD#4 = <real2>[_t0AA9,_t0AAD];
    real2 v080ABF#4 = <real2>[_t0AA9,_t0AB1];
    real2 v090AC1#4 = <real2>[_t0AA9,_t0AB5];
    real2 v100AC3#4 = <real2>[_t0AAD,_t0AA5];
    real2 v110AC5#4 = <real2>[_t0AAD,_t0AA9];
    real2 v120AC7#4 = <real2>[_t0AAD,_t0AAD];
    real2 v130AC9#4 = <real2>[_t0AAD,_t0AB1];
    real2 v140ACB#4 = <real2>[_t0AAD,_t0AB5];
    real2 v150ACD#4 = <real2>[_t0AB1,_t0AA5];
    real2 v160ACF#4 = <real2>[_t0AB1,_t0AA9];
    real2 v170AD1#4 = <real2>[_t0AB1,_t0AAD];
    real2 v180AD3#4 = <real2>[_t0AB1,_t0AB1];
    real2 v190AD5#4 = <real2>[_t0AB1,_t0AB5];
    return (T0AD7,F0AD8,v000AA7,v010AAB,v020AAF,v030AB3,v040AB7,v050AB9,v060ABB,v070ABD,v080ABF,v090AC1,v100AC3,v110AC5,v120AC7,v130AC9,v140ACB,v150ACD,v160ACF,v170AD1,v180AD3,v190AD5,_t0A9D,_t0A9F,_t0A9B,_t0AA1,_t0AA3,_t0AA5,_t0AA9,_t0AB1,_t0AAD,_t0AB5)
## initially
  ARRAY
    ENTRY0ADF:  preds = []
      int _t0ADB#4 = 0;
      int _t0ADC#4 = 60;
      live vars = (_t0ADC,_t0ADB)
    for int i0ADA#1 = _t0ADB .. _t0ADC
      for int j0ADD#1 = _t0ADB .. _t0ADC
        for int k0ADE#1 = _t0ADB .. _t0ADC
          ENTRY0AE3:  preds = []
            live vars = ()
          new R(i0ADA,j0ADD,k0ADE);
## strands
  strand R (int i0AE5#1, int j0AE6#1, int k0AE7#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0AED:  preds = []
        real _t0AEE#1 = IntToReal(i0AE5);
        real _t0AF0#3 = 0.60e2;
        real _t0AF2#1 = Div<real>(_t0AEE,_t0AF0);
        real _t0AF4#3 = 0.5e0;
        real _t0AF6#1 = Sub<real>(_t0AF2,_t0AF4);
        real _t0AF8#1 = IntToReal(j0AE6);
        real _t0AFA#1 = Div<real>(_t0AF8,_t0AF0);
        real _t0AFC#1 = Sub<real>(_t0AFA,_t0AF4);
        real _t0AFE#1 = IntToReal(k0AE7);
        real _t0B00#1 = Div<real>(_t0AFE,_t0AF0);
        real _t0B02#1 = Sub<real>(_t0B00,_t0AF4);
        real3 t0B04#1 = <real3>[_t0AF6,_t0AFC,_t0B02];
        real score0B06#3 = 0.0;
        real2 r00B08#3 = <real2>[score0B06,score0B06];
        self.t = t0B04;
        self.score = score0B06;
        self.r0 = r00B08;
        self.r1 = r00B08;
        self.pos = r00B08;
        strand_init ()
    method Update
        ENTRY0B10:  preds = []
          real3 t0B11#4 = self.t;
          real score0B13#2 = self.score;
          real _t0B15#162 = 0.1e1;
          real _t0B17#83 = 0.2e1;
          int _t0B19#41 = 2;
          real _t0B1B#6 = Subscript<real3>(t0B11,_t0B19);
          real _t0B1D#1 = Mul<real>(_t0B17,_t0B1B);
          real _t0B1F#1 = Mul<real>(_t0B1D,_t0B1B);
          real _t0B21#2 = Sub<real>(_t0B15,_t0B1F);
          real _t0B23#1 = Neg<real>(_t0B17);
          real _t0B25#1 = Mul<real>(_t0B1B,_t0B1B);
          real _t0B27#1 = Sub<real>(_t0B15,_t0B25);
          real _t0B29#2 = sqrt(_t0B27);
          real _t0B2B#1 = Mul<real>(_t0B23,_t0B29);
          real _t0B2D#1 = Mul<real>(_t0B2B,_t0B1B);
          real2 r00B2F#21 = <real2>[_t0B21,_t0B2D];
          real _t0B31#1 = Mul<real>(_t0B17,_t0B29);
          real _t0B33#1 = Mul<real>(_t0B31,_t0B1B);
          real2 r10B35#21 = <real2>[_t0B33,_t0B21];
          real _t0B37#1 = Dot<2>(r00B2F,v000AA7);
          real _t0B39#1 = Dot<2>(r10B35,v000AA7);
          real2 _t0B3B#1 = <real2>[_t0B37,_t0B39];
          int _t0B3D#41 = 0;
          real _t0B3F#1 = Subscript<real3>(t0B11,_t0B3D);
          int _t0B41#41 = 1;
          real _t0B43#1 = Subscript<real3>(t0B11,_t0B41);
          real2 _t0B45#20 = <real2>[_t0B3F,_t0B43];
          real2 pos0B47#2 = Add<real2>(_t0B3B,_t0B45);
          real2 x0B4A#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0B47);
          bool _t0B49#1 = Inside<IMAGE2D<float>,2>(x0B4A,_t0AA3);
          if _t0B49 then goto ASSIGN0B50 else goto ASSIGN2126
        ASSIGN0B50:  preds = [COND0B4D]
          real2 x0B4F#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v000AA7);
          bool _t0B4E#1 = Inside<IMAGE2D<int>,2>(x0B4F,_t0A9F);
          goto JOIN0B54
        JOIN0B54:  preds = [ASSIGN0B51,ASSIGN2126]
          bool _t0B52#1 = phi(_t0B4E,_t0B53)
          if _t0B52 then goto ASSIGN2139 else goto JOIN0C57
        ASSIGN2139:  preds = [COND0B55]
          real2 nd0B59#2 = Floor<2>(x0B4A);
          real2 f0B58#2 = Sub<real2>(x0B4A,nd0B59);
          int{2} n0B5A#8 = RealToInt<2>(nd0B59);
          int t10B76#4 = -1;
          int t20B77#1 = Index<int{2},0>(n0B5A);
          int ix0B75#4 = Add<int>(t10B76,t20B77);
          int t20B7A#4 = Index<int{2},1>(n0B5A);
          int iy0B78#1 = Add<int>(t10B76,t20B7A);
          addr(IMAGE2D<float>) a0B7B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B78);
          real4 v00B5C#1 = LoadVoxels<IMAGE2D<float>,4>(a0B7B);
          int iy0B71#1 = Add<int>(_t0B3D,t20B7A);
          addr(IMAGE2D<float>) a0B74#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B71);
          real4 v10B5D#1 = LoadVoxels<IMAGE2D<float>,4>(a0B74);
          int iy0B6A#1 = Add<int>(_t0B41,t20B7A);
          addr(IMAGE2D<float>) a0B6D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B6A);
          real4 v20B5E#1 = LoadVoxels<IMAGE2D<float>,4>(a0B6D);
          int iy0B63#1 = Add<int>(_t0B19,t20B7A);
          addr(IMAGE2D<float>) a0B66#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B63);
          real4 v30B5F#1 = LoadVoxels<IMAGE2D<float>,4>(a0B66);
          real fy0B87#5 = Index<real2,1>(f0B58);
          real t30B8C#1 = Add<real>(fy0B87,_t0B15);
          real t10B8A#1 = Sub<real>(fy0B87,_t0B15);
          real t00B89#1 = Sub<real>(fy0B87,_t0B17);
          real4 a0B88#1 = <real4>[t30B8C,fy0B87,t10B8A,t00B89];
          real4 hy0B7D#1 = EvalKernel<4,bspln3,0>(a0B88);
          real fx0B7E#5 = Index<real2,0>(f0B58);
          real t30B83#1 = Add<real>(fx0B7E,_t0B15);
          real t10B81#1 = Sub<real>(fx0B7E,_t0B15);
          real t00B80#1 = Sub<real>(fx0B7E,_t0B17);
          real4 a0B7F#1 = <real4>[t30B83,fx0B7E,t10B81,t00B80];
          real4 hx0B7C#4 = EvalKernel<4,bspln3,0>(a0B7F);
          real t00B91#1 = Dot<4>(v00B5C,hx0B7C);
          real t10B92#1 = Dot<4>(v10B5D,hx0B7C);
          real t20B93#1 = Dot<4>(v20B5E,hx0B7C);
          real t30B94#1 = Dot<4>(v30B5F,hx0B7C);
          real4 tv0B90#1 = <real4>[t00B91,t10B92,t20B93,t30B94];
          real _t0B56#1 = Dot<4>(hy0B7D,tv0B90);
          real2 x0BD4#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v000AA7);
          real2 nd0BD6#2 = Floor<2>(x0BD4);
          real2 f0BD5#2 = Sub<real2>(x0BD4,nd0BD6);
          int{2} n0BD7#8 = RealToInt<2>(nd0BD6);
          int t20BF4#1 = Index<int{2},0>(n0BD7);
          int ix0BF2#4 = Add<int>(t10B76,t20BF4);
          int t20BF7#4 = Index<int{2},1>(n0BD7);
          int iy0BF5#1 = Add<int>(t10B76,t20BF7);
          addr(IMAGE2D<int>) a0BF8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BF5);
          real4 v00BD9#1 = LoadVoxels<IMAGE2D<int>,4>(a0BF8);
          int iy0BEE#1 = Add<int>(_t0B3D,t20BF7);
          addr(IMAGE2D<int>) a0BF1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BEE);
          real4 v10BDA#1 = LoadVoxels<IMAGE2D<int>,4>(a0BF1);
          int iy0BE7#1 = Add<int>(_t0B41,t20BF7);
          addr(IMAGE2D<int>) a0BEA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BE7);
          real4 v20BDB#1 = LoadVoxels<IMAGE2D<int>,4>(a0BEA);
          int iy0BE0#1 = Add<int>(_t0B19,t20BF7);
          addr(IMAGE2D<int>) a0BE3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BE0);
          real4 v30BDC#1 = LoadVoxels<IMAGE2D<int>,4>(a0BE3);
          real fy0C04#5 = Index<real2,1>(f0BD5);
          real t30C09#1 = Add<real>(fy0C04,_t0B15);
          real t10C07#1 = Sub<real>(fy0C04,_t0B15);
          real t00C06#1 = Sub<real>(fy0C04,_t0B17);
          real4 a0C05#1 = <real4>[t30C09,fy0C04,t10C07,t00C06];
          real4 hy0BFA#1 = EvalKernel<4,bspln3,0>(a0C05);
          real fx0BFB#5 = Index<real2,0>(f0BD5);
          real t30C00#1 = Add<real>(fx0BFB,_t0B15);
          real t10BFE#1 = Sub<real>(fx0BFB,_t0B15);
          real t00BFD#1 = Sub<real>(fx0BFB,_t0B17);
          real4 a0BFC#1 = <real4>[t30C00,fx0BFB,t10BFE,t00BFD];
          real4 hx0BF9#4 = EvalKernel<4,bspln3,0>(a0BFC);
          real t00C0E#1 = Dot<4>(v00BD9,hx0BF9);
          real t10C0F#1 = Dot<4>(v10BDA,hx0BF9);
          real t20C10#1 = Dot<4>(v20BDB,hx0BF9);
          real t30C11#1 = Dot<4>(v30BDC,hx0BF9);
          real4 tv0C0D#1 = <real4>[t00C0E,t10C0F,t20C10,t30C11];
          real _t0BD3#1 = Dot<4>(hy0BFA,tv0C0D);
          real _t0C50#2 = Sub<real>(_t0B56,_t0BD3);
          real _t0C52#1 = Mul<real>(_t0C50,_t0C50);
          real score0C54#1 = Add<real>(score0B13,_t0C52);
          goto JOIN0C57
        JOIN0C57:  preds = [ASSIGN0C55,COND0B55]
          real score0C56#2 = phi(score0C54,score0B13)
          real _t0C58#1 = Dot<2>(r00B2F,v010AAB);
          real _t0C5A#1 = Dot<2>(r10B35,v010AAB);
          real2 _t0C5C#1 = <real2>[_t0C58,_t0C5A];
          real2 pos0C5E#2 = Add<real2>(_t0C5C,_t0B45);
          real2 x0C61#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0C5E);
          bool _t0C60#1 = Inside<IMAGE2D<float>,2>(x0C61,_t0AA3);
          if _t0C60 then goto ASSIGN0C67 else goto ASSIGN2125
        ASSIGN0C67:  preds = [COND0C64]
          real2 x0C66#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v010AAB);
          bool _t0C65#1 = Inside<IMAGE2D<int>,2>(x0C66,_t0A9F);
          goto JOIN0C6B
        JOIN0C6B:  preds = [ASSIGN0C68,ASSIGN2125]
          bool _t0C69#1 = phi(_t0C65,_t0C6A)
          if _t0C69 then goto ASSIGN215A else goto JOIN0D6E
        ASSIGN215A:  preds = [COND0C6C]
          real2 nd0C70#2 = Floor<2>(x0C61);
          real2 f0C6F#2 = Sub<real2>(x0C61,nd0C70);
          int{2} n0C71#8 = RealToInt<2>(nd0C70);
          int t10C8D#4 = -1;
          int t20C8E#1 = Index<int{2},0>(n0C71);
          int ix0C8C#4 = Add<int>(t10C8D,t20C8E);
          int t20C91#4 = Index<int{2},1>(n0C71);
          int iy0C8F#1 = Add<int>(t10C8D,t20C91);
          addr(IMAGE2D<float>) a0C92#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C8F);
          real4 v00C73#1 = LoadVoxels<IMAGE2D<float>,4>(a0C92);
          int iy0C88#1 = Add<int>(_t0B3D,t20C91);
          addr(IMAGE2D<float>) a0C8B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C88);
          real4 v10C74#1 = LoadVoxels<IMAGE2D<float>,4>(a0C8B);
          int iy0C81#1 = Add<int>(_t0B41,t20C91);
          addr(IMAGE2D<float>) a0C84#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C81);
          real4 v20C75#1 = LoadVoxels<IMAGE2D<float>,4>(a0C84);
          int iy0C7A#1 = Add<int>(_t0B19,t20C91);
          addr(IMAGE2D<float>) a0C7D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C7A);
          real4 v30C76#1 = LoadVoxels<IMAGE2D<float>,4>(a0C7D);
          real fy0C9E#5 = Index<real2,1>(f0C6F);
          real t30CA3#1 = Add<real>(fy0C9E,_t0B15);
          real t10CA1#1 = Sub<real>(fy0C9E,_t0B15);
          real t00CA0#1 = Sub<real>(fy0C9E,_t0B17);
          real4 a0C9F#1 = <real4>[t30CA3,fy0C9E,t10CA1,t00CA0];
          real4 hy0C94#1 = EvalKernel<4,bspln3,0>(a0C9F);
          real fx0C95#5 = Index<real2,0>(f0C6F);
          real t30C9A#1 = Add<real>(fx0C95,_t0B15);
          real t10C98#1 = Sub<real>(fx0C95,_t0B15);
          real t00C97#1 = Sub<real>(fx0C95,_t0B17);
          real4 a0C96#1 = <real4>[t30C9A,fx0C95,t10C98,t00C97];
          real4 hx0C93#4 = EvalKernel<4,bspln3,0>(a0C96);
          real t00CA8#1 = Dot<4>(v00C73,hx0C93);
          real t10CA9#1 = Dot<4>(v10C74,hx0C93);
          real t20CAA#1 = Dot<4>(v20C75,hx0C93);
          real t30CAB#1 = Dot<4>(v30C76,hx0C93);
          real4 tv0CA7#1 = <real4>[t00CA8,t10CA9,t20CAA,t30CAB];
          real _t0C6D#1 = Dot<4>(hy0C94,tv0CA7);
          real2 x0CEB#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v010AAB);
          real2 nd0CED#2 = Floor<2>(x0CEB);
          real2 f0CEC#2 = Sub<real2>(x0CEB,nd0CED);
          int{2} n0CEE#8 = RealToInt<2>(nd0CED);
          int t20D0B#1 = Index<int{2},0>(n0CEE);
          int ix0D09#4 = Add<int>(t10C8D,t20D0B);
          int t20D0E#4 = Index<int{2},1>(n0CEE);
          int iy0D0C#1 = Add<int>(t10C8D,t20D0E);
          addr(IMAGE2D<int>) a0D0F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0D0C);
          real4 v00CF0#1 = LoadVoxels<IMAGE2D<int>,4>(a0D0F);
          int iy0D05#1 = Add<int>(_t0B3D,t20D0E);
          addr(IMAGE2D<int>) a0D08#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0D05);
          real4 v10CF1#1 = LoadVoxels<IMAGE2D<int>,4>(a0D08);
          int iy0CFE#1 = Add<int>(_t0B41,t20D0E);
          addr(IMAGE2D<int>) a0D01#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0CFE);
          real4 v20CF2#1 = LoadVoxels<IMAGE2D<int>,4>(a0D01);
          int iy0CF7#1 = Add<int>(_t0B19,t20D0E);
          addr(IMAGE2D<int>) a0CFA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0CF7);
          real4 v30CF3#1 = LoadVoxels<IMAGE2D<int>,4>(a0CFA);
          real fy0D1B#5 = Index<real2,1>(f0CEC);
          real t30D20#1 = Add<real>(fy0D1B,_t0B15);
          real t10D1E#1 = Sub<real>(fy0D1B,_t0B15);
          real t00D1D#1 = Sub<real>(fy0D1B,_t0B17);
          real4 a0D1C#1 = <real4>[t30D20,fy0D1B,t10D1E,t00D1D];
          real4 hy0D11#1 = EvalKernel<4,bspln3,0>(a0D1C);
          real fx0D12#5 = Index<real2,0>(f0CEC);
          real t30D17#1 = Add<real>(fx0D12,_t0B15);
          real t10D15#1 = Sub<real>(fx0D12,_t0B15);
          real t00D14#1 = Sub<real>(fx0D12,_t0B17);
          real4 a0D13#1 = <real4>[t30D17,fx0D12,t10D15,t00D14];
          real4 hx0D10#4 = EvalKernel<4,bspln3,0>(a0D13);
          real t00D25#1 = Dot<4>(v00CF0,hx0D10);
          real t10D26#1 = Dot<4>(v10CF1,hx0D10);
          real t20D27#1 = Dot<4>(v20CF2,hx0D10);
          real t30D28#1 = Dot<4>(v30CF3,hx0D10);
          real4 tv0D24#1 = <real4>[t00D25,t10D26,t20D27,t30D28];
          real _t0CEA#1 = Dot<4>(hy0D11,tv0D24);
          real _t0D67#2 = Sub<real>(_t0C6D,_t0CEA);
          real _t0D69#1 = Mul<real>(_t0D67,_t0D67);
          real score0D6B#1 = Add<real>(score0C56,_t0D69);
          goto JOIN0D6E
        JOIN0D6E:  preds = [ASSIGN0D6C,COND0C6C]
          real score0D6D#2 = phi(score0D6B,score0C56)
          real _t0D6F#1 = Dot<2>(r00B2F,v020AAF);
          real _t0D71#1 = Dot<2>(r10B35,v020AAF);
          real2 _t0D73#1 = <real2>[_t0D6F,_t0D71];
          real2 pos0D75#2 = Add<real2>(_t0D73,_t0B45);
          real2 x0D78#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0D75);
          bool _t0D77#1 = Inside<IMAGE2D<float>,2>(x0D78,_t0AA3);
          if _t0D77 then goto ASSIGN0D7E else goto ASSIGN2124
        ASSIGN0D7E:  preds = [COND0D7B]
          real2 x0D7D#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v020AAF);
          bool _t0D7C#1 = Inside<IMAGE2D<int>,2>(x0D7D,_t0A9F);
          goto JOIN0D82
        JOIN0D82:  preds = [ASSIGN0D7F,ASSIGN2124]
          bool _t0D80#1 = phi(_t0D7C,_t0D81)
          if _t0D80 then goto ASSIGN217B else goto JOIN0E85
        ASSIGN217B:  preds = [COND0D83]
          real2 nd0D87#2 = Floor<2>(x0D78);
          real2 f0D86#2 = Sub<real2>(x0D78,nd0D87);
          int{2} n0D88#8 = RealToInt<2>(nd0D87);
          int t10DA4#4 = -1;
          int t20DA5#1 = Index<int{2},0>(n0D88);
          int ix0DA3#4 = Add<int>(t10DA4,t20DA5);
          int t20DA8#4 = Index<int{2},1>(n0D88);
          int iy0DA6#1 = Add<int>(t10DA4,t20DA8);
          addr(IMAGE2D<float>) a0DA9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0DA6);
          real4 v00D8A#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA9);
          int iy0D9F#1 = Add<int>(_t0B3D,t20DA8);
          addr(IMAGE2D<float>) a0DA2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0D9F);
          real4 v10D8B#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA2);
          int iy0D98#1 = Add<int>(_t0B41,t20DA8);
          addr(IMAGE2D<float>) a0D9B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0D98);
          real4 v20D8C#1 = LoadVoxels<IMAGE2D<float>,4>(a0D9B);
          int iy0D91#1 = Add<int>(_t0B19,t20DA8);
          addr(IMAGE2D<float>) a0D94#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0D91);
          real4 v30D8D#1 = LoadVoxels<IMAGE2D<float>,4>(a0D94);
          real fy0DB5#5 = Index<real2,1>(f0D86);
          real t30DBA#1 = Add<real>(fy0DB5,_t0B15);
          real t10DB8#1 = Sub<real>(fy0DB5,_t0B15);
          real t00DB7#1 = Sub<real>(fy0DB5,_t0B17);
          real4 a0DB6#1 = <real4>[t30DBA,fy0DB5,t10DB8,t00DB7];
          real4 hy0DAB#1 = EvalKernel<4,bspln3,0>(a0DB6);
          real fx0DAC#5 = Index<real2,0>(f0D86);
          real t30DB1#1 = Add<real>(fx0DAC,_t0B15);
          real t10DAF#1 = Sub<real>(fx0DAC,_t0B15);
          real t00DAE#1 = Sub<real>(fx0DAC,_t0B17);
          real4 a0DAD#1 = <real4>[t30DB1,fx0DAC,t10DAF,t00DAE];
          real4 hx0DAA#4 = EvalKernel<4,bspln3,0>(a0DAD);
          real t00DBF#1 = Dot<4>(v00D8A,hx0DAA);
          real t10DC0#1 = Dot<4>(v10D8B,hx0DAA);
          real t20DC1#1 = Dot<4>(v20D8C,hx0DAA);
          real t30DC2#1 = Dot<4>(v30D8D,hx0DAA);
          real4 tv0DBE#1 = <real4>[t00DBF,t10DC0,t20DC1,t30DC2];
          real _t0D84#1 = Dot<4>(hy0DAB,tv0DBE);
          real2 x0E02#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v020AAF);
          real2 nd0E04#2 = Floor<2>(x0E02);
          real2 f0E03#2 = Sub<real2>(x0E02,nd0E04);
          int{2} n0E05#8 = RealToInt<2>(nd0E04);
          int t20E22#1 = Index<int{2},0>(n0E05);
          int ix0E20#4 = Add<int>(t10DA4,t20E22);
          int t20E25#4 = Index<int{2},1>(n0E05);
          int iy0E23#1 = Add<int>(t10DA4,t20E25);
          addr(IMAGE2D<int>) a0E26#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E23);
          real4 v00E07#1 = LoadVoxels<IMAGE2D<int>,4>(a0E26);
          int iy0E1C#1 = Add<int>(_t0B3D,t20E25);
          addr(IMAGE2D<int>) a0E1F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E1C);
          real4 v10E08#1 = LoadVoxels<IMAGE2D<int>,4>(a0E1F);
          int iy0E15#1 = Add<int>(_t0B41,t20E25);
          addr(IMAGE2D<int>) a0E18#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E15);
          real4 v20E09#1 = LoadVoxels<IMAGE2D<int>,4>(a0E18);
          int iy0E0E#1 = Add<int>(_t0B19,t20E25);
          addr(IMAGE2D<int>) a0E11#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E0E);
          real4 v30E0A#1 = LoadVoxels<IMAGE2D<int>,4>(a0E11);
          real fy0E32#5 = Index<real2,1>(f0E03);
          real t30E37#1 = Add<real>(fy0E32,_t0B15);
          real t10E35#1 = Sub<real>(fy0E32,_t0B15);
          real t00E34#1 = Sub<real>(fy0E32,_t0B17);
          real4 a0E33#1 = <real4>[t30E37,fy0E32,t10E35,t00E34];
          real4 hy0E28#1 = EvalKernel<4,bspln3,0>(a0E33);
          real fx0E29#5 = Index<real2,0>(f0E03);
          real t30E2E#1 = Add<real>(fx0E29,_t0B15);
          real t10E2C#1 = Sub<real>(fx0E29,_t0B15);
          real t00E2B#1 = Sub<real>(fx0E29,_t0B17);
          real4 a0E2A#1 = <real4>[t30E2E,fx0E29,t10E2C,t00E2B];
          real4 hx0E27#4 = EvalKernel<4,bspln3,0>(a0E2A);
          real t00E3C#1 = Dot<4>(v00E07,hx0E27);
          real t10E3D#1 = Dot<4>(v10E08,hx0E27);
          real t20E3E#1 = Dot<4>(v20E09,hx0E27);
          real t30E3F#1 = Dot<4>(v30E0A,hx0E27);
          real4 tv0E3B#1 = <real4>[t00E3C,t10E3D,t20E3E,t30E3F];
          real _t0E01#1 = Dot<4>(hy0E28,tv0E3B);
          real _t0E7E#2 = Sub<real>(_t0D84,_t0E01);
          real _t0E80#1 = Mul<real>(_t0E7E,_t0E7E);
          real score0E82#1 = Add<real>(score0D6D,_t0E80);
          goto JOIN0E85
        JOIN0E85:  preds = [ASSIGN0E83,COND0D83]
          real score0E84#2 = phi(score0E82,score0D6D)
          real _t0E86#1 = Dot<2>(r00B2F,v030AB3);
          real _t0E88#1 = Dot<2>(r10B35,v030AB3);
          real2 _t0E8A#1 = <real2>[_t0E86,_t0E88];
          real2 pos0E8C#2 = Add<real2>(_t0E8A,_t0B45);
          real2 x0E8F#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0E8C);
          bool _t0E8E#1 = Inside<IMAGE2D<float>,2>(x0E8F,_t0AA3);
          if _t0E8E then goto ASSIGN0E95 else goto ASSIGN2123
        ASSIGN0E95:  preds = [COND0E92]
          real2 x0E94#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v030AB3);
          bool _t0E93#1 = Inside<IMAGE2D<int>,2>(x0E94,_t0A9F);
          goto JOIN0E99
        JOIN0E99:  preds = [ASSIGN0E96,ASSIGN2123]
          bool _t0E97#1 = phi(_t0E93,_t0E98)
          if _t0E97 then goto ASSIGN219C else goto JOIN0F9C
        ASSIGN219C:  preds = [COND0E9A]
          real2 nd0E9E#2 = Floor<2>(x0E8F);
          real2 f0E9D#2 = Sub<real2>(x0E8F,nd0E9E);
          int{2} n0E9F#8 = RealToInt<2>(nd0E9E);
          int t10EBB#4 = -1;
          int t20EBC#1 = Index<int{2},0>(n0E9F);
          int ix0EBA#4 = Add<int>(t10EBB,t20EBC);
          int t20EBF#4 = Index<int{2},1>(n0E9F);
          int iy0EBD#1 = Add<int>(t10EBB,t20EBF);
          addr(IMAGE2D<float>) a0EC0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EBD);
          real4 v00EA1#1 = LoadVoxels<IMAGE2D<float>,4>(a0EC0);
          int iy0EB6#1 = Add<int>(_t0B3D,t20EBF);
          addr(IMAGE2D<float>) a0EB9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EB6);
          real4 v10EA2#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB9);
          int iy0EAF#1 = Add<int>(_t0B41,t20EBF);
          addr(IMAGE2D<float>) a0EB2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EAF);
          real4 v20EA3#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB2);
          int iy0EA8#1 = Add<int>(_t0B19,t20EBF);
          addr(IMAGE2D<float>) a0EAB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EA8);
          real4 v30EA4#1 = LoadVoxels<IMAGE2D<float>,4>(a0EAB);
          real fy0ECC#5 = Index<real2,1>(f0E9D);
          real t30ED1#1 = Add<real>(fy0ECC,_t0B15);
          real t10ECF#1 = Sub<real>(fy0ECC,_t0B15);
          real t00ECE#1 = Sub<real>(fy0ECC,_t0B17);
          real4 a0ECD#1 = <real4>[t30ED1,fy0ECC,t10ECF,t00ECE];
          real4 hy0EC2#1 = EvalKernel<4,bspln3,0>(a0ECD);
          real fx0EC3#5 = Index<real2,0>(f0E9D);
          real t30EC8#1 = Add<real>(fx0EC3,_t0B15);
          real t10EC6#1 = Sub<real>(fx0EC3,_t0B15);
          real t00EC5#1 = Sub<real>(fx0EC3,_t0B17);
          real4 a0EC4#1 = <real4>[t30EC8,fx0EC3,t10EC6,t00EC5];
          real4 hx0EC1#4 = EvalKernel<4,bspln3,0>(a0EC4);
          real t00ED6#1 = Dot<4>(v00EA1,hx0EC1);
          real t10ED7#1 = Dot<4>(v10EA2,hx0EC1);
          real t20ED8#1 = Dot<4>(v20EA3,hx0EC1);
          real t30ED9#1 = Dot<4>(v30EA4,hx0EC1);
          real4 tv0ED5#1 = <real4>[t00ED6,t10ED7,t20ED8,t30ED9];
          real _t0E9B#1 = Dot<4>(hy0EC2,tv0ED5);
          real2 x0F19#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v030AB3);
          real2 nd0F1B#2 = Floor<2>(x0F19);
          real2 f0F1A#2 = Sub<real2>(x0F19,nd0F1B);
          int{2} n0F1C#8 = RealToInt<2>(nd0F1B);
          int t20F39#1 = Index<int{2},0>(n0F1C);
          int ix0F37#4 = Add<int>(t10EBB,t20F39);
          int t20F3C#4 = Index<int{2},1>(n0F1C);
          int iy0F3A#1 = Add<int>(t10EBB,t20F3C);
          addr(IMAGE2D<int>) a0F3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F3A);
          real4 v00F1E#1 = LoadVoxels<IMAGE2D<int>,4>(a0F3D);
          int iy0F33#1 = Add<int>(_t0B3D,t20F3C);
          addr(IMAGE2D<int>) a0F36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F33);
          real4 v10F1F#1 = LoadVoxels<IMAGE2D<int>,4>(a0F36);
          int iy0F2C#1 = Add<int>(_t0B41,t20F3C);
          addr(IMAGE2D<int>) a0F2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F2C);
          real4 v20F20#1 = LoadVoxels<IMAGE2D<int>,4>(a0F2F);
          int iy0F25#1 = Add<int>(_t0B19,t20F3C);
          addr(IMAGE2D<int>) a0F28#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F25);
          real4 v30F21#1 = LoadVoxels<IMAGE2D<int>,4>(a0F28);
          real fy0F49#5 = Index<real2,1>(f0F1A);
          real t30F4E#1 = Add<real>(fy0F49,_t0B15);
          real t10F4C#1 = Sub<real>(fy0F49,_t0B15);
          real t00F4B#1 = Sub<real>(fy0F49,_t0B17);
          real4 a0F4A#1 = <real4>[t30F4E,fy0F49,t10F4C,t00F4B];
          real4 hy0F3F#1 = EvalKernel<4,bspln3,0>(a0F4A);
          real fx0F40#5 = Index<real2,0>(f0F1A);
          real t30F45#1 = Add<real>(fx0F40,_t0B15);
          real t10F43#1 = Sub<real>(fx0F40,_t0B15);
          real t00F42#1 = Sub<real>(fx0F40,_t0B17);
          real4 a0F41#1 = <real4>[t30F45,fx0F40,t10F43,t00F42];
          real4 hx0F3E#4 = EvalKernel<4,bspln3,0>(a0F41);
          real t00F53#1 = Dot<4>(v00F1E,hx0F3E);
          real t10F54#1 = Dot<4>(v10F1F,hx0F3E);
          real t20F55#1 = Dot<4>(v20F20,hx0F3E);
          real t30F56#1 = Dot<4>(v30F21,hx0F3E);
          real4 tv0F52#1 = <real4>[t00F53,t10F54,t20F55,t30F56];
          real _t0F18#1 = Dot<4>(hy0F3F,tv0F52);
          real _t0F95#2 = Sub<real>(_t0E9B,_t0F18);
          real _t0F97#1 = Mul<real>(_t0F95,_t0F95);
          real score0F99#1 = Add<real>(score0E84,_t0F97);
          goto JOIN0F9C
        JOIN0F9C:  preds = [ASSIGN0F9A,COND0E9A]
          real score0F9B#2 = phi(score0F99,score0E84)
          real _t0F9D#1 = Dot<2>(r00B2F,v040AB7);
          real _t0F9F#1 = Dot<2>(r10B35,v040AB7);
          real2 _t0FA1#1 = <real2>[_t0F9D,_t0F9F];
          real2 pos0FA3#2 = Add<real2>(_t0FA1,_t0B45);
          real2 x0FA6#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0FA3);
          bool _t0FA5#1 = Inside<IMAGE2D<float>,2>(x0FA6,_t0AA3);
          if _t0FA5 then goto ASSIGN0FAC else goto ASSIGN2122
        ASSIGN0FAC:  preds = [COND0FA9]
          real2 x0FAB#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v040AB7);
          bool _t0FAA#1 = Inside<IMAGE2D<int>,2>(x0FAB,_t0A9F);
          goto JOIN0FB0
        JOIN0FB0:  preds = [ASSIGN0FAD,ASSIGN2122]
          bool _t0FAE#1 = phi(_t0FAA,_t0FAF)
          if _t0FAE then goto ASSIGN21BD else goto JOIN10B3
        ASSIGN21BD:  preds = [COND0FB1]
          real2 nd0FB5#2 = Floor<2>(x0FA6);
          real2 f0FB4#2 = Sub<real2>(x0FA6,nd0FB5);
          int{2} n0FB6#8 = RealToInt<2>(nd0FB5);
          int t10FD2#4 = -1;
          int t20FD3#1 = Index<int{2},0>(n0FB6);
          int ix0FD1#4 = Add<int>(t10FD2,t20FD3);
          int t20FD6#4 = Index<int{2},1>(n0FB6);
          int iy0FD4#1 = Add<int>(t10FD2,t20FD6);
          addr(IMAGE2D<float>) a0FD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FD4);
          real4 v00FB8#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD7);
          int iy0FCD#1 = Add<int>(_t0B3D,t20FD6);
          addr(IMAGE2D<float>) a0FD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FCD);
          real4 v10FB9#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD0);
          int iy0FC6#1 = Add<int>(_t0B41,t20FD6);
          addr(IMAGE2D<float>) a0FC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FC6);
          real4 v20FBA#1 = LoadVoxels<IMAGE2D<float>,4>(a0FC9);
          int iy0FBF#1 = Add<int>(_t0B19,t20FD6);
          addr(IMAGE2D<float>) a0FC2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FBF);
          real4 v30FBB#1 = LoadVoxels<IMAGE2D<float>,4>(a0FC2);
          real fy0FE3#5 = Index<real2,1>(f0FB4);
          real t30FE8#1 = Add<real>(fy0FE3,_t0B15);
          real t10FE6#1 = Sub<real>(fy0FE3,_t0B15);
          real t00FE5#1 = Sub<real>(fy0FE3,_t0B17);
          real4 a0FE4#1 = <real4>[t30FE8,fy0FE3,t10FE6,t00FE5];
          real4 hy0FD9#1 = EvalKernel<4,bspln3,0>(a0FE4);
          real fx0FDA#5 = Index<real2,0>(f0FB4);
          real t30FDF#1 = Add<real>(fx0FDA,_t0B15);
          real t10FDD#1 = Sub<real>(fx0FDA,_t0B15);
          real t00FDC#1 = Sub<real>(fx0FDA,_t0B17);
          real4 a0FDB#1 = <real4>[t30FDF,fx0FDA,t10FDD,t00FDC];
          real4 hx0FD8#4 = EvalKernel<4,bspln3,0>(a0FDB);
          real t00FED#1 = Dot<4>(v00FB8,hx0FD8);
          real t10FEE#1 = Dot<4>(v10FB9,hx0FD8);
          real t20FEF#1 = Dot<4>(v20FBA,hx0FD8);
          real t30FF0#1 = Dot<4>(v30FBB,hx0FD8);
          real4 tv0FEC#1 = <real4>[t00FED,t10FEE,t20FEF,t30FF0];
          real _t0FB2#1 = Dot<4>(hy0FD9,tv0FEC);
          real2 x1030#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v040AB7);
          real2 nd1032#2 = Floor<2>(x1030);
          real2 f1031#2 = Sub<real2>(x1030,nd1032);
          int{2} n1033#8 = RealToInt<2>(nd1032);
          int t21050#1 = Index<int{2},0>(n1033);
          int ix104E#4 = Add<int>(t10FD2,t21050);
          int t21053#4 = Index<int{2},1>(n1033);
          int iy1051#1 = Add<int>(t10FD2,t21053);
          addr(IMAGE2D<int>) a1054#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy1051);
          real4 v01035#1 = LoadVoxels<IMAGE2D<int>,4>(a1054);
          int iy104A#1 = Add<int>(_t0B3D,t21053);
          addr(IMAGE2D<int>) a104D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy104A);
          real4 v11036#1 = LoadVoxels<IMAGE2D<int>,4>(a104D);
          int iy1043#1 = Add<int>(_t0B41,t21053);
          addr(IMAGE2D<int>) a1046#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy1043);
          real4 v21037#1 = LoadVoxels<IMAGE2D<int>,4>(a1046);
          int iy103C#1 = Add<int>(_t0B19,t21053);
          addr(IMAGE2D<int>) a103F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy103C);
          real4 v31038#1 = LoadVoxels<IMAGE2D<int>,4>(a103F);
          real fy1060#5 = Index<real2,1>(f1031);
          real t31065#1 = Add<real>(fy1060,_t0B15);
          real t11063#1 = Sub<real>(fy1060,_t0B15);
          real t01062#1 = Sub<real>(fy1060,_t0B17);
          real4 a1061#1 = <real4>[t31065,fy1060,t11063,t01062];
          real4 hy1056#1 = EvalKernel<4,bspln3,0>(a1061);
          real fx1057#5 = Index<real2,0>(f1031);
          real t3105C#1 = Add<real>(fx1057,_t0B15);
          real t1105A#1 = Sub<real>(fx1057,_t0B15);
          real t01059#1 = Sub<real>(fx1057,_t0B17);
          real4 a1058#1 = <real4>[t3105C,fx1057,t1105A,t01059];
          real4 hx1055#4 = EvalKernel<4,bspln3,0>(a1058);
          real t0106A#1 = Dot<4>(v01035,hx1055);
          real t1106B#1 = Dot<4>(v11036,hx1055);
          real t2106C#1 = Dot<4>(v21037,hx1055);
          real t3106D#1 = Dot<4>(v31038,hx1055);
          real4 tv1069#1 = <real4>[t0106A,t1106B,t2106C,t3106D];
          real _t102F#1 = Dot<4>(hy1056,tv1069);
          real _t10AC#2 = Sub<real>(_t0FB2,_t102F);
          real _t10AE#1 = Mul<real>(_t10AC,_t10AC);
          real score10B0#1 = Add<real>(score0F9B,_t10AE);
          goto JOIN10B3
        JOIN10B3:  preds = [ASSIGN10B1,COND0FB1]
          real score10B2#2 = phi(score10B0,score0F9B)
          real _t10B4#1 = Dot<2>(r00B2F,v050AB9);
          real _t10B6#1 = Dot<2>(r10B35,v050AB9);
          real2 _t10B8#1 = <real2>[_t10B4,_t10B6];
          real2 pos10BA#2 = Add<real2>(_t10B8,_t0B45);
          real2 x10BD#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos10BA);
          bool _t10BC#1 = Inside<IMAGE2D<float>,2>(x10BD,_t0AA3);
          if _t10BC then goto ASSIGN10C3 else goto ASSIGN2121
        ASSIGN10C3:  preds = [COND10C0]
          real2 x10C2#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v050AB9);
          bool _t10C1#1 = Inside<IMAGE2D<int>,2>(x10C2,_t0A9F);
          goto JOIN10C7
        JOIN10C7:  preds = [ASSIGN10C4,ASSIGN2121]
          bool _t10C5#1 = phi(_t10C1,_t10C6)
          if _t10C5 then goto ASSIGN21DE else goto JOIN11CA
        ASSIGN21DE:  preds = [COND10C8]
          real2 nd10CC#2 = Floor<2>(x10BD);
          real2 f10CB#2 = Sub<real2>(x10BD,nd10CC);
          int{2} n10CD#8 = RealToInt<2>(nd10CC);
          int t110E9#4 = -1;
          int t210EA#1 = Index<int{2},0>(n10CD);
          int ix10E8#4 = Add<int>(t110E9,t210EA);
          int t210ED#4 = Index<int{2},1>(n10CD);
          int iy10EB#1 = Add<int>(t110E9,t210ED);
          addr(IMAGE2D<float>) a10EE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10EB);
          real4 v010CF#1 = LoadVoxels<IMAGE2D<float>,4>(a10EE);
          int iy10E4#1 = Add<int>(_t0B3D,t210ED);
          addr(IMAGE2D<float>) a10E7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10E4);
          real4 v110D0#1 = LoadVoxels<IMAGE2D<float>,4>(a10E7);
          int iy10DD#1 = Add<int>(_t0B41,t210ED);
          addr(IMAGE2D<float>) a10E0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10DD);
          real4 v210D1#1 = LoadVoxels<IMAGE2D<float>,4>(a10E0);
          int iy10D6#1 = Add<int>(_t0B19,t210ED);
          addr(IMAGE2D<float>) a10D9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10D6);
          real4 v310D2#1 = LoadVoxels<IMAGE2D<float>,4>(a10D9);
          real fy10FA#5 = Index<real2,1>(f10CB);
          real t310FF#1 = Add<real>(fy10FA,_t0B15);
          real t110FD#1 = Sub<real>(fy10FA,_t0B15);
          real t010FC#1 = Sub<real>(fy10FA,_t0B17);
          real4 a10FB#1 = <real4>[t310FF,fy10FA,t110FD,t010FC];
          real4 hy10F0#1 = EvalKernel<4,bspln3,0>(a10FB);
          real fx10F1#5 = Index<real2,0>(f10CB);
          real t310F6#1 = Add<real>(fx10F1,_t0B15);
          real t110F4#1 = Sub<real>(fx10F1,_t0B15);
          real t010F3#1 = Sub<real>(fx10F1,_t0B17);
          real4 a10F2#1 = <real4>[t310F6,fx10F1,t110F4,t010F3];
          real4 hx10EF#4 = EvalKernel<4,bspln3,0>(a10F2);
          real t01104#1 = Dot<4>(v010CF,hx10EF);
          real t11105#1 = Dot<4>(v110D0,hx10EF);
          real t21106#1 = Dot<4>(v210D1,hx10EF);
          real t31107#1 = Dot<4>(v310D2,hx10EF);
          real4 tv1103#1 = <real4>[t01104,t11105,t21106,t31107];
          real _t10C9#1 = Dot<4>(hy10F0,tv1103);
          real2 x1147#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v050AB9);
          real2 nd1149#2 = Floor<2>(x1147);
          real2 f1148#2 = Sub<real2>(x1147,nd1149);
          int{2} n114A#8 = RealToInt<2>(nd1149);
          int t21167#1 = Index<int{2},0>(n114A);
          int ix1165#4 = Add<int>(t110E9,t21167);
          int t2116A#4 = Index<int{2},1>(n114A);
          int iy1168#1 = Add<int>(t110E9,t2116A);
          addr(IMAGE2D<int>) a116B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy1168);
          real4 v0114C#1 = LoadVoxels<IMAGE2D<int>,4>(a116B);
          int iy1161#1 = Add<int>(_t0B3D,t2116A);
          addr(IMAGE2D<int>) a1164#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy1161);
          real4 v1114D#1 = LoadVoxels<IMAGE2D<int>,4>(a1164);
          int iy115A#1 = Add<int>(_t0B41,t2116A);
          addr(IMAGE2D<int>) a115D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy115A);
          real4 v2114E#1 = LoadVoxels<IMAGE2D<int>,4>(a115D);
          int iy1153#1 = Add<int>(_t0B19,t2116A);
          addr(IMAGE2D<int>) a1156#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy1153);
          real4 v3114F#1 = LoadVoxels<IMAGE2D<int>,4>(a1156);
          real fy1177#5 = Index<real2,1>(f1148);
          real t3117C#1 = Add<real>(fy1177,_t0B15);
          real t1117A#1 = Sub<real>(fy1177,_t0B15);
          real t01179#1 = Sub<real>(fy1177,_t0B17);
          real4 a1178#1 = <real4>[t3117C,fy1177,t1117A,t01179];
          real4 hy116D#1 = EvalKernel<4,bspln3,0>(a1178);
          real fx116E#5 = Index<real2,0>(f1148);
          real t31173#1 = Add<real>(fx116E,_t0B15);
          real t11171#1 = Sub<real>(fx116E,_t0B15);
          real t01170#1 = Sub<real>(fx116E,_t0B17);
          real4 a116F#1 = <real4>[t31173,fx116E,t11171,t01170];
          real4 hx116C#4 = EvalKernel<4,bspln3,0>(a116F);
          real t01181#1 = Dot<4>(v0114C,hx116C);
          real t11182#1 = Dot<4>(v1114D,hx116C);
          real t21183#1 = Dot<4>(v2114E,hx116C);
          real t31184#1 = Dot<4>(v3114F,hx116C);
          real4 tv1180#1 = <real4>[t01181,t11182,t21183,t31184];
          real _t1146#1 = Dot<4>(hy116D,tv1180);
          real _t11C3#2 = Sub<real>(_t10C9,_t1146);
          real _t11C5#1 = Mul<real>(_t11C3,_t11C3);
          real score11C7#1 = Add<real>(score10B2,_t11C5);
          goto JOIN11CA
        JOIN11CA:  preds = [ASSIGN11C8,COND10C8]
          real score11C9#2 = phi(score11C7,score10B2)
          real _t11CB#1 = Dot<2>(r00B2F,v060ABB);
          real _t11CD#1 = Dot<2>(r10B35,v060ABB);
          real2 _t11CF#1 = <real2>[_t11CB,_t11CD];
          real2 pos11D1#2 = Add<real2>(_t11CF,_t0B45);
          real2 x11D4#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos11D1);
          bool _t11D3#1 = Inside<IMAGE2D<float>,2>(x11D4,_t0AA3);
          if _t11D3 then goto ASSIGN11DA else goto ASSIGN2120
        ASSIGN11DA:  preds = [COND11D7]
          real2 x11D9#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v060ABB);
          bool _t11D8#1 = Inside<IMAGE2D<int>,2>(x11D9,_t0A9F);
          goto JOIN11DE
        JOIN11DE:  preds = [ASSIGN11DB,ASSIGN2120]
          bool _t11DC#1 = phi(_t11D8,_t11DD)
          if _t11DC then goto ASSIGN21FF else goto JOIN12E1
        ASSIGN21FF:  preds = [COND11DF]
          real2 nd11E3#2 = Floor<2>(x11D4);
          real2 f11E2#2 = Sub<real2>(x11D4,nd11E3);
          int{2} n11E4#8 = RealToInt<2>(nd11E3);
          int t11200#4 = -1;
          int t21201#1 = Index<int{2},0>(n11E4);
          int ix11FF#4 = Add<int>(t11200,t21201);
          int t21204#4 = Index<int{2},1>(n11E4);
          int iy1202#1 = Add<int>(t11200,t21204);
          addr(IMAGE2D<float>) a1205#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy1202);
          real4 v011E6#1 = LoadVoxels<IMAGE2D<float>,4>(a1205);
          int iy11FB#1 = Add<int>(_t0B3D,t21204);
          addr(IMAGE2D<float>) a11FE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy11FB);
          real4 v111E7#1 = LoadVoxels<IMAGE2D<float>,4>(a11FE);
          int iy11F4#1 = Add<int>(_t0B41,t21204);
          addr(IMAGE2D<float>) a11F7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy11F4);
          real4 v211E8#1 = LoadVoxels<IMAGE2D<float>,4>(a11F7);
          int iy11ED#1 = Add<int>(_t0B19,t21204);
          addr(IMAGE2D<float>) a11F0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy11ED);
          real4 v311E9#1 = LoadVoxels<IMAGE2D<float>,4>(a11F0);
          real fy1211#5 = Index<real2,1>(f11E2);
          real t31216#1 = Add<real>(fy1211,_t0B15);
          real t11214#1 = Sub<real>(fy1211,_t0B15);
          real t01213#1 = Sub<real>(fy1211,_t0B17);
          real4 a1212#1 = <real4>[t31216,fy1211,t11214,t01213];
          real4 hy1207#1 = EvalKernel<4,bspln3,0>(a1212);
          real fx1208#5 = Index<real2,0>(f11E2);
          real t3120D#1 = Add<real>(fx1208,_t0B15);
          real t1120B#1 = Sub<real>(fx1208,_t0B15);
          real t0120A#1 = Sub<real>(fx1208,_t0B17);
          real4 a1209#1 = <real4>[t3120D,fx1208,t1120B,t0120A];
          real4 hx1206#4 = EvalKernel<4,bspln3,0>(a1209);
          real t0121B#1 = Dot<4>(v011E6,hx1206);
          real t1121C#1 = Dot<4>(v111E7,hx1206);
          real t2121D#1 = Dot<4>(v211E8,hx1206);
          real t3121E#1 = Dot<4>(v311E9,hx1206);
          real4 tv121A#1 = <real4>[t0121B,t1121C,t2121D,t3121E];
          real _t11E0#1 = Dot<4>(hy1207,tv121A);
          real2 x125E#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v060ABB);
          real2 nd1260#2 = Floor<2>(x125E);
          real2 f125F#2 = Sub<real2>(x125E,nd1260);
          int{2} n1261#8 = RealToInt<2>(nd1260);
          int t2127E#1 = Index<int{2},0>(n1261);
          int ix127C#4 = Add<int>(t11200,t2127E);
          int t21281#4 = Index<int{2},1>(n1261);
          int iy127F#1 = Add<int>(t11200,t21281);
          addr(IMAGE2D<int>) a1282#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy127F);
          real4 v01263#1 = LoadVoxels<IMAGE2D<int>,4>(a1282);
          int iy1278#1 = Add<int>(_t0B3D,t21281);
          addr(IMAGE2D<int>) a127B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy1278);
          real4 v11264#1 = LoadVoxels<IMAGE2D<int>,4>(a127B);
          int iy1271#1 = Add<int>(_t0B41,t21281);
          addr(IMAGE2D<int>) a1274#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy1271);
          real4 v21265#1 = LoadVoxels<IMAGE2D<int>,4>(a1274);
          int iy126A#1 = Add<int>(_t0B19,t21281);
          addr(IMAGE2D<int>) a126D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy126A);
          real4 v31266#1 = LoadVoxels<IMAGE2D<int>,4>(a126D);
          real fy128E#5 = Index<real2,1>(f125F);
          real t31293#1 = Add<real>(fy128E,_t0B15);
          real t11291#1 = Sub<real>(fy128E,_t0B15);
          real t01290#1 = Sub<real>(fy128E,_t0B17);
          real4 a128F#1 = <real4>[t31293,fy128E,t11291,t01290];
          real4 hy1284#1 = EvalKernel<4,bspln3,0>(a128F);
          real fx1285#5 = Index<real2,0>(f125F);
          real t3128A#1 = Add<real>(fx1285,_t0B15);
          real t11288#1 = Sub<real>(fx1285,_t0B15);
          real t01287#1 = Sub<real>(fx1285,_t0B17);
          real4 a1286#1 = <real4>[t3128A,fx1285,t11288,t01287];
          real4 hx1283#4 = EvalKernel<4,bspln3,0>(a1286);
          real t01298#1 = Dot<4>(v01263,hx1283);
          real t11299#1 = Dot<4>(v11264,hx1283);
          real t2129A#1 = Dot<4>(v21265,hx1283);
          real t3129B#1 = Dot<4>(v31266,hx1283);
          real4 tv1297#1 = <real4>[t01298,t11299,t2129A,t3129B];
          real _t125D#1 = Dot<4>(hy1284,tv1297);
          real _t12DA#2 = Sub<real>(_t11E0,_t125D);
          real _t12DC#1 = Mul<real>(_t12DA,_t12DA);
          real score12DE#1 = Add<real>(score11C9,_t12DC);
          goto JOIN12E1
        JOIN12E1:  preds = [ASSIGN12DF,COND11DF]
          real score12E0#2 = phi(score12DE,score11C9)
          real _t12E2#1 = Dot<2>(r00B2F,v070ABD);
          real _t12E4#1 = Dot<2>(r10B35,v070ABD);
          real2 _t12E6#1 = <real2>[_t12E2,_t12E4];
          real2 pos12E8#2 = Add<real2>(_t12E6,_t0B45);
          real2 x12EB#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos12E8);
          bool _t12EA#1 = Inside<IMAGE2D<float>,2>(x12EB,_t0AA3);
          if _t12EA then goto ASSIGN12F1 else goto ASSIGN211F
        ASSIGN12F1:  preds = [COND12EE]
          real2 x12F0#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v070ABD);
          bool _t12EF#1 = Inside<IMAGE2D<int>,2>(x12F0,_t0A9F);
          goto JOIN12F5
        JOIN12F5:  preds = [ASSIGN12F2,ASSIGN211F]
          bool _t12F3#1 = phi(_t12EF,_t12F4)
          if _t12F3 then goto ASSIGN2220 else goto JOIN13F8
        ASSIGN2220:  preds = [COND12F6]
          real2 nd12FA#2 = Floor<2>(x12EB);
          real2 f12F9#2 = Sub<real2>(x12EB,nd12FA);
          int{2} n12FB#8 = RealToInt<2>(nd12FA);
          int t11317#4 = -1;
          int t21318#1 = Index<int{2},0>(n12FB);
          int ix1316#4 = Add<int>(t11317,t21318);
          int t2131B#4 = Index<int{2},1>(n12FB);
          int iy1319#1 = Add<int>(t11317,t2131B);
          addr(IMAGE2D<float>) a131C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy1319);
          real4 v012FD#1 = LoadVoxels<IMAGE2D<float>,4>(a131C);
          int iy1312#1 = Add<int>(_t0B3D,t2131B);
          addr(IMAGE2D<float>) a1315#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy1312);
          real4 v112FE#1 = LoadVoxels<IMAGE2D<float>,4>(a1315);
          int iy130B#1 = Add<int>(_t0B41,t2131B);
          addr(IMAGE2D<float>) a130E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy130B);
          real4 v212FF#1 = LoadVoxels<IMAGE2D<float>,4>(a130E);
          int iy1304#1 = Add<int>(_t0B19,t2131B);
          addr(IMAGE2D<float>) a1307#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy1304);
          real4 v31300#1 = LoadVoxels<IMAGE2D<float>,4>(a1307);
          real fy1328#5 = Index<real2,1>(f12F9);
          real t3132D#1 = Add<real>(fy1328,_t0B15);
          real t1132B#1 = Sub<real>(fy1328,_t0B15);
          real t0132A#1 = Sub<real>(fy1328,_t0B17);
          real4 a1329#1 = <real4>[t3132D,fy1328,t1132B,t0132A];
          real4 hy131E#1 = EvalKernel<4,bspln3,0>(a1329);
          real fx131F#5 = Index<real2,0>(f12F9);
          real t31324#1 = Add<real>(fx131F,_t0B15);
          real t11322#1 = Sub<real>(fx131F,_t0B15);
          real t01321#1 = Sub<real>(fx131F,_t0B17);
          real4 a1320#1 = <real4>[t31324,fx131F,t11322,t01321];
          real4 hx131D#4 = EvalKernel<4,bspln3,0>(a1320);
          real t01332#1 = Dot<4>(v012FD,hx131D);
          real t11333#1 = Dot<4>(v112FE,hx131D);
          real t21334#1 = Dot<4>(v212FF,hx131D);
          real t31335#1 = Dot<4>(v31300,hx131D);
          real4 tv1331#1 = <real4>[t01332,t11333,t21334,t31335];
          real _t12F7#1 = Dot<4>(hy131E,tv1331);
          real2 x1375#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v070ABD);
          real2 nd1377#2 = Floor<2>(x1375);
          real2 f1376#2 = Sub<real2>(x1375,nd1377);
          int{2} n1378#8 = RealToInt<2>(nd1377);
          int t21395#1 = Index<int{2},0>(n1378);
          int ix1393#4 = Add<int>(t11317,t21395);
          int t21398#4 = Index<int{2},1>(n1378);
          int iy1396#1 = Add<int>(t11317,t21398);
          addr(IMAGE2D<int>) a1399#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy1396);
          real4 v0137A#1 = LoadVoxels<IMAGE2D<int>,4>(a1399);
          int iy138F#1 = Add<int>(_t0B3D,t21398);
          addr(IMAGE2D<int>) a1392#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy138F);
          real4 v1137B#1 = LoadVoxels<IMAGE2D<int>,4>(a1392);
          int iy1388#1 = Add<int>(_t0B41,t21398);
          addr(IMAGE2D<int>) a138B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy1388);
          real4 v2137C#1 = LoadVoxels<IMAGE2D<int>,4>(a138B);
          int iy1381#1 = Add<int>(_t0B19,t21398);
          addr(IMAGE2D<int>) a1384#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy1381);
          real4 v3137D#1 = LoadVoxels<IMAGE2D<int>,4>(a1384);
          real fy13A5#5 = Index<real2,1>(f1376);
          real t313AA#1 = Add<real>(fy13A5,_t0B15);
          real t113A8#1 = Sub<real>(fy13A5,_t0B15);
          real t013A7#1 = Sub<real>(fy13A5,_t0B17);
          real4 a13A6#1 = <real4>[t313AA,fy13A5,t113A8,t013A7];
          real4 hy139B#1 = EvalKernel<4,bspln3,0>(a13A6);
          real fx139C#5 = Index<real2,0>(f1376);
          real t313A1#1 = Add<real>(fx139C,_t0B15);
          real t1139F#1 = Sub<real>(fx139C,_t0B15);
          real t0139E#1 = Sub<real>(fx139C,_t0B17);
          real4 a139D#1 = <real4>[t313A1,fx139C,t1139F,t0139E];
          real4 hx139A#4 = EvalKernel<4,bspln3,0>(a139D);
          real t013AF#1 = Dot<4>(v0137A,hx139A);
          real t113B0#1 = Dot<4>(v1137B,hx139A);
          real t213B1#1 = Dot<4>(v2137C,hx139A);
          real t313B2#1 = Dot<4>(v3137D,hx139A);
          real4 tv13AE#1 = <real4>[t013AF,t113B0,t213B1,t313B2];
          real _t1374#1 = Dot<4>(hy139B,tv13AE);
          real _t13F1#2 = Sub<real>(_t12F7,_t1374);
          real _t13F3#1 = Mul<real>(_t13F1,_t13F1);
          real score13F5#1 = Add<real>(score12E0,_t13F3);
          goto JOIN13F8
        JOIN13F8:  preds = [ASSIGN13F6,COND12F6]
          real score13F7#2 = phi(score13F5,score12E0)
          real _t13F9#1 = Dot<2>(r00B2F,v080ABF);
          real _t13FB#1 = Dot<2>(r10B35,v080ABF);
          real2 _t13FD#1 = <real2>[_t13F9,_t13FB];
          real2 pos13FF#2 = Add<real2>(_t13FD,_t0B45);
          real2 x1402#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos13FF);
          bool _t1401#1 = Inside<IMAGE2D<float>,2>(x1402,_t0AA3);
          if _t1401 then goto ASSIGN1408 else goto ASSIGN211E
        ASSIGN1408:  preds = [COND1405]
          real2 x1407#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v080ABF);
          bool _t1406#1 = Inside<IMAGE2D<int>,2>(x1407,_t0A9F);
          goto JOIN140C
        JOIN140C:  preds = [ASSIGN1409,ASSIGN211E]
          bool _t140A#1 = phi(_t1406,_t140B)
          if _t140A then goto ASSIGN2241 else goto JOIN150F
        ASSIGN2241:  preds = [COND140D]
          real2 nd1411#2 = Floor<2>(x1402);
          real2 f1410#2 = Sub<real2>(x1402,nd1411);
          int{2} n1412#8 = RealToInt<2>(nd1411);
          int t1142E#4 = -1;
          int t2142F#1 = Index<int{2},0>(n1412);
          int ix142D#4 = Add<int>(t1142E,t2142F);
          int t21432#4 = Index<int{2},1>(n1412);
          int iy1430#1 = Add<int>(t1142E,t21432);
          addr(IMAGE2D<float>) a1433#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy1430);
          real4 v01414#1 = LoadVoxels<IMAGE2D<float>,4>(a1433);
          int iy1429#1 = Add<int>(_t0B3D,t21432);
          addr(IMAGE2D<float>) a142C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy1429);
          real4 v11415#1 = LoadVoxels<IMAGE2D<float>,4>(a142C);
          int iy1422#1 = Add<int>(_t0B41,t21432);
          addr(IMAGE2D<float>) a1425#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy1422);
          real4 v21416#1 = LoadVoxels<IMAGE2D<float>,4>(a1425);
          int iy141B#1 = Add<int>(_t0B19,t21432);
          addr(IMAGE2D<float>) a141E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy141B);
          real4 v31417#1 = LoadVoxels<IMAGE2D<float>,4>(a141E);
          real fy143F#5 = Index<real2,1>(f1410);
          real t31444#1 = Add<real>(fy143F,_t0B15);
          real t11442#1 = Sub<real>(fy143F,_t0B15);
          real t01441#1 = Sub<real>(fy143F,_t0B17);
          real4 a1440#1 = <real4>[t31444,fy143F,t11442,t01441];
          real4 hy1435#1 = EvalKernel<4,bspln3,0>(a1440);
          real fx1436#5 = Index<real2,0>(f1410);
          real t3143B#1 = Add<real>(fx1436,_t0B15);
          real t11439#1 = Sub<real>(fx1436,_t0B15);
          real t01438#1 = Sub<real>(fx1436,_t0B17);
          real4 a1437#1 = <real4>[t3143B,fx1436,t11439,t01438];
          real4 hx1434#4 = EvalKernel<4,bspln3,0>(a1437);
          real t01449#1 = Dot<4>(v01414,hx1434);
          real t1144A#1 = Dot<4>(v11415,hx1434);
          real t2144B#1 = Dot<4>(v21416,hx1434);
          real t3144C#1 = Dot<4>(v31417,hx1434);
          real4 tv1448#1 = <real4>[t01449,t1144A,t2144B,t3144C];
          real _t140E#1 = Dot<4>(hy1435,tv1448);
          real2 x148C#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v080ABF);
          real2 nd148E#2 = Floor<2>(x148C);
          real2 f148D#2 = Sub<real2>(x148C,nd148E);
          int{2} n148F#8 = RealToInt<2>(nd148E);
          int t214AC#1 = Index<int{2},0>(n148F);
          int ix14AA#4 = Add<int>(t1142E,t214AC);
          int t214AF#4 = Index<int{2},1>(n148F);
          int iy14AD#1 = Add<int>(t1142E,t214AF);
          addr(IMAGE2D<int>) a14B0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy14AD);
          real4 v01491#1 = LoadVoxels<IMAGE2D<int>,4>(a14B0);
          int iy14A6#1 = Add<int>(_t0B3D,t214AF);
          addr(IMAGE2D<int>) a14A9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy14A6);
          real4 v11492#1 = LoadVoxels<IMAGE2D<int>,4>(a14A9);
          int iy149F#1 = Add<int>(_t0B41,t214AF);
          addr(IMAGE2D<int>) a14A2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy149F);
          real4 v21493#1 = LoadVoxels<IMAGE2D<int>,4>(a14A2);
          int iy1498#1 = Add<int>(_t0B19,t214AF);
          addr(IMAGE2D<int>) a149B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy1498);
          real4 v31494#1 = LoadVoxels<IMAGE2D<int>,4>(a149B);
          real fy14BC#5 = Index<real2,1>(f148D);
          real t314C1#1 = Add<real>(fy14BC,_t0B15);
          real t114BF#1 = Sub<real>(fy14BC,_t0B15);
          real t014BE#1 = Sub<real>(fy14BC,_t0B17);
          real4 a14BD#1 = <real4>[t314C1,fy14BC,t114BF,t014BE];
          real4 hy14B2#1 = EvalKernel<4,bspln3,0>(a14BD);
          real fx14B3#5 = Index<real2,0>(f148D);
          real t314B8#1 = Add<real>(fx14B3,_t0B15);
          real t114B6#1 = Sub<real>(fx14B3,_t0B15);
          real t014B5#1 = Sub<real>(fx14B3,_t0B17);
          real4 a14B4#1 = <real4>[t314B8,fx14B3,t114B6,t014B5];
          real4 hx14B1#4 = EvalKernel<4,bspln3,0>(a14B4);
          real t014C6#1 = Dot<4>(v01491,hx14B1);
          real t114C7#1 = Dot<4>(v11492,hx14B1);
          real t214C8#1 = Dot<4>(v21493,hx14B1);
          real t314C9#1 = Dot<4>(v31494,hx14B1);
          real4 tv14C5#1 = <real4>[t014C6,t114C7,t214C8,t314C9];
          real _t148B#1 = Dot<4>(hy14B2,tv14C5);
          real _t1508#2 = Sub<real>(_t140E,_t148B);
          real _t150A#1 = Mul<real>(_t1508,_t1508);
          real score150C#1 = Add<real>(score13F7,_t150A);
          goto JOIN150F
        JOIN150F:  preds = [ASSIGN150D,COND140D]
          real score150E#2 = phi(score150C,score13F7)
          real _t1510#1 = Dot<2>(r00B2F,v090AC1);
          real _t1512#1 = Dot<2>(r10B35,v090AC1);
          real2 _t1514#1 = <real2>[_t1510,_t1512];
          real2 pos1516#2 = Add<real2>(_t1514,_t0B45);
          real2 x1519#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1516);
          bool _t1518#1 = Inside<IMAGE2D<float>,2>(x1519,_t0AA3);
          if _t1518 then goto ASSIGN151F else goto ASSIGN211D
        ASSIGN151F:  preds = [COND151C]
          real2 x151E#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v090AC1);
          bool _t151D#1 = Inside<IMAGE2D<int>,2>(x151E,_t0A9F);
          goto JOIN1523
        JOIN1523:  preds = [ASSIGN1520,ASSIGN211D]
          bool _t1521#1 = phi(_t151D,_t1522)
          if _t1521 then goto ASSIGN2262 else goto JOIN1626
        ASSIGN2262:  preds = [COND1524]
          real2 nd1528#2 = Floor<2>(x1519);
          real2 f1527#2 = Sub<real2>(x1519,nd1528);
          int{2} n1529#8 = RealToInt<2>(nd1528);
          int t11545#4 = -1;
          int t21546#1 = Index<int{2},0>(n1529);
          int ix1544#4 = Add<int>(t11545,t21546);
          int t21549#4 = Index<int{2},1>(n1529);
          int iy1547#1 = Add<int>(t11545,t21549);
          addr(IMAGE2D<float>) a154A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1547);
          real4 v0152B#1 = LoadVoxels<IMAGE2D<float>,4>(a154A);
          int iy1540#1 = Add<int>(_t0B3D,t21549);
          addr(IMAGE2D<float>) a1543#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1540);
          real4 v1152C#1 = LoadVoxels<IMAGE2D<float>,4>(a1543);
          int iy1539#1 = Add<int>(_t0B41,t21549);
          addr(IMAGE2D<float>) a153C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1539);
          real4 v2152D#1 = LoadVoxels<IMAGE2D<float>,4>(a153C);
          int iy1532#1 = Add<int>(_t0B19,t21549);
          addr(IMAGE2D<float>) a1535#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1532);
          real4 v3152E#1 = LoadVoxels<IMAGE2D<float>,4>(a1535);
          real fy1556#5 = Index<real2,1>(f1527);
          real t3155B#1 = Add<real>(fy1556,_t0B15);
          real t11559#1 = Sub<real>(fy1556,_t0B15);
          real t01558#1 = Sub<real>(fy1556,_t0B17);
          real4 a1557#1 = <real4>[t3155B,fy1556,t11559,t01558];
          real4 hy154C#1 = EvalKernel<4,bspln3,0>(a1557);
          real fx154D#5 = Index<real2,0>(f1527);
          real t31552#1 = Add<real>(fx154D,_t0B15);
          real t11550#1 = Sub<real>(fx154D,_t0B15);
          real t0154F#1 = Sub<real>(fx154D,_t0B17);
          real4 a154E#1 = <real4>[t31552,fx154D,t11550,t0154F];
          real4 hx154B#4 = EvalKernel<4,bspln3,0>(a154E);
          real t01560#1 = Dot<4>(v0152B,hx154B);
          real t11561#1 = Dot<4>(v1152C,hx154B);
          real t21562#1 = Dot<4>(v2152D,hx154B);
          real t31563#1 = Dot<4>(v3152E,hx154B);
          real4 tv155F#1 = <real4>[t01560,t11561,t21562,t31563];
          real _t1525#1 = Dot<4>(hy154C,tv155F);
          real2 x15A3#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v090AC1);
          real2 nd15A5#2 = Floor<2>(x15A3);
          real2 f15A4#2 = Sub<real2>(x15A3,nd15A5);
          int{2} n15A6#8 = RealToInt<2>(nd15A5);
          int t215C3#1 = Index<int{2},0>(n15A6);
          int ix15C1#4 = Add<int>(t11545,t215C3);
          int t215C6#4 = Index<int{2},1>(n15A6);
          int iy15C4#1 = Add<int>(t11545,t215C6);
          addr(IMAGE2D<int>) a15C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15C4);
          real4 v015A8#1 = LoadVoxels<IMAGE2D<int>,4>(a15C7);
          int iy15BD#1 = Add<int>(_t0B3D,t215C6);
          addr(IMAGE2D<int>) a15C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15BD);
          real4 v115A9#1 = LoadVoxels<IMAGE2D<int>,4>(a15C0);
          int iy15B6#1 = Add<int>(_t0B41,t215C6);
          addr(IMAGE2D<int>) a15B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15B6);
          real4 v215AA#1 = LoadVoxels<IMAGE2D<int>,4>(a15B9);
          int iy15AF#1 = Add<int>(_t0B19,t215C6);
          addr(IMAGE2D<int>) a15B2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15AF);
          real4 v315AB#1 = LoadVoxels<IMAGE2D<int>,4>(a15B2);
          real fy15D3#5 = Index<real2,1>(f15A4);
          real t315D8#1 = Add<real>(fy15D3,_t0B15);
          real t115D6#1 = Sub<real>(fy15D3,_t0B15);
          real t015D5#1 = Sub<real>(fy15D3,_t0B17);
          real4 a15D4#1 = <real4>[t315D8,fy15D3,t115D6,t015D5];
          real4 hy15C9#1 = EvalKernel<4,bspln3,0>(a15D4);
          real fx15CA#5 = Index<real2,0>(f15A4);
          real t315CF#1 = Add<real>(fx15CA,_t0B15);
          real t115CD#1 = Sub<real>(fx15CA,_t0B15);
          real t015CC#1 = Sub<real>(fx15CA,_t0B17);
          real4 a15CB#1 = <real4>[t315CF,fx15CA,t115CD,t015CC];
          real4 hx15C8#4 = EvalKernel<4,bspln3,0>(a15CB);
          real t015DD#1 = Dot<4>(v015A8,hx15C8);
          real t115DE#1 = Dot<4>(v115A9,hx15C8);
          real t215DF#1 = Dot<4>(v215AA,hx15C8);
          real t315E0#1 = Dot<4>(v315AB,hx15C8);
          real4 tv15DC#1 = <real4>[t015DD,t115DE,t215DF,t315E0];
          real _t15A2#1 = Dot<4>(hy15C9,tv15DC);
          real _t161F#2 = Sub<real>(_t1525,_t15A2);
          real _t1621#1 = Mul<real>(_t161F,_t161F);
          real score1623#1 = Add<real>(score150E,_t1621);
          goto JOIN1626
        JOIN1626:  preds = [ASSIGN1624,COND1524]
          real score1625#2 = phi(score1623,score150E)
          real _t1627#1 = Dot<2>(r00B2F,v100AC3);
          real _t1629#1 = Dot<2>(r10B35,v100AC3);
          real2 _t162B#1 = <real2>[_t1627,_t1629];
          real2 pos162D#2 = Add<real2>(_t162B,_t0B45);
          real2 x1630#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos162D);
          bool _t162F#1 = Inside<IMAGE2D<float>,2>(x1630,_t0AA3);
          if _t162F then goto ASSIGN1636 else goto ASSIGN211C
        ASSIGN1636:  preds = [COND1633]
          real2 x1635#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v100AC3);
          bool _t1634#1 = Inside<IMAGE2D<int>,2>(x1635,_t0A9F);
          goto JOIN163A
        JOIN163A:  preds = [ASSIGN1637,ASSIGN211C]
          bool _t1638#1 = phi(_t1634,_t1639)
          if _t1638 then goto ASSIGN2283 else goto JOIN173D
        ASSIGN2283:  preds = [COND163B]
          real2 nd163F#2 = Floor<2>(x1630);
          real2 f163E#2 = Sub<real2>(x1630,nd163F);
          int{2} n1640#8 = RealToInt<2>(nd163F);
          int t1165C#4 = -1;
          int t2165D#1 = Index<int{2},0>(n1640);
          int ix165B#4 = Add<int>(t1165C,t2165D);
          int t21660#4 = Index<int{2},1>(n1640);
          int iy165E#1 = Add<int>(t1165C,t21660);
          addr(IMAGE2D<float>) a1661#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy165E);
          real4 v01642#1 = LoadVoxels<IMAGE2D<float>,4>(a1661);
          int iy1657#1 = Add<int>(_t0B3D,t21660);
          addr(IMAGE2D<float>) a165A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy1657);
          real4 v11643#1 = LoadVoxels<IMAGE2D<float>,4>(a165A);
          int iy1650#1 = Add<int>(_t0B41,t21660);
          addr(IMAGE2D<float>) a1653#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy1650);
          real4 v21644#1 = LoadVoxels<IMAGE2D<float>,4>(a1653);
          int iy1649#1 = Add<int>(_t0B19,t21660);
          addr(IMAGE2D<float>) a164C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy1649);
          real4 v31645#1 = LoadVoxels<IMAGE2D<float>,4>(a164C);
          real fy166D#5 = Index<real2,1>(f163E);
          real t31672#1 = Add<real>(fy166D,_t0B15);
          real t11670#1 = Sub<real>(fy166D,_t0B15);
          real t0166F#1 = Sub<real>(fy166D,_t0B17);
          real4 a166E#1 = <real4>[t31672,fy166D,t11670,t0166F];
          real4 hy1663#1 = EvalKernel<4,bspln3,0>(a166E);
          real fx1664#5 = Index<real2,0>(f163E);
          real t31669#1 = Add<real>(fx1664,_t0B15);
          real t11667#1 = Sub<real>(fx1664,_t0B15);
          real t01666#1 = Sub<real>(fx1664,_t0B17);
          real4 a1665#1 = <real4>[t31669,fx1664,t11667,t01666];
          real4 hx1662#4 = EvalKernel<4,bspln3,0>(a1665);
          real t01677#1 = Dot<4>(v01642,hx1662);
          real t11678#1 = Dot<4>(v11643,hx1662);
          real t21679#1 = Dot<4>(v21644,hx1662);
          real t3167A#1 = Dot<4>(v31645,hx1662);
          real4 tv1676#1 = <real4>[t01677,t11678,t21679,t3167A];
          real _t163C#1 = Dot<4>(hy1663,tv1676);
          real2 x16BA#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v100AC3);
          real2 nd16BC#2 = Floor<2>(x16BA);
          real2 f16BB#2 = Sub<real2>(x16BA,nd16BC);
          int{2} n16BD#8 = RealToInt<2>(nd16BC);
          int t216DA#1 = Index<int{2},0>(n16BD);
          int ix16D8#4 = Add<int>(t1165C,t216DA);
          int t216DD#4 = Index<int{2},1>(n16BD);
          int iy16DB#1 = Add<int>(t1165C,t216DD);
          addr(IMAGE2D<int>) a16DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16DB);
          real4 v016BF#1 = LoadVoxels<IMAGE2D<int>,4>(a16DE);
          int iy16D4#1 = Add<int>(_t0B3D,t216DD);
          addr(IMAGE2D<int>) a16D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16D4);
          real4 v116C0#1 = LoadVoxels<IMAGE2D<int>,4>(a16D7);
          int iy16CD#1 = Add<int>(_t0B41,t216DD);
          addr(IMAGE2D<int>) a16D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16CD);
          real4 v216C1#1 = LoadVoxels<IMAGE2D<int>,4>(a16D0);
          int iy16C6#1 = Add<int>(_t0B19,t216DD);
          addr(IMAGE2D<int>) a16C9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16C6);
          real4 v316C2#1 = LoadVoxels<IMAGE2D<int>,4>(a16C9);
          real fy16EA#5 = Index<real2,1>(f16BB);
          real t316EF#1 = Add<real>(fy16EA,_t0B15);
          real t116ED#1 = Sub<real>(fy16EA,_t0B15);
          real t016EC#1 = Sub<real>(fy16EA,_t0B17);
          real4 a16EB#1 = <real4>[t316EF,fy16EA,t116ED,t016EC];
          real4 hy16E0#1 = EvalKernel<4,bspln3,0>(a16EB);
          real fx16E1#5 = Index<real2,0>(f16BB);
          real t316E6#1 = Add<real>(fx16E1,_t0B15);
          real t116E4#1 = Sub<real>(fx16E1,_t0B15);
          real t016E3#1 = Sub<real>(fx16E1,_t0B17);
          real4 a16E2#1 = <real4>[t316E6,fx16E1,t116E4,t016E3];
          real4 hx16DF#4 = EvalKernel<4,bspln3,0>(a16E2);
          real t016F4#1 = Dot<4>(v016BF,hx16DF);
          real t116F5#1 = Dot<4>(v116C0,hx16DF);
          real t216F6#1 = Dot<4>(v216C1,hx16DF);
          real t316F7#1 = Dot<4>(v316C2,hx16DF);
          real4 tv16F3#1 = <real4>[t016F4,t116F5,t216F6,t316F7];
          real _t16B9#1 = Dot<4>(hy16E0,tv16F3);
          real _t1736#2 = Sub<real>(_t163C,_t16B9);
          real _t1738#1 = Mul<real>(_t1736,_t1736);
          real score173A#1 = Add<real>(score1625,_t1738);
          goto JOIN173D
        JOIN173D:  preds = [ASSIGN173B,COND163B]
          real score173C#2 = phi(score173A,score1625)
          real _t173E#1 = Dot<2>(r00B2F,v110AC5);
          real _t1740#1 = Dot<2>(r10B35,v110AC5);
          real2 _t1742#1 = <real2>[_t173E,_t1740];
          real2 pos1744#2 = Add<real2>(_t1742,_t0B45);
          real2 x1747#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1744);
          bool _t1746#1 = Inside<IMAGE2D<float>,2>(x1747,_t0AA3);
          if _t1746 then goto ASSIGN174D else goto ASSIGN211B
        ASSIGN174D:  preds = [COND174A]
          real2 x174C#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v110AC5);
          bool _t174B#1 = Inside<IMAGE2D<int>,2>(x174C,_t0A9F);
          goto JOIN1751
        JOIN1751:  preds = [ASSIGN174E,ASSIGN211B]
          bool _t174F#1 = phi(_t174B,_t1750)
          if _t174F then goto ASSIGN22A4 else goto JOIN1854
        ASSIGN22A4:  preds = [COND1752]
          real2 nd1756#2 = Floor<2>(x1747);
          real2 f1755#2 = Sub<real2>(x1747,nd1756);
          int{2} n1757#8 = RealToInt<2>(nd1756);
          int t11773#4 = -1;
          int t21774#1 = Index<int{2},0>(n1757);
          int ix1772#4 = Add<int>(t11773,t21774);
          int t21777#4 = Index<int{2},1>(n1757);
          int iy1775#1 = Add<int>(t11773,t21777);
          addr(IMAGE2D<float>) a1778#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy1775);
          real4 v01759#1 = LoadVoxels<IMAGE2D<float>,4>(a1778);
          int iy176E#1 = Add<int>(_t0B3D,t21777);
          addr(IMAGE2D<float>) a1771#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy176E);
          real4 v1175A#1 = LoadVoxels<IMAGE2D<float>,4>(a1771);
          int iy1767#1 = Add<int>(_t0B41,t21777);
          addr(IMAGE2D<float>) a176A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy1767);
          real4 v2175B#1 = LoadVoxels<IMAGE2D<float>,4>(a176A);
          int iy1760#1 = Add<int>(_t0B19,t21777);
          addr(IMAGE2D<float>) a1763#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy1760);
          real4 v3175C#1 = LoadVoxels<IMAGE2D<float>,4>(a1763);
          real fy1784#5 = Index<real2,1>(f1755);
          real t31789#1 = Add<real>(fy1784,_t0B15);
          real t11787#1 = Sub<real>(fy1784,_t0B15);
          real t01786#1 = Sub<real>(fy1784,_t0B17);
          real4 a1785#1 = <real4>[t31789,fy1784,t11787,t01786];
          real4 hy177A#1 = EvalKernel<4,bspln3,0>(a1785);
          real fx177B#5 = Index<real2,0>(f1755);
          real t31780#1 = Add<real>(fx177B,_t0B15);
          real t1177E#1 = Sub<real>(fx177B,_t0B15);
          real t0177D#1 = Sub<real>(fx177B,_t0B17);
          real4 a177C#1 = <real4>[t31780,fx177B,t1177E,t0177D];
          real4 hx1779#4 = EvalKernel<4,bspln3,0>(a177C);
          real t0178E#1 = Dot<4>(v01759,hx1779);
          real t1178F#1 = Dot<4>(v1175A,hx1779);
          real t21790#1 = Dot<4>(v2175B,hx1779);
          real t31791#1 = Dot<4>(v3175C,hx1779);
          real4 tv178D#1 = <real4>[t0178E,t1178F,t21790,t31791];
          real _t1753#1 = Dot<4>(hy177A,tv178D);
          real2 x17D1#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v110AC5);
          real2 nd17D3#2 = Floor<2>(x17D1);
          real2 f17D2#2 = Sub<real2>(x17D1,nd17D3);
          int{2} n17D4#8 = RealToInt<2>(nd17D3);
          int t217F1#1 = Index<int{2},0>(n17D4);
          int ix17EF#4 = Add<int>(t11773,t217F1);
          int t217F4#4 = Index<int{2},1>(n17D4);
          int iy17F2#1 = Add<int>(t11773,t217F4);
          addr(IMAGE2D<int>) a17F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17F2);
          real4 v017D6#1 = LoadVoxels<IMAGE2D<int>,4>(a17F5);
          int iy17EB#1 = Add<int>(_t0B3D,t217F4);
          addr(IMAGE2D<int>) a17EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17EB);
          real4 v117D7#1 = LoadVoxels<IMAGE2D<int>,4>(a17EE);
          int iy17E4#1 = Add<int>(_t0B41,t217F4);
          addr(IMAGE2D<int>) a17E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17E4);
          real4 v217D8#1 = LoadVoxels<IMAGE2D<int>,4>(a17E7);
          int iy17DD#1 = Add<int>(_t0B19,t217F4);
          addr(IMAGE2D<int>) a17E0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17DD);
          real4 v317D9#1 = LoadVoxels<IMAGE2D<int>,4>(a17E0);
          real fy1801#5 = Index<real2,1>(f17D2);
          real t31806#1 = Add<real>(fy1801,_t0B15);
          real t11804#1 = Sub<real>(fy1801,_t0B15);
          real t01803#1 = Sub<real>(fy1801,_t0B17);
          real4 a1802#1 = <real4>[t31806,fy1801,t11804,t01803];
          real4 hy17F7#1 = EvalKernel<4,bspln3,0>(a1802);
          real fx17F8#5 = Index<real2,0>(f17D2);
          real t317FD#1 = Add<real>(fx17F8,_t0B15);
          real t117FB#1 = Sub<real>(fx17F8,_t0B15);
          real t017FA#1 = Sub<real>(fx17F8,_t0B17);
          real4 a17F9#1 = <real4>[t317FD,fx17F8,t117FB,t017FA];
          real4 hx17F6#4 = EvalKernel<4,bspln3,0>(a17F9);
          real t0180B#1 = Dot<4>(v017D6,hx17F6);
          real t1180C#1 = Dot<4>(v117D7,hx17F6);
          real t2180D#1 = Dot<4>(v217D8,hx17F6);
          real t3180E#1 = Dot<4>(v317D9,hx17F6);
          real4 tv180A#1 = <real4>[t0180B,t1180C,t2180D,t3180E];
          real _t17D0#1 = Dot<4>(hy17F7,tv180A);
          real _t184D#2 = Sub<real>(_t1753,_t17D0);
          real _t184F#1 = Mul<real>(_t184D,_t184D);
          real score1851#1 = Add<real>(score173C,_t184F);
          goto JOIN1854
        JOIN1854:  preds = [ASSIGN1852,COND1752]
          real score1853#2 = phi(score1851,score173C)
          real _t1855#1 = Dot<2>(r00B2F,v120AC7);
          real _t1857#1 = Dot<2>(r10B35,v120AC7);
          real2 _t1859#1 = <real2>[_t1855,_t1857];
          real2 pos185B#2 = Add<real2>(_t1859,_t0B45);
          real2 x185E#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos185B);
          bool _t185D#1 = Inside<IMAGE2D<float>,2>(x185E,_t0AA3);
          if _t185D then goto ASSIGN1864 else goto ASSIGN211A
        ASSIGN1864:  preds = [COND1861]
          real2 x1863#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v120AC7);
          bool _t1862#1 = Inside<IMAGE2D<int>,2>(x1863,_t0A9F);
          goto JOIN1868
        JOIN1868:  preds = [ASSIGN1865,ASSIGN211A]
          bool _t1866#1 = phi(_t1862,_t1867)
          if _t1866 then goto ASSIGN22C5 else goto JOIN196B
        ASSIGN22C5:  preds = [COND1869]
          real2 nd186D#2 = Floor<2>(x185E);
          real2 f186C#2 = Sub<real2>(x185E,nd186D);
          int{2} n186E#8 = RealToInt<2>(nd186D);
          int t1188A#4 = -1;
          int t2188B#1 = Index<int{2},0>(n186E);
          int ix1889#4 = Add<int>(t1188A,t2188B);
          int t2188E#4 = Index<int{2},1>(n186E);
          int iy188C#1 = Add<int>(t1188A,t2188E);
          addr(IMAGE2D<float>) a188F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy188C);
          real4 v01870#1 = LoadVoxels<IMAGE2D<float>,4>(a188F);
          int iy1885#1 = Add<int>(_t0B3D,t2188E);
          addr(IMAGE2D<float>) a1888#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy1885);
          real4 v11871#1 = LoadVoxels<IMAGE2D<float>,4>(a1888);
          int iy187E#1 = Add<int>(_t0B41,t2188E);
          addr(IMAGE2D<float>) a1881#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy187E);
          real4 v21872#1 = LoadVoxels<IMAGE2D<float>,4>(a1881);
          int iy1877#1 = Add<int>(_t0B19,t2188E);
          addr(IMAGE2D<float>) a187A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy1877);
          real4 v31873#1 = LoadVoxels<IMAGE2D<float>,4>(a187A);
          real fy189B#5 = Index<real2,1>(f186C);
          real t318A0#1 = Add<real>(fy189B,_t0B15);
          real t1189E#1 = Sub<real>(fy189B,_t0B15);
          real t0189D#1 = Sub<real>(fy189B,_t0B17);
          real4 a189C#1 = <real4>[t318A0,fy189B,t1189E,t0189D];
          real4 hy1891#1 = EvalKernel<4,bspln3,0>(a189C);
          real fx1892#5 = Index<real2,0>(f186C);
          real t31897#1 = Add<real>(fx1892,_t0B15);
          real t11895#1 = Sub<real>(fx1892,_t0B15);
          real t01894#1 = Sub<real>(fx1892,_t0B17);
          real4 a1893#1 = <real4>[t31897,fx1892,t11895,t01894];
          real4 hx1890#4 = EvalKernel<4,bspln3,0>(a1893);
          real t018A5#1 = Dot<4>(v01870,hx1890);
          real t118A6#1 = Dot<4>(v11871,hx1890);
          real t218A7#1 = Dot<4>(v21872,hx1890);
          real t318A8#1 = Dot<4>(v31873,hx1890);
          real4 tv18A4#1 = <real4>[t018A5,t118A6,t218A7,t318A8];
          real _t186A#1 = Dot<4>(hy1891,tv18A4);
          real2 x18E8#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v120AC7);
          real2 nd18EA#2 = Floor<2>(x18E8);
          real2 f18E9#2 = Sub<real2>(x18E8,nd18EA);
          int{2} n18EB#8 = RealToInt<2>(nd18EA);
          int t21908#1 = Index<int{2},0>(n18EB);
          int ix1906#4 = Add<int>(t1188A,t21908);
          int t2190B#4 = Index<int{2},1>(n18EB);
          int iy1909#1 = Add<int>(t1188A,t2190B);
          addr(IMAGE2D<int>) a190C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy1909);
          real4 v018ED#1 = LoadVoxels<IMAGE2D<int>,4>(a190C);
          int iy1902#1 = Add<int>(_t0B3D,t2190B);
          addr(IMAGE2D<int>) a1905#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy1902);
          real4 v118EE#1 = LoadVoxels<IMAGE2D<int>,4>(a1905);
          int iy18FB#1 = Add<int>(_t0B41,t2190B);
          addr(IMAGE2D<int>) a18FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy18FB);
          real4 v218EF#1 = LoadVoxels<IMAGE2D<int>,4>(a18FE);
          int iy18F4#1 = Add<int>(_t0B19,t2190B);
          addr(IMAGE2D<int>) a18F7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy18F4);
          real4 v318F0#1 = LoadVoxels<IMAGE2D<int>,4>(a18F7);
          real fy1918#5 = Index<real2,1>(f18E9);
          real t3191D#1 = Add<real>(fy1918,_t0B15);
          real t1191B#1 = Sub<real>(fy1918,_t0B15);
          real t0191A#1 = Sub<real>(fy1918,_t0B17);
          real4 a1919#1 = <real4>[t3191D,fy1918,t1191B,t0191A];
          real4 hy190E#1 = EvalKernel<4,bspln3,0>(a1919);
          real fx190F#5 = Index<real2,0>(f18E9);
          real t31914#1 = Add<real>(fx190F,_t0B15);
          real t11912#1 = Sub<real>(fx190F,_t0B15);
          real t01911#1 = Sub<real>(fx190F,_t0B17);
          real4 a1910#1 = <real4>[t31914,fx190F,t11912,t01911];
          real4 hx190D#4 = EvalKernel<4,bspln3,0>(a1910);
          real t01922#1 = Dot<4>(v018ED,hx190D);
          real t11923#1 = Dot<4>(v118EE,hx190D);
          real t21924#1 = Dot<4>(v218EF,hx190D);
          real t31925#1 = Dot<4>(v318F0,hx190D);
          real4 tv1921#1 = <real4>[t01922,t11923,t21924,t31925];
          real _t18E7#1 = Dot<4>(hy190E,tv1921);
          real _t1964#2 = Sub<real>(_t186A,_t18E7);
          real _t1966#1 = Mul<real>(_t1964,_t1964);
          real score1968#1 = Add<real>(score1853,_t1966);
          goto JOIN196B
        JOIN196B:  preds = [ASSIGN1969,COND1869]
          real score196A#2 = phi(score1968,score1853)
          real _t196C#1 = Dot<2>(r00B2F,v130AC9);
          real _t196E#1 = Dot<2>(r10B35,v130AC9);
          real2 _t1970#1 = <real2>[_t196C,_t196E];
          real2 pos1972#2 = Add<real2>(_t1970,_t0B45);
          real2 x1975#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1972);
          bool _t1974#1 = Inside<IMAGE2D<float>,2>(x1975,_t0AA3);
          if _t1974 then goto ASSIGN197B else goto ASSIGN2119
        ASSIGN197B:  preds = [COND1978]
          real2 x197A#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v130AC9);
          bool _t1979#1 = Inside<IMAGE2D<int>,2>(x197A,_t0A9F);
          goto JOIN197F
        JOIN197F:  preds = [ASSIGN197C,ASSIGN2119]
          bool _t197D#1 = phi(_t1979,_t197E)
          if _t197D then goto ASSIGN22E6 else goto JOIN1A82
        ASSIGN22E6:  preds = [COND1980]
          real2 nd1984#2 = Floor<2>(x1975);
          real2 f1983#2 = Sub<real2>(x1975,nd1984);
          int{2} n1985#8 = RealToInt<2>(nd1984);
          int t119A1#4 = -1;
          int t219A2#1 = Index<int{2},0>(n1985);
          int ix19A0#4 = Add<int>(t119A1,t219A2);
          int t219A5#4 = Index<int{2},1>(n1985);
          int iy19A3#1 = Add<int>(t119A1,t219A5);
          addr(IMAGE2D<float>) a19A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy19A3);
          real4 v01987#1 = LoadVoxels<IMAGE2D<float>,4>(a19A6);
          int iy199C#1 = Add<int>(_t0B3D,t219A5);
          addr(IMAGE2D<float>) a199F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy199C);
          real4 v11988#1 = LoadVoxels<IMAGE2D<float>,4>(a199F);
          int iy1995#1 = Add<int>(_t0B41,t219A5);
          addr(IMAGE2D<float>) a1998#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy1995);
          real4 v21989#1 = LoadVoxels<IMAGE2D<float>,4>(a1998);
          int iy198E#1 = Add<int>(_t0B19,t219A5);
          addr(IMAGE2D<float>) a1991#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy198E);
          real4 v3198A#1 = LoadVoxels<IMAGE2D<float>,4>(a1991);
          real fy19B2#5 = Index<real2,1>(f1983);
          real t319B7#1 = Add<real>(fy19B2,_t0B15);
          real t119B5#1 = Sub<real>(fy19B2,_t0B15);
          real t019B4#1 = Sub<real>(fy19B2,_t0B17);
          real4 a19B3#1 = <real4>[t319B7,fy19B2,t119B5,t019B4];
          real4 hy19A8#1 = EvalKernel<4,bspln3,0>(a19B3);
          real fx19A9#5 = Index<real2,0>(f1983);
          real t319AE#1 = Add<real>(fx19A9,_t0B15);
          real t119AC#1 = Sub<real>(fx19A9,_t0B15);
          real t019AB#1 = Sub<real>(fx19A9,_t0B17);
          real4 a19AA#1 = <real4>[t319AE,fx19A9,t119AC,t019AB];
          real4 hx19A7#4 = EvalKernel<4,bspln3,0>(a19AA);
          real t019BC#1 = Dot<4>(v01987,hx19A7);
          real t119BD#1 = Dot<4>(v11988,hx19A7);
          real t219BE#1 = Dot<4>(v21989,hx19A7);
          real t319BF#1 = Dot<4>(v3198A,hx19A7);
          real4 tv19BB#1 = <real4>[t019BC,t119BD,t219BE,t319BF];
          real _t1981#1 = Dot<4>(hy19A8,tv19BB);
          real2 x19FF#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v130AC9);
          real2 nd1A01#2 = Floor<2>(x19FF);
          real2 f1A00#2 = Sub<real2>(x19FF,nd1A01);
          int{2} n1A02#8 = RealToInt<2>(nd1A01);
          int t21A1F#1 = Index<int{2},0>(n1A02);
          int ix1A1D#4 = Add<int>(t119A1,t21A1F);
          int t21A22#4 = Index<int{2},1>(n1A02);
          int iy1A20#1 = Add<int>(t119A1,t21A22);
          addr(IMAGE2D<int>) a1A23#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A20);
          real4 v01A04#1 = LoadVoxels<IMAGE2D<int>,4>(a1A23);
          int iy1A19#1 = Add<int>(_t0B3D,t21A22);
          addr(IMAGE2D<int>) a1A1C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A19);
          real4 v11A05#1 = LoadVoxels<IMAGE2D<int>,4>(a1A1C);
          int iy1A12#1 = Add<int>(_t0B41,t21A22);
          addr(IMAGE2D<int>) a1A15#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A12);
          real4 v21A06#1 = LoadVoxels<IMAGE2D<int>,4>(a1A15);
          int iy1A0B#1 = Add<int>(_t0B19,t21A22);
          addr(IMAGE2D<int>) a1A0E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A0B);
          real4 v31A07#1 = LoadVoxels<IMAGE2D<int>,4>(a1A0E);
          real fy1A2F#5 = Index<real2,1>(f1A00);
          real t31A34#1 = Add<real>(fy1A2F,_t0B15);
          real t11A32#1 = Sub<real>(fy1A2F,_t0B15);
          real t01A31#1 = Sub<real>(fy1A2F,_t0B17);
          real4 a1A30#1 = <real4>[t31A34,fy1A2F,t11A32,t01A31];
          real4 hy1A25#1 = EvalKernel<4,bspln3,0>(a1A30);
          real fx1A26#5 = Index<real2,0>(f1A00);
          real t31A2B#1 = Add<real>(fx1A26,_t0B15);
          real t11A29#1 = Sub<real>(fx1A26,_t0B15);
          real t01A28#1 = Sub<real>(fx1A26,_t0B17);
          real4 a1A27#1 = <real4>[t31A2B,fx1A26,t11A29,t01A28];
          real4 hx1A24#4 = EvalKernel<4,bspln3,0>(a1A27);
          real t01A39#1 = Dot<4>(v01A04,hx1A24);
          real t11A3A#1 = Dot<4>(v11A05,hx1A24);
          real t21A3B#1 = Dot<4>(v21A06,hx1A24);
          real t31A3C#1 = Dot<4>(v31A07,hx1A24);
          real4 tv1A38#1 = <real4>[t01A39,t11A3A,t21A3B,t31A3C];
          real _t19FE#1 = Dot<4>(hy1A25,tv1A38);
          real _t1A7B#2 = Sub<real>(_t1981,_t19FE);
          real _t1A7D#1 = Mul<real>(_t1A7B,_t1A7B);
          real score1A7F#1 = Add<real>(score196A,_t1A7D);
          goto JOIN1A82
        JOIN1A82:  preds = [ASSIGN1A80,COND1980]
          real score1A81#2 = phi(score1A7F,score196A)
          real _t1A83#1 = Dot<2>(r00B2F,v140ACB);
          real _t1A85#1 = Dot<2>(r10B35,v140ACB);
          real2 _t1A87#1 = <real2>[_t1A83,_t1A85];
          real2 pos1A89#2 = Add<real2>(_t1A87,_t0B45);
          real2 x1A8C#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1A89);
          bool _t1A8B#1 = Inside<IMAGE2D<float>,2>(x1A8C,_t0AA3);
          if _t1A8B then goto ASSIGN1A92 else goto ASSIGN2118
        ASSIGN1A92:  preds = [COND1A8F]
          real2 x1A91#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v140ACB);
          bool _t1A90#1 = Inside<IMAGE2D<int>,2>(x1A91,_t0A9F);
          goto JOIN1A96
        JOIN1A96:  preds = [ASSIGN1A93,ASSIGN2118]
          bool _t1A94#1 = phi(_t1A90,_t1A95)
          if _t1A94 then goto ASSIGN2307 else goto JOIN1B99
        ASSIGN2307:  preds = [COND1A97]
          real2 nd1A9B#2 = Floor<2>(x1A8C);
          real2 f1A9A#2 = Sub<real2>(x1A8C,nd1A9B);
          int{2} n1A9C#8 = RealToInt<2>(nd1A9B);
          int t11AB8#4 = -1;
          int t21AB9#1 = Index<int{2},0>(n1A9C);
          int ix1AB7#4 = Add<int>(t11AB8,t21AB9);
          int t21ABC#4 = Index<int{2},1>(n1A9C);
          int iy1ABA#1 = Add<int>(t11AB8,t21ABC);
          addr(IMAGE2D<float>) a1ABD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1ABA);
          real4 v01A9E#1 = LoadVoxels<IMAGE2D<float>,4>(a1ABD);
          int iy1AB3#1 = Add<int>(_t0B3D,t21ABC);
          addr(IMAGE2D<float>) a1AB6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1AB3);
          real4 v11A9F#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB6);
          int iy1AAC#1 = Add<int>(_t0B41,t21ABC);
          addr(IMAGE2D<float>) a1AAF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1AAC);
          real4 v21AA0#1 = LoadVoxels<IMAGE2D<float>,4>(a1AAF);
          int iy1AA5#1 = Add<int>(_t0B19,t21ABC);
          addr(IMAGE2D<float>) a1AA8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1AA5);
          real4 v31AA1#1 = LoadVoxels<IMAGE2D<float>,4>(a1AA8);
          real fy1AC9#5 = Index<real2,1>(f1A9A);
          real t31ACE#1 = Add<real>(fy1AC9,_t0B15);
          real t11ACC#1 = Sub<real>(fy1AC9,_t0B15);
          real t01ACB#1 = Sub<real>(fy1AC9,_t0B17);
          real4 a1ACA#1 = <real4>[t31ACE,fy1AC9,t11ACC,t01ACB];
          real4 hy1ABF#1 = EvalKernel<4,bspln3,0>(a1ACA);
          real fx1AC0#5 = Index<real2,0>(f1A9A);
          real t31AC5#1 = Add<real>(fx1AC0,_t0B15);
          real t11AC3#1 = Sub<real>(fx1AC0,_t0B15);
          real t01AC2#1 = Sub<real>(fx1AC0,_t0B17);
          real4 a1AC1#1 = <real4>[t31AC5,fx1AC0,t11AC3,t01AC2];
          real4 hx1ABE#4 = EvalKernel<4,bspln3,0>(a1AC1);
          real t01AD3#1 = Dot<4>(v01A9E,hx1ABE);
          real t11AD4#1 = Dot<4>(v11A9F,hx1ABE);
          real t21AD5#1 = Dot<4>(v21AA0,hx1ABE);
          real t31AD6#1 = Dot<4>(v31AA1,hx1ABE);
          real4 tv1AD2#1 = <real4>[t01AD3,t11AD4,t21AD5,t31AD6];
          real _t1A98#1 = Dot<4>(hy1ABF,tv1AD2);
          real2 x1B16#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v140ACB);
          real2 nd1B18#2 = Floor<2>(x1B16);
          real2 f1B17#2 = Sub<real2>(x1B16,nd1B18);
          int{2} n1B19#8 = RealToInt<2>(nd1B18);
          int t21B36#1 = Index<int{2},0>(n1B19);
          int ix1B34#4 = Add<int>(t11AB8,t21B36);
          int t21B39#4 = Index<int{2},1>(n1B19);
          int iy1B37#1 = Add<int>(t11AB8,t21B39);
          addr(IMAGE2D<int>) a1B3A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B37);
          real4 v01B1B#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3A);
          int iy1B30#1 = Add<int>(_t0B3D,t21B39);
          addr(IMAGE2D<int>) a1B33#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B30);
          real4 v11B1C#1 = LoadVoxels<IMAGE2D<int>,4>(a1B33);
          int iy1B29#1 = Add<int>(_t0B41,t21B39);
          addr(IMAGE2D<int>) a1B2C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B29);
          real4 v21B1D#1 = LoadVoxels<IMAGE2D<int>,4>(a1B2C);
          int iy1B22#1 = Add<int>(_t0B19,t21B39);
          addr(IMAGE2D<int>) a1B25#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B22);
          real4 v31B1E#1 = LoadVoxels<IMAGE2D<int>,4>(a1B25);
          real fy1B46#5 = Index<real2,1>(f1B17);
          real t31B4B#1 = Add<real>(fy1B46,_t0B15);
          real t11B49#1 = Sub<real>(fy1B46,_t0B15);
          real t01B48#1 = Sub<real>(fy1B46,_t0B17);
          real4 a1B47#1 = <real4>[t31B4B,fy1B46,t11B49,t01B48];
          real4 hy1B3C#1 = EvalKernel<4,bspln3,0>(a1B47);
          real fx1B3D#5 = Index<real2,0>(f1B17);
          real t31B42#1 = Add<real>(fx1B3D,_t0B15);
          real t11B40#1 = Sub<real>(fx1B3D,_t0B15);
          real t01B3F#1 = Sub<real>(fx1B3D,_t0B17);
          real4 a1B3E#1 = <real4>[t31B42,fx1B3D,t11B40,t01B3F];
          real4 hx1B3B#4 = EvalKernel<4,bspln3,0>(a1B3E);
          real t01B50#1 = Dot<4>(v01B1B,hx1B3B);
          real t11B51#1 = Dot<4>(v11B1C,hx1B3B);
          real t21B52#1 = Dot<4>(v21B1D,hx1B3B);
          real t31B53#1 = Dot<4>(v31B1E,hx1B3B);
          real4 tv1B4F#1 = <real4>[t01B50,t11B51,t21B52,t31B53];
          real _t1B15#1 = Dot<4>(hy1B3C,tv1B4F);
          real _t1B92#2 = Sub<real>(_t1A98,_t1B15);
          real _t1B94#1 = Mul<real>(_t1B92,_t1B92);
          real score1B96#1 = Add<real>(score1A81,_t1B94);
          goto JOIN1B99
        JOIN1B99:  preds = [ASSIGN1B97,COND1A97]
          real score1B98#2 = phi(score1B96,score1A81)
          real _t1B9A#1 = Dot<2>(r00B2F,v150ACD);
          real _t1B9C#1 = Dot<2>(r10B35,v150ACD);
          real2 _t1B9E#1 = <real2>[_t1B9A,_t1B9C];
          real2 pos1BA0#2 = Add<real2>(_t1B9E,_t0B45);
          real2 x1BA3#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1BA0);
          bool _t1BA2#1 = Inside<IMAGE2D<float>,2>(x1BA3,_t0AA3);
          if _t1BA2 then goto ASSIGN1BA9 else goto ASSIGN2117
        ASSIGN1BA9:  preds = [COND1BA6]
          real2 x1BA8#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v150ACD);
          bool _t1BA7#1 = Inside<IMAGE2D<int>,2>(x1BA8,_t0A9F);
          goto JOIN1BAD
        JOIN1BAD:  preds = [ASSIGN1BAA,ASSIGN2117]
          bool _t1BAB#1 = phi(_t1BA7,_t1BAC)
          if _t1BAB then goto ASSIGN2328 else goto JOIN1CB0
        ASSIGN2328:  preds = [COND1BAE]
          real2 nd1BB2#2 = Floor<2>(x1BA3);
          real2 f1BB1#2 = Sub<real2>(x1BA3,nd1BB2);
          int{2} n1BB3#8 = RealToInt<2>(nd1BB2);
          int t11BCF#4 = -1;
          int t21BD0#1 = Index<int{2},0>(n1BB3);
          int ix1BCE#4 = Add<int>(t11BCF,t21BD0);
          int t21BD3#4 = Index<int{2},1>(n1BB3);
          int iy1BD1#1 = Add<int>(t11BCF,t21BD3);
          addr(IMAGE2D<float>) a1BD4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BD1);
          real4 v01BB5#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD4);
          int iy1BCA#1 = Add<int>(_t0B3D,t21BD3);
          addr(IMAGE2D<float>) a1BCD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BCA);
          real4 v11BB6#1 = LoadVoxels<IMAGE2D<float>,4>(a1BCD);
          int iy1BC3#1 = Add<int>(_t0B41,t21BD3);
          addr(IMAGE2D<float>) a1BC6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BC3);
          real4 v21BB7#1 = LoadVoxels<IMAGE2D<float>,4>(a1BC6);
          int iy1BBC#1 = Add<int>(_t0B19,t21BD3);
          addr(IMAGE2D<float>) a1BBF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BBC);
          real4 v31BB8#1 = LoadVoxels<IMAGE2D<float>,4>(a1BBF);
          real fy1BE0#5 = Index<real2,1>(f1BB1);
          real t31BE5#1 = Add<real>(fy1BE0,_t0B15);
          real t11BE3#1 = Sub<real>(fy1BE0,_t0B15);
          real t01BE2#1 = Sub<real>(fy1BE0,_t0B17);
          real4 a1BE1#1 = <real4>[t31BE5,fy1BE0,t11BE3,t01BE2];
          real4 hy1BD6#1 = EvalKernel<4,bspln3,0>(a1BE1);
          real fx1BD7#5 = Index<real2,0>(f1BB1);
          real t31BDC#1 = Add<real>(fx1BD7,_t0B15);
          real t11BDA#1 = Sub<real>(fx1BD7,_t0B15);
          real t01BD9#1 = Sub<real>(fx1BD7,_t0B17);
          real4 a1BD8#1 = <real4>[t31BDC,fx1BD7,t11BDA,t01BD9];
          real4 hx1BD5#4 = EvalKernel<4,bspln3,0>(a1BD8);
          real t01BEA#1 = Dot<4>(v01BB5,hx1BD5);
          real t11BEB#1 = Dot<4>(v11BB6,hx1BD5);
          real t21BEC#1 = Dot<4>(v21BB7,hx1BD5);
          real t31BED#1 = Dot<4>(v31BB8,hx1BD5);
          real4 tv1BE9#1 = <real4>[t01BEA,t11BEB,t21BEC,t31BED];
          real _t1BAF#1 = Dot<4>(hy1BD6,tv1BE9);
          real2 x1C2D#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v150ACD);
          real2 nd1C2F#2 = Floor<2>(x1C2D);
          real2 f1C2E#2 = Sub<real2>(x1C2D,nd1C2F);
          int{2} n1C30#8 = RealToInt<2>(nd1C2F);
          int t21C4D#1 = Index<int{2},0>(n1C30);
          int ix1C4B#4 = Add<int>(t11BCF,t21C4D);
          int t21C50#4 = Index<int{2},1>(n1C30);
          int iy1C4E#1 = Add<int>(t11BCF,t21C50);
          addr(IMAGE2D<int>) a1C51#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C4E);
          real4 v01C32#1 = LoadVoxels<IMAGE2D<int>,4>(a1C51);
          int iy1C47#1 = Add<int>(_t0B3D,t21C50);
          addr(IMAGE2D<int>) a1C4A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C47);
          real4 v11C33#1 = LoadVoxels<IMAGE2D<int>,4>(a1C4A);
          int iy1C40#1 = Add<int>(_t0B41,t21C50);
          addr(IMAGE2D<int>) a1C43#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C40);
          real4 v21C34#1 = LoadVoxels<IMAGE2D<int>,4>(a1C43);
          int iy1C39#1 = Add<int>(_t0B19,t21C50);
          addr(IMAGE2D<int>) a1C3C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C39);
          real4 v31C35#1 = LoadVoxels<IMAGE2D<int>,4>(a1C3C);
          real fy1C5D#5 = Index<real2,1>(f1C2E);
          real t31C62#1 = Add<real>(fy1C5D,_t0B15);
          real t11C60#1 = Sub<real>(fy1C5D,_t0B15);
          real t01C5F#1 = Sub<real>(fy1C5D,_t0B17);
          real4 a1C5E#1 = <real4>[t31C62,fy1C5D,t11C60,t01C5F];
          real4 hy1C53#1 = EvalKernel<4,bspln3,0>(a1C5E);
          real fx1C54#5 = Index<real2,0>(f1C2E);
          real t31C59#1 = Add<real>(fx1C54,_t0B15);
          real t11C57#1 = Sub<real>(fx1C54,_t0B15);
          real t01C56#1 = Sub<real>(fx1C54,_t0B17);
          real4 a1C55#1 = <real4>[t31C59,fx1C54,t11C57,t01C56];
          real4 hx1C52#4 = EvalKernel<4,bspln3,0>(a1C55);
          real t01C67#1 = Dot<4>(v01C32,hx1C52);
          real t11C68#1 = Dot<4>(v11C33,hx1C52);
          real t21C69#1 = Dot<4>(v21C34,hx1C52);
          real t31C6A#1 = Dot<4>(v31C35,hx1C52);
          real4 tv1C66#1 = <real4>[t01C67,t11C68,t21C69,t31C6A];
          real _t1C2C#1 = Dot<4>(hy1C53,tv1C66);
          real _t1CA9#2 = Sub<real>(_t1BAF,_t1C2C);
          real _t1CAB#1 = Mul<real>(_t1CA9,_t1CA9);
          real score1CAD#1 = Add<real>(score1B98,_t1CAB);
          goto JOIN1CB0
        JOIN1CB0:  preds = [ASSIGN1CAE,COND1BAE]
          real score1CAF#2 = phi(score1CAD,score1B98)
          real _t1CB1#1 = Dot<2>(r00B2F,v160ACF);
          real _t1CB3#1 = Dot<2>(r10B35,v160ACF);
          real2 _t1CB5#1 = <real2>[_t1CB1,_t1CB3];
          real2 pos1CB7#2 = Add<real2>(_t1CB5,_t0B45);
          real2 x1CBA#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1CB7);
          bool _t1CB9#1 = Inside<IMAGE2D<float>,2>(x1CBA,_t0AA3);
          if _t1CB9 then goto ASSIGN1CC0 else goto ASSIGN2116
        ASSIGN1CC0:  preds = [COND1CBD]
          real2 x1CBF#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v160ACF);
          bool _t1CBE#1 = Inside<IMAGE2D<int>,2>(x1CBF,_t0A9F);
          goto JOIN1CC4
        JOIN1CC4:  preds = [ASSIGN1CC1,ASSIGN2116]
          bool _t1CC2#1 = phi(_t1CBE,_t1CC3)
          if _t1CC2 then goto ASSIGN2349 else goto JOIN1DC7
        ASSIGN2349:  preds = [COND1CC5]
          real2 nd1CC9#2 = Floor<2>(x1CBA);
          real2 f1CC8#2 = Sub<real2>(x1CBA,nd1CC9);
          int{2} n1CCA#8 = RealToInt<2>(nd1CC9);
          int t11CE6#4 = -1;
          int t21CE7#1 = Index<int{2},0>(n1CCA);
          int ix1CE5#4 = Add<int>(t11CE6,t21CE7);
          int t21CEA#4 = Index<int{2},1>(n1CCA);
          int iy1CE8#1 = Add<int>(t11CE6,t21CEA);
          addr(IMAGE2D<float>) a1CEB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CE8);
          real4 v01CCC#1 = LoadVoxels<IMAGE2D<float>,4>(a1CEB);
          int iy1CE1#1 = Add<int>(_t0B3D,t21CEA);
          addr(IMAGE2D<float>) a1CE4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CE1);
          real4 v11CCD#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE4);
          int iy1CDA#1 = Add<int>(_t0B41,t21CEA);
          addr(IMAGE2D<float>) a1CDD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CDA);
          real4 v21CCE#1 = LoadVoxels<IMAGE2D<float>,4>(a1CDD);
          int iy1CD3#1 = Add<int>(_t0B19,t21CEA);
          addr(IMAGE2D<float>) a1CD6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CD3);
          real4 v31CCF#1 = LoadVoxels<IMAGE2D<float>,4>(a1CD6);
          real fy1CF7#5 = Index<real2,1>(f1CC8);
          real t31CFC#1 = Add<real>(fy1CF7,_t0B15);
          real t11CFA#1 = Sub<real>(fy1CF7,_t0B15);
          real t01CF9#1 = Sub<real>(fy1CF7,_t0B17);
          real4 a1CF8#1 = <real4>[t31CFC,fy1CF7,t11CFA,t01CF9];
          real4 hy1CED#1 = EvalKernel<4,bspln3,0>(a1CF8);
          real fx1CEE#5 = Index<real2,0>(f1CC8);
          real t31CF3#1 = Add<real>(fx1CEE,_t0B15);
          real t11CF1#1 = Sub<real>(fx1CEE,_t0B15);
          real t01CF0#1 = Sub<real>(fx1CEE,_t0B17);
          real4 a1CEF#1 = <real4>[t31CF3,fx1CEE,t11CF1,t01CF0];
          real4 hx1CEC#4 = EvalKernel<4,bspln3,0>(a1CEF);
          real t01D01#1 = Dot<4>(v01CCC,hx1CEC);
          real t11D02#1 = Dot<4>(v11CCD,hx1CEC);
          real t21D03#1 = Dot<4>(v21CCE,hx1CEC);
          real t31D04#1 = Dot<4>(v31CCF,hx1CEC);
          real4 tv1D00#1 = <real4>[t01D01,t11D02,t21D03,t31D04];
          real _t1CC6#1 = Dot<4>(hy1CED,tv1D00);
          real2 x1D44#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v160ACF);
          real2 nd1D46#2 = Floor<2>(x1D44);
          real2 f1D45#2 = Sub<real2>(x1D44,nd1D46);
          int{2} n1D47#8 = RealToInt<2>(nd1D46);
          int t21D64#1 = Index<int{2},0>(n1D47);
          int ix1D62#4 = Add<int>(t11CE6,t21D64);
          int t21D67#4 = Index<int{2},1>(n1D47);
          int iy1D65#1 = Add<int>(t11CE6,t21D67);
          addr(IMAGE2D<int>) a1D68#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D65);
          real4 v01D49#1 = LoadVoxels<IMAGE2D<int>,4>(a1D68);
          int iy1D5E#1 = Add<int>(_t0B3D,t21D67);
          addr(IMAGE2D<int>) a1D61#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D5E);
          real4 v11D4A#1 = LoadVoxels<IMAGE2D<int>,4>(a1D61);
          int iy1D57#1 = Add<int>(_t0B41,t21D67);
          addr(IMAGE2D<int>) a1D5A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D57);
          real4 v21D4B#1 = LoadVoxels<IMAGE2D<int>,4>(a1D5A);
          int iy1D50#1 = Add<int>(_t0B19,t21D67);
          addr(IMAGE2D<int>) a1D53#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D50);
          real4 v31D4C#1 = LoadVoxels<IMAGE2D<int>,4>(a1D53);
          real fy1D74#5 = Index<real2,1>(f1D45);
          real t31D79#1 = Add<real>(fy1D74,_t0B15);
          real t11D77#1 = Sub<real>(fy1D74,_t0B15);
          real t01D76#1 = Sub<real>(fy1D74,_t0B17);
          real4 a1D75#1 = <real4>[t31D79,fy1D74,t11D77,t01D76];
          real4 hy1D6A#1 = EvalKernel<4,bspln3,0>(a1D75);
          real fx1D6B#5 = Index<real2,0>(f1D45);
          real t31D70#1 = Add<real>(fx1D6B,_t0B15);
          real t11D6E#1 = Sub<real>(fx1D6B,_t0B15);
          real t01D6D#1 = Sub<real>(fx1D6B,_t0B17);
          real4 a1D6C#1 = <real4>[t31D70,fx1D6B,t11D6E,t01D6D];
          real4 hx1D69#4 = EvalKernel<4,bspln3,0>(a1D6C);
          real t01D7E#1 = Dot<4>(v01D49,hx1D69);
          real t11D7F#1 = Dot<4>(v11D4A,hx1D69);
          real t21D80#1 = Dot<4>(v21D4B,hx1D69);
          real t31D81#1 = Dot<4>(v31D4C,hx1D69);
          real4 tv1D7D#1 = <real4>[t01D7E,t11D7F,t21D80,t31D81];
          real _t1D43#1 = Dot<4>(hy1D6A,tv1D7D);
          real _t1DC0#2 = Sub<real>(_t1CC6,_t1D43);
          real _t1DC2#1 = Mul<real>(_t1DC0,_t1DC0);
          real score1DC4#1 = Add<real>(score1CAF,_t1DC2);
          goto JOIN1DC7
        JOIN1DC7:  preds = [ASSIGN1DC5,COND1CC5]
          real score1DC6#2 = phi(score1DC4,score1CAF)
          real _t1DC8#1 = Dot<2>(r00B2F,v170AD1);
          real _t1DCA#1 = Dot<2>(r10B35,v170AD1);
          real2 _t1DCC#1 = <real2>[_t1DC8,_t1DCA];
          real2 pos1DCE#2 = Add<real2>(_t1DCC,_t0B45);
          real2 x1DD1#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1DCE);
          bool _t1DD0#1 = Inside<IMAGE2D<float>,2>(x1DD1,_t0AA3);
          if _t1DD0 then goto ASSIGN1DD7 else goto ASSIGN2115
        ASSIGN1DD7:  preds = [COND1DD4]
          real2 x1DD6#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v170AD1);
          bool _t1DD5#1 = Inside<IMAGE2D<int>,2>(x1DD6,_t0A9F);
          goto JOIN1DDB
        JOIN1DDB:  preds = [ASSIGN1DD8,ASSIGN2115]
          bool _t1DD9#1 = phi(_t1DD5,_t1DDA)
          if _t1DD9 then goto ASSIGN236A else goto JOIN1EDE
        ASSIGN236A:  preds = [COND1DDC]
          real2 nd1DE0#2 = Floor<2>(x1DD1);
          real2 f1DDF#2 = Sub<real2>(x1DD1,nd1DE0);
          int{2} n1DE1#8 = RealToInt<2>(nd1DE0);
          int t11DFD#4 = -1;
          int t21DFE#1 = Index<int{2},0>(n1DE1);
          int ix1DFC#4 = Add<int>(t11DFD,t21DFE);
          int t21E01#4 = Index<int{2},1>(n1DE1);
          int iy1DFF#1 = Add<int>(t11DFD,t21E01);
          addr(IMAGE2D<float>) a1E02#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DFF);
          real4 v01DE3#1 = LoadVoxels<IMAGE2D<float>,4>(a1E02);
          int iy1DF8#1 = Add<int>(_t0B3D,t21E01);
          addr(IMAGE2D<float>) a1DFB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DF8);
          real4 v11DE4#1 = LoadVoxels<IMAGE2D<float>,4>(a1DFB);
          int iy1DF1#1 = Add<int>(_t0B41,t21E01);
          addr(IMAGE2D<float>) a1DF4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DF1);
          real4 v21DE5#1 = LoadVoxels<IMAGE2D<float>,4>(a1DF4);
          int iy1DEA#1 = Add<int>(_t0B19,t21E01);
          addr(IMAGE2D<float>) a1DED#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DEA);
          real4 v31DE6#1 = LoadVoxels<IMAGE2D<float>,4>(a1DED);
          real fy1E0E#5 = Index<real2,1>(f1DDF);
          real t31E13#1 = Add<real>(fy1E0E,_t0B15);
          real t11E11#1 = Sub<real>(fy1E0E,_t0B15);
          real t01E10#1 = Sub<real>(fy1E0E,_t0B17);
          real4 a1E0F#1 = <real4>[t31E13,fy1E0E,t11E11,t01E10];
          real4 hy1E04#1 = EvalKernel<4,bspln3,0>(a1E0F);
          real fx1E05#5 = Index<real2,0>(f1DDF);
          real t31E0A#1 = Add<real>(fx1E05,_t0B15);
          real t11E08#1 = Sub<real>(fx1E05,_t0B15);
          real t01E07#1 = Sub<real>(fx1E05,_t0B17);
          real4 a1E06#1 = <real4>[t31E0A,fx1E05,t11E08,t01E07];
          real4 hx1E03#4 = EvalKernel<4,bspln3,0>(a1E06);
          real t01E18#1 = Dot<4>(v01DE3,hx1E03);
          real t11E19#1 = Dot<4>(v11DE4,hx1E03);
          real t21E1A#1 = Dot<4>(v21DE5,hx1E03);
          real t31E1B#1 = Dot<4>(v31DE6,hx1E03);
          real4 tv1E17#1 = <real4>[t01E18,t11E19,t21E1A,t31E1B];
          real _t1DDD#1 = Dot<4>(hy1E04,tv1E17);
          real2 x1E5B#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v170AD1);
          real2 nd1E5D#2 = Floor<2>(x1E5B);
          real2 f1E5C#2 = Sub<real2>(x1E5B,nd1E5D);
          int{2} n1E5E#8 = RealToInt<2>(nd1E5D);
          int t21E7B#1 = Index<int{2},0>(n1E5E);
          int ix1E79#4 = Add<int>(t11DFD,t21E7B);
          int t21E7E#4 = Index<int{2},1>(n1E5E);
          int iy1E7C#1 = Add<int>(t11DFD,t21E7E);
          addr(IMAGE2D<int>) a1E7F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E7C);
          real4 v01E60#1 = LoadVoxels<IMAGE2D<int>,4>(a1E7F);
          int iy1E75#1 = Add<int>(_t0B3D,t21E7E);
          addr(IMAGE2D<int>) a1E78#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E75);
          real4 v11E61#1 = LoadVoxels<IMAGE2D<int>,4>(a1E78);
          int iy1E6E#1 = Add<int>(_t0B41,t21E7E);
          addr(IMAGE2D<int>) a1E71#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E6E);
          real4 v21E62#1 = LoadVoxels<IMAGE2D<int>,4>(a1E71);
          int iy1E67#1 = Add<int>(_t0B19,t21E7E);
          addr(IMAGE2D<int>) a1E6A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E67);
          real4 v31E63#1 = LoadVoxels<IMAGE2D<int>,4>(a1E6A);
          real fy1E8B#5 = Index<real2,1>(f1E5C);
          real t31E90#1 = Add<real>(fy1E8B,_t0B15);
          real t11E8E#1 = Sub<real>(fy1E8B,_t0B15);
          real t01E8D#1 = Sub<real>(fy1E8B,_t0B17);
          real4 a1E8C#1 = <real4>[t31E90,fy1E8B,t11E8E,t01E8D];
          real4 hy1E81#1 = EvalKernel<4,bspln3,0>(a1E8C);
          real fx1E82#5 = Index<real2,0>(f1E5C);
          real t31E87#1 = Add<real>(fx1E82,_t0B15);
          real t11E85#1 = Sub<real>(fx1E82,_t0B15);
          real t01E84#1 = Sub<real>(fx1E82,_t0B17);
          real4 a1E83#1 = <real4>[t31E87,fx1E82,t11E85,t01E84];
          real4 hx1E80#4 = EvalKernel<4,bspln3,0>(a1E83);
          real t01E95#1 = Dot<4>(v01E60,hx1E80);
          real t11E96#1 = Dot<4>(v11E61,hx1E80);
          real t21E97#1 = Dot<4>(v21E62,hx1E80);
          real t31E98#1 = Dot<4>(v31E63,hx1E80);
          real4 tv1E94#1 = <real4>[t01E95,t11E96,t21E97,t31E98];
          real _t1E5A#1 = Dot<4>(hy1E81,tv1E94);
          real _t1ED7#2 = Sub<real>(_t1DDD,_t1E5A);
          real _t1ED9#1 = Mul<real>(_t1ED7,_t1ED7);
          real score1EDB#1 = Add<real>(score1DC6,_t1ED9);
          goto JOIN1EDE
        JOIN1EDE:  preds = [ASSIGN1EDC,COND1DDC]
          real score1EDD#2 = phi(score1EDB,score1DC6)
          real _t1EDF#1 = Dot<2>(r00B2F,v180AD3);
          real _t1EE1#1 = Dot<2>(r10B35,v180AD3);
          real2 _t1EE3#1 = <real2>[_t1EDF,_t1EE1];
          real2 pos1EE5#2 = Add<real2>(_t1EE3,_t0B45);
          real2 x1EE8#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1EE5);
          bool _t1EE7#1 = Inside<IMAGE2D<float>,2>(x1EE8,_t0AA3);
          if _t1EE7 then goto ASSIGN1EEE else goto ASSIGN2114
        ASSIGN1EEE:  preds = [COND1EEB]
          real2 x1EED#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v180AD3);
          bool _t1EEC#1 = Inside<IMAGE2D<int>,2>(x1EED,_t0A9F);
          goto JOIN1EF2
        JOIN1EF2:  preds = [ASSIGN1EEF,ASSIGN2114]
          bool _t1EF0#1 = phi(_t1EEC,_t1EF1)
          if _t1EF0 then goto ASSIGN238B else goto JOIN1FF5
        ASSIGN238B:  preds = [COND1EF3]
          real2 nd1EF7#2 = Floor<2>(x1EE8);
          real2 f1EF6#2 = Sub<real2>(x1EE8,nd1EF7);
          int{2} n1EF8#8 = RealToInt<2>(nd1EF7);
          int t11F14#4 = -1;
          int t21F15#1 = Index<int{2},0>(n1EF8);
          int ix1F13#4 = Add<int>(t11F14,t21F15);
          int t21F18#4 = Index<int{2},1>(n1EF8);
          int iy1F16#1 = Add<int>(t11F14,t21F18);
          addr(IMAGE2D<float>) a1F19#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F16);
          real4 v01EFA#1 = LoadVoxels<IMAGE2D<float>,4>(a1F19);
          int iy1F0F#1 = Add<int>(_t0B3D,t21F18);
          addr(IMAGE2D<float>) a1F12#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F0F);
          real4 v11EFB#1 = LoadVoxels<IMAGE2D<float>,4>(a1F12);
          int iy1F08#1 = Add<int>(_t0B41,t21F18);
          addr(IMAGE2D<float>) a1F0B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F08);
          real4 v21EFC#1 = LoadVoxels<IMAGE2D<float>,4>(a1F0B);
          int iy1F01#1 = Add<int>(_t0B19,t21F18);
          addr(IMAGE2D<float>) a1F04#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F01);
          real4 v31EFD#1 = LoadVoxels<IMAGE2D<float>,4>(a1F04);
          real fy1F25#5 = Index<real2,1>(f1EF6);
          real t31F2A#1 = Add<real>(fy1F25,_t0B15);
          real t11F28#1 = Sub<real>(fy1F25,_t0B15);
          real t01F27#1 = Sub<real>(fy1F25,_t0B17);
          real4 a1F26#1 = <real4>[t31F2A,fy1F25,t11F28,t01F27];
          real4 hy1F1B#1 = EvalKernel<4,bspln3,0>(a1F26);
          real fx1F1C#5 = Index<real2,0>(f1EF6);
          real t31F21#1 = Add<real>(fx1F1C,_t0B15);
          real t11F1F#1 = Sub<real>(fx1F1C,_t0B15);
          real t01F1E#1 = Sub<real>(fx1F1C,_t0B17);
          real4 a1F1D#1 = <real4>[t31F21,fx1F1C,t11F1F,t01F1E];
          real4 hx1F1A#4 = EvalKernel<4,bspln3,0>(a1F1D);
          real t01F2F#1 = Dot<4>(v01EFA,hx1F1A);
          real t11F30#1 = Dot<4>(v11EFB,hx1F1A);
          real t21F31#1 = Dot<4>(v21EFC,hx1F1A);
          real t31F32#1 = Dot<4>(v31EFD,hx1F1A);
          real4 tv1F2E#1 = <real4>[t01F2F,t11F30,t21F31,t31F32];
          real _t1EF4#1 = Dot<4>(hy1F1B,tv1F2E);
          real2 x1F72#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v180AD3);
          real2 nd1F74#2 = Floor<2>(x1F72);
          real2 f1F73#2 = Sub<real2>(x1F72,nd1F74);
          int{2} n1F75#8 = RealToInt<2>(nd1F74);
          int t21F92#1 = Index<int{2},0>(n1F75);
          int ix1F90#4 = Add<int>(t11F14,t21F92);
          int t21F95#4 = Index<int{2},1>(n1F75);
          int iy1F93#1 = Add<int>(t11F14,t21F95);
          addr(IMAGE2D<int>) a1F96#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F93);
          real4 v01F77#1 = LoadVoxels<IMAGE2D<int>,4>(a1F96);
          int iy1F8C#1 = Add<int>(_t0B3D,t21F95);
          addr(IMAGE2D<int>) a1F8F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F8C);
          real4 v11F78#1 = LoadVoxels<IMAGE2D<int>,4>(a1F8F);
          int iy1F85#1 = Add<int>(_t0B41,t21F95);
          addr(IMAGE2D<int>) a1F88#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F85);
          real4 v21F79#1 = LoadVoxels<IMAGE2D<int>,4>(a1F88);
          int iy1F7E#1 = Add<int>(_t0B19,t21F95);
          addr(IMAGE2D<int>) a1F81#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F7E);
          real4 v31F7A#1 = LoadVoxels<IMAGE2D<int>,4>(a1F81);
          real fy1FA2#5 = Index<real2,1>(f1F73);
          real t31FA7#1 = Add<real>(fy1FA2,_t0B15);
          real t11FA5#1 = Sub<real>(fy1FA2,_t0B15);
          real t01FA4#1 = Sub<real>(fy1FA2,_t0B17);
          real4 a1FA3#1 = <real4>[t31FA7,fy1FA2,t11FA5,t01FA4];
          real4 hy1F98#1 = EvalKernel<4,bspln3,0>(a1FA3);
          real fx1F99#5 = Index<real2,0>(f1F73);
          real t31F9E#1 = Add<real>(fx1F99,_t0B15);
          real t11F9C#1 = Sub<real>(fx1F99,_t0B15);
          real t01F9B#1 = Sub<real>(fx1F99,_t0B17);
          real4 a1F9A#1 = <real4>[t31F9E,fx1F99,t11F9C,t01F9B];
          real4 hx1F97#4 = EvalKernel<4,bspln3,0>(a1F9A);
          real t01FAC#1 = Dot<4>(v01F77,hx1F97);
          real t11FAD#1 = Dot<4>(v11F78,hx1F97);
          real t21FAE#1 = Dot<4>(v21F79,hx1F97);
          real t31FAF#1 = Dot<4>(v31F7A,hx1F97);
          real4 tv1FAB#1 = <real4>[t01FAC,t11FAD,t21FAE,t31FAF];
          real _t1F71#1 = Dot<4>(hy1F98,tv1FAB);
          real _t1FEE#2 = Sub<real>(_t1EF4,_t1F71);
          real _t1FF0#1 = Mul<real>(_t1FEE,_t1FEE);
          real score1FF2#1 = Add<real>(score1EDD,_t1FF0);
          goto JOIN1FF5
        JOIN1FF5:  preds = [ASSIGN1FF3,COND1EF3]
          real score1FF4#2 = phi(score1FF2,score1EDD)
          real _t1FF6#1 = Dot<2>(r00B2F,v190AD5);
          real _t1FF8#1 = Dot<2>(r10B35,v190AD5);
          real2 _t1FFA#1 = <real2>[_t1FF6,_t1FF8];
          real2 pos1FFC#3 = Add<real2>(_t1FFA,_t0B45);
          real2 x1FFF#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1FFC);
          bool _t1FFE#1 = Inside<IMAGE2D<float>,2>(x1FFF,_t0AA3);
          if _t1FFE then goto ASSIGN2005 else goto ASSIGN2113
        ASSIGN2005:  preds = [COND2002]
          real2 x2004#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v190AD5);
          bool _t2003#1 = Inside<IMAGE2D<int>,2>(x2004,_t0A9F);
          goto JOIN2009
        JOIN2009:  preds = [ASSIGN2006,ASSIGN2113]
          bool _t2007#1 = phi(_t2003,_t2008)
          if _t2007 then goto ASSIGN23AC else goto JOIN210C
        ASSIGN23AC:  preds = [COND200A]
          real2 nd200E#2 = Floor<2>(x1FFF);
          real2 f200D#2 = Sub<real2>(x1FFF,nd200E);
          int{2} n200F#8 = RealToInt<2>(nd200E);
          int t1202B#4 = -1;
          int t2202C#1 = Index<int{2},0>(n200F);
          int ix202A#4 = Add<int>(t1202B,t2202C);
          int t2202F#4 = Index<int{2},1>(n200F);
          int iy202D#1 = Add<int>(t1202B,t2202F);
          addr(IMAGE2D<float>) a2030#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy202D);
          real4 v02011#1 = LoadVoxels<IMAGE2D<float>,4>(a2030);
          int iy2026#1 = Add<int>(_t0B3D,t2202F);
          addr(IMAGE2D<float>) a2029#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy2026);
          real4 v12012#1 = LoadVoxels<IMAGE2D<float>,4>(a2029);
          int iy201F#1 = Add<int>(_t0B41,t2202F);
          addr(IMAGE2D<float>) a2022#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy201F);
          real4 v22013#1 = LoadVoxels<IMAGE2D<float>,4>(a2022);
          int iy2018#1 = Add<int>(_t0B19,t2202F);
          addr(IMAGE2D<float>) a201B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy2018);
          real4 v32014#1 = LoadVoxels<IMAGE2D<float>,4>(a201B);
          real fy203C#5 = Index<real2,1>(f200D);
          real t32041#1 = Add<real>(fy203C,_t0B15);
          real t1203F#1 = Sub<real>(fy203C,_t0B15);
          real t0203E#1 = Sub<real>(fy203C,_t0B17);
          real4 a203D#1 = <real4>[t32041,fy203C,t1203F,t0203E];
          real4 hy2032#1 = EvalKernel<4,bspln3,0>(a203D);
          real fx2033#5 = Index<real2,0>(f200D);
          real t32038#1 = Add<real>(fx2033,_t0B15);
          real t12036#1 = Sub<real>(fx2033,_t0B15);
          real t02035#1 = Sub<real>(fx2033,_t0B17);
          real4 a2034#1 = <real4>[t32038,fx2033,t12036,t02035];
          real4 hx2031#4 = EvalKernel<4,bspln3,0>(a2034);
          real t02046#1 = Dot<4>(v02011,hx2031);
          real t12047#1 = Dot<4>(v12012,hx2031);
          real t22048#1 = Dot<4>(v22013,hx2031);
          real t32049#1 = Dot<4>(v32014,hx2031);
          real4 tv2045#1 = <real4>[t02046,t12047,t22048,t32049];
          real _t200B#1 = Dot<4>(hy2032,tv2045);
          real2 x2089#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v190AD5);
          real2 nd208B#2 = Floor<2>(x2089);
          real2 f208A#2 = Sub<real2>(x2089,nd208B);
          int{2} n208C#8 = RealToInt<2>(nd208B);
          int t220A9#1 = Index<int{2},0>(n208C);
          int ix20A7#4 = Add<int>(t1202B,t220A9);
          int t220AC#4 = Index<int{2},1>(n208C);
          int iy20AA#1 = Add<int>(t1202B,t220AC);
          addr(IMAGE2D<int>) a20AD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy20AA);
          real4 v0208E#1 = LoadVoxels<IMAGE2D<int>,4>(a20AD);
          int iy20A3#1 = Add<int>(_t0B3D,t220AC);
          addr(IMAGE2D<int>) a20A6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy20A3);
          real4 v1208F#1 = LoadVoxels<IMAGE2D<int>,4>(a20A6);
          int iy209C#1 = Add<int>(_t0B41,t220AC);
          addr(IMAGE2D<int>) a209F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy209C);
          real4 v22090#1 = LoadVoxels<IMAGE2D<int>,4>(a209F);
          int iy2095#1 = Add<int>(_t0B19,t220AC);
          addr(IMAGE2D<int>) a2098#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy2095);
          real4 v32091#1 = LoadVoxels<IMAGE2D<int>,4>(a2098);
          real fy20B9#5 = Index<real2,1>(f208A);
          real t320BE#1 = Add<real>(fy20B9,_t0B15);
          real t120BC#1 = Sub<real>(fy20B9,_t0B15);
          real t020BB#1 = Sub<real>(fy20B9,_t0B17);
          real4 a20BA#1 = <real4>[t320BE,fy20B9,t120BC,t020BB];
          real4 hy20AF#1 = EvalKernel<4,bspln3,0>(a20BA);
          real fx20B0#5 = Index<real2,0>(f208A);
          real t320B5#1 = Add<real>(fx20B0,_t0B15);
          real t120B3#1 = Sub<real>(fx20B0,_t0B15);
          real t020B2#1 = Sub<real>(fx20B0,_t0B17);
          real4 a20B1#1 = <real4>[t320B5,fx20B0,t120B3,t020B2];
          real4 hx20AE#4 = EvalKernel<4,bspln3,0>(a20B1);
          real t020C3#1 = Dot<4>(v0208E,hx20AE);
          real t120C4#1 = Dot<4>(v1208F,hx20AE);
          real t220C5#1 = Dot<4>(v22090,hx20AE);
          real t320C6#1 = Dot<4>(v32091,hx20AE);
          real4 tv20C2#1 = <real4>[t020C3,t120C4,t220C5,t320C6];
          real _t2088#1 = Dot<4>(hy20AF,tv20C2);
          real _t2105#2 = Sub<real>(_t200B,_t2088);
          real _t2107#1 = Mul<real>(_t2105,_t2105);
          real score2109#1 = Add<real>(score1FF4,_t2107);
          goto JOIN210C
        JOIN210C:  preds = [ASSIGN210A,COND200A]
          real score210B#1 = phi(score2109,score1FF4)
          self.t = t0B11;
          self.score = score210B;
          self.r0 = r00B2F;
          self.r1 = r10B35;
          self.pos = pos1FFC;
          stabilize ()
        ASSIGN2113:  preds = [COND2002]
          bool _t2008#1 = false;
          goto JOIN2009
        ASSIGN2114:  preds = [COND1EEB]
          bool _t1EF1#1 = false;
          goto JOIN1EF2
        ASSIGN2115:  preds = [COND1DD4]
          bool _t1DDA#1 = false;
          goto JOIN1DDB
        ASSIGN2116:  preds = [COND1CBD]
          bool _t1CC3#1 = false;
          goto JOIN1CC4
        ASSIGN2117:  preds = [COND1BA6]
          bool _t1BAC#1 = false;
          goto JOIN1BAD
        ASSIGN2118:  preds = [COND1A8F]
          bool _t1A95#1 = false;
          goto JOIN1A96
        ASSIGN2119:  preds = [COND1978]
          bool _t197E#1 = false;
          goto JOIN197F
        ASSIGN211A:  preds = [COND1861]
          bool _t1867#1 = false;
          goto JOIN1868
        ASSIGN211B:  preds = [COND174A]
          bool _t1750#1 = false;
          goto JOIN1751
        ASSIGN211C:  preds = [COND1633]
          bool _t1639#1 = false;
          goto JOIN163A
        ASSIGN211D:  preds = [COND151C]
          bool _t1522#1 = false;
          goto JOIN1523
        ASSIGN211E:  preds = [COND1405]
          bool _t140B#1 = false;
          goto JOIN140C
        ASSIGN211F:  preds = [COND12EE]
          bool _t12F4#1 = false;
          goto JOIN12F5
        ASSIGN2120:  preds = [COND11D7]
          bool _t11DD#1 = false;
          goto JOIN11DE
        ASSIGN2121:  preds = [COND10C0]
          bool _t10C6#1 = false;
          goto JOIN10C7
        ASSIGN2122:  preds = [COND0FA9]
          bool _t0FAF#1 = false;
          goto JOIN0FB0
        ASSIGN2123:  preds = [COND0E92]
          bool _t0E98#1 = false;
          goto JOIN0E99
        ASSIGN2124:  preds = [COND0D7B]
          bool _t0D81#1 = false;
          goto JOIN0D82
        ASSIGN2125:  preds = [COND0C64]
          bool _t0C6A#1 = false;
          goto JOIN0C6B
        ASSIGN2126:  preds = [COND0B4D]
          bool _t0B53#1 = false;
          goto JOIN0B54
    end Update
    method Stabilize
        ENTRY2128:  preds = []
          real3 t2129#1 = self.t;
          real score212B#1 = self.score;
          real2 r0212D#1 = self.r0;
          real2 r1212F#1 = self.r1;
          real2 pos2131#1 = self.pos;
          self.t = t2129;
          self.score = score212B;
          self.r0 = r0212D;
          self.r1 = r1212F;
          self.pos = pos2131;
          return ()
    end Stabilize
  end R
#### end program ####
++ mid-opt:unused
##### MidIL after contraction ####
## properties
  none
## globals
  global int T0AD7#0
  global int F0AD8#0
  global real2 v000AA7#4
  global real2 v010AAB#4
  global real2 v020AAF#4
  global real2 v030AB3#4
  global real2 v040AB7#4
  global real2 v050AB9#4
  global real2 v060ABB#4
  global real2 v070ABD#4
  global real2 v080ABF#4
  global real2 v090AC1#4
  global real2 v100AC3#4
  global real2 v110AC5#4
  global real2 v120AC7#4
  global real2 v130AC9#4
  global real2 v140ACB#4
  global real2 v150ACD#4
  global real2 v160ACF#4
  global real2 v170AD1#4
  global real2 v180AD3#4
  global real2 v190AD5#4
  global string _t0A9D#1
  global image(IMAGE2D<int>) _t0A9F#140
  global int _t0A9B#0
  global string _t0AA1#1
  global image(IMAGE2D<float>) _t0AA3#140
  global real _t0AA5#9
  global real _t0AA9#10
  global real _t0AB1#9
  global real _t0AAD#10
  global real _t0AB5#4
## global initialization
  ENTRY0A9A:  preds = []
    string _t0A9D#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t0A9F#140 = LoadImage<IMAGE2D<int>>(_t0A9D);
    string _t0AA1#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t0AA3#140 = LoadImage<IMAGE2D<float>>(_t0AA1);
    real _t0AA5#9 = 0.0;
    real2 v000AA7#4 = <real2>[_t0AA5,_t0AA5];
    real _t0AA9#10 = 0.25e0;
    real2 v010AAB#4 = <real2>[_t0AA5,_t0AA9];
    real _t0AAD#10 = 0.5e0;
    real2 v020AAF#4 = <real2>[_t0AA5,_t0AAD];
    real _t0AB1#9 = Neg<real>(_t0AA9);
    real2 v030AB3#4 = <real2>[_t0AA5,_t0AB1];
    real _t0AB5#4 = Neg<real>(_t0AAD);
    real2 v040AB7#4 = <real2>[_t0AA5,_t0AB5];
    real2 v050AB9#4 = <real2>[_t0AA9,_t0AA5];
    real2 v060ABB#4 = <real2>[_t0AA9,_t0AA9];
    real2 v070ABD#4 = <real2>[_t0AA9,_t0AAD];
    real2 v080ABF#4 = <real2>[_t0AA9,_t0AB1];
    real2 v090AC1#4 = <real2>[_t0AA9,_t0AB5];
    real2 v100AC3#4 = <real2>[_t0AAD,_t0AA5];
    real2 v110AC5#4 = <real2>[_t0AAD,_t0AA9];
    real2 v120AC7#4 = <real2>[_t0AAD,_t0AAD];
    real2 v130AC9#4 = <real2>[_t0AAD,_t0AB1];
    real2 v140ACB#4 = <real2>[_t0AAD,_t0AB5];
    real2 v150ACD#4 = <real2>[_t0AB1,_t0AA5];
    real2 v160ACF#4 = <real2>[_t0AB1,_t0AA9];
    real2 v170AD1#4 = <real2>[_t0AB1,_t0AAD];
    real2 v180AD3#4 = <real2>[_t0AB1,_t0AB1];
    real2 v190AD5#4 = <real2>[_t0AB1,_t0AB5];
    return (T0AD7,F0AD8,v000AA7,v010AAB,v020AAF,v030AB3,v040AB7,v050AB9,v060ABB,v070ABD,v080ABF,v090AC1,v100AC3,v110AC5,v120AC7,v130AC9,v140ACB,v150ACD,v160ACF,v170AD1,v180AD3,v190AD5,_t0A9D,_t0A9F,_t0A9B,_t0AA1,_t0AA3,_t0AA5,_t0AA9,_t0AB1,_t0AAD,_t0AB5)
## initially
  ARRAY
    ENTRY0ADF:  preds = []
      int _t0ADB#4 = 0;
      int _t0ADC#4 = 60;
      live vars = (_t0ADC,_t0ADB)
    for int i0ADA#1 = _t0ADB .. _t0ADC
      for int j0ADD#1 = _t0ADB .. _t0ADC
        for int k0ADE#1 = _t0ADB .. _t0ADC
          ENTRY0AE3:  preds = []
            live vars = ()
          new R(i0ADA,j0ADD,k0ADE);
## strands
  strand R (int i0AE5#1, int j0AE6#1, int k0AE7#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY0AED:  preds = []
        real _t0AEE#1 = IntToReal(i0AE5);
        real _t0AF0#3 = 0.60e2;
        real _t0AF2#1 = Div<real>(_t0AEE,_t0AF0);
        real _t0AF4#3 = 0.5e0;
        real _t0AF6#1 = Sub<real>(_t0AF2,_t0AF4);
        real _t0AF8#1 = IntToReal(j0AE6);
        real _t0AFA#1 = Div<real>(_t0AF8,_t0AF0);
        real _t0AFC#1 = Sub<real>(_t0AFA,_t0AF4);
        real _t0AFE#1 = IntToReal(k0AE7);
        real _t0B00#1 = Div<real>(_t0AFE,_t0AF0);
        real _t0B02#1 = Sub<real>(_t0B00,_t0AF4);
        real3 t0B04#1 = <real3>[_t0AF6,_t0AFC,_t0B02];
        real score0B06#3 = 0.0;
        real2 r00B08#3 = <real2>[score0B06,score0B06];
        self.t = t0B04;
        self.score = score0B06;
        self.r0 = r00B08;
        self.r1 = r00B08;
        self.pos = r00B08;
        strand_init ()
    method Update
        ENTRY0B10:  preds = []
          real3 t0B11#4 = self.t;
          real score0B13#2 = self.score;
          real _t0B15#162 = 0.1e1;
          real _t0B17#83 = 0.2e1;
          int _t0B19#41 = 2;
          real _t0B1B#6 = Subscript<real3>(t0B11,_t0B19);
          real _t0B1D#1 = Mul<real>(_t0B17,_t0B1B);
          real _t0B1F#1 = Mul<real>(_t0B1D,_t0B1B);
          real _t0B21#2 = Sub<real>(_t0B15,_t0B1F);
          real _t0B23#1 = Neg<real>(_t0B17);
          real _t0B25#1 = Mul<real>(_t0B1B,_t0B1B);
          real _t0B27#1 = Sub<real>(_t0B15,_t0B25);
          real _t0B29#2 = sqrt(_t0B27);
          real _t0B2B#1 = Mul<real>(_t0B23,_t0B29);
          real _t0B2D#1 = Mul<real>(_t0B2B,_t0B1B);
          real2 r00B2F#21 = <real2>[_t0B21,_t0B2D];
          real _t0B31#1 = Mul<real>(_t0B17,_t0B29);
          real _t0B33#1 = Mul<real>(_t0B31,_t0B1B);
          real2 r10B35#21 = <real2>[_t0B33,_t0B21];
          real _t0B37#1 = Dot<2>(r00B2F,v000AA7);
          real _t0B39#1 = Dot<2>(r10B35,v000AA7);
          real2 _t0B3B#1 = <real2>[_t0B37,_t0B39];
          int _t0B3D#41 = 0;
          real _t0B3F#1 = Subscript<real3>(t0B11,_t0B3D);
          int _t0B41#41 = 1;
          real _t0B43#1 = Subscript<real3>(t0B11,_t0B41);
          real2 _t0B45#20 = <real2>[_t0B3F,_t0B43];
          real2 pos0B47#2 = Add<real2>(_t0B3B,_t0B45);
          real2 x0B4A#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0B47);
          bool _t0B49#1 = Inside<IMAGE2D<float>,2>(x0B4A,_t0AA3);
          if _t0B49 then goto ASSIGN0B50 else goto ASSIGN2126
        ASSIGN0B50:  preds = [COND0B4D]
          real2 x0B4F#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v000AA7);
          bool _t0B4E#1 = Inside<IMAGE2D<int>,2>(x0B4F,_t0A9F);
          goto JOIN0B54
        JOIN0B54:  preds = [ASSIGN0B51,ASSIGN2126]
          bool _t0B52#1 = phi(_t0B4E,_t0B53)
          if _t0B52 then goto ASSIGN2139 else goto JOIN0C57
        ASSIGN2139:  preds = [COND0B55]
          real2 nd0B59#2 = Floor<2>(x0B4A);
          real2 f0B58#2 = Sub<real2>(x0B4A,nd0B59);
          int{2} n0B5A#8 = RealToInt<2>(nd0B59);
          int t10B76#4 = -1;
          int t20B77#1 = Index<int{2},0>(n0B5A);
          int ix0B75#4 = Add<int>(t10B76,t20B77);
          int t20B7A#4 = Index<int{2},1>(n0B5A);
          int iy0B78#1 = Add<int>(t10B76,t20B7A);
          addr(IMAGE2D<float>) a0B7B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B78);
          real4 v00B5C#1 = LoadVoxels<IMAGE2D<float>,4>(a0B7B);
          int iy0B71#1 = Add<int>(_t0B3D,t20B7A);
          addr(IMAGE2D<float>) a0B74#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B71);
          real4 v10B5D#1 = LoadVoxels<IMAGE2D<float>,4>(a0B74);
          int iy0B6A#1 = Add<int>(_t0B41,t20B7A);
          addr(IMAGE2D<float>) a0B6D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B6A);
          real4 v20B5E#1 = LoadVoxels<IMAGE2D<float>,4>(a0B6D);
          int iy0B63#1 = Add<int>(_t0B19,t20B7A);
          addr(IMAGE2D<float>) a0B66#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0B75,iy0B63);
          real4 v30B5F#1 = LoadVoxels<IMAGE2D<float>,4>(a0B66);
          real fy0B87#5 = Index<real2,1>(f0B58);
          real t30B8C#1 = Add<real>(fy0B87,_t0B15);
          real t10B8A#1 = Sub<real>(fy0B87,_t0B15);
          real t00B89#1 = Sub<real>(fy0B87,_t0B17);
          real4 a0B88#1 = <real4>[t30B8C,fy0B87,t10B8A,t00B89];
          real4 hy0B7D#1 = EvalKernel<4,bspln3,0>(a0B88);
          real fx0B7E#5 = Index<real2,0>(f0B58);
          real t30B83#1 = Add<real>(fx0B7E,_t0B15);
          real t10B81#1 = Sub<real>(fx0B7E,_t0B15);
          real t00B80#1 = Sub<real>(fx0B7E,_t0B17);
          real4 a0B7F#1 = <real4>[t30B83,fx0B7E,t10B81,t00B80];
          real4 hx0B7C#4 = EvalKernel<4,bspln3,0>(a0B7F);
          real t00B91#1 = Dot<4>(v00B5C,hx0B7C);
          real t10B92#1 = Dot<4>(v10B5D,hx0B7C);
          real t20B93#1 = Dot<4>(v20B5E,hx0B7C);
          real t30B94#1 = Dot<4>(v30B5F,hx0B7C);
          real4 tv0B90#1 = <real4>[t00B91,t10B92,t20B93,t30B94];
          real _t0B56#1 = Dot<4>(hy0B7D,tv0B90);
          real2 x0BD4#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v000AA7);
          real2 nd0BD6#2 = Floor<2>(x0BD4);
          real2 f0BD5#2 = Sub<real2>(x0BD4,nd0BD6);
          int{2} n0BD7#8 = RealToInt<2>(nd0BD6);
          int t20BF4#1 = Index<int{2},0>(n0BD7);
          int ix0BF2#4 = Add<int>(t10B76,t20BF4);
          int t20BF7#4 = Index<int{2},1>(n0BD7);
          int iy0BF5#1 = Add<int>(t10B76,t20BF7);
          addr(IMAGE2D<int>) a0BF8#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BF5);
          real4 v00BD9#1 = LoadVoxels<IMAGE2D<int>,4>(a0BF8);
          int iy0BEE#1 = Add<int>(_t0B3D,t20BF7);
          addr(IMAGE2D<int>) a0BF1#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BEE);
          real4 v10BDA#1 = LoadVoxels<IMAGE2D<int>,4>(a0BF1);
          int iy0BE7#1 = Add<int>(_t0B41,t20BF7);
          addr(IMAGE2D<int>) a0BEA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BE7);
          real4 v20BDB#1 = LoadVoxels<IMAGE2D<int>,4>(a0BEA);
          int iy0BE0#1 = Add<int>(_t0B19,t20BF7);
          addr(IMAGE2D<int>) a0BE3#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0BF2,iy0BE0);
          real4 v30BDC#1 = LoadVoxels<IMAGE2D<int>,4>(a0BE3);
          real fy0C04#5 = Index<real2,1>(f0BD5);
          real t30C09#1 = Add<real>(fy0C04,_t0B15);
          real t10C07#1 = Sub<real>(fy0C04,_t0B15);
          real t00C06#1 = Sub<real>(fy0C04,_t0B17);
          real4 a0C05#1 = <real4>[t30C09,fy0C04,t10C07,t00C06];
          real4 hy0BFA#1 = EvalKernel<4,bspln3,0>(a0C05);
          real fx0BFB#5 = Index<real2,0>(f0BD5);
          real t30C00#1 = Add<real>(fx0BFB,_t0B15);
          real t10BFE#1 = Sub<real>(fx0BFB,_t0B15);
          real t00BFD#1 = Sub<real>(fx0BFB,_t0B17);
          real4 a0BFC#1 = <real4>[t30C00,fx0BFB,t10BFE,t00BFD];
          real4 hx0BF9#4 = EvalKernel<4,bspln3,0>(a0BFC);
          real t00C0E#1 = Dot<4>(v00BD9,hx0BF9);
          real t10C0F#1 = Dot<4>(v10BDA,hx0BF9);
          real t20C10#1 = Dot<4>(v20BDB,hx0BF9);
          real t30C11#1 = Dot<4>(v30BDC,hx0BF9);
          real4 tv0C0D#1 = <real4>[t00C0E,t10C0F,t20C10,t30C11];
          real _t0BD3#1 = Dot<4>(hy0BFA,tv0C0D);
          real _t0C50#2 = Sub<real>(_t0B56,_t0BD3);
          real _t0C52#1 = Mul<real>(_t0C50,_t0C50);
          real score0C54#1 = Add<real>(score0B13,_t0C52);
          goto JOIN0C57
        JOIN0C57:  preds = [ASSIGN0C55,COND0B55]
          real score0C56#2 = phi(score0C54,score0B13)
          real _t0C58#1 = Dot<2>(r00B2F,v010AAB);
          real _t0C5A#1 = Dot<2>(r10B35,v010AAB);
          real2 _t0C5C#1 = <real2>[_t0C58,_t0C5A];
          real2 pos0C5E#2 = Add<real2>(_t0C5C,_t0B45);
          real2 x0C61#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0C5E);
          bool _t0C60#1 = Inside<IMAGE2D<float>,2>(x0C61,_t0AA3);
          if _t0C60 then goto ASSIGN0C67 else goto ASSIGN2125
        ASSIGN0C67:  preds = [COND0C64]
          real2 x0C66#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v010AAB);
          bool _t0C65#1 = Inside<IMAGE2D<int>,2>(x0C66,_t0A9F);
          goto JOIN0C6B
        JOIN0C6B:  preds = [ASSIGN0C68,ASSIGN2125]
          bool _t0C69#1 = phi(_t0C65,_t0C6A)
          if _t0C69 then goto ASSIGN215A else goto JOIN0D6E
        ASSIGN215A:  preds = [COND0C6C]
          real2 nd0C70#2 = Floor<2>(x0C61);
          real2 f0C6F#2 = Sub<real2>(x0C61,nd0C70);
          int{2} n0C71#8 = RealToInt<2>(nd0C70);
          int t10C8D#4 = -1;
          int t20C8E#1 = Index<int{2},0>(n0C71);
          int ix0C8C#4 = Add<int>(t10C8D,t20C8E);
          int t20C91#4 = Index<int{2},1>(n0C71);
          int iy0C8F#1 = Add<int>(t10C8D,t20C91);
          addr(IMAGE2D<float>) a0C92#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C8F);
          real4 v00C73#1 = LoadVoxels<IMAGE2D<float>,4>(a0C92);
          int iy0C88#1 = Add<int>(_t0B3D,t20C91);
          addr(IMAGE2D<float>) a0C8B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C88);
          real4 v10C74#1 = LoadVoxels<IMAGE2D<float>,4>(a0C8B);
          int iy0C81#1 = Add<int>(_t0B41,t20C91);
          addr(IMAGE2D<float>) a0C84#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C81);
          real4 v20C75#1 = LoadVoxels<IMAGE2D<float>,4>(a0C84);
          int iy0C7A#1 = Add<int>(_t0B19,t20C91);
          addr(IMAGE2D<float>) a0C7D#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0C8C,iy0C7A);
          real4 v30C76#1 = LoadVoxels<IMAGE2D<float>,4>(a0C7D);
          real fy0C9E#5 = Index<real2,1>(f0C6F);
          real t30CA3#1 = Add<real>(fy0C9E,_t0B15);
          real t10CA1#1 = Sub<real>(fy0C9E,_t0B15);
          real t00CA0#1 = Sub<real>(fy0C9E,_t0B17);
          real4 a0C9F#1 = <real4>[t30CA3,fy0C9E,t10CA1,t00CA0];
          real4 hy0C94#1 = EvalKernel<4,bspln3,0>(a0C9F);
          real fx0C95#5 = Index<real2,0>(f0C6F);
          real t30C9A#1 = Add<real>(fx0C95,_t0B15);
          real t10C98#1 = Sub<real>(fx0C95,_t0B15);
          real t00C97#1 = Sub<real>(fx0C95,_t0B17);
          real4 a0C96#1 = <real4>[t30C9A,fx0C95,t10C98,t00C97];
          real4 hx0C93#4 = EvalKernel<4,bspln3,0>(a0C96);
          real t00CA8#1 = Dot<4>(v00C73,hx0C93);
          real t10CA9#1 = Dot<4>(v10C74,hx0C93);
          real t20CAA#1 = Dot<4>(v20C75,hx0C93);
          real t30CAB#1 = Dot<4>(v30C76,hx0C93);
          real4 tv0CA7#1 = <real4>[t00CA8,t10CA9,t20CAA,t30CAB];
          real _t0C6D#1 = Dot<4>(hy0C94,tv0CA7);
          real2 x0CEB#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v010AAB);
          real2 nd0CED#2 = Floor<2>(x0CEB);
          real2 f0CEC#2 = Sub<real2>(x0CEB,nd0CED);
          int{2} n0CEE#8 = RealToInt<2>(nd0CED);
          int t20D0B#1 = Index<int{2},0>(n0CEE);
          int ix0D09#4 = Add<int>(t10C8D,t20D0B);
          int t20D0E#4 = Index<int{2},1>(n0CEE);
          int iy0D0C#1 = Add<int>(t10C8D,t20D0E);
          addr(IMAGE2D<int>) a0D0F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0D0C);
          real4 v00CF0#1 = LoadVoxels<IMAGE2D<int>,4>(a0D0F);
          int iy0D05#1 = Add<int>(_t0B3D,t20D0E);
          addr(IMAGE2D<int>) a0D08#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0D05);
          real4 v10CF1#1 = LoadVoxels<IMAGE2D<int>,4>(a0D08);
          int iy0CFE#1 = Add<int>(_t0B41,t20D0E);
          addr(IMAGE2D<int>) a0D01#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0CFE);
          real4 v20CF2#1 = LoadVoxels<IMAGE2D<int>,4>(a0D01);
          int iy0CF7#1 = Add<int>(_t0B19,t20D0E);
          addr(IMAGE2D<int>) a0CFA#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0D09,iy0CF7);
          real4 v30CF3#1 = LoadVoxels<IMAGE2D<int>,4>(a0CFA);
          real fy0D1B#5 = Index<real2,1>(f0CEC);
          real t30D20#1 = Add<real>(fy0D1B,_t0B15);
          real t10D1E#1 = Sub<real>(fy0D1B,_t0B15);
          real t00D1D#1 = Sub<real>(fy0D1B,_t0B17);
          real4 a0D1C#1 = <real4>[t30D20,fy0D1B,t10D1E,t00D1D];
          real4 hy0D11#1 = EvalKernel<4,bspln3,0>(a0D1C);
          real fx0D12#5 = Index<real2,0>(f0CEC);
          real t30D17#1 = Add<real>(fx0D12,_t0B15);
          real t10D15#1 = Sub<real>(fx0D12,_t0B15);
          real t00D14#1 = Sub<real>(fx0D12,_t0B17);
          real4 a0D13#1 = <real4>[t30D17,fx0D12,t10D15,t00D14];
          real4 hx0D10#4 = EvalKernel<4,bspln3,0>(a0D13);
          real t00D25#1 = Dot<4>(v00CF0,hx0D10);
          real t10D26#1 = Dot<4>(v10CF1,hx0D10);
          real t20D27#1 = Dot<4>(v20CF2,hx0D10);
          real t30D28#1 = Dot<4>(v30CF3,hx0D10);
          real4 tv0D24#1 = <real4>[t00D25,t10D26,t20D27,t30D28];
          real _t0CEA#1 = Dot<4>(hy0D11,tv0D24);
          real _t0D67#2 = Sub<real>(_t0C6D,_t0CEA);
          real _t0D69#1 = Mul<real>(_t0D67,_t0D67);
          real score0D6B#1 = Add<real>(score0C56,_t0D69);
          goto JOIN0D6E
        JOIN0D6E:  preds = [ASSIGN0D6C,COND0C6C]
          real score0D6D#2 = phi(score0D6B,score0C56)
          real _t0D6F#1 = Dot<2>(r00B2F,v020AAF);
          real _t0D71#1 = Dot<2>(r10B35,v020AAF);
          real2 _t0D73#1 = <real2>[_t0D6F,_t0D71];
          real2 pos0D75#2 = Add<real2>(_t0D73,_t0B45);
          real2 x0D78#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0D75);
          bool _t0D77#1 = Inside<IMAGE2D<float>,2>(x0D78,_t0AA3);
          if _t0D77 then goto ASSIGN0D7E else goto ASSIGN2124
        ASSIGN0D7E:  preds = [COND0D7B]
          real2 x0D7D#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v020AAF);
          bool _t0D7C#1 = Inside<IMAGE2D<int>,2>(x0D7D,_t0A9F);
          goto JOIN0D82
        JOIN0D82:  preds = [ASSIGN0D7F,ASSIGN2124]
          bool _t0D80#1 = phi(_t0D7C,_t0D81)
          if _t0D80 then goto ASSIGN217B else goto JOIN0E85
        ASSIGN217B:  preds = [COND0D83]
          real2 nd0D87#2 = Floor<2>(x0D78);
          real2 f0D86#2 = Sub<real2>(x0D78,nd0D87);
          int{2} n0D88#8 = RealToInt<2>(nd0D87);
          int t10DA4#4 = -1;
          int t20DA5#1 = Index<int{2},0>(n0D88);
          int ix0DA3#4 = Add<int>(t10DA4,t20DA5);
          int t20DA8#4 = Index<int{2},1>(n0D88);
          int iy0DA6#1 = Add<int>(t10DA4,t20DA8);
          addr(IMAGE2D<float>) a0DA9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0DA6);
          real4 v00D8A#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA9);
          int iy0D9F#1 = Add<int>(_t0B3D,t20DA8);
          addr(IMAGE2D<float>) a0DA2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0D9F);
          real4 v10D8B#1 = LoadVoxels<IMAGE2D<float>,4>(a0DA2);
          int iy0D98#1 = Add<int>(_t0B41,t20DA8);
          addr(IMAGE2D<float>) a0D9B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0D98);
          real4 v20D8C#1 = LoadVoxels<IMAGE2D<float>,4>(a0D9B);
          int iy0D91#1 = Add<int>(_t0B19,t20DA8);
          addr(IMAGE2D<float>) a0D94#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0DA3,iy0D91);
          real4 v30D8D#1 = LoadVoxels<IMAGE2D<float>,4>(a0D94);
          real fy0DB5#5 = Index<real2,1>(f0D86);
          real t30DBA#1 = Add<real>(fy0DB5,_t0B15);
          real t10DB8#1 = Sub<real>(fy0DB5,_t0B15);
          real t00DB7#1 = Sub<real>(fy0DB5,_t0B17);
          real4 a0DB6#1 = <real4>[t30DBA,fy0DB5,t10DB8,t00DB7];
          real4 hy0DAB#1 = EvalKernel<4,bspln3,0>(a0DB6);
          real fx0DAC#5 = Index<real2,0>(f0D86);
          real t30DB1#1 = Add<real>(fx0DAC,_t0B15);
          real t10DAF#1 = Sub<real>(fx0DAC,_t0B15);
          real t00DAE#1 = Sub<real>(fx0DAC,_t0B17);
          real4 a0DAD#1 = <real4>[t30DB1,fx0DAC,t10DAF,t00DAE];
          real4 hx0DAA#4 = EvalKernel<4,bspln3,0>(a0DAD);
          real t00DBF#1 = Dot<4>(v00D8A,hx0DAA);
          real t10DC0#1 = Dot<4>(v10D8B,hx0DAA);
          real t20DC1#1 = Dot<4>(v20D8C,hx0DAA);
          real t30DC2#1 = Dot<4>(v30D8D,hx0DAA);
          real4 tv0DBE#1 = <real4>[t00DBF,t10DC0,t20DC1,t30DC2];
          real _t0D84#1 = Dot<4>(hy0DAB,tv0DBE);
          real2 x0E02#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v020AAF);
          real2 nd0E04#2 = Floor<2>(x0E02);
          real2 f0E03#2 = Sub<real2>(x0E02,nd0E04);
          int{2} n0E05#8 = RealToInt<2>(nd0E04);
          int t20E22#1 = Index<int{2},0>(n0E05);
          int ix0E20#4 = Add<int>(t10DA4,t20E22);
          int t20E25#4 = Index<int{2},1>(n0E05);
          int iy0E23#1 = Add<int>(t10DA4,t20E25);
          addr(IMAGE2D<int>) a0E26#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E23);
          real4 v00E07#1 = LoadVoxels<IMAGE2D<int>,4>(a0E26);
          int iy0E1C#1 = Add<int>(_t0B3D,t20E25);
          addr(IMAGE2D<int>) a0E1F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E1C);
          real4 v10E08#1 = LoadVoxels<IMAGE2D<int>,4>(a0E1F);
          int iy0E15#1 = Add<int>(_t0B41,t20E25);
          addr(IMAGE2D<int>) a0E18#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E15);
          real4 v20E09#1 = LoadVoxels<IMAGE2D<int>,4>(a0E18);
          int iy0E0E#1 = Add<int>(_t0B19,t20E25);
          addr(IMAGE2D<int>) a0E11#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0E20,iy0E0E);
          real4 v30E0A#1 = LoadVoxels<IMAGE2D<int>,4>(a0E11);
          real fy0E32#5 = Index<real2,1>(f0E03);
          real t30E37#1 = Add<real>(fy0E32,_t0B15);
          real t10E35#1 = Sub<real>(fy0E32,_t0B15);
          real t00E34#1 = Sub<real>(fy0E32,_t0B17);
          real4 a0E33#1 = <real4>[t30E37,fy0E32,t10E35,t00E34];
          real4 hy0E28#1 = EvalKernel<4,bspln3,0>(a0E33);
          real fx0E29#5 = Index<real2,0>(f0E03);
          real t30E2E#1 = Add<real>(fx0E29,_t0B15);
          real t10E2C#1 = Sub<real>(fx0E29,_t0B15);
          real t00E2B#1 = Sub<real>(fx0E29,_t0B17);
          real4 a0E2A#1 = <real4>[t30E2E,fx0E29,t10E2C,t00E2B];
          real4 hx0E27#4 = EvalKernel<4,bspln3,0>(a0E2A);
          real t00E3C#1 = Dot<4>(v00E07,hx0E27);
          real t10E3D#1 = Dot<4>(v10E08,hx0E27);
          real t20E3E#1 = Dot<4>(v20E09,hx0E27);
          real t30E3F#1 = Dot<4>(v30E0A,hx0E27);
          real4 tv0E3B#1 = <real4>[t00E3C,t10E3D,t20E3E,t30E3F];
          real _t0E01#1 = Dot<4>(hy0E28,tv0E3B);
          real _t0E7E#2 = Sub<real>(_t0D84,_t0E01);
          real _t0E80#1 = Mul<real>(_t0E7E,_t0E7E);
          real score0E82#1 = Add<real>(score0D6D,_t0E80);
          goto JOIN0E85
        JOIN0E85:  preds = [ASSIGN0E83,COND0D83]
          real score0E84#2 = phi(score0E82,score0D6D)
          real _t0E86#1 = Dot<2>(r00B2F,v030AB3);
          real _t0E88#1 = Dot<2>(r10B35,v030AB3);
          real2 _t0E8A#1 = <real2>[_t0E86,_t0E88];
          real2 pos0E8C#2 = Add<real2>(_t0E8A,_t0B45);
          real2 x0E8F#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0E8C);
          bool _t0E8E#1 = Inside<IMAGE2D<float>,2>(x0E8F,_t0AA3);
          if _t0E8E then goto ASSIGN0E95 else goto ASSIGN2123
        ASSIGN0E95:  preds = [COND0E92]
          real2 x0E94#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v030AB3);
          bool _t0E93#1 = Inside<IMAGE2D<int>,2>(x0E94,_t0A9F);
          goto JOIN0E99
        JOIN0E99:  preds = [ASSIGN0E96,ASSIGN2123]
          bool _t0E97#1 = phi(_t0E93,_t0E98)
          if _t0E97 then goto ASSIGN219C else goto JOIN0F9C
        ASSIGN219C:  preds = [COND0E9A]
          real2 nd0E9E#2 = Floor<2>(x0E8F);
          real2 f0E9D#2 = Sub<real2>(x0E8F,nd0E9E);
          int{2} n0E9F#8 = RealToInt<2>(nd0E9E);
          int t10EBB#4 = -1;
          int t20EBC#1 = Index<int{2},0>(n0E9F);
          int ix0EBA#4 = Add<int>(t10EBB,t20EBC);
          int t20EBF#4 = Index<int{2},1>(n0E9F);
          int iy0EBD#1 = Add<int>(t10EBB,t20EBF);
          addr(IMAGE2D<float>) a0EC0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EBD);
          real4 v00EA1#1 = LoadVoxels<IMAGE2D<float>,4>(a0EC0);
          int iy0EB6#1 = Add<int>(_t0B3D,t20EBF);
          addr(IMAGE2D<float>) a0EB9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EB6);
          real4 v10EA2#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB9);
          int iy0EAF#1 = Add<int>(_t0B41,t20EBF);
          addr(IMAGE2D<float>) a0EB2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EAF);
          real4 v20EA3#1 = LoadVoxels<IMAGE2D<float>,4>(a0EB2);
          int iy0EA8#1 = Add<int>(_t0B19,t20EBF);
          addr(IMAGE2D<float>) a0EAB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0EBA,iy0EA8);
          real4 v30EA4#1 = LoadVoxels<IMAGE2D<float>,4>(a0EAB);
          real fy0ECC#5 = Index<real2,1>(f0E9D);
          real t30ED1#1 = Add<real>(fy0ECC,_t0B15);
          real t10ECF#1 = Sub<real>(fy0ECC,_t0B15);
          real t00ECE#1 = Sub<real>(fy0ECC,_t0B17);
          real4 a0ECD#1 = <real4>[t30ED1,fy0ECC,t10ECF,t00ECE];
          real4 hy0EC2#1 = EvalKernel<4,bspln3,0>(a0ECD);
          real fx0EC3#5 = Index<real2,0>(f0E9D);
          real t30EC8#1 = Add<real>(fx0EC3,_t0B15);
          real t10EC6#1 = Sub<real>(fx0EC3,_t0B15);
          real t00EC5#1 = Sub<real>(fx0EC3,_t0B17);
          real4 a0EC4#1 = <real4>[t30EC8,fx0EC3,t10EC6,t00EC5];
          real4 hx0EC1#4 = EvalKernel<4,bspln3,0>(a0EC4);
          real t00ED6#1 = Dot<4>(v00EA1,hx0EC1);
          real t10ED7#1 = Dot<4>(v10EA2,hx0EC1);
          real t20ED8#1 = Dot<4>(v20EA3,hx0EC1);
          real t30ED9#1 = Dot<4>(v30EA4,hx0EC1);
          real4 tv0ED5#1 = <real4>[t00ED6,t10ED7,t20ED8,t30ED9];
          real _t0E9B#1 = Dot<4>(hy0EC2,tv0ED5);
          real2 x0F19#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v030AB3);
          real2 nd0F1B#2 = Floor<2>(x0F19);
          real2 f0F1A#2 = Sub<real2>(x0F19,nd0F1B);
          int{2} n0F1C#8 = RealToInt<2>(nd0F1B);
          int t20F39#1 = Index<int{2},0>(n0F1C);
          int ix0F37#4 = Add<int>(t10EBB,t20F39);
          int t20F3C#4 = Index<int{2},1>(n0F1C);
          int iy0F3A#1 = Add<int>(t10EBB,t20F3C);
          addr(IMAGE2D<int>) a0F3D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F3A);
          real4 v00F1E#1 = LoadVoxels<IMAGE2D<int>,4>(a0F3D);
          int iy0F33#1 = Add<int>(_t0B3D,t20F3C);
          addr(IMAGE2D<int>) a0F36#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F33);
          real4 v10F1F#1 = LoadVoxels<IMAGE2D<int>,4>(a0F36);
          int iy0F2C#1 = Add<int>(_t0B41,t20F3C);
          addr(IMAGE2D<int>) a0F2F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F2C);
          real4 v20F20#1 = LoadVoxels<IMAGE2D<int>,4>(a0F2F);
          int iy0F25#1 = Add<int>(_t0B19,t20F3C);
          addr(IMAGE2D<int>) a0F28#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix0F37,iy0F25);
          real4 v30F21#1 = LoadVoxels<IMAGE2D<int>,4>(a0F28);
          real fy0F49#5 = Index<real2,1>(f0F1A);
          real t30F4E#1 = Add<real>(fy0F49,_t0B15);
          real t10F4C#1 = Sub<real>(fy0F49,_t0B15);
          real t00F4B#1 = Sub<real>(fy0F49,_t0B17);
          real4 a0F4A#1 = <real4>[t30F4E,fy0F49,t10F4C,t00F4B];
          real4 hy0F3F#1 = EvalKernel<4,bspln3,0>(a0F4A);
          real fx0F40#5 = Index<real2,0>(f0F1A);
          real t30F45#1 = Add<real>(fx0F40,_t0B15);
          real t10F43#1 = Sub<real>(fx0F40,_t0B15);
          real t00F42#1 = Sub<real>(fx0F40,_t0B17);
          real4 a0F41#1 = <real4>[t30F45,fx0F40,t10F43,t00F42];
          real4 hx0F3E#4 = EvalKernel<4,bspln3,0>(a0F41);
          real t00F53#1 = Dot<4>(v00F1E,hx0F3E);
          real t10F54#1 = Dot<4>(v10F1F,hx0F3E);
          real t20F55#1 = Dot<4>(v20F20,hx0F3E);
          real t30F56#1 = Dot<4>(v30F21,hx0F3E);
          real4 tv0F52#1 = <real4>[t00F53,t10F54,t20F55,t30F56];
          real _t0F18#1 = Dot<4>(hy0F3F,tv0F52);
          real _t0F95#2 = Sub<real>(_t0E9B,_t0F18);
          real _t0F97#1 = Mul<real>(_t0F95,_t0F95);
          real score0F99#1 = Add<real>(score0E84,_t0F97);
          goto JOIN0F9C
        JOIN0F9C:  preds = [ASSIGN0F9A,COND0E9A]
          real score0F9B#2 = phi(score0F99,score0E84)
          real _t0F9D#1 = Dot<2>(r00B2F,v040AB7);
          real _t0F9F#1 = Dot<2>(r10B35,v040AB7);
          real2 _t0FA1#1 = <real2>[_t0F9D,_t0F9F];
          real2 pos0FA3#2 = Add<real2>(_t0FA1,_t0B45);
          real2 x0FA6#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos0FA3);
          bool _t0FA5#1 = Inside<IMAGE2D<float>,2>(x0FA6,_t0AA3);
          if _t0FA5 then goto ASSIGN0FAC else goto ASSIGN2122
        ASSIGN0FAC:  preds = [COND0FA9]
          real2 x0FAB#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v040AB7);
          bool _t0FAA#1 = Inside<IMAGE2D<int>,2>(x0FAB,_t0A9F);
          goto JOIN0FB0
        JOIN0FB0:  preds = [ASSIGN0FAD,ASSIGN2122]
          bool _t0FAE#1 = phi(_t0FAA,_t0FAF)
          if _t0FAE then goto ASSIGN21BD else goto JOIN10B3
        ASSIGN21BD:  preds = [COND0FB1]
          real2 nd0FB5#2 = Floor<2>(x0FA6);
          real2 f0FB4#2 = Sub<real2>(x0FA6,nd0FB5);
          int{2} n0FB6#8 = RealToInt<2>(nd0FB5);
          int t10FD2#4 = -1;
          int t20FD3#1 = Index<int{2},0>(n0FB6);
          int ix0FD1#4 = Add<int>(t10FD2,t20FD3);
          int t20FD6#4 = Index<int{2},1>(n0FB6);
          int iy0FD4#1 = Add<int>(t10FD2,t20FD6);
          addr(IMAGE2D<float>) a0FD7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FD4);
          real4 v00FB8#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD7);
          int iy0FCD#1 = Add<int>(_t0B3D,t20FD6);
          addr(IMAGE2D<float>) a0FD0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FCD);
          real4 v10FB9#1 = LoadVoxels<IMAGE2D<float>,4>(a0FD0);
          int iy0FC6#1 = Add<int>(_t0B41,t20FD6);
          addr(IMAGE2D<float>) a0FC9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FC6);
          real4 v20FBA#1 = LoadVoxels<IMAGE2D<float>,4>(a0FC9);
          int iy0FBF#1 = Add<int>(_t0B19,t20FD6);
          addr(IMAGE2D<float>) a0FC2#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix0FD1,iy0FBF);
          real4 v30FBB#1 = LoadVoxels<IMAGE2D<float>,4>(a0FC2);
          real fy0FE3#5 = Index<real2,1>(f0FB4);
          real t30FE8#1 = Add<real>(fy0FE3,_t0B15);
          real t10FE6#1 = Sub<real>(fy0FE3,_t0B15);
          real t00FE5#1 = Sub<real>(fy0FE3,_t0B17);
          real4 a0FE4#1 = <real4>[t30FE8,fy0FE3,t10FE6,t00FE5];
          real4 hy0FD9#1 = EvalKernel<4,bspln3,0>(a0FE4);
          real fx0FDA#5 = Index<real2,0>(f0FB4);
          real t30FDF#1 = Add<real>(fx0FDA,_t0B15);
          real t10FDD#1 = Sub<real>(fx0FDA,_t0B15);
          real t00FDC#1 = Sub<real>(fx0FDA,_t0B17);
          real4 a0FDB#1 = <real4>[t30FDF,fx0FDA,t10FDD,t00FDC];
          real4 hx0FD8#4 = EvalKernel<4,bspln3,0>(a0FDB);
          real t00FED#1 = Dot<4>(v00FB8,hx0FD8);
          real t10FEE#1 = Dot<4>(v10FB9,hx0FD8);
          real t20FEF#1 = Dot<4>(v20FBA,hx0FD8);
          real t30FF0#1 = Dot<4>(v30FBB,hx0FD8);
          real4 tv0FEC#1 = <real4>[t00FED,t10FEE,t20FEF,t30FF0];
          real _t0FB2#1 = Dot<4>(hy0FD9,tv0FEC);
          real2 x1030#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v040AB7);
          real2 nd1032#2 = Floor<2>(x1030);
          real2 f1031#2 = Sub<real2>(x1030,nd1032);
          int{2} n1033#8 = RealToInt<2>(nd1032);
          int t21050#1 = Index<int{2},0>(n1033);
          int ix104E#4 = Add<int>(t10FD2,t21050);
          int t21053#4 = Index<int{2},1>(n1033);
          int iy1051#1 = Add<int>(t10FD2,t21053);
          addr(IMAGE2D<int>) a1054#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy1051);
          real4 v01035#1 = LoadVoxels<IMAGE2D<int>,4>(a1054);
          int iy104A#1 = Add<int>(_t0B3D,t21053);
          addr(IMAGE2D<int>) a104D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy104A);
          real4 v11036#1 = LoadVoxels<IMAGE2D<int>,4>(a104D);
          int iy1043#1 = Add<int>(_t0B41,t21053);
          addr(IMAGE2D<int>) a1046#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy1043);
          real4 v21037#1 = LoadVoxels<IMAGE2D<int>,4>(a1046);
          int iy103C#1 = Add<int>(_t0B19,t21053);
          addr(IMAGE2D<int>) a103F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix104E,iy103C);
          real4 v31038#1 = LoadVoxels<IMAGE2D<int>,4>(a103F);
          real fy1060#5 = Index<real2,1>(f1031);
          real t31065#1 = Add<real>(fy1060,_t0B15);
          real t11063#1 = Sub<real>(fy1060,_t0B15);
          real t01062#1 = Sub<real>(fy1060,_t0B17);
          real4 a1061#1 = <real4>[t31065,fy1060,t11063,t01062];
          real4 hy1056#1 = EvalKernel<4,bspln3,0>(a1061);
          real fx1057#5 = Index<real2,0>(f1031);
          real t3105C#1 = Add<real>(fx1057,_t0B15);
          real t1105A#1 = Sub<real>(fx1057,_t0B15);
          real t01059#1 = Sub<real>(fx1057,_t0B17);
          real4 a1058#1 = <real4>[t3105C,fx1057,t1105A,t01059];
          real4 hx1055#4 = EvalKernel<4,bspln3,0>(a1058);
          real t0106A#1 = Dot<4>(v01035,hx1055);
          real t1106B#1 = Dot<4>(v11036,hx1055);
          real t2106C#1 = Dot<4>(v21037,hx1055);
          real t3106D#1 = Dot<4>(v31038,hx1055);
          real4 tv1069#1 = <real4>[t0106A,t1106B,t2106C,t3106D];
          real _t102F#1 = Dot<4>(hy1056,tv1069);
          real _t10AC#2 = Sub<real>(_t0FB2,_t102F);
          real _t10AE#1 = Mul<real>(_t10AC,_t10AC);
          real score10B0#1 = Add<real>(score0F9B,_t10AE);
          goto JOIN10B3
        JOIN10B3:  preds = [ASSIGN10B1,COND0FB1]
          real score10B2#2 = phi(score10B0,score0F9B)
          real _t10B4#1 = Dot<2>(r00B2F,v050AB9);
          real _t10B6#1 = Dot<2>(r10B35,v050AB9);
          real2 _t10B8#1 = <real2>[_t10B4,_t10B6];
          real2 pos10BA#2 = Add<real2>(_t10B8,_t0B45);
          real2 x10BD#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos10BA);
          bool _t10BC#1 = Inside<IMAGE2D<float>,2>(x10BD,_t0AA3);
          if _t10BC then goto ASSIGN10C3 else goto ASSIGN2121
        ASSIGN10C3:  preds = [COND10C0]
          real2 x10C2#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v050AB9);
          bool _t10C1#1 = Inside<IMAGE2D<int>,2>(x10C2,_t0A9F);
          goto JOIN10C7
        JOIN10C7:  preds = [ASSIGN10C4,ASSIGN2121]
          bool _t10C5#1 = phi(_t10C1,_t10C6)
          if _t10C5 then goto ASSIGN21DE else goto JOIN11CA
        ASSIGN21DE:  preds = [COND10C8]
          real2 nd10CC#2 = Floor<2>(x10BD);
          real2 f10CB#2 = Sub<real2>(x10BD,nd10CC);
          int{2} n10CD#8 = RealToInt<2>(nd10CC);
          int t110E9#4 = -1;
          int t210EA#1 = Index<int{2},0>(n10CD);
          int ix10E8#4 = Add<int>(t110E9,t210EA);
          int t210ED#4 = Index<int{2},1>(n10CD);
          int iy10EB#1 = Add<int>(t110E9,t210ED);
          addr(IMAGE2D<float>) a10EE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10EB);
          real4 v010CF#1 = LoadVoxels<IMAGE2D<float>,4>(a10EE);
          int iy10E4#1 = Add<int>(_t0B3D,t210ED);
          addr(IMAGE2D<float>) a10E7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10E4);
          real4 v110D0#1 = LoadVoxels<IMAGE2D<float>,4>(a10E7);
          int iy10DD#1 = Add<int>(_t0B41,t210ED);
          addr(IMAGE2D<float>) a10E0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10DD);
          real4 v210D1#1 = LoadVoxels<IMAGE2D<float>,4>(a10E0);
          int iy10D6#1 = Add<int>(_t0B19,t210ED);
          addr(IMAGE2D<float>) a10D9#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix10E8,iy10D6);
          real4 v310D2#1 = LoadVoxels<IMAGE2D<float>,4>(a10D9);
          real fy10FA#5 = Index<real2,1>(f10CB);
          real t310FF#1 = Add<real>(fy10FA,_t0B15);
          real t110FD#1 = Sub<real>(fy10FA,_t0B15);
          real t010FC#1 = Sub<real>(fy10FA,_t0B17);
          real4 a10FB#1 = <real4>[t310FF,fy10FA,t110FD,t010FC];
          real4 hy10F0#1 = EvalKernel<4,bspln3,0>(a10FB);
          real fx10F1#5 = Index<real2,0>(f10CB);
          real t310F6#1 = Add<real>(fx10F1,_t0B15);
          real t110F4#1 = Sub<real>(fx10F1,_t0B15);
          real t010F3#1 = Sub<real>(fx10F1,_t0B17);
          real4 a10F2#1 = <real4>[t310F6,fx10F1,t110F4,t010F3];
          real4 hx10EF#4 = EvalKernel<4,bspln3,0>(a10F2);
          real t01104#1 = Dot<4>(v010CF,hx10EF);
          real t11105#1 = Dot<4>(v110D0,hx10EF);
          real t21106#1 = Dot<4>(v210D1,hx10EF);
          real t31107#1 = Dot<4>(v310D2,hx10EF);
          real4 tv1103#1 = <real4>[t01104,t11105,t21106,t31107];
          real _t10C9#1 = Dot<4>(hy10F0,tv1103);
          real2 x1147#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v050AB9);
          real2 nd1149#2 = Floor<2>(x1147);
          real2 f1148#2 = Sub<real2>(x1147,nd1149);
          int{2} n114A#8 = RealToInt<2>(nd1149);
          int t21167#1 = Index<int{2},0>(n114A);
          int ix1165#4 = Add<int>(t110E9,t21167);
          int t2116A#4 = Index<int{2},1>(n114A);
          int iy1168#1 = Add<int>(t110E9,t2116A);
          addr(IMAGE2D<int>) a116B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy1168);
          real4 v0114C#1 = LoadVoxels<IMAGE2D<int>,4>(a116B);
          int iy1161#1 = Add<int>(_t0B3D,t2116A);
          addr(IMAGE2D<int>) a1164#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy1161);
          real4 v1114D#1 = LoadVoxels<IMAGE2D<int>,4>(a1164);
          int iy115A#1 = Add<int>(_t0B41,t2116A);
          addr(IMAGE2D<int>) a115D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy115A);
          real4 v2114E#1 = LoadVoxels<IMAGE2D<int>,4>(a115D);
          int iy1153#1 = Add<int>(_t0B19,t2116A);
          addr(IMAGE2D<int>) a1156#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1165,iy1153);
          real4 v3114F#1 = LoadVoxels<IMAGE2D<int>,4>(a1156);
          real fy1177#5 = Index<real2,1>(f1148);
          real t3117C#1 = Add<real>(fy1177,_t0B15);
          real t1117A#1 = Sub<real>(fy1177,_t0B15);
          real t01179#1 = Sub<real>(fy1177,_t0B17);
          real4 a1178#1 = <real4>[t3117C,fy1177,t1117A,t01179];
          real4 hy116D#1 = EvalKernel<4,bspln3,0>(a1178);
          real fx116E#5 = Index<real2,0>(f1148);
          real t31173#1 = Add<real>(fx116E,_t0B15);
          real t11171#1 = Sub<real>(fx116E,_t0B15);
          real t01170#1 = Sub<real>(fx116E,_t0B17);
          real4 a116F#1 = <real4>[t31173,fx116E,t11171,t01170];
          real4 hx116C#4 = EvalKernel<4,bspln3,0>(a116F);
          real t01181#1 = Dot<4>(v0114C,hx116C);
          real t11182#1 = Dot<4>(v1114D,hx116C);
          real t21183#1 = Dot<4>(v2114E,hx116C);
          real t31184#1 = Dot<4>(v3114F,hx116C);
          real4 tv1180#1 = <real4>[t01181,t11182,t21183,t31184];
          real _t1146#1 = Dot<4>(hy116D,tv1180);
          real _t11C3#2 = Sub<real>(_t10C9,_t1146);
          real _t11C5#1 = Mul<real>(_t11C3,_t11C3);
          real score11C7#1 = Add<real>(score10B2,_t11C5);
          goto JOIN11CA
        JOIN11CA:  preds = [ASSIGN11C8,COND10C8]
          real score11C9#2 = phi(score11C7,score10B2)
          real _t11CB#1 = Dot<2>(r00B2F,v060ABB);
          real _t11CD#1 = Dot<2>(r10B35,v060ABB);
          real2 _t11CF#1 = <real2>[_t11CB,_t11CD];
          real2 pos11D1#2 = Add<real2>(_t11CF,_t0B45);
          real2 x11D4#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos11D1);
          bool _t11D3#1 = Inside<IMAGE2D<float>,2>(x11D4,_t0AA3);
          if _t11D3 then goto ASSIGN11DA else goto ASSIGN2120
        ASSIGN11DA:  preds = [COND11D7]
          real2 x11D9#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v060ABB);
          bool _t11D8#1 = Inside<IMAGE2D<int>,2>(x11D9,_t0A9F);
          goto JOIN11DE
        JOIN11DE:  preds = [ASSIGN11DB,ASSIGN2120]
          bool _t11DC#1 = phi(_t11D8,_t11DD)
          if _t11DC then goto ASSIGN21FF else goto JOIN12E1
        ASSIGN21FF:  preds = [COND11DF]
          real2 nd11E3#2 = Floor<2>(x11D4);
          real2 f11E2#2 = Sub<real2>(x11D4,nd11E3);
          int{2} n11E4#8 = RealToInt<2>(nd11E3);
          int t11200#4 = -1;
          int t21201#1 = Index<int{2},0>(n11E4);
          int ix11FF#4 = Add<int>(t11200,t21201);
          int t21204#4 = Index<int{2},1>(n11E4);
          int iy1202#1 = Add<int>(t11200,t21204);
          addr(IMAGE2D<float>) a1205#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy1202);
          real4 v011E6#1 = LoadVoxels<IMAGE2D<float>,4>(a1205);
          int iy11FB#1 = Add<int>(_t0B3D,t21204);
          addr(IMAGE2D<float>) a11FE#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy11FB);
          real4 v111E7#1 = LoadVoxels<IMAGE2D<float>,4>(a11FE);
          int iy11F4#1 = Add<int>(_t0B41,t21204);
          addr(IMAGE2D<float>) a11F7#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy11F4);
          real4 v211E8#1 = LoadVoxels<IMAGE2D<float>,4>(a11F7);
          int iy11ED#1 = Add<int>(_t0B19,t21204);
          addr(IMAGE2D<float>) a11F0#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix11FF,iy11ED);
          real4 v311E9#1 = LoadVoxels<IMAGE2D<float>,4>(a11F0);
          real fy1211#5 = Index<real2,1>(f11E2);
          real t31216#1 = Add<real>(fy1211,_t0B15);
          real t11214#1 = Sub<real>(fy1211,_t0B15);
          real t01213#1 = Sub<real>(fy1211,_t0B17);
          real4 a1212#1 = <real4>[t31216,fy1211,t11214,t01213];
          real4 hy1207#1 = EvalKernel<4,bspln3,0>(a1212);
          real fx1208#5 = Index<real2,0>(f11E2);
          real t3120D#1 = Add<real>(fx1208,_t0B15);
          real t1120B#1 = Sub<real>(fx1208,_t0B15);
          real t0120A#1 = Sub<real>(fx1208,_t0B17);
          real4 a1209#1 = <real4>[t3120D,fx1208,t1120B,t0120A];
          real4 hx1206#4 = EvalKernel<4,bspln3,0>(a1209);
          real t0121B#1 = Dot<4>(v011E6,hx1206);
          real t1121C#1 = Dot<4>(v111E7,hx1206);
          real t2121D#1 = Dot<4>(v211E8,hx1206);
          real t3121E#1 = Dot<4>(v311E9,hx1206);
          real4 tv121A#1 = <real4>[t0121B,t1121C,t2121D,t3121E];
          real _t11E0#1 = Dot<4>(hy1207,tv121A);
          real2 x125E#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v060ABB);
          real2 nd1260#2 = Floor<2>(x125E);
          real2 f125F#2 = Sub<real2>(x125E,nd1260);
          int{2} n1261#8 = RealToInt<2>(nd1260);
          int t2127E#1 = Index<int{2},0>(n1261);
          int ix127C#4 = Add<int>(t11200,t2127E);
          int t21281#4 = Index<int{2},1>(n1261);
          int iy127F#1 = Add<int>(t11200,t21281);
          addr(IMAGE2D<int>) a1282#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy127F);
          real4 v01263#1 = LoadVoxels<IMAGE2D<int>,4>(a1282);
          int iy1278#1 = Add<int>(_t0B3D,t21281);
          addr(IMAGE2D<int>) a127B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy1278);
          real4 v11264#1 = LoadVoxels<IMAGE2D<int>,4>(a127B);
          int iy1271#1 = Add<int>(_t0B41,t21281);
          addr(IMAGE2D<int>) a1274#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy1271);
          real4 v21265#1 = LoadVoxels<IMAGE2D<int>,4>(a1274);
          int iy126A#1 = Add<int>(_t0B19,t21281);
          addr(IMAGE2D<int>) a126D#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix127C,iy126A);
          real4 v31266#1 = LoadVoxels<IMAGE2D<int>,4>(a126D);
          real fy128E#5 = Index<real2,1>(f125F);
          real t31293#1 = Add<real>(fy128E,_t0B15);
          real t11291#1 = Sub<real>(fy128E,_t0B15);
          real t01290#1 = Sub<real>(fy128E,_t0B17);
          real4 a128F#1 = <real4>[t31293,fy128E,t11291,t01290];
          real4 hy1284#1 = EvalKernel<4,bspln3,0>(a128F);
          real fx1285#5 = Index<real2,0>(f125F);
          real t3128A#1 = Add<real>(fx1285,_t0B15);
          real t11288#1 = Sub<real>(fx1285,_t0B15);
          real t01287#1 = Sub<real>(fx1285,_t0B17);
          real4 a1286#1 = <real4>[t3128A,fx1285,t11288,t01287];
          real4 hx1283#4 = EvalKernel<4,bspln3,0>(a1286);
          real t01298#1 = Dot<4>(v01263,hx1283);
          real t11299#1 = Dot<4>(v11264,hx1283);
          real t2129A#1 = Dot<4>(v21265,hx1283);
          real t3129B#1 = Dot<4>(v31266,hx1283);
          real4 tv1297#1 = <real4>[t01298,t11299,t2129A,t3129B];
          real _t125D#1 = Dot<4>(hy1284,tv1297);
          real _t12DA#2 = Sub<real>(_t11E0,_t125D);
          real _t12DC#1 = Mul<real>(_t12DA,_t12DA);
          real score12DE#1 = Add<real>(score11C9,_t12DC);
          goto JOIN12E1
        JOIN12E1:  preds = [ASSIGN12DF,COND11DF]
          real score12E0#2 = phi(score12DE,score11C9)
          real _t12E2#1 = Dot<2>(r00B2F,v070ABD);
          real _t12E4#1 = Dot<2>(r10B35,v070ABD);
          real2 _t12E6#1 = <real2>[_t12E2,_t12E4];
          real2 pos12E8#2 = Add<real2>(_t12E6,_t0B45);
          real2 x12EB#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos12E8);
          bool _t12EA#1 = Inside<IMAGE2D<float>,2>(x12EB,_t0AA3);
          if _t12EA then goto ASSIGN12F1 else goto ASSIGN211F
        ASSIGN12F1:  preds = [COND12EE]
          real2 x12F0#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v070ABD);
          bool _t12EF#1 = Inside<IMAGE2D<int>,2>(x12F0,_t0A9F);
          goto JOIN12F5
        JOIN12F5:  preds = [ASSIGN12F2,ASSIGN211F]
          bool _t12F3#1 = phi(_t12EF,_t12F4)
          if _t12F3 then goto ASSIGN2220 else goto JOIN13F8
        ASSIGN2220:  preds = [COND12F6]
          real2 nd12FA#2 = Floor<2>(x12EB);
          real2 f12F9#2 = Sub<real2>(x12EB,nd12FA);
          int{2} n12FB#8 = RealToInt<2>(nd12FA);
          int t11317#4 = -1;
          int t21318#1 = Index<int{2},0>(n12FB);
          int ix1316#4 = Add<int>(t11317,t21318);
          int t2131B#4 = Index<int{2},1>(n12FB);
          int iy1319#1 = Add<int>(t11317,t2131B);
          addr(IMAGE2D<float>) a131C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy1319);
          real4 v012FD#1 = LoadVoxels<IMAGE2D<float>,4>(a131C);
          int iy1312#1 = Add<int>(_t0B3D,t2131B);
          addr(IMAGE2D<float>) a1315#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy1312);
          real4 v112FE#1 = LoadVoxels<IMAGE2D<float>,4>(a1315);
          int iy130B#1 = Add<int>(_t0B41,t2131B);
          addr(IMAGE2D<float>) a130E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy130B);
          real4 v212FF#1 = LoadVoxels<IMAGE2D<float>,4>(a130E);
          int iy1304#1 = Add<int>(_t0B19,t2131B);
          addr(IMAGE2D<float>) a1307#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1316,iy1304);
          real4 v31300#1 = LoadVoxels<IMAGE2D<float>,4>(a1307);
          real fy1328#5 = Index<real2,1>(f12F9);
          real t3132D#1 = Add<real>(fy1328,_t0B15);
          real t1132B#1 = Sub<real>(fy1328,_t0B15);
          real t0132A#1 = Sub<real>(fy1328,_t0B17);
          real4 a1329#1 = <real4>[t3132D,fy1328,t1132B,t0132A];
          real4 hy131E#1 = EvalKernel<4,bspln3,0>(a1329);
          real fx131F#5 = Index<real2,0>(f12F9);
          real t31324#1 = Add<real>(fx131F,_t0B15);
          real t11322#1 = Sub<real>(fx131F,_t0B15);
          real t01321#1 = Sub<real>(fx131F,_t0B17);
          real4 a1320#1 = <real4>[t31324,fx131F,t11322,t01321];
          real4 hx131D#4 = EvalKernel<4,bspln3,0>(a1320);
          real t01332#1 = Dot<4>(v012FD,hx131D);
          real t11333#1 = Dot<4>(v112FE,hx131D);
          real t21334#1 = Dot<4>(v212FF,hx131D);
          real t31335#1 = Dot<4>(v31300,hx131D);
          real4 tv1331#1 = <real4>[t01332,t11333,t21334,t31335];
          real _t12F7#1 = Dot<4>(hy131E,tv1331);
          real2 x1375#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v070ABD);
          real2 nd1377#2 = Floor<2>(x1375);
          real2 f1376#2 = Sub<real2>(x1375,nd1377);
          int{2} n1378#8 = RealToInt<2>(nd1377);
          int t21395#1 = Index<int{2},0>(n1378);
          int ix1393#4 = Add<int>(t11317,t21395);
          int t21398#4 = Index<int{2},1>(n1378);
          int iy1396#1 = Add<int>(t11317,t21398);
          addr(IMAGE2D<int>) a1399#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy1396);
          real4 v0137A#1 = LoadVoxels<IMAGE2D<int>,4>(a1399);
          int iy138F#1 = Add<int>(_t0B3D,t21398);
          addr(IMAGE2D<int>) a1392#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy138F);
          real4 v1137B#1 = LoadVoxels<IMAGE2D<int>,4>(a1392);
          int iy1388#1 = Add<int>(_t0B41,t21398);
          addr(IMAGE2D<int>) a138B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy1388);
          real4 v2137C#1 = LoadVoxels<IMAGE2D<int>,4>(a138B);
          int iy1381#1 = Add<int>(_t0B19,t21398);
          addr(IMAGE2D<int>) a1384#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1393,iy1381);
          real4 v3137D#1 = LoadVoxels<IMAGE2D<int>,4>(a1384);
          real fy13A5#5 = Index<real2,1>(f1376);
          real t313AA#1 = Add<real>(fy13A5,_t0B15);
          real t113A8#1 = Sub<real>(fy13A5,_t0B15);
          real t013A7#1 = Sub<real>(fy13A5,_t0B17);
          real4 a13A6#1 = <real4>[t313AA,fy13A5,t113A8,t013A7];
          real4 hy139B#1 = EvalKernel<4,bspln3,0>(a13A6);
          real fx139C#5 = Index<real2,0>(f1376);
          real t313A1#1 = Add<real>(fx139C,_t0B15);
          real t1139F#1 = Sub<real>(fx139C,_t0B15);
          real t0139E#1 = Sub<real>(fx139C,_t0B17);
          real4 a139D#1 = <real4>[t313A1,fx139C,t1139F,t0139E];
          real4 hx139A#4 = EvalKernel<4,bspln3,0>(a139D);
          real t013AF#1 = Dot<4>(v0137A,hx139A);
          real t113B0#1 = Dot<4>(v1137B,hx139A);
          real t213B1#1 = Dot<4>(v2137C,hx139A);
          real t313B2#1 = Dot<4>(v3137D,hx139A);
          real4 tv13AE#1 = <real4>[t013AF,t113B0,t213B1,t313B2];
          real _t1374#1 = Dot<4>(hy139B,tv13AE);
          real _t13F1#2 = Sub<real>(_t12F7,_t1374);
          real _t13F3#1 = Mul<real>(_t13F1,_t13F1);
          real score13F5#1 = Add<real>(score12E0,_t13F3);
          goto JOIN13F8
        JOIN13F8:  preds = [ASSIGN13F6,COND12F6]
          real score13F7#2 = phi(score13F5,score12E0)
          real _t13F9#1 = Dot<2>(r00B2F,v080ABF);
          real _t13FB#1 = Dot<2>(r10B35,v080ABF);
          real2 _t13FD#1 = <real2>[_t13F9,_t13FB];
          real2 pos13FF#2 = Add<real2>(_t13FD,_t0B45);
          real2 x1402#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos13FF);
          bool _t1401#1 = Inside<IMAGE2D<float>,2>(x1402,_t0AA3);
          if _t1401 then goto ASSIGN1408 else goto ASSIGN211E
        ASSIGN1408:  preds = [COND1405]
          real2 x1407#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v080ABF);
          bool _t1406#1 = Inside<IMAGE2D<int>,2>(x1407,_t0A9F);
          goto JOIN140C
        JOIN140C:  preds = [ASSIGN1409,ASSIGN211E]
          bool _t140A#1 = phi(_t1406,_t140B)
          if _t140A then goto ASSIGN2241 else goto JOIN150F
        ASSIGN2241:  preds = [COND140D]
          real2 nd1411#2 = Floor<2>(x1402);
          real2 f1410#2 = Sub<real2>(x1402,nd1411);
          int{2} n1412#8 = RealToInt<2>(nd1411);
          int t1142E#4 = -1;
          int t2142F#1 = Index<int{2},0>(n1412);
          int ix142D#4 = Add<int>(t1142E,t2142F);
          int t21432#4 = Index<int{2},1>(n1412);
          int iy1430#1 = Add<int>(t1142E,t21432);
          addr(IMAGE2D<float>) a1433#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy1430);
          real4 v01414#1 = LoadVoxels<IMAGE2D<float>,4>(a1433);
          int iy1429#1 = Add<int>(_t0B3D,t21432);
          addr(IMAGE2D<float>) a142C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy1429);
          real4 v11415#1 = LoadVoxels<IMAGE2D<float>,4>(a142C);
          int iy1422#1 = Add<int>(_t0B41,t21432);
          addr(IMAGE2D<float>) a1425#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy1422);
          real4 v21416#1 = LoadVoxels<IMAGE2D<float>,4>(a1425);
          int iy141B#1 = Add<int>(_t0B19,t21432);
          addr(IMAGE2D<float>) a141E#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix142D,iy141B);
          real4 v31417#1 = LoadVoxels<IMAGE2D<float>,4>(a141E);
          real fy143F#5 = Index<real2,1>(f1410);
          real t31444#1 = Add<real>(fy143F,_t0B15);
          real t11442#1 = Sub<real>(fy143F,_t0B15);
          real t01441#1 = Sub<real>(fy143F,_t0B17);
          real4 a1440#1 = <real4>[t31444,fy143F,t11442,t01441];
          real4 hy1435#1 = EvalKernel<4,bspln3,0>(a1440);
          real fx1436#5 = Index<real2,0>(f1410);
          real t3143B#1 = Add<real>(fx1436,_t0B15);
          real t11439#1 = Sub<real>(fx1436,_t0B15);
          real t01438#1 = Sub<real>(fx1436,_t0B17);
          real4 a1437#1 = <real4>[t3143B,fx1436,t11439,t01438];
          real4 hx1434#4 = EvalKernel<4,bspln3,0>(a1437);
          real t01449#1 = Dot<4>(v01414,hx1434);
          real t1144A#1 = Dot<4>(v11415,hx1434);
          real t2144B#1 = Dot<4>(v21416,hx1434);
          real t3144C#1 = Dot<4>(v31417,hx1434);
          real4 tv1448#1 = <real4>[t01449,t1144A,t2144B,t3144C];
          real _t140E#1 = Dot<4>(hy1435,tv1448);
          real2 x148C#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v080ABF);
          real2 nd148E#2 = Floor<2>(x148C);
          real2 f148D#2 = Sub<real2>(x148C,nd148E);
          int{2} n148F#8 = RealToInt<2>(nd148E);
          int t214AC#1 = Index<int{2},0>(n148F);
          int ix14AA#4 = Add<int>(t1142E,t214AC);
          int t214AF#4 = Index<int{2},1>(n148F);
          int iy14AD#1 = Add<int>(t1142E,t214AF);
          addr(IMAGE2D<int>) a14B0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy14AD);
          real4 v01491#1 = LoadVoxels<IMAGE2D<int>,4>(a14B0);
          int iy14A6#1 = Add<int>(_t0B3D,t214AF);
          addr(IMAGE2D<int>) a14A9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy14A6);
          real4 v11492#1 = LoadVoxels<IMAGE2D<int>,4>(a14A9);
          int iy149F#1 = Add<int>(_t0B41,t214AF);
          addr(IMAGE2D<int>) a14A2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy149F);
          real4 v21493#1 = LoadVoxels<IMAGE2D<int>,4>(a14A2);
          int iy1498#1 = Add<int>(_t0B19,t214AF);
          addr(IMAGE2D<int>) a149B#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix14AA,iy1498);
          real4 v31494#1 = LoadVoxels<IMAGE2D<int>,4>(a149B);
          real fy14BC#5 = Index<real2,1>(f148D);
          real t314C1#1 = Add<real>(fy14BC,_t0B15);
          real t114BF#1 = Sub<real>(fy14BC,_t0B15);
          real t014BE#1 = Sub<real>(fy14BC,_t0B17);
          real4 a14BD#1 = <real4>[t314C1,fy14BC,t114BF,t014BE];
          real4 hy14B2#1 = EvalKernel<4,bspln3,0>(a14BD);
          real fx14B3#5 = Index<real2,0>(f148D);
          real t314B8#1 = Add<real>(fx14B3,_t0B15);
          real t114B6#1 = Sub<real>(fx14B3,_t0B15);
          real t014B5#1 = Sub<real>(fx14B3,_t0B17);
          real4 a14B4#1 = <real4>[t314B8,fx14B3,t114B6,t014B5];
          real4 hx14B1#4 = EvalKernel<4,bspln3,0>(a14B4);
          real t014C6#1 = Dot<4>(v01491,hx14B1);
          real t114C7#1 = Dot<4>(v11492,hx14B1);
          real t214C8#1 = Dot<4>(v21493,hx14B1);
          real t314C9#1 = Dot<4>(v31494,hx14B1);
          real4 tv14C5#1 = <real4>[t014C6,t114C7,t214C8,t314C9];
          real _t148B#1 = Dot<4>(hy14B2,tv14C5);
          real _t1508#2 = Sub<real>(_t140E,_t148B);
          real _t150A#1 = Mul<real>(_t1508,_t1508);
          real score150C#1 = Add<real>(score13F7,_t150A);
          goto JOIN150F
        JOIN150F:  preds = [ASSIGN150D,COND140D]
          real score150E#2 = phi(score150C,score13F7)
          real _t1510#1 = Dot<2>(r00B2F,v090AC1);
          real _t1512#1 = Dot<2>(r10B35,v090AC1);
          real2 _t1514#1 = <real2>[_t1510,_t1512];
          real2 pos1516#2 = Add<real2>(_t1514,_t0B45);
          real2 x1519#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1516);
          bool _t1518#1 = Inside<IMAGE2D<float>,2>(x1519,_t0AA3);
          if _t1518 then goto ASSIGN151F else goto ASSIGN211D
        ASSIGN151F:  preds = [COND151C]
          real2 x151E#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v090AC1);
          bool _t151D#1 = Inside<IMAGE2D<int>,2>(x151E,_t0A9F);
          goto JOIN1523
        JOIN1523:  preds = [ASSIGN1520,ASSIGN211D]
          bool _t1521#1 = phi(_t151D,_t1522)
          if _t1521 then goto ASSIGN2262 else goto JOIN1626
        ASSIGN2262:  preds = [COND1524]
          real2 nd1528#2 = Floor<2>(x1519);
          real2 f1527#2 = Sub<real2>(x1519,nd1528);
          int{2} n1529#8 = RealToInt<2>(nd1528);
          int t11545#4 = -1;
          int t21546#1 = Index<int{2},0>(n1529);
          int ix1544#4 = Add<int>(t11545,t21546);
          int t21549#4 = Index<int{2},1>(n1529);
          int iy1547#1 = Add<int>(t11545,t21549);
          addr(IMAGE2D<float>) a154A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1547);
          real4 v0152B#1 = LoadVoxels<IMAGE2D<float>,4>(a154A);
          int iy1540#1 = Add<int>(_t0B3D,t21549);
          addr(IMAGE2D<float>) a1543#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1540);
          real4 v1152C#1 = LoadVoxels<IMAGE2D<float>,4>(a1543);
          int iy1539#1 = Add<int>(_t0B41,t21549);
          addr(IMAGE2D<float>) a153C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1539);
          real4 v2152D#1 = LoadVoxels<IMAGE2D<float>,4>(a153C);
          int iy1532#1 = Add<int>(_t0B19,t21549);
          addr(IMAGE2D<float>) a1535#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1544,iy1532);
          real4 v3152E#1 = LoadVoxels<IMAGE2D<float>,4>(a1535);
          real fy1556#5 = Index<real2,1>(f1527);
          real t3155B#1 = Add<real>(fy1556,_t0B15);
          real t11559#1 = Sub<real>(fy1556,_t0B15);
          real t01558#1 = Sub<real>(fy1556,_t0B17);
          real4 a1557#1 = <real4>[t3155B,fy1556,t11559,t01558];
          real4 hy154C#1 = EvalKernel<4,bspln3,0>(a1557);
          real fx154D#5 = Index<real2,0>(f1527);
          real t31552#1 = Add<real>(fx154D,_t0B15);
          real t11550#1 = Sub<real>(fx154D,_t0B15);
          real t0154F#1 = Sub<real>(fx154D,_t0B17);
          real4 a154E#1 = <real4>[t31552,fx154D,t11550,t0154F];
          real4 hx154B#4 = EvalKernel<4,bspln3,0>(a154E);
          real t01560#1 = Dot<4>(v0152B,hx154B);
          real t11561#1 = Dot<4>(v1152C,hx154B);
          real t21562#1 = Dot<4>(v2152D,hx154B);
          real t31563#1 = Dot<4>(v3152E,hx154B);
          real4 tv155F#1 = <real4>[t01560,t11561,t21562,t31563];
          real _t1525#1 = Dot<4>(hy154C,tv155F);
          real2 x15A3#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v090AC1);
          real2 nd15A5#2 = Floor<2>(x15A3);
          real2 f15A4#2 = Sub<real2>(x15A3,nd15A5);
          int{2} n15A6#8 = RealToInt<2>(nd15A5);
          int t215C3#1 = Index<int{2},0>(n15A6);
          int ix15C1#4 = Add<int>(t11545,t215C3);
          int t215C6#4 = Index<int{2},1>(n15A6);
          int iy15C4#1 = Add<int>(t11545,t215C6);
          addr(IMAGE2D<int>) a15C7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15C4);
          real4 v015A8#1 = LoadVoxels<IMAGE2D<int>,4>(a15C7);
          int iy15BD#1 = Add<int>(_t0B3D,t215C6);
          addr(IMAGE2D<int>) a15C0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15BD);
          real4 v115A9#1 = LoadVoxels<IMAGE2D<int>,4>(a15C0);
          int iy15B6#1 = Add<int>(_t0B41,t215C6);
          addr(IMAGE2D<int>) a15B9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15B6);
          real4 v215AA#1 = LoadVoxels<IMAGE2D<int>,4>(a15B9);
          int iy15AF#1 = Add<int>(_t0B19,t215C6);
          addr(IMAGE2D<int>) a15B2#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix15C1,iy15AF);
          real4 v315AB#1 = LoadVoxels<IMAGE2D<int>,4>(a15B2);
          real fy15D3#5 = Index<real2,1>(f15A4);
          real t315D8#1 = Add<real>(fy15D3,_t0B15);
          real t115D6#1 = Sub<real>(fy15D3,_t0B15);
          real t015D5#1 = Sub<real>(fy15D3,_t0B17);
          real4 a15D4#1 = <real4>[t315D8,fy15D3,t115D6,t015D5];
          real4 hy15C9#1 = EvalKernel<4,bspln3,0>(a15D4);
          real fx15CA#5 = Index<real2,0>(f15A4);
          real t315CF#1 = Add<real>(fx15CA,_t0B15);
          real t115CD#1 = Sub<real>(fx15CA,_t0B15);
          real t015CC#1 = Sub<real>(fx15CA,_t0B17);
          real4 a15CB#1 = <real4>[t315CF,fx15CA,t115CD,t015CC];
          real4 hx15C8#4 = EvalKernel<4,bspln3,0>(a15CB);
          real t015DD#1 = Dot<4>(v015A8,hx15C8);
          real t115DE#1 = Dot<4>(v115A9,hx15C8);
          real t215DF#1 = Dot<4>(v215AA,hx15C8);
          real t315E0#1 = Dot<4>(v315AB,hx15C8);
          real4 tv15DC#1 = <real4>[t015DD,t115DE,t215DF,t315E0];
          real _t15A2#1 = Dot<4>(hy15C9,tv15DC);
          real _t161F#2 = Sub<real>(_t1525,_t15A2);
          real _t1621#1 = Mul<real>(_t161F,_t161F);
          real score1623#1 = Add<real>(score150E,_t1621);
          goto JOIN1626
        JOIN1626:  preds = [ASSIGN1624,COND1524]
          real score1625#2 = phi(score1623,score150E)
          real _t1627#1 = Dot<2>(r00B2F,v100AC3);
          real _t1629#1 = Dot<2>(r10B35,v100AC3);
          real2 _t162B#1 = <real2>[_t1627,_t1629];
          real2 pos162D#2 = Add<real2>(_t162B,_t0B45);
          real2 x1630#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos162D);
          bool _t162F#1 = Inside<IMAGE2D<float>,2>(x1630,_t0AA3);
          if _t162F then goto ASSIGN1636 else goto ASSIGN211C
        ASSIGN1636:  preds = [COND1633]
          real2 x1635#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v100AC3);
          bool _t1634#1 = Inside<IMAGE2D<int>,2>(x1635,_t0A9F);
          goto JOIN163A
        JOIN163A:  preds = [ASSIGN1637,ASSIGN211C]
          bool _t1638#1 = phi(_t1634,_t1639)
          if _t1638 then goto ASSIGN2283 else goto JOIN173D
        ASSIGN2283:  preds = [COND163B]
          real2 nd163F#2 = Floor<2>(x1630);
          real2 f163E#2 = Sub<real2>(x1630,nd163F);
          int{2} n1640#8 = RealToInt<2>(nd163F);
          int t1165C#4 = -1;
          int t2165D#1 = Index<int{2},0>(n1640);
          int ix165B#4 = Add<int>(t1165C,t2165D);
          int t21660#4 = Index<int{2},1>(n1640);
          int iy165E#1 = Add<int>(t1165C,t21660);
          addr(IMAGE2D<float>) a1661#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy165E);
          real4 v01642#1 = LoadVoxels<IMAGE2D<float>,4>(a1661);
          int iy1657#1 = Add<int>(_t0B3D,t21660);
          addr(IMAGE2D<float>) a165A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy1657);
          real4 v11643#1 = LoadVoxels<IMAGE2D<float>,4>(a165A);
          int iy1650#1 = Add<int>(_t0B41,t21660);
          addr(IMAGE2D<float>) a1653#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy1650);
          real4 v21644#1 = LoadVoxels<IMAGE2D<float>,4>(a1653);
          int iy1649#1 = Add<int>(_t0B19,t21660);
          addr(IMAGE2D<float>) a164C#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix165B,iy1649);
          real4 v31645#1 = LoadVoxels<IMAGE2D<float>,4>(a164C);
          real fy166D#5 = Index<real2,1>(f163E);
          real t31672#1 = Add<real>(fy166D,_t0B15);
          real t11670#1 = Sub<real>(fy166D,_t0B15);
          real t0166F#1 = Sub<real>(fy166D,_t0B17);
          real4 a166E#1 = <real4>[t31672,fy166D,t11670,t0166F];
          real4 hy1663#1 = EvalKernel<4,bspln3,0>(a166E);
          real fx1664#5 = Index<real2,0>(f163E);
          real t31669#1 = Add<real>(fx1664,_t0B15);
          real t11667#1 = Sub<real>(fx1664,_t0B15);
          real t01666#1 = Sub<real>(fx1664,_t0B17);
          real4 a1665#1 = <real4>[t31669,fx1664,t11667,t01666];
          real4 hx1662#4 = EvalKernel<4,bspln3,0>(a1665);
          real t01677#1 = Dot<4>(v01642,hx1662);
          real t11678#1 = Dot<4>(v11643,hx1662);
          real t21679#1 = Dot<4>(v21644,hx1662);
          real t3167A#1 = Dot<4>(v31645,hx1662);
          real4 tv1676#1 = <real4>[t01677,t11678,t21679,t3167A];
          real _t163C#1 = Dot<4>(hy1663,tv1676);
          real2 x16BA#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v100AC3);
          real2 nd16BC#2 = Floor<2>(x16BA);
          real2 f16BB#2 = Sub<real2>(x16BA,nd16BC);
          int{2} n16BD#8 = RealToInt<2>(nd16BC);
          int t216DA#1 = Index<int{2},0>(n16BD);
          int ix16D8#4 = Add<int>(t1165C,t216DA);
          int t216DD#4 = Index<int{2},1>(n16BD);
          int iy16DB#1 = Add<int>(t1165C,t216DD);
          addr(IMAGE2D<int>) a16DE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16DB);
          real4 v016BF#1 = LoadVoxels<IMAGE2D<int>,4>(a16DE);
          int iy16D4#1 = Add<int>(_t0B3D,t216DD);
          addr(IMAGE2D<int>) a16D7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16D4);
          real4 v116C0#1 = LoadVoxels<IMAGE2D<int>,4>(a16D7);
          int iy16CD#1 = Add<int>(_t0B41,t216DD);
          addr(IMAGE2D<int>) a16D0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16CD);
          real4 v216C1#1 = LoadVoxels<IMAGE2D<int>,4>(a16D0);
          int iy16C6#1 = Add<int>(_t0B19,t216DD);
          addr(IMAGE2D<int>) a16C9#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix16D8,iy16C6);
          real4 v316C2#1 = LoadVoxels<IMAGE2D<int>,4>(a16C9);
          real fy16EA#5 = Index<real2,1>(f16BB);
          real t316EF#1 = Add<real>(fy16EA,_t0B15);
          real t116ED#1 = Sub<real>(fy16EA,_t0B15);
          real t016EC#1 = Sub<real>(fy16EA,_t0B17);
          real4 a16EB#1 = <real4>[t316EF,fy16EA,t116ED,t016EC];
          real4 hy16E0#1 = EvalKernel<4,bspln3,0>(a16EB);
          real fx16E1#5 = Index<real2,0>(f16BB);
          real t316E6#1 = Add<real>(fx16E1,_t0B15);
          real t116E4#1 = Sub<real>(fx16E1,_t0B15);
          real t016E3#1 = Sub<real>(fx16E1,_t0B17);
          real4 a16E2#1 = <real4>[t316E6,fx16E1,t116E4,t016E3];
          real4 hx16DF#4 = EvalKernel<4,bspln3,0>(a16E2);
          real t016F4#1 = Dot<4>(v016BF,hx16DF);
          real t116F5#1 = Dot<4>(v116C0,hx16DF);
          real t216F6#1 = Dot<4>(v216C1,hx16DF);
          real t316F7#1 = Dot<4>(v316C2,hx16DF);
          real4 tv16F3#1 = <real4>[t016F4,t116F5,t216F6,t316F7];
          real _t16B9#1 = Dot<4>(hy16E0,tv16F3);
          real _t1736#2 = Sub<real>(_t163C,_t16B9);
          real _t1738#1 = Mul<real>(_t1736,_t1736);
          real score173A#1 = Add<real>(score1625,_t1738);
          goto JOIN173D
        JOIN173D:  preds = [ASSIGN173B,COND163B]
          real score173C#2 = phi(score173A,score1625)
          real _t173E#1 = Dot<2>(r00B2F,v110AC5);
          real _t1740#1 = Dot<2>(r10B35,v110AC5);
          real2 _t1742#1 = <real2>[_t173E,_t1740];
          real2 pos1744#2 = Add<real2>(_t1742,_t0B45);
          real2 x1747#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1744);
          bool _t1746#1 = Inside<IMAGE2D<float>,2>(x1747,_t0AA3);
          if _t1746 then goto ASSIGN174D else goto ASSIGN211B
        ASSIGN174D:  preds = [COND174A]
          real2 x174C#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v110AC5);
          bool _t174B#1 = Inside<IMAGE2D<int>,2>(x174C,_t0A9F);
          goto JOIN1751
        JOIN1751:  preds = [ASSIGN174E,ASSIGN211B]
          bool _t174F#1 = phi(_t174B,_t1750)
          if _t174F then goto ASSIGN22A4 else goto JOIN1854
        ASSIGN22A4:  preds = [COND1752]
          real2 nd1756#2 = Floor<2>(x1747);
          real2 f1755#2 = Sub<real2>(x1747,nd1756);
          int{2} n1757#8 = RealToInt<2>(nd1756);
          int t11773#4 = -1;
          int t21774#1 = Index<int{2},0>(n1757);
          int ix1772#4 = Add<int>(t11773,t21774);
          int t21777#4 = Index<int{2},1>(n1757);
          int iy1775#1 = Add<int>(t11773,t21777);
          addr(IMAGE2D<float>) a1778#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy1775);
          real4 v01759#1 = LoadVoxels<IMAGE2D<float>,4>(a1778);
          int iy176E#1 = Add<int>(_t0B3D,t21777);
          addr(IMAGE2D<float>) a1771#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy176E);
          real4 v1175A#1 = LoadVoxels<IMAGE2D<float>,4>(a1771);
          int iy1767#1 = Add<int>(_t0B41,t21777);
          addr(IMAGE2D<float>) a176A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy1767);
          real4 v2175B#1 = LoadVoxels<IMAGE2D<float>,4>(a176A);
          int iy1760#1 = Add<int>(_t0B19,t21777);
          addr(IMAGE2D<float>) a1763#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1772,iy1760);
          real4 v3175C#1 = LoadVoxels<IMAGE2D<float>,4>(a1763);
          real fy1784#5 = Index<real2,1>(f1755);
          real t31789#1 = Add<real>(fy1784,_t0B15);
          real t11787#1 = Sub<real>(fy1784,_t0B15);
          real t01786#1 = Sub<real>(fy1784,_t0B17);
          real4 a1785#1 = <real4>[t31789,fy1784,t11787,t01786];
          real4 hy177A#1 = EvalKernel<4,bspln3,0>(a1785);
          real fx177B#5 = Index<real2,0>(f1755);
          real t31780#1 = Add<real>(fx177B,_t0B15);
          real t1177E#1 = Sub<real>(fx177B,_t0B15);
          real t0177D#1 = Sub<real>(fx177B,_t0B17);
          real4 a177C#1 = <real4>[t31780,fx177B,t1177E,t0177D];
          real4 hx1779#4 = EvalKernel<4,bspln3,0>(a177C);
          real t0178E#1 = Dot<4>(v01759,hx1779);
          real t1178F#1 = Dot<4>(v1175A,hx1779);
          real t21790#1 = Dot<4>(v2175B,hx1779);
          real t31791#1 = Dot<4>(v3175C,hx1779);
          real4 tv178D#1 = <real4>[t0178E,t1178F,t21790,t31791];
          real _t1753#1 = Dot<4>(hy177A,tv178D);
          real2 x17D1#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v110AC5);
          real2 nd17D3#2 = Floor<2>(x17D1);
          real2 f17D2#2 = Sub<real2>(x17D1,nd17D3);
          int{2} n17D4#8 = RealToInt<2>(nd17D3);
          int t217F1#1 = Index<int{2},0>(n17D4);
          int ix17EF#4 = Add<int>(t11773,t217F1);
          int t217F4#4 = Index<int{2},1>(n17D4);
          int iy17F2#1 = Add<int>(t11773,t217F4);
          addr(IMAGE2D<int>) a17F5#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17F2);
          real4 v017D6#1 = LoadVoxels<IMAGE2D<int>,4>(a17F5);
          int iy17EB#1 = Add<int>(_t0B3D,t217F4);
          addr(IMAGE2D<int>) a17EE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17EB);
          real4 v117D7#1 = LoadVoxels<IMAGE2D<int>,4>(a17EE);
          int iy17E4#1 = Add<int>(_t0B41,t217F4);
          addr(IMAGE2D<int>) a17E7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17E4);
          real4 v217D8#1 = LoadVoxels<IMAGE2D<int>,4>(a17E7);
          int iy17DD#1 = Add<int>(_t0B19,t217F4);
          addr(IMAGE2D<int>) a17E0#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix17EF,iy17DD);
          real4 v317D9#1 = LoadVoxels<IMAGE2D<int>,4>(a17E0);
          real fy1801#5 = Index<real2,1>(f17D2);
          real t31806#1 = Add<real>(fy1801,_t0B15);
          real t11804#1 = Sub<real>(fy1801,_t0B15);
          real t01803#1 = Sub<real>(fy1801,_t0B17);
          real4 a1802#1 = <real4>[t31806,fy1801,t11804,t01803];
          real4 hy17F7#1 = EvalKernel<4,bspln3,0>(a1802);
          real fx17F8#5 = Index<real2,0>(f17D2);
          real t317FD#1 = Add<real>(fx17F8,_t0B15);
          real t117FB#1 = Sub<real>(fx17F8,_t0B15);
          real t017FA#1 = Sub<real>(fx17F8,_t0B17);
          real4 a17F9#1 = <real4>[t317FD,fx17F8,t117FB,t017FA];
          real4 hx17F6#4 = EvalKernel<4,bspln3,0>(a17F9);
          real t0180B#1 = Dot<4>(v017D6,hx17F6);
          real t1180C#1 = Dot<4>(v117D7,hx17F6);
          real t2180D#1 = Dot<4>(v217D8,hx17F6);
          real t3180E#1 = Dot<4>(v317D9,hx17F6);
          real4 tv180A#1 = <real4>[t0180B,t1180C,t2180D,t3180E];
          real _t17D0#1 = Dot<4>(hy17F7,tv180A);
          real _t184D#2 = Sub<real>(_t1753,_t17D0);
          real _t184F#1 = Mul<real>(_t184D,_t184D);
          real score1851#1 = Add<real>(score173C,_t184F);
          goto JOIN1854
        JOIN1854:  preds = [ASSIGN1852,COND1752]
          real score1853#2 = phi(score1851,score173C)
          real _t1855#1 = Dot<2>(r00B2F,v120AC7);
          real _t1857#1 = Dot<2>(r10B35,v120AC7);
          real2 _t1859#1 = <real2>[_t1855,_t1857];
          real2 pos185B#2 = Add<real2>(_t1859,_t0B45);
          real2 x185E#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos185B);
          bool _t185D#1 = Inside<IMAGE2D<float>,2>(x185E,_t0AA3);
          if _t185D then goto ASSIGN1864 else goto ASSIGN211A
        ASSIGN1864:  preds = [COND1861]
          real2 x1863#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v120AC7);
          bool _t1862#1 = Inside<IMAGE2D<int>,2>(x1863,_t0A9F);
          goto JOIN1868
        JOIN1868:  preds = [ASSIGN1865,ASSIGN211A]
          bool _t1866#1 = phi(_t1862,_t1867)
          if _t1866 then goto ASSIGN22C5 else goto JOIN196B
        ASSIGN22C5:  preds = [COND1869]
          real2 nd186D#2 = Floor<2>(x185E);
          real2 f186C#2 = Sub<real2>(x185E,nd186D);
          int{2} n186E#8 = RealToInt<2>(nd186D);
          int t1188A#4 = -1;
          int t2188B#1 = Index<int{2},0>(n186E);
          int ix1889#4 = Add<int>(t1188A,t2188B);
          int t2188E#4 = Index<int{2},1>(n186E);
          int iy188C#1 = Add<int>(t1188A,t2188E);
          addr(IMAGE2D<float>) a188F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy188C);
          real4 v01870#1 = LoadVoxels<IMAGE2D<float>,4>(a188F);
          int iy1885#1 = Add<int>(_t0B3D,t2188E);
          addr(IMAGE2D<float>) a1888#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy1885);
          real4 v11871#1 = LoadVoxels<IMAGE2D<float>,4>(a1888);
          int iy187E#1 = Add<int>(_t0B41,t2188E);
          addr(IMAGE2D<float>) a1881#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy187E);
          real4 v21872#1 = LoadVoxels<IMAGE2D<float>,4>(a1881);
          int iy1877#1 = Add<int>(_t0B19,t2188E);
          addr(IMAGE2D<float>) a187A#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1889,iy1877);
          real4 v31873#1 = LoadVoxels<IMAGE2D<float>,4>(a187A);
          real fy189B#5 = Index<real2,1>(f186C);
          real t318A0#1 = Add<real>(fy189B,_t0B15);
          real t1189E#1 = Sub<real>(fy189B,_t0B15);
          real t0189D#1 = Sub<real>(fy189B,_t0B17);
          real4 a189C#1 = <real4>[t318A0,fy189B,t1189E,t0189D];
          real4 hy1891#1 = EvalKernel<4,bspln3,0>(a189C);
          real fx1892#5 = Index<real2,0>(f186C);
          real t31897#1 = Add<real>(fx1892,_t0B15);
          real t11895#1 = Sub<real>(fx1892,_t0B15);
          real t01894#1 = Sub<real>(fx1892,_t0B17);
          real4 a1893#1 = <real4>[t31897,fx1892,t11895,t01894];
          real4 hx1890#4 = EvalKernel<4,bspln3,0>(a1893);
          real t018A5#1 = Dot<4>(v01870,hx1890);
          real t118A6#1 = Dot<4>(v11871,hx1890);
          real t218A7#1 = Dot<4>(v21872,hx1890);
          real t318A8#1 = Dot<4>(v31873,hx1890);
          real4 tv18A4#1 = <real4>[t018A5,t118A6,t218A7,t318A8];
          real _t186A#1 = Dot<4>(hy1891,tv18A4);
          real2 x18E8#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v120AC7);
          real2 nd18EA#2 = Floor<2>(x18E8);
          real2 f18E9#2 = Sub<real2>(x18E8,nd18EA);
          int{2} n18EB#8 = RealToInt<2>(nd18EA);
          int t21908#1 = Index<int{2},0>(n18EB);
          int ix1906#4 = Add<int>(t1188A,t21908);
          int t2190B#4 = Index<int{2},1>(n18EB);
          int iy1909#1 = Add<int>(t1188A,t2190B);
          addr(IMAGE2D<int>) a190C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy1909);
          real4 v018ED#1 = LoadVoxels<IMAGE2D<int>,4>(a190C);
          int iy1902#1 = Add<int>(_t0B3D,t2190B);
          addr(IMAGE2D<int>) a1905#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy1902);
          real4 v118EE#1 = LoadVoxels<IMAGE2D<int>,4>(a1905);
          int iy18FB#1 = Add<int>(_t0B41,t2190B);
          addr(IMAGE2D<int>) a18FE#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy18FB);
          real4 v218EF#1 = LoadVoxels<IMAGE2D<int>,4>(a18FE);
          int iy18F4#1 = Add<int>(_t0B19,t2190B);
          addr(IMAGE2D<int>) a18F7#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1906,iy18F4);
          real4 v318F0#1 = LoadVoxels<IMAGE2D<int>,4>(a18F7);
          real fy1918#5 = Index<real2,1>(f18E9);
          real t3191D#1 = Add<real>(fy1918,_t0B15);
          real t1191B#1 = Sub<real>(fy1918,_t0B15);
          real t0191A#1 = Sub<real>(fy1918,_t0B17);
          real4 a1919#1 = <real4>[t3191D,fy1918,t1191B,t0191A];
          real4 hy190E#1 = EvalKernel<4,bspln3,0>(a1919);
          real fx190F#5 = Index<real2,0>(f18E9);
          real t31914#1 = Add<real>(fx190F,_t0B15);
          real t11912#1 = Sub<real>(fx190F,_t0B15);
          real t01911#1 = Sub<real>(fx190F,_t0B17);
          real4 a1910#1 = <real4>[t31914,fx190F,t11912,t01911];
          real4 hx190D#4 = EvalKernel<4,bspln3,0>(a1910);
          real t01922#1 = Dot<4>(v018ED,hx190D);
          real t11923#1 = Dot<4>(v118EE,hx190D);
          real t21924#1 = Dot<4>(v218EF,hx190D);
          real t31925#1 = Dot<4>(v318F0,hx190D);
          real4 tv1921#1 = <real4>[t01922,t11923,t21924,t31925];
          real _t18E7#1 = Dot<4>(hy190E,tv1921);
          real _t1964#2 = Sub<real>(_t186A,_t18E7);
          real _t1966#1 = Mul<real>(_t1964,_t1964);
          real score1968#1 = Add<real>(score1853,_t1966);
          goto JOIN196B
        JOIN196B:  preds = [ASSIGN1969,COND1869]
          real score196A#2 = phi(score1968,score1853)
          real _t196C#1 = Dot<2>(r00B2F,v130AC9);
          real _t196E#1 = Dot<2>(r10B35,v130AC9);
          real2 _t1970#1 = <real2>[_t196C,_t196E];
          real2 pos1972#2 = Add<real2>(_t1970,_t0B45);
          real2 x1975#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1972);
          bool _t1974#1 = Inside<IMAGE2D<float>,2>(x1975,_t0AA3);
          if _t1974 then goto ASSIGN197B else goto ASSIGN2119
        ASSIGN197B:  preds = [COND1978]
          real2 x197A#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v130AC9);
          bool _t1979#1 = Inside<IMAGE2D<int>,2>(x197A,_t0A9F);
          goto JOIN197F
        JOIN197F:  preds = [ASSIGN197C,ASSIGN2119]
          bool _t197D#1 = phi(_t1979,_t197E)
          if _t197D then goto ASSIGN22E6 else goto JOIN1A82
        ASSIGN22E6:  preds = [COND1980]
          real2 nd1984#2 = Floor<2>(x1975);
          real2 f1983#2 = Sub<real2>(x1975,nd1984);
          int{2} n1985#8 = RealToInt<2>(nd1984);
          int t119A1#4 = -1;
          int t219A2#1 = Index<int{2},0>(n1985);
          int ix19A0#4 = Add<int>(t119A1,t219A2);
          int t219A5#4 = Index<int{2},1>(n1985);
          int iy19A3#1 = Add<int>(t119A1,t219A5);
          addr(IMAGE2D<float>) a19A6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy19A3);
          real4 v01987#1 = LoadVoxels<IMAGE2D<float>,4>(a19A6);
          int iy199C#1 = Add<int>(_t0B3D,t219A5);
          addr(IMAGE2D<float>) a199F#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy199C);
          real4 v11988#1 = LoadVoxels<IMAGE2D<float>,4>(a199F);
          int iy1995#1 = Add<int>(_t0B41,t219A5);
          addr(IMAGE2D<float>) a1998#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy1995);
          real4 v21989#1 = LoadVoxels<IMAGE2D<float>,4>(a1998);
          int iy198E#1 = Add<int>(_t0B19,t219A5);
          addr(IMAGE2D<float>) a1991#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix19A0,iy198E);
          real4 v3198A#1 = LoadVoxels<IMAGE2D<float>,4>(a1991);
          real fy19B2#5 = Index<real2,1>(f1983);
          real t319B7#1 = Add<real>(fy19B2,_t0B15);
          real t119B5#1 = Sub<real>(fy19B2,_t0B15);
          real t019B4#1 = Sub<real>(fy19B2,_t0B17);
          real4 a19B3#1 = <real4>[t319B7,fy19B2,t119B5,t019B4];
          real4 hy19A8#1 = EvalKernel<4,bspln3,0>(a19B3);
          real fx19A9#5 = Index<real2,0>(f1983);
          real t319AE#1 = Add<real>(fx19A9,_t0B15);
          real t119AC#1 = Sub<real>(fx19A9,_t0B15);
          real t019AB#1 = Sub<real>(fx19A9,_t0B17);
          real4 a19AA#1 = <real4>[t319AE,fx19A9,t119AC,t019AB];
          real4 hx19A7#4 = EvalKernel<4,bspln3,0>(a19AA);
          real t019BC#1 = Dot<4>(v01987,hx19A7);
          real t119BD#1 = Dot<4>(v11988,hx19A7);
          real t219BE#1 = Dot<4>(v21989,hx19A7);
          real t319BF#1 = Dot<4>(v3198A,hx19A7);
          real4 tv19BB#1 = <real4>[t019BC,t119BD,t219BE,t319BF];
          real _t1981#1 = Dot<4>(hy19A8,tv19BB);
          real2 x19FF#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v130AC9);
          real2 nd1A01#2 = Floor<2>(x19FF);
          real2 f1A00#2 = Sub<real2>(x19FF,nd1A01);
          int{2} n1A02#8 = RealToInt<2>(nd1A01);
          int t21A1F#1 = Index<int{2},0>(n1A02);
          int ix1A1D#4 = Add<int>(t119A1,t21A1F);
          int t21A22#4 = Index<int{2},1>(n1A02);
          int iy1A20#1 = Add<int>(t119A1,t21A22);
          addr(IMAGE2D<int>) a1A23#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A20);
          real4 v01A04#1 = LoadVoxels<IMAGE2D<int>,4>(a1A23);
          int iy1A19#1 = Add<int>(_t0B3D,t21A22);
          addr(IMAGE2D<int>) a1A1C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A19);
          real4 v11A05#1 = LoadVoxels<IMAGE2D<int>,4>(a1A1C);
          int iy1A12#1 = Add<int>(_t0B41,t21A22);
          addr(IMAGE2D<int>) a1A15#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A12);
          real4 v21A06#1 = LoadVoxels<IMAGE2D<int>,4>(a1A15);
          int iy1A0B#1 = Add<int>(_t0B19,t21A22);
          addr(IMAGE2D<int>) a1A0E#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1A1D,iy1A0B);
          real4 v31A07#1 = LoadVoxels<IMAGE2D<int>,4>(a1A0E);
          real fy1A2F#5 = Index<real2,1>(f1A00);
          real t31A34#1 = Add<real>(fy1A2F,_t0B15);
          real t11A32#1 = Sub<real>(fy1A2F,_t0B15);
          real t01A31#1 = Sub<real>(fy1A2F,_t0B17);
          real4 a1A30#1 = <real4>[t31A34,fy1A2F,t11A32,t01A31];
          real4 hy1A25#1 = EvalKernel<4,bspln3,0>(a1A30);
          real fx1A26#5 = Index<real2,0>(f1A00);
          real t31A2B#1 = Add<real>(fx1A26,_t0B15);
          real t11A29#1 = Sub<real>(fx1A26,_t0B15);
          real t01A28#1 = Sub<real>(fx1A26,_t0B17);
          real4 a1A27#1 = <real4>[t31A2B,fx1A26,t11A29,t01A28];
          real4 hx1A24#4 = EvalKernel<4,bspln3,0>(a1A27);
          real t01A39#1 = Dot<4>(v01A04,hx1A24);
          real t11A3A#1 = Dot<4>(v11A05,hx1A24);
          real t21A3B#1 = Dot<4>(v21A06,hx1A24);
          real t31A3C#1 = Dot<4>(v31A07,hx1A24);
          real4 tv1A38#1 = <real4>[t01A39,t11A3A,t21A3B,t31A3C];
          real _t19FE#1 = Dot<4>(hy1A25,tv1A38);
          real _t1A7B#2 = Sub<real>(_t1981,_t19FE);
          real _t1A7D#1 = Mul<real>(_t1A7B,_t1A7B);
          real score1A7F#1 = Add<real>(score196A,_t1A7D);
          goto JOIN1A82
        JOIN1A82:  preds = [ASSIGN1A80,COND1980]
          real score1A81#2 = phi(score1A7F,score196A)
          real _t1A83#1 = Dot<2>(r00B2F,v140ACB);
          real _t1A85#1 = Dot<2>(r10B35,v140ACB);
          real2 _t1A87#1 = <real2>[_t1A83,_t1A85];
          real2 pos1A89#2 = Add<real2>(_t1A87,_t0B45);
          real2 x1A8C#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1A89);
          bool _t1A8B#1 = Inside<IMAGE2D<float>,2>(x1A8C,_t0AA3);
          if _t1A8B then goto ASSIGN1A92 else goto ASSIGN2118
        ASSIGN1A92:  preds = [COND1A8F]
          real2 x1A91#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v140ACB);
          bool _t1A90#1 = Inside<IMAGE2D<int>,2>(x1A91,_t0A9F);
          goto JOIN1A96
        JOIN1A96:  preds = [ASSIGN1A93,ASSIGN2118]
          bool _t1A94#1 = phi(_t1A90,_t1A95)
          if _t1A94 then goto ASSIGN2307 else goto JOIN1B99
        ASSIGN2307:  preds = [COND1A97]
          real2 nd1A9B#2 = Floor<2>(x1A8C);
          real2 f1A9A#2 = Sub<real2>(x1A8C,nd1A9B);
          int{2} n1A9C#8 = RealToInt<2>(nd1A9B);
          int t11AB8#4 = -1;
          int t21AB9#1 = Index<int{2},0>(n1A9C);
          int ix1AB7#4 = Add<int>(t11AB8,t21AB9);
          int t21ABC#4 = Index<int{2},1>(n1A9C);
          int iy1ABA#1 = Add<int>(t11AB8,t21ABC);
          addr(IMAGE2D<float>) a1ABD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1ABA);
          real4 v01A9E#1 = LoadVoxels<IMAGE2D<float>,4>(a1ABD);
          int iy1AB3#1 = Add<int>(_t0B3D,t21ABC);
          addr(IMAGE2D<float>) a1AB6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1AB3);
          real4 v11A9F#1 = LoadVoxels<IMAGE2D<float>,4>(a1AB6);
          int iy1AAC#1 = Add<int>(_t0B41,t21ABC);
          addr(IMAGE2D<float>) a1AAF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1AAC);
          real4 v21AA0#1 = LoadVoxels<IMAGE2D<float>,4>(a1AAF);
          int iy1AA5#1 = Add<int>(_t0B19,t21ABC);
          addr(IMAGE2D<float>) a1AA8#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1AB7,iy1AA5);
          real4 v31AA1#1 = LoadVoxels<IMAGE2D<float>,4>(a1AA8);
          real fy1AC9#5 = Index<real2,1>(f1A9A);
          real t31ACE#1 = Add<real>(fy1AC9,_t0B15);
          real t11ACC#1 = Sub<real>(fy1AC9,_t0B15);
          real t01ACB#1 = Sub<real>(fy1AC9,_t0B17);
          real4 a1ACA#1 = <real4>[t31ACE,fy1AC9,t11ACC,t01ACB];
          real4 hy1ABF#1 = EvalKernel<4,bspln3,0>(a1ACA);
          real fx1AC0#5 = Index<real2,0>(f1A9A);
          real t31AC5#1 = Add<real>(fx1AC0,_t0B15);
          real t11AC3#1 = Sub<real>(fx1AC0,_t0B15);
          real t01AC2#1 = Sub<real>(fx1AC0,_t0B17);
          real4 a1AC1#1 = <real4>[t31AC5,fx1AC0,t11AC3,t01AC2];
          real4 hx1ABE#4 = EvalKernel<4,bspln3,0>(a1AC1);
          real t01AD3#1 = Dot<4>(v01A9E,hx1ABE);
          real t11AD4#1 = Dot<4>(v11A9F,hx1ABE);
          real t21AD5#1 = Dot<4>(v21AA0,hx1ABE);
          real t31AD6#1 = Dot<4>(v31AA1,hx1ABE);
          real4 tv1AD2#1 = <real4>[t01AD3,t11AD4,t21AD5,t31AD6];
          real _t1A98#1 = Dot<4>(hy1ABF,tv1AD2);
          real2 x1B16#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v140ACB);
          real2 nd1B18#2 = Floor<2>(x1B16);
          real2 f1B17#2 = Sub<real2>(x1B16,nd1B18);
          int{2} n1B19#8 = RealToInt<2>(nd1B18);
          int t21B36#1 = Index<int{2},0>(n1B19);
          int ix1B34#4 = Add<int>(t11AB8,t21B36);
          int t21B39#4 = Index<int{2},1>(n1B19);
          int iy1B37#1 = Add<int>(t11AB8,t21B39);
          addr(IMAGE2D<int>) a1B3A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B37);
          real4 v01B1B#1 = LoadVoxels<IMAGE2D<int>,4>(a1B3A);
          int iy1B30#1 = Add<int>(_t0B3D,t21B39);
          addr(IMAGE2D<int>) a1B33#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B30);
          real4 v11B1C#1 = LoadVoxels<IMAGE2D<int>,4>(a1B33);
          int iy1B29#1 = Add<int>(_t0B41,t21B39);
          addr(IMAGE2D<int>) a1B2C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B29);
          real4 v21B1D#1 = LoadVoxels<IMAGE2D<int>,4>(a1B2C);
          int iy1B22#1 = Add<int>(_t0B19,t21B39);
          addr(IMAGE2D<int>) a1B25#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1B34,iy1B22);
          real4 v31B1E#1 = LoadVoxels<IMAGE2D<int>,4>(a1B25);
          real fy1B46#5 = Index<real2,1>(f1B17);
          real t31B4B#1 = Add<real>(fy1B46,_t0B15);
          real t11B49#1 = Sub<real>(fy1B46,_t0B15);
          real t01B48#1 = Sub<real>(fy1B46,_t0B17);
          real4 a1B47#1 = <real4>[t31B4B,fy1B46,t11B49,t01B48];
          real4 hy1B3C#1 = EvalKernel<4,bspln3,0>(a1B47);
          real fx1B3D#5 = Index<real2,0>(f1B17);
          real t31B42#1 = Add<real>(fx1B3D,_t0B15);
          real t11B40#1 = Sub<real>(fx1B3D,_t0B15);
          real t01B3F#1 = Sub<real>(fx1B3D,_t0B17);
          real4 a1B3E#1 = <real4>[t31B42,fx1B3D,t11B40,t01B3F];
          real4 hx1B3B#4 = EvalKernel<4,bspln3,0>(a1B3E);
          real t01B50#1 = Dot<4>(v01B1B,hx1B3B);
          real t11B51#1 = Dot<4>(v11B1C,hx1B3B);
          real t21B52#1 = Dot<4>(v21B1D,hx1B3B);
          real t31B53#1 = Dot<4>(v31B1E,hx1B3B);
          real4 tv1B4F#1 = <real4>[t01B50,t11B51,t21B52,t31B53];
          real _t1B15#1 = Dot<4>(hy1B3C,tv1B4F);
          real _t1B92#2 = Sub<real>(_t1A98,_t1B15);
          real _t1B94#1 = Mul<real>(_t1B92,_t1B92);
          real score1B96#1 = Add<real>(score1A81,_t1B94);
          goto JOIN1B99
        JOIN1B99:  preds = [ASSIGN1B97,COND1A97]
          real score1B98#2 = phi(score1B96,score1A81)
          real _t1B9A#1 = Dot<2>(r00B2F,v150ACD);
          real _t1B9C#1 = Dot<2>(r10B35,v150ACD);
          real2 _t1B9E#1 = <real2>[_t1B9A,_t1B9C];
          real2 pos1BA0#2 = Add<real2>(_t1B9E,_t0B45);
          real2 x1BA3#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1BA0);
          bool _t1BA2#1 = Inside<IMAGE2D<float>,2>(x1BA3,_t0AA3);
          if _t1BA2 then goto ASSIGN1BA9 else goto ASSIGN2117
        ASSIGN1BA9:  preds = [COND1BA6]
          real2 x1BA8#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v150ACD);
          bool _t1BA7#1 = Inside<IMAGE2D<int>,2>(x1BA8,_t0A9F);
          goto JOIN1BAD
        JOIN1BAD:  preds = [ASSIGN1BAA,ASSIGN2117]
          bool _t1BAB#1 = phi(_t1BA7,_t1BAC)
          if _t1BAB then goto ASSIGN2328 else goto JOIN1CB0
        ASSIGN2328:  preds = [COND1BAE]
          real2 nd1BB2#2 = Floor<2>(x1BA3);
          real2 f1BB1#2 = Sub<real2>(x1BA3,nd1BB2);
          int{2} n1BB3#8 = RealToInt<2>(nd1BB2);
          int t11BCF#4 = -1;
          int t21BD0#1 = Index<int{2},0>(n1BB3);
          int ix1BCE#4 = Add<int>(t11BCF,t21BD0);
          int t21BD3#4 = Index<int{2},1>(n1BB3);
          int iy1BD1#1 = Add<int>(t11BCF,t21BD3);
          addr(IMAGE2D<float>) a1BD4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BD1);
          real4 v01BB5#1 = LoadVoxels<IMAGE2D<float>,4>(a1BD4);
          int iy1BCA#1 = Add<int>(_t0B3D,t21BD3);
          addr(IMAGE2D<float>) a1BCD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BCA);
          real4 v11BB6#1 = LoadVoxels<IMAGE2D<float>,4>(a1BCD);
          int iy1BC3#1 = Add<int>(_t0B41,t21BD3);
          addr(IMAGE2D<float>) a1BC6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BC3);
          real4 v21BB7#1 = LoadVoxels<IMAGE2D<float>,4>(a1BC6);
          int iy1BBC#1 = Add<int>(_t0B19,t21BD3);
          addr(IMAGE2D<float>) a1BBF#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1BCE,iy1BBC);
          real4 v31BB8#1 = LoadVoxels<IMAGE2D<float>,4>(a1BBF);
          real fy1BE0#5 = Index<real2,1>(f1BB1);
          real t31BE5#1 = Add<real>(fy1BE0,_t0B15);
          real t11BE3#1 = Sub<real>(fy1BE0,_t0B15);
          real t01BE2#1 = Sub<real>(fy1BE0,_t0B17);
          real4 a1BE1#1 = <real4>[t31BE5,fy1BE0,t11BE3,t01BE2];
          real4 hy1BD6#1 = EvalKernel<4,bspln3,0>(a1BE1);
          real fx1BD7#5 = Index<real2,0>(f1BB1);
          real t31BDC#1 = Add<real>(fx1BD7,_t0B15);
          real t11BDA#1 = Sub<real>(fx1BD7,_t0B15);
          real t01BD9#1 = Sub<real>(fx1BD7,_t0B17);
          real4 a1BD8#1 = <real4>[t31BDC,fx1BD7,t11BDA,t01BD9];
          real4 hx1BD5#4 = EvalKernel<4,bspln3,0>(a1BD8);
          real t01BEA#1 = Dot<4>(v01BB5,hx1BD5);
          real t11BEB#1 = Dot<4>(v11BB6,hx1BD5);
          real t21BEC#1 = Dot<4>(v21BB7,hx1BD5);
          real t31BED#1 = Dot<4>(v31BB8,hx1BD5);
          real4 tv1BE9#1 = <real4>[t01BEA,t11BEB,t21BEC,t31BED];
          real _t1BAF#1 = Dot<4>(hy1BD6,tv1BE9);
          real2 x1C2D#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v150ACD);
          real2 nd1C2F#2 = Floor<2>(x1C2D);
          real2 f1C2E#2 = Sub<real2>(x1C2D,nd1C2F);
          int{2} n1C30#8 = RealToInt<2>(nd1C2F);
          int t21C4D#1 = Index<int{2},0>(n1C30);
          int ix1C4B#4 = Add<int>(t11BCF,t21C4D);
          int t21C50#4 = Index<int{2},1>(n1C30);
          int iy1C4E#1 = Add<int>(t11BCF,t21C50);
          addr(IMAGE2D<int>) a1C51#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C4E);
          real4 v01C32#1 = LoadVoxels<IMAGE2D<int>,4>(a1C51);
          int iy1C47#1 = Add<int>(_t0B3D,t21C50);
          addr(IMAGE2D<int>) a1C4A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C47);
          real4 v11C33#1 = LoadVoxels<IMAGE2D<int>,4>(a1C4A);
          int iy1C40#1 = Add<int>(_t0B41,t21C50);
          addr(IMAGE2D<int>) a1C43#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C40);
          real4 v21C34#1 = LoadVoxels<IMAGE2D<int>,4>(a1C43);
          int iy1C39#1 = Add<int>(_t0B19,t21C50);
          addr(IMAGE2D<int>) a1C3C#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1C4B,iy1C39);
          real4 v31C35#1 = LoadVoxels<IMAGE2D<int>,4>(a1C3C);
          real fy1C5D#5 = Index<real2,1>(f1C2E);
          real t31C62#1 = Add<real>(fy1C5D,_t0B15);
          real t11C60#1 = Sub<real>(fy1C5D,_t0B15);
          real t01C5F#1 = Sub<real>(fy1C5D,_t0B17);
          real4 a1C5E#1 = <real4>[t31C62,fy1C5D,t11C60,t01C5F];
          real4 hy1C53#1 = EvalKernel<4,bspln3,0>(a1C5E);
          real fx1C54#5 = Index<real2,0>(f1C2E);
          real t31C59#1 = Add<real>(fx1C54,_t0B15);
          real t11C57#1 = Sub<real>(fx1C54,_t0B15);
          real t01C56#1 = Sub<real>(fx1C54,_t0B17);
          real4 a1C55#1 = <real4>[t31C59,fx1C54,t11C57,t01C56];
          real4 hx1C52#4 = EvalKernel<4,bspln3,0>(a1C55);
          real t01C67#1 = Dot<4>(v01C32,hx1C52);
          real t11C68#1 = Dot<4>(v11C33,hx1C52);
          real t21C69#1 = Dot<4>(v21C34,hx1C52);
          real t31C6A#1 = Dot<4>(v31C35,hx1C52);
          real4 tv1C66#1 = <real4>[t01C67,t11C68,t21C69,t31C6A];
          real _t1C2C#1 = Dot<4>(hy1C53,tv1C66);
          real _t1CA9#2 = Sub<real>(_t1BAF,_t1C2C);
          real _t1CAB#1 = Mul<real>(_t1CA9,_t1CA9);
          real score1CAD#1 = Add<real>(score1B98,_t1CAB);
          goto JOIN1CB0
        JOIN1CB0:  preds = [ASSIGN1CAE,COND1BAE]
          real score1CAF#2 = phi(score1CAD,score1B98)
          real _t1CB1#1 = Dot<2>(r00B2F,v160ACF);
          real _t1CB3#1 = Dot<2>(r10B35,v160ACF);
          real2 _t1CB5#1 = <real2>[_t1CB1,_t1CB3];
          real2 pos1CB7#2 = Add<real2>(_t1CB5,_t0B45);
          real2 x1CBA#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1CB7);
          bool _t1CB9#1 = Inside<IMAGE2D<float>,2>(x1CBA,_t0AA3);
          if _t1CB9 then goto ASSIGN1CC0 else goto ASSIGN2116
        ASSIGN1CC0:  preds = [COND1CBD]
          real2 x1CBF#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v160ACF);
          bool _t1CBE#1 = Inside<IMAGE2D<int>,2>(x1CBF,_t0A9F);
          goto JOIN1CC4
        JOIN1CC4:  preds = [ASSIGN1CC1,ASSIGN2116]
          bool _t1CC2#1 = phi(_t1CBE,_t1CC3)
          if _t1CC2 then goto ASSIGN2349 else goto JOIN1DC7
        ASSIGN2349:  preds = [COND1CC5]
          real2 nd1CC9#2 = Floor<2>(x1CBA);
          real2 f1CC8#2 = Sub<real2>(x1CBA,nd1CC9);
          int{2} n1CCA#8 = RealToInt<2>(nd1CC9);
          int t11CE6#4 = -1;
          int t21CE7#1 = Index<int{2},0>(n1CCA);
          int ix1CE5#4 = Add<int>(t11CE6,t21CE7);
          int t21CEA#4 = Index<int{2},1>(n1CCA);
          int iy1CE8#1 = Add<int>(t11CE6,t21CEA);
          addr(IMAGE2D<float>) a1CEB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CE8);
          real4 v01CCC#1 = LoadVoxels<IMAGE2D<float>,4>(a1CEB);
          int iy1CE1#1 = Add<int>(_t0B3D,t21CEA);
          addr(IMAGE2D<float>) a1CE4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CE1);
          real4 v11CCD#1 = LoadVoxels<IMAGE2D<float>,4>(a1CE4);
          int iy1CDA#1 = Add<int>(_t0B41,t21CEA);
          addr(IMAGE2D<float>) a1CDD#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CDA);
          real4 v21CCE#1 = LoadVoxels<IMAGE2D<float>,4>(a1CDD);
          int iy1CD3#1 = Add<int>(_t0B19,t21CEA);
          addr(IMAGE2D<float>) a1CD6#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1CE5,iy1CD3);
          real4 v31CCF#1 = LoadVoxels<IMAGE2D<float>,4>(a1CD6);
          real fy1CF7#5 = Index<real2,1>(f1CC8);
          real t31CFC#1 = Add<real>(fy1CF7,_t0B15);
          real t11CFA#1 = Sub<real>(fy1CF7,_t0B15);
          real t01CF9#1 = Sub<real>(fy1CF7,_t0B17);
          real4 a1CF8#1 = <real4>[t31CFC,fy1CF7,t11CFA,t01CF9];
          real4 hy1CED#1 = EvalKernel<4,bspln3,0>(a1CF8);
          real fx1CEE#5 = Index<real2,0>(f1CC8);
          real t31CF3#1 = Add<real>(fx1CEE,_t0B15);
          real t11CF1#1 = Sub<real>(fx1CEE,_t0B15);
          real t01CF0#1 = Sub<real>(fx1CEE,_t0B17);
          real4 a1CEF#1 = <real4>[t31CF3,fx1CEE,t11CF1,t01CF0];
          real4 hx1CEC#4 = EvalKernel<4,bspln3,0>(a1CEF);
          real t01D01#1 = Dot<4>(v01CCC,hx1CEC);
          real t11D02#1 = Dot<4>(v11CCD,hx1CEC);
          real t21D03#1 = Dot<4>(v21CCE,hx1CEC);
          real t31D04#1 = Dot<4>(v31CCF,hx1CEC);
          real4 tv1D00#1 = <real4>[t01D01,t11D02,t21D03,t31D04];
          real _t1CC6#1 = Dot<4>(hy1CED,tv1D00);
          real2 x1D44#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v160ACF);
          real2 nd1D46#2 = Floor<2>(x1D44);
          real2 f1D45#2 = Sub<real2>(x1D44,nd1D46);
          int{2} n1D47#8 = RealToInt<2>(nd1D46);
          int t21D64#1 = Index<int{2},0>(n1D47);
          int ix1D62#4 = Add<int>(t11CE6,t21D64);
          int t21D67#4 = Index<int{2},1>(n1D47);
          int iy1D65#1 = Add<int>(t11CE6,t21D67);
          addr(IMAGE2D<int>) a1D68#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D65);
          real4 v01D49#1 = LoadVoxels<IMAGE2D<int>,4>(a1D68);
          int iy1D5E#1 = Add<int>(_t0B3D,t21D67);
          addr(IMAGE2D<int>) a1D61#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D5E);
          real4 v11D4A#1 = LoadVoxels<IMAGE2D<int>,4>(a1D61);
          int iy1D57#1 = Add<int>(_t0B41,t21D67);
          addr(IMAGE2D<int>) a1D5A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D57);
          real4 v21D4B#1 = LoadVoxels<IMAGE2D<int>,4>(a1D5A);
          int iy1D50#1 = Add<int>(_t0B19,t21D67);
          addr(IMAGE2D<int>) a1D53#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1D62,iy1D50);
          real4 v31D4C#1 = LoadVoxels<IMAGE2D<int>,4>(a1D53);
          real fy1D74#5 = Index<real2,1>(f1D45);
          real t31D79#1 = Add<real>(fy1D74,_t0B15);
          real t11D77#1 = Sub<real>(fy1D74,_t0B15);
          real t01D76#1 = Sub<real>(fy1D74,_t0B17);
          real4 a1D75#1 = <real4>[t31D79,fy1D74,t11D77,t01D76];
          real4 hy1D6A#1 = EvalKernel<4,bspln3,0>(a1D75);
          real fx1D6B#5 = Index<real2,0>(f1D45);
          real t31D70#1 = Add<real>(fx1D6B,_t0B15);
          real t11D6E#1 = Sub<real>(fx1D6B,_t0B15);
          real t01D6D#1 = Sub<real>(fx1D6B,_t0B17);
          real4 a1D6C#1 = <real4>[t31D70,fx1D6B,t11D6E,t01D6D];
          real4 hx1D69#4 = EvalKernel<4,bspln3,0>(a1D6C);
          real t01D7E#1 = Dot<4>(v01D49,hx1D69);
          real t11D7F#1 = Dot<4>(v11D4A,hx1D69);
          real t21D80#1 = Dot<4>(v21D4B,hx1D69);
          real t31D81#1 = Dot<4>(v31D4C,hx1D69);
          real4 tv1D7D#1 = <real4>[t01D7E,t11D7F,t21D80,t31D81];
          real _t1D43#1 = Dot<4>(hy1D6A,tv1D7D);
          real _t1DC0#2 = Sub<real>(_t1CC6,_t1D43);
          real _t1DC2#1 = Mul<real>(_t1DC0,_t1DC0);
          real score1DC4#1 = Add<real>(score1CAF,_t1DC2);
          goto JOIN1DC7
        JOIN1DC7:  preds = [ASSIGN1DC5,COND1CC5]
          real score1DC6#2 = phi(score1DC4,score1CAF)
          real _t1DC8#1 = Dot<2>(r00B2F,v170AD1);
          real _t1DCA#1 = Dot<2>(r10B35,v170AD1);
          real2 _t1DCC#1 = <real2>[_t1DC8,_t1DCA];
          real2 pos1DCE#2 = Add<real2>(_t1DCC,_t0B45);
          real2 x1DD1#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1DCE);
          bool _t1DD0#1 = Inside<IMAGE2D<float>,2>(x1DD1,_t0AA3);
          if _t1DD0 then goto ASSIGN1DD7 else goto ASSIGN2115
        ASSIGN1DD7:  preds = [COND1DD4]
          real2 x1DD6#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v170AD1);
          bool _t1DD5#1 = Inside<IMAGE2D<int>,2>(x1DD6,_t0A9F);
          goto JOIN1DDB
        JOIN1DDB:  preds = [ASSIGN1DD8,ASSIGN2115]
          bool _t1DD9#1 = phi(_t1DD5,_t1DDA)
          if _t1DD9 then goto ASSIGN236A else goto JOIN1EDE
        ASSIGN236A:  preds = [COND1DDC]
          real2 nd1DE0#2 = Floor<2>(x1DD1);
          real2 f1DDF#2 = Sub<real2>(x1DD1,nd1DE0);
          int{2} n1DE1#8 = RealToInt<2>(nd1DE0);
          int t11DFD#4 = -1;
          int t21DFE#1 = Index<int{2},0>(n1DE1);
          int ix1DFC#4 = Add<int>(t11DFD,t21DFE);
          int t21E01#4 = Index<int{2},1>(n1DE1);
          int iy1DFF#1 = Add<int>(t11DFD,t21E01);
          addr(IMAGE2D<float>) a1E02#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DFF);
          real4 v01DE3#1 = LoadVoxels<IMAGE2D<float>,4>(a1E02);
          int iy1DF8#1 = Add<int>(_t0B3D,t21E01);
          addr(IMAGE2D<float>) a1DFB#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DF8);
          real4 v11DE4#1 = LoadVoxels<IMAGE2D<float>,4>(a1DFB);
          int iy1DF1#1 = Add<int>(_t0B41,t21E01);
          addr(IMAGE2D<float>) a1DF4#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DF1);
          real4 v21DE5#1 = LoadVoxels<IMAGE2D<float>,4>(a1DF4);
          int iy1DEA#1 = Add<int>(_t0B19,t21E01);
          addr(IMAGE2D<float>) a1DED#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1DFC,iy1DEA);
          real4 v31DE6#1 = LoadVoxels<IMAGE2D<float>,4>(a1DED);
          real fy1E0E#5 = Index<real2,1>(f1DDF);
          real t31E13#1 = Add<real>(fy1E0E,_t0B15);
          real t11E11#1 = Sub<real>(fy1E0E,_t0B15);
          real t01E10#1 = Sub<real>(fy1E0E,_t0B17);
          real4 a1E0F#1 = <real4>[t31E13,fy1E0E,t11E11,t01E10];
          real4 hy1E04#1 = EvalKernel<4,bspln3,0>(a1E0F);
          real fx1E05#5 = Index<real2,0>(f1DDF);
          real t31E0A#1 = Add<real>(fx1E05,_t0B15);
          real t11E08#1 = Sub<real>(fx1E05,_t0B15);
          real t01E07#1 = Sub<real>(fx1E05,_t0B17);
          real4 a1E06#1 = <real4>[t31E0A,fx1E05,t11E08,t01E07];
          real4 hx1E03#4 = EvalKernel<4,bspln3,0>(a1E06);
          real t01E18#1 = Dot<4>(v01DE3,hx1E03);
          real t11E19#1 = Dot<4>(v11DE4,hx1E03);
          real t21E1A#1 = Dot<4>(v21DE5,hx1E03);
          real t31E1B#1 = Dot<4>(v31DE6,hx1E03);
          real4 tv1E17#1 = <real4>[t01E18,t11E19,t21E1A,t31E1B];
          real _t1DDD#1 = Dot<4>(hy1E04,tv1E17);
          real2 x1E5B#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v170AD1);
          real2 nd1E5D#2 = Floor<2>(x1E5B);
          real2 f1E5C#2 = Sub<real2>(x1E5B,nd1E5D);
          int{2} n1E5E#8 = RealToInt<2>(nd1E5D);
          int t21E7B#1 = Index<int{2},0>(n1E5E);
          int ix1E79#4 = Add<int>(t11DFD,t21E7B);
          int t21E7E#4 = Index<int{2},1>(n1E5E);
          int iy1E7C#1 = Add<int>(t11DFD,t21E7E);
          addr(IMAGE2D<int>) a1E7F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E7C);
          real4 v01E60#1 = LoadVoxels<IMAGE2D<int>,4>(a1E7F);
          int iy1E75#1 = Add<int>(_t0B3D,t21E7E);
          addr(IMAGE2D<int>) a1E78#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E75);
          real4 v11E61#1 = LoadVoxels<IMAGE2D<int>,4>(a1E78);
          int iy1E6E#1 = Add<int>(_t0B41,t21E7E);
          addr(IMAGE2D<int>) a1E71#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E6E);
          real4 v21E62#1 = LoadVoxels<IMAGE2D<int>,4>(a1E71);
          int iy1E67#1 = Add<int>(_t0B19,t21E7E);
          addr(IMAGE2D<int>) a1E6A#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1E79,iy1E67);
          real4 v31E63#1 = LoadVoxels<IMAGE2D<int>,4>(a1E6A);
          real fy1E8B#5 = Index<real2,1>(f1E5C);
          real t31E90#1 = Add<real>(fy1E8B,_t0B15);
          real t11E8E#1 = Sub<real>(fy1E8B,_t0B15);
          real t01E8D#1 = Sub<real>(fy1E8B,_t0B17);
          real4 a1E8C#1 = <real4>[t31E90,fy1E8B,t11E8E,t01E8D];
          real4 hy1E81#1 = EvalKernel<4,bspln3,0>(a1E8C);
          real fx1E82#5 = Index<real2,0>(f1E5C);
          real t31E87#1 = Add<real>(fx1E82,_t0B15);
          real t11E85#1 = Sub<real>(fx1E82,_t0B15);
          real t01E84#1 = Sub<real>(fx1E82,_t0B17);
          real4 a1E83#1 = <real4>[t31E87,fx1E82,t11E85,t01E84];
          real4 hx1E80#4 = EvalKernel<4,bspln3,0>(a1E83);
          real t01E95#1 = Dot<4>(v01E60,hx1E80);
          real t11E96#1 = Dot<4>(v11E61,hx1E80);
          real t21E97#1 = Dot<4>(v21E62,hx1E80);
          real t31E98#1 = Dot<4>(v31E63,hx1E80);
          real4 tv1E94#1 = <real4>[t01E95,t11E96,t21E97,t31E98];
          real _t1E5A#1 = Dot<4>(hy1E81,tv1E94);
          real _t1ED7#2 = Sub<real>(_t1DDD,_t1E5A);
          real _t1ED9#1 = Mul<real>(_t1ED7,_t1ED7);
          real score1EDB#1 = Add<real>(score1DC6,_t1ED9);
          goto JOIN1EDE
        JOIN1EDE:  preds = [ASSIGN1EDC,COND1DDC]
          real score1EDD#2 = phi(score1EDB,score1DC6)
          real _t1EDF#1 = Dot<2>(r00B2F,v180AD3);
          real _t1EE1#1 = Dot<2>(r10B35,v180AD3);
          real2 _t1EE3#1 = <real2>[_t1EDF,_t1EE1];
          real2 pos1EE5#2 = Add<real2>(_t1EE3,_t0B45);
          real2 x1EE8#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1EE5);
          bool _t1EE7#1 = Inside<IMAGE2D<float>,2>(x1EE8,_t0AA3);
          if _t1EE7 then goto ASSIGN1EEE else goto ASSIGN2114
        ASSIGN1EEE:  preds = [COND1EEB]
          real2 x1EED#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v180AD3);
          bool _t1EEC#1 = Inside<IMAGE2D<int>,2>(x1EED,_t0A9F);
          goto JOIN1EF2
        JOIN1EF2:  preds = [ASSIGN1EEF,ASSIGN2114]
          bool _t1EF0#1 = phi(_t1EEC,_t1EF1)
          if _t1EF0 then goto ASSIGN238B else goto JOIN1FF5
        ASSIGN238B:  preds = [COND1EF3]
          real2 nd1EF7#2 = Floor<2>(x1EE8);
          real2 f1EF6#2 = Sub<real2>(x1EE8,nd1EF7);
          int{2} n1EF8#8 = RealToInt<2>(nd1EF7);
          int t11F14#4 = -1;
          int t21F15#1 = Index<int{2},0>(n1EF8);
          int ix1F13#4 = Add<int>(t11F14,t21F15);
          int t21F18#4 = Index<int{2},1>(n1EF8);
          int iy1F16#1 = Add<int>(t11F14,t21F18);
          addr(IMAGE2D<float>) a1F19#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F16);
          real4 v01EFA#1 = LoadVoxels<IMAGE2D<float>,4>(a1F19);
          int iy1F0F#1 = Add<int>(_t0B3D,t21F18);
          addr(IMAGE2D<float>) a1F12#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F0F);
          real4 v11EFB#1 = LoadVoxels<IMAGE2D<float>,4>(a1F12);
          int iy1F08#1 = Add<int>(_t0B41,t21F18);
          addr(IMAGE2D<float>) a1F0B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F08);
          real4 v21EFC#1 = LoadVoxels<IMAGE2D<float>,4>(a1F0B);
          int iy1F01#1 = Add<int>(_t0B19,t21F18);
          addr(IMAGE2D<float>) a1F04#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix1F13,iy1F01);
          real4 v31EFD#1 = LoadVoxels<IMAGE2D<float>,4>(a1F04);
          real fy1F25#5 = Index<real2,1>(f1EF6);
          real t31F2A#1 = Add<real>(fy1F25,_t0B15);
          real t11F28#1 = Sub<real>(fy1F25,_t0B15);
          real t01F27#1 = Sub<real>(fy1F25,_t0B17);
          real4 a1F26#1 = <real4>[t31F2A,fy1F25,t11F28,t01F27];
          real4 hy1F1B#1 = EvalKernel<4,bspln3,0>(a1F26);
          real fx1F1C#5 = Index<real2,0>(f1EF6);
          real t31F21#1 = Add<real>(fx1F1C,_t0B15);
          real t11F1F#1 = Sub<real>(fx1F1C,_t0B15);
          real t01F1E#1 = Sub<real>(fx1F1C,_t0B17);
          real4 a1F1D#1 = <real4>[t31F21,fx1F1C,t11F1F,t01F1E];
          real4 hx1F1A#4 = EvalKernel<4,bspln3,0>(a1F1D);
          real t01F2F#1 = Dot<4>(v01EFA,hx1F1A);
          real t11F30#1 = Dot<4>(v11EFB,hx1F1A);
          real t21F31#1 = Dot<4>(v21EFC,hx1F1A);
          real t31F32#1 = Dot<4>(v31EFD,hx1F1A);
          real4 tv1F2E#1 = <real4>[t01F2F,t11F30,t21F31,t31F32];
          real _t1EF4#1 = Dot<4>(hy1F1B,tv1F2E);
          real2 x1F72#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v180AD3);
          real2 nd1F74#2 = Floor<2>(x1F72);
          real2 f1F73#2 = Sub<real2>(x1F72,nd1F74);
          int{2} n1F75#8 = RealToInt<2>(nd1F74);
          int t21F92#1 = Index<int{2},0>(n1F75);
          int ix1F90#4 = Add<int>(t11F14,t21F92);
          int t21F95#4 = Index<int{2},1>(n1F75);
          int iy1F93#1 = Add<int>(t11F14,t21F95);
          addr(IMAGE2D<int>) a1F96#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F93);
          real4 v01F77#1 = LoadVoxels<IMAGE2D<int>,4>(a1F96);
          int iy1F8C#1 = Add<int>(_t0B3D,t21F95);
          addr(IMAGE2D<int>) a1F8F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F8C);
          real4 v11F78#1 = LoadVoxels<IMAGE2D<int>,4>(a1F8F);
          int iy1F85#1 = Add<int>(_t0B41,t21F95);
          addr(IMAGE2D<int>) a1F88#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F85);
          real4 v21F79#1 = LoadVoxels<IMAGE2D<int>,4>(a1F88);
          int iy1F7E#1 = Add<int>(_t0B19,t21F95);
          addr(IMAGE2D<int>) a1F81#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix1F90,iy1F7E);
          real4 v31F7A#1 = LoadVoxels<IMAGE2D<int>,4>(a1F81);
          real fy1FA2#5 = Index<real2,1>(f1F73);
          real t31FA7#1 = Add<real>(fy1FA2,_t0B15);
          real t11FA5#1 = Sub<real>(fy1FA2,_t0B15);
          real t01FA4#1 = Sub<real>(fy1FA2,_t0B17);
          real4 a1FA3#1 = <real4>[t31FA7,fy1FA2,t11FA5,t01FA4];
          real4 hy1F98#1 = EvalKernel<4,bspln3,0>(a1FA3);
          real fx1F99#5 = Index<real2,0>(f1F73);
          real t31F9E#1 = Add<real>(fx1F99,_t0B15);
          real t11F9C#1 = Sub<real>(fx1F99,_t0B15);
          real t01F9B#1 = Sub<real>(fx1F99,_t0B17);
          real4 a1F9A#1 = <real4>[t31F9E,fx1F99,t11F9C,t01F9B];
          real4 hx1F97#4 = EvalKernel<4,bspln3,0>(a1F9A);
          real t01FAC#1 = Dot<4>(v01F77,hx1F97);
          real t11FAD#1 = Dot<4>(v11F78,hx1F97);
          real t21FAE#1 = Dot<4>(v21F79,hx1F97);
          real t31FAF#1 = Dot<4>(v31F7A,hx1F97);
          real4 tv1FAB#1 = <real4>[t01FAC,t11FAD,t21FAE,t31FAF];
          real _t1F71#1 = Dot<4>(hy1F98,tv1FAB);
          real _t1FEE#2 = Sub<real>(_t1EF4,_t1F71);
          real _t1FF0#1 = Mul<real>(_t1FEE,_t1FEE);
          real score1FF2#1 = Add<real>(score1EDD,_t1FF0);
          goto JOIN1FF5
        JOIN1FF5:  preds = [ASSIGN1FF3,COND1EF3]
          real score1FF4#2 = phi(score1FF2,score1EDD)
          real _t1FF6#1 = Dot<2>(r00B2F,v190AD5);
          real _t1FF8#1 = Dot<2>(r10B35,v190AD5);
          real2 _t1FFA#1 = <real2>[_t1FF6,_t1FF8];
          real2 pos1FFC#3 = Add<real2>(_t1FFA,_t0B45);
          real2 x1FFF#3 = PosToImgSpace<IMAGE2D<float>>(_t0AA3,pos1FFC);
          bool _t1FFE#1 = Inside<IMAGE2D<float>,2>(x1FFF,_t0AA3);
          if _t1FFE then goto ASSIGN2005 else goto ASSIGN2113
        ASSIGN2005:  preds = [COND2002]
          real2 x2004#1 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v190AD5);
          bool _t2003#1 = Inside<IMAGE2D<int>,2>(x2004,_t0A9F);
          goto JOIN2009
        JOIN2009:  preds = [ASSIGN2006,ASSIGN2113]
          bool _t2007#1 = phi(_t2003,_t2008)
          if _t2007 then goto ASSIGN23AC else goto JOIN210C
        ASSIGN23AC:  preds = [COND200A]
          real2 nd200E#2 = Floor<2>(x1FFF);
          real2 f200D#2 = Sub<real2>(x1FFF,nd200E);
          int{2} n200F#8 = RealToInt<2>(nd200E);
          int t1202B#4 = -1;
          int t2202C#1 = Index<int{2},0>(n200F);
          int ix202A#4 = Add<int>(t1202B,t2202C);
          int t2202F#4 = Index<int{2},1>(n200F);
          int iy202D#1 = Add<int>(t1202B,t2202F);
          addr(IMAGE2D<float>) a2030#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy202D);
          real4 v02011#1 = LoadVoxels<IMAGE2D<float>,4>(a2030);
          int iy2026#1 = Add<int>(_t0B3D,t2202F);
          addr(IMAGE2D<float>) a2029#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy2026);
          real4 v12012#1 = LoadVoxels<IMAGE2D<float>,4>(a2029);
          int iy201F#1 = Add<int>(_t0B41,t2202F);
          addr(IMAGE2D<float>) a2022#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy201F);
          real4 v22013#1 = LoadVoxels<IMAGE2D<float>,4>(a2022);
          int iy2018#1 = Add<int>(_t0B19,t2202F);
          addr(IMAGE2D<float>) a201B#1 = VoxelAddress<IMAGE2D<float>,0>(_t0AA3,ix202A,iy2018);
          real4 v32014#1 = LoadVoxels<IMAGE2D<float>,4>(a201B);
          real fy203C#5 = Index<real2,1>(f200D);
          real t32041#1 = Add<real>(fy203C,_t0B15);
          real t1203F#1 = Sub<real>(fy203C,_t0B15);
          real t0203E#1 = Sub<real>(fy203C,_t0B17);
          real4 a203D#1 = <real4>[t32041,fy203C,t1203F,t0203E];
          real4 hy2032#1 = EvalKernel<4,bspln3,0>(a203D);
          real fx2033#5 = Index<real2,0>(f200D);
          real t32038#1 = Add<real>(fx2033,_t0B15);
          real t12036#1 = Sub<real>(fx2033,_t0B15);
          real t02035#1 = Sub<real>(fx2033,_t0B17);
          real4 a2034#1 = <real4>[t32038,fx2033,t12036,t02035];
          real4 hx2031#4 = EvalKernel<4,bspln3,0>(a2034);
          real t02046#1 = Dot<4>(v02011,hx2031);
          real t12047#1 = Dot<4>(v12012,hx2031);
          real t22048#1 = Dot<4>(v22013,hx2031);
          real t32049#1 = Dot<4>(v32014,hx2031);
          real4 tv2045#1 = <real4>[t02046,t12047,t22048,t32049];
          real _t200B#1 = Dot<4>(hy2032,tv2045);
          real2 x2089#2 = PosToImgSpace<IMAGE2D<int>>(_t0A9F,v190AD5);
          real2 nd208B#2 = Floor<2>(x2089);
          real2 f208A#2 = Sub<real2>(x2089,nd208B);
          int{2} n208C#8 = RealToInt<2>(nd208B);
          int t220A9#1 = Index<int{2},0>(n208C);
          int ix20A7#4 = Add<int>(t1202B,t220A9);
          int t220AC#4 = Index<int{2},1>(n208C);
          int iy20AA#1 = Add<int>(t1202B,t220AC);
          addr(IMAGE2D<int>) a20AD#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy20AA);
          real4 v0208E#1 = LoadVoxels<IMAGE2D<int>,4>(a20AD);
          int iy20A3#1 = Add<int>(_t0B3D,t220AC);
          addr(IMAGE2D<int>) a20A6#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy20A3);
          real4 v1208F#1 = LoadVoxels<IMAGE2D<int>,4>(a20A6);
          int iy209C#1 = Add<int>(_t0B41,t220AC);
          addr(IMAGE2D<int>) a209F#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy209C);
          real4 v22090#1 = LoadVoxels<IMAGE2D<int>,4>(a209F);
          int iy2095#1 = Add<int>(_t0B19,t220AC);
          addr(IMAGE2D<int>) a2098#1 = VoxelAddress<IMAGE2D<int>,0>(_t0A9F,ix20A7,iy2095);
          real4 v32091#1 = LoadVoxels<IMAGE2D<int>,4>(a2098);
          real fy20B9#5 = Index<real2,1>(f208A);
          real t320BE#1 = Add<real>(fy20B9,_t0B15);
          real t120BC#1 = Sub<real>(fy20B9,_t0B15);
          real t020BB#1 = Sub<real>(fy20B9,_t0B17);
          real4 a20BA#1 = <real4>[t320BE,fy20B9,t120BC,t020BB];
          real4 hy20AF#1 = EvalKernel<4,bspln3,0>(a20BA);
          real fx20B0#5 = Index<real2,0>(f208A);
          real t320B5#1 = Add<real>(fx20B0,_t0B15);
          real t120B3#1 = Sub<real>(fx20B0,_t0B15);
          real t020B2#1 = Sub<real>(fx20B0,_t0B17);
          real4 a20B1#1 = <real4>[t320B5,fx20B0,t120B3,t020B2];
          real4 hx20AE#4 = EvalKernel<4,bspln3,0>(a20B1);
          real t020C3#1 = Dot<4>(v0208E,hx20AE);
          real t120C4#1 = Dot<4>(v1208F,hx20AE);
          real t220C5#1 = Dot<4>(v22090,hx20AE);
          real t320C6#1 = Dot<4>(v32091,hx20AE);
          real4 tv20C2#1 = <real4>[t020C3,t120C4,t220C5,t320C6];
          real _t2088#1 = Dot<4>(hy20AF,tv20C2);
          real _t2105#2 = Sub<real>(_t200B,_t2088);
          real _t2107#1 = Mul<real>(_t2105,_t2105);
          real score2109#1 = Add<real>(score1FF4,_t2107);
          goto JOIN210C
        JOIN210C:  preds = [ASSIGN210A,COND200A]
          real score210B#1 = phi(score2109,score1FF4)
          self.t = t0B11;
          self.score = score210B;
          self.r0 = r00B2F;
          self.r1 = r10B35;
          self.pos = pos1FFC;
          stabilize ()
        ASSIGN2113:  preds = [COND2002]
          bool _t2008#1 = false;
          goto JOIN2009
        ASSIGN2114:  preds = [COND1EEB]
          bool _t1EF1#1 = false;
          goto JOIN1EF2
        ASSIGN2115:  preds = [COND1DD4]
          bool _t1DDA#1 = false;
          goto JOIN1DDB
        ASSIGN2116:  preds = [COND1CBD]
          bool _t1CC3#1 = false;
          goto JOIN1CC4
        ASSIGN2117:  preds = [COND1BA6]
          bool _t1BAC#1 = false;
          goto JOIN1BAD
        ASSIGN2118:  preds = [COND1A8F]
          bool _t1A95#1 = false;
          goto JOIN1A96
        ASSIGN2119:  preds = [COND1978]
          bool _t197E#1 = false;
          goto JOIN197F
        ASSIGN211A:  preds = [COND1861]
          bool _t1867#1 = false;
          goto JOIN1868
        ASSIGN211B:  preds = [COND174A]
          bool _t1750#1 = false;
          goto JOIN1751
        ASSIGN211C:  preds = [COND1633]
          bool _t1639#1 = false;
          goto JOIN163A
        ASSIGN211D:  preds = [COND151C]
          bool _t1522#1 = false;
          goto JOIN1523
        ASSIGN211E:  preds = [COND1405]
          bool _t140B#1 = false;
          goto JOIN140C
        ASSIGN211F:  preds = [COND12EE]
          bool _t12F4#1 = false;
          goto JOIN12F5
        ASSIGN2120:  preds = [COND11D7]
          bool _t11DD#1 = false;
          goto JOIN11DE
        ASSIGN2121:  preds = [COND10C0]
          bool _t10C6#1 = false;
          goto JOIN10C7
        ASSIGN2122:  preds = [COND0FA9]
          bool _t0FAF#1 = false;
          goto JOIN0FB0
        ASSIGN2123:  preds = [COND0E92]
          bool _t0E98#1 = false;
          goto JOIN0E99
        ASSIGN2124:  preds = [COND0D7B]
          bool _t0D81#1 = false;
          goto JOIN0D82
        ASSIGN2125:  preds = [COND0C64]
          bool _t0C6A#1 = false;
          goto JOIN0C6B
        ASSIGN2126:  preds = [COND0B4D]
          bool _t0B53#1 = false;
          goto JOIN0B54
    end Update
    method Stabilize
        ENTRY2128:  preds = []
          real3 t2129#1 = self.t;
          real score212B#1 = self.score;
          real2 r0212D#1 = self.r0;
          real2 r1212F#1 = self.r1;
          real2 pos2131#1 = self.pos;
          self.t = t2129;
          self.score = score212B;
          self.r0 = r0212D;
          self.r1 = r1212F;
          self.pos = pos2131;
          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
##### LowIL after value numbering ####
## properties
  none
## globals
  global int T2408#0
  global int F2409#0
  global real2 v0023D8#4
  global real2 v0123DC#4
  global real2 v0223E0#4
  global real2 v0323E4#4
  global real2 v0423E8#4
  global real2 v0523EA#4
  global real2 v0623EC#4
  global real2 v0723EE#4
  global real2 v0823F0#4
  global real2 v0923F2#4
  global real2 v1023F4#4
  global real2 v1123F6#4
  global real2 v1223F8#4
  global real2 v1323FA#4
  global real2 v1423FC#4
  global real2 v1523FE#4
  global real2 v162400#4
  global real2 v172402#4
  global real2 v182404#4
  global real2 v192406#4
  global string _t23CE#1
  global image(IMAGE2D<int>) _t23D0#140
  global int _t240A#0
  global string _t23D2#1
  global image(IMAGE2D<float>) _t23D4#120
  global real _t23D6#9
  global real _t23DA#10
  global real _t23E2#9
  global real _t23DE#10
  global real _t23E6#4
## global initialization
  ENTRY23CD:  preds = []
    string _t23CE#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t23D0#140 = LoadImage<IMAGE2D<int>>(_t23CE);
    string _t23D2#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t23D4#120 = LoadImage<IMAGE2D<float>>(_t23D2);
    real _t23D6#9 = 0.0;
    real2 v0023D8#4 = <real2>[_t23D6,_t23D6];
    real _t23DA#10 = 0.25e0;
    real2 v0123DC#4 = <real2>[_t23D6,_t23DA];
    real _t23DE#10 = 0.5e0;
    real2 v0223E0#4 = <real2>[_t23D6,_t23DE];
    real _t23E2#9 = Neg<real>(_t23DA);
    real2 v0323E4#4 = <real2>[_t23D6,_t23E2];
    real _t23E6#4 = Neg<real>(_t23DE);
    real2 v0423E8#4 = <real2>[_t23D6,_t23E6];
    real2 v0523EA#4 = <real2>[_t23DA,_t23D6];
    real2 v0623EC#4 = <real2>[_t23DA,_t23DA];
    real2 v0723EE#4 = <real2>[_t23DA,_t23DE];
    real2 v0823F0#4 = <real2>[_t23DA,_t23E2];
    real2 v0923F2#4 = <real2>[_t23DA,_t23E6];
    real2 v1023F4#4 = <real2>[_t23DE,_t23D6];
    real2 v1123F6#4 = <real2>[_t23DE,_t23DA];
    real2 v1223F8#4 = <real2>[_t23DE,_t23DE];
    real2 v1323FA#4 = <real2>[_t23DE,_t23E2];
    real2 v1423FC#4 = <real2>[_t23DE,_t23E6];
    real2 v1523FE#4 = <real2>[_t23E2,_t23D6];
    real2 v162400#4 = <real2>[_t23E2,_t23DA];
    real2 v172402#4 = <real2>[_t23E2,_t23DE];
    real2 v182404#4 = <real2>[_t23E2,_t23E2];
    real2 v192406#4 = <real2>[_t23E2,_t23E6];
    return (T2408,F2409,v0023D8,v0123DC,v0223E0,v0323E4,v0423E8,v0523EA,v0623EC,v0723EE,v0823F0,v0923F2,v1023F4,v1123F6,v1223F8,v1323FA,v1423FC,v1523FE,v162400,v172402,v182404,v192406,_t23CE,_t23D0,_t240A,_t23D2,_t23D4,_t23D6,_t23DA,_t23E2,_t23DE,_t23E6)
## initially
  ARRAY
    ENTRY2411:  preds = []
      int _t240D#4 = 0;
      int _t240E#4 = 60;
      live vars = (_t240E,_t240D)
    for int i240C#1 = _t240D .. _t240E
      for int j240F#1 = _t240D .. _t240E
        for int k2410#1 = _t240D .. _t240E
          ENTRY2415:  preds = []
            live vars = ()
          new R(i240C,j240F,k2410);
## strands
  strand R (int i2417#1, int j2418#1, int k2419#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY241F:  preds = []
        real _t2420#1 = IntToReal(i2417);
        real _t2422#3 = 0.60e2;
        real _t2424#1 = Div<real>(_t2420,_t2422);
        real _t2426#3 = 0.5e0;
        real _t2428#1 = Sub<real>(_t2424,_t2426);
        real _t242A#1 = IntToReal(j2418);
        real _t242C#1 = Div<real>(_t242A,_t2422);
        real _t242E#1 = Sub<real>(_t242C,_t2426);
        real _t2430#1 = IntToReal(k2419);
        real _t2432#1 = Div<real>(_t2430,_t2422);
        real _t2434#1 = Sub<real>(_t2432,_t2426);
        real3 t2436#1 = <real3>[_t2428,_t242E,_t2434];
        real score2438#3 = 0.0;
        real2 r0243A#3 = <real2>[score2438,score2438];
        self.t = t2436;
        self.score = score2438;
        self.r0 = r0243A;
        self.r1 = r0243A;
        self.pos = r0243A;
        strand_init ()
    method Update
        ENTRY2442:  preds = []
          real3 t2443#4 = self.t;
          real score2445#2 = self.score;
          real _t2447#202 = 0.1e1;
          real _t2449#103 = 0.2e1;
          int _t244B#41 = 2;
          real _t244D#6 = Subscript<real3>(t2443,_t244B);
          real _t244F#1 = Mul<real>(_t2449,_t244D);
          real _t2451#1 = Mul<real>(_t244F,_t244D);
          real _t2453#2 = Sub<real>(_t2447,_t2451);
          real _t2455#1 = Neg<real>(_t2449);
          real _t2457#1 = Mul<real>(_t244D,_t244D);
          real _t2459#1 = Sub<real>(_t2447,_t2457);
          real _t245B#2 = sqrt(_t2459);
          real _t245D#1 = Mul<real>(_t2455,_t245B);
          real _t245F#1 = Mul<real>(_t245D,_t244D);
          real2 r02461#21 = <real2>[_t2453,_t245F];
          real _t2463#1 = Mul<real>(_t2449,_t245B);
          real _t2465#1 = Mul<real>(_t2463,_t244D);
          real2 r12467#21 = <real2>[_t2465,_t2453];
          real _t2469#1 = Dot<2>(r02461,v0023D8);
          real _t246B#1 = Dot<2>(r12467,v0023D8);
          real2 _t246D#1 = <real2>[_t2469,_t246B];
          int _t246F#41 = 0;
          real _t2471#1 = Subscript<real3>(t2443,_t246F);
          int _t2473#41 = 1;
          real _t2475#1 = Subscript<real3>(t2443,_t2473);
          real2 _t2477#20 = <real2>[_t2471,_t2475];
          real2 pos2479#1 = Add<real2>(_t246D,_t2477);
          real2 x247B#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2479);
          bool _t247D#1 = Inside<IMAGE2D<float>,2>(x247B,_t23D4);
          if _t247D then goto ASSIGN2481 else goto ASSIGN4700
        ASSIGN2481:  preds = [COND247F]
          real2 x2480#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0023D8);
          bool _t2482#1 = Inside<IMAGE2D<int>,2>(x2480,_t23D0);
          goto JOIN2486
        JOIN2486:  preds = [ASSIGN2483,ASSIGN4700]
          bool _t2484#1 = phi(_t2482,_t2485)
          if _t2484 then goto ASSIGN2489 else goto JOIN262B
        ASSIGN2489:  preds = [COND2487]
          real2 nd2488#2 = Floor<2>(x247B);
          real2 f248A#2 = Sub<real2>(x247B,nd2488);
          int{2} n248C#2 = RealToInt<2>(nd2488);
          int t1248E#4 = -1;
          int t22490#1 = Index<int{2},0>(n248C);
          int ix2492#4 = Add<int>(t1248E,t22490);
          int t22494#4 = Index<int{2},1>(n248C);
          int iy2496#1 = Add<int>(t1248E,t22494);
          int n02499#8 = 21;
          int t249A#1 = Mul<int>(n02499,iy2496);
          int index249B#1 = Add<int>(ix2492,t249A);
          addr(IMAGE2D<float>) imgBaseAddr249C#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2498#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index249B);
          real4 v024A2#1 = LoadVoxels<IMAGE2D<float>,4>(a2498);
          int iy24A4#1 = Add<int>(_t246F,t22494);
          int t24A8#1 = Mul<int>(n02499,iy24A4);
          int index24A9#1 = Add<int>(ix2492,t24A8);
          addr(IMAGE2D<float>) a24A6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index24A9);
          real4 v124B0#1 = LoadVoxels<IMAGE2D<float>,4>(a24A6);
          int iy24B2#1 = Add<int>(_t2473,t22494);
          int t24B6#1 = Mul<int>(n02499,iy24B2);
          int index24B7#1 = Add<int>(ix2492,t24B6);
          addr(IMAGE2D<float>) a24B4#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index24B7);
          real4 v224BE#1 = LoadVoxels<IMAGE2D<float>,4>(a24B4);
          int iy24C0#1 = Add<int>(_t244B,t22494);
          int t24C4#1 = Mul<int>(n02499,iy24C0);
          int index24C5#1 = Add<int>(ix2492,t24C4);
          addr(IMAGE2D<float>) a24C2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index24C5);
          real4 v324CC#1 = LoadVoxels<IMAGE2D<float>,4>(a24C2);
          real fy24CE#4 = Index<real2,1>(f248A);
          real t324D0#1 = Add<real>(fy24CE,_t2447);
          real t124D2#1 = Sub<real>(fy24CE,_t2447);
          real t024D4#1 = Sub<real>(fy24CE,_t2449);
          real4 a24D6#3 = <real4>[t324D0,fy24CE,t124D2,t024D4];
          real _f24E9#2 = 0.133333333333e1;
          real _f24EA#2 = 0.666666666667e0;
          real4 a024D9#4 = <real4>[_f24E9,_f24EA,_f24EA,_f24E9];
          real _f24E5#1 = -0.2e1;
          real _f24E6#2 = 0.0;
          real4 a124DA#4 = <real4>[_f24E5,_f24E6,_f24E6,_t2449];
          real _f24E2#2 = -0.1e1;
          real4 a224DB#4 = <real4>[_t2447,_f24E2,_f24E2,_t2447];
          real _f24DD#1 = -0.166666666667e0;
          real _f24DE#1 = 0.5e0;
          real _f24DF#1 = -0.5e0;
          real _f24E0#1 = 0.166666666667e0;
          real4 a324DC#4 = <real4>[_f24DD,_f24DE,_f24DF,_f24E0];
          real4 prod324ED#1 = Mul<real4>(a24D6,a324DC);
          real4 sum224EE#1 = Add<real4>(a224DB,prod324ED);
          real4 prod224EF#1 = Mul<real4>(a24D6,sum224EE);
          real4 sum124F0#1 = Add<real4>(a124DA,prod224EF);
          real4 prod124F1#1 = Mul<real4>(a24D6,sum124F0);
          real4 hy24D8#1 = Add<real4>(a024D9,prod124F1);
          real fx250C#4 = Index<real2,0>(f248A);
          real t3250E#1 = Add<real>(fx250C,_t2447);
          real t12510#1 = Sub<real>(fx250C,_t2447);
          real t02512#1 = Sub<real>(fx250C,_t2449);
          real4 a2514#3 = <real4>[t3250E,fx250C,t12510,t02512];
          real4 prod3252B#1 = Mul<real4>(a2514,a324DC);
          real4 sum2252C#1 = Add<real4>(a224DB,prod3252B);
          real4 prod2252D#1 = Mul<real4>(a2514,sum2252C);
          real4 sum1252E#1 = Add<real4>(a124DA,prod2252D);
          real4 prod1252F#1 = Mul<real4>(a2514,sum1252E);
          real4 hx2516#4 = Add<real4>(a024D9,prod1252F);
          real t0254A#1 = Dot<4>(v024A2,hx2516);
          real t1254C#1 = Dot<4>(v124B0,hx2516);
          real t2254E#1 = Dot<4>(v224BE,hx2516);
          real t32550#1 = Dot<4>(v324CC,hx2516);
          real4 tv2552#1 = <real4>[t0254A,t1254C,t2254E,t32550];
          real _t2554#1 = Dot<4>(hy24D8,tv2552);
          real2 x2556#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0023D8);
          real2 nd2558#2 = Floor<2>(x2556);
          real2 f255A#2 = Sub<real2>(x2556,nd2558);
          int{2} n255C#2 = RealToInt<2>(nd2558);
          int t2255E#1 = Index<int{2},0>(n255C);
          int ix2560#4 = Add<int>(t1248E,t2255E);
          int t22562#4 = Index<int{2},1>(n255C);
          int iy2564#1 = Add<int>(t1248E,t22562);
          int t2568#1 = Mul<int>(n02499,iy2564);
          int index2569#1 = Add<int>(ix2560,t2568);
          addr(IMAGE2D<int>) imgBaseAddr256A#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2566#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2569);
          real4 v02570#1 = LoadVoxels<IMAGE2D<int>,4>(a2566);
          int iy2572#1 = Add<int>(_t246F,t22562);
          int t2576#1 = Mul<int>(n02499,iy2572);
          int index2577#1 = Add<int>(ix2560,t2576);
          addr(IMAGE2D<int>) a2574#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2577);
          real4 v1257E#1 = LoadVoxels<IMAGE2D<int>,4>(a2574);
          int iy2580#1 = Add<int>(_t2473,t22562);
          int t2584#1 = Mul<int>(n02499,iy2580);
          int index2585#1 = Add<int>(ix2560,t2584);
          addr(IMAGE2D<int>) a2582#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2585);
          real4 v2258C#1 = LoadVoxels<IMAGE2D<int>,4>(a2582);
          int iy258E#1 = Add<int>(_t244B,t22562);
          int t2592#1 = Mul<int>(n02499,iy258E);
          int index2593#1 = Add<int>(ix2560,t2592);
          addr(IMAGE2D<int>) a2590#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2593);
          real4 v3259A#1 = LoadVoxels<IMAGE2D<int>,4>(a2590);
          real fy259C#4 = Index<real2,1>(f255A);
          real t3259E#1 = Add<real>(fy259C,_t2447);
          real t125A0#1 = Sub<real>(fy259C,_t2447);
          real t025A2#1 = Sub<real>(fy259C,_t2449);
          real4 a25A4#3 = <real4>[t3259E,fy259C,t125A0,t025A2];
          real4 prod325BB#1 = Mul<real4>(a25A4,a324DC);
          real4 sum225BC#1 = Add<real4>(a224DB,prod325BB);
          real4 prod225BD#1 = Mul<real4>(a25A4,sum225BC);
          real4 sum125BE#1 = Add<real4>(a124DA,prod225BD);
          real4 prod125BF#1 = Mul<real4>(a25A4,sum125BE);
          real4 hy25A6#1 = Add<real4>(a024D9,prod125BF);
          real fx25DA#4 = Index<real2,0>(f255A);
          real t325DC#1 = Add<real>(fx25DA,_t2447);
          real t125DE#1 = Sub<real>(fx25DA,_t2447);
          real t025E0#1 = Sub<real>(fx25DA,_t2449);
          real4 a25E2#3 = <real4>[t325DC,fx25DA,t125DE,t025E0];
          real4 prod325F9#1 = Mul<real4>(a25E2,a324DC);
          real4 sum225FA#1 = Add<real4>(a224DB,prod325F9);
          real4 prod225FB#1 = Mul<real4>(a25E2,sum225FA);
          real4 sum125FC#1 = Add<real4>(a124DA,prod225FB);
          real4 prod125FD#1 = Mul<real4>(a25E2,sum125FC);
          real4 hx25E4#4 = Add<real4>(a024D9,prod125FD);
          real t02618#1 = Dot<4>(v02570,hx25E4);
          real t1261A#1 = Dot<4>(v1257E,hx25E4);
          real t2261C#1 = Dot<4>(v2258C,hx25E4);
          real t3261E#1 = Dot<4>(v3259A,hx25E4);
          real4 tv2620#1 = <real4>[t02618,t1261A,t2261C,t3261E];
          real _t2622#1 = Dot<4>(hy25A6,tv2620);
          real _t2624#2 = Sub<real>(_t2554,_t2622);
          real _t2626#1 = Mul<real>(_t2624,_t2624);
          real score2628#1 = Add<real>(score2445,_t2626);
          goto JOIN262B
        JOIN262B:  preds = [ASSIGN2629,COND2487]
          real score262A#2 = phi(score2628,score2445)
          real _t262C#1 = Dot<2>(r02461,v0123DC);
          real _t262E#1 = Dot<2>(r12467,v0123DC);
          real2 _t2630#1 = <real2>[_t262C,_t262E];
          real2 pos2632#1 = Add<real2>(_t2630,_t2477);
          real2 x2634#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2632);
          bool _t2636#1 = Inside<IMAGE2D<float>,2>(x2634,_t23D4);
          if _t2636 then goto ASSIGN263A else goto ASSIGN46FF
        ASSIGN263A:  preds = [COND2638]
          real2 x2639#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0123DC);
          bool _t263B#1 = Inside<IMAGE2D<int>,2>(x2639,_t23D0);
          goto JOIN263F
        JOIN263F:  preds = [ASSIGN263C,ASSIGN46FF]
          bool _t263D#1 = phi(_t263B,_t263E)
          if _t263D then goto ASSIGN2642 else goto JOIN27E4
        ASSIGN2642:  preds = [COND2640]
          real2 nd2641#2 = Floor<2>(x2634);
          real2 f2643#2 = Sub<real2>(x2634,nd2641);
          int{2} n2645#2 = RealToInt<2>(nd2641);
          int t12647#4 = -1;
          int t22649#1 = Index<int{2},0>(n2645);
          int ix264B#4 = Add<int>(t12647,t22649);
          int t2264D#4 = Index<int{2},1>(n2645);
          int iy264F#1 = Add<int>(t12647,t2264D);
          int n02652#8 = 21;
          int t2653#1 = Mul<int>(n02652,iy264F);
          int index2654#1 = Add<int>(ix264B,t2653);
          addr(IMAGE2D<float>) imgBaseAddr2655#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2651#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index2654);
          real4 v0265B#1 = LoadVoxels<IMAGE2D<float>,4>(a2651);
          int iy265D#1 = Add<int>(_t246F,t2264D);
          int t2661#1 = Mul<int>(n02652,iy265D);
          int index2662#1 = Add<int>(ix264B,t2661);
          addr(IMAGE2D<float>) a265F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index2662);
          real4 v12669#1 = LoadVoxels<IMAGE2D<float>,4>(a265F);
          int iy266B#1 = Add<int>(_t2473,t2264D);
          int t266F#1 = Mul<int>(n02652,iy266B);
          int index2670#1 = Add<int>(ix264B,t266F);
          addr(IMAGE2D<float>) a266D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index2670);
          real4 v22677#1 = LoadVoxels<IMAGE2D<float>,4>(a266D);
          int iy2679#1 = Add<int>(_t244B,t2264D);
          int t267D#1 = Mul<int>(n02652,iy2679);
          int index267E#1 = Add<int>(ix264B,t267D);
          addr(IMAGE2D<float>) a267B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index267E);
          real4 v32685#1 = LoadVoxels<IMAGE2D<float>,4>(a267B);
          real fy2687#4 = Index<real2,1>(f2643);
          real t32689#1 = Add<real>(fy2687,_t2447);
          real t1268B#1 = Sub<real>(fy2687,_t2447);
          real t0268D#1 = Sub<real>(fy2687,_t2449);
          real4 a268F#3 = <real4>[t32689,fy2687,t1268B,t0268D];
          real _f26A2#2 = 0.133333333333e1;
          real _f26A3#2 = 0.666666666667e0;
          real4 a02692#4 = <real4>[_f26A2,_f26A3,_f26A3,_f26A2];
          real _f269E#1 = -0.2e1;
          real _f269F#2 = 0.0;
          real4 a12693#4 = <real4>[_f269E,_f269F,_f269F,_t2449];
          real _f269B#2 = -0.1e1;
          real4 a22694#4 = <real4>[_t2447,_f269B,_f269B,_t2447];
          real _f2696#1 = -0.166666666667e0;
          real _f2697#1 = 0.5e0;
          real _f2698#1 = -0.5e0;
          real _f2699#1 = 0.166666666667e0;
          real4 a32695#4 = <real4>[_f2696,_f2697,_f2698,_f2699];
          real4 prod326A6#1 = Mul<real4>(a268F,a32695);
          real4 sum226A7#1 = Add<real4>(a22694,prod326A6);
          real4 prod226A8#1 = Mul<real4>(a268F,sum226A7);
          real4 sum126A9#1 = Add<real4>(a12693,prod226A8);
          real4 prod126AA#1 = Mul<real4>(a268F,sum126A9);
          real4 hy2691#1 = Add<real4>(a02692,prod126AA);
          real fx26C5#4 = Index<real2,0>(f2643);
          real t326C7#1 = Add<real>(fx26C5,_t2447);
          real t126C9#1 = Sub<real>(fx26C5,_t2447);
          real t026CB#1 = Sub<real>(fx26C5,_t2449);
          real4 a26CD#3 = <real4>[t326C7,fx26C5,t126C9,t026CB];
          real4 prod326E4#1 = Mul<real4>(a26CD,a32695);
          real4 sum226E5#1 = Add<real4>(a22694,prod326E4);
          real4 prod226E6#1 = Mul<real4>(a26CD,sum226E5);
          real4 sum126E7#1 = Add<real4>(a12693,prod226E6);
          real4 prod126E8#1 = Mul<real4>(a26CD,sum126E7);
          real4 hx26CF#4 = Add<real4>(a02692,prod126E8);
          real t02703#1 = Dot<4>(v0265B,hx26CF);
          real t12705#1 = Dot<4>(v12669,hx26CF);
          real t22707#1 = Dot<4>(v22677,hx26CF);
          real t32709#1 = Dot<4>(v32685,hx26CF);
          real4 tv270B#1 = <real4>[t02703,t12705,t22707,t32709];
          real _t270D#1 = Dot<4>(hy2691,tv270B);
          real2 x270F#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0123DC);
          real2 nd2711#2 = Floor<2>(x270F);
          real2 f2713#2 = Sub<real2>(x270F,nd2711);
          int{2} n2715#2 = RealToInt<2>(nd2711);
          int t22717#1 = Index<int{2},0>(n2715);
          int ix2719#4 = Add<int>(t12647,t22717);
          int t2271B#4 = Index<int{2},1>(n2715);
          int iy271D#1 = Add<int>(t12647,t2271B);
          int t2721#1 = Mul<int>(n02652,iy271D);
          int index2722#1 = Add<int>(ix2719,t2721);
          addr(IMAGE2D<int>) imgBaseAddr2723#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a271F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index2722);
          real4 v02729#1 = LoadVoxels<IMAGE2D<int>,4>(a271F);
          int iy272B#1 = Add<int>(_t246F,t2271B);
          int t272F#1 = Mul<int>(n02652,iy272B);
          int index2730#1 = Add<int>(ix2719,t272F);
          addr(IMAGE2D<int>) a272D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index2730);
          real4 v12737#1 = LoadVoxels<IMAGE2D<int>,4>(a272D);
          int iy2739#1 = Add<int>(_t2473,t2271B);
          int t273D#1 = Mul<int>(n02652,iy2739);
          int index273E#1 = Add<int>(ix2719,t273D);
          addr(IMAGE2D<int>) a273B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index273E);
          real4 v22745#1 = LoadVoxels<IMAGE2D<int>,4>(a273B);
          int iy2747#1 = Add<int>(_t244B,t2271B);
          int t274B#1 = Mul<int>(n02652,iy2747);
          int index274C#1 = Add<int>(ix2719,t274B);
          addr(IMAGE2D<int>) a2749#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index274C);
          real4 v32753#1 = LoadVoxels<IMAGE2D<int>,4>(a2749);
          real fy2755#4 = Index<real2,1>(f2713);
          real t32757#1 = Add<real>(fy2755,_t2447);
          real t12759#1 = Sub<real>(fy2755,_t2447);
          real t0275B#1 = Sub<real>(fy2755,_t2449);
          real4 a275D#3 = <real4>[t32757,fy2755,t12759,t0275B];
          real4 prod32774#1 = Mul<real4>(a275D,a32695);
          real4 sum22775#1 = Add<real4>(a22694,prod32774);
          real4 prod22776#1 = Mul<real4>(a275D,sum22775);
          real4 sum12777#1 = Add<real4>(a12693,prod22776);
          real4 prod12778#1 = Mul<real4>(a275D,sum12777);
          real4 hy275F#1 = Add<real4>(a02692,prod12778);
          real fx2793#4 = Index<real2,0>(f2713);
          real t32795#1 = Add<real>(fx2793,_t2447);
          real t12797#1 = Sub<real>(fx2793,_t2447);
          real t02799#1 = Sub<real>(fx2793,_t2449);
          real4 a279B#3 = <real4>[t32795,fx2793,t12797,t02799];
          real4 prod327B2#1 = Mul<real4>(a279B,a32695);
          real4 sum227B3#1 = Add<real4>(a22694,prod327B2);
          real4 prod227B4#1 = Mul<real4>(a279B,sum227B3);
          real4 sum127B5#1 = Add<real4>(a12693,prod227B4);
          real4 prod127B6#1 = Mul<real4>(a279B,sum127B5);
          real4 hx279D#4 = Add<real4>(a02692,prod127B6);
          real t027D1#1 = Dot<4>(v02729,hx279D);
          real t127D3#1 = Dot<4>(v12737,hx279D);
          real t227D5#1 = Dot<4>(v22745,hx279D);
          real t327D7#1 = Dot<4>(v32753,hx279D);
          real4 tv27D9#1 = <real4>[t027D1,t127D3,t227D5,t327D7];
          real _t27DB#1 = Dot<4>(hy275F,tv27D9);
          real _t27DD#2 = Sub<real>(_t270D,_t27DB);
          real _t27DF#1 = Mul<real>(_t27DD,_t27DD);
          real score27E1#1 = Add<real>(score262A,_t27DF);
          goto JOIN27E4
        JOIN27E4:  preds = [ASSIGN27E2,COND2640]
          real score27E3#2 = phi(score27E1,score262A)
          real _t27E5#1 = Dot<2>(r02461,v0223E0);
          real _t27E7#1 = Dot<2>(r12467,v0223E0);
          real2 _t27E9#1 = <real2>[_t27E5,_t27E7];
          real2 pos27EB#1 = Add<real2>(_t27E9,_t2477);
          real2 x27ED#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos27EB);
          bool _t27EF#1 = Inside<IMAGE2D<float>,2>(x27ED,_t23D4);
          if _t27EF then goto ASSIGN27F3 else goto ASSIGN46FE
        ASSIGN27F3:  preds = [COND27F1]
          real2 x27F2#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0223E0);
          bool _t27F4#1 = Inside<IMAGE2D<int>,2>(x27F2,_t23D0);
          goto JOIN27F8
        JOIN27F8:  preds = [ASSIGN27F5,ASSIGN46FE]
          bool _t27F6#1 = phi(_t27F4,_t27F7)
          if _t27F6 then goto ASSIGN27FB else goto JOIN299D
        ASSIGN27FB:  preds = [COND27F9]
          real2 nd27FA#2 = Floor<2>(x27ED);
          real2 f27FC#2 = Sub<real2>(x27ED,nd27FA);
          int{2} n27FE#2 = RealToInt<2>(nd27FA);
          int t12800#4 = -1;
          int t22802#1 = Index<int{2},0>(n27FE);
          int ix2804#4 = Add<int>(t12800,t22802);
          int t22806#4 = Index<int{2},1>(n27FE);
          int iy2808#1 = Add<int>(t12800,t22806);
          int n0280B#8 = 21;
          int t280C#1 = Mul<int>(n0280B,iy2808);
          int index280D#1 = Add<int>(ix2804,t280C);
          addr(IMAGE2D<float>) imgBaseAddr280E#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a280A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index280D);
          real4 v02814#1 = LoadVoxels<IMAGE2D<float>,4>(a280A);
          int iy2816#1 = Add<int>(_t246F,t22806);
          int t281A#1 = Mul<int>(n0280B,iy2816);
          int index281B#1 = Add<int>(ix2804,t281A);
          addr(IMAGE2D<float>) a2818#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index281B);
          real4 v12822#1 = LoadVoxels<IMAGE2D<float>,4>(a2818);
          int iy2824#1 = Add<int>(_t2473,t22806);
          int t2828#1 = Mul<int>(n0280B,iy2824);
          int index2829#1 = Add<int>(ix2804,t2828);
          addr(IMAGE2D<float>) a2826#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index2829);
          real4 v22830#1 = LoadVoxels<IMAGE2D<float>,4>(a2826);
          int iy2832#1 = Add<int>(_t244B,t22806);
          int t2836#1 = Mul<int>(n0280B,iy2832);
          int index2837#1 = Add<int>(ix2804,t2836);
          addr(IMAGE2D<float>) a2834#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index2837);
          real4 v3283E#1 = LoadVoxels<IMAGE2D<float>,4>(a2834);
          real fy2840#4 = Index<real2,1>(f27FC);
          real t32842#1 = Add<real>(fy2840,_t2447);
          real t12844#1 = Sub<real>(fy2840,_t2447);
          real t02846#1 = Sub<real>(fy2840,_t2449);
          real4 a2848#3 = <real4>[t32842,fy2840,t12844,t02846];
          real _f285B#2 = 0.133333333333e1;
          real _f285C#2 = 0.666666666667e0;
          real4 a0284B#4 = <real4>[_f285B,_f285C,_f285C,_f285B];
          real _f2857#1 = -0.2e1;
          real _f2858#2 = 0.0;
          real4 a1284C#4 = <real4>[_f2857,_f2858,_f2858,_t2449];
          real _f2854#2 = -0.1e1;
          real4 a2284D#4 = <real4>[_t2447,_f2854,_f2854,_t2447];
          real _f284F#1 = -0.166666666667e0;
          real _f2850#1 = 0.5e0;
          real _f2851#1 = -0.5e0;
          real _f2852#1 = 0.166666666667e0;
          real4 a3284E#4 = <real4>[_f284F,_f2850,_f2851,_f2852];
          real4 prod3285F#1 = Mul<real4>(a2848,a3284E);
          real4 sum22860#1 = Add<real4>(a2284D,prod3285F);
          real4 prod22861#1 = Mul<real4>(a2848,sum22860);
          real4 sum12862#1 = Add<real4>(a1284C,prod22861);
          real4 prod12863#1 = Mul<real4>(a2848,sum12862);
          real4 hy284A#1 = Add<real4>(a0284B,prod12863);
          real fx287E#4 = Index<real2,0>(f27FC);
          real t32880#1 = Add<real>(fx287E,_t2447);
          real t12882#1 = Sub<real>(fx287E,_t2447);
          real t02884#1 = Sub<real>(fx287E,_t2449);
          real4 a2886#3 = <real4>[t32880,fx287E,t12882,t02884];
          real4 prod3289D#1 = Mul<real4>(a2886,a3284E);
          real4 sum2289E#1 = Add<real4>(a2284D,prod3289D);
          real4 prod2289F#1 = Mul<real4>(a2886,sum2289E);
          real4 sum128A0#1 = Add<real4>(a1284C,prod2289F);
          real4 prod128A1#1 = Mul<real4>(a2886,sum128A0);
          real4 hx2888#4 = Add<real4>(a0284B,prod128A1);
          real t028BC#1 = Dot<4>(v02814,hx2888);
          real t128BE#1 = Dot<4>(v12822,hx2888);
          real t228C0#1 = Dot<4>(v22830,hx2888);
          real t328C2#1 = Dot<4>(v3283E,hx2888);
          real4 tv28C4#1 = <real4>[t028BC,t128BE,t228C0,t328C2];
          real _t28C6#1 = Dot<4>(hy284A,tv28C4);
          real2 x28C8#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0223E0);
          real2 nd28CA#2 = Floor<2>(x28C8);
          real2 f28CC#2 = Sub<real2>(x28C8,nd28CA);
          int{2} n28CE#2 = RealToInt<2>(nd28CA);
          int t228D0#1 = Index<int{2},0>(n28CE);
          int ix28D2#4 = Add<int>(t12800,t228D0);
          int t228D4#4 = Index<int{2},1>(n28CE);
          int iy28D6#1 = Add<int>(t12800,t228D4);
          int t28DA#1 = Mul<int>(n0280B,iy28D6);
          int index28DB#1 = Add<int>(ix28D2,t28DA);
          addr(IMAGE2D<int>) imgBaseAddr28DC#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a28D8#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index28DB);
          real4 v028E2#1 = LoadVoxels<IMAGE2D<int>,4>(a28D8);
          int iy28E4#1 = Add<int>(_t246F,t228D4);
          int t28E8#1 = Mul<int>(n0280B,iy28E4);
          int index28E9#1 = Add<int>(ix28D2,t28E8);
          addr(IMAGE2D<int>) a28E6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index28E9);
          real4 v128F0#1 = LoadVoxels<IMAGE2D<int>,4>(a28E6);
          int iy28F2#1 = Add<int>(_t2473,t228D4);
          int t28F6#1 = Mul<int>(n0280B,iy28F2);
          int index28F7#1 = Add<int>(ix28D2,t28F6);
          addr(IMAGE2D<int>) a28F4#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index28F7);
          real4 v228FE#1 = LoadVoxels<IMAGE2D<int>,4>(a28F4);
          int iy2900#1 = Add<int>(_t244B,t228D4);
          int t2904#1 = Mul<int>(n0280B,iy2900);
          int index2905#1 = Add<int>(ix28D2,t2904);
          addr(IMAGE2D<int>) a2902#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index2905);
          real4 v3290C#1 = LoadVoxels<IMAGE2D<int>,4>(a2902);
          real fy290E#4 = Index<real2,1>(f28CC);
          real t32910#1 = Add<real>(fy290E,_t2447);
          real t12912#1 = Sub<real>(fy290E,_t2447);
          real t02914#1 = Sub<real>(fy290E,_t2449);
          real4 a2916#3 = <real4>[t32910,fy290E,t12912,t02914];
          real4 prod3292D#1 = Mul<real4>(a2916,a3284E);
          real4 sum2292E#1 = Add<real4>(a2284D,prod3292D);
          real4 prod2292F#1 = Mul<real4>(a2916,sum2292E);
          real4 sum12930#1 = Add<real4>(a1284C,prod2292F);
          real4 prod12931#1 = Mul<real4>(a2916,sum12930);
          real4 hy2918#1 = Add<real4>(a0284B,prod12931);
          real fx294C#4 = Index<real2,0>(f28CC);
          real t3294E#1 = Add<real>(fx294C,_t2447);
          real t12950#1 = Sub<real>(fx294C,_t2447);
          real t02952#1 = Sub<real>(fx294C,_t2449);
          real4 a2954#3 = <real4>[t3294E,fx294C,t12950,t02952];
          real4 prod3296B#1 = Mul<real4>(a2954,a3284E);
          real4 sum2296C#1 = Add<real4>(a2284D,prod3296B);
          real4 prod2296D#1 = Mul<real4>(a2954,sum2296C);
          real4 sum1296E#1 = Add<real4>(a1284C,prod2296D);
          real4 prod1296F#1 = Mul<real4>(a2954,sum1296E);
          real4 hx2956#4 = Add<real4>(a0284B,prod1296F);
          real t0298A#1 = Dot<4>(v028E2,hx2956);
          real t1298C#1 = Dot<4>(v128F0,hx2956);
          real t2298E#1 = Dot<4>(v228FE,hx2956);
          real t32990#1 = Dot<4>(v3290C,hx2956);
          real4 tv2992#1 = <real4>[t0298A,t1298C,t2298E,t32990];
          real _t2994#1 = Dot<4>(hy2918,tv2992);
          real _t2996#2 = Sub<real>(_t28C6,_t2994);
          real _t2998#1 = Mul<real>(_t2996,_t2996);
          real score299A#1 = Add<real>(score27E3,_t2998);
          goto JOIN299D
        JOIN299D:  preds = [ASSIGN299B,COND27F9]
          real score299C#2 = phi(score299A,score27E3)
          real _t299E#1 = Dot<2>(r02461,v0323E4);
          real _t29A0#1 = Dot<2>(r12467,v0323E4);
          real2 _t29A2#1 = <real2>[_t299E,_t29A0];
          real2 pos29A4#1 = Add<real2>(_t29A2,_t2477);
          real2 x29A6#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos29A4);
          bool _t29A8#1 = Inside<IMAGE2D<float>,2>(x29A6,_t23D4);
          if _t29A8 then goto ASSIGN29AC else goto ASSIGN46FD
        ASSIGN29AC:  preds = [COND29AA]
          real2 x29AB#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0323E4);
          bool _t29AD#1 = Inside<IMAGE2D<int>,2>(x29AB,_t23D0);
          goto JOIN29B1
        JOIN29B1:  preds = [ASSIGN29AE,ASSIGN46FD]
          bool _t29AF#1 = phi(_t29AD,_t29B0)
          if _t29AF then goto ASSIGN29B4 else goto JOIN2B56
        ASSIGN29B4:  preds = [COND29B2]
          real2 nd29B3#2 = Floor<2>(x29A6);
          real2 f29B5#2 = Sub<real2>(x29A6,nd29B3);
          int{2} n29B7#2 = RealToInt<2>(nd29B3);
          int t129B9#4 = -1;
          int t229BB#1 = Index<int{2},0>(n29B7);
          int ix29BD#4 = Add<int>(t129B9,t229BB);
          int t229BF#4 = Index<int{2},1>(n29B7);
          int iy29C1#1 = Add<int>(t129B9,t229BF);
          int n029C4#8 = 21;
          int t29C5#1 = Mul<int>(n029C4,iy29C1);
          int index29C6#1 = Add<int>(ix29BD,t29C5);
          addr(IMAGE2D<float>) imgBaseAddr29C7#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a29C3#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29C6);
          real4 v029CD#1 = LoadVoxels<IMAGE2D<float>,4>(a29C3);
          int iy29CF#1 = Add<int>(_t246F,t229BF);
          int t29D3#1 = Mul<int>(n029C4,iy29CF);
          int index29D4#1 = Add<int>(ix29BD,t29D3);
          addr(IMAGE2D<float>) a29D1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29D4);
          real4 v129DB#1 = LoadVoxels<IMAGE2D<float>,4>(a29D1);
          int iy29DD#1 = Add<int>(_t2473,t229BF);
          int t29E1#1 = Mul<int>(n029C4,iy29DD);
          int index29E2#1 = Add<int>(ix29BD,t29E1);
          addr(IMAGE2D<float>) a29DF#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29E2);
          real4 v229E9#1 = LoadVoxels<IMAGE2D<float>,4>(a29DF);
          int iy29EB#1 = Add<int>(_t244B,t229BF);
          int t29EF#1 = Mul<int>(n029C4,iy29EB);
          int index29F0#1 = Add<int>(ix29BD,t29EF);
          addr(IMAGE2D<float>) a29ED#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29F0);
          real4 v329F7#1 = LoadVoxels<IMAGE2D<float>,4>(a29ED);
          real fy29F9#4 = Index<real2,1>(f29B5);
          real t329FB#1 = Add<real>(fy29F9,_t2447);
          real t129FD#1 = Sub<real>(fy29F9,_t2447);
          real t029FF#1 = Sub<real>(fy29F9,_t2449);
          real4 a2A01#3 = <real4>[t329FB,fy29F9,t129FD,t029FF];
          real _f2A14#2 = 0.133333333333e1;
          real _f2A15#2 = 0.666666666667e0;
          real4 a02A04#4 = <real4>[_f2A14,_f2A15,_f2A15,_f2A14];
          real _f2A10#1 = -0.2e1;
          real _f2A11#2 = 0.0;
          real4 a12A05#4 = <real4>[_f2A10,_f2A11,_f2A11,_t2449];
          real _f2A0D#2 = -0.1e1;
          real4 a22A06#4 = <real4>[_t2447,_f2A0D,_f2A0D,_t2447];
          real _f2A08#1 = -0.166666666667e0;
          real _f2A09#1 = 0.5e0;
          real _f2A0A#1 = -0.5e0;
          real _f2A0B#1 = 0.166666666667e0;
          real4 a32A07#4 = <real4>[_f2A08,_f2A09,_f2A0A,_f2A0B];
          real4 prod32A18#1 = Mul<real4>(a2A01,a32A07);
          real4 sum22A19#1 = Add<real4>(a22A06,prod32A18);
          real4 prod22A1A#1 = Mul<real4>(a2A01,sum22A19);
          real4 sum12A1B#1 = Add<real4>(a12A05,prod22A1A);
          real4 prod12A1C#1 = Mul<real4>(a2A01,sum12A1B);
          real4 hy2A03#1 = Add<real4>(a02A04,prod12A1C);
          real fx2A37#4 = Index<real2,0>(f29B5);
          real t32A39#1 = Add<real>(fx2A37,_t2447);
          real t12A3B#1 = Sub<real>(fx2A37,_t2447);
          real t02A3D#1 = Sub<real>(fx2A37,_t2449);
          real4 a2A3F#3 = <real4>[t32A39,fx2A37,t12A3B,t02A3D];
          real4 prod32A56#1 = Mul<real4>(a2A3F,a32A07);
          real4 sum22A57#1 = Add<real4>(a22A06,prod32A56);
          real4 prod22A58#1 = Mul<real4>(a2A3F,sum22A57);
          real4 sum12A59#1 = Add<real4>(a12A05,prod22A58);
          real4 prod12A5A#1 = Mul<real4>(a2A3F,sum12A59);
          real4 hx2A41#4 = Add<real4>(a02A04,prod12A5A);
          real t02A75#1 = Dot<4>(v029CD,hx2A41);
          real t12A77#1 = Dot<4>(v129DB,hx2A41);
          real t22A79#1 = Dot<4>(v229E9,hx2A41);
          real t32A7B#1 = Dot<4>(v329F7,hx2A41);
          real4 tv2A7D#1 = <real4>[t02A75,t12A77,t22A79,t32A7B];
          real _t2A7F#1 = Dot<4>(hy2A03,tv2A7D);
          real2 x2A81#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0323E4);
          real2 nd2A83#2 = Floor<2>(x2A81);
          real2 f2A85#2 = Sub<real2>(x2A81,nd2A83);
          int{2} n2A87#2 = RealToInt<2>(nd2A83);
          int t22A89#1 = Index<int{2},0>(n2A87);
          int ix2A8B#4 = Add<int>(t129B9,t22A89);
          int t22A8D#4 = Index<int{2},1>(n2A87);
          int iy2A8F#1 = Add<int>(t129B9,t22A8D);
          int t2A93#1 = Mul<int>(n029C4,iy2A8F);
          int index2A94#1 = Add<int>(ix2A8B,t2A93);
          addr(IMAGE2D<int>) imgBaseAddr2A95#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2A91#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2A94);
          real4 v02A9B#1 = LoadVoxels<IMAGE2D<int>,4>(a2A91);
          int iy2A9D#1 = Add<int>(_t246F,t22A8D);
          int t2AA1#1 = Mul<int>(n029C4,iy2A9D);
          int index2AA2#1 = Add<int>(ix2A8B,t2AA1);
          addr(IMAGE2D<int>) a2A9F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2AA2);
          real4 v12AA9#1 = LoadVoxels<IMAGE2D<int>,4>(a2A9F);
          int iy2AAB#1 = Add<int>(_t2473,t22A8D);
          int t2AAF#1 = Mul<int>(n029C4,iy2AAB);
          int index2AB0#1 = Add<int>(ix2A8B,t2AAF);
          addr(IMAGE2D<int>) a2AAD#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2AB0);
          real4 v22AB7#1 = LoadVoxels<IMAGE2D<int>,4>(a2AAD);
          int iy2AB9#1 = Add<int>(_t244B,t22A8D);
          int t2ABD#1 = Mul<int>(n029C4,iy2AB9);
          int index2ABE#1 = Add<int>(ix2A8B,t2ABD);
          addr(IMAGE2D<int>) a2ABB#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2ABE);
          real4 v32AC5#1 = LoadVoxels<IMAGE2D<int>,4>(a2ABB);
          real fy2AC7#4 = Index<real2,1>(f2A85);
          real t32AC9#1 = Add<real>(fy2AC7,_t2447);
          real t12ACB#1 = Sub<real>(fy2AC7,_t2447);
          real t02ACD#1 = Sub<real>(fy2AC7,_t2449);
          real4 a2ACF#3 = <real4>[t32AC9,fy2AC7,t12ACB,t02ACD];
          real4 prod32AE6#1 = Mul<real4>(a2ACF,a32A07);
          real4 sum22AE7#1 = Add<real4>(a22A06,prod32AE6);
          real4 prod22AE8#1 = Mul<real4>(a2ACF,sum22AE7);
          real4 sum12AE9#1 = Add<real4>(a12A05,prod22AE8);
          real4 prod12AEA#1 = Mul<real4>(a2ACF,sum12AE9);
          real4 hy2AD1#1 = Add<real4>(a02A04,prod12AEA);
          real fx2B05#4 = Index<real2,0>(f2A85);
          real t32B07#1 = Add<real>(fx2B05,_t2447);
          real t12B09#1 = Sub<real>(fx2B05,_t2447);
          real t02B0B#1 = Sub<real>(fx2B05,_t2449);
          real4 a2B0D#3 = <real4>[t32B07,fx2B05,t12B09,t02B0B];
          real4 prod32B24#1 = Mul<real4>(a2B0D,a32A07);
          real4 sum22B25#1 = Add<real4>(a22A06,prod32B24);
          real4 prod22B26#1 = Mul<real4>(a2B0D,sum22B25);
          real4 sum12B27#1 = Add<real4>(a12A05,prod22B26);
          real4 prod12B28#1 = Mul<real4>(a2B0D,sum12B27);
          real4 hx2B0F#4 = Add<real4>(a02A04,prod12B28);
          real t02B43#1 = Dot<4>(v02A9B,hx2B0F);
          real t12B45#1 = Dot<4>(v12AA9,hx2B0F);
          real t22B47#1 = Dot<4>(v22AB7,hx2B0F);
          real t32B49#1 = Dot<4>(v32AC5,hx2B0F);
          real4 tv2B4B#1 = <real4>[t02B43,t12B45,t22B47,t32B49];
          real _t2B4D#1 = Dot<4>(hy2AD1,tv2B4B);
          real _t2B4F#2 = Sub<real>(_t2A7F,_t2B4D);
          real _t2B51#1 = Mul<real>(_t2B4F,_t2B4F);
          real score2B53#1 = Add<real>(score299C,_t2B51);
          goto JOIN2B56
        JOIN2B56:  preds = [ASSIGN2B54,COND29B2]
          real score2B55#2 = phi(score2B53,score299C)
          real _t2B57#1 = Dot<2>(r02461,v0423E8);
          real _t2B59#1 = Dot<2>(r12467,v0423E8);
          real2 _t2B5B#1 = <real2>[_t2B57,_t2B59];
          real2 pos2B5D#1 = Add<real2>(_t2B5B,_t2477);
          real2 x2B5F#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2B5D);
          bool _t2B61#1 = Inside<IMAGE2D<float>,2>(x2B5F,_t23D4);
          if _t2B61 then goto ASSIGN2B65 else goto ASSIGN46FC
        ASSIGN2B65:  preds = [COND2B63]
          real2 x2B64#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0423E8);
          bool _t2B66#1 = Inside<IMAGE2D<int>,2>(x2B64,_t23D0);
          goto JOIN2B6A
        JOIN2B6A:  preds = [ASSIGN2B67,ASSIGN46FC]
          bool _t2B68#1 = phi(_t2B66,_t2B69)
          if _t2B68 then goto ASSIGN2B6D else goto JOIN2D0F
        ASSIGN2B6D:  preds = [COND2B6B]
          real2 nd2B6C#2 = Floor<2>(x2B5F);
          real2 f2B6E#2 = Sub<real2>(x2B5F,nd2B6C);
          int{2} n2B70#2 = RealToInt<2>(nd2B6C);
          int t12B72#4 = -1;
          int t22B74#1 = Index<int{2},0>(n2B70);
          int ix2B76#4 = Add<int>(t12B72,t22B74);
          int t22B78#4 = Index<int{2},1>(n2B70);
          int iy2B7A#1 = Add<int>(t12B72,t22B78);
          int n02B7D#8 = 21;
          int t2B7E#1 = Mul<int>(n02B7D,iy2B7A);
          int index2B7F#1 = Add<int>(ix2B76,t2B7E);
          addr(IMAGE2D<float>) imgBaseAddr2B80#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2B7C#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2B7F);
          real4 v02B86#1 = LoadVoxels<IMAGE2D<float>,4>(a2B7C);
          int iy2B88#1 = Add<int>(_t246F,t22B78);
          int t2B8C#1 = Mul<int>(n02B7D,iy2B88);
          int index2B8D#1 = Add<int>(ix2B76,t2B8C);
          addr(IMAGE2D<float>) a2B8A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2B8D);
          real4 v12B94#1 = LoadVoxels<IMAGE2D<float>,4>(a2B8A);
          int iy2B96#1 = Add<int>(_t2473,t22B78);
          int t2B9A#1 = Mul<int>(n02B7D,iy2B96);
          int index2B9B#1 = Add<int>(ix2B76,t2B9A);
          addr(IMAGE2D<float>) a2B98#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2B9B);
          real4 v22BA2#1 = LoadVoxels<IMAGE2D<float>,4>(a2B98);
          int iy2BA4#1 = Add<int>(_t244B,t22B78);
          int t2BA8#1 = Mul<int>(n02B7D,iy2BA4);
          int index2BA9#1 = Add<int>(ix2B76,t2BA8);
          addr(IMAGE2D<float>) a2BA6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2BA9);
          real4 v32BB0#1 = LoadVoxels<IMAGE2D<float>,4>(a2BA6);
          real fy2BB2#4 = Index<real2,1>(f2B6E);
          real t32BB4#1 = Add<real>(fy2BB2,_t2447);
          real t12BB6#1 = Sub<real>(fy2BB2,_t2447);
          real t02BB8#1 = Sub<real>(fy2BB2,_t2449);
          real4 a2BBA#3 = <real4>[t32BB4,fy2BB2,t12BB6,t02BB8];
          real _f2BCD#2 = 0.133333333333e1;
          real _f2BCE#2 = 0.666666666667e0;
          real4 a02BBD#4 = <real4>[_f2BCD,_f2BCE,_f2BCE,_f2BCD];
          real _f2BC9#1 = -0.2e1;
          real _f2BCA#2 = 0.0;
          real4 a12BBE#4 = <real4>[_f2BC9,_f2BCA,_f2BCA,_t2449];
          real _f2BC6#2 = -0.1e1;
          real4 a22BBF#4 = <real4>[_t2447,_f2BC6,_f2BC6,_t2447];
          real _f2BC1#1 = -0.166666666667e0;
          real _f2BC2#1 = 0.5e0;
          real _f2BC3#1 = -0.5e0;
          real _f2BC4#1 = 0.166666666667e0;
          real4 a32BC0#4 = <real4>[_f2BC1,_f2BC2,_f2BC3,_f2BC4];
          real4 prod32BD1#1 = Mul<real4>(a2BBA,a32BC0);
          real4 sum22BD2#1 = Add<real4>(a22BBF,prod32BD1);
          real4 prod22BD3#1 = Mul<real4>(a2BBA,sum22BD2);
          real4 sum12BD4#1 = Add<real4>(a12BBE,prod22BD3);
          real4 prod12BD5#1 = Mul<real4>(a2BBA,sum12BD4);
          real4 hy2BBC#1 = Add<real4>(a02BBD,prod12BD5);
          real fx2BF0#4 = Index<real2,0>(f2B6E);
          real t32BF2#1 = Add<real>(fx2BF0,_t2447);
          real t12BF4#1 = Sub<real>(fx2BF0,_t2447);
          real t02BF6#1 = Sub<real>(fx2BF0,_t2449);
          real4 a2BF8#3 = <real4>[t32BF2,fx2BF0,t12BF4,t02BF6];
          real4 prod32C0F#1 = Mul<real4>(a2BF8,a32BC0);
          real4 sum22C10#1 = Add<real4>(a22BBF,prod32C0F);
          real4 prod22C11#1 = Mul<real4>(a2BF8,sum22C10);
          real4 sum12C12#1 = Add<real4>(a12BBE,prod22C11);
          real4 prod12C13#1 = Mul<real4>(a2BF8,sum12C12);
          real4 hx2BFA#4 = Add<real4>(a02BBD,prod12C13);
          real t02C2E#1 = Dot<4>(v02B86,hx2BFA);
          real t12C30#1 = Dot<4>(v12B94,hx2BFA);
          real t22C32#1 = Dot<4>(v22BA2,hx2BFA);
          real t32C34#1 = Dot<4>(v32BB0,hx2BFA);
          real4 tv2C36#1 = <real4>[t02C2E,t12C30,t22C32,t32C34];
          real _t2C38#1 = Dot<4>(hy2BBC,tv2C36);
          real2 x2C3A#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0423E8);
          real2 nd2C3C#2 = Floor<2>(x2C3A);
          real2 f2C3E#2 = Sub<real2>(x2C3A,nd2C3C);
          int{2} n2C40#2 = RealToInt<2>(nd2C3C);
          int t22C42#1 = Index<int{2},0>(n2C40);
          int ix2C44#4 = Add<int>(t12B72,t22C42);
          int t22C46#4 = Index<int{2},1>(n2C40);
          int iy2C48#1 = Add<int>(t12B72,t22C46);
          int t2C4C#1 = Mul<int>(n02B7D,iy2C48);
          int index2C4D#1 = Add<int>(ix2C44,t2C4C);
          addr(IMAGE2D<int>) imgBaseAddr2C4E#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2C4A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C4D);
          real4 v02C54#1 = LoadVoxels<IMAGE2D<int>,4>(a2C4A);
          int iy2C56#1 = Add<int>(_t246F,t22C46);
          int t2C5A#1 = Mul<int>(n02B7D,iy2C56);
          int index2C5B#1 = Add<int>(ix2C44,t2C5A);
          addr(IMAGE2D<int>) a2C58#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C5B);
          real4 v12C62#1 = LoadVoxels<IMAGE2D<int>,4>(a2C58);
          int iy2C64#1 = Add<int>(_t2473,t22C46);
          int t2C68#1 = Mul<int>(n02B7D,iy2C64);
          int index2C69#1 = Add<int>(ix2C44,t2C68);
          addr(IMAGE2D<int>) a2C66#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C69);
          real4 v22C70#1 = LoadVoxels<IMAGE2D<int>,4>(a2C66);
          int iy2C72#1 = Add<int>(_t244B,t22C46);
          int t2C76#1 = Mul<int>(n02B7D,iy2C72);
          int index2C77#1 = Add<int>(ix2C44,t2C76);
          addr(IMAGE2D<int>) a2C74#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C77);
          real4 v32C7E#1 = LoadVoxels<IMAGE2D<int>,4>(a2C74);
          real fy2C80#4 = Index<real2,1>(f2C3E);
          real t32C82#1 = Add<real>(fy2C80,_t2447);
          real t12C84#1 = Sub<real>(fy2C80,_t2447);
          real t02C86#1 = Sub<real>(fy2C80,_t2449);
          real4 a2C88#3 = <real4>[t32C82,fy2C80,t12C84,t02C86];
          real4 prod32C9F#1 = Mul<real4>(a2C88,a32BC0);
          real4 sum22CA0#1 = Add<real4>(a22BBF,prod32C9F);
          real4 prod22CA1#1 = Mul<real4>(a2C88,sum22CA0);
          real4 sum12CA2#1 = Add<real4>(a12BBE,prod22CA1);
          real4 prod12CA3#1 = Mul<real4>(a2C88,sum12CA2);
          real4 hy2C8A#1 = Add<real4>(a02BBD,prod12CA3);
          real fx2CBE#4 = Index<real2,0>(f2C3E);
          real t32CC0#1 = Add<real>(fx2CBE,_t2447);
          real t12CC2#1 = Sub<real>(fx2CBE,_t2447);
          real t02CC4#1 = Sub<real>(fx2CBE,_t2449);
          real4 a2CC6#3 = <real4>[t32CC0,fx2CBE,t12CC2,t02CC4];
          real4 prod32CDD#1 = Mul<real4>(a2CC6,a32BC0);
          real4 sum22CDE#1 = Add<real4>(a22BBF,prod32CDD);
          real4 prod22CDF#1 = Mul<real4>(a2CC6,sum22CDE);
          real4 sum12CE0#1 = Add<real4>(a12BBE,prod22CDF);
          real4 prod12CE1#1 = Mul<real4>(a2CC6,sum12CE0);
          real4 hx2CC8#4 = Add<real4>(a02BBD,prod12CE1);
          real t02CFC#1 = Dot<4>(v02C54,hx2CC8);
          real t12CFE#1 = Dot<4>(v12C62,hx2CC8);
          real t22D00#1 = Dot<4>(v22C70,hx2CC8);
          real t32D02#1 = Dot<4>(v32C7E,hx2CC8);
          real4 tv2D04#1 = <real4>[t02CFC,t12CFE,t22D00,t32D02];
          real _t2D06#1 = Dot<4>(hy2C8A,tv2D04);
          real _t2D08#2 = Sub<real>(_t2C38,_t2D06);
          real _t2D0A#1 = Mul<real>(_t2D08,_t2D08);
          real score2D0C#1 = Add<real>(score2B55,_t2D0A);
          goto JOIN2D0F
        JOIN2D0F:  preds = [ASSIGN2D0D,COND2B6B]
          real score2D0E#2 = phi(score2D0C,score2B55)
          real _t2D10#1 = Dot<2>(r02461,v0523EA);
          real _t2D12#1 = Dot<2>(r12467,v0523EA);
          real2 _t2D14#1 = <real2>[_t2D10,_t2D12];
          real2 pos2D16#1 = Add<real2>(_t2D14,_t2477);
          real2 x2D18#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2D16);
          bool _t2D1A#1 = Inside<IMAGE2D<float>,2>(x2D18,_t23D4);
          if _t2D1A then goto ASSIGN2D1E else goto ASSIGN46FB
        ASSIGN2D1E:  preds = [COND2D1C]
          real2 x2D1D#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0523EA);
          bool _t2D1F#1 = Inside<IMAGE2D<int>,2>(x2D1D,_t23D0);
          goto JOIN2D23
        JOIN2D23:  preds = [ASSIGN2D20,ASSIGN46FB]
          bool _t2D21#1 = phi(_t2D1F,_t2D22)
          if _t2D21 then goto ASSIGN2D26 else goto JOIN2EC8
        ASSIGN2D26:  preds = [COND2D24]
          real2 nd2D25#2 = Floor<2>(x2D18);
          real2 f2D27#2 = Sub<real2>(x2D18,nd2D25);
          int{2} n2D29#2 = RealToInt<2>(nd2D25);
          int t12D2B#4 = -1;
          int t22D2D#1 = Index<int{2},0>(n2D29);
          int ix2D2F#4 = Add<int>(t12D2B,t22D2D);
          int t22D31#4 = Index<int{2},1>(n2D29);
          int iy2D33#1 = Add<int>(t12D2B,t22D31);
          int n02D36#8 = 21;
          int t2D37#1 = Mul<int>(n02D36,iy2D33);
          int index2D38#1 = Add<int>(ix2D2F,t2D37);
          addr(IMAGE2D<float>) imgBaseAddr2D39#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2D35#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D38);
          real4 v02D3F#1 = LoadVoxels<IMAGE2D<float>,4>(a2D35);
          int iy2D41#1 = Add<int>(_t246F,t22D31);
          int t2D45#1 = Mul<int>(n02D36,iy2D41);
          int index2D46#1 = Add<int>(ix2D2F,t2D45);
          addr(IMAGE2D<float>) a2D43#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D46);
          real4 v12D4D#1 = LoadVoxels<IMAGE2D<float>,4>(a2D43);
          int iy2D4F#1 = Add<int>(_t2473,t22D31);
          int t2D53#1 = Mul<int>(n02D36,iy2D4F);
          int index2D54#1 = Add<int>(ix2D2F,t2D53);
          addr(IMAGE2D<float>) a2D51#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D54);
          real4 v22D5B#1 = LoadVoxels<IMAGE2D<float>,4>(a2D51);
          int iy2D5D#1 = Add<int>(_t244B,t22D31);
          int t2D61#1 = Mul<int>(n02D36,iy2D5D);
          int index2D62#1 = Add<int>(ix2D2F,t2D61);
          addr(IMAGE2D<float>) a2D5F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D62);
          real4 v32D69#1 = LoadVoxels<IMAGE2D<float>,4>(a2D5F);
          real fy2D6B#4 = Index<real2,1>(f2D27);
          real t32D6D#1 = Add<real>(fy2D6B,_t2447);
          real t12D6F#1 = Sub<real>(fy2D6B,_t2447);
          real t02D71#1 = Sub<real>(fy2D6B,_t2449);
          real4 a2D73#3 = <real4>[t32D6D,fy2D6B,t12D6F,t02D71];
          real _f2D86#2 = 0.133333333333e1;
          real _f2D87#2 = 0.666666666667e0;
          real4 a02D76#4 = <real4>[_f2D86,_f2D87,_f2D87,_f2D86];
          real _f2D82#1 = -0.2e1;
          real _f2D83#2 = 0.0;
          real4 a12D77#4 = <real4>[_f2D82,_f2D83,_f2D83,_t2449];
          real _f2D7F#2 = -0.1e1;
          real4 a22D78#4 = <real4>[_t2447,_f2D7F,_f2D7F,_t2447];
          real _f2D7A#1 = -0.166666666667e0;
          real _f2D7B#1 = 0.5e0;
          real _f2D7C#1 = -0.5e0;
          real _f2D7D#1 = 0.166666666667e0;
          real4 a32D79#4 = <real4>[_f2D7A,_f2D7B,_f2D7C,_f2D7D];
          real4 prod32D8A#1 = Mul<real4>(a2D73,a32D79);
          real4 sum22D8B#1 = Add<real4>(a22D78,prod32D8A);
          real4 prod22D8C#1 = Mul<real4>(a2D73,sum22D8B);
          real4 sum12D8D#1 = Add<real4>(a12D77,prod22D8C);
          real4 prod12D8E#1 = Mul<real4>(a2D73,sum12D8D);
          real4 hy2D75#1 = Add<real4>(a02D76,prod12D8E);
          real fx2DA9#4 = Index<real2,0>(f2D27);
          real t32DAB#1 = Add<real>(fx2DA9,_t2447);
          real t12DAD#1 = Sub<real>(fx2DA9,_t2447);
          real t02DAF#1 = Sub<real>(fx2DA9,_t2449);
          real4 a2DB1#3 = <real4>[t32DAB,fx2DA9,t12DAD,t02DAF];
          real4 prod32DC8#1 = Mul<real4>(a2DB1,a32D79);
          real4 sum22DC9#1 = Add<real4>(a22D78,prod32DC8);
          real4 prod22DCA#1 = Mul<real4>(a2DB1,sum22DC9);
          real4 sum12DCB#1 = Add<real4>(a12D77,prod22DCA);
          real4 prod12DCC#1 = Mul<real4>(a2DB1,sum12DCB);
          real4 hx2DB3#4 = Add<real4>(a02D76,prod12DCC);
          real t02DE7#1 = Dot<4>(v02D3F,hx2DB3);
          real t12DE9#1 = Dot<4>(v12D4D,hx2DB3);
          real t22DEB#1 = Dot<4>(v22D5B,hx2DB3);
          real t32DED#1 = Dot<4>(v32D69,hx2DB3);
          real4 tv2DEF#1 = <real4>[t02DE7,t12DE9,t22DEB,t32DED];
          real _t2DF1#1 = Dot<4>(hy2D75,tv2DEF);
          real2 x2DF3#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0523EA);
          real2 nd2DF5#2 = Floor<2>(x2DF3);
          real2 f2DF7#2 = Sub<real2>(x2DF3,nd2DF5);
          int{2} n2DF9#2 = RealToInt<2>(nd2DF5);
          int t22DFB#1 = Index<int{2},0>(n2DF9);
          int ix2DFD#4 = Add<int>(t12D2B,t22DFB);
          int t22DFF#4 = Index<int{2},1>(n2DF9);
          int iy2E01#1 = Add<int>(t12D2B,t22DFF);
          int t2E05#1 = Mul<int>(n02D36,iy2E01);
          int index2E06#1 = Add<int>(ix2DFD,t2E05);
          addr(IMAGE2D<int>) imgBaseAddr2E07#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2E03#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E06);
          real4 v02E0D#1 = LoadVoxels<IMAGE2D<int>,4>(a2E03);
          int iy2E0F#1 = Add<int>(_t246F,t22DFF);
          int t2E13#1 = Mul<int>(n02D36,iy2E0F);
          int index2E14#1 = Add<int>(ix2DFD,t2E13);
          addr(IMAGE2D<int>) a2E11#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E14);
          real4 v12E1B#1 = LoadVoxels<IMAGE2D<int>,4>(a2E11);
          int iy2E1D#1 = Add<int>(_t2473,t22DFF);
          int t2E21#1 = Mul<int>(n02D36,iy2E1D);
          int index2E22#1 = Add<int>(ix2DFD,t2E21);
          addr(IMAGE2D<int>) a2E1F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E22);
          real4 v22E29#1 = LoadVoxels<IMAGE2D<int>,4>(a2E1F);
          int iy2E2B#1 = Add<int>(_t244B,t22DFF);
          int t2E2F#1 = Mul<int>(n02D36,iy2E2B);
          int index2E30#1 = Add<int>(ix2DFD,t2E2F);
          addr(IMAGE2D<int>) a2E2D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E30);
          real4 v32E37#1 = LoadVoxels<IMAGE2D<int>,4>(a2E2D);
          real fy2E39#4 = Index<real2,1>(f2DF7);
          real t32E3B#1 = Add<real>(fy2E39,_t2447);
          real t12E3D#1 = Sub<real>(fy2E39,_t2447);
          real t02E3F#1 = Sub<real>(fy2E39,_t2449);
          real4 a2E41#3 = <real4>[t32E3B,fy2E39,t12E3D,t02E3F];
          real4 prod32E58#1 = Mul<real4>(a2E41,a32D79);
          real4 sum22E59#1 = Add<real4>(a22D78,prod32E58);
          real4 prod22E5A#1 = Mul<real4>(a2E41,sum22E59);
          real4 sum12E5B#1 = Add<real4>(a12D77,prod22E5A);
          real4 prod12E5C#1 = Mul<real4>(a2E41,sum12E5B);
          real4 hy2E43#1 = Add<real4>(a02D76,prod12E5C);
          real fx2E77#4 = Index<real2,0>(f2DF7);
          real t32E79#1 = Add<real>(fx2E77,_t2447);
          real t12E7B#1 = Sub<real>(fx2E77,_t2447);
          real t02E7D#1 = Sub<real>(fx2E77,_t2449);
          real4 a2E7F#3 = <real4>[t32E79,fx2E77,t12E7B,t02E7D];
          real4 prod32E96#1 = Mul<real4>(a2E7F,a32D79);
          real4 sum22E97#1 = Add<real4>(a22D78,prod32E96);
          real4 prod22E98#1 = Mul<real4>(a2E7F,sum22E97);
          real4 sum12E99#1 = Add<real4>(a12D77,prod22E98);
          real4 prod12E9A#1 = Mul<real4>(a2E7F,sum12E99);
          real4 hx2E81#4 = Add<real4>(a02D76,prod12E9A);
          real t02EB5#1 = Dot<4>(v02E0D,hx2E81);
          real t12EB7#1 = Dot<4>(v12E1B,hx2E81);
          real t22EB9#1 = Dot<4>(v22E29,hx2E81);
          real t32EBB#1 = Dot<4>(v32E37,hx2E81);
          real4 tv2EBD#1 = <real4>[t02EB5,t12EB7,t22EB9,t32EBB];
          real _t2EBF#1 = Dot<4>(hy2E43,tv2EBD);
          real _t2EC1#2 = Sub<real>(_t2DF1,_t2EBF);
          real _t2EC3#1 = Mul<real>(_t2EC1,_t2EC1);
          real score2EC5#1 = Add<real>(score2D0E,_t2EC3);
          goto JOIN2EC8
        JOIN2EC8:  preds = [ASSIGN2EC6,COND2D24]
          real score2EC7#2 = phi(score2EC5,score2D0E)
          real _t2EC9#1 = Dot<2>(r02461,v0623EC);
          real _t2ECB#1 = Dot<2>(r12467,v0623EC);
          real2 _t2ECD#1 = <real2>[_t2EC9,_t2ECB];
          real2 pos2ECF#1 = Add<real2>(_t2ECD,_t2477);
          real2 x2ED1#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2ECF);
          bool _t2ED3#1 = Inside<IMAGE2D<float>,2>(x2ED1,_t23D4);
          if _t2ED3 then goto ASSIGN2ED7 else goto ASSIGN46FA
        ASSIGN2ED7:  preds = [COND2ED5]
          real2 x2ED6#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0623EC);
          bool _t2ED8#1 = Inside<IMAGE2D<int>,2>(x2ED6,_t23D0);
          goto JOIN2EDC
        JOIN2EDC:  preds = [ASSIGN2ED9,ASSIGN46FA]
          bool _t2EDA#1 = phi(_t2ED8,_t2EDB)
          if _t2EDA then goto ASSIGN2EDF else goto JOIN3081
        ASSIGN2EDF:  preds = [COND2EDD]
          real2 nd2EDE#2 = Floor<2>(x2ED1);
          real2 f2EE0#2 = Sub<real2>(x2ED1,nd2EDE);
          int{2} n2EE2#2 = RealToInt<2>(nd2EDE);
          int t12EE4#4 = -1;
          int t22EE6#1 = Index<int{2},0>(n2EE2);
          int ix2EE8#4 = Add<int>(t12EE4,t22EE6);
          int t22EEA#4 = Index<int{2},1>(n2EE2);
          int iy2EEC#1 = Add<int>(t12EE4,t22EEA);
          int n02EEF#8 = 21;
          int t2EF0#1 = Mul<int>(n02EEF,iy2EEC);
          int index2EF1#1 = Add<int>(ix2EE8,t2EF0);
          addr(IMAGE2D<float>) imgBaseAddr2EF2#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2EEE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2EF1);
          real4 v02EF8#1 = LoadVoxels<IMAGE2D<float>,4>(a2EEE);
          int iy2EFA#1 = Add<int>(_t246F,t22EEA);
          int t2EFE#1 = Mul<int>(n02EEF,iy2EFA);
          int index2EFF#1 = Add<int>(ix2EE8,t2EFE);
          addr(IMAGE2D<float>) a2EFC#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2EFF);
          real4 v12F06#1 = LoadVoxels<IMAGE2D<float>,4>(a2EFC);
          int iy2F08#1 = Add<int>(_t2473,t22EEA);
          int t2F0C#1 = Mul<int>(n02EEF,iy2F08);
          int index2F0D#1 = Add<int>(ix2EE8,t2F0C);
          addr(IMAGE2D<float>) a2F0A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2F0D);
          real4 v22F14#1 = LoadVoxels<IMAGE2D<float>,4>(a2F0A);
          int iy2F16#1 = Add<int>(_t244B,t22EEA);
          int t2F1A#1 = Mul<int>(n02EEF,iy2F16);
          int index2F1B#1 = Add<int>(ix2EE8,t2F1A);
          addr(IMAGE2D<float>) a2F18#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2F1B);
          real4 v32F22#1 = LoadVoxels<IMAGE2D<float>,4>(a2F18);
          real fy2F24#4 = Index<real2,1>(f2EE0);
          real t32F26#1 = Add<real>(fy2F24,_t2447);
          real t12F28#1 = Sub<real>(fy2F24,_t2447);
          real t02F2A#1 = Sub<real>(fy2F24,_t2449);
          real4 a2F2C#3 = <real4>[t32F26,fy2F24,t12F28,t02F2A];
          real _f2F3F#2 = 0.133333333333e1;
          real _f2F40#2 = 0.666666666667e0;
          real4 a02F2F#4 = <real4>[_f2F3F,_f2F40,_f2F40,_f2F3F];
          real _f2F3B#1 = -0.2e1;
          real _f2F3C#2 = 0.0;
          real4 a12F30#4 = <real4>[_f2F3B,_f2F3C,_f2F3C,_t2449];
          real _f2F38#2 = -0.1e1;
          real4 a22F31#4 = <real4>[_t2447,_f2F38,_f2F38,_t2447];
          real _f2F33#1 = -0.166666666667e0;
          real _f2F34#1 = 0.5e0;
          real _f2F35#1 = -0.5e0;
          real _f2F36#1 = 0.166666666667e0;
          real4 a32F32#4 = <real4>[_f2F33,_f2F34,_f2F35,_f2F36];
          real4 prod32F43#1 = Mul<real4>(a2F2C,a32F32);
          real4 sum22F44#1 = Add<real4>(a22F31,prod32F43);
          real4 prod22F45#1 = Mul<real4>(a2F2C,sum22F44);
          real4 sum12F46#1 = Add<real4>(a12F30,prod22F45);
          real4 prod12F47#1 = Mul<real4>(a2F2C,sum12F46);
          real4 hy2F2E#1 = Add<real4>(a02F2F,prod12F47);
          real fx2F62#4 = Index<real2,0>(f2EE0);
          real t32F64#1 = Add<real>(fx2F62,_t2447);
          real t12F66#1 = Sub<real>(fx2F62,_t2447);
          real t02F68#1 = Sub<real>(fx2F62,_t2449);
          real4 a2F6A#3 = <real4>[t32F64,fx2F62,t12F66,t02F68];
          real4 prod32F81#1 = Mul<real4>(a2F6A,a32F32);
          real4 sum22F82#1 = Add<real4>(a22F31,prod32F81);
          real4 prod22F83#1 = Mul<real4>(a2F6A,sum22F82);
          real4 sum12F84#1 = Add<real4>(a12F30,prod22F83);
          real4 prod12F85#1 = Mul<real4>(a2F6A,sum12F84);
          real4 hx2F6C#4 = Add<real4>(a02F2F,prod12F85);
          real t02FA0#1 = Dot<4>(v02EF8,hx2F6C);
          real t12FA2#1 = Dot<4>(v12F06,hx2F6C);
          real t22FA4#1 = Dot<4>(v22F14,hx2F6C);
          real t32FA6#1 = Dot<4>(v32F22,hx2F6C);
          real4 tv2FA8#1 = <real4>[t02FA0,t12FA2,t22FA4,t32FA6];
          real _t2FAA#1 = Dot<4>(hy2F2E,tv2FA8);
          real2 x2FAC#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0623EC);
          real2 nd2FAE#2 = Floor<2>(x2FAC);
          real2 f2FB0#2 = Sub<real2>(x2FAC,nd2FAE);
          int{2} n2FB2#2 = RealToInt<2>(nd2FAE);
          int t22FB4#1 = Index<int{2},0>(n2FB2);
          int ix2FB6#4 = Add<int>(t12EE4,t22FB4);
          int t22FB8#4 = Index<int{2},1>(n2FB2);
          int iy2FBA#1 = Add<int>(t12EE4,t22FB8);
          int t2FBE#1 = Mul<int>(n02EEF,iy2FBA);
          int index2FBF#1 = Add<int>(ix2FB6,t2FBE);
          addr(IMAGE2D<int>) imgBaseAddr2FC0#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2FBC#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FBF);
          real4 v02FC6#1 = LoadVoxels<IMAGE2D<int>,4>(a2FBC);
          int iy2FC8#1 = Add<int>(_t246F,t22FB8);
          int t2FCC#1 = Mul<int>(n02EEF,iy2FC8);
          int index2FCD#1 = Add<int>(ix2FB6,t2FCC);
          addr(IMAGE2D<int>) a2FCA#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FCD);
          real4 v12FD4#1 = LoadVoxels<IMAGE2D<int>,4>(a2FCA);
          int iy2FD6#1 = Add<int>(_t2473,t22FB8);
          int t2FDA#1 = Mul<int>(n02EEF,iy2FD6);
          int index2FDB#1 = Add<int>(ix2FB6,t2FDA);
          addr(IMAGE2D<int>) a2FD8#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FDB);
          real4 v22FE2#1 = LoadVoxels<IMAGE2D<int>,4>(a2FD8);
          int iy2FE4#1 = Add<int>(_t244B,t22FB8);
          int t2FE8#1 = Mul<int>(n02EEF,iy2FE4);
          int index2FE9#1 = Add<int>(ix2FB6,t2FE8);
          addr(IMAGE2D<int>) a2FE6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FE9);
          real4 v32FF0#1 = LoadVoxels<IMAGE2D<int>,4>(a2FE6);
          real fy2FF2#4 = Index<real2,1>(f2FB0);
          real t32FF4#1 = Add<real>(fy2FF2,_t2447);
          real t12FF6#1 = Sub<real>(fy2FF2,_t2447);
          real t02FF8#1 = Sub<real>(fy2FF2,_t2449);
          real4 a2FFA#3 = <real4>[t32FF4,fy2FF2,t12FF6,t02FF8];
          real4 prod33011#1 = Mul<real4>(a2FFA,a32F32);
          real4 sum23012#1 = Add<real4>(a22F31,prod33011);
          real4 prod23013#1 = Mul<real4>(a2FFA,sum23012);
          real4 sum13014#1 = Add<real4>(a12F30,prod23013);
          real4 prod13015#1 = Mul<real4>(a2FFA,sum13014);
          real4 hy2FFC#1 = Add<real4>(a02F2F,prod13015);
          real fx3030#4 = Index<real2,0>(f2FB0);
          real t33032#1 = Add<real>(fx3030,_t2447);
          real t13034#1 = Sub<real>(fx3030,_t2447);
          real t03036#1 = Sub<real>(fx3030,_t2449);
          real4 a3038#3 = <real4>[t33032,fx3030,t13034,t03036];
          real4 prod3304F#1 = Mul<real4>(a3038,a32F32);
          real4 sum23050#1 = Add<real4>(a22F31,prod3304F);
          real4 prod23051#1 = Mul<real4>(a3038,sum23050);
          real4 sum13052#1 = Add<real4>(a12F30,prod23051);
          real4 prod13053#1 = Mul<real4>(a3038,sum13052);
          real4 hx303A#4 = Add<real4>(a02F2F,prod13053);
          real t0306E#1 = Dot<4>(v02FC6,hx303A);
          real t13070#1 = Dot<4>(v12FD4,hx303A);
          real t23072#1 = Dot<4>(v22FE2,hx303A);
          real t33074#1 = Dot<4>(v32FF0,hx303A);
          real4 tv3076#1 = <real4>[t0306E,t13070,t23072,t33074];
          real _t3078#1 = Dot<4>(hy2FFC,tv3076);
          real _t307A#2 = Sub<real>(_t2FAA,_t3078);
          real _t307C#1 = Mul<real>(_t307A,_t307A);
          real score307E#1 = Add<real>(score2EC7,_t307C);
          goto JOIN3081
        JOIN3081:  preds = [ASSIGN307F,COND2EDD]
          real score3080#2 = phi(score307E,score2EC7)
          real _t3082#1 = Dot<2>(r02461,v0723EE);
          real _t3084#1 = Dot<2>(r12467,v0723EE);
          real2 _t3086#1 = <real2>[_t3082,_t3084];
          real2 pos3088#1 = Add<real2>(_t3086,_t2477);
          real2 x308A#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3088);
          bool _t308C#1 = Inside<IMAGE2D<float>,2>(x308A,_t23D4);
          if _t308C then goto ASSIGN3090 else goto ASSIGN46F9
        ASSIGN3090:  preds = [COND308E]
          real2 x308F#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0723EE);
          bool _t3091#1 = Inside<IMAGE2D<int>,2>(x308F,_t23D0);
          goto JOIN3095
        JOIN3095:  preds = [ASSIGN3092,ASSIGN46F9]
          bool _t3093#1 = phi(_t3091,_t3094)
          if _t3093 then goto ASSIGN3098 else goto JOIN323A
        ASSIGN3098:  preds = [COND3096]
          real2 nd3097#2 = Floor<2>(x308A);
          real2 f3099#2 = Sub<real2>(x308A,nd3097);
          int{2} n309B#2 = RealToInt<2>(nd3097);
          int t1309D#4 = -1;
          int t2309F#1 = Index<int{2},0>(n309B);
          int ix30A1#4 = Add<int>(t1309D,t2309F);
          int t230A3#4 = Index<int{2},1>(n309B);
          int iy30A5#1 = Add<int>(t1309D,t230A3);
          int n030A8#8 = 21;
          int t30A9#1 = Mul<int>(n030A8,iy30A5);
          int index30AA#1 = Add<int>(ix30A1,t30A9);
          addr(IMAGE2D<float>) imgBaseAddr30AB#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a30A7#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30AA);
          real4 v030B1#1 = LoadVoxels<IMAGE2D<float>,4>(a30A7);
          int iy30B3#1 = Add<int>(_t246F,t230A3);
          int t30B7#1 = Mul<int>(n030A8,iy30B3);
          int index30B8#1 = Add<int>(ix30A1,t30B7);
          addr(IMAGE2D<float>) a30B5#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30B8);
          real4 v130BF#1 = LoadVoxels<IMAGE2D<float>,4>(a30B5);
          int iy30C1#1 = Add<int>(_t2473,t230A3);
          int t30C5#1 = Mul<int>(n030A8,iy30C1);
          int index30C6#1 = Add<int>(ix30A1,t30C5);
          addr(IMAGE2D<float>) a30C3#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30C6);
          real4 v230CD#1 = LoadVoxels<IMAGE2D<float>,4>(a30C3);
          int iy30CF#1 = Add<int>(_t244B,t230A3);
          int t30D3#1 = Mul<int>(n030A8,iy30CF);
          int index30D4#1 = Add<int>(ix30A1,t30D3);
          addr(IMAGE2D<float>) a30D1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30D4);
          real4 v330DB#1 = LoadVoxels<IMAGE2D<float>,4>(a30D1);
          real fy30DD#4 = Index<real2,1>(f3099);
          real t330DF#1 = Add<real>(fy30DD,_t2447);
          real t130E1#1 = Sub<real>(fy30DD,_t2447);
          real t030E3#1 = Sub<real>(fy30DD,_t2449);
          real4 a30E5#3 = <real4>[t330DF,fy30DD,t130E1,t030E3];
          real _f30F8#2 = 0.133333333333e1;
          real _f30F9#2 = 0.666666666667e0;
          real4 a030E8#4 = <real4>[_f30F8,_f30F9,_f30F9,_f30F8];
          real _f30F4#1 = -0.2e1;
          real _f30F5#2 = 0.0;
          real4 a130E9#4 = <real4>[_f30F4,_f30F5,_f30F5,_t2449];
          real _f30F1#2 = -0.1e1;
          real4 a230EA#4 = <real4>[_t2447,_f30F1,_f30F1,_t2447];
          real _f30EC#1 = -0.166666666667e0;
          real _f30ED#1 = 0.5e0;
          real _f30EE#1 = -0.5e0;
          real _f30EF#1 = 0.166666666667e0;
          real4 a330EB#4 = <real4>[_f30EC,_f30ED,_f30EE,_f30EF];
          real4 prod330FC#1 = Mul<real4>(a30E5,a330EB);
          real4 sum230FD#1 = Add<real4>(a230EA,prod330FC);
          real4 prod230FE#1 = Mul<real4>(a30E5,sum230FD);
          real4 sum130FF#1 = Add<real4>(a130E9,prod230FE);
          real4 prod13100#1 = Mul<real4>(a30E5,sum130FF);
          real4 hy30E7#1 = Add<real4>(a030E8,prod13100);
          real fx311B#4 = Index<real2,0>(f3099);
          real t3311D#1 = Add<real>(fx311B,_t2447);
          real t1311F#1 = Sub<real>(fx311B,_t2447);
          real t03121#1 = Sub<real>(fx311B,_t2449);
          real4 a3123#3 = <real4>[t3311D,fx311B,t1311F,t03121];
          real4 prod3313A#1 = Mul<real4>(a3123,a330EB);
          real4 sum2313B#1 = Add<real4>(a230EA,prod3313A);
          real4 prod2313C#1 = Mul<real4>(a3123,sum2313B);
          real4 sum1313D#1 = Add<real4>(a130E9,prod2313C);
          real4 prod1313E#1 = Mul<real4>(a3123,sum1313D);
          real4 hx3125#4 = Add<real4>(a030E8,prod1313E);
          real t03159#1 = Dot<4>(v030B1,hx3125);
          real t1315B#1 = Dot<4>(v130BF,hx3125);
          real t2315D#1 = Dot<4>(v230CD,hx3125);
          real t3315F#1 = Dot<4>(v330DB,hx3125);
          real4 tv3161#1 = <real4>[t03159,t1315B,t2315D,t3315F];
          real _t3163#1 = Dot<4>(hy30E7,tv3161);
          real2 x3165#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0723EE);
          real2 nd3167#2 = Floor<2>(x3165);
          real2 f3169#2 = Sub<real2>(x3165,nd3167);
          int{2} n316B#2 = RealToInt<2>(nd3167);
          int t2316D#1 = Index<int{2},0>(n316B);
          int ix316F#4 = Add<int>(t1309D,t2316D);
          int t23171#4 = Index<int{2},1>(n316B);
          int iy3173#1 = Add<int>(t1309D,t23171);
          int t3177#1 = Mul<int>(n030A8,iy3173);
          int index3178#1 = Add<int>(ix316F,t3177);
          addr(IMAGE2D<int>) imgBaseAddr3179#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3175#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index3178);
          real4 v0317F#1 = LoadVoxels<IMAGE2D<int>,4>(a3175);
          int iy3181#1 = Add<int>(_t246F,t23171);
          int t3185#1 = Mul<int>(n030A8,iy3181);
          int index3186#1 = Add<int>(ix316F,t3185);
          addr(IMAGE2D<int>) a3183#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index3186);
          real4 v1318D#1 = LoadVoxels<IMAGE2D<int>,4>(a3183);
          int iy318F#1 = Add<int>(_t2473,t23171);
          int t3193#1 = Mul<int>(n030A8,iy318F);
          int index3194#1 = Add<int>(ix316F,t3193);
          addr(IMAGE2D<int>) a3191#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index3194);
          real4 v2319B#1 = LoadVoxels<IMAGE2D<int>,4>(a3191);
          int iy319D#1 = Add<int>(_t244B,t23171);
          int t31A1#1 = Mul<int>(n030A8,iy319D);
          int index31A2#1 = Add<int>(ix316F,t31A1);
          addr(IMAGE2D<int>) a319F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index31A2);
          real4 v331A9#1 = LoadVoxels<IMAGE2D<int>,4>(a319F);
          real fy31AB#4 = Index<real2,1>(f3169);
          real t331AD#1 = Add<real>(fy31AB,_t2447);
          real t131AF#1 = Sub<real>(fy31AB,_t2447);
          real t031B1#1 = Sub<real>(fy31AB,_t2449);
          real4 a31B3#3 = <real4>[t331AD,fy31AB,t131AF,t031B1];
          real4 prod331CA#1 = Mul<real4>(a31B3,a330EB);
          real4 sum231CB#1 = Add<real4>(a230EA,prod331CA);
          real4 prod231CC#1 = Mul<real4>(a31B3,sum231CB);
          real4 sum131CD#1 = Add<real4>(a130E9,prod231CC);
          real4 prod131CE#1 = Mul<real4>(a31B3,sum131CD);
          real4 hy31B5#1 = Add<real4>(a030E8,prod131CE);
          real fx31E9#4 = Index<real2,0>(f3169);
          real t331EB#1 = Add<real>(fx31E9,_t2447);
          real t131ED#1 = Sub<real>(fx31E9,_t2447);
          real t031EF#1 = Sub<real>(fx31E9,_t2449);
          real4 a31F1#3 = <real4>[t331EB,fx31E9,t131ED,t031EF];
          real4 prod33208#1 = Mul<real4>(a31F1,a330EB);
          real4 sum23209#1 = Add<real4>(a230EA,prod33208);
          real4 prod2320A#1 = Mul<real4>(a31F1,sum23209);
          real4 sum1320B#1 = Add<real4>(a130E9,prod2320A);
          real4 prod1320C#1 = Mul<real4>(a31F1,sum1320B);
          real4 hx31F3#4 = Add<real4>(a030E8,prod1320C);
          real t03227#1 = Dot<4>(v0317F,hx31F3);
          real t13229#1 = Dot<4>(v1318D,hx31F3);
          real t2322B#1 = Dot<4>(v2319B,hx31F3);
          real t3322D#1 = Dot<4>(v331A9,hx31F3);
          real4 tv322F#1 = <real4>[t03227,t13229,t2322B,t3322D];
          real _t3231#1 = Dot<4>(hy31B5,tv322F);
          real _t3233#2 = Sub<real>(_t3163,_t3231);
          real _t3235#1 = Mul<real>(_t3233,_t3233);
          real score3237#1 = Add<real>(score3080,_t3235);
          goto JOIN323A
        JOIN323A:  preds = [ASSIGN3238,COND3096]
          real score3239#2 = phi(score3237,score3080)
          real _t323B#1 = Dot<2>(r02461,v0823F0);
          real _t323D#1 = Dot<2>(r12467,v0823F0);
          real2 _t323F#1 = <real2>[_t323B,_t323D];
          real2 pos3241#1 = Add<real2>(_t323F,_t2477);
          real2 x3243#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3241);
          bool _t3245#1 = Inside<IMAGE2D<float>,2>(x3243,_t23D4);
          if _t3245 then goto ASSIGN3249 else goto ASSIGN46F8
        ASSIGN3249:  preds = [COND3247]
          real2 x3248#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0823F0);
          bool _t324A#1 = Inside<IMAGE2D<int>,2>(x3248,_t23D0);
          goto JOIN324E
        JOIN324E:  preds = [ASSIGN324B,ASSIGN46F8]
          bool _t324C#1 = phi(_t324A,_t324D)
          if _t324C then goto ASSIGN3251 else goto JOIN33F3
        ASSIGN3251:  preds = [COND324F]
          real2 nd3250#2 = Floor<2>(x3243);
          real2 f3252#2 = Sub<real2>(x3243,nd3250);
          int{2} n3254#2 = RealToInt<2>(nd3250);
          int t13256#4 = -1;
          int t23258#1 = Index<int{2},0>(n3254);
          int ix325A#4 = Add<int>(t13256,t23258);
          int t2325C#4 = Index<int{2},1>(n3254);
          int iy325E#1 = Add<int>(t13256,t2325C);
          int n03261#8 = 21;
          int t3262#1 = Mul<int>(n03261,iy325E);
          int index3263#1 = Add<int>(ix325A,t3262);
          addr(IMAGE2D<float>) imgBaseAddr3264#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3260#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index3263);
          real4 v0326A#1 = LoadVoxels<IMAGE2D<float>,4>(a3260);
          int iy326C#1 = Add<int>(_t246F,t2325C);
          int t3270#1 = Mul<int>(n03261,iy326C);
          int index3271#1 = Add<int>(ix325A,t3270);
          addr(IMAGE2D<float>) a326E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index3271);
          real4 v13278#1 = LoadVoxels<IMAGE2D<float>,4>(a326E);
          int iy327A#1 = Add<int>(_t2473,t2325C);
          int t327E#1 = Mul<int>(n03261,iy327A);
          int index327F#1 = Add<int>(ix325A,t327E);
          addr(IMAGE2D<float>) a327C#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index327F);
          real4 v23286#1 = LoadVoxels<IMAGE2D<float>,4>(a327C);
          int iy3288#1 = Add<int>(_t244B,t2325C);
          int t328C#1 = Mul<int>(n03261,iy3288);
          int index328D#1 = Add<int>(ix325A,t328C);
          addr(IMAGE2D<float>) a328A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index328D);
          real4 v33294#1 = LoadVoxels<IMAGE2D<float>,4>(a328A);
          real fy3296#4 = Index<real2,1>(f3252);
          real t33298#1 = Add<real>(fy3296,_t2447);
          real t1329A#1 = Sub<real>(fy3296,_t2447);
          real t0329C#1 = Sub<real>(fy3296,_t2449);
          real4 a329E#3 = <real4>[t33298,fy3296,t1329A,t0329C];
          real _f32B1#2 = 0.133333333333e1;
          real _f32B2#2 = 0.666666666667e0;
          real4 a032A1#4 = <real4>[_f32B1,_f32B2,_f32B2,_f32B1];
          real _f32AD#1 = -0.2e1;
          real _f32AE#2 = 0.0;
          real4 a132A2#4 = <real4>[_f32AD,_f32AE,_f32AE,_t2449];
          real _f32AA#2 = -0.1e1;
          real4 a232A3#4 = <real4>[_t2447,_f32AA,_f32AA,_t2447];
          real _f32A5#1 = -0.166666666667e0;
          real _f32A6#1 = 0.5e0;
          real _f32A7#1 = -0.5e0;
          real _f32A8#1 = 0.166666666667e0;
          real4 a332A4#4 = <real4>[_f32A5,_f32A6,_f32A7,_f32A8];
          real4 prod332B5#1 = Mul<real4>(a329E,a332A4);
          real4 sum232B6#1 = Add<real4>(a232A3,prod332B5);
          real4 prod232B7#1 = Mul<real4>(a329E,sum232B6);
          real4 sum132B8#1 = Add<real4>(a132A2,prod232B7);
          real4 prod132B9#1 = Mul<real4>(a329E,sum132B8);
          real4 hy32A0#1 = Add<real4>(a032A1,prod132B9);
          real fx32D4#4 = Index<real2,0>(f3252);
          real t332D6#1 = Add<real>(fx32D4,_t2447);
          real t132D8#1 = Sub<real>(fx32D4,_t2447);
          real t032DA#1 = Sub<real>(fx32D4,_t2449);
          real4 a32DC#3 = <real4>[t332D6,fx32D4,t132D8,t032DA];
          real4 prod332F3#1 = Mul<real4>(a32DC,a332A4);
          real4 sum232F4#1 = Add<real4>(a232A3,prod332F3);
          real4 prod232F5#1 = Mul<real4>(a32DC,sum232F4);
          real4 sum132F6#1 = Add<real4>(a132A2,prod232F5);
          real4 prod132F7#1 = Mul<real4>(a32DC,sum132F6);
          real4 hx32DE#4 = Add<real4>(a032A1,prod132F7);
          real t03312#1 = Dot<4>(v0326A,hx32DE);
          real t13314#1 = Dot<4>(v13278,hx32DE);
          real t23316#1 = Dot<4>(v23286,hx32DE);
          real t33318#1 = Dot<4>(v33294,hx32DE);
          real4 tv331A#1 = <real4>[t03312,t13314,t23316,t33318];
          real _t331C#1 = Dot<4>(hy32A0,tv331A);
          real2 x331E#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0823F0);
          real2 nd3320#2 = Floor<2>(x331E);
          real2 f3322#2 = Sub<real2>(x331E,nd3320);
          int{2} n3324#2 = RealToInt<2>(nd3320);
          int t23326#1 = Index<int{2},0>(n3324);
          int ix3328#4 = Add<int>(t13256,t23326);
          int t2332A#4 = Index<int{2},1>(n3324);
          int iy332C#1 = Add<int>(t13256,t2332A);
          int t3330#1 = Mul<int>(n03261,iy332C);
          int index3331#1 = Add<int>(ix3328,t3330);
          addr(IMAGE2D<int>) imgBaseAddr3332#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a332E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index3331);
          real4 v03338#1 = LoadVoxels<IMAGE2D<int>,4>(a332E);
          int iy333A#1 = Add<int>(_t246F,t2332A);
          int t333E#1 = Mul<int>(n03261,iy333A);
          int index333F#1 = Add<int>(ix3328,t333E);
          addr(IMAGE2D<int>) a333C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index333F);
          real4 v13346#1 = LoadVoxels<IMAGE2D<int>,4>(a333C);
          int iy3348#1 = Add<int>(_t2473,t2332A);
          int t334C#1 = Mul<int>(n03261,iy3348);
          int index334D#1 = Add<int>(ix3328,t334C);
          addr(IMAGE2D<int>) a334A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index334D);
          real4 v23354#1 = LoadVoxels<IMAGE2D<int>,4>(a334A);
          int iy3356#1 = Add<int>(_t244B,t2332A);
          int t335A#1 = Mul<int>(n03261,iy3356);
          int index335B#1 = Add<int>(ix3328,t335A);
          addr(IMAGE2D<int>) a3358#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index335B);
          real4 v33362#1 = LoadVoxels<IMAGE2D<int>,4>(a3358);
          real fy3364#4 = Index<real2,1>(f3322);
          real t33366#1 = Add<real>(fy3364,_t2447);
          real t13368#1 = Sub<real>(fy3364,_t2447);
          real t0336A#1 = Sub<real>(fy3364,_t2449);
          real4 a336C#3 = <real4>[t33366,fy3364,t13368,t0336A];
          real4 prod33383#1 = Mul<real4>(a336C,a332A4);
          real4 sum23384#1 = Add<real4>(a232A3,prod33383);
          real4 prod23385#1 = Mul<real4>(a336C,sum23384);
          real4 sum13386#1 = Add<real4>(a132A2,prod23385);
          real4 prod13387#1 = Mul<real4>(a336C,sum13386);
          real4 hy336E#1 = Add<real4>(a032A1,prod13387);
          real fx33A2#4 = Index<real2,0>(f3322);
          real t333A4#1 = Add<real>(fx33A2,_t2447);
          real t133A6#1 = Sub<real>(fx33A2,_t2447);
          real t033A8#1 = Sub<real>(fx33A2,_t2449);
          real4 a33AA#3 = <real4>[t333A4,fx33A2,t133A6,t033A8];
          real4 prod333C1#1 = Mul<real4>(a33AA,a332A4);
          real4 sum233C2#1 = Add<real4>(a232A3,prod333C1);
          real4 prod233C3#1 = Mul<real4>(a33AA,sum233C2);
          real4 sum133C4#1 = Add<real4>(a132A2,prod233C3);
          real4 prod133C5#1 = Mul<real4>(a33AA,sum133C4);
          real4 hx33AC#4 = Add<real4>(a032A1,prod133C5);
          real t033E0#1 = Dot<4>(v03338,hx33AC);
          real t133E2#1 = Dot<4>(v13346,hx33AC);
          real t233E4#1 = Dot<4>(v23354,hx33AC);
          real t333E6#1 = Dot<4>(v33362,hx33AC);
          real4 tv33E8#1 = <real4>[t033E0,t133E2,t233E4,t333E6];
          real _t33EA#1 = Dot<4>(hy336E,tv33E8);
          real _t33EC#2 = Sub<real>(_t331C,_t33EA);
          real _t33EE#1 = Mul<real>(_t33EC,_t33EC);
          real score33F0#1 = Add<real>(score3239,_t33EE);
          goto JOIN33F3
        JOIN33F3:  preds = [ASSIGN33F1,COND324F]
          real score33F2#2 = phi(score33F0,score3239)
          real _t33F4#1 = Dot<2>(r02461,v0923F2);
          real _t33F6#1 = Dot<2>(r12467,v0923F2);
          real2 _t33F8#1 = <real2>[_t33F4,_t33F6];
          real2 pos33FA#1 = Add<real2>(_t33F8,_t2477);
          real2 x33FC#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos33FA);
          bool _t33FE#1 = Inside<IMAGE2D<float>,2>(x33FC,_t23D4);
          if _t33FE then goto ASSIGN3402 else goto ASSIGN46F7
        ASSIGN3402:  preds = [COND3400]
          real2 x3401#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0923F2);
          bool _t3403#1 = Inside<IMAGE2D<int>,2>(x3401,_t23D0);
          goto JOIN3407
        JOIN3407:  preds = [ASSIGN3404,ASSIGN46F7]
          bool _t3405#1 = phi(_t3403,_t3406)
          if _t3405 then goto ASSIGN340A else goto JOIN35AC
        ASSIGN340A:  preds = [COND3408]
          real2 nd3409#2 = Floor<2>(x33FC);
          real2 f340B#2 = Sub<real2>(x33FC,nd3409);
          int{2} n340D#2 = RealToInt<2>(nd3409);
          int t1340F#4 = -1;
          int t23411#1 = Index<int{2},0>(n340D);
          int ix3413#4 = Add<int>(t1340F,t23411);
          int t23415#4 = Index<int{2},1>(n340D);
          int iy3417#1 = Add<int>(t1340F,t23415);
          int n0341A#8 = 21;
          int t341B#1 = Mul<int>(n0341A,iy3417);
          int index341C#1 = Add<int>(ix3413,t341B);
          addr(IMAGE2D<float>) imgBaseAddr341D#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3419#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index341C);
          real4 v03423#1 = LoadVoxels<IMAGE2D<float>,4>(a3419);
          int iy3425#1 = Add<int>(_t246F,t23415);
          int t3429#1 = Mul<int>(n0341A,iy3425);
          int index342A#1 = Add<int>(ix3413,t3429);
          addr(IMAGE2D<float>) a3427#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index342A);
          real4 v13431#1 = LoadVoxels<IMAGE2D<float>,4>(a3427);
          int iy3433#1 = Add<int>(_t2473,t23415);
          int t3437#1 = Mul<int>(n0341A,iy3433);
          int index3438#1 = Add<int>(ix3413,t3437);
          addr(IMAGE2D<float>) a3435#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index3438);
          real4 v2343F#1 = LoadVoxels<IMAGE2D<float>,4>(a3435);
          int iy3441#1 = Add<int>(_t244B,t23415);
          int t3445#1 = Mul<int>(n0341A,iy3441);
          int index3446#1 = Add<int>(ix3413,t3445);
          addr(IMAGE2D<float>) a3443#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index3446);
          real4 v3344D#1 = LoadVoxels<IMAGE2D<float>,4>(a3443);
          real fy344F#4 = Index<real2,1>(f340B);
          real t33451#1 = Add<real>(fy344F,_t2447);
          real t13453#1 = Sub<real>(fy344F,_t2447);
          real t03455#1 = Sub<real>(fy344F,_t2449);
          real4 a3457#3 = <real4>[t33451,fy344F,t13453,t03455];
          real _f346A#2 = 0.133333333333e1;
          real _f346B#2 = 0.666666666667e0;
          real4 a0345A#4 = <real4>[_f346A,_f346B,_f346B,_f346A];
          real _f3466#1 = -0.2e1;
          real _f3467#2 = 0.0;
          real4 a1345B#4 = <real4>[_f3466,_f3467,_f3467,_t2449];
          real _f3463#2 = -0.1e1;
          real4 a2345C#4 = <real4>[_t2447,_f3463,_f3463,_t2447];
          real _f345E#1 = -0.166666666667e0;
          real _f345F#1 = 0.5e0;
          real _f3460#1 = -0.5e0;
          real _f3461#1 = 0.166666666667e0;
          real4 a3345D#4 = <real4>[_f345E,_f345F,_f3460,_f3461];
          real4 prod3346E#1 = Mul<real4>(a3457,a3345D);
          real4 sum2346F#1 = Add<real4>(a2345C,prod3346E);
          real4 prod23470#1 = Mul<real4>(a3457,sum2346F);
          real4 sum13471#1 = Add<real4>(a1345B,prod23470);
          real4 prod13472#1 = Mul<real4>(a3457,sum13471);
          real4 hy3459#1 = Add<real4>(a0345A,prod13472);
          real fx348D#4 = Index<real2,0>(f340B);
          real t3348F#1 = Add<real>(fx348D,_t2447);
          real t13491#1 = Sub<real>(fx348D,_t2447);
          real t03493#1 = Sub<real>(fx348D,_t2449);
          real4 a3495#3 = <real4>[t3348F,fx348D,t13491,t03493];
          real4 prod334AC#1 = Mul<real4>(a3495,a3345D);
          real4 sum234AD#1 = Add<real4>(a2345C,prod334AC);
          real4 prod234AE#1 = Mul<real4>(a3495,sum234AD);
          real4 sum134AF#1 = Add<real4>(a1345B,prod234AE);
          real4 prod134B0#1 = Mul<real4>(a3495,sum134AF);
          real4 hx3497#4 = Add<real4>(a0345A,prod134B0);
          real t034CB#1 = Dot<4>(v03423,hx3497);
          real t134CD#1 = Dot<4>(v13431,hx3497);
          real t234CF#1 = Dot<4>(v2343F,hx3497);
          real t334D1#1 = Dot<4>(v3344D,hx3497);
          real4 tv34D3#1 = <real4>[t034CB,t134CD,t234CF,t334D1];
          real _t34D5#1 = Dot<4>(hy3459,tv34D3);
          real2 x34D7#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0923F2);
          real2 nd34D9#2 = Floor<2>(x34D7);
          real2 f34DB#2 = Sub<real2>(x34D7,nd34D9);
          int{2} n34DD#2 = RealToInt<2>(nd34D9);
          int t234DF#1 = Index<int{2},0>(n34DD);
          int ix34E1#4 = Add<int>(t1340F,t234DF);
          int t234E3#4 = Index<int{2},1>(n34DD);
          int iy34E5#1 = Add<int>(t1340F,t234E3);
          int t34E9#1 = Mul<int>(n0341A,iy34E5);
          int index34EA#1 = Add<int>(ix34E1,t34E9);
          addr(IMAGE2D<int>) imgBaseAddr34EB#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a34E7#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index34EA);
          real4 v034F1#1 = LoadVoxels<IMAGE2D<int>,4>(a34E7);
          int iy34F3#1 = Add<int>(_t246F,t234E3);
          int t34F7#1 = Mul<int>(n0341A,iy34F3);
          int index34F8#1 = Add<int>(ix34E1,t34F7);
          addr(IMAGE2D<int>) a34F5#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index34F8);
          real4 v134FF#1 = LoadVoxels<IMAGE2D<int>,4>(a34F5);
          int iy3501#1 = Add<int>(_t2473,t234E3);
          int t3505#1 = Mul<int>(n0341A,iy3501);
          int index3506#1 = Add<int>(ix34E1,t3505);
          addr(IMAGE2D<int>) a3503#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index3506);
          real4 v2350D#1 = LoadVoxels<IMAGE2D<int>,4>(a3503);
          int iy350F#1 = Add<int>(_t244B,t234E3);
          int t3513#1 = Mul<int>(n0341A,iy350F);
          int index3514#1 = Add<int>(ix34E1,t3513);
          addr(IMAGE2D<int>) a3511#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index3514);
          real4 v3351B#1 = LoadVoxels<IMAGE2D<int>,4>(a3511);
          real fy351D#4 = Index<real2,1>(f34DB);
          real t3351F#1 = Add<real>(fy351D,_t2447);
          real t13521#1 = Sub<real>(fy351D,_t2447);
          real t03523#1 = Sub<real>(fy351D,_t2449);
          real4 a3525#3 = <real4>[t3351F,fy351D,t13521,t03523];
          real4 prod3353C#1 = Mul<real4>(a3525,a3345D);
          real4 sum2353D#1 = Add<real4>(a2345C,prod3353C);
          real4 prod2353E#1 = Mul<real4>(a3525,sum2353D);
          real4 sum1353F#1 = Add<real4>(a1345B,prod2353E);
          real4 prod13540#1 = Mul<real4>(a3525,sum1353F);
          real4 hy3527#1 = Add<real4>(a0345A,prod13540);
          real fx355B#4 = Index<real2,0>(f34DB);
          real t3355D#1 = Add<real>(fx355B,_t2447);
          real t1355F#1 = Sub<real>(fx355B,_t2447);
          real t03561#1 = Sub<real>(fx355B,_t2449);
          real4 a3563#3 = <real4>[t3355D,fx355B,t1355F,t03561];
          real4 prod3357A#1 = Mul<real4>(a3563,a3345D);
          real4 sum2357B#1 = Add<real4>(a2345C,prod3357A);
          real4 prod2357C#1 = Mul<real4>(a3563,sum2357B);
          real4 sum1357D#1 = Add<real4>(a1345B,prod2357C);
          real4 prod1357E#1 = Mul<real4>(a3563,sum1357D);
          real4 hx3565#4 = Add<real4>(a0345A,prod1357E);
          real t03599#1 = Dot<4>(v034F1,hx3565);
          real t1359B#1 = Dot<4>(v134FF,hx3565);
          real t2359D#1 = Dot<4>(v2350D,hx3565);
          real t3359F#1 = Dot<4>(v3351B,hx3565);
          real4 tv35A1#1 = <real4>[t03599,t1359B,t2359D,t3359F];
          real _t35A3#1 = Dot<4>(hy3527,tv35A1);
          real _t35A5#2 = Sub<real>(_t34D5,_t35A3);
          real _t35A7#1 = Mul<real>(_t35A5,_t35A5);
          real score35A9#1 = Add<real>(score33F2,_t35A7);
          goto JOIN35AC
        JOIN35AC:  preds = [ASSIGN35AA,COND3408]
          real score35AB#2 = phi(score35A9,score33F2)
          real _t35AD#1 = Dot<2>(r02461,v1023F4);
          real _t35AF#1 = Dot<2>(r12467,v1023F4);
          real2 _t35B1#1 = <real2>[_t35AD,_t35AF];
          real2 pos35B3#1 = Add<real2>(_t35B1,_t2477);
          real2 x35B5#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos35B3);
          bool _t35B7#1 = Inside<IMAGE2D<float>,2>(x35B5,_t23D4);
          if _t35B7 then goto ASSIGN35BB else goto ASSIGN46F6
        ASSIGN35BB:  preds = [COND35B9]
          real2 x35BA#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1023F4);
          bool _t35BC#1 = Inside<IMAGE2D<int>,2>(x35BA,_t23D0);
          goto JOIN35C0
        JOIN35C0:  preds = [ASSIGN35BD,ASSIGN46F6]
          bool _t35BE#1 = phi(_t35BC,_t35BF)
          if _t35BE then goto ASSIGN35C3 else goto JOIN3765
        ASSIGN35C3:  preds = [COND35C1]
          real2 nd35C2#2 = Floor<2>(x35B5);
          real2 f35C4#2 = Sub<real2>(x35B5,nd35C2);
          int{2} n35C6#2 = RealToInt<2>(nd35C2);
          int t135C8#4 = -1;
          int t235CA#1 = Index<int{2},0>(n35C6);
          int ix35CC#4 = Add<int>(t135C8,t235CA);
          int t235CE#4 = Index<int{2},1>(n35C6);
          int iy35D0#1 = Add<int>(t135C8,t235CE);
          int n035D3#8 = 21;
          int t35D4#1 = Mul<int>(n035D3,iy35D0);
          int index35D5#1 = Add<int>(ix35CC,t35D4);
          addr(IMAGE2D<float>) imgBaseAddr35D6#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a35D2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35D5);
          real4 v035DC#1 = LoadVoxels<IMAGE2D<float>,4>(a35D2);
          int iy35DE#1 = Add<int>(_t246F,t235CE);
          int t35E2#1 = Mul<int>(n035D3,iy35DE);
          int index35E3#1 = Add<int>(ix35CC,t35E2);
          addr(IMAGE2D<float>) a35E0#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35E3);
          real4 v135EA#1 = LoadVoxels<IMAGE2D<float>,4>(a35E0);
          int iy35EC#1 = Add<int>(_t2473,t235CE);
          int t35F0#1 = Mul<int>(n035D3,iy35EC);
          int index35F1#1 = Add<int>(ix35CC,t35F0);
          addr(IMAGE2D<float>) a35EE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35F1);
          real4 v235F8#1 = LoadVoxels<IMAGE2D<float>,4>(a35EE);
          int iy35FA#1 = Add<int>(_t244B,t235CE);
          int t35FE#1 = Mul<int>(n035D3,iy35FA);
          int index35FF#1 = Add<int>(ix35CC,t35FE);
          addr(IMAGE2D<float>) a35FC#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35FF);
          real4 v33606#1 = LoadVoxels<IMAGE2D<float>,4>(a35FC);
          real fy3608#4 = Index<real2,1>(f35C4);
          real t3360A#1 = Add<real>(fy3608,_t2447);
          real t1360C#1 = Sub<real>(fy3608,_t2447);
          real t0360E#1 = Sub<real>(fy3608,_t2449);
          real4 a3610#3 = <real4>[t3360A,fy3608,t1360C,t0360E];
          real _f3623#2 = 0.133333333333e1;
          real _f3624#2 = 0.666666666667e0;
          real4 a03613#4 = <real4>[_f3623,_f3624,_f3624,_f3623];
          real _f361F#1 = -0.2e1;
          real _f3620#2 = 0.0;
          real4 a13614#4 = <real4>[_f361F,_f3620,_f3620,_t2449];
          real _f361C#2 = -0.1e1;
          real4 a23615#4 = <real4>[_t2447,_f361C,_f361C,_t2447];
          real _f3617#1 = -0.166666666667e0;
          real _f3618#1 = 0.5e0;
          real _f3619#1 = -0.5e0;
          real _f361A#1 = 0.166666666667e0;
          real4 a33616#4 = <real4>[_f3617,_f3618,_f3619,_f361A];
          real4 prod33627#1 = Mul<real4>(a3610,a33616);
          real4 sum23628#1 = Add<real4>(a23615,prod33627);
          real4 prod23629#1 = Mul<real4>(a3610,sum23628);
          real4 sum1362A#1 = Add<real4>(a13614,prod23629);
          real4 prod1362B#1 = Mul<real4>(a3610,sum1362A);
          real4 hy3612#1 = Add<real4>(a03613,prod1362B);
          real fx3646#4 = Index<real2,0>(f35C4);
          real t33648#1 = Add<real>(fx3646,_t2447);
          real t1364A#1 = Sub<real>(fx3646,_t2447);
          real t0364C#1 = Sub<real>(fx3646,_t2449);
          real4 a364E#3 = <real4>[t33648,fx3646,t1364A,t0364C];
          real4 prod33665#1 = Mul<real4>(a364E,a33616);
          real4 sum23666#1 = Add<real4>(a23615,prod33665);
          real4 prod23667#1 = Mul<real4>(a364E,sum23666);
          real4 sum13668#1 = Add<real4>(a13614,prod23667);
          real4 prod13669#1 = Mul<real4>(a364E,sum13668);
          real4 hx3650#4 = Add<real4>(a03613,prod13669);
          real t03684#1 = Dot<4>(v035DC,hx3650);
          real t13686#1 = Dot<4>(v135EA,hx3650);
          real t23688#1 = Dot<4>(v235F8,hx3650);
          real t3368A#1 = Dot<4>(v33606,hx3650);
          real4 tv368C#1 = <real4>[t03684,t13686,t23688,t3368A];
          real _t368E#1 = Dot<4>(hy3612,tv368C);
          real2 x3690#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1023F4);
          real2 nd3692#2 = Floor<2>(x3690);
          real2 f3694#2 = Sub<real2>(x3690,nd3692);
          int{2} n3696#2 = RealToInt<2>(nd3692);
          int t23698#1 = Index<int{2},0>(n3696);
          int ix369A#4 = Add<int>(t135C8,t23698);
          int t2369C#4 = Index<int{2},1>(n3696);
          int iy369E#1 = Add<int>(t135C8,t2369C);
          int t36A2#1 = Mul<int>(n035D3,iy369E);
          int index36A3#1 = Add<int>(ix369A,t36A2);
          addr(IMAGE2D<int>) imgBaseAddr36A4#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a36A0#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36A3);
          real4 v036AA#1 = LoadVoxels<IMAGE2D<int>,4>(a36A0);
          int iy36AC#1 = Add<int>(_t246F,t2369C);
          int t36B0#1 = Mul<int>(n035D3,iy36AC);
          int index36B1#1 = Add<int>(ix369A,t36B0);
          addr(IMAGE2D<int>) a36AE#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36B1);
          real4 v136B8#1 = LoadVoxels<IMAGE2D<int>,4>(a36AE);
          int iy36BA#1 = Add<int>(_t2473,t2369C);
          int t36BE#1 = Mul<int>(n035D3,iy36BA);
          int index36BF#1 = Add<int>(ix369A,t36BE);
          addr(IMAGE2D<int>) a36BC#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36BF);
          real4 v236C6#1 = LoadVoxels<IMAGE2D<int>,4>(a36BC);
          int iy36C8#1 = Add<int>(_t244B,t2369C);
          int t36CC#1 = Mul<int>(n035D3,iy36C8);
          int index36CD#1 = Add<int>(ix369A,t36CC);
          addr(IMAGE2D<int>) a36CA#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36CD);
          real4 v336D4#1 = LoadVoxels<IMAGE2D<int>,4>(a36CA);
          real fy36D6#4 = Index<real2,1>(f3694);
          real t336D8#1 = Add<real>(fy36D6,_t2447);
          real t136DA#1 = Sub<real>(fy36D6,_t2447);
          real t036DC#1 = Sub<real>(fy36D6,_t2449);
          real4 a36DE#3 = <real4>[t336D8,fy36D6,t136DA,t036DC];
          real4 prod336F5#1 = Mul<real4>(a36DE,a33616);
          real4 sum236F6#1 = Add<real4>(a23615,prod336F5);
          real4 prod236F7#1 = Mul<real4>(a36DE,sum236F6);
          real4 sum136F8#1 = Add<real4>(a13614,prod236F7);
          real4 prod136F9#1 = Mul<real4>(a36DE,sum136F8);
          real4 hy36E0#1 = Add<real4>(a03613,prod136F9);
          real fx3714#4 = Index<real2,0>(f3694);
          real t33716#1 = Add<real>(fx3714,_t2447);
          real t13718#1 = Sub<real>(fx3714,_t2447);
          real t0371A#1 = Sub<real>(fx3714,_t2449);
          real4 a371C#3 = <real4>[t33716,fx3714,t13718,t0371A];
          real4 prod33733#1 = Mul<real4>(a371C,a33616);
          real4 sum23734#1 = Add<real4>(a23615,prod33733);
          real4 prod23735#1 = Mul<real4>(a371C,sum23734);
          real4 sum13736#1 = Add<real4>(a13614,prod23735);
          real4 prod13737#1 = Mul<real4>(a371C,sum13736);
          real4 hx371E#4 = Add<real4>(a03613,prod13737);
          real t03752#1 = Dot<4>(v036AA,hx371E);
          real t13754#1 = Dot<4>(v136B8,hx371E);
          real t23756#1 = Dot<4>(v236C6,hx371E);
          real t33758#1 = Dot<4>(v336D4,hx371E);
          real4 tv375A#1 = <real4>[t03752,t13754,t23756,t33758];
          real _t375C#1 = Dot<4>(hy36E0,tv375A);
          real _t375E#2 = Sub<real>(_t368E,_t375C);
          real _t3760#1 = Mul<real>(_t375E,_t375E);
          real score3762#1 = Add<real>(score35AB,_t3760);
          goto JOIN3765
        JOIN3765:  preds = [ASSIGN3763,COND35C1]
          real score3764#2 = phi(score3762,score35AB)
          real _t3766#1 = Dot<2>(r02461,v1123F6);
          real _t3768#1 = Dot<2>(r12467,v1123F6);
          real2 _t376A#1 = <real2>[_t3766,_t3768];
          real2 pos376C#1 = Add<real2>(_t376A,_t2477);
          real2 x376E#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos376C);
          bool _t3770#1 = Inside<IMAGE2D<float>,2>(x376E,_t23D4);
          if _t3770 then goto ASSIGN3774 else goto ASSIGN46F5
        ASSIGN3774:  preds = [COND3772]
          real2 x3773#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1123F6);
          bool _t3775#1 = Inside<IMAGE2D<int>,2>(x3773,_t23D0);
          goto JOIN3779
        JOIN3779:  preds = [ASSIGN3776,ASSIGN46F5]
          bool _t3777#1 = phi(_t3775,_t3778)
          if _t3777 then goto ASSIGN377C else goto JOIN391E
        ASSIGN377C:  preds = [COND377A]
          real2 nd377B#2 = Floor<2>(x376E);
          real2 f377D#2 = Sub<real2>(x376E,nd377B);
          int{2} n377F#2 = RealToInt<2>(nd377B);
          int t13781#4 = -1;
          int t23783#1 = Index<int{2},0>(n377F);
          int ix3785#4 = Add<int>(t13781,t23783);
          int t23787#4 = Index<int{2},1>(n377F);
          int iy3789#1 = Add<int>(t13781,t23787);
          int n0378C#8 = 21;
          int t378D#1 = Mul<int>(n0378C,iy3789);
          int index378E#1 = Add<int>(ix3785,t378D);
          addr(IMAGE2D<float>) imgBaseAddr378F#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a378B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index378E);
          real4 v03795#1 = LoadVoxels<IMAGE2D<float>,4>(a378B);
          int iy3797#1 = Add<int>(_t246F,t23787);
          int t379B#1 = Mul<int>(n0378C,iy3797);
          int index379C#1 = Add<int>(ix3785,t379B);
          addr(IMAGE2D<float>) a3799#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index379C);
          real4 v137A3#1 = LoadVoxels<IMAGE2D<float>,4>(a3799);
          int iy37A5#1 = Add<int>(_t2473,t23787);
          int t37A9#1 = Mul<int>(n0378C,iy37A5);
          int index37AA#1 = Add<int>(ix3785,t37A9);
          addr(IMAGE2D<float>) a37A7#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index37AA);
          real4 v237B1#1 = LoadVoxels<IMAGE2D<float>,4>(a37A7);
          int iy37B3#1 = Add<int>(_t244B,t23787);
          int t37B7#1 = Mul<int>(n0378C,iy37B3);
          int index37B8#1 = Add<int>(ix3785,t37B7);
          addr(IMAGE2D<float>) a37B5#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index37B8);
          real4 v337BF#1 = LoadVoxels<IMAGE2D<float>,4>(a37B5);
          real fy37C1#4 = Index<real2,1>(f377D);
          real t337C3#1 = Add<real>(fy37C1,_t2447);
          real t137C5#1 = Sub<real>(fy37C1,_t2447);
          real t037C7#1 = Sub<real>(fy37C1,_t2449);
          real4 a37C9#3 = <real4>[t337C3,fy37C1,t137C5,t037C7];
          real _f37DC#2 = 0.133333333333e1;
          real _f37DD#2 = 0.666666666667e0;
          real4 a037CC#4 = <real4>[_f37DC,_f37DD,_f37DD,_f37DC];
          real _f37D8#1 = -0.2e1;
          real _f37D9#2 = 0.0;
          real4 a137CD#4 = <real4>[_f37D8,_f37D9,_f37D9,_t2449];
          real _f37D5#2 = -0.1e1;
          real4 a237CE#4 = <real4>[_t2447,_f37D5,_f37D5,_t2447];
          real _f37D0#1 = -0.166666666667e0;
          real _f37D1#1 = 0.5e0;
          real _f37D2#1 = -0.5e0;
          real _f37D3#1 = 0.166666666667e0;
          real4 a337CF#4 = <real4>[_f37D0,_f37D1,_f37D2,_f37D3];
          real4 prod337E0#1 = Mul<real4>(a37C9,a337CF);
          real4 sum237E1#1 = Add<real4>(a237CE,prod337E0);
          real4 prod237E2#1 = Mul<real4>(a37C9,sum237E1);
          real4 sum137E3#1 = Add<real4>(a137CD,prod237E2);
          real4 prod137E4#1 = Mul<real4>(a37C9,sum137E3);
          real4 hy37CB#1 = Add<real4>(a037CC,prod137E4);
          real fx37FF#4 = Index<real2,0>(f377D);
          real t33801#1 = Add<real>(fx37FF,_t2447);
          real t13803#1 = Sub<real>(fx37FF,_t2447);
          real t03805#1 = Sub<real>(fx37FF,_t2449);
          real4 a3807#3 = <real4>[t33801,fx37FF,t13803,t03805];
          real4 prod3381E#1 = Mul<real4>(a3807,a337CF);
          real4 sum2381F#1 = Add<real4>(a237CE,prod3381E);
          real4 prod23820#1 = Mul<real4>(a3807,sum2381F);
          real4 sum13821#1 = Add<real4>(a137CD,prod23820);
          real4 prod13822#1 = Mul<real4>(a3807,sum13821);
          real4 hx3809#4 = Add<real4>(a037CC,prod13822);
          real t0383D#1 = Dot<4>(v03795,hx3809);
          real t1383F#1 = Dot<4>(v137A3,hx3809);
          real t23841#1 = Dot<4>(v237B1,hx3809);
          real t33843#1 = Dot<4>(v337BF,hx3809);
          real4 tv3845#1 = <real4>[t0383D,t1383F,t23841,t33843];
          real _t3847#1 = Dot<4>(hy37CB,tv3845);
          real2 x3849#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1123F6);
          real2 nd384B#2 = Floor<2>(x3849);
          real2 f384D#2 = Sub<real2>(x3849,nd384B);
          int{2} n384F#2 = RealToInt<2>(nd384B);
          int t23851#1 = Index<int{2},0>(n384F);
          int ix3853#4 = Add<int>(t13781,t23851);
          int t23855#4 = Index<int{2},1>(n384F);
          int iy3857#1 = Add<int>(t13781,t23855);
          int t385B#1 = Mul<int>(n0378C,iy3857);
          int index385C#1 = Add<int>(ix3853,t385B);
          addr(IMAGE2D<int>) imgBaseAddr385D#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3859#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index385C);
          real4 v03863#1 = LoadVoxels<IMAGE2D<int>,4>(a3859);
          int iy3865#1 = Add<int>(_t246F,t23855);
          int t3869#1 = Mul<int>(n0378C,iy3865);
          int index386A#1 = Add<int>(ix3853,t3869);
          addr(IMAGE2D<int>) a3867#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index386A);
          real4 v13871#1 = LoadVoxels<IMAGE2D<int>,4>(a3867);
          int iy3873#1 = Add<int>(_t2473,t23855);
          int t3877#1 = Mul<int>(n0378C,iy3873);
          int index3878#1 = Add<int>(ix3853,t3877);
          addr(IMAGE2D<int>) a3875#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index3878);
          real4 v2387F#1 = LoadVoxels<IMAGE2D<int>,4>(a3875);
          int iy3881#1 = Add<int>(_t244B,t23855);
          int t3885#1 = Mul<int>(n0378C,iy3881);
          int index3886#1 = Add<int>(ix3853,t3885);
          addr(IMAGE2D<int>) a3883#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index3886);
          real4 v3388D#1 = LoadVoxels<IMAGE2D<int>,4>(a3883);
          real fy388F#4 = Index<real2,1>(f384D);
          real t33891#1 = Add<real>(fy388F,_t2447);
          real t13893#1 = Sub<real>(fy388F,_t2447);
          real t03895#1 = Sub<real>(fy388F,_t2449);
          real4 a3897#3 = <real4>[t33891,fy388F,t13893,t03895];
          real4 prod338AE#1 = Mul<real4>(a3897,a337CF);
          real4 sum238AF#1 = Add<real4>(a237CE,prod338AE);
          real4 prod238B0#1 = Mul<real4>(a3897,sum238AF);
          real4 sum138B1#1 = Add<real4>(a137CD,prod238B0);
          real4 prod138B2#1 = Mul<real4>(a3897,sum138B1);
          real4 hy3899#1 = Add<real4>(a037CC,prod138B2);
          real fx38CD#4 = Index<real2,0>(f384D);
          real t338CF#1 = Add<real>(fx38CD,_t2447);
          real t138D1#1 = Sub<real>(fx38CD,_t2447);
          real t038D3#1 = Sub<real>(fx38CD,_t2449);
          real4 a38D5#3 = <real4>[t338CF,fx38CD,t138D1,t038D3];
          real4 prod338EC#1 = Mul<real4>(a38D5,a337CF);
          real4 sum238ED#1 = Add<real4>(a237CE,prod338EC);
          real4 prod238EE#1 = Mul<real4>(a38D5,sum238ED);
          real4 sum138EF#1 = Add<real4>(a137CD,prod238EE);
          real4 prod138F0#1 = Mul<real4>(a38D5,sum138EF);
          real4 hx38D7#4 = Add<real4>(a037CC,prod138F0);
          real t0390B#1 = Dot<4>(v03863,hx38D7);
          real t1390D#1 = Dot<4>(v13871,hx38D7);
          real t2390F#1 = Dot<4>(v2387F,hx38D7);
          real t33911#1 = Dot<4>(v3388D,hx38D7);
          real4 tv3913#1 = <real4>[t0390B,t1390D,t2390F,t33911];
          real _t3915#1 = Dot<4>(hy3899,tv3913);
          real _t3917#2 = Sub<real>(_t3847,_t3915);
          real _t3919#1 = Mul<real>(_t3917,_t3917);
          real score391B#1 = Add<real>(score3764,_t3919);
          goto JOIN391E
        JOIN391E:  preds = [ASSIGN391C,COND377A]
          real score391D#2 = phi(score391B,score3764)
          real _t391F#1 = Dot<2>(r02461,v1223F8);
          real _t3921#1 = Dot<2>(r12467,v1223F8);
          real2 _t3923#1 = <real2>[_t391F,_t3921];
          real2 pos3925#1 = Add<real2>(_t3923,_t2477);
          real2 x3927#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3925);
          bool _t3929#1 = Inside<IMAGE2D<float>,2>(x3927,_t23D4);
          if _t3929 then goto ASSIGN392D else goto ASSIGN46F4
        ASSIGN392D:  preds = [COND392B]
          real2 x392C#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1223F8);
          bool _t392E#1 = Inside<IMAGE2D<int>,2>(x392C,_t23D0);
          goto JOIN3932
        JOIN3932:  preds = [ASSIGN392F,ASSIGN46F4]
          bool _t3930#1 = phi(_t392E,_t3931)
          if _t3930 then goto ASSIGN3935 else goto JOIN3AD7
        ASSIGN3935:  preds = [COND3933]
          real2 nd3934#2 = Floor<2>(x3927);
          real2 f3936#2 = Sub<real2>(x3927,nd3934);
          int{2} n3938#2 = RealToInt<2>(nd3934);
          int t1393A#4 = -1;
          int t2393C#1 = Index<int{2},0>(n3938);
          int ix393E#4 = Add<int>(t1393A,t2393C);
          int t23940#4 = Index<int{2},1>(n3938);
          int iy3942#1 = Add<int>(t1393A,t23940);
          int n03945#8 = 21;
          int t3946#1 = Mul<int>(n03945,iy3942);
          int index3947#1 = Add<int>(ix393E,t3946);
          addr(IMAGE2D<float>) imgBaseAddr3948#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3944#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3947);
          real4 v0394E#1 = LoadVoxels<IMAGE2D<float>,4>(a3944);
          int iy3950#1 = Add<int>(_t246F,t23940);
          int t3954#1 = Mul<int>(n03945,iy3950);
          int index3955#1 = Add<int>(ix393E,t3954);
          addr(IMAGE2D<float>) a3952#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3955);
          real4 v1395C#1 = LoadVoxels<IMAGE2D<float>,4>(a3952);
          int iy395E#1 = Add<int>(_t2473,t23940);
          int t3962#1 = Mul<int>(n03945,iy395E);
          int index3963#1 = Add<int>(ix393E,t3962);
          addr(IMAGE2D<float>) a3960#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3963);
          real4 v2396A#1 = LoadVoxels<IMAGE2D<float>,4>(a3960);
          int iy396C#1 = Add<int>(_t244B,t23940);
          int t3970#1 = Mul<int>(n03945,iy396C);
          int index3971#1 = Add<int>(ix393E,t3970);
          addr(IMAGE2D<float>) a396E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3971);
          real4 v33978#1 = LoadVoxels<IMAGE2D<float>,4>(a396E);
          real fy397A#4 = Index<real2,1>(f3936);
          real t3397C#1 = Add<real>(fy397A,_t2447);
          real t1397E#1 = Sub<real>(fy397A,_t2447);
          real t03980#1 = Sub<real>(fy397A,_t2449);
          real4 a3982#3 = <real4>[t3397C,fy397A,t1397E,t03980];
          real _f3995#2 = 0.133333333333e1;
          real _f3996#2 = 0.666666666667e0;
          real4 a03985#4 = <real4>[_f3995,_f3996,_f3996,_f3995];
          real _f3991#1 = -0.2e1;
          real _f3992#2 = 0.0;
          real4 a13986#4 = <real4>[_f3991,_f3992,_f3992,_t2449];
          real _f398E#2 = -0.1e1;
          real4 a23987#4 = <real4>[_t2447,_f398E,_f398E,_t2447];
          real _f3989#1 = -0.166666666667e0;
          real _f398A#1 = 0.5e0;
          real _f398B#1 = -0.5e0;
          real _f398C#1 = 0.166666666667e0;
          real4 a33988#4 = <real4>[_f3989,_f398A,_f398B,_f398C];
          real4 prod33999#1 = Mul<real4>(a3982,a33988);
          real4 sum2399A#1 = Add<real4>(a23987,prod33999);
          real4 prod2399B#1 = Mul<real4>(a3982,sum2399A);
          real4 sum1399C#1 = Add<real4>(a13986,prod2399B);
          real4 prod1399D#1 = Mul<real4>(a3982,sum1399C);
          real4 hy3984#1 = Add<real4>(a03985,prod1399D);
          real fx39B8#4 = Index<real2,0>(f3936);
          real t339BA#1 = Add<real>(fx39B8,_t2447);
          real t139BC#1 = Sub<real>(fx39B8,_t2447);
          real t039BE#1 = Sub<real>(fx39B8,_t2449);
          real4 a39C0#3 = <real4>[t339BA,fx39B8,t139BC,t039BE];
          real4 prod339D7#1 = Mul<real4>(a39C0,a33988);
          real4 sum239D8#1 = Add<real4>(a23987,prod339D7);
          real4 prod239D9#1 = Mul<real4>(a39C0,sum239D8);
          real4 sum139DA#1 = Add<real4>(a13986,prod239D9);
          real4 prod139DB#1 = Mul<real4>(a39C0,sum139DA);
          real4 hx39C2#4 = Add<real4>(a03985,prod139DB);
          real t039F6#1 = Dot<4>(v0394E,hx39C2);
          real t139F8#1 = Dot<4>(v1395C,hx39C2);
          real t239FA#1 = Dot<4>(v2396A,hx39C2);
          real t339FC#1 = Dot<4>(v33978,hx39C2);
          real4 tv39FE#1 = <real4>[t039F6,t139F8,t239FA,t339FC];
          real _t3A00#1 = Dot<4>(hy3984,tv39FE);
          real2 x3A02#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1223F8);
          real2 nd3A04#2 = Floor<2>(x3A02);
          real2 f3A06#2 = Sub<real2>(x3A02,nd3A04);
          int{2} n3A08#2 = RealToInt<2>(nd3A04);
          int t23A0A#1 = Index<int{2},0>(n3A08);
          int ix3A0C#4 = Add<int>(t1393A,t23A0A);
          int t23A0E#4 = Index<int{2},1>(n3A08);
          int iy3A10#1 = Add<int>(t1393A,t23A0E);
          int t3A14#1 = Mul<int>(n03945,iy3A10);
          int index3A15#1 = Add<int>(ix3A0C,t3A14);
          addr(IMAGE2D<int>) imgBaseAddr3A16#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3A12#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A15);
          real4 v03A1C#1 = LoadVoxels<IMAGE2D<int>,4>(a3A12);
          int iy3A1E#1 = Add<int>(_t246F,t23A0E);
          int t3A22#1 = Mul<int>(n03945,iy3A1E);
          int index3A23#1 = Add<int>(ix3A0C,t3A22);
          addr(IMAGE2D<int>) a3A20#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A23);
          real4 v13A2A#1 = LoadVoxels<IMAGE2D<int>,4>(a3A20);
          int iy3A2C#1 = Add<int>(_t2473,t23A0E);
          int t3A30#1 = Mul<int>(n03945,iy3A2C);
          int index3A31#1 = Add<int>(ix3A0C,t3A30);
          addr(IMAGE2D<int>) a3A2E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A31);
          real4 v23A38#1 = LoadVoxels<IMAGE2D<int>,4>(a3A2E);
          int iy3A3A#1 = Add<int>(_t244B,t23A0E);
          int t3A3E#1 = Mul<int>(n03945,iy3A3A);
          int index3A3F#1 = Add<int>(ix3A0C,t3A3E);
          addr(IMAGE2D<int>) a3A3C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A3F);
          real4 v33A46#1 = LoadVoxels<IMAGE2D<int>,4>(a3A3C);
          real fy3A48#4 = Index<real2,1>(f3A06);
          real t33A4A#1 = Add<real>(fy3A48,_t2447);
          real t13A4C#1 = Sub<real>(fy3A48,_t2447);
          real t03A4E#1 = Sub<real>(fy3A48,_t2449);
          real4 a3A50#3 = <real4>[t33A4A,fy3A48,t13A4C,t03A4E];
          real4 prod33A67#1 = Mul<real4>(a3A50,a33988);
          real4 sum23A68#1 = Add<real4>(a23987,prod33A67);
          real4 prod23A69#1 = Mul<real4>(a3A50,sum23A68);
          real4 sum13A6A#1 = Add<real4>(a13986,prod23A69);
          real4 prod13A6B#1 = Mul<real4>(a3A50,sum13A6A);
          real4 hy3A52#1 = Add<real4>(a03985,prod13A6B);
          real fx3A86#4 = Index<real2,0>(f3A06);
          real t33A88#1 = Add<real>(fx3A86,_t2447);
          real t13A8A#1 = Sub<real>(fx3A86,_t2447);
          real t03A8C#1 = Sub<real>(fx3A86,_t2449);
          real4 a3A8E#3 = <real4>[t33A88,fx3A86,t13A8A,t03A8C];
          real4 prod33AA5#1 = Mul<real4>(a3A8E,a33988);
          real4 sum23AA6#1 = Add<real4>(a23987,prod33AA5);
          real4 prod23AA7#1 = Mul<real4>(a3A8E,sum23AA6);
          real4 sum13AA8#1 = Add<real4>(a13986,prod23AA7);
          real4 prod13AA9#1 = Mul<real4>(a3A8E,sum13AA8);
          real4 hx3A90#4 = Add<real4>(a03985,prod13AA9);
          real t03AC4#1 = Dot<4>(v03A1C,hx3A90);
          real t13AC6#1 = Dot<4>(v13A2A,hx3A90);
          real t23AC8#1 = Dot<4>(v23A38,hx3A90);
          real t33ACA#1 = Dot<4>(v33A46,hx3A90);
          real4 tv3ACC#1 = <real4>[t03AC4,t13AC6,t23AC8,t33ACA];
          real _t3ACE#1 = Dot<4>(hy3A52,tv3ACC);
          real _t3AD0#2 = Sub<real>(_t3A00,_t3ACE);
          real _t3AD2#1 = Mul<real>(_t3AD0,_t3AD0);
          real score3AD4#1 = Add<real>(score391D,_t3AD2);
          goto JOIN3AD7
        JOIN3AD7:  preds = [ASSIGN3AD5,COND3933]
          real score3AD6#2 = phi(score3AD4,score391D)
          real _t3AD8#1 = Dot<2>(r02461,v1323FA);
          real _t3ADA#1 = Dot<2>(r12467,v1323FA);
          real2 _t3ADC#1 = <real2>[_t3AD8,_t3ADA];
          real2 pos3ADE#1 = Add<real2>(_t3ADC,_t2477);
          real2 x3AE0#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3ADE);
          bool _t3AE2#1 = Inside<IMAGE2D<float>,2>(x3AE0,_t23D4);
          if _t3AE2 then goto ASSIGN3AE6 else goto ASSIGN46F3
        ASSIGN3AE6:  preds = [COND3AE4]
          real2 x3AE5#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1323FA);
          bool _t3AE7#1 = Inside<IMAGE2D<int>,2>(x3AE5,_t23D0);
          goto JOIN3AEB
        JOIN3AEB:  preds = [ASSIGN3AE8,ASSIGN46F3]
          bool _t3AE9#1 = phi(_t3AE7,_t3AEA)
          if _t3AE9 then goto ASSIGN3AEE else goto JOIN3C90
        ASSIGN3AEE:  preds = [COND3AEC]
          real2 nd3AED#2 = Floor<2>(x3AE0);
          real2 f3AEF#2 = Sub<real2>(x3AE0,nd3AED);
          int{2} n3AF1#2 = RealToInt<2>(nd3AED);
          int t13AF3#4 = -1;
          int t23AF5#1 = Index<int{2},0>(n3AF1);
          int ix3AF7#4 = Add<int>(t13AF3,t23AF5);
          int t23AF9#4 = Index<int{2},1>(n3AF1);
          int iy3AFB#1 = Add<int>(t13AF3,t23AF9);
          int n03AFE#8 = 21;
          int t3AFF#1 = Mul<int>(n03AFE,iy3AFB);
          int index3B00#1 = Add<int>(ix3AF7,t3AFF);
          addr(IMAGE2D<float>) imgBaseAddr3B01#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3AFD#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B00);
          real4 v03B07#1 = LoadVoxels<IMAGE2D<float>,4>(a3AFD);
          int iy3B09#1 = Add<int>(_t246F,t23AF9);
          int t3B0D#1 = Mul<int>(n03AFE,iy3B09);
          int index3B0E#1 = Add<int>(ix3AF7,t3B0D);
          addr(IMAGE2D<float>) a3B0B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B0E);
          real4 v13B15#1 = LoadVoxels<IMAGE2D<float>,4>(a3B0B);
          int iy3B17#1 = Add<int>(_t2473,t23AF9);
          int t3B1B#1 = Mul<int>(n03AFE,iy3B17);
          int index3B1C#1 = Add<int>(ix3AF7,t3B1B);
          addr(IMAGE2D<float>) a3B19#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B1C);
          real4 v23B23#1 = LoadVoxels<IMAGE2D<float>,4>(a3B19);
          int iy3B25#1 = Add<int>(_t244B,t23AF9);
          int t3B29#1 = Mul<int>(n03AFE,iy3B25);
          int index3B2A#1 = Add<int>(ix3AF7,t3B29);
          addr(IMAGE2D<float>) a3B27#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B2A);
          real4 v33B31#1 = LoadVoxels<IMAGE2D<float>,4>(a3B27);
          real fy3B33#4 = Index<real2,1>(f3AEF);
          real t33B35#1 = Add<real>(fy3B33,_t2447);
          real t13B37#1 = Sub<real>(fy3B33,_t2447);
          real t03B39#1 = Sub<real>(fy3B33,_t2449);
          real4 a3B3B#3 = <real4>[t33B35,fy3B33,t13B37,t03B39];
          real _f3B4E#2 = 0.133333333333e1;
          real _f3B4F#2 = 0.666666666667e0;
          real4 a03B3E#4 = <real4>[_f3B4E,_f3B4F,_f3B4F,_f3B4E];
          real _f3B4A#1 = -0.2e1;
          real _f3B4B#2 = 0.0;
          real4 a13B3F#4 = <real4>[_f3B4A,_f3B4B,_f3B4B,_t2449];
          real _f3B47#2 = -0.1e1;
          real4 a23B40#4 = <real4>[_t2447,_f3B47,_f3B47,_t2447];
          real _f3B42#1 = -0.166666666667e0;
          real _f3B43#1 = 0.5e0;
          real _f3B44#1 = -0.5e0;
          real _f3B45#1 = 0.166666666667e0;
          real4 a33B41#4 = <real4>[_f3B42,_f3B43,_f3B44,_f3B45];
          real4 prod33B52#1 = Mul<real4>(a3B3B,a33B41);
          real4 sum23B53#1 = Add<real4>(a23B40,prod33B52);
          real4 prod23B54#1 = Mul<real4>(a3B3B,sum23B53);
          real4 sum13B55#1 = Add<real4>(a13B3F,prod23B54);
          real4 prod13B56#1 = Mul<real4>(a3B3B,sum13B55);
          real4 hy3B3D#1 = Add<real4>(a03B3E,prod13B56);
          real fx3B71#4 = Index<real2,0>(f3AEF);
          real t33B73#1 = Add<real>(fx3B71,_t2447);
          real t13B75#1 = Sub<real>(fx3B71,_t2447);
          real t03B77#1 = Sub<real>(fx3B71,_t2449);
          real4 a3B79#3 = <real4>[t33B73,fx3B71,t13B75,t03B77];
          real4 prod33B90#1 = Mul<real4>(a3B79,a33B41);
          real4 sum23B91#1 = Add<real4>(a23B40,prod33B90);
          real4 prod23B92#1 = Mul<real4>(a3B79,sum23B91);
          real4 sum13B93#1 = Add<real4>(a13B3F,prod23B92);
          real4 prod13B94#1 = Mul<real4>(a3B79,sum13B93);
          real4 hx3B7B#4 = Add<real4>(a03B3E,prod13B94);
          real t03BAF#1 = Dot<4>(v03B07,hx3B7B);
          real t13BB1#1 = Dot<4>(v13B15,hx3B7B);
          real t23BB3#1 = Dot<4>(v23B23,hx3B7B);
          real t33BB5#1 = Dot<4>(v33B31,hx3B7B);
          real4 tv3BB7#1 = <real4>[t03BAF,t13BB1,t23BB3,t33BB5];
          real _t3BB9#1 = Dot<4>(hy3B3D,tv3BB7);
          real2 x3BBB#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1323FA);
          real2 nd3BBD#2 = Floor<2>(x3BBB);
          real2 f3BBF#2 = Sub<real2>(x3BBB,nd3BBD);
          int{2} n3BC1#2 = RealToInt<2>(nd3BBD);
          int t23BC3#1 = Index<int{2},0>(n3BC1);
          int ix3BC5#4 = Add<int>(t13AF3,t23BC3);
          int t23BC7#4 = Index<int{2},1>(n3BC1);
          int iy3BC9#1 = Add<int>(t13AF3,t23BC7);
          int t3BCD#1 = Mul<int>(n03AFE,iy3BC9);
          int index3BCE#1 = Add<int>(ix3BC5,t3BCD);
          addr(IMAGE2D<int>) imgBaseAddr3BCF#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3BCB#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BCE);
          real4 v03BD5#1 = LoadVoxels<IMAGE2D<int>,4>(a3BCB);
          int iy3BD7#1 = Add<int>(_t246F,t23BC7);
          int t3BDB#1 = Mul<int>(n03AFE,iy3BD7);
          int index3BDC#1 = Add<int>(ix3BC5,t3BDB);
          addr(IMAGE2D<int>) a3BD9#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BDC);
          real4 v13BE3#1 = LoadVoxels<IMAGE2D<int>,4>(a3BD9);
          int iy3BE5#1 = Add<int>(_t2473,t23BC7);
          int t3BE9#1 = Mul<int>(n03AFE,iy3BE5);
          int index3BEA#1 = Add<int>(ix3BC5,t3BE9);
          addr(IMAGE2D<int>) a3BE7#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BEA);
          real4 v23BF1#1 = LoadVoxels<IMAGE2D<int>,4>(a3BE7);
          int iy3BF3#1 = Add<int>(_t244B,t23BC7);
          int t3BF7#1 = Mul<int>(n03AFE,iy3BF3);
          int index3BF8#1 = Add<int>(ix3BC5,t3BF7);
          addr(IMAGE2D<int>) a3BF5#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BF8);
          real4 v33BFF#1 = LoadVoxels<IMAGE2D<int>,4>(a3BF5);
          real fy3C01#4 = Index<real2,1>(f3BBF);
          real t33C03#1 = Add<real>(fy3C01,_t2447);
          real t13C05#1 = Sub<real>(fy3C01,_t2447);
          real t03C07#1 = Sub<real>(fy3C01,_t2449);
          real4 a3C09#3 = <real4>[t33C03,fy3C01,t13C05,t03C07];
          real4 prod33C20#1 = Mul<real4>(a3C09,a33B41);
          real4 sum23C21#1 = Add<real4>(a23B40,prod33C20);
          real4 prod23C22#1 = Mul<real4>(a3C09,sum23C21);
          real4 sum13C23#1 = Add<real4>(a13B3F,prod23C22);
          real4 prod13C24#1 = Mul<real4>(a3C09,sum13C23);
          real4 hy3C0B#1 = Add<real4>(a03B3E,prod13C24);
          real fx3C3F#4 = Index<real2,0>(f3BBF);
          real t33C41#1 = Add<real>(fx3C3F,_t2447);
          real t13C43#1 = Sub<real>(fx3C3F,_t2447);
          real t03C45#1 = Sub<real>(fx3C3F,_t2449);
          real4 a3C47#3 = <real4>[t33C41,fx3C3F,t13C43,t03C45];
          real4 prod33C5E#1 = Mul<real4>(a3C47,a33B41);
          real4 sum23C5F#1 = Add<real4>(a23B40,prod33C5E);
          real4 prod23C60#1 = Mul<real4>(a3C47,sum23C5F);
          real4 sum13C61#1 = Add<real4>(a13B3F,prod23C60);
          real4 prod13C62#1 = Mul<real4>(a3C47,sum13C61);
          real4 hx3C49#4 = Add<real4>(a03B3E,prod13C62);
          real t03C7D#1 = Dot<4>(v03BD5,hx3C49);
          real t13C7F#1 = Dot<4>(v13BE3,hx3C49);
          real t23C81#1 = Dot<4>(v23BF1,hx3C49);
          real t33C83#1 = Dot<4>(v33BFF,hx3C49);
          real4 tv3C85#1 = <real4>[t03C7D,t13C7F,t23C81,t33C83];
          real _t3C87#1 = Dot<4>(hy3C0B,tv3C85);
          real _t3C89#2 = Sub<real>(_t3BB9,_t3C87);
          real _t3C8B#1 = Mul<real>(_t3C89,_t3C89);
          real score3C8D#1 = Add<real>(score3AD6,_t3C8B);
          goto JOIN3C90
        JOIN3C90:  preds = [ASSIGN3C8E,COND3AEC]
          real score3C8F#2 = phi(score3C8D,score3AD6)
          real _t3C91#1 = Dot<2>(r02461,v1423FC);
          real _t3C93#1 = Dot<2>(r12467,v1423FC);
          real2 _t3C95#1 = <real2>[_t3C91,_t3C93];
          real2 pos3C97#1 = Add<real2>(_t3C95,_t2477);
          real2 x3C99#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3C97);
          bool _t3C9B#1 = Inside<IMAGE2D<float>,2>(x3C99,_t23D4);
          if _t3C9B then goto ASSIGN3C9F else goto ASSIGN46F2
        ASSIGN3C9F:  preds = [COND3C9D]
          real2 x3C9E#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1423FC);
          bool _t3CA0#1 = Inside<IMAGE2D<int>,2>(x3C9E,_t23D0);
          goto JOIN3CA4
        JOIN3CA4:  preds = [ASSIGN3CA1,ASSIGN46F2]
          bool _t3CA2#1 = phi(_t3CA0,_t3CA3)
          if _t3CA2 then goto ASSIGN3CA7 else goto JOIN3E49
        ASSIGN3CA7:  preds = [COND3CA5]
          real2 nd3CA6#2 = Floor<2>(x3C99);
          real2 f3CA8#2 = Sub<real2>(x3C99,nd3CA6);
          int{2} n3CAA#2 = RealToInt<2>(nd3CA6);
          int t13CAC#4 = -1;
          int t23CAE#1 = Index<int{2},0>(n3CAA);
          int ix3CB0#4 = Add<int>(t13CAC,t23CAE);
          int t23CB2#4 = Index<int{2},1>(n3CAA);
          int iy3CB4#1 = Add<int>(t13CAC,t23CB2);
          int n03CB7#8 = 21;
          int t3CB8#1 = Mul<int>(n03CB7,iy3CB4);
          int index3CB9#1 = Add<int>(ix3CB0,t3CB8);
          addr(IMAGE2D<float>) imgBaseAddr3CBA#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3CB6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CB9);
          real4 v03CC0#1 = LoadVoxels<IMAGE2D<float>,4>(a3CB6);
          int iy3CC2#1 = Add<int>(_t246F,t23CB2);
          int t3CC6#1 = Mul<int>(n03CB7,iy3CC2);
          int index3CC7#1 = Add<int>(ix3CB0,t3CC6);
          addr(IMAGE2D<float>) a3CC4#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CC7);
          real4 v13CCE#1 = LoadVoxels<IMAGE2D<float>,4>(a3CC4);
          int iy3CD0#1 = Add<int>(_t2473,t23CB2);
          int t3CD4#1 = Mul<int>(n03CB7,iy3CD0);
          int index3CD5#1 = Add<int>(ix3CB0,t3CD4);
          addr(IMAGE2D<float>) a3CD2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CD5);
          real4 v23CDC#1 = LoadVoxels<IMAGE2D<float>,4>(a3CD2);
          int iy3CDE#1 = Add<int>(_t244B,t23CB2);
          int t3CE2#1 = Mul<int>(n03CB7,iy3CDE);
          int index3CE3#1 = Add<int>(ix3CB0,t3CE2);
          addr(IMAGE2D<float>) a3CE0#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CE3);
          real4 v33CEA#1 = LoadVoxels<IMAGE2D<float>,4>(a3CE0);
          real fy3CEC#4 = Index<real2,1>(f3CA8);
          real t33CEE#1 = Add<real>(fy3CEC,_t2447);
          real t13CF0#1 = Sub<real>(fy3CEC,_t2447);
          real t03CF2#1 = Sub<real>(fy3CEC,_t2449);
          real4 a3CF4#3 = <real4>[t33CEE,fy3CEC,t13CF0,t03CF2];
          real _f3D07#2 = 0.133333333333e1;
          real _f3D08#2 = 0.666666666667e0;
          real4 a03CF7#4 = <real4>[_f3D07,_f3D08,_f3D08,_f3D07];
          real _f3D03#1 = -0.2e1;
          real _f3D04#2 = 0.0;
          real4 a13CF8#4 = <real4>[_f3D03,_f3D04,_f3D04,_t2449];
          real _f3D00#2 = -0.1e1;
          real4 a23CF9#4 = <real4>[_t2447,_f3D00,_f3D00,_t2447];
          real _f3CFB#1 = -0.166666666667e0;
          real _f3CFC#1 = 0.5e0;
          real _f3CFD#1 = -0.5e0;
          real _f3CFE#1 = 0.166666666667e0;
          real4 a33CFA#4 = <real4>[_f3CFB,_f3CFC,_f3CFD,_f3CFE];
          real4 prod33D0B#1 = Mul<real4>(a3CF4,a33CFA);
          real4 sum23D0C#1 = Add<real4>(a23CF9,prod33D0B);
          real4 prod23D0D#1 = Mul<real4>(a3CF4,sum23D0C);
          real4 sum13D0E#1 = Add<real4>(a13CF8,prod23D0D);
          real4 prod13D0F#1 = Mul<real4>(a3CF4,sum13D0E);
          real4 hy3CF6#1 = Add<real4>(a03CF7,prod13D0F);
          real fx3D2A#4 = Index<real2,0>(f3CA8);
          real t33D2C#1 = Add<real>(fx3D2A,_t2447);
          real t13D2E#1 = Sub<real>(fx3D2A,_t2447);
          real t03D30#1 = Sub<real>(fx3D2A,_t2449);
          real4 a3D32#3 = <real4>[t33D2C,fx3D2A,t13D2E,t03D30];
          real4 prod33D49#1 = Mul<real4>(a3D32,a33CFA);
          real4 sum23D4A#1 = Add<real4>(a23CF9,prod33D49);
          real4 prod23D4B#1 = Mul<real4>(a3D32,sum23D4A);
          real4 sum13D4C#1 = Add<real4>(a13CF8,prod23D4B);
          real4 prod13D4D#1 = Mul<real4>(a3D32,sum13D4C);
          real4 hx3D34#4 = Add<real4>(a03CF7,prod13D4D);
          real t03D68#1 = Dot<4>(v03CC0,hx3D34);
          real t13D6A#1 = Dot<4>(v13CCE,hx3D34);
          real t23D6C#1 = Dot<4>(v23CDC,hx3D34);
          real t33D6E#1 = Dot<4>(v33CEA,hx3D34);
          real4 tv3D70#1 = <real4>[t03D68,t13D6A,t23D6C,t33D6E];
          real _t3D72#1 = Dot<4>(hy3CF6,tv3D70);
          real2 x3D74#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1423FC);
          real2 nd3D76#2 = Floor<2>(x3D74);
          real2 f3D78#2 = Sub<real2>(x3D74,nd3D76);
          int{2} n3D7A#2 = RealToInt<2>(nd3D76);
          int t23D7C#1 = Index<int{2},0>(n3D7A);
          int ix3D7E#4 = Add<int>(t13CAC,t23D7C);
          int t23D80#4 = Index<int{2},1>(n3D7A);
          int iy3D82#1 = Add<int>(t13CAC,t23D80);
          int t3D86#1 = Mul<int>(n03CB7,iy3D82);
          int index3D87#1 = Add<int>(ix3D7E,t3D86);
          addr(IMAGE2D<int>) imgBaseAddr3D88#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3D84#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3D87);
          real4 v03D8E#1 = LoadVoxels<IMAGE2D<int>,4>(a3D84);
          int iy3D90#1 = Add<int>(_t246F,t23D80);
          int t3D94#1 = Mul<int>(n03CB7,iy3D90);
          int index3D95#1 = Add<int>(ix3D7E,t3D94);
          addr(IMAGE2D<int>) a3D92#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3D95);
          real4 v13D9C#1 = LoadVoxels<IMAGE2D<int>,4>(a3D92);
          int iy3D9E#1 = Add<int>(_t2473,t23D80);
          int t3DA2#1 = Mul<int>(n03CB7,iy3D9E);
          int index3DA3#1 = Add<int>(ix3D7E,t3DA2);
          addr(IMAGE2D<int>) a3DA0#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3DA3);
          real4 v23DAA#1 = LoadVoxels<IMAGE2D<int>,4>(a3DA0);
          int iy3DAC#1 = Add<int>(_t244B,t23D80);
          int t3DB0#1 = Mul<int>(n03CB7,iy3DAC);
          int index3DB1#1 = Add<int>(ix3D7E,t3DB0);
          addr(IMAGE2D<int>) a3DAE#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3DB1);
          real4 v33DB8#1 = LoadVoxels<IMAGE2D<int>,4>(a3DAE);
          real fy3DBA#4 = Index<real2,1>(f3D78);
          real t33DBC#1 = Add<real>(fy3DBA,_t2447);
          real t13DBE#1 = Sub<real>(fy3DBA,_t2447);
          real t03DC0#1 = Sub<real>(fy3DBA,_t2449);
          real4 a3DC2#3 = <real4>[t33DBC,fy3DBA,t13DBE,t03DC0];
          real4 prod33DD9#1 = Mul<real4>(a3DC2,a33CFA);
          real4 sum23DDA#1 = Add<real4>(a23CF9,prod33DD9);
          real4 prod23DDB#1 = Mul<real4>(a3DC2,sum23DDA);
          real4 sum13DDC#1 = Add<real4>(a13CF8,prod23DDB);
          real4 prod13DDD#1 = Mul<real4>(a3DC2,sum13DDC);
          real4 hy3DC4#1 = Add<real4>(a03CF7,prod13DDD);
          real fx3DF8#4 = Index<real2,0>(f3D78);
          real t33DFA#1 = Add<real>(fx3DF8,_t2447);
          real t13DFC#1 = Sub<real>(fx3DF8,_t2447);
          real t03DFE#1 = Sub<real>(fx3DF8,_t2449);
          real4 a3E00#3 = <real4>[t33DFA,fx3DF8,t13DFC,t03DFE];
          real4 prod33E17#1 = Mul<real4>(a3E00,a33CFA);
          real4 sum23E18#1 = Add<real4>(a23CF9,prod33E17);
          real4 prod23E19#1 = Mul<real4>(a3E00,sum23E18);
          real4 sum13E1A#1 = Add<real4>(a13CF8,prod23E19);
          real4 prod13E1B#1 = Mul<real4>(a3E00,sum13E1A);
          real4 hx3E02#4 = Add<real4>(a03CF7,prod13E1B);
          real t03E36#1 = Dot<4>(v03D8E,hx3E02);
          real t13E38#1 = Dot<4>(v13D9C,hx3E02);
          real t23E3A#1 = Dot<4>(v23DAA,hx3E02);
          real t33E3C#1 = Dot<4>(v33DB8,hx3E02);
          real4 tv3E3E#1 = <real4>[t03E36,t13E38,t23E3A,t33E3C];
          real _t3E40#1 = Dot<4>(hy3DC4,tv3E3E);
          real _t3E42#2 = Sub<real>(_t3D72,_t3E40);
          real _t3E44#1 = Mul<real>(_t3E42,_t3E42);
          real score3E46#1 = Add<real>(score3C8F,_t3E44);
          goto JOIN3E49
        JOIN3E49:  preds = [ASSIGN3E47,COND3CA5]
          real score3E48#2 = phi(score3E46,score3C8F)
          real _t3E4A#1 = Dot<2>(r02461,v1523FE);
          real _t3E4C#1 = Dot<2>(r12467,v1523FE);
          real2 _t3E4E#1 = <real2>[_t3E4A,_t3E4C];
          real2 pos3E50#1 = Add<real2>(_t3E4E,_t2477);
          real2 x3E52#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3E50);
          bool _t3E54#1 = Inside<IMAGE2D<float>,2>(x3E52,_t23D4);
          if _t3E54 then goto ASSIGN3E58 else goto ASSIGN46F1
        ASSIGN3E58:  preds = [COND3E56]
          real2 x3E57#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1523FE);
          bool _t3E59#1 = Inside<IMAGE2D<int>,2>(x3E57,_t23D0);
          goto JOIN3E5D
        JOIN3E5D:  preds = [ASSIGN3E5A,ASSIGN46F1]
          bool _t3E5B#1 = phi(_t3E59,_t3E5C)
          if _t3E5B then goto ASSIGN3E60 else goto JOIN4002
        ASSIGN3E60:  preds = [COND3E5E]
          real2 nd3E5F#2 = Floor<2>(x3E52);
          real2 f3E61#2 = Sub<real2>(x3E52,nd3E5F);
          int{2} n3E63#2 = RealToInt<2>(nd3E5F);
          int t13E65#4 = -1;
          int t23E67#1 = Index<int{2},0>(n3E63);
          int ix3E69#4 = Add<int>(t13E65,t23E67);
          int t23E6B#4 = Index<int{2},1>(n3E63);
          int iy3E6D#1 = Add<int>(t13E65,t23E6B);
          int n03E70#8 = 21;
          int t3E71#1 = Mul<int>(n03E70,iy3E6D);
          int index3E72#1 = Add<int>(ix3E69,t3E71);
          addr(IMAGE2D<float>) imgBaseAddr3E73#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3E6F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E72);
          real4 v03E79#1 = LoadVoxels<IMAGE2D<float>,4>(a3E6F);
          int iy3E7B#1 = Add<int>(_t246F,t23E6B);
          int t3E7F#1 = Mul<int>(n03E70,iy3E7B);
          int index3E80#1 = Add<int>(ix3E69,t3E7F);
          addr(IMAGE2D<float>) a3E7D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E80);
          real4 v13E87#1 = LoadVoxels<IMAGE2D<float>,4>(a3E7D);
          int iy3E89#1 = Add<int>(_t2473,t23E6B);
          int t3E8D#1 = Mul<int>(n03E70,iy3E89);
          int index3E8E#1 = Add<int>(ix3E69,t3E8D);
          addr(IMAGE2D<float>) a3E8B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E8E);
          real4 v23E95#1 = LoadVoxels<IMAGE2D<float>,4>(a3E8B);
          int iy3E97#1 = Add<int>(_t244B,t23E6B);
          int t3E9B#1 = Mul<int>(n03E70,iy3E97);
          int index3E9C#1 = Add<int>(ix3E69,t3E9B);
          addr(IMAGE2D<float>) a3E99#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E9C);
          real4 v33EA3#1 = LoadVoxels<IMAGE2D<float>,4>(a3E99);
          real fy3EA5#4 = Index<real2,1>(f3E61);
          real t33EA7#1 = Add<real>(fy3EA5,_t2447);
          real t13EA9#1 = Sub<real>(fy3EA5,_t2447);
          real t03EAB#1 = Sub<real>(fy3EA5,_t2449);
          real4 a3EAD#3 = <real4>[t33EA7,fy3EA5,t13EA9,t03EAB];
          real _f3EC0#2 = 0.133333333333e1;
          real _f3EC1#2 = 0.666666666667e0;
          real4 a03EB0#4 = <real4>[_f3EC0,_f3EC1,_f3EC1,_f3EC0];
          real _f3EBC#1 = -0.2e1;
          real _f3EBD#2 = 0.0;
          real4 a13EB1#4 = <real4>[_f3EBC,_f3EBD,_f3EBD,_t2449];
          real _f3EB9#2 = -0.1e1;
          real4 a23EB2#4 = <real4>[_t2447,_f3EB9,_f3EB9,_t2447];
          real _f3EB4#1 = -0.166666666667e0;
          real _f3EB5#1 = 0.5e0;
          real _f3EB6#1 = -0.5e0;
          real _f3EB7#1 = 0.166666666667e0;
          real4 a33EB3#4 = <real4>[_f3EB4,_f3EB5,_f3EB6,_f3EB7];
          real4 prod33EC4#1 = Mul<real4>(a3EAD,a33EB3);
          real4 sum23EC5#1 = Add<real4>(a23EB2,prod33EC4);
          real4 prod23EC6#1 = Mul<real4>(a3EAD,sum23EC5);
          real4 sum13EC7#1 = Add<real4>(a13EB1,prod23EC6);
          real4 prod13EC8#1 = Mul<real4>(a3EAD,sum13EC7);
          real4 hy3EAF#1 = Add<real4>(a03EB0,prod13EC8);
          real fx3EE3#4 = Index<real2,0>(f3E61);
          real t33EE5#1 = Add<real>(fx3EE3,_t2447);
          real t13EE7#1 = Sub<real>(fx3EE3,_t2447);
          real t03EE9#1 = Sub<real>(fx3EE3,_t2449);
          real4 a3EEB#3 = <real4>[t33EE5,fx3EE3,t13EE7,t03EE9];
          real4 prod33F02#1 = Mul<real4>(a3EEB,a33EB3);
          real4 sum23F03#1 = Add<real4>(a23EB2,prod33F02);
          real4 prod23F04#1 = Mul<real4>(a3EEB,sum23F03);
          real4 sum13F05#1 = Add<real4>(a13EB1,prod23F04);
          real4 prod13F06#1 = Mul<real4>(a3EEB,sum13F05);
          real4 hx3EED#4 = Add<real4>(a03EB0,prod13F06);
          real t03F21#1 = Dot<4>(v03E79,hx3EED);
          real t13F23#1 = Dot<4>(v13E87,hx3EED);
          real t23F25#1 = Dot<4>(v23E95,hx3EED);
          real t33F27#1 = Dot<4>(v33EA3,hx3EED);
          real4 tv3F29#1 = <real4>[t03F21,t13F23,t23F25,t33F27];
          real _t3F2B#1 = Dot<4>(hy3EAF,tv3F29);
          real2 x3F2D#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1523FE);
          real2 nd3F2F#2 = Floor<2>(x3F2D);
          real2 f3F31#2 = Sub<real2>(x3F2D,nd3F2F);
          int{2} n3F33#2 = RealToInt<2>(nd3F2F);
          int t23F35#1 = Index<int{2},0>(n3F33);
          int ix3F37#4 = Add<int>(t13E65,t23F35);
          int t23F39#4 = Index<int{2},1>(n3F33);
          int iy3F3B#1 = Add<int>(t13E65,t23F39);
          int t3F3F#1 = Mul<int>(n03E70,iy3F3B);
          int index3F40#1 = Add<int>(ix3F37,t3F3F);
          addr(IMAGE2D<int>) imgBaseAddr3F41#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3F3D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F40);
          real4 v03F47#1 = LoadVoxels<IMAGE2D<int>,4>(a3F3D);
          int iy3F49#1 = Add<int>(_t246F,t23F39);
          int t3F4D#1 = Mul<int>(n03E70,iy3F49);
          int index3F4E#1 = Add<int>(ix3F37,t3F4D);
          addr(IMAGE2D<int>) a3F4B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F4E);
          real4 v13F55#1 = LoadVoxels<IMAGE2D<int>,4>(a3F4B);
          int iy3F57#1 = Add<int>(_t2473,t23F39);
          int t3F5B#1 = Mul<int>(n03E70,iy3F57);
          int index3F5C#1 = Add<int>(ix3F37,t3F5B);
          addr(IMAGE2D<int>) a3F59#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F5C);
          real4 v23F63#1 = LoadVoxels<IMAGE2D<int>,4>(a3F59);
          int iy3F65#1 = Add<int>(_t244B,t23F39);
          int t3F69#1 = Mul<int>(n03E70,iy3F65);
          int index3F6A#1 = Add<int>(ix3F37,t3F69);
          addr(IMAGE2D<int>) a3F67#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F6A);
          real4 v33F71#1 = LoadVoxels<IMAGE2D<int>,4>(a3F67);
          real fy3F73#4 = Index<real2,1>(f3F31);
          real t33F75#1 = Add<real>(fy3F73,_t2447);
          real t13F77#1 = Sub<real>(fy3F73,_t2447);
          real t03F79#1 = Sub<real>(fy3F73,_t2449);
          real4 a3F7B#3 = <real4>[t33F75,fy3F73,t13F77,t03F79];
          real4 prod33F92#1 = Mul<real4>(a3F7B,a33EB3);
          real4 sum23F93#1 = Add<real4>(a23EB2,prod33F92);
          real4 prod23F94#1 = Mul<real4>(a3F7B,sum23F93);
          real4 sum13F95#1 = Add<real4>(a13EB1,prod23F94);
          real4 prod13F96#1 = Mul<real4>(a3F7B,sum13F95);
          real4 hy3F7D#1 = Add<real4>(a03EB0,prod13F96);
          real fx3FB1#4 = Index<real2,0>(f3F31);
          real t33FB3#1 = Add<real>(fx3FB1,_t2447);
          real t13FB5#1 = Sub<real>(fx3FB1,_t2447);
          real t03FB7#1 = Sub<real>(fx3FB1,_t2449);
          real4 a3FB9#3 = <real4>[t33FB3,fx3FB1,t13FB5,t03FB7];
          real4 prod33FD0#1 = Mul<real4>(a3FB9,a33EB3);
          real4 sum23FD1#1 = Add<real4>(a23EB2,prod33FD0);
          real4 prod23FD2#1 = Mul<real4>(a3FB9,sum23FD1);
          real4 sum13FD3#1 = Add<real4>(a13EB1,prod23FD2);
          real4 prod13FD4#1 = Mul<real4>(a3FB9,sum13FD3);
          real4 hx3FBB#4 = Add<real4>(a03EB0,prod13FD4);
          real t03FEF#1 = Dot<4>(v03F47,hx3FBB);
          real t13FF1#1 = Dot<4>(v13F55,hx3FBB);
          real t23FF3#1 = Dot<4>(v23F63,hx3FBB);
          real t33FF5#1 = Dot<4>(v33F71,hx3FBB);
          real4 tv3FF7#1 = <real4>[t03FEF,t13FF1,t23FF3,t33FF5];
          real _t3FF9#1 = Dot<4>(hy3F7D,tv3FF7);
          real _t3FFB#2 = Sub<real>(_t3F2B,_t3FF9);
          real _t3FFD#1 = Mul<real>(_t3FFB,_t3FFB);
          real score3FFF#1 = Add<real>(score3E48,_t3FFD);
          goto JOIN4002
        JOIN4002:  preds = [ASSIGN4000,COND3E5E]
          real score4001#2 = phi(score3FFF,score3E48)
          real _t4003#1 = Dot<2>(r02461,v162400);
          real _t4005#1 = Dot<2>(r12467,v162400);
          real2 _t4007#1 = <real2>[_t4003,_t4005];
          real2 pos4009#1 = Add<real2>(_t4007,_t2477);
          real2 x400B#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos4009);
          bool _t400D#1 = Inside<IMAGE2D<float>,2>(x400B,_t23D4);
          if _t400D then goto ASSIGN4011 else goto ASSIGN46F0
        ASSIGN4011:  preds = [COND400F]
          real2 x4010#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v162400);
          bool _t4012#1 = Inside<IMAGE2D<int>,2>(x4010,_t23D0);
          goto JOIN4016
        JOIN4016:  preds = [ASSIGN4013,ASSIGN46F0]
          bool _t4014#1 = phi(_t4012,_t4015)
          if _t4014 then goto ASSIGN4019 else goto JOIN41BB
        ASSIGN4019:  preds = [COND4017]
          real2 nd4018#2 = Floor<2>(x400B);
          real2 f401A#2 = Sub<real2>(x400B,nd4018);
          int{2} n401C#2 = RealToInt<2>(nd4018);
          int t1401E#4 = -1;
          int t24020#1 = Index<int{2},0>(n401C);
          int ix4022#4 = Add<int>(t1401E,t24020);
          int t24024#4 = Index<int{2},1>(n401C);
          int iy4026#1 = Add<int>(t1401E,t24024);
          int n04029#8 = 21;
          int t402A#1 = Mul<int>(n04029,iy4026);
          int index402B#1 = Add<int>(ix4022,t402A);
          addr(IMAGE2D<float>) imgBaseAddr402C#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a4028#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index402B);
          real4 v04032#1 = LoadVoxels<IMAGE2D<float>,4>(a4028);
          int iy4034#1 = Add<int>(_t246F,t24024);
          int t4038#1 = Mul<int>(n04029,iy4034);
          int index4039#1 = Add<int>(ix4022,t4038);
          addr(IMAGE2D<float>) a4036#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index4039);
          real4 v14040#1 = LoadVoxels<IMAGE2D<float>,4>(a4036);
          int iy4042#1 = Add<int>(_t2473,t24024);
          int t4046#1 = Mul<int>(n04029,iy4042);
          int index4047#1 = Add<int>(ix4022,t4046);
          addr(IMAGE2D<float>) a4044#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index4047);
          real4 v2404E#1 = LoadVoxels<IMAGE2D<float>,4>(a4044);
          int iy4050#1 = Add<int>(_t244B,t24024);
          int t4054#1 = Mul<int>(n04029,iy4050);
          int index4055#1 = Add<int>(ix4022,t4054);
          addr(IMAGE2D<float>) a4052#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index4055);
          real4 v3405C#1 = LoadVoxels<IMAGE2D<float>,4>(a4052);
          real fy405E#4 = Index<real2,1>(f401A);
          real t34060#1 = Add<real>(fy405E,_t2447);
          real t14062#1 = Sub<real>(fy405E,_t2447);
          real t04064#1 = Sub<real>(fy405E,_t2449);
          real4 a4066#3 = <real4>[t34060,fy405E,t14062,t04064];
          real _f4079#2 = 0.133333333333e1;
          real _f407A#2 = 0.666666666667e0;
          real4 a04069#4 = <real4>[_f4079,_f407A,_f407A,_f4079];
          real _f4075#1 = -0.2e1;
          real _f4076#2 = 0.0;
          real4 a1406A#4 = <real4>[_f4075,_f4076,_f4076,_t2449];
          real _f4072#2 = -0.1e1;
          real4 a2406B#4 = <real4>[_t2447,_f4072,_f4072,_t2447];
          real _f406D#1 = -0.166666666667e0;
          real _f406E#1 = 0.5e0;
          real _f406F#1 = -0.5e0;
          real _f4070#1 = 0.166666666667e0;
          real4 a3406C#4 = <real4>[_f406D,_f406E,_f406F,_f4070];
          real4 prod3407D#1 = Mul<real4>(a4066,a3406C);
          real4 sum2407E#1 = Add<real4>(a2406B,prod3407D);
          real4 prod2407F#1 = Mul<real4>(a4066,sum2407E);
          real4 sum14080#1 = Add<real4>(a1406A,prod2407F);
          real4 prod14081#1 = Mul<real4>(a4066,sum14080);
          real4 hy4068#1 = Add<real4>(a04069,prod14081);
          real fx409C#4 = Index<real2,0>(f401A);
          real t3409E#1 = Add<real>(fx409C,_t2447);
          real t140A0#1 = Sub<real>(fx409C,_t2447);
          real t040A2#1 = Sub<real>(fx409C,_t2449);
          real4 a40A4#3 = <real4>[t3409E,fx409C,t140A0,t040A2];
          real4 prod340BB#1 = Mul<real4>(a40A4,a3406C);
          real4 sum240BC#1 = Add<real4>(a2406B,prod340BB);
          real4 prod240BD#1 = Mul<real4>(a40A4,sum240BC);
          real4 sum140BE#1 = Add<real4>(a1406A,prod240BD);
          real4 prod140BF#1 = Mul<real4>(a40A4,sum140BE);
          real4 hx40A6#4 = Add<real4>(a04069,prod140BF);
          real t040DA#1 = Dot<4>(v04032,hx40A6);
          real t140DC#1 = Dot<4>(v14040,hx40A6);
          real t240DE#1 = Dot<4>(v2404E,hx40A6);
          real t340E0#1 = Dot<4>(v3405C,hx40A6);
          real4 tv40E2#1 = <real4>[t040DA,t140DC,t240DE,t340E0];
          real _t40E4#1 = Dot<4>(hy4068,tv40E2);
          real2 x40E6#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v162400);
          real2 nd40E8#2 = Floor<2>(x40E6);
          real2 f40EA#2 = Sub<real2>(x40E6,nd40E8);
          int{2} n40EC#2 = RealToInt<2>(nd40E8);
          int t240EE#1 = Index<int{2},0>(n40EC);
          int ix40F0#4 = Add<int>(t1401E,t240EE);
          int t240F2#4 = Index<int{2},1>(n40EC);
          int iy40F4#1 = Add<int>(t1401E,t240F2);
          int t40F8#1 = Mul<int>(n04029,iy40F4);
          int index40F9#1 = Add<int>(ix40F0,t40F8);
          addr(IMAGE2D<int>) imgBaseAddr40FA#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a40F6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index40F9);
          real4 v04100#1 = LoadVoxels<IMAGE2D<int>,4>(a40F6);
          int iy4102#1 = Add<int>(_t246F,t240F2);
          int t4106#1 = Mul<int>(n04029,iy4102);
          int index4107#1 = Add<int>(ix40F0,t4106);
          addr(IMAGE2D<int>) a4104#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index4107);
          real4 v1410E#1 = LoadVoxels<IMAGE2D<int>,4>(a4104);
          int iy4110#1 = Add<int>(_t2473,t240F2);
          int t4114#1 = Mul<int>(n04029,iy4110);
          int index4115#1 = Add<int>(ix40F0,t4114);
          addr(IMAGE2D<int>) a4112#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index4115);
          real4 v2411C#1 = LoadVoxels<IMAGE2D<int>,4>(a4112);
          int iy411E#1 = Add<int>(_t244B,t240F2);
          int t4122#1 = Mul<int>(n04029,iy411E);
          int index4123#1 = Add<int>(ix40F0,t4122);
          addr(IMAGE2D<int>) a4120#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index4123);
          real4 v3412A#1 = LoadVoxels<IMAGE2D<int>,4>(a4120);
          real fy412C#4 = Index<real2,1>(f40EA);
          real t3412E#1 = Add<real>(fy412C,_t2447);
          real t14130#1 = Sub<real>(fy412C,_t2447);
          real t04132#1 = Sub<real>(fy412C,_t2449);
          real4 a4134#3 = <real4>[t3412E,fy412C,t14130,t04132];
          real4 prod3414B#1 = Mul<real4>(a4134,a3406C);
          real4 sum2414C#1 = Add<real4>(a2406B,prod3414B);
          real4 prod2414D#1 = Mul<real4>(a4134,sum2414C);
          real4 sum1414E#1 = Add<real4>(a1406A,prod2414D);
          real4 prod1414F#1 = Mul<real4>(a4134,sum1414E);
          real4 hy4136#1 = Add<real4>(a04069,prod1414F);
          real fx416A#4 = Index<real2,0>(f40EA);
          real t3416C#1 = Add<real>(fx416A,_t2447);
          real t1416E#1 = Sub<real>(fx416A,_t2447);
          real t04170#1 = Sub<real>(fx416A,_t2449);
          real4 a4172#3 = <real4>[t3416C,fx416A,t1416E,t04170];
          real4 prod34189#1 = Mul<real4>(a4172,a3406C);
          real4 sum2418A#1 = Add<real4>(a2406B,prod34189);
          real4 prod2418B#1 = Mul<real4>(a4172,sum2418A);
          real4 sum1418C#1 = Add<real4>(a1406A,prod2418B);
          real4 prod1418D#1 = Mul<real4>(a4172,sum1418C);
          real4 hx4174#4 = Add<real4>(a04069,prod1418D);
          real t041A8#1 = Dot<4>(v04100,hx4174);
          real t141AA#1 = Dot<4>(v1410E,hx4174);
          real t241AC#1 = Dot<4>(v2411C,hx4174);
          real t341AE#1 = Dot<4>(v3412A,hx4174);
          real4 tv41B0#1 = <real4>[t041A8,t141AA,t241AC,t341AE];
          real _t41B2#1 = Dot<4>(hy4136,tv41B0);
          real _t41B4#2 = Sub<real>(_t40E4,_t41B2);
          real _t41B6#1 = Mul<real>(_t41B4,_t41B4);
          real score41B8#1 = Add<real>(score4001,_t41B6);
          goto JOIN41BB
        JOIN41BB:  preds = [ASSIGN41B9,COND4017]
          real score41BA#2 = phi(score41B8,score4001)
          real _t41BC#1 = Dot<2>(r02461,v172402);
          real _t41BE#1 = Dot<2>(r12467,v172402);
          real2 _t41C0#1 = <real2>[_t41BC,_t41BE];
          real2 pos41C2#1 = Add<real2>(_t41C0,_t2477);
          real2 x41C4#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos41C2);
          bool _t41C6#1 = Inside<IMAGE2D<float>,2>(x41C4,_t23D4);
          if _t41C6 then goto ASSIGN41CA else goto ASSIGN46EF
        ASSIGN41CA:  preds = [COND41C8]
          real2 x41C9#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v172402);
          bool _t41CB#1 = Inside<IMAGE2D<int>,2>(x41C9,_t23D0);
          goto JOIN41CF
        JOIN41CF:  preds = [ASSIGN41CC,ASSIGN46EF]
          bool _t41CD#1 = phi(_t41CB,_t41CE)
          if _t41CD then goto ASSIGN41D2 else goto JOIN4374
        ASSIGN41D2:  preds = [COND41D0]
          real2 nd41D1#2 = Floor<2>(x41C4);
          real2 f41D3#2 = Sub<real2>(x41C4,nd41D1);
          int{2} n41D5#2 = RealToInt<2>(nd41D1);
          int t141D7#4 = -1;
          int t241D9#1 = Index<int{2},0>(n41D5);
          int ix41DB#4 = Add<int>(t141D7,t241D9);
          int t241DD#4 = Index<int{2},1>(n41D5);
          int iy41DF#1 = Add<int>(t141D7,t241DD);
          int n041E2#8 = 21;
          int t41E3#1 = Mul<int>(n041E2,iy41DF);
          int index41E4#1 = Add<int>(ix41DB,t41E3);
          addr(IMAGE2D<float>) imgBaseAddr41E5#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a41E1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index41E4);
          real4 v041EB#1 = LoadVoxels<IMAGE2D<float>,4>(a41E1);
          int iy41ED#1 = Add<int>(_t246F,t241DD);
          int t41F1#1 = Mul<int>(n041E2,iy41ED);
          int index41F2#1 = Add<int>(ix41DB,t41F1);
          addr(IMAGE2D<float>) a41EF#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index41F2);
          real4 v141F9#1 = LoadVoxels<IMAGE2D<float>,4>(a41EF);
          int iy41FB#1 = Add<int>(_t2473,t241DD);
          int t41FF#1 = Mul<int>(n041E2,iy41FB);
          int index4200#1 = Add<int>(ix41DB,t41FF);
          addr(IMAGE2D<float>) a41FD#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index4200);
          real4 v24207#1 = LoadVoxels<IMAGE2D<float>,4>(a41FD);
          int iy4209#1 = Add<int>(_t244B,t241DD);
          int t420D#1 = Mul<int>(n041E2,iy4209);
          int index420E#1 = Add<int>(ix41DB,t420D);
          addr(IMAGE2D<float>) a420B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index420E);
          real4 v34215#1 = LoadVoxels<IMAGE2D<float>,4>(a420B);
          real fy4217#4 = Index<real2,1>(f41D3);
          real t34219#1 = Add<real>(fy4217,_t2447);
          real t1421B#1 = Sub<real>(fy4217,_t2447);
          real t0421D#1 = Sub<real>(fy4217,_t2449);
          real4 a421F#3 = <real4>[t34219,fy4217,t1421B,t0421D];
          real _f4232#2 = 0.133333333333e1;
          real _f4233#2 = 0.666666666667e0;
          real4 a04222#4 = <real4>[_f4232,_f4233,_f4233,_f4232];
          real _f422E#1 = -0.2e1;
          real _f422F#2 = 0.0;
          real4 a14223#4 = <real4>[_f422E,_f422F,_f422F,_t2449];
          real _f422B#2 = -0.1e1;
          real4 a24224#4 = <real4>[_t2447,_f422B,_f422B,_t2447];
          real _f4226#1 = -0.166666666667e0;
          real _f4227#1 = 0.5e0;
          real _f4228#1 = -0.5e0;
          real _f4229#1 = 0.166666666667e0;
          real4 a34225#4 = <real4>[_f4226,_f4227,_f4228,_f4229];
          real4 prod34236#1 = Mul<real4>(a421F,a34225);
          real4 sum24237#1 = Add<real4>(a24224,prod34236);
          real4 prod24238#1 = Mul<real4>(a421F,sum24237);
          real4 sum14239#1 = Add<real4>(a14223,prod24238);
          real4 prod1423A#1 = Mul<real4>(a421F,sum14239);
          real4 hy4221#1 = Add<real4>(a04222,prod1423A);
          real fx4255#4 = Index<real2,0>(f41D3);
          real t34257#1 = Add<real>(fx4255,_t2447);
          real t14259#1 = Sub<real>(fx4255,_t2447);
          real t0425B#1 = Sub<real>(fx4255,_t2449);
          real4 a425D#3 = <real4>[t34257,fx4255,t14259,t0425B];
          real4 prod34274#1 = Mul<real4>(a425D,a34225);
          real4 sum24275#1 = Add<real4>(a24224,prod34274);
          real4 prod24276#1 = Mul<real4>(a425D,sum24275);
          real4 sum14277#1 = Add<real4>(a14223,prod24276);
          real4 prod14278#1 = Mul<real4>(a425D,sum14277);
          real4 hx425F#4 = Add<real4>(a04222,prod14278);
          real t04293#1 = Dot<4>(v041EB,hx425F);
          real t14295#1 = Dot<4>(v141F9,hx425F);
          real t24297#1 = Dot<4>(v24207,hx425F);
          real t34299#1 = Dot<4>(v34215,hx425F);
          real4 tv429B#1 = <real4>[t04293,t14295,t24297,t34299];
          real _t429D#1 = Dot<4>(hy4221,tv429B);
          real2 x429F#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v172402);
          real2 nd42A1#2 = Floor<2>(x429F);
          real2 f42A3#2 = Sub<real2>(x429F,nd42A1);
          int{2} n42A5#2 = RealToInt<2>(nd42A1);
          int t242A7#1 = Index<int{2},0>(n42A5);
          int ix42A9#4 = Add<int>(t141D7,t242A7);
          int t242AB#4 = Index<int{2},1>(n42A5);
          int iy42AD#1 = Add<int>(t141D7,t242AB);
          int t42B1#1 = Mul<int>(n041E2,iy42AD);
          int index42B2#1 = Add<int>(ix42A9,t42B1);
          addr(IMAGE2D<int>) imgBaseAddr42B3#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a42AF#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42B2);
          real4 v042B9#1 = LoadVoxels<IMAGE2D<int>,4>(a42AF);
          int iy42BB#1 = Add<int>(_t246F,t242AB);
          int t42BF#1 = Mul<int>(n041E2,iy42BB);
          int index42C0#1 = Add<int>(ix42A9,t42BF);
          addr(IMAGE2D<int>) a42BD#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42C0);
          real4 v142C7#1 = LoadVoxels<IMAGE2D<int>,4>(a42BD);
          int iy42C9#1 = Add<int>(_t2473,t242AB);
          int t42CD#1 = Mul<int>(n041E2,iy42C9);
          int index42CE#1 = Add<int>(ix42A9,t42CD);
          addr(IMAGE2D<int>) a42CB#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42CE);
          real4 v242D5#1 = LoadVoxels<IMAGE2D<int>,4>(a42CB);
          int iy42D7#1 = Add<int>(_t244B,t242AB);
          int t42DB#1 = Mul<int>(n041E2,iy42D7);
          int index42DC#1 = Add<int>(ix42A9,t42DB);
          addr(IMAGE2D<int>) a42D9#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42DC);
          real4 v342E3#1 = LoadVoxels<IMAGE2D<int>,4>(a42D9);
          real fy42E5#4 = Index<real2,1>(f42A3);
          real t342E7#1 = Add<real>(fy42E5,_t2447);
          real t142E9#1 = Sub<real>(fy42E5,_t2447);
          real t042EB#1 = Sub<real>(fy42E5,_t2449);
          real4 a42ED#3 = <real4>[t342E7,fy42E5,t142E9,t042EB];
          real4 prod34304#1 = Mul<real4>(a42ED,a34225);
          real4 sum24305#1 = Add<real4>(a24224,prod34304);
          real4 prod24306#1 = Mul<real4>(a42ED,sum24305);
          real4 sum14307#1 = Add<real4>(a14223,prod24306);
          real4 prod14308#1 = Mul<real4>(a42ED,sum14307);
          real4 hy42EF#1 = Add<real4>(a04222,prod14308);
          real fx4323#4 = Index<real2,0>(f42A3);
          real t34325#1 = Add<real>(fx4323,_t2447);
          real t14327#1 = Sub<real>(fx4323,_t2447);
          real t04329#1 = Sub<real>(fx4323,_t2449);
          real4 a432B#3 = <real4>[t34325,fx4323,t14327,t04329];
          real4 prod34342#1 = Mul<real4>(a432B,a34225);
          real4 sum24343#1 = Add<real4>(a24224,prod34342);
          real4 prod24344#1 = Mul<real4>(a432B,sum24343);
          real4 sum14345#1 = Add<real4>(a14223,prod24344);
          real4 prod14346#1 = Mul<real4>(a432B,sum14345);
          real4 hx432D#4 = Add<real4>(a04222,prod14346);
          real t04361#1 = Dot<4>(v042B9,hx432D);
          real t14363#1 = Dot<4>(v142C7,hx432D);
          real t24365#1 = Dot<4>(v242D5,hx432D);
          real t34367#1 = Dot<4>(v342E3,hx432D);
          real4 tv4369#1 = <real4>[t04361,t14363,t24365,t34367];
          real _t436B#1 = Dot<4>(hy42EF,tv4369);
          real _t436D#2 = Sub<real>(_t429D,_t436B);
          real _t436F#1 = Mul<real>(_t436D,_t436D);
          real score4371#1 = Add<real>(score41BA,_t436F);
          goto JOIN4374
        JOIN4374:  preds = [ASSIGN4372,COND41D0]
          real score4373#2 = phi(score4371,score41BA)
          real _t4375#1 = Dot<2>(r02461,v182404);
          real _t4377#1 = Dot<2>(r12467,v182404);
          real2 _t4379#1 = <real2>[_t4375,_t4377];
          real2 pos437B#1 = Add<real2>(_t4379,_t2477);
          real2 x437D#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos437B);
          bool _t437F#1 = Inside<IMAGE2D<float>,2>(x437D,_t23D4);
          if _t437F then goto ASSIGN4383 else goto ASSIGN46EE
        ASSIGN4383:  preds = [COND4381]
          real2 x4382#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v182404);
          bool _t4384#1 = Inside<IMAGE2D<int>,2>(x4382,_t23D0);
          goto JOIN4388
        JOIN4388:  preds = [ASSIGN4385,ASSIGN46EE]
          bool _t4386#1 = phi(_t4384,_t4387)
          if _t4386 then goto ASSIGN438B else goto JOIN452D
        ASSIGN438B:  preds = [COND4389]
          real2 nd438A#2 = Floor<2>(x437D);
          real2 f438C#2 = Sub<real2>(x437D,nd438A);
          int{2} n438E#2 = RealToInt<2>(nd438A);
          int t14390#4 = -1;
          int t24392#1 = Index<int{2},0>(n438E);
          int ix4394#4 = Add<int>(t14390,t24392);
          int t24396#4 = Index<int{2},1>(n438E);
          int iy4398#1 = Add<int>(t14390,t24396);
          int n0439B#8 = 21;
          int t439C#1 = Mul<int>(n0439B,iy4398);
          int index439D#1 = Add<int>(ix4394,t439C);
          addr(IMAGE2D<float>) imgBaseAddr439E#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a439A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index439D);
          real4 v043A4#1 = LoadVoxels<IMAGE2D<float>,4>(a439A);
          int iy43A6#1 = Add<int>(_t246F,t24396);
          int t43AA#1 = Mul<int>(n0439B,iy43A6);
          int index43AB#1 = Add<int>(ix4394,t43AA);
          addr(IMAGE2D<float>) a43A8#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index43AB);
          real4 v143B2#1 = LoadVoxels<IMAGE2D<float>,4>(a43A8);
          int iy43B4#1 = Add<int>(_t2473,t24396);
          int t43B8#1 = Mul<int>(n0439B,iy43B4);
          int index43B9#1 = Add<int>(ix4394,t43B8);
          addr(IMAGE2D<float>) a43B6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index43B9);
          real4 v243C0#1 = LoadVoxels<IMAGE2D<float>,4>(a43B6);
          int iy43C2#1 = Add<int>(_t244B,t24396);
          int t43C6#1 = Mul<int>(n0439B,iy43C2);
          int index43C7#1 = Add<int>(ix4394,t43C6);
          addr(IMAGE2D<float>) a43C4#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index43C7);
          real4 v343CE#1 = LoadVoxels<IMAGE2D<float>,4>(a43C4);
          real fy43D0#4 = Index<real2,1>(f438C);
          real t343D2#1 = Add<real>(fy43D0,_t2447);
          real t143D4#1 = Sub<real>(fy43D0,_t2447);
          real t043D6#1 = Sub<real>(fy43D0,_t2449);
          real4 a43D8#3 = <real4>[t343D2,fy43D0,t143D4,t043D6];
          real _f43EB#2 = 0.133333333333e1;
          real _f43EC#2 = 0.666666666667e0;
          real4 a043DB#4 = <real4>[_f43EB,_f43EC,_f43EC,_f43EB];
          real _f43E7#1 = -0.2e1;
          real _f43E8#2 = 0.0;
          real4 a143DC#4 = <real4>[_f43E7,_f43E8,_f43E8,_t2449];
          real _f43E4#2 = -0.1e1;
          real4 a243DD#4 = <real4>[_t2447,_f43E4,_f43E4,_t2447];
          real _f43DF#1 = -0.166666666667e0;
          real _f43E0#1 = 0.5e0;
          real _f43E1#1 = -0.5e0;
          real _f43E2#1 = 0.166666666667e0;
          real4 a343DE#4 = <real4>[_f43DF,_f43E0,_f43E1,_f43E2];
          real4 prod343EF#1 = Mul<real4>(a43D8,a343DE);
          real4 sum243F0#1 = Add<real4>(a243DD,prod343EF);
          real4 prod243F1#1 = Mul<real4>(a43D8,sum243F0);
          real4 sum143F2#1 = Add<real4>(a143DC,prod243F1);
          real4 prod143F3#1 = Mul<real4>(a43D8,sum143F2);
          real4 hy43DA#1 = Add<real4>(a043DB,prod143F3);
          real fx440E#4 = Index<real2,0>(f438C);
          real t34410#1 = Add<real>(fx440E,_t2447);
          real t14412#1 = Sub<real>(fx440E,_t2447);
          real t04414#1 = Sub<real>(fx440E,_t2449);
          real4 a4416#3 = <real4>[t34410,fx440E,t14412,t04414];
          real4 prod3442D#1 = Mul<real4>(a4416,a343DE);
          real4 sum2442E#1 = Add<real4>(a243DD,prod3442D);
          real4 prod2442F#1 = Mul<real4>(a4416,sum2442E);
          real4 sum14430#1 = Add<real4>(a143DC,prod2442F);
          real4 prod14431#1 = Mul<real4>(a4416,sum14430);
          real4 hx4418#4 = Add<real4>(a043DB,prod14431);
          real t0444C#1 = Dot<4>(v043A4,hx4418);
          real t1444E#1 = Dot<4>(v143B2,hx4418);
          real t24450#1 = Dot<4>(v243C0,hx4418);
          real t34452#1 = Dot<4>(v343CE,hx4418);
          real4 tv4454#1 = <real4>[t0444C,t1444E,t24450,t34452];
          real _t4456#1 = Dot<4>(hy43DA,tv4454);
          real2 x4458#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v182404);
          real2 nd445A#2 = Floor<2>(x4458);
          real2 f445C#2 = Sub<real2>(x4458,nd445A);
          int{2} n445E#2 = RealToInt<2>(nd445A);
          int t24460#1 = Index<int{2},0>(n445E);
          int ix4462#4 = Add<int>(t14390,t24460);
          int t24464#4 = Index<int{2},1>(n445E);
          int iy4466#1 = Add<int>(t14390,t24464);
          int t446A#1 = Mul<int>(n0439B,iy4466);
          int index446B#1 = Add<int>(ix4462,t446A);
          addr(IMAGE2D<int>) imgBaseAddr446C#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a4468#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr446C,index446B);
          real4 v04472#1 = LoadVoxels<IMAGE2D<int>,4>(a4468);
          int iy4474#1 = Add<int>(_t246F,t24464);
          int t4478#1 = Mul<int>(n0439B,iy4474);
          int index4479#1 = Add<int>(ix4462,t4478);
          addr(IMAGE2D<int>) a4476#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr446C,index4479);
          real4 v14480#1 = LoadVoxels<IMAGE2D<int>,4>(a4476);
          int iy4482#1 = Add<int>(_t2473,t24464);
          int t4486#1 = Mul<int>(n0439B,iy4482);
          int index4487#1 = Add<int>(ix4462,t4486);
          addr(IMAGE2D<int>) a4484#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr446C,index4487);
          real4 v2448E#1 = LoadVoxels<IMAGE2D<int>,4>(a4484);
          int iy4490#1 = Add<int>(_t244B,t24464);
          int t4494#1 = Mul<int>(n0439B,iy4490);
          int index4495#1 = Add<int>(ix4462,t4494);
          addr(IMAGE2D<int>) a4492#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr446C,index4495);
          real4 v3449C#1 = LoadVoxels<IMAGE2D<int>,4>(a4492);
          real fy449E#4 = Index<real2,1>(f445C);
          real t344A0#1 = Add<real>(fy449E,_t2447);
          real t144A2#1 = Sub<real>(fy449E,_t2447);
          real t044A4#1 = Sub<real>(fy449E,_t2449);
          real4 a44A6#3 = <real4>[t344A0,fy449E,t144A2,t044A4];
          real4 prod344BD#1 = Mul<real4>(a44A6,a343DE);
          real4 sum244BE#1 = Add<real4>(a243DD,prod344BD);
          real4 prod244BF#1 = Mul<real4>(a44A6,sum244BE);
          real4 sum144C0#1 = Add<real4>(a143DC,prod244BF);
          real4 prod144C1#1 = Mul<real4>(a44A6,sum144C0);
          real4 hy44A8#1 = Add<real4>(a043DB,prod144C1);
          real fx44DC#4 = Index<real2,0>(f445C);
          real t344DE#1 = Add<real>(fx44DC,_t2447);
          real t144E0#1 = Sub<real>(fx44DC,_t2447);
          real t044E2#1 = Sub<real>(fx44DC,_t2449);
          real4 a44E4#3 = <real4>[t344DE,fx44DC,t144E0,t044E2];
          real4 prod344FB#1 = Mul<real4>(a44E4,a343DE);
          real4 sum244FC#1 = Add<real4>(a243DD,prod344FB);
          real4 prod244FD#1 = Mul<real4>(a44E4,sum244FC);
          real4 sum144FE#1 = Add<real4>(a143DC,prod244FD);
          real4 prod144FF#1 = Mul<real4>(a44E4,sum144FE);
          real4 hx44E6#4 = Add<real4>(a043DB,prod144FF);
          real t0451A#1 = Dot<4>(v04472,hx44E6);
          real t1451C#1 = Dot<4>(v14480,hx44E6);
          real t2451E#1 = Dot<4>(v2448E,hx44E6);
          real t34520#1 = Dot<4>(v3449C,hx44E6);
          real4 tv4522#1 = <real4>[t0451A,t1451C,t2451E,t34520];
          real _t4524#1 = Dot<4>(hy44A8,tv4522);
          real _t4526#2 = Sub<real>(_t4456,_t4524);
          real _t4528#1 = Mul<real>(_t4526,_t4526);
          real score452A#1 = Add<real>(score4373,_t4528);
          goto JOIN452D
        JOIN452D:  preds = [ASSIGN452B,COND4389]
          real score452C#2 = phi(score452A,score4373)
          real _t452E#1 = Dot<2>(r02461,v192406);
          real _t4530#1 = Dot<2>(r12467,v192406);
          real2 _t4532#1 = <real2>[_t452E,_t4530];
          real2 pos4534#2 = Add<real2>(_t4532,_t2477);
          real2 x4536#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos4534);
          bool _t4538#1 = Inside<IMAGE2D<float>,2>(x4536,_t23D4);
          if _t4538 then goto ASSIGN453C else goto ASSIGN46ED
        ASSIGN453C:  preds = [COND453A]
          real2 x453B#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v192406);
          bool _t453D#1 = Inside<IMAGE2D<int>,2>(x453B,_t23D0);
          goto JOIN4541
        JOIN4541:  preds = [ASSIGN453E,ASSIGN46ED]
          bool _t453F#1 = phi(_t453D,_t4540)
          if _t453F then goto ASSIGN4544 else goto JOIN46E6
        ASSIGN4544:  preds = [COND4542]
          real2 nd4543#2 = Floor<2>(x4536);
          real2 f4545#2 = Sub<real2>(x4536,nd4543);
          int{2} n4547#2 = RealToInt<2>(nd4543);
          int t14549#4 = -1;
          int t2454B#1 = Index<int{2},0>(n4547);
          int ix454D#4 = Add<int>(t14549,t2454B);
          int t2454F#4 = Index<int{2},1>(n4547);
          int iy4551#1 = Add<int>(t14549,t2454F);
          int n04554#8 = 21;
          int t4555#1 = Mul<int>(n04554,iy4551);
          int index4556#1 = Add<int>(ix454D,t4555);
          addr(IMAGE2D<float>) imgBaseAddr4557#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a4553#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4557,index4556);
          real4 v0455D#1 = LoadVoxels<IMAGE2D<float>,4>(a4553);
          int iy455F#1 = Add<int>(_t246F,t2454F);
          int t4563#1 = Mul<int>(n04554,iy455F);
          int index4564#1 = Add<int>(ix454D,t4563);
          addr(IMAGE2D<float>) a4561#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4557,index4564);
          real4 v1456B#1 = LoadVoxels<IMAGE2D<float>,4>(a4561);
          int iy456D#1 = Add<int>(_t2473,t2454F);
          int t4571#1 = Mul<int>(n04554,iy456D);
          int index4572#1 = Add<int>(ix454D,t4571);
          addr(IMAGE2D<float>) a456F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4557,index4572);
          real4 v24579#1 = LoadVoxels<IMAGE2D<float>,4>(a456F);
          int iy457B#1 = Add<int>(_t244B,t2454F);
          int t457F#1 = Mul<int>(n04554,iy457B);
          int index4580#1 = Add<int>(ix454D,t457F);
          addr(IMAGE2D<float>) a457D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr4557,index4580);
          real4 v34587#1 = LoadVoxels<IMAGE2D<float>,4>(a457D);
          real fy4589#4 = Index<real2,1>(f4545);
          real t3458B#1 = Add<real>(fy4589,_t2447);
          real t1458D#1 = Sub<real>(fy4589,_t2447);
          real t0458F#1 = Sub<real>(fy4589,_t2449);
          real4 a4591#3 = <real4>[t3458B,fy4589,t1458D,t0458F];
          real _f45A4#2 = 0.133333333333e1;
          real _f45A5#2 = 0.666666666667e0;
          real4 a04594#4 = <real4>[_f45A4,_f45A5,_f45A5,_f45A4];
          real _f45A0#1 = -0.2e1;
          real _f45A1#2 = 0.0;
          real4 a14595#4 = <real4>[_f45A0,_f45A1,_f45A1,_t2449];
          real _f459D#2 = -0.1e1;
          real4 a24596#4 = <real4>[_t2447,_f459D,_f459D,_t2447];
          real _f4598#1 = -0.166666666667e0;
          real _f4599#1 = 0.5e0;
          real _f459A#1 = -0.5e0;
          real _f459B#1 = 0.166666666667e0;
          real4 a34597#4 = <real4>[_f4598,_f4599,_f459A,_f459B];
          real4 prod345A8#1 = Mul<real4>(a4591,a34597);
          real4 sum245A9#1 = Add<real4>(a24596,prod345A8);
          real4 prod245AA#1 = Mul<real4>(a4591,sum245A9);
          real4 sum145AB#1 = Add<real4>(a14595,prod245AA);
          real4 prod145AC#1 = Mul<real4>(a4591,sum145AB);
          real4 hy4593#1 = Add<real4>(a04594,prod145AC);
          real fx45C7#4 = Index<real2,0>(f4545);
          real t345C9#1 = Add<real>(fx45C7,_t2447);
          real t145CB#1 = Sub<real>(fx45C7,_t2447);
          real t045CD#1 = Sub<real>(fx45C7,_t2449);
          real4 a45CF#3 = <real4>[t345C9,fx45C7,t145CB,t045CD];
          real4 prod345E6#1 = Mul<real4>(a45CF,a34597);
          real4 sum245E7#1 = Add<real4>(a24596,prod345E6);
          real4 prod245E8#1 = Mul<real4>(a45CF,sum245E7);
          real4 sum145E9#1 = Add<real4>(a14595,prod245E8);
          real4 prod145EA#1 = Mul<real4>(a45CF,sum145E9);
          real4 hx45D1#4 = Add<real4>(a04594,prod145EA);
          real t04605#1 = Dot<4>(v0455D,hx45D1);
          real t14607#1 = Dot<4>(v1456B,hx45D1);
          real t24609#1 = Dot<4>(v24579,hx45D1);
          real t3460B#1 = Dot<4>(v34587,hx45D1);
          real4 tv460D#1 = <real4>[t04605,t14607,t24609,t3460B];
          real _t460F#1 = Dot<4>(hy4593,tv460D);
          real2 x4611#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v192406);
          real2 nd4613#2 = Floor<2>(x4611);
          real2 f4615#2 = Sub<real2>(x4611,nd4613);
          int{2} n4617#2 = RealToInt<2>(nd4613);
          int t24619#1 = Index<int{2},0>(n4617);
          int ix461B#4 = Add<int>(t14549,t24619);
          int t2461D#4 = Index<int{2},1>(n4617);
          int iy461F#1 = Add<int>(t14549,t2461D);
          int t4623#1 = Mul<int>(n04554,iy461F);
          int index4624#1 = Add<int>(ix461B,t4623);
          addr(IMAGE2D<int>) imgBaseAddr4625#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a4621#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4625,index4624);
          real4 v0462B#1 = LoadVoxels<IMAGE2D<int>,4>(a4621);
          int iy462D#1 = Add<int>(_t246F,t2461D);
          int t4631#1 = Mul<int>(n04554,iy462D);
          int index4632#1 = Add<int>(ix461B,t4631);
          addr(IMAGE2D<int>) a462F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4625,index4632);
          real4 v14639#1 = LoadVoxels<IMAGE2D<int>,4>(a462F);
          int iy463B#1 = Add<int>(_t2473,t2461D);
          int t463F#1 = Mul<int>(n04554,iy463B);
          int index4640#1 = Add<int>(ix461B,t463F);
          addr(IMAGE2D<int>) a463D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4625,index4640);
          real4 v24647#1 = LoadVoxels<IMAGE2D<int>,4>(a463D);
          int iy4649#1 = Add<int>(_t244B,t2461D);
          int t464D#1 = Mul<int>(n04554,iy4649);
          int index464E#1 = Add<int>(ix461B,t464D);
          addr(IMAGE2D<int>) a464B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr4625,index464E);
          real4 v34655#1 = LoadVoxels<IMAGE2D<int>,4>(a464B);
          real fy4657#4 = Index<real2,1>(f4615);
          real t34659#1 = Add<real>(fy4657,_t2447);
          real t1465B#1 = Sub<real>(fy4657,_t2447);
          real t0465D#1 = Sub<real>(fy4657,_t2449);
          real4 a465F#3 = <real4>[t34659,fy4657,t1465B,t0465D];
          real4 prod34676#1 = Mul<real4>(a465F,a34597);
          real4 sum24677#1 = Add<real4>(a24596,prod34676);
          real4 prod24678#1 = Mul<real4>(a465F,sum24677);
          real4 sum14679#1 = Add<real4>(a14595,prod24678);
          real4 prod1467A#1 = Mul<real4>(a465F,sum14679);
          real4 hy4661#1 = Add<real4>(a04594,prod1467A);
          real fx4695#4 = Index<real2,0>(f4615);
          real t34697#1 = Add<real>(fx4695,_t2447);
          real t14699#1 = Sub<real>(fx4695,_t2447);
          real t0469B#1 = Sub<real>(fx4695,_t2449);
          real4 a469D#3 = <real4>[t34697,fx4695,t14699,t0469B];
          real4 prod346B4#1 = Mul<real4>(a469D,a34597);
          real4 sum246B5#1 = Add<real4>(a24596,prod346B4);
          real4 prod246B6#1 = Mul<real4>(a469D,sum246B5);
          real4 sum146B7#1 = Add<real4>(a14595,prod246B6);
          real4 prod146B8#1 = Mul<real4>(a469D,sum146B7);
          real4 hx469F#4 = Add<real4>(a04594,prod146B8);
          real t046D3#1 = Dot<4>(v0462B,hx469F);
          real t146D5#1 = Dot<4>(v14639,hx469F);
          real t246D7#1 = Dot<4>(v24647,hx469F);
          real t346D9#1 = Dot<4>(v34655,hx469F);
          real4 tv46DB#1 = <real4>[t046D3,t146D5,t246D7,t346D9];
          real _t46DD#1 = Dot<4>(hy4661,tv46DB);
          real _t46DF#2 = Sub<real>(_t460F,_t46DD);
          real _t46E1#1 = Mul<real>(_t46DF,_t46DF);
          real score46E3#1 = Add<real>(score452C,_t46E1);
          goto JOIN46E6
        JOIN46E6:  preds = [ASSIGN46E4,COND4542]
          real score46E5#1 = phi(score46E3,score452C)
          self.t = t2443;
          self.score = score46E5;
          self.r0 = r02461;
          self.r1 = r12467;
          self.pos = pos4534;
          stabilize ()
        ASSIGN46ED:  preds = [COND453A]
          bool _t4540#1 = false;
          goto JOIN4541
        ASSIGN46EE:  preds = [COND4381]
          bool _t4387#1 = false;
          goto JOIN4388
        ASSIGN46EF:  preds = [COND41C8]
          bool _t41CE#1 = false;
          goto JOIN41CF
        ASSIGN46F0:  preds = [COND400F]
          bool _t4015#1 = false;
          goto JOIN4016
        ASSIGN46F1:  preds = [COND3E56]
          bool _t3E5C#1 = false;
          goto JOIN3E5D
        ASSIGN46F2:  preds = [COND3C9D]
          bool _t3CA3#1 = false;
          goto JOIN3CA4
        ASSIGN46F3:  preds = [COND3AE4]
          bool _t3AEA#1 = false;
          goto JOIN3AEB
        ASSIGN46F4:  preds = [COND392B]
          bool _t3931#1 = false;
          goto JOIN3932
        ASSIGN46F5:  preds = [COND3772]
          bool _t3778#1 = false;
          goto JOIN3779
        ASSIGN46F6:  preds = [COND35B9]
          bool _t35BF#1 = false;
          goto JOIN35C0
        ASSIGN46F7:  preds = [COND3400]
          bool _t3406#1 = false;
          goto JOIN3407
        ASSIGN46F8:  preds = [COND3247]
          bool _t324D#1 = false;
          goto JOIN324E
        ASSIGN46F9:  preds = [COND308E]
          bool _t3094#1 = false;
          goto JOIN3095
        ASSIGN46FA:  preds = [COND2ED5]
          bool _t2EDB#1 = false;
          goto JOIN2EDC
        ASSIGN46FB:  preds = [COND2D1C]
          bool _t2D22#1 = false;
          goto JOIN2D23
        ASSIGN46FC:  preds = [COND2B63]
          bool _t2B69#1 = false;
          goto JOIN2B6A
        ASSIGN46FD:  preds = [COND29AA]
          bool _t29B0#1 = false;
          goto JOIN29B1
        ASSIGN46FE:  preds = [COND27F1]
          bool _t27F7#1 = false;
          goto JOIN27F8
        ASSIGN46FF:  preds = [COND2638]
          bool _t263E#1 = false;
          goto JOIN263F
        ASSIGN4700:  preds = [COND247F]
          bool _t2485#1 = false;
          goto JOIN2486
    end Update
    method Stabilize
        ENTRY4702:  preds = []
          real3 t4703#1 = self.t;
          real score4705#1 = self.score;
          real2 r04707#1 = self.r0;
          real2 r14709#1 = self.r1;
          real2 pos470B#1 = self.pos;
          self.t = t4703;
          self.score = score4705;
          self.r0 = r04707;
          self.r1 = r14709;
          self.pos = pos470B;
          return ()
    end Stabilize
  end R
#### end program ####
##### LowIL after variable analysis ####
## properties
  none
## globals
  global real2 v0023D8#4
  global real2 v0123DC#4
  global real2 v0223E0#4
  global real2 v0323E4#4
  global real2 v0423E8#4
  global real2 v0523EA#4
  global real2 v0623EC#4
  global real2 v0723EE#4
  global real2 v0823F0#4
  global real2 v0923F2#4
  global real2 v1023F4#4
  global real2 v1123F6#4
  global real2 v1223F8#4
  global real2 v1323FA#4
  global real2 v1423FC#4
  global real2 v1523FE#4
  global real2 v162400#4
  global real2 v172402#4
  global real2 v182404#4
  global real2 v192406#4
  global image(IMAGE2D<int>) _t23D0#140
  global image(IMAGE2D<float>) _t23D4#120
## global initialization
  ENTRY23CD:  preds = []
    string _t23CE#1 = "square-template.nrrd";
    image(IMAGE2D<int>) _t23D0#140 = LoadImage<IMAGE2D<int>>(_t23CE);
    string _t23D2#1 = "square-rotate.nrrd";
    image(IMAGE2D<float>) _t23D4#120 = LoadImage<IMAGE2D<float>>(_t23D2);
    real _t23D6#9 = 0.0;
    real2 v0023D8#4 = <real2>[_t23D6,_t23D6];
    real _t23DA#10 = 0.25e0;
    real2 v0123DC#4 = <real2>[_t23D6,_t23DA];
    real _t23DE#10 = 0.5e0;
    real2 v0223E0#4 = <real2>[_t23D6,_t23DE];
    real _t23E2#9 = Neg<real>(_t23DA);
    real2 v0323E4#4 = <real2>[_t23D6,_t23E2];
    real _t23E6#4 = Neg<real>(_t23DE);
    real2 v0423E8#4 = <real2>[_t23D6,_t23E6];
    real2 v0523EA#4 = <real2>[_t23DA,_t23D6];
    real2 v0623EC#4 = <real2>[_t23DA,_t23DA];
    real2 v0723EE#4 = <real2>[_t23DA,_t23DE];
    real2 v0823F0#4 = <real2>[_t23DA,_t23E2];
    real2 v0923F2#4 = <real2>[_t23DA,_t23E6];
    real2 v1023F4#4 = <real2>[_t23DE,_t23D6];
    real2 v1123F6#4 = <real2>[_t23DE,_t23DA];
    real2 v1223F8#4 = <real2>[_t23DE,_t23DE];
    real2 v1323FA#4 = <real2>[_t23DE,_t23E2];
    real2 v1423FC#4 = <real2>[_t23DE,_t23E6];
    real2 v1523FE#4 = <real2>[_t23E2,_t23D6];
    real2 v162400#4 = <real2>[_t23E2,_t23DA];
    real2 v172402#4 = <real2>[_t23E2,_t23DE];
    real2 v182404#4 = <real2>[_t23E2,_t23E2];
    real2 v192406#4 = <real2>[_t23E2,_t23E6];
    return (v0023D8,v0123DC,v0223E0,v0323E4,v0423E8,v0523EA,v0623EC,v0723EE,v0823F0,v0923F2,v1023F4,v1123F6,v1223F8,v1323FA,v1423FC,v1523FE,v162400,v172402,v182404,v192406,_t23D0,_t23D4)
## initially
  ARRAY
    ENTRY2411:  preds = []
      int _t240D#4 = 0;
      int _t240E#4 = 60;
      live vars = (_t240E,_t240D)
    for int i240C#1 = _t240D .. _t240E
      for int j240F#1 = _t240D .. _t240E
        for int k2410#1 = _t240D .. _t240E
          ENTRY2415:  preds = []
            live vars = ()
          new R(i240C,j240F,k2410);
## strands
  strand R (int i2417#1, int j2418#1, int k2419#1)
    state: real3 self.t;output real self.score;real2 self.r0;real2 self.r1;real2 self.pos;
      ENTRY241F:  preds = []
        real _t2420#1 = IntToReal(i2417);
        real _t2422#3 = 0.60e2;
        real _t2424#1 = Div<real>(_t2420,_t2422);
        real _t2426#3 = 0.5e0;
        real _t2428#1 = Sub<real>(_t2424,_t2426);
        real _t242A#1 = IntToReal(j2418);
        real _t242C#1 = Div<real>(_t242A,_t2422);
        real _t242E#1 = Sub<real>(_t242C,_t2426);
        real _t2430#1 = IntToReal(k2419);
        real _t2432#1 = Div<real>(_t2430,_t2422);
        real _t2434#1 = Sub<real>(_t2432,_t2426);
        real3 t2436#1 = <real3>[_t2428,_t242E,_t2434];
        real score2438#3 = 0.0;
        real2 r0243A#3 = <real2>[score2438,score2438];
        self.t = t2436;
        self.score = score2438;
        self.r0 = r0243A;
        self.r1 = r0243A;
        self.pos = r0243A;
        strand_init ()
    method Update
        ENTRY2442:  preds = []
          real3 t2443#4 = self.t;
          real score2445#2 = self.score;
          real _t2447#202 = 0.1e1;
          real _t2449#103 = 0.2e1;
          int _t244B#41 = 2;
          real _t244D#6 = Subscript<real3>(t2443,_t244B);
          real _t244F#1 = Mul<real>(_t2449,_t244D);
          real _t2451#1 = Mul<real>(_t244F,_t244D);
          real _t2453#2 = Sub<real>(_t2447,_t2451);
          real _t2455#1 = Neg<real>(_t2449);
          real _t2457#1 = Mul<real>(_t244D,_t244D);
          real _t2459#1 = Sub<real>(_t2447,_t2457);
          real _t245B#2 = sqrt(_t2459);
          real _t245D#1 = Mul<real>(_t2455,_t245B);
          real _t245F#1 = Mul<real>(_t245D,_t244D);
          real2 r02461#21 = <real2>[_t2453,_t245F];
          real _t2463#1 = Mul<real>(_t2449,_t245B);
          real _t2465#1 = Mul<real>(_t2463,_t244D);
          real2 r12467#21 = <real2>[_t2465,_t2453];
          real _t2469#1 = Dot<2>(r02461,v0023D8);
          real _t246B#1 = Dot<2>(r12467,v0023D8);
          real2 _t246D#1 = <real2>[_t2469,_t246B];
          int _t246F#41 = 0;
          real _t2471#1 = Subscript<real3>(t2443,_t246F);
          int _t2473#41 = 1;
          real _t2475#1 = Subscript<real3>(t2443,_t2473);
          real2 _t2477#20 = <real2>[_t2471,_t2475];
          real2 pos2479#1 = Add<real2>(_t246D,_t2477);
          real2 x247B#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2479);
          bool _t247D#1 = Inside<IMAGE2D<float>,2>(x247B,_t23D4);
          if _t247D then goto ASSIGN2481 else goto ASSIGN4700
        ASSIGN2481:  preds = [COND247F]
          real2 x2480#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0023D8);
          bool _t2482#1 = Inside<IMAGE2D<int>,2>(x2480,_t23D0);
          goto JOIN2486
        JOIN2486:  preds = [ASSIGN2483,ASSIGN4700]
          bool _t2484#1 = phi(_t2482,_t2485)
          if _t2484 then goto ASSIGN2489 else goto JOIN262B
        ASSIGN2489:  preds = [COND2487]
          real2 nd2488#2 = Floor<2>(x247B);
          real2 f248A#2 = Sub<real2>(x247B,nd2488);
          int{2} n248C#2 = RealToInt<2>(nd2488);
          int t1248E#4 = -1;
          int t22490#1 = Index<int{2},0>(n248C);
          int ix2492#4 = Add<int>(t1248E,t22490);
          int t22494#4 = Index<int{2},1>(n248C);
          int iy2496#1 = Add<int>(t1248E,t22494);
          int n02499#8 = 21;
          int t249A#1 = Mul<int>(n02499,iy2496);
          int index249B#1 = Add<int>(ix2492,t249A);
          addr(IMAGE2D<float>) imgBaseAddr249C#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2498#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index249B);
          real4 v024A2#1 = LoadVoxels<IMAGE2D<float>,4>(a2498);
          int iy24A4#1 = Add<int>(_t246F,t22494);
          int t24A8#1 = Mul<int>(n02499,iy24A4);
          int index24A9#1 = Add<int>(ix2492,t24A8);
          addr(IMAGE2D<float>) a24A6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index24A9);
          real4 v124B0#1 = LoadVoxels<IMAGE2D<float>,4>(a24A6);
          int iy24B2#1 = Add<int>(_t2473,t22494);
          int t24B6#1 = Mul<int>(n02499,iy24B2);
          int index24B7#1 = Add<int>(ix2492,t24B6);
          addr(IMAGE2D<float>) a24B4#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index24B7);
          real4 v224BE#1 = LoadVoxels<IMAGE2D<float>,4>(a24B4);
          int iy24C0#1 = Add<int>(_t244B,t22494);
          int t24C4#1 = Mul<int>(n02499,iy24C0);
          int index24C5#1 = Add<int>(ix2492,t24C4);
          addr(IMAGE2D<float>) a24C2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr249C,index24C5);
          real4 v324CC#1 = LoadVoxels<IMAGE2D<float>,4>(a24C2);
          real fy24CE#4 = Index<real2,1>(f248A);
          real t324D0#1 = Add<real>(fy24CE,_t2447);
          real t124D2#1 = Sub<real>(fy24CE,_t2447);
          real t024D4#1 = Sub<real>(fy24CE,_t2449);
          real4 a24D6#3 = <real4>[t324D0,fy24CE,t124D2,t024D4];
          real _f24E9#2 = 0.133333333333e1;
          real _f24EA#2 = 0.666666666667e0;
          real4 a024D9#4 = <real4>[_f24E9,_f24EA,_f24EA,_f24E9];
          real _f24E5#1 = -0.2e1;
          real _f24E6#2 = 0.0;
          real4 a124DA#4 = <real4>[_f24E5,_f24E6,_f24E6,_t2449];
          real _f24E2#2 = -0.1e1;
          real4 a224DB#4 = <real4>[_t2447,_f24E2,_f24E2,_t2447];
          real _f24DD#1 = -0.166666666667e0;
          real _f24DE#1 = 0.5e0;
          real _f24DF#1 = -0.5e0;
          real _f24E0#1 = 0.166666666667e0;
          real4 a324DC#4 = <real4>[_f24DD,_f24DE,_f24DF,_f24E0];
          real4 prod324ED#1 = Mul<real4>(a24D6,a324DC);
          real4 sum224EE#1 = Add<real4>(a224DB,prod324ED);
          real4 prod224EF#1 = Mul<real4>(a24D6,sum224EE);
          real4 sum124F0#1 = Add<real4>(a124DA,prod224EF);
          real4 prod124F1#1 = Mul<real4>(a24D6,sum124F0);
          real4 hy24D8#1 = Add<real4>(a024D9,prod124F1);
          real fx250C#4 = Index<real2,0>(f248A);
          real t3250E#1 = Add<real>(fx250C,_t2447);
          real t12510#1 = Sub<real>(fx250C,_t2447);
          real t02512#1 = Sub<real>(fx250C,_t2449);
          real4 a2514#3 = <real4>[t3250E,fx250C,t12510,t02512];
          real4 prod3252B#1 = Mul<real4>(a2514,a324DC);
          real4 sum2252C#1 = Add<real4>(a224DB,prod3252B);
          real4 prod2252D#1 = Mul<real4>(a2514,sum2252C);
          real4 sum1252E#1 = Add<real4>(a124DA,prod2252D);
          real4 prod1252F#1 = Mul<real4>(a2514,sum1252E);
          real4 hx2516#4 = Add<real4>(a024D9,prod1252F);
          real t0254A#1 = Dot<4>(v024A2,hx2516);
          real t1254C#1 = Dot<4>(v124B0,hx2516);
          real t2254E#1 = Dot<4>(v224BE,hx2516);
          real t32550#1 = Dot<4>(v324CC,hx2516);
          real4 tv2552#1 = <real4>[t0254A,t1254C,t2254E,t32550];
          real _t2554#1 = Dot<4>(hy24D8,tv2552);
          real2 x2556#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0023D8);
          real2 nd2558#2 = Floor<2>(x2556);
          real2 f255A#2 = Sub<real2>(x2556,nd2558);
          int{2} n255C#2 = RealToInt<2>(nd2558);
          int t2255E#1 = Index<int{2},0>(n255C);
          int ix2560#4 = Add<int>(t1248E,t2255E);
          int t22562#4 = Index<int{2},1>(n255C);
          int iy2564#1 = Add<int>(t1248E,t22562);
          int t2568#1 = Mul<int>(n02499,iy2564);
          int index2569#1 = Add<int>(ix2560,t2568);
          addr(IMAGE2D<int>) imgBaseAddr256A#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2566#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2569);
          real4 v02570#1 = LoadVoxels<IMAGE2D<int>,4>(a2566);
          int iy2572#1 = Add<int>(_t246F,t22562);
          int t2576#1 = Mul<int>(n02499,iy2572);
          int index2577#1 = Add<int>(ix2560,t2576);
          addr(IMAGE2D<int>) a2574#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2577);
          real4 v1257E#1 = LoadVoxels<IMAGE2D<int>,4>(a2574);
          int iy2580#1 = Add<int>(_t2473,t22562);
          int t2584#1 = Mul<int>(n02499,iy2580);
          int index2585#1 = Add<int>(ix2560,t2584);
          addr(IMAGE2D<int>) a2582#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2585);
          real4 v2258C#1 = LoadVoxels<IMAGE2D<int>,4>(a2582);
          int iy258E#1 = Add<int>(_t244B,t22562);
          int t2592#1 = Mul<int>(n02499,iy258E);
          int index2593#1 = Add<int>(ix2560,t2592);
          addr(IMAGE2D<int>) a2590#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr256A,index2593);
          real4 v3259A#1 = LoadVoxels<IMAGE2D<int>,4>(a2590);
          real fy259C#4 = Index<real2,1>(f255A);
          real t3259E#1 = Add<real>(fy259C,_t2447);
          real t125A0#1 = Sub<real>(fy259C,_t2447);
          real t025A2#1 = Sub<real>(fy259C,_t2449);
          real4 a25A4#3 = <real4>[t3259E,fy259C,t125A0,t025A2];
          real4 prod325BB#1 = Mul<real4>(a25A4,a324DC);
          real4 sum225BC#1 = Add<real4>(a224DB,prod325BB);
          real4 prod225BD#1 = Mul<real4>(a25A4,sum225BC);
          real4 sum125BE#1 = Add<real4>(a124DA,prod225BD);
          real4 prod125BF#1 = Mul<real4>(a25A4,sum125BE);
          real4 hy25A6#1 = Add<real4>(a024D9,prod125BF);
          real fx25DA#4 = Index<real2,0>(f255A);
          real t325DC#1 = Add<real>(fx25DA,_t2447);
          real t125DE#1 = Sub<real>(fx25DA,_t2447);
          real t025E0#1 = Sub<real>(fx25DA,_t2449);
          real4 a25E2#3 = <real4>[t325DC,fx25DA,t125DE,t025E0];
          real4 prod325F9#1 = Mul<real4>(a25E2,a324DC);
          real4 sum225FA#1 = Add<real4>(a224DB,prod325F9);
          real4 prod225FB#1 = Mul<real4>(a25E2,sum225FA);
          real4 sum125FC#1 = Add<real4>(a124DA,prod225FB);
          real4 prod125FD#1 = Mul<real4>(a25E2,sum125FC);
          real4 hx25E4#4 = Add<real4>(a024D9,prod125FD);
          real t02618#1 = Dot<4>(v02570,hx25E4);
          real t1261A#1 = Dot<4>(v1257E,hx25E4);
          real t2261C#1 = Dot<4>(v2258C,hx25E4);
          real t3261E#1 = Dot<4>(v3259A,hx25E4);
          real4 tv2620#1 = <real4>[t02618,t1261A,t2261C,t3261E];
          real _t2622#1 = Dot<4>(hy25A6,tv2620);
          real _t2624#2 = Sub<real>(_t2554,_t2622);
          real _t2626#1 = Mul<real>(_t2624,_t2624);
          real score2628#1 = Add<real>(score2445,_t2626);
          goto JOIN262B
        JOIN262B:  preds = [ASSIGN2629,COND2487]
          real score262A#2 = phi(score2628,score2445)
          real _t262C#1 = Dot<2>(r02461,v0123DC);
          real _t262E#1 = Dot<2>(r12467,v0123DC);
          real2 _t2630#1 = <real2>[_t262C,_t262E];
          real2 pos2632#1 = Add<real2>(_t2630,_t2477);
          real2 x2634#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2632);
          bool _t2636#1 = Inside<IMAGE2D<float>,2>(x2634,_t23D4);
          if _t2636 then goto ASSIGN263A else goto ASSIGN46FF
        ASSIGN263A:  preds = [COND2638]
          real2 x2639#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0123DC);
          bool _t263B#1 = Inside<IMAGE2D<int>,2>(x2639,_t23D0);
          goto JOIN263F
        JOIN263F:  preds = [ASSIGN263C,ASSIGN46FF]
          bool _t263D#1 = phi(_t263B,_t263E)
          if _t263D then goto ASSIGN2642 else goto JOIN27E4
        ASSIGN2642:  preds = [COND2640]
          real2 nd2641#2 = Floor<2>(x2634);
          real2 f2643#2 = Sub<real2>(x2634,nd2641);
          int{2} n2645#2 = RealToInt<2>(nd2641);
          int t12647#4 = -1;
          int t22649#1 = Index<int{2},0>(n2645);
          int ix264B#4 = Add<int>(t12647,t22649);
          int t2264D#4 = Index<int{2},1>(n2645);
          int iy264F#1 = Add<int>(t12647,t2264D);
          int n02652#8 = 21;
          int t2653#1 = Mul<int>(n02652,iy264F);
          int index2654#1 = Add<int>(ix264B,t2653);
          addr(IMAGE2D<float>) imgBaseAddr2655#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2651#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index2654);
          real4 v0265B#1 = LoadVoxels<IMAGE2D<float>,4>(a2651);
          int iy265D#1 = Add<int>(_t246F,t2264D);
          int t2661#1 = Mul<int>(n02652,iy265D);
          int index2662#1 = Add<int>(ix264B,t2661);
          addr(IMAGE2D<float>) a265F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index2662);
          real4 v12669#1 = LoadVoxels<IMAGE2D<float>,4>(a265F);
          int iy266B#1 = Add<int>(_t2473,t2264D);
          int t266F#1 = Mul<int>(n02652,iy266B);
          int index2670#1 = Add<int>(ix264B,t266F);
          addr(IMAGE2D<float>) a266D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index2670);
          real4 v22677#1 = LoadVoxels<IMAGE2D<float>,4>(a266D);
          int iy2679#1 = Add<int>(_t244B,t2264D);
          int t267D#1 = Mul<int>(n02652,iy2679);
          int index267E#1 = Add<int>(ix264B,t267D);
          addr(IMAGE2D<float>) a267B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2655,index267E);
          real4 v32685#1 = LoadVoxels<IMAGE2D<float>,4>(a267B);
          real fy2687#4 = Index<real2,1>(f2643);
          real t32689#1 = Add<real>(fy2687,_t2447);
          real t1268B#1 = Sub<real>(fy2687,_t2447);
          real t0268D#1 = Sub<real>(fy2687,_t2449);
          real4 a268F#3 = <real4>[t32689,fy2687,t1268B,t0268D];
          real _f26A2#2 = 0.133333333333e1;
          real _f26A3#2 = 0.666666666667e0;
          real4 a02692#4 = <real4>[_f26A2,_f26A3,_f26A3,_f26A2];
          real _f269E#1 = -0.2e1;
          real _f269F#2 = 0.0;
          real4 a12693#4 = <real4>[_f269E,_f269F,_f269F,_t2449];
          real _f269B#2 = -0.1e1;
          real4 a22694#4 = <real4>[_t2447,_f269B,_f269B,_t2447];
          real _f2696#1 = -0.166666666667e0;
          real _f2697#1 = 0.5e0;
          real _f2698#1 = -0.5e0;
          real _f2699#1 = 0.166666666667e0;
          real4 a32695#4 = <real4>[_f2696,_f2697,_f2698,_f2699];
          real4 prod326A6#1 = Mul<real4>(a268F,a32695);
          real4 sum226A7#1 = Add<real4>(a22694,prod326A6);
          real4 prod226A8#1 = Mul<real4>(a268F,sum226A7);
          real4 sum126A9#1 = Add<real4>(a12693,prod226A8);
          real4 prod126AA#1 = Mul<real4>(a268F,sum126A9);
          real4 hy2691#1 = Add<real4>(a02692,prod126AA);
          real fx26C5#4 = Index<real2,0>(f2643);
          real t326C7#1 = Add<real>(fx26C5,_t2447);
          real t126C9#1 = Sub<real>(fx26C5,_t2447);
          real t026CB#1 = Sub<real>(fx26C5,_t2449);
          real4 a26CD#3 = <real4>[t326C7,fx26C5,t126C9,t026CB];
          real4 prod326E4#1 = Mul<real4>(a26CD,a32695);
          real4 sum226E5#1 = Add<real4>(a22694,prod326E4);
          real4 prod226E6#1 = Mul<real4>(a26CD,sum226E5);
          real4 sum126E7#1 = Add<real4>(a12693,prod226E6);
          real4 prod126E8#1 = Mul<real4>(a26CD,sum126E7);
          real4 hx26CF#4 = Add<real4>(a02692,prod126E8);
          real t02703#1 = Dot<4>(v0265B,hx26CF);
          real t12705#1 = Dot<4>(v12669,hx26CF);
          real t22707#1 = Dot<4>(v22677,hx26CF);
          real t32709#1 = Dot<4>(v32685,hx26CF);
          real4 tv270B#1 = <real4>[t02703,t12705,t22707,t32709];
          real _t270D#1 = Dot<4>(hy2691,tv270B);
          real2 x270F#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0123DC);
          real2 nd2711#2 = Floor<2>(x270F);
          real2 f2713#2 = Sub<real2>(x270F,nd2711);
          int{2} n2715#2 = RealToInt<2>(nd2711);
          int t22717#1 = Index<int{2},0>(n2715);
          int ix2719#4 = Add<int>(t12647,t22717);
          int t2271B#4 = Index<int{2},1>(n2715);
          int iy271D#1 = Add<int>(t12647,t2271B);
          int t2721#1 = Mul<int>(n02652,iy271D);
          int index2722#1 = Add<int>(ix2719,t2721);
          addr(IMAGE2D<int>) imgBaseAddr2723#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a271F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index2722);
          real4 v02729#1 = LoadVoxels<IMAGE2D<int>,4>(a271F);
          int iy272B#1 = Add<int>(_t246F,t2271B);
          int t272F#1 = Mul<int>(n02652,iy272B);
          int index2730#1 = Add<int>(ix2719,t272F);
          addr(IMAGE2D<int>) a272D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index2730);
          real4 v12737#1 = LoadVoxels<IMAGE2D<int>,4>(a272D);
          int iy2739#1 = Add<int>(_t2473,t2271B);
          int t273D#1 = Mul<int>(n02652,iy2739);
          int index273E#1 = Add<int>(ix2719,t273D);
          addr(IMAGE2D<int>) a273B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index273E);
          real4 v22745#1 = LoadVoxels<IMAGE2D<int>,4>(a273B);
          int iy2747#1 = Add<int>(_t244B,t2271B);
          int t274B#1 = Mul<int>(n02652,iy2747);
          int index274C#1 = Add<int>(ix2719,t274B);
          addr(IMAGE2D<int>) a2749#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2723,index274C);
          real4 v32753#1 = LoadVoxels<IMAGE2D<int>,4>(a2749);
          real fy2755#4 = Index<real2,1>(f2713);
          real t32757#1 = Add<real>(fy2755,_t2447);
          real t12759#1 = Sub<real>(fy2755,_t2447);
          real t0275B#1 = Sub<real>(fy2755,_t2449);
          real4 a275D#3 = <real4>[t32757,fy2755,t12759,t0275B];
          real4 prod32774#1 = Mul<real4>(a275D,a32695);
          real4 sum22775#1 = Add<real4>(a22694,prod32774);
          real4 prod22776#1 = Mul<real4>(a275D,sum22775);
          real4 sum12777#1 = Add<real4>(a12693,prod22776);
          real4 prod12778#1 = Mul<real4>(a275D,sum12777);
          real4 hy275F#1 = Add<real4>(a02692,prod12778);
          real fx2793#4 = Index<real2,0>(f2713);
          real t32795#1 = Add<real>(fx2793,_t2447);
          real t12797#1 = Sub<real>(fx2793,_t2447);
          real t02799#1 = Sub<real>(fx2793,_t2449);
          real4 a279B#3 = <real4>[t32795,fx2793,t12797,t02799];
          real4 prod327B2#1 = Mul<real4>(a279B,a32695);
          real4 sum227B3#1 = Add<real4>(a22694,prod327B2);
          real4 prod227B4#1 = Mul<real4>(a279B,sum227B3);
          real4 sum127B5#1 = Add<real4>(a12693,prod227B4);
          real4 prod127B6#1 = Mul<real4>(a279B,sum127B5);
          real4 hx279D#4 = Add<real4>(a02692,prod127B6);
          real t027D1#1 = Dot<4>(v02729,hx279D);
          real t127D3#1 = Dot<4>(v12737,hx279D);
          real t227D5#1 = Dot<4>(v22745,hx279D);
          real t327D7#1 = Dot<4>(v32753,hx279D);
          real4 tv27D9#1 = <real4>[t027D1,t127D3,t227D5,t327D7];
          real _t27DB#1 = Dot<4>(hy275F,tv27D9);
          real _t27DD#2 = Sub<real>(_t270D,_t27DB);
          real _t27DF#1 = Mul<real>(_t27DD,_t27DD);
          real score27E1#1 = Add<real>(score262A,_t27DF);
          goto JOIN27E4
        JOIN27E4:  preds = [ASSIGN27E2,COND2640]
          real score27E3#2 = phi(score27E1,score262A)
          real _t27E5#1 = Dot<2>(r02461,v0223E0);
          real _t27E7#1 = Dot<2>(r12467,v0223E0);
          real2 _t27E9#1 = <real2>[_t27E5,_t27E7];
          real2 pos27EB#1 = Add<real2>(_t27E9,_t2477);
          real2 x27ED#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos27EB);
          bool _t27EF#1 = Inside<IMAGE2D<float>,2>(x27ED,_t23D4);
          if _t27EF then goto ASSIGN27F3 else goto ASSIGN46FE
        ASSIGN27F3:  preds = [COND27F1]
          real2 x27F2#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0223E0);
          bool _t27F4#1 = Inside<IMAGE2D<int>,2>(x27F2,_t23D0);
          goto JOIN27F8
        JOIN27F8:  preds = [ASSIGN27F5,ASSIGN46FE]
          bool _t27F6#1 = phi(_t27F4,_t27F7)
          if _t27F6 then goto ASSIGN27FB else goto JOIN299D
        ASSIGN27FB:  preds = [COND27F9]
          real2 nd27FA#2 = Floor<2>(x27ED);
          real2 f27FC#2 = Sub<real2>(x27ED,nd27FA);
          int{2} n27FE#2 = RealToInt<2>(nd27FA);
          int t12800#4 = -1;
          int t22802#1 = Index<int{2},0>(n27FE);
          int ix2804#4 = Add<int>(t12800,t22802);
          int t22806#4 = Index<int{2},1>(n27FE);
          int iy2808#1 = Add<int>(t12800,t22806);
          int n0280B#8 = 21;
          int t280C#1 = Mul<int>(n0280B,iy2808);
          int index280D#1 = Add<int>(ix2804,t280C);
          addr(IMAGE2D<float>) imgBaseAddr280E#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a280A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index280D);
          real4 v02814#1 = LoadVoxels<IMAGE2D<float>,4>(a280A);
          int iy2816#1 = Add<int>(_t246F,t22806);
          int t281A#1 = Mul<int>(n0280B,iy2816);
          int index281B#1 = Add<int>(ix2804,t281A);
          addr(IMAGE2D<float>) a2818#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index281B);
          real4 v12822#1 = LoadVoxels<IMAGE2D<float>,4>(a2818);
          int iy2824#1 = Add<int>(_t2473,t22806);
          int t2828#1 = Mul<int>(n0280B,iy2824);
          int index2829#1 = Add<int>(ix2804,t2828);
          addr(IMAGE2D<float>) a2826#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index2829);
          real4 v22830#1 = LoadVoxels<IMAGE2D<float>,4>(a2826);
          int iy2832#1 = Add<int>(_t244B,t22806);
          int t2836#1 = Mul<int>(n0280B,iy2832);
          int index2837#1 = Add<int>(ix2804,t2836);
          addr(IMAGE2D<float>) a2834#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr280E,index2837);
          real4 v3283E#1 = LoadVoxels<IMAGE2D<float>,4>(a2834);
          real fy2840#4 = Index<real2,1>(f27FC);
          real t32842#1 = Add<real>(fy2840,_t2447);
          real t12844#1 = Sub<real>(fy2840,_t2447);
          real t02846#1 = Sub<real>(fy2840,_t2449);
          real4 a2848#3 = <real4>[t32842,fy2840,t12844,t02846];
          real _f285B#2 = 0.133333333333e1;
          real _f285C#2 = 0.666666666667e0;
          real4 a0284B#4 = <real4>[_f285B,_f285C,_f285C,_f285B];
          real _f2857#1 = -0.2e1;
          real _f2858#2 = 0.0;
          real4 a1284C#4 = <real4>[_f2857,_f2858,_f2858,_t2449];
          real _f2854#2 = -0.1e1;
          real4 a2284D#4 = <real4>[_t2447,_f2854,_f2854,_t2447];
          real _f284F#1 = -0.166666666667e0;
          real _f2850#1 = 0.5e0;
          real _f2851#1 = -0.5e0;
          real _f2852#1 = 0.166666666667e0;
          real4 a3284E#4 = <real4>[_f284F,_f2850,_f2851,_f2852];
          real4 prod3285F#1 = Mul<real4>(a2848,a3284E);
          real4 sum22860#1 = Add<real4>(a2284D,prod3285F);
          real4 prod22861#1 = Mul<real4>(a2848,sum22860);
          real4 sum12862#1 = Add<real4>(a1284C,prod22861);
          real4 prod12863#1 = Mul<real4>(a2848,sum12862);
          real4 hy284A#1 = Add<real4>(a0284B,prod12863);
          real fx287E#4 = Index<real2,0>(f27FC);
          real t32880#1 = Add<real>(fx287E,_t2447);
          real t12882#1 = Sub<real>(fx287E,_t2447);
          real t02884#1 = Sub<real>(fx287E,_t2449);
          real4 a2886#3 = <real4>[t32880,fx287E,t12882,t02884];
          real4 prod3289D#1 = Mul<real4>(a2886,a3284E);
          real4 sum2289E#1 = Add<real4>(a2284D,prod3289D);
          real4 prod2289F#1 = Mul<real4>(a2886,sum2289E);
          real4 sum128A0#1 = Add<real4>(a1284C,prod2289F);
          real4 prod128A1#1 = Mul<real4>(a2886,sum128A0);
          real4 hx2888#4 = Add<real4>(a0284B,prod128A1);
          real t028BC#1 = Dot<4>(v02814,hx2888);
          real t128BE#1 = Dot<4>(v12822,hx2888);
          real t228C0#1 = Dot<4>(v22830,hx2888);
          real t328C2#1 = Dot<4>(v3283E,hx2888);
          real4 tv28C4#1 = <real4>[t028BC,t128BE,t228C0,t328C2];
          real _t28C6#1 = Dot<4>(hy284A,tv28C4);
          real2 x28C8#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0223E0);
          real2 nd28CA#2 = Floor<2>(x28C8);
          real2 f28CC#2 = Sub<real2>(x28C8,nd28CA);
          int{2} n28CE#2 = RealToInt<2>(nd28CA);
          int t228D0#1 = Index<int{2},0>(n28CE);
          int ix28D2#4 = Add<int>(t12800,t228D0);
          int t228D4#4 = Index<int{2},1>(n28CE);
          int iy28D6#1 = Add<int>(t12800,t228D4);
          int t28DA#1 = Mul<int>(n0280B,iy28D6);
          int index28DB#1 = Add<int>(ix28D2,t28DA);
          addr(IMAGE2D<int>) imgBaseAddr28DC#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a28D8#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index28DB);
          real4 v028E2#1 = LoadVoxels<IMAGE2D<int>,4>(a28D8);
          int iy28E4#1 = Add<int>(_t246F,t228D4);
          int t28E8#1 = Mul<int>(n0280B,iy28E4);
          int index28E9#1 = Add<int>(ix28D2,t28E8);
          addr(IMAGE2D<int>) a28E6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index28E9);
          real4 v128F0#1 = LoadVoxels<IMAGE2D<int>,4>(a28E6);
          int iy28F2#1 = Add<int>(_t2473,t228D4);
          int t28F6#1 = Mul<int>(n0280B,iy28F2);
          int index28F7#1 = Add<int>(ix28D2,t28F6);
          addr(IMAGE2D<int>) a28F4#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index28F7);
          real4 v228FE#1 = LoadVoxels<IMAGE2D<int>,4>(a28F4);
          int iy2900#1 = Add<int>(_t244B,t228D4);
          int t2904#1 = Mul<int>(n0280B,iy2900);
          int index2905#1 = Add<int>(ix28D2,t2904);
          addr(IMAGE2D<int>) a2902#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr28DC,index2905);
          real4 v3290C#1 = LoadVoxels<IMAGE2D<int>,4>(a2902);
          real fy290E#4 = Index<real2,1>(f28CC);
          real t32910#1 = Add<real>(fy290E,_t2447);
          real t12912#1 = Sub<real>(fy290E,_t2447);
          real t02914#1 = Sub<real>(fy290E,_t2449);
          real4 a2916#3 = <real4>[t32910,fy290E,t12912,t02914];
          real4 prod3292D#1 = Mul<real4>(a2916,a3284E);
          real4 sum2292E#1 = Add<real4>(a2284D,prod3292D);
          real4 prod2292F#1 = Mul<real4>(a2916,sum2292E);
          real4 sum12930#1 = Add<real4>(a1284C,prod2292F);
          real4 prod12931#1 = Mul<real4>(a2916,sum12930);
          real4 hy2918#1 = Add<real4>(a0284B,prod12931);
          real fx294C#4 = Index<real2,0>(f28CC);
          real t3294E#1 = Add<real>(fx294C,_t2447);
          real t12950#1 = Sub<real>(fx294C,_t2447);
          real t02952#1 = Sub<real>(fx294C,_t2449);
          real4 a2954#3 = <real4>[t3294E,fx294C,t12950,t02952];
          real4 prod3296B#1 = Mul<real4>(a2954,a3284E);
          real4 sum2296C#1 = Add<real4>(a2284D,prod3296B);
          real4 prod2296D#1 = Mul<real4>(a2954,sum2296C);
          real4 sum1296E#1 = Add<real4>(a1284C,prod2296D);
          real4 prod1296F#1 = Mul<real4>(a2954,sum1296E);
          real4 hx2956#4 = Add<real4>(a0284B,prod1296F);
          real t0298A#1 = Dot<4>(v028E2,hx2956);
          real t1298C#1 = Dot<4>(v128F0,hx2956);
          real t2298E#1 = Dot<4>(v228FE,hx2956);
          real t32990#1 = Dot<4>(v3290C,hx2956);
          real4 tv2992#1 = <real4>[t0298A,t1298C,t2298E,t32990];
          real _t2994#1 = Dot<4>(hy2918,tv2992);
          real _t2996#2 = Sub<real>(_t28C6,_t2994);
          real _t2998#1 = Mul<real>(_t2996,_t2996);
          real score299A#1 = Add<real>(score27E3,_t2998);
          goto JOIN299D
        JOIN299D:  preds = [ASSIGN299B,COND27F9]
          real score299C#2 = phi(score299A,score27E3)
          real _t299E#1 = Dot<2>(r02461,v0323E4);
          real _t29A0#1 = Dot<2>(r12467,v0323E4);
          real2 _t29A2#1 = <real2>[_t299E,_t29A0];
          real2 pos29A4#1 = Add<real2>(_t29A2,_t2477);
          real2 x29A6#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos29A4);
          bool _t29A8#1 = Inside<IMAGE2D<float>,2>(x29A6,_t23D4);
          if _t29A8 then goto ASSIGN29AC else goto ASSIGN46FD
        ASSIGN29AC:  preds = [COND29AA]
          real2 x29AB#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0323E4);
          bool _t29AD#1 = Inside<IMAGE2D<int>,2>(x29AB,_t23D0);
          goto JOIN29B1
        JOIN29B1:  preds = [ASSIGN29AE,ASSIGN46FD]
          bool _t29AF#1 = phi(_t29AD,_t29B0)
          if _t29AF then goto ASSIGN29B4 else goto JOIN2B56
        ASSIGN29B4:  preds = [COND29B2]
          real2 nd29B3#2 = Floor<2>(x29A6);
          real2 f29B5#2 = Sub<real2>(x29A6,nd29B3);
          int{2} n29B7#2 = RealToInt<2>(nd29B3);
          int t129B9#4 = -1;
          int t229BB#1 = Index<int{2},0>(n29B7);
          int ix29BD#4 = Add<int>(t129B9,t229BB);
          int t229BF#4 = Index<int{2},1>(n29B7);
          int iy29C1#1 = Add<int>(t129B9,t229BF);
          int n029C4#8 = 21;
          int t29C5#1 = Mul<int>(n029C4,iy29C1);
          int index29C6#1 = Add<int>(ix29BD,t29C5);
          addr(IMAGE2D<float>) imgBaseAddr29C7#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a29C3#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29C6);
          real4 v029CD#1 = LoadVoxels<IMAGE2D<float>,4>(a29C3);
          int iy29CF#1 = Add<int>(_t246F,t229BF);
          int t29D3#1 = Mul<int>(n029C4,iy29CF);
          int index29D4#1 = Add<int>(ix29BD,t29D3);
          addr(IMAGE2D<float>) a29D1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29D4);
          real4 v129DB#1 = LoadVoxels<IMAGE2D<float>,4>(a29D1);
          int iy29DD#1 = Add<int>(_t2473,t229BF);
          int t29E1#1 = Mul<int>(n029C4,iy29DD);
          int index29E2#1 = Add<int>(ix29BD,t29E1);
          addr(IMAGE2D<float>) a29DF#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29E2);
          real4 v229E9#1 = LoadVoxels<IMAGE2D<float>,4>(a29DF);
          int iy29EB#1 = Add<int>(_t244B,t229BF);
          int t29EF#1 = Mul<int>(n029C4,iy29EB);
          int index29F0#1 = Add<int>(ix29BD,t29EF);
          addr(IMAGE2D<float>) a29ED#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr29C7,index29F0);
          real4 v329F7#1 = LoadVoxels<IMAGE2D<float>,4>(a29ED);
          real fy29F9#4 = Index<real2,1>(f29B5);
          real t329FB#1 = Add<real>(fy29F9,_t2447);
          real t129FD#1 = Sub<real>(fy29F9,_t2447);
          real t029FF#1 = Sub<real>(fy29F9,_t2449);
          real4 a2A01#3 = <real4>[t329FB,fy29F9,t129FD,t029FF];
          real _f2A14#2 = 0.133333333333e1;
          real _f2A15#2 = 0.666666666667e0;
          real4 a02A04#4 = <real4>[_f2A14,_f2A15,_f2A15,_f2A14];
          real _f2A10#1 = -0.2e1;
          real _f2A11#2 = 0.0;
          real4 a12A05#4 = <real4>[_f2A10,_f2A11,_f2A11,_t2449];
          real _f2A0D#2 = -0.1e1;
          real4 a22A06#4 = <real4>[_t2447,_f2A0D,_f2A0D,_t2447];
          real _f2A08#1 = -0.166666666667e0;
          real _f2A09#1 = 0.5e0;
          real _f2A0A#1 = -0.5e0;
          real _f2A0B#1 = 0.166666666667e0;
          real4 a32A07#4 = <real4>[_f2A08,_f2A09,_f2A0A,_f2A0B];
          real4 prod32A18#1 = Mul<real4>(a2A01,a32A07);
          real4 sum22A19#1 = Add<real4>(a22A06,prod32A18);
          real4 prod22A1A#1 = Mul<real4>(a2A01,sum22A19);
          real4 sum12A1B#1 = Add<real4>(a12A05,prod22A1A);
          real4 prod12A1C#1 = Mul<real4>(a2A01,sum12A1B);
          real4 hy2A03#1 = Add<real4>(a02A04,prod12A1C);
          real fx2A37#4 = Index<real2,0>(f29B5);
          real t32A39#1 = Add<real>(fx2A37,_t2447);
          real t12A3B#1 = Sub<real>(fx2A37,_t2447);
          real t02A3D#1 = Sub<real>(fx2A37,_t2449);
          real4 a2A3F#3 = <real4>[t32A39,fx2A37,t12A3B,t02A3D];
          real4 prod32A56#1 = Mul<real4>(a2A3F,a32A07);
          real4 sum22A57#1 = Add<real4>(a22A06,prod32A56);
          real4 prod22A58#1 = Mul<real4>(a2A3F,sum22A57);
          real4 sum12A59#1 = Add<real4>(a12A05,prod22A58);
          real4 prod12A5A#1 = Mul<real4>(a2A3F,sum12A59);
          real4 hx2A41#4 = Add<real4>(a02A04,prod12A5A);
          real t02A75#1 = Dot<4>(v029CD,hx2A41);
          real t12A77#1 = Dot<4>(v129DB,hx2A41);
          real t22A79#1 = Dot<4>(v229E9,hx2A41);
          real t32A7B#1 = Dot<4>(v329F7,hx2A41);
          real4 tv2A7D#1 = <real4>[t02A75,t12A77,t22A79,t32A7B];
          real _t2A7F#1 = Dot<4>(hy2A03,tv2A7D);
          real2 x2A81#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0323E4);
          real2 nd2A83#2 = Floor<2>(x2A81);
          real2 f2A85#2 = Sub<real2>(x2A81,nd2A83);
          int{2} n2A87#2 = RealToInt<2>(nd2A83);
          int t22A89#1 = Index<int{2},0>(n2A87);
          int ix2A8B#4 = Add<int>(t129B9,t22A89);
          int t22A8D#4 = Index<int{2},1>(n2A87);
          int iy2A8F#1 = Add<int>(t129B9,t22A8D);
          int t2A93#1 = Mul<int>(n029C4,iy2A8F);
          int index2A94#1 = Add<int>(ix2A8B,t2A93);
          addr(IMAGE2D<int>) imgBaseAddr2A95#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2A91#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2A94);
          real4 v02A9B#1 = LoadVoxels<IMAGE2D<int>,4>(a2A91);
          int iy2A9D#1 = Add<int>(_t246F,t22A8D);
          int t2AA1#1 = Mul<int>(n029C4,iy2A9D);
          int index2AA2#1 = Add<int>(ix2A8B,t2AA1);
          addr(IMAGE2D<int>) a2A9F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2AA2);
          real4 v12AA9#1 = LoadVoxels<IMAGE2D<int>,4>(a2A9F);
          int iy2AAB#1 = Add<int>(_t2473,t22A8D);
          int t2AAF#1 = Mul<int>(n029C4,iy2AAB);
          int index2AB0#1 = Add<int>(ix2A8B,t2AAF);
          addr(IMAGE2D<int>) a2AAD#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2AB0);
          real4 v22AB7#1 = LoadVoxels<IMAGE2D<int>,4>(a2AAD);
          int iy2AB9#1 = Add<int>(_t244B,t22A8D);
          int t2ABD#1 = Mul<int>(n029C4,iy2AB9);
          int index2ABE#1 = Add<int>(ix2A8B,t2ABD);
          addr(IMAGE2D<int>) a2ABB#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2A95,index2ABE);
          real4 v32AC5#1 = LoadVoxels<IMAGE2D<int>,4>(a2ABB);
          real fy2AC7#4 = Index<real2,1>(f2A85);
          real t32AC9#1 = Add<real>(fy2AC7,_t2447);
          real t12ACB#1 = Sub<real>(fy2AC7,_t2447);
          real t02ACD#1 = Sub<real>(fy2AC7,_t2449);
          real4 a2ACF#3 = <real4>[t32AC9,fy2AC7,t12ACB,t02ACD];
          real4 prod32AE6#1 = Mul<real4>(a2ACF,a32A07);
          real4 sum22AE7#1 = Add<real4>(a22A06,prod32AE6);
          real4 prod22AE8#1 = Mul<real4>(a2ACF,sum22AE7);
          real4 sum12AE9#1 = Add<real4>(a12A05,prod22AE8);
          real4 prod12AEA#1 = Mul<real4>(a2ACF,sum12AE9);
          real4 hy2AD1#1 = Add<real4>(a02A04,prod12AEA);
          real fx2B05#4 = Index<real2,0>(f2A85);
          real t32B07#1 = Add<real>(fx2B05,_t2447);
          real t12B09#1 = Sub<real>(fx2B05,_t2447);
          real t02B0B#1 = Sub<real>(fx2B05,_t2449);
          real4 a2B0D#3 = <real4>[t32B07,fx2B05,t12B09,t02B0B];
          real4 prod32B24#1 = Mul<real4>(a2B0D,a32A07);
          real4 sum22B25#1 = Add<real4>(a22A06,prod32B24);
          real4 prod22B26#1 = Mul<real4>(a2B0D,sum22B25);
          real4 sum12B27#1 = Add<real4>(a12A05,prod22B26);
          real4 prod12B28#1 = Mul<real4>(a2B0D,sum12B27);
          real4 hx2B0F#4 = Add<real4>(a02A04,prod12B28);
          real t02B43#1 = Dot<4>(v02A9B,hx2B0F);
          real t12B45#1 = Dot<4>(v12AA9,hx2B0F);
          real t22B47#1 = Dot<4>(v22AB7,hx2B0F);
          real t32B49#1 = Dot<4>(v32AC5,hx2B0F);
          real4 tv2B4B#1 = <real4>[t02B43,t12B45,t22B47,t32B49];
          real _t2B4D#1 = Dot<4>(hy2AD1,tv2B4B);
          real _t2B4F#2 = Sub<real>(_t2A7F,_t2B4D);
          real _t2B51#1 = Mul<real>(_t2B4F,_t2B4F);
          real score2B53#1 = Add<real>(score299C,_t2B51);
          goto JOIN2B56
        JOIN2B56:  preds = [ASSIGN2B54,COND29B2]
          real score2B55#2 = phi(score2B53,score299C)
          real _t2B57#1 = Dot<2>(r02461,v0423E8);
          real _t2B59#1 = Dot<2>(r12467,v0423E8);
          real2 _t2B5B#1 = <real2>[_t2B57,_t2B59];
          real2 pos2B5D#1 = Add<real2>(_t2B5B,_t2477);
          real2 x2B5F#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2B5D);
          bool _t2B61#1 = Inside<IMAGE2D<float>,2>(x2B5F,_t23D4);
          if _t2B61 then goto ASSIGN2B65 else goto ASSIGN46FC
        ASSIGN2B65:  preds = [COND2B63]
          real2 x2B64#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0423E8);
          bool _t2B66#1 = Inside<IMAGE2D<int>,2>(x2B64,_t23D0);
          goto JOIN2B6A
        JOIN2B6A:  preds = [ASSIGN2B67,ASSIGN46FC]
          bool _t2B68#1 = phi(_t2B66,_t2B69)
          if _t2B68 then goto ASSIGN2B6D else goto JOIN2D0F
        ASSIGN2B6D:  preds = [COND2B6B]
          real2 nd2B6C#2 = Floor<2>(x2B5F);
          real2 f2B6E#2 = Sub<real2>(x2B5F,nd2B6C);
          int{2} n2B70#2 = RealToInt<2>(nd2B6C);
          int t12B72#4 = -1;
          int t22B74#1 = Index<int{2},0>(n2B70);
          int ix2B76#4 = Add<int>(t12B72,t22B74);
          int t22B78#4 = Index<int{2},1>(n2B70);
          int iy2B7A#1 = Add<int>(t12B72,t22B78);
          int n02B7D#8 = 21;
          int t2B7E#1 = Mul<int>(n02B7D,iy2B7A);
          int index2B7F#1 = Add<int>(ix2B76,t2B7E);
          addr(IMAGE2D<float>) imgBaseAddr2B80#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2B7C#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2B7F);
          real4 v02B86#1 = LoadVoxels<IMAGE2D<float>,4>(a2B7C);
          int iy2B88#1 = Add<int>(_t246F,t22B78);
          int t2B8C#1 = Mul<int>(n02B7D,iy2B88);
          int index2B8D#1 = Add<int>(ix2B76,t2B8C);
          addr(IMAGE2D<float>) a2B8A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2B8D);
          real4 v12B94#1 = LoadVoxels<IMAGE2D<float>,4>(a2B8A);
          int iy2B96#1 = Add<int>(_t2473,t22B78);
          int t2B9A#1 = Mul<int>(n02B7D,iy2B96);
          int index2B9B#1 = Add<int>(ix2B76,t2B9A);
          addr(IMAGE2D<float>) a2B98#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2B9B);
          real4 v22BA2#1 = LoadVoxels<IMAGE2D<float>,4>(a2B98);
          int iy2BA4#1 = Add<int>(_t244B,t22B78);
          int t2BA8#1 = Mul<int>(n02B7D,iy2BA4);
          int index2BA9#1 = Add<int>(ix2B76,t2BA8);
          addr(IMAGE2D<float>) a2BA6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2B80,index2BA9);
          real4 v32BB0#1 = LoadVoxels<IMAGE2D<float>,4>(a2BA6);
          real fy2BB2#4 = Index<real2,1>(f2B6E);
          real t32BB4#1 = Add<real>(fy2BB2,_t2447);
          real t12BB6#1 = Sub<real>(fy2BB2,_t2447);
          real t02BB8#1 = Sub<real>(fy2BB2,_t2449);
          real4 a2BBA#3 = <real4>[t32BB4,fy2BB2,t12BB6,t02BB8];
          real _f2BCD#2 = 0.133333333333e1;
          real _f2BCE#2 = 0.666666666667e0;
          real4 a02BBD#4 = <real4>[_f2BCD,_f2BCE,_f2BCE,_f2BCD];
          real _f2BC9#1 = -0.2e1;
          real _f2BCA#2 = 0.0;
          real4 a12BBE#4 = <real4>[_f2BC9,_f2BCA,_f2BCA,_t2449];
          real _f2BC6#2 = -0.1e1;
          real4 a22BBF#4 = <real4>[_t2447,_f2BC6,_f2BC6,_t2447];
          real _f2BC1#1 = -0.166666666667e0;
          real _f2BC2#1 = 0.5e0;
          real _f2BC3#1 = -0.5e0;
          real _f2BC4#1 = 0.166666666667e0;
          real4 a32BC0#4 = <real4>[_f2BC1,_f2BC2,_f2BC3,_f2BC4];
          real4 prod32BD1#1 = Mul<real4>(a2BBA,a32BC0);
          real4 sum22BD2#1 = Add<real4>(a22BBF,prod32BD1);
          real4 prod22BD3#1 = Mul<real4>(a2BBA,sum22BD2);
          real4 sum12BD4#1 = Add<real4>(a12BBE,prod22BD3);
          real4 prod12BD5#1 = Mul<real4>(a2BBA,sum12BD4);
          real4 hy2BBC#1 = Add<real4>(a02BBD,prod12BD5);
          real fx2BF0#4 = Index<real2,0>(f2B6E);
          real t32BF2#1 = Add<real>(fx2BF0,_t2447);
          real t12BF4#1 = Sub<real>(fx2BF0,_t2447);
          real t02BF6#1 = Sub<real>(fx2BF0,_t2449);
          real4 a2BF8#3 = <real4>[t32BF2,fx2BF0,t12BF4,t02BF6];
          real4 prod32C0F#1 = Mul<real4>(a2BF8,a32BC0);
          real4 sum22C10#1 = Add<real4>(a22BBF,prod32C0F);
          real4 prod22C11#1 = Mul<real4>(a2BF8,sum22C10);
          real4 sum12C12#1 = Add<real4>(a12BBE,prod22C11);
          real4 prod12C13#1 = Mul<real4>(a2BF8,sum12C12);
          real4 hx2BFA#4 = Add<real4>(a02BBD,prod12C13);
          real t02C2E#1 = Dot<4>(v02B86,hx2BFA);
          real t12C30#1 = Dot<4>(v12B94,hx2BFA);
          real t22C32#1 = Dot<4>(v22BA2,hx2BFA);
          real t32C34#1 = Dot<4>(v32BB0,hx2BFA);
          real4 tv2C36#1 = <real4>[t02C2E,t12C30,t22C32,t32C34];
          real _t2C38#1 = Dot<4>(hy2BBC,tv2C36);
          real2 x2C3A#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0423E8);
          real2 nd2C3C#2 = Floor<2>(x2C3A);
          real2 f2C3E#2 = Sub<real2>(x2C3A,nd2C3C);
          int{2} n2C40#2 = RealToInt<2>(nd2C3C);
          int t22C42#1 = Index<int{2},0>(n2C40);
          int ix2C44#4 = Add<int>(t12B72,t22C42);
          int t22C46#4 = Index<int{2},1>(n2C40);
          int iy2C48#1 = Add<int>(t12B72,t22C46);
          int t2C4C#1 = Mul<int>(n02B7D,iy2C48);
          int index2C4D#1 = Add<int>(ix2C44,t2C4C);
          addr(IMAGE2D<int>) imgBaseAddr2C4E#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2C4A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C4D);
          real4 v02C54#1 = LoadVoxels<IMAGE2D<int>,4>(a2C4A);
          int iy2C56#1 = Add<int>(_t246F,t22C46);
          int t2C5A#1 = Mul<int>(n02B7D,iy2C56);
          int index2C5B#1 = Add<int>(ix2C44,t2C5A);
          addr(IMAGE2D<int>) a2C58#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C5B);
          real4 v12C62#1 = LoadVoxels<IMAGE2D<int>,4>(a2C58);
          int iy2C64#1 = Add<int>(_t2473,t22C46);
          int t2C68#1 = Mul<int>(n02B7D,iy2C64);
          int index2C69#1 = Add<int>(ix2C44,t2C68);
          addr(IMAGE2D<int>) a2C66#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C69);
          real4 v22C70#1 = LoadVoxels<IMAGE2D<int>,4>(a2C66);
          int iy2C72#1 = Add<int>(_t244B,t22C46);
          int t2C76#1 = Mul<int>(n02B7D,iy2C72);
          int index2C77#1 = Add<int>(ix2C44,t2C76);
          addr(IMAGE2D<int>) a2C74#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2C4E,index2C77);
          real4 v32C7E#1 = LoadVoxels<IMAGE2D<int>,4>(a2C74);
          real fy2C80#4 = Index<real2,1>(f2C3E);
          real t32C82#1 = Add<real>(fy2C80,_t2447);
          real t12C84#1 = Sub<real>(fy2C80,_t2447);
          real t02C86#1 = Sub<real>(fy2C80,_t2449);
          real4 a2C88#3 = <real4>[t32C82,fy2C80,t12C84,t02C86];
          real4 prod32C9F#1 = Mul<real4>(a2C88,a32BC0);
          real4 sum22CA0#1 = Add<real4>(a22BBF,prod32C9F);
          real4 prod22CA1#1 = Mul<real4>(a2C88,sum22CA0);
          real4 sum12CA2#1 = Add<real4>(a12BBE,prod22CA1);
          real4 prod12CA3#1 = Mul<real4>(a2C88,sum12CA2);
          real4 hy2C8A#1 = Add<real4>(a02BBD,prod12CA3);
          real fx2CBE#4 = Index<real2,0>(f2C3E);
          real t32CC0#1 = Add<real>(fx2CBE,_t2447);
          real t12CC2#1 = Sub<real>(fx2CBE,_t2447);
          real t02CC4#1 = Sub<real>(fx2CBE,_t2449);
          real4 a2CC6#3 = <real4>[t32CC0,fx2CBE,t12CC2,t02CC4];
          real4 prod32CDD#1 = Mul<real4>(a2CC6,a32BC0);
          real4 sum22CDE#1 = Add<real4>(a22BBF,prod32CDD);
          real4 prod22CDF#1 = Mul<real4>(a2CC6,sum22CDE);
          real4 sum12CE0#1 = Add<real4>(a12BBE,prod22CDF);
          real4 prod12CE1#1 = Mul<real4>(a2CC6,sum12CE0);
          real4 hx2CC8#4 = Add<real4>(a02BBD,prod12CE1);
          real t02CFC#1 = Dot<4>(v02C54,hx2CC8);
          real t12CFE#1 = Dot<4>(v12C62,hx2CC8);
          real t22D00#1 = Dot<4>(v22C70,hx2CC8);
          real t32D02#1 = Dot<4>(v32C7E,hx2CC8);
          real4 tv2D04#1 = <real4>[t02CFC,t12CFE,t22D00,t32D02];
          real _t2D06#1 = Dot<4>(hy2C8A,tv2D04);
          real _t2D08#2 = Sub<real>(_t2C38,_t2D06);
          real _t2D0A#1 = Mul<real>(_t2D08,_t2D08);
          real score2D0C#1 = Add<real>(score2B55,_t2D0A);
          goto JOIN2D0F
        JOIN2D0F:  preds = [ASSIGN2D0D,COND2B6B]
          real score2D0E#2 = phi(score2D0C,score2B55)
          real _t2D10#1 = Dot<2>(r02461,v0523EA);
          real _t2D12#1 = Dot<2>(r12467,v0523EA);
          real2 _t2D14#1 = <real2>[_t2D10,_t2D12];
          real2 pos2D16#1 = Add<real2>(_t2D14,_t2477);
          real2 x2D18#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2D16);
          bool _t2D1A#1 = Inside<IMAGE2D<float>,2>(x2D18,_t23D4);
          if _t2D1A then goto ASSIGN2D1E else goto ASSIGN46FB
        ASSIGN2D1E:  preds = [COND2D1C]
          real2 x2D1D#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0523EA);
          bool _t2D1F#1 = Inside<IMAGE2D<int>,2>(x2D1D,_t23D0);
          goto JOIN2D23
        JOIN2D23:  preds = [ASSIGN2D20,ASSIGN46FB]
          bool _t2D21#1 = phi(_t2D1F,_t2D22)
          if _t2D21 then goto ASSIGN2D26 else goto JOIN2EC8
        ASSIGN2D26:  preds = [COND2D24]
          real2 nd2D25#2 = Floor<2>(x2D18);
          real2 f2D27#2 = Sub<real2>(x2D18,nd2D25);
          int{2} n2D29#2 = RealToInt<2>(nd2D25);
          int t12D2B#4 = -1;
          int t22D2D#1 = Index<int{2},0>(n2D29);
          int ix2D2F#4 = Add<int>(t12D2B,t22D2D);
          int t22D31#4 = Index<int{2},1>(n2D29);
          int iy2D33#1 = Add<int>(t12D2B,t22D31);
          int n02D36#8 = 21;
          int t2D37#1 = Mul<int>(n02D36,iy2D33);
          int index2D38#1 = Add<int>(ix2D2F,t2D37);
          addr(IMAGE2D<float>) imgBaseAddr2D39#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2D35#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D38);
          real4 v02D3F#1 = LoadVoxels<IMAGE2D<float>,4>(a2D35);
          int iy2D41#1 = Add<int>(_t246F,t22D31);
          int t2D45#1 = Mul<int>(n02D36,iy2D41);
          int index2D46#1 = Add<int>(ix2D2F,t2D45);
          addr(IMAGE2D<float>) a2D43#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D46);
          real4 v12D4D#1 = LoadVoxels<IMAGE2D<float>,4>(a2D43);
          int iy2D4F#1 = Add<int>(_t2473,t22D31);
          int t2D53#1 = Mul<int>(n02D36,iy2D4F);
          int index2D54#1 = Add<int>(ix2D2F,t2D53);
          addr(IMAGE2D<float>) a2D51#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D54);
          real4 v22D5B#1 = LoadVoxels<IMAGE2D<float>,4>(a2D51);
          int iy2D5D#1 = Add<int>(_t244B,t22D31);
          int t2D61#1 = Mul<int>(n02D36,iy2D5D);
          int index2D62#1 = Add<int>(ix2D2F,t2D61);
          addr(IMAGE2D<float>) a2D5F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2D39,index2D62);
          real4 v32D69#1 = LoadVoxels<IMAGE2D<float>,4>(a2D5F);
          real fy2D6B#4 = Index<real2,1>(f2D27);
          real t32D6D#1 = Add<real>(fy2D6B,_t2447);
          real t12D6F#1 = Sub<real>(fy2D6B,_t2447);
          real t02D71#1 = Sub<real>(fy2D6B,_t2449);
          real4 a2D73#3 = <real4>[t32D6D,fy2D6B,t12D6F,t02D71];
          real _f2D86#2 = 0.133333333333e1;
          real _f2D87#2 = 0.666666666667e0;
          real4 a02D76#4 = <real4>[_f2D86,_f2D87,_f2D87,_f2D86];
          real _f2D82#1 = -0.2e1;
          real _f2D83#2 = 0.0;
          real4 a12D77#4 = <real4>[_f2D82,_f2D83,_f2D83,_t2449];
          real _f2D7F#2 = -0.1e1;
          real4 a22D78#4 = <real4>[_t2447,_f2D7F,_f2D7F,_t2447];
          real _f2D7A#1 = -0.166666666667e0;
          real _f2D7B#1 = 0.5e0;
          real _f2D7C#1 = -0.5e0;
          real _f2D7D#1 = 0.166666666667e0;
          real4 a32D79#4 = <real4>[_f2D7A,_f2D7B,_f2D7C,_f2D7D];
          real4 prod32D8A#1 = Mul<real4>(a2D73,a32D79);
          real4 sum22D8B#1 = Add<real4>(a22D78,prod32D8A);
          real4 prod22D8C#1 = Mul<real4>(a2D73,sum22D8B);
          real4 sum12D8D#1 = Add<real4>(a12D77,prod22D8C);
          real4 prod12D8E#1 = Mul<real4>(a2D73,sum12D8D);
          real4 hy2D75#1 = Add<real4>(a02D76,prod12D8E);
          real fx2DA9#4 = Index<real2,0>(f2D27);
          real t32DAB#1 = Add<real>(fx2DA9,_t2447);
          real t12DAD#1 = Sub<real>(fx2DA9,_t2447);
          real t02DAF#1 = Sub<real>(fx2DA9,_t2449);
          real4 a2DB1#3 = <real4>[t32DAB,fx2DA9,t12DAD,t02DAF];
          real4 prod32DC8#1 = Mul<real4>(a2DB1,a32D79);
          real4 sum22DC9#1 = Add<real4>(a22D78,prod32DC8);
          real4 prod22DCA#1 = Mul<real4>(a2DB1,sum22DC9);
          real4 sum12DCB#1 = Add<real4>(a12D77,prod22DCA);
          real4 prod12DCC#1 = Mul<real4>(a2DB1,sum12DCB);
          real4 hx2DB3#4 = Add<real4>(a02D76,prod12DCC);
          real t02DE7#1 = Dot<4>(v02D3F,hx2DB3);
          real t12DE9#1 = Dot<4>(v12D4D,hx2DB3);
          real t22DEB#1 = Dot<4>(v22D5B,hx2DB3);
          real t32DED#1 = Dot<4>(v32D69,hx2DB3);
          real4 tv2DEF#1 = <real4>[t02DE7,t12DE9,t22DEB,t32DED];
          real _t2DF1#1 = Dot<4>(hy2D75,tv2DEF);
          real2 x2DF3#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0523EA);
          real2 nd2DF5#2 = Floor<2>(x2DF3);
          real2 f2DF7#2 = Sub<real2>(x2DF3,nd2DF5);
          int{2} n2DF9#2 = RealToInt<2>(nd2DF5);
          int t22DFB#1 = Index<int{2},0>(n2DF9);
          int ix2DFD#4 = Add<int>(t12D2B,t22DFB);
          int t22DFF#4 = Index<int{2},1>(n2DF9);
          int iy2E01#1 = Add<int>(t12D2B,t22DFF);
          int t2E05#1 = Mul<int>(n02D36,iy2E01);
          int index2E06#1 = Add<int>(ix2DFD,t2E05);
          addr(IMAGE2D<int>) imgBaseAddr2E07#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2E03#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E06);
          real4 v02E0D#1 = LoadVoxels<IMAGE2D<int>,4>(a2E03);
          int iy2E0F#1 = Add<int>(_t246F,t22DFF);
          int t2E13#1 = Mul<int>(n02D36,iy2E0F);
          int index2E14#1 = Add<int>(ix2DFD,t2E13);
          addr(IMAGE2D<int>) a2E11#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E14);
          real4 v12E1B#1 = LoadVoxels<IMAGE2D<int>,4>(a2E11);
          int iy2E1D#1 = Add<int>(_t2473,t22DFF);
          int t2E21#1 = Mul<int>(n02D36,iy2E1D);
          int index2E22#1 = Add<int>(ix2DFD,t2E21);
          addr(IMAGE2D<int>) a2E1F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E22);
          real4 v22E29#1 = LoadVoxels<IMAGE2D<int>,4>(a2E1F);
          int iy2E2B#1 = Add<int>(_t244B,t22DFF);
          int t2E2F#1 = Mul<int>(n02D36,iy2E2B);
          int index2E30#1 = Add<int>(ix2DFD,t2E2F);
          addr(IMAGE2D<int>) a2E2D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2E07,index2E30);
          real4 v32E37#1 = LoadVoxels<IMAGE2D<int>,4>(a2E2D);
          real fy2E39#4 = Index<real2,1>(f2DF7);
          real t32E3B#1 = Add<real>(fy2E39,_t2447);
          real t12E3D#1 = Sub<real>(fy2E39,_t2447);
          real t02E3F#1 = Sub<real>(fy2E39,_t2449);
          real4 a2E41#3 = <real4>[t32E3B,fy2E39,t12E3D,t02E3F];
          real4 prod32E58#1 = Mul<real4>(a2E41,a32D79);
          real4 sum22E59#1 = Add<real4>(a22D78,prod32E58);
          real4 prod22E5A#1 = Mul<real4>(a2E41,sum22E59);
          real4 sum12E5B#1 = Add<real4>(a12D77,prod22E5A);
          real4 prod12E5C#1 = Mul<real4>(a2E41,sum12E5B);
          real4 hy2E43#1 = Add<real4>(a02D76,prod12E5C);
          real fx2E77#4 = Index<real2,0>(f2DF7);
          real t32E79#1 = Add<real>(fx2E77,_t2447);
          real t12E7B#1 = Sub<real>(fx2E77,_t2447);
          real t02E7D#1 = Sub<real>(fx2E77,_t2449);
          real4 a2E7F#3 = <real4>[t32E79,fx2E77,t12E7B,t02E7D];
          real4 prod32E96#1 = Mul<real4>(a2E7F,a32D79);
          real4 sum22E97#1 = Add<real4>(a22D78,prod32E96);
          real4 prod22E98#1 = Mul<real4>(a2E7F,sum22E97);
          real4 sum12E99#1 = Add<real4>(a12D77,prod22E98);
          real4 prod12E9A#1 = Mul<real4>(a2E7F,sum12E99);
          real4 hx2E81#4 = Add<real4>(a02D76,prod12E9A);
          real t02EB5#1 = Dot<4>(v02E0D,hx2E81);
          real t12EB7#1 = Dot<4>(v12E1B,hx2E81);
          real t22EB9#1 = Dot<4>(v22E29,hx2E81);
          real t32EBB#1 = Dot<4>(v32E37,hx2E81);
          real4 tv2EBD#1 = <real4>[t02EB5,t12EB7,t22EB9,t32EBB];
          real _t2EBF#1 = Dot<4>(hy2E43,tv2EBD);
          real _t2EC1#2 = Sub<real>(_t2DF1,_t2EBF);
          real _t2EC3#1 = Mul<real>(_t2EC1,_t2EC1);
          real score2EC5#1 = Add<real>(score2D0E,_t2EC3);
          goto JOIN2EC8
        JOIN2EC8:  preds = [ASSIGN2EC6,COND2D24]
          real score2EC7#2 = phi(score2EC5,score2D0E)
          real _t2EC9#1 = Dot<2>(r02461,v0623EC);
          real _t2ECB#1 = Dot<2>(r12467,v0623EC);
          real2 _t2ECD#1 = <real2>[_t2EC9,_t2ECB];
          real2 pos2ECF#1 = Add<real2>(_t2ECD,_t2477);
          real2 x2ED1#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos2ECF);
          bool _t2ED3#1 = Inside<IMAGE2D<float>,2>(x2ED1,_t23D4);
          if _t2ED3 then goto ASSIGN2ED7 else goto ASSIGN46FA
        ASSIGN2ED7:  preds = [COND2ED5]
          real2 x2ED6#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0623EC);
          bool _t2ED8#1 = Inside<IMAGE2D<int>,2>(x2ED6,_t23D0);
          goto JOIN2EDC
        JOIN2EDC:  preds = [ASSIGN2ED9,ASSIGN46FA]
          bool _t2EDA#1 = phi(_t2ED8,_t2EDB)
          if _t2EDA then goto ASSIGN2EDF else goto JOIN3081
        ASSIGN2EDF:  preds = [COND2EDD]
          real2 nd2EDE#2 = Floor<2>(x2ED1);
          real2 f2EE0#2 = Sub<real2>(x2ED1,nd2EDE);
          int{2} n2EE2#2 = RealToInt<2>(nd2EDE);
          int t12EE4#4 = -1;
          int t22EE6#1 = Index<int{2},0>(n2EE2);
          int ix2EE8#4 = Add<int>(t12EE4,t22EE6);
          int t22EEA#4 = Index<int{2},1>(n2EE2);
          int iy2EEC#1 = Add<int>(t12EE4,t22EEA);
          int n02EEF#8 = 21;
          int t2EF0#1 = Mul<int>(n02EEF,iy2EEC);
          int index2EF1#1 = Add<int>(ix2EE8,t2EF0);
          addr(IMAGE2D<float>) imgBaseAddr2EF2#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a2EEE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2EF1);
          real4 v02EF8#1 = LoadVoxels<IMAGE2D<float>,4>(a2EEE);
          int iy2EFA#1 = Add<int>(_t246F,t22EEA);
          int t2EFE#1 = Mul<int>(n02EEF,iy2EFA);
          int index2EFF#1 = Add<int>(ix2EE8,t2EFE);
          addr(IMAGE2D<float>) a2EFC#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2EFF);
          real4 v12F06#1 = LoadVoxels<IMAGE2D<float>,4>(a2EFC);
          int iy2F08#1 = Add<int>(_t2473,t22EEA);
          int t2F0C#1 = Mul<int>(n02EEF,iy2F08);
          int index2F0D#1 = Add<int>(ix2EE8,t2F0C);
          addr(IMAGE2D<float>) a2F0A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2F0D);
          real4 v22F14#1 = LoadVoxels<IMAGE2D<float>,4>(a2F0A);
          int iy2F16#1 = Add<int>(_t244B,t22EEA);
          int t2F1A#1 = Mul<int>(n02EEF,iy2F16);
          int index2F1B#1 = Add<int>(ix2EE8,t2F1A);
          addr(IMAGE2D<float>) a2F18#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr2EF2,index2F1B);
          real4 v32F22#1 = LoadVoxels<IMAGE2D<float>,4>(a2F18);
          real fy2F24#4 = Index<real2,1>(f2EE0);
          real t32F26#1 = Add<real>(fy2F24,_t2447);
          real t12F28#1 = Sub<real>(fy2F24,_t2447);
          real t02F2A#1 = Sub<real>(fy2F24,_t2449);
          real4 a2F2C#3 = <real4>[t32F26,fy2F24,t12F28,t02F2A];
          real _f2F3F#2 = 0.133333333333e1;
          real _f2F40#2 = 0.666666666667e0;
          real4 a02F2F#4 = <real4>[_f2F3F,_f2F40,_f2F40,_f2F3F];
          real _f2F3B#1 = -0.2e1;
          real _f2F3C#2 = 0.0;
          real4 a12F30#4 = <real4>[_f2F3B,_f2F3C,_f2F3C,_t2449];
          real _f2F38#2 = -0.1e1;
          real4 a22F31#4 = <real4>[_t2447,_f2F38,_f2F38,_t2447];
          real _f2F33#1 = -0.166666666667e0;
          real _f2F34#1 = 0.5e0;
          real _f2F35#1 = -0.5e0;
          real _f2F36#1 = 0.166666666667e0;
          real4 a32F32#4 = <real4>[_f2F33,_f2F34,_f2F35,_f2F36];
          real4 prod32F43#1 = Mul<real4>(a2F2C,a32F32);
          real4 sum22F44#1 = Add<real4>(a22F31,prod32F43);
          real4 prod22F45#1 = Mul<real4>(a2F2C,sum22F44);
          real4 sum12F46#1 = Add<real4>(a12F30,prod22F45);
          real4 prod12F47#1 = Mul<real4>(a2F2C,sum12F46);
          real4 hy2F2E#1 = Add<real4>(a02F2F,prod12F47);
          real fx2F62#4 = Index<real2,0>(f2EE0);
          real t32F64#1 = Add<real>(fx2F62,_t2447);
          real t12F66#1 = Sub<real>(fx2F62,_t2447);
          real t02F68#1 = Sub<real>(fx2F62,_t2449);
          real4 a2F6A#3 = <real4>[t32F64,fx2F62,t12F66,t02F68];
          real4 prod32F81#1 = Mul<real4>(a2F6A,a32F32);
          real4 sum22F82#1 = Add<real4>(a22F31,prod32F81);
          real4 prod22F83#1 = Mul<real4>(a2F6A,sum22F82);
          real4 sum12F84#1 = Add<real4>(a12F30,prod22F83);
          real4 prod12F85#1 = Mul<real4>(a2F6A,sum12F84);
          real4 hx2F6C#4 = Add<real4>(a02F2F,prod12F85);
          real t02FA0#1 = Dot<4>(v02EF8,hx2F6C);
          real t12FA2#1 = Dot<4>(v12F06,hx2F6C);
          real t22FA4#1 = Dot<4>(v22F14,hx2F6C);
          real t32FA6#1 = Dot<4>(v32F22,hx2F6C);
          real4 tv2FA8#1 = <real4>[t02FA0,t12FA2,t22FA4,t32FA6];
          real _t2FAA#1 = Dot<4>(hy2F2E,tv2FA8);
          real2 x2FAC#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0623EC);
          real2 nd2FAE#2 = Floor<2>(x2FAC);
          real2 f2FB0#2 = Sub<real2>(x2FAC,nd2FAE);
          int{2} n2FB2#2 = RealToInt<2>(nd2FAE);
          int t22FB4#1 = Index<int{2},0>(n2FB2);
          int ix2FB6#4 = Add<int>(t12EE4,t22FB4);
          int t22FB8#4 = Index<int{2},1>(n2FB2);
          int iy2FBA#1 = Add<int>(t12EE4,t22FB8);
          int t2FBE#1 = Mul<int>(n02EEF,iy2FBA);
          int index2FBF#1 = Add<int>(ix2FB6,t2FBE);
          addr(IMAGE2D<int>) imgBaseAddr2FC0#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a2FBC#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FBF);
          real4 v02FC6#1 = LoadVoxels<IMAGE2D<int>,4>(a2FBC);
          int iy2FC8#1 = Add<int>(_t246F,t22FB8);
          int t2FCC#1 = Mul<int>(n02EEF,iy2FC8);
          int index2FCD#1 = Add<int>(ix2FB6,t2FCC);
          addr(IMAGE2D<int>) a2FCA#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FCD);
          real4 v12FD4#1 = LoadVoxels<IMAGE2D<int>,4>(a2FCA);
          int iy2FD6#1 = Add<int>(_t2473,t22FB8);
          int t2FDA#1 = Mul<int>(n02EEF,iy2FD6);
          int index2FDB#1 = Add<int>(ix2FB6,t2FDA);
          addr(IMAGE2D<int>) a2FD8#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FDB);
          real4 v22FE2#1 = LoadVoxels<IMAGE2D<int>,4>(a2FD8);
          int iy2FE4#1 = Add<int>(_t244B,t22FB8);
          int t2FE8#1 = Mul<int>(n02EEF,iy2FE4);
          int index2FE9#1 = Add<int>(ix2FB6,t2FE8);
          addr(IMAGE2D<int>) a2FE6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr2FC0,index2FE9);
          real4 v32FF0#1 = LoadVoxels<IMAGE2D<int>,4>(a2FE6);
          real fy2FF2#4 = Index<real2,1>(f2FB0);
          real t32FF4#1 = Add<real>(fy2FF2,_t2447);
          real t12FF6#1 = Sub<real>(fy2FF2,_t2447);
          real t02FF8#1 = Sub<real>(fy2FF2,_t2449);
          real4 a2FFA#3 = <real4>[t32FF4,fy2FF2,t12FF6,t02FF8];
          real4 prod33011#1 = Mul<real4>(a2FFA,a32F32);
          real4 sum23012#1 = Add<real4>(a22F31,prod33011);
          real4 prod23013#1 = Mul<real4>(a2FFA,sum23012);
          real4 sum13014#1 = Add<real4>(a12F30,prod23013);
          real4 prod13015#1 = Mul<real4>(a2FFA,sum13014);
          real4 hy2FFC#1 = Add<real4>(a02F2F,prod13015);
          real fx3030#4 = Index<real2,0>(f2FB0);
          real t33032#1 = Add<real>(fx3030,_t2447);
          real t13034#1 = Sub<real>(fx3030,_t2447);
          real t03036#1 = Sub<real>(fx3030,_t2449);
          real4 a3038#3 = <real4>[t33032,fx3030,t13034,t03036];
          real4 prod3304F#1 = Mul<real4>(a3038,a32F32);
          real4 sum23050#1 = Add<real4>(a22F31,prod3304F);
          real4 prod23051#1 = Mul<real4>(a3038,sum23050);
          real4 sum13052#1 = Add<real4>(a12F30,prod23051);
          real4 prod13053#1 = Mul<real4>(a3038,sum13052);
          real4 hx303A#4 = Add<real4>(a02F2F,prod13053);
          real t0306E#1 = Dot<4>(v02FC6,hx303A);
          real t13070#1 = Dot<4>(v12FD4,hx303A);
          real t23072#1 = Dot<4>(v22FE2,hx303A);
          real t33074#1 = Dot<4>(v32FF0,hx303A);
          real4 tv3076#1 = <real4>[t0306E,t13070,t23072,t33074];
          real _t3078#1 = Dot<4>(hy2FFC,tv3076);
          real _t307A#2 = Sub<real>(_t2FAA,_t3078);
          real _t307C#1 = Mul<real>(_t307A,_t307A);
          real score307E#1 = Add<real>(score2EC7,_t307C);
          goto JOIN3081
        JOIN3081:  preds = [ASSIGN307F,COND2EDD]
          real score3080#2 = phi(score307E,score2EC7)
          real _t3082#1 = Dot<2>(r02461,v0723EE);
          real _t3084#1 = Dot<2>(r12467,v0723EE);
          real2 _t3086#1 = <real2>[_t3082,_t3084];
          real2 pos3088#1 = Add<real2>(_t3086,_t2477);
          real2 x308A#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3088);
          bool _t308C#1 = Inside<IMAGE2D<float>,2>(x308A,_t23D4);
          if _t308C then goto ASSIGN3090 else goto ASSIGN46F9
        ASSIGN3090:  preds = [COND308E]
          real2 x308F#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0723EE);
          bool _t3091#1 = Inside<IMAGE2D<int>,2>(x308F,_t23D0);
          goto JOIN3095
        JOIN3095:  preds = [ASSIGN3092,ASSIGN46F9]
          bool _t3093#1 = phi(_t3091,_t3094)
          if _t3093 then goto ASSIGN3098 else goto JOIN323A
        ASSIGN3098:  preds = [COND3096]
          real2 nd3097#2 = Floor<2>(x308A);
          real2 f3099#2 = Sub<real2>(x308A,nd3097);
          int{2} n309B#2 = RealToInt<2>(nd3097);
          int t1309D#4 = -1;
          int t2309F#1 = Index<int{2},0>(n309B);
          int ix30A1#4 = Add<int>(t1309D,t2309F);
          int t230A3#4 = Index<int{2},1>(n309B);
          int iy30A5#1 = Add<int>(t1309D,t230A3);
          int n030A8#8 = 21;
          int t30A9#1 = Mul<int>(n030A8,iy30A5);
          int index30AA#1 = Add<int>(ix30A1,t30A9);
          addr(IMAGE2D<float>) imgBaseAddr30AB#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a30A7#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30AA);
          real4 v030B1#1 = LoadVoxels<IMAGE2D<float>,4>(a30A7);
          int iy30B3#1 = Add<int>(_t246F,t230A3);
          int t30B7#1 = Mul<int>(n030A8,iy30B3);
          int index30B8#1 = Add<int>(ix30A1,t30B7);
          addr(IMAGE2D<float>) a30B5#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30B8);
          real4 v130BF#1 = LoadVoxels<IMAGE2D<float>,4>(a30B5);
          int iy30C1#1 = Add<int>(_t2473,t230A3);
          int t30C5#1 = Mul<int>(n030A8,iy30C1);
          int index30C6#1 = Add<int>(ix30A1,t30C5);
          addr(IMAGE2D<float>) a30C3#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30C6);
          real4 v230CD#1 = LoadVoxels<IMAGE2D<float>,4>(a30C3);
          int iy30CF#1 = Add<int>(_t244B,t230A3);
          int t30D3#1 = Mul<int>(n030A8,iy30CF);
          int index30D4#1 = Add<int>(ix30A1,t30D3);
          addr(IMAGE2D<float>) a30D1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr30AB,index30D4);
          real4 v330DB#1 = LoadVoxels<IMAGE2D<float>,4>(a30D1);
          real fy30DD#4 = Index<real2,1>(f3099);
          real t330DF#1 = Add<real>(fy30DD,_t2447);
          real t130E1#1 = Sub<real>(fy30DD,_t2447);
          real t030E3#1 = Sub<real>(fy30DD,_t2449);
          real4 a30E5#3 = <real4>[t330DF,fy30DD,t130E1,t030E3];
          real _f30F8#2 = 0.133333333333e1;
          real _f30F9#2 = 0.666666666667e0;
          real4 a030E8#4 = <real4>[_f30F8,_f30F9,_f30F9,_f30F8];
          real _f30F4#1 = -0.2e1;
          real _f30F5#2 = 0.0;
          real4 a130E9#4 = <real4>[_f30F4,_f30F5,_f30F5,_t2449];
          real _f30F1#2 = -0.1e1;
          real4 a230EA#4 = <real4>[_t2447,_f30F1,_f30F1,_t2447];
          real _f30EC#1 = -0.166666666667e0;
          real _f30ED#1 = 0.5e0;
          real _f30EE#1 = -0.5e0;
          real _f30EF#1 = 0.166666666667e0;
          real4 a330EB#4 = <real4>[_f30EC,_f30ED,_f30EE,_f30EF];
          real4 prod330FC#1 = Mul<real4>(a30E5,a330EB);
          real4 sum230FD#1 = Add<real4>(a230EA,prod330FC);
          real4 prod230FE#1 = Mul<real4>(a30E5,sum230FD);
          real4 sum130FF#1 = Add<real4>(a130E9,prod230FE);
          real4 prod13100#1 = Mul<real4>(a30E5,sum130FF);
          real4 hy30E7#1 = Add<real4>(a030E8,prod13100);
          real fx311B#4 = Index<real2,0>(f3099);
          real t3311D#1 = Add<real>(fx311B,_t2447);
          real t1311F#1 = Sub<real>(fx311B,_t2447);
          real t03121#1 = Sub<real>(fx311B,_t2449);
          real4 a3123#3 = <real4>[t3311D,fx311B,t1311F,t03121];
          real4 prod3313A#1 = Mul<real4>(a3123,a330EB);
          real4 sum2313B#1 = Add<real4>(a230EA,prod3313A);
          real4 prod2313C#1 = Mul<real4>(a3123,sum2313B);
          real4 sum1313D#1 = Add<real4>(a130E9,prod2313C);
          real4 prod1313E#1 = Mul<real4>(a3123,sum1313D);
          real4 hx3125#4 = Add<real4>(a030E8,prod1313E);
          real t03159#1 = Dot<4>(v030B1,hx3125);
          real t1315B#1 = Dot<4>(v130BF,hx3125);
          real t2315D#1 = Dot<4>(v230CD,hx3125);
          real t3315F#1 = Dot<4>(v330DB,hx3125);
          real4 tv3161#1 = <real4>[t03159,t1315B,t2315D,t3315F];
          real _t3163#1 = Dot<4>(hy30E7,tv3161);
          real2 x3165#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0723EE);
          real2 nd3167#2 = Floor<2>(x3165);
          real2 f3169#2 = Sub<real2>(x3165,nd3167);
          int{2} n316B#2 = RealToInt<2>(nd3167);
          int t2316D#1 = Index<int{2},0>(n316B);
          int ix316F#4 = Add<int>(t1309D,t2316D);
          int t23171#4 = Index<int{2},1>(n316B);
          int iy3173#1 = Add<int>(t1309D,t23171);
          int t3177#1 = Mul<int>(n030A8,iy3173);
          int index3178#1 = Add<int>(ix316F,t3177);
          addr(IMAGE2D<int>) imgBaseAddr3179#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3175#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index3178);
          real4 v0317F#1 = LoadVoxels<IMAGE2D<int>,4>(a3175);
          int iy3181#1 = Add<int>(_t246F,t23171);
          int t3185#1 = Mul<int>(n030A8,iy3181);
          int index3186#1 = Add<int>(ix316F,t3185);
          addr(IMAGE2D<int>) a3183#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index3186);
          real4 v1318D#1 = LoadVoxels<IMAGE2D<int>,4>(a3183);
          int iy318F#1 = Add<int>(_t2473,t23171);
          int t3193#1 = Mul<int>(n030A8,iy318F);
          int index3194#1 = Add<int>(ix316F,t3193);
          addr(IMAGE2D<int>) a3191#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index3194);
          real4 v2319B#1 = LoadVoxels<IMAGE2D<int>,4>(a3191);
          int iy319D#1 = Add<int>(_t244B,t23171);
          int t31A1#1 = Mul<int>(n030A8,iy319D);
          int index31A2#1 = Add<int>(ix316F,t31A1);
          addr(IMAGE2D<int>) a319F#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3179,index31A2);
          real4 v331A9#1 = LoadVoxels<IMAGE2D<int>,4>(a319F);
          real fy31AB#4 = Index<real2,1>(f3169);
          real t331AD#1 = Add<real>(fy31AB,_t2447);
          real t131AF#1 = Sub<real>(fy31AB,_t2447);
          real t031B1#1 = Sub<real>(fy31AB,_t2449);
          real4 a31B3#3 = <real4>[t331AD,fy31AB,t131AF,t031B1];
          real4 prod331CA#1 = Mul<real4>(a31B3,a330EB);
          real4 sum231CB#1 = Add<real4>(a230EA,prod331CA);
          real4 prod231CC#1 = Mul<real4>(a31B3,sum231CB);
          real4 sum131CD#1 = Add<real4>(a130E9,prod231CC);
          real4 prod131CE#1 = Mul<real4>(a31B3,sum131CD);
          real4 hy31B5#1 = Add<real4>(a030E8,prod131CE);
          real fx31E9#4 = Index<real2,0>(f3169);
          real t331EB#1 = Add<real>(fx31E9,_t2447);
          real t131ED#1 = Sub<real>(fx31E9,_t2447);
          real t031EF#1 = Sub<real>(fx31E9,_t2449);
          real4 a31F1#3 = <real4>[t331EB,fx31E9,t131ED,t031EF];
          real4 prod33208#1 = Mul<real4>(a31F1,a330EB);
          real4 sum23209#1 = Add<real4>(a230EA,prod33208);
          real4 prod2320A#1 = Mul<real4>(a31F1,sum23209);
          real4 sum1320B#1 = Add<real4>(a130E9,prod2320A);
          real4 prod1320C#1 = Mul<real4>(a31F1,sum1320B);
          real4 hx31F3#4 = Add<real4>(a030E8,prod1320C);
          real t03227#1 = Dot<4>(v0317F,hx31F3);
          real t13229#1 = Dot<4>(v1318D,hx31F3);
          real t2322B#1 = Dot<4>(v2319B,hx31F3);
          real t3322D#1 = Dot<4>(v331A9,hx31F3);
          real4 tv322F#1 = <real4>[t03227,t13229,t2322B,t3322D];
          real _t3231#1 = Dot<4>(hy31B5,tv322F);
          real _t3233#2 = Sub<real>(_t3163,_t3231);
          real _t3235#1 = Mul<real>(_t3233,_t3233);
          real score3237#1 = Add<real>(score3080,_t3235);
          goto JOIN323A
        JOIN323A:  preds = [ASSIGN3238,COND3096]
          real score3239#2 = phi(score3237,score3080)
          real _t323B#1 = Dot<2>(r02461,v0823F0);
          real _t323D#1 = Dot<2>(r12467,v0823F0);
          real2 _t323F#1 = <real2>[_t323B,_t323D];
          real2 pos3241#1 = Add<real2>(_t323F,_t2477);
          real2 x3243#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3241);
          bool _t3245#1 = Inside<IMAGE2D<float>,2>(x3243,_t23D4);
          if _t3245 then goto ASSIGN3249 else goto ASSIGN46F8
        ASSIGN3249:  preds = [COND3247]
          real2 x3248#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0823F0);
          bool _t324A#1 = Inside<IMAGE2D<int>,2>(x3248,_t23D0);
          goto JOIN324E
        JOIN324E:  preds = [ASSIGN324B,ASSIGN46F8]
          bool _t324C#1 = phi(_t324A,_t324D)
          if _t324C then goto ASSIGN3251 else goto JOIN33F3
        ASSIGN3251:  preds = [COND324F]
          real2 nd3250#2 = Floor<2>(x3243);
          real2 f3252#2 = Sub<real2>(x3243,nd3250);
          int{2} n3254#2 = RealToInt<2>(nd3250);
          int t13256#4 = -1;
          int t23258#1 = Index<int{2},0>(n3254);
          int ix325A#4 = Add<int>(t13256,t23258);
          int t2325C#4 = Index<int{2},1>(n3254);
          int iy325E#1 = Add<int>(t13256,t2325C);
          int n03261#8 = 21;
          int t3262#1 = Mul<int>(n03261,iy325E);
          int index3263#1 = Add<int>(ix325A,t3262);
          addr(IMAGE2D<float>) imgBaseAddr3264#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3260#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index3263);
          real4 v0326A#1 = LoadVoxels<IMAGE2D<float>,4>(a3260);
          int iy326C#1 = Add<int>(_t246F,t2325C);
          int t3270#1 = Mul<int>(n03261,iy326C);
          int index3271#1 = Add<int>(ix325A,t3270);
          addr(IMAGE2D<float>) a326E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index3271);
          real4 v13278#1 = LoadVoxels<IMAGE2D<float>,4>(a326E);
          int iy327A#1 = Add<int>(_t2473,t2325C);
          int t327E#1 = Mul<int>(n03261,iy327A);
          int index327F#1 = Add<int>(ix325A,t327E);
          addr(IMAGE2D<float>) a327C#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index327F);
          real4 v23286#1 = LoadVoxels<IMAGE2D<float>,4>(a327C);
          int iy3288#1 = Add<int>(_t244B,t2325C);
          int t328C#1 = Mul<int>(n03261,iy3288);
          int index328D#1 = Add<int>(ix325A,t328C);
          addr(IMAGE2D<float>) a328A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3264,index328D);
          real4 v33294#1 = LoadVoxels<IMAGE2D<float>,4>(a328A);
          real fy3296#4 = Index<real2,1>(f3252);
          real t33298#1 = Add<real>(fy3296,_t2447);
          real t1329A#1 = Sub<real>(fy3296,_t2447);
          real t0329C#1 = Sub<real>(fy3296,_t2449);
          real4 a329E#3 = <real4>[t33298,fy3296,t1329A,t0329C];
          real _f32B1#2 = 0.133333333333e1;
          real _f32B2#2 = 0.666666666667e0;
          real4 a032A1#4 = <real4>[_f32B1,_f32B2,_f32B2,_f32B1];
          real _f32AD#1 = -0.2e1;
          real _f32AE#2 = 0.0;
          real4 a132A2#4 = <real4>[_f32AD,_f32AE,_f32AE,_t2449];
          real _f32AA#2 = -0.1e1;
          real4 a232A3#4 = <real4>[_t2447,_f32AA,_f32AA,_t2447];
          real _f32A5#1 = -0.166666666667e0;
          real _f32A6#1 = 0.5e0;
          real _f32A7#1 = -0.5e0;
          real _f32A8#1 = 0.166666666667e0;
          real4 a332A4#4 = <real4>[_f32A5,_f32A6,_f32A7,_f32A8];
          real4 prod332B5#1 = Mul<real4>(a329E,a332A4);
          real4 sum232B6#1 = Add<real4>(a232A3,prod332B5);
          real4 prod232B7#1 = Mul<real4>(a329E,sum232B6);
          real4 sum132B8#1 = Add<real4>(a132A2,prod232B7);
          real4 prod132B9#1 = Mul<real4>(a329E,sum132B8);
          real4 hy32A0#1 = Add<real4>(a032A1,prod132B9);
          real fx32D4#4 = Index<real2,0>(f3252);
          real t332D6#1 = Add<real>(fx32D4,_t2447);
          real t132D8#1 = Sub<real>(fx32D4,_t2447);
          real t032DA#1 = Sub<real>(fx32D4,_t2449);
          real4 a32DC#3 = <real4>[t332D6,fx32D4,t132D8,t032DA];
          real4 prod332F3#1 = Mul<real4>(a32DC,a332A4);
          real4 sum232F4#1 = Add<real4>(a232A3,prod332F3);
          real4 prod232F5#1 = Mul<real4>(a32DC,sum232F4);
          real4 sum132F6#1 = Add<real4>(a132A2,prod232F5);
          real4 prod132F7#1 = Mul<real4>(a32DC,sum132F6);
          real4 hx32DE#4 = Add<real4>(a032A1,prod132F7);
          real t03312#1 = Dot<4>(v0326A,hx32DE);
          real t13314#1 = Dot<4>(v13278,hx32DE);
          real t23316#1 = Dot<4>(v23286,hx32DE);
          real t33318#1 = Dot<4>(v33294,hx32DE);
          real4 tv331A#1 = <real4>[t03312,t13314,t23316,t33318];
          real _t331C#1 = Dot<4>(hy32A0,tv331A);
          real2 x331E#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0823F0);
          real2 nd3320#2 = Floor<2>(x331E);
          real2 f3322#2 = Sub<real2>(x331E,nd3320);
          int{2} n3324#2 = RealToInt<2>(nd3320);
          int t23326#1 = Index<int{2},0>(n3324);
          int ix3328#4 = Add<int>(t13256,t23326);
          int t2332A#4 = Index<int{2},1>(n3324);
          int iy332C#1 = Add<int>(t13256,t2332A);
          int t3330#1 = Mul<int>(n03261,iy332C);
          int index3331#1 = Add<int>(ix3328,t3330);
          addr(IMAGE2D<int>) imgBaseAddr3332#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a332E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index3331);
          real4 v03338#1 = LoadVoxels<IMAGE2D<int>,4>(a332E);
          int iy333A#1 = Add<int>(_t246F,t2332A);
          int t333E#1 = Mul<int>(n03261,iy333A);
          int index333F#1 = Add<int>(ix3328,t333E);
          addr(IMAGE2D<int>) a333C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index333F);
          real4 v13346#1 = LoadVoxels<IMAGE2D<int>,4>(a333C);
          int iy3348#1 = Add<int>(_t2473,t2332A);
          int t334C#1 = Mul<int>(n03261,iy3348);
          int index334D#1 = Add<int>(ix3328,t334C);
          addr(IMAGE2D<int>) a334A#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index334D);
          real4 v23354#1 = LoadVoxels<IMAGE2D<int>,4>(a334A);
          int iy3356#1 = Add<int>(_t244B,t2332A);
          int t335A#1 = Mul<int>(n03261,iy3356);
          int index335B#1 = Add<int>(ix3328,t335A);
          addr(IMAGE2D<int>) a3358#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3332,index335B);
          real4 v33362#1 = LoadVoxels<IMAGE2D<int>,4>(a3358);
          real fy3364#4 = Index<real2,1>(f3322);
          real t33366#1 = Add<real>(fy3364,_t2447);
          real t13368#1 = Sub<real>(fy3364,_t2447);
          real t0336A#1 = Sub<real>(fy3364,_t2449);
          real4 a336C#3 = <real4>[t33366,fy3364,t13368,t0336A];
          real4 prod33383#1 = Mul<real4>(a336C,a332A4);
          real4 sum23384#1 = Add<real4>(a232A3,prod33383);
          real4 prod23385#1 = Mul<real4>(a336C,sum23384);
          real4 sum13386#1 = Add<real4>(a132A2,prod23385);
          real4 prod13387#1 = Mul<real4>(a336C,sum13386);
          real4 hy336E#1 = Add<real4>(a032A1,prod13387);
          real fx33A2#4 = Index<real2,0>(f3322);
          real t333A4#1 = Add<real>(fx33A2,_t2447);
          real t133A6#1 = Sub<real>(fx33A2,_t2447);
          real t033A8#1 = Sub<real>(fx33A2,_t2449);
          real4 a33AA#3 = <real4>[t333A4,fx33A2,t133A6,t033A8];
          real4 prod333C1#1 = Mul<real4>(a33AA,a332A4);
          real4 sum233C2#1 = Add<real4>(a232A3,prod333C1);
          real4 prod233C3#1 = Mul<real4>(a33AA,sum233C2);
          real4 sum133C4#1 = Add<real4>(a132A2,prod233C3);
          real4 prod133C5#1 = Mul<real4>(a33AA,sum133C4);
          real4 hx33AC#4 = Add<real4>(a032A1,prod133C5);
          real t033E0#1 = Dot<4>(v03338,hx33AC);
          real t133E2#1 = Dot<4>(v13346,hx33AC);
          real t233E4#1 = Dot<4>(v23354,hx33AC);
          real t333E6#1 = Dot<4>(v33362,hx33AC);
          real4 tv33E8#1 = <real4>[t033E0,t133E2,t233E4,t333E6];
          real _t33EA#1 = Dot<4>(hy336E,tv33E8);
          real _t33EC#2 = Sub<real>(_t331C,_t33EA);
          real _t33EE#1 = Mul<real>(_t33EC,_t33EC);
          real score33F0#1 = Add<real>(score3239,_t33EE);
          goto JOIN33F3
        JOIN33F3:  preds = [ASSIGN33F1,COND324F]
          real score33F2#2 = phi(score33F0,score3239)
          real _t33F4#1 = Dot<2>(r02461,v0923F2);
          real _t33F6#1 = Dot<2>(r12467,v0923F2);
          real2 _t33F8#1 = <real2>[_t33F4,_t33F6];
          real2 pos33FA#1 = Add<real2>(_t33F8,_t2477);
          real2 x33FC#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos33FA);
          bool _t33FE#1 = Inside<IMAGE2D<float>,2>(x33FC,_t23D4);
          if _t33FE then goto ASSIGN3402 else goto ASSIGN46F7
        ASSIGN3402:  preds = [COND3400]
          real2 x3401#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0923F2);
          bool _t3403#1 = Inside<IMAGE2D<int>,2>(x3401,_t23D0);
          goto JOIN3407
        JOIN3407:  preds = [ASSIGN3404,ASSIGN46F7]
          bool _t3405#1 = phi(_t3403,_t3406)
          if _t3405 then goto ASSIGN340A else goto JOIN35AC
        ASSIGN340A:  preds = [COND3408]
          real2 nd3409#2 = Floor<2>(x33FC);
          real2 f340B#2 = Sub<real2>(x33FC,nd3409);
          int{2} n340D#2 = RealToInt<2>(nd3409);
          int t1340F#4 = -1;
          int t23411#1 = Index<int{2},0>(n340D);
          int ix3413#4 = Add<int>(t1340F,t23411);
          int t23415#4 = Index<int{2},1>(n340D);
          int iy3417#1 = Add<int>(t1340F,t23415);
          int n0341A#8 = 21;
          int t341B#1 = Mul<int>(n0341A,iy3417);
          int index341C#1 = Add<int>(ix3413,t341B);
          addr(IMAGE2D<float>) imgBaseAddr341D#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3419#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index341C);
          real4 v03423#1 = LoadVoxels<IMAGE2D<float>,4>(a3419);
          int iy3425#1 = Add<int>(_t246F,t23415);
          int t3429#1 = Mul<int>(n0341A,iy3425);
          int index342A#1 = Add<int>(ix3413,t3429);
          addr(IMAGE2D<float>) a3427#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index342A);
          real4 v13431#1 = LoadVoxels<IMAGE2D<float>,4>(a3427);
          int iy3433#1 = Add<int>(_t2473,t23415);
          int t3437#1 = Mul<int>(n0341A,iy3433);
          int index3438#1 = Add<int>(ix3413,t3437);
          addr(IMAGE2D<float>) a3435#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index3438);
          real4 v2343F#1 = LoadVoxels<IMAGE2D<float>,4>(a3435);
          int iy3441#1 = Add<int>(_t244B,t23415);
          int t3445#1 = Mul<int>(n0341A,iy3441);
          int index3446#1 = Add<int>(ix3413,t3445);
          addr(IMAGE2D<float>) a3443#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr341D,index3446);
          real4 v3344D#1 = LoadVoxels<IMAGE2D<float>,4>(a3443);
          real fy344F#4 = Index<real2,1>(f340B);
          real t33451#1 = Add<real>(fy344F,_t2447);
          real t13453#1 = Sub<real>(fy344F,_t2447);
          real t03455#1 = Sub<real>(fy344F,_t2449);
          real4 a3457#3 = <real4>[t33451,fy344F,t13453,t03455];
          real _f346A#2 = 0.133333333333e1;
          real _f346B#2 = 0.666666666667e0;
          real4 a0345A#4 = <real4>[_f346A,_f346B,_f346B,_f346A];
          real _f3466#1 = -0.2e1;
          real _f3467#2 = 0.0;
          real4 a1345B#4 = <real4>[_f3466,_f3467,_f3467,_t2449];
          real _f3463#2 = -0.1e1;
          real4 a2345C#4 = <real4>[_t2447,_f3463,_f3463,_t2447];
          real _f345E#1 = -0.166666666667e0;
          real _f345F#1 = 0.5e0;
          real _f3460#1 = -0.5e0;
          real _f3461#1 = 0.166666666667e0;
          real4 a3345D#4 = <real4>[_f345E,_f345F,_f3460,_f3461];
          real4 prod3346E#1 = Mul<real4>(a3457,a3345D);
          real4 sum2346F#1 = Add<real4>(a2345C,prod3346E);
          real4 prod23470#1 = Mul<real4>(a3457,sum2346F);
          real4 sum13471#1 = Add<real4>(a1345B,prod23470);
          real4 prod13472#1 = Mul<real4>(a3457,sum13471);
          real4 hy3459#1 = Add<real4>(a0345A,prod13472);
          real fx348D#4 = Index<real2,0>(f340B);
          real t3348F#1 = Add<real>(fx348D,_t2447);
          real t13491#1 = Sub<real>(fx348D,_t2447);
          real t03493#1 = Sub<real>(fx348D,_t2449);
          real4 a3495#3 = <real4>[t3348F,fx348D,t13491,t03493];
          real4 prod334AC#1 = Mul<real4>(a3495,a3345D);
          real4 sum234AD#1 = Add<real4>(a2345C,prod334AC);
          real4 prod234AE#1 = Mul<real4>(a3495,sum234AD);
          real4 sum134AF#1 = Add<real4>(a1345B,prod234AE);
          real4 prod134B0#1 = Mul<real4>(a3495,sum134AF);
          real4 hx3497#4 = Add<real4>(a0345A,prod134B0);
          real t034CB#1 = Dot<4>(v03423,hx3497);
          real t134CD#1 = Dot<4>(v13431,hx3497);
          real t234CF#1 = Dot<4>(v2343F,hx3497);
          real t334D1#1 = Dot<4>(v3344D,hx3497);
          real4 tv34D3#1 = <real4>[t034CB,t134CD,t234CF,t334D1];
          real _t34D5#1 = Dot<4>(hy3459,tv34D3);
          real2 x34D7#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v0923F2);
          real2 nd34D9#2 = Floor<2>(x34D7);
          real2 f34DB#2 = Sub<real2>(x34D7,nd34D9);
          int{2} n34DD#2 = RealToInt<2>(nd34D9);
          int t234DF#1 = Index<int{2},0>(n34DD);
          int ix34E1#4 = Add<int>(t1340F,t234DF);
          int t234E3#4 = Index<int{2},1>(n34DD);
          int iy34E5#1 = Add<int>(t1340F,t234E3);
          int t34E9#1 = Mul<int>(n0341A,iy34E5);
          int index34EA#1 = Add<int>(ix34E1,t34E9);
          addr(IMAGE2D<int>) imgBaseAddr34EB#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a34E7#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index34EA);
          real4 v034F1#1 = LoadVoxels<IMAGE2D<int>,4>(a34E7);
          int iy34F3#1 = Add<int>(_t246F,t234E3);
          int t34F7#1 = Mul<int>(n0341A,iy34F3);
          int index34F8#1 = Add<int>(ix34E1,t34F7);
          addr(IMAGE2D<int>) a34F5#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index34F8);
          real4 v134FF#1 = LoadVoxels<IMAGE2D<int>,4>(a34F5);
          int iy3501#1 = Add<int>(_t2473,t234E3);
          int t3505#1 = Mul<int>(n0341A,iy3501);
          int index3506#1 = Add<int>(ix34E1,t3505);
          addr(IMAGE2D<int>) a3503#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index3506);
          real4 v2350D#1 = LoadVoxels<IMAGE2D<int>,4>(a3503);
          int iy350F#1 = Add<int>(_t244B,t234E3);
          int t3513#1 = Mul<int>(n0341A,iy350F);
          int index3514#1 = Add<int>(ix34E1,t3513);
          addr(IMAGE2D<int>) a3511#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr34EB,index3514);
          real4 v3351B#1 = LoadVoxels<IMAGE2D<int>,4>(a3511);
          real fy351D#4 = Index<real2,1>(f34DB);
          real t3351F#1 = Add<real>(fy351D,_t2447);
          real t13521#1 = Sub<real>(fy351D,_t2447);
          real t03523#1 = Sub<real>(fy351D,_t2449);
          real4 a3525#3 = <real4>[t3351F,fy351D,t13521,t03523];
          real4 prod3353C#1 = Mul<real4>(a3525,a3345D);
          real4 sum2353D#1 = Add<real4>(a2345C,prod3353C);
          real4 prod2353E#1 = Mul<real4>(a3525,sum2353D);
          real4 sum1353F#1 = Add<real4>(a1345B,prod2353E);
          real4 prod13540#1 = Mul<real4>(a3525,sum1353F);
          real4 hy3527#1 = Add<real4>(a0345A,prod13540);
          real fx355B#4 = Index<real2,0>(f34DB);
          real t3355D#1 = Add<real>(fx355B,_t2447);
          real t1355F#1 = Sub<real>(fx355B,_t2447);
          real t03561#1 = Sub<real>(fx355B,_t2449);
          real4 a3563#3 = <real4>[t3355D,fx355B,t1355F,t03561];
          real4 prod3357A#1 = Mul<real4>(a3563,a3345D);
          real4 sum2357B#1 = Add<real4>(a2345C,prod3357A);
          real4 prod2357C#1 = Mul<real4>(a3563,sum2357B);
          real4 sum1357D#1 = Add<real4>(a1345B,prod2357C);
          real4 prod1357E#1 = Mul<real4>(a3563,sum1357D);
          real4 hx3565#4 = Add<real4>(a0345A,prod1357E);
          real t03599#1 = Dot<4>(v034F1,hx3565);
          real t1359B#1 = Dot<4>(v134FF,hx3565);
          real t2359D#1 = Dot<4>(v2350D,hx3565);
          real t3359F#1 = Dot<4>(v3351B,hx3565);
          real4 tv35A1#1 = <real4>[t03599,t1359B,t2359D,t3359F];
          real _t35A3#1 = Dot<4>(hy3527,tv35A1);
          real _t35A5#2 = Sub<real>(_t34D5,_t35A3);
          real _t35A7#1 = Mul<real>(_t35A5,_t35A5);
          real score35A9#1 = Add<real>(score33F2,_t35A7);
          goto JOIN35AC
        JOIN35AC:  preds = [ASSIGN35AA,COND3408]
          real score35AB#2 = phi(score35A9,score33F2)
          real _t35AD#1 = Dot<2>(r02461,v1023F4);
          real _t35AF#1 = Dot<2>(r12467,v1023F4);
          real2 _t35B1#1 = <real2>[_t35AD,_t35AF];
          real2 pos35B3#1 = Add<real2>(_t35B1,_t2477);
          real2 x35B5#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos35B3);
          bool _t35B7#1 = Inside<IMAGE2D<float>,2>(x35B5,_t23D4);
          if _t35B7 then goto ASSIGN35BB else goto ASSIGN46F6
        ASSIGN35BB:  preds = [COND35B9]
          real2 x35BA#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1023F4);
          bool _t35BC#1 = Inside<IMAGE2D<int>,2>(x35BA,_t23D0);
          goto JOIN35C0
        JOIN35C0:  preds = [ASSIGN35BD,ASSIGN46F6]
          bool _t35BE#1 = phi(_t35BC,_t35BF)
          if _t35BE then goto ASSIGN35C3 else goto JOIN3765
        ASSIGN35C3:  preds = [COND35C1]
          real2 nd35C2#2 = Floor<2>(x35B5);
          real2 f35C4#2 = Sub<real2>(x35B5,nd35C2);
          int{2} n35C6#2 = RealToInt<2>(nd35C2);
          int t135C8#4 = -1;
          int t235CA#1 = Index<int{2},0>(n35C6);
          int ix35CC#4 = Add<int>(t135C8,t235CA);
          int t235CE#4 = Index<int{2},1>(n35C6);
          int iy35D0#1 = Add<int>(t135C8,t235CE);
          int n035D3#8 = 21;
          int t35D4#1 = Mul<int>(n035D3,iy35D0);
          int index35D5#1 = Add<int>(ix35CC,t35D4);
          addr(IMAGE2D<float>) imgBaseAddr35D6#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a35D2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35D5);
          real4 v035DC#1 = LoadVoxels<IMAGE2D<float>,4>(a35D2);
          int iy35DE#1 = Add<int>(_t246F,t235CE);
          int t35E2#1 = Mul<int>(n035D3,iy35DE);
          int index35E3#1 = Add<int>(ix35CC,t35E2);
          addr(IMAGE2D<float>) a35E0#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35E3);
          real4 v135EA#1 = LoadVoxels<IMAGE2D<float>,4>(a35E0);
          int iy35EC#1 = Add<int>(_t2473,t235CE);
          int t35F0#1 = Mul<int>(n035D3,iy35EC);
          int index35F1#1 = Add<int>(ix35CC,t35F0);
          addr(IMAGE2D<float>) a35EE#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35F1);
          real4 v235F8#1 = LoadVoxels<IMAGE2D<float>,4>(a35EE);
          int iy35FA#1 = Add<int>(_t244B,t235CE);
          int t35FE#1 = Mul<int>(n035D3,iy35FA);
          int index35FF#1 = Add<int>(ix35CC,t35FE);
          addr(IMAGE2D<float>) a35FC#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr35D6,index35FF);
          real4 v33606#1 = LoadVoxels<IMAGE2D<float>,4>(a35FC);
          real fy3608#4 = Index<real2,1>(f35C4);
          real t3360A#1 = Add<real>(fy3608,_t2447);
          real t1360C#1 = Sub<real>(fy3608,_t2447);
          real t0360E#1 = Sub<real>(fy3608,_t2449);
          real4 a3610#3 = <real4>[t3360A,fy3608,t1360C,t0360E];
          real _f3623#2 = 0.133333333333e1;
          real _f3624#2 = 0.666666666667e0;
          real4 a03613#4 = <real4>[_f3623,_f3624,_f3624,_f3623];
          real _f361F#1 = -0.2e1;
          real _f3620#2 = 0.0;
          real4 a13614#4 = <real4>[_f361F,_f3620,_f3620,_t2449];
          real _f361C#2 = -0.1e1;
          real4 a23615#4 = <real4>[_t2447,_f361C,_f361C,_t2447];
          real _f3617#1 = -0.166666666667e0;
          real _f3618#1 = 0.5e0;
          real _f3619#1 = -0.5e0;
          real _f361A#1 = 0.166666666667e0;
          real4 a33616#4 = <real4>[_f3617,_f3618,_f3619,_f361A];
          real4 prod33627#1 = Mul<real4>(a3610,a33616);
          real4 sum23628#1 = Add<real4>(a23615,prod33627);
          real4 prod23629#1 = Mul<real4>(a3610,sum23628);
          real4 sum1362A#1 = Add<real4>(a13614,prod23629);
          real4 prod1362B#1 = Mul<real4>(a3610,sum1362A);
          real4 hy3612#1 = Add<real4>(a03613,prod1362B);
          real fx3646#4 = Index<real2,0>(f35C4);
          real t33648#1 = Add<real>(fx3646,_t2447);
          real t1364A#1 = Sub<real>(fx3646,_t2447);
          real t0364C#1 = Sub<real>(fx3646,_t2449);
          real4 a364E#3 = <real4>[t33648,fx3646,t1364A,t0364C];
          real4 prod33665#1 = Mul<real4>(a364E,a33616);
          real4 sum23666#1 = Add<real4>(a23615,prod33665);
          real4 prod23667#1 = Mul<real4>(a364E,sum23666);
          real4 sum13668#1 = Add<real4>(a13614,prod23667);
          real4 prod13669#1 = Mul<real4>(a364E,sum13668);
          real4 hx3650#4 = Add<real4>(a03613,prod13669);
          real t03684#1 = Dot<4>(v035DC,hx3650);
          real t13686#1 = Dot<4>(v135EA,hx3650);
          real t23688#1 = Dot<4>(v235F8,hx3650);
          real t3368A#1 = Dot<4>(v33606,hx3650);
          real4 tv368C#1 = <real4>[t03684,t13686,t23688,t3368A];
          real _t368E#1 = Dot<4>(hy3612,tv368C);
          real2 x3690#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1023F4);
          real2 nd3692#2 = Floor<2>(x3690);
          real2 f3694#2 = Sub<real2>(x3690,nd3692);
          int{2} n3696#2 = RealToInt<2>(nd3692);
          int t23698#1 = Index<int{2},0>(n3696);
          int ix369A#4 = Add<int>(t135C8,t23698);
          int t2369C#4 = Index<int{2},1>(n3696);
          int iy369E#1 = Add<int>(t135C8,t2369C);
          int t36A2#1 = Mul<int>(n035D3,iy369E);
          int index36A3#1 = Add<int>(ix369A,t36A2);
          addr(IMAGE2D<int>) imgBaseAddr36A4#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a36A0#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36A3);
          real4 v036AA#1 = LoadVoxels<IMAGE2D<int>,4>(a36A0);
          int iy36AC#1 = Add<int>(_t246F,t2369C);
          int t36B0#1 = Mul<int>(n035D3,iy36AC);
          int index36B1#1 = Add<int>(ix369A,t36B0);
          addr(IMAGE2D<int>) a36AE#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36B1);
          real4 v136B8#1 = LoadVoxels<IMAGE2D<int>,4>(a36AE);
          int iy36BA#1 = Add<int>(_t2473,t2369C);
          int t36BE#1 = Mul<int>(n035D3,iy36BA);
          int index36BF#1 = Add<int>(ix369A,t36BE);
          addr(IMAGE2D<int>) a36BC#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36BF);
          real4 v236C6#1 = LoadVoxels<IMAGE2D<int>,4>(a36BC);
          int iy36C8#1 = Add<int>(_t244B,t2369C);
          int t36CC#1 = Mul<int>(n035D3,iy36C8);
          int index36CD#1 = Add<int>(ix369A,t36CC);
          addr(IMAGE2D<int>) a36CA#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr36A4,index36CD);
          real4 v336D4#1 = LoadVoxels<IMAGE2D<int>,4>(a36CA);
          real fy36D6#4 = Index<real2,1>(f3694);
          real t336D8#1 = Add<real>(fy36D6,_t2447);
          real t136DA#1 = Sub<real>(fy36D6,_t2447);
          real t036DC#1 = Sub<real>(fy36D6,_t2449);
          real4 a36DE#3 = <real4>[t336D8,fy36D6,t136DA,t036DC];
          real4 prod336F5#1 = Mul<real4>(a36DE,a33616);
          real4 sum236F6#1 = Add<real4>(a23615,prod336F5);
          real4 prod236F7#1 = Mul<real4>(a36DE,sum236F6);
          real4 sum136F8#1 = Add<real4>(a13614,prod236F7);
          real4 prod136F9#1 = Mul<real4>(a36DE,sum136F8);
          real4 hy36E0#1 = Add<real4>(a03613,prod136F9);
          real fx3714#4 = Index<real2,0>(f3694);
          real t33716#1 = Add<real>(fx3714,_t2447);
          real t13718#1 = Sub<real>(fx3714,_t2447);
          real t0371A#1 = Sub<real>(fx3714,_t2449);
          real4 a371C#3 = <real4>[t33716,fx3714,t13718,t0371A];
          real4 prod33733#1 = Mul<real4>(a371C,a33616);
          real4 sum23734#1 = Add<real4>(a23615,prod33733);
          real4 prod23735#1 = Mul<real4>(a371C,sum23734);
          real4 sum13736#1 = Add<real4>(a13614,prod23735);
          real4 prod13737#1 = Mul<real4>(a371C,sum13736);
          real4 hx371E#4 = Add<real4>(a03613,prod13737);
          real t03752#1 = Dot<4>(v036AA,hx371E);
          real t13754#1 = Dot<4>(v136B8,hx371E);
          real t23756#1 = Dot<4>(v236C6,hx371E);
          real t33758#1 = Dot<4>(v336D4,hx371E);
          real4 tv375A#1 = <real4>[t03752,t13754,t23756,t33758];
          real _t375C#1 = Dot<4>(hy36E0,tv375A);
          real _t375E#2 = Sub<real>(_t368E,_t375C);
          real _t3760#1 = Mul<real>(_t375E,_t375E);
          real score3762#1 = Add<real>(score35AB,_t3760);
          goto JOIN3765
        JOIN3765:  preds = [ASSIGN3763,COND35C1]
          real score3764#2 = phi(score3762,score35AB)
          real _t3766#1 = Dot<2>(r02461,v1123F6);
          real _t3768#1 = Dot<2>(r12467,v1123F6);
          real2 _t376A#1 = <real2>[_t3766,_t3768];
          real2 pos376C#1 = Add<real2>(_t376A,_t2477);
          real2 x376E#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos376C);
          bool _t3770#1 = Inside<IMAGE2D<float>,2>(x376E,_t23D4);
          if _t3770 then goto ASSIGN3774 else goto ASSIGN46F5
        ASSIGN3774:  preds = [COND3772]
          real2 x3773#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1123F6);
          bool _t3775#1 = Inside<IMAGE2D<int>,2>(x3773,_t23D0);
          goto JOIN3779
        JOIN3779:  preds = [ASSIGN3776,ASSIGN46F5]
          bool _t3777#1 = phi(_t3775,_t3778)
          if _t3777 then goto ASSIGN377C else goto JOIN391E
        ASSIGN377C:  preds = [COND377A]
          real2 nd377B#2 = Floor<2>(x376E);
          real2 f377D#2 = Sub<real2>(x376E,nd377B);
          int{2} n377F#2 = RealToInt<2>(nd377B);
          int t13781#4 = -1;
          int t23783#1 = Index<int{2},0>(n377F);
          int ix3785#4 = Add<int>(t13781,t23783);
          int t23787#4 = Index<int{2},1>(n377F);
          int iy3789#1 = Add<int>(t13781,t23787);
          int n0378C#8 = 21;
          int t378D#1 = Mul<int>(n0378C,iy3789);
          int index378E#1 = Add<int>(ix3785,t378D);
          addr(IMAGE2D<float>) imgBaseAddr378F#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a378B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index378E);
          real4 v03795#1 = LoadVoxels<IMAGE2D<float>,4>(a378B);
          int iy3797#1 = Add<int>(_t246F,t23787);
          int t379B#1 = Mul<int>(n0378C,iy3797);
          int index379C#1 = Add<int>(ix3785,t379B);
          addr(IMAGE2D<float>) a3799#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index379C);
          real4 v137A3#1 = LoadVoxels<IMAGE2D<float>,4>(a3799);
          int iy37A5#1 = Add<int>(_t2473,t23787);
          int t37A9#1 = Mul<int>(n0378C,iy37A5);
          int index37AA#1 = Add<int>(ix3785,t37A9);
          addr(IMAGE2D<float>) a37A7#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index37AA);
          real4 v237B1#1 = LoadVoxels<IMAGE2D<float>,4>(a37A7);
          int iy37B3#1 = Add<int>(_t244B,t23787);
          int t37B7#1 = Mul<int>(n0378C,iy37B3);
          int index37B8#1 = Add<int>(ix3785,t37B7);
          addr(IMAGE2D<float>) a37B5#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr378F,index37B8);
          real4 v337BF#1 = LoadVoxels<IMAGE2D<float>,4>(a37B5);
          real fy37C1#4 = Index<real2,1>(f377D);
          real t337C3#1 = Add<real>(fy37C1,_t2447);
          real t137C5#1 = Sub<real>(fy37C1,_t2447);
          real t037C7#1 = Sub<real>(fy37C1,_t2449);
          real4 a37C9#3 = <real4>[t337C3,fy37C1,t137C5,t037C7];
          real _f37DC#2 = 0.133333333333e1;
          real _f37DD#2 = 0.666666666667e0;
          real4 a037CC#4 = <real4>[_f37DC,_f37DD,_f37DD,_f37DC];
          real _f37D8#1 = -0.2e1;
          real _f37D9#2 = 0.0;
          real4 a137CD#4 = <real4>[_f37D8,_f37D9,_f37D9,_t2449];
          real _f37D5#2 = -0.1e1;
          real4 a237CE#4 = <real4>[_t2447,_f37D5,_f37D5,_t2447];
          real _f37D0#1 = -0.166666666667e0;
          real _f37D1#1 = 0.5e0;
          real _f37D2#1 = -0.5e0;
          real _f37D3#1 = 0.166666666667e0;
          real4 a337CF#4 = <real4>[_f37D0,_f37D1,_f37D2,_f37D3];
          real4 prod337E0#1 = Mul<real4>(a37C9,a337CF);
          real4 sum237E1#1 = Add<real4>(a237CE,prod337E0);
          real4 prod237E2#1 = Mul<real4>(a37C9,sum237E1);
          real4 sum137E3#1 = Add<real4>(a137CD,prod237E2);
          real4 prod137E4#1 = Mul<real4>(a37C9,sum137E3);
          real4 hy37CB#1 = Add<real4>(a037CC,prod137E4);
          real fx37FF#4 = Index<real2,0>(f377D);
          real t33801#1 = Add<real>(fx37FF,_t2447);
          real t13803#1 = Sub<real>(fx37FF,_t2447);
          real t03805#1 = Sub<real>(fx37FF,_t2449);
          real4 a3807#3 = <real4>[t33801,fx37FF,t13803,t03805];
          real4 prod3381E#1 = Mul<real4>(a3807,a337CF);
          real4 sum2381F#1 = Add<real4>(a237CE,prod3381E);
          real4 prod23820#1 = Mul<real4>(a3807,sum2381F);
          real4 sum13821#1 = Add<real4>(a137CD,prod23820);
          real4 prod13822#1 = Mul<real4>(a3807,sum13821);
          real4 hx3809#4 = Add<real4>(a037CC,prod13822);
          real t0383D#1 = Dot<4>(v03795,hx3809);
          real t1383F#1 = Dot<4>(v137A3,hx3809);
          real t23841#1 = Dot<4>(v237B1,hx3809);
          real t33843#1 = Dot<4>(v337BF,hx3809);
          real4 tv3845#1 = <real4>[t0383D,t1383F,t23841,t33843];
          real _t3847#1 = Dot<4>(hy37CB,tv3845);
          real2 x3849#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1123F6);
          real2 nd384B#2 = Floor<2>(x3849);
          real2 f384D#2 = Sub<real2>(x3849,nd384B);
          int{2} n384F#2 = RealToInt<2>(nd384B);
          int t23851#1 = Index<int{2},0>(n384F);
          int ix3853#4 = Add<int>(t13781,t23851);
          int t23855#4 = Index<int{2},1>(n384F);
          int iy3857#1 = Add<int>(t13781,t23855);
          int t385B#1 = Mul<int>(n0378C,iy3857);
          int index385C#1 = Add<int>(ix3853,t385B);
          addr(IMAGE2D<int>) imgBaseAddr385D#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3859#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index385C);
          real4 v03863#1 = LoadVoxels<IMAGE2D<int>,4>(a3859);
          int iy3865#1 = Add<int>(_t246F,t23855);
          int t3869#1 = Mul<int>(n0378C,iy3865);
          int index386A#1 = Add<int>(ix3853,t3869);
          addr(IMAGE2D<int>) a3867#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index386A);
          real4 v13871#1 = LoadVoxels<IMAGE2D<int>,4>(a3867);
          int iy3873#1 = Add<int>(_t2473,t23855);
          int t3877#1 = Mul<int>(n0378C,iy3873);
          int index3878#1 = Add<int>(ix3853,t3877);
          addr(IMAGE2D<int>) a3875#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index3878);
          real4 v2387F#1 = LoadVoxels<IMAGE2D<int>,4>(a3875);
          int iy3881#1 = Add<int>(_t244B,t23855);
          int t3885#1 = Mul<int>(n0378C,iy3881);
          int index3886#1 = Add<int>(ix3853,t3885);
          addr(IMAGE2D<int>) a3883#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr385D,index3886);
          real4 v3388D#1 = LoadVoxels<IMAGE2D<int>,4>(a3883);
          real fy388F#4 = Index<real2,1>(f384D);
          real t33891#1 = Add<real>(fy388F,_t2447);
          real t13893#1 = Sub<real>(fy388F,_t2447);
          real t03895#1 = Sub<real>(fy388F,_t2449);
          real4 a3897#3 = <real4>[t33891,fy388F,t13893,t03895];
          real4 prod338AE#1 = Mul<real4>(a3897,a337CF);
          real4 sum238AF#1 = Add<real4>(a237CE,prod338AE);
          real4 prod238B0#1 = Mul<real4>(a3897,sum238AF);
          real4 sum138B1#1 = Add<real4>(a137CD,prod238B0);
          real4 prod138B2#1 = Mul<real4>(a3897,sum138B1);
          real4 hy3899#1 = Add<real4>(a037CC,prod138B2);
          real fx38CD#4 = Index<real2,0>(f384D);
          real t338CF#1 = Add<real>(fx38CD,_t2447);
          real t138D1#1 = Sub<real>(fx38CD,_t2447);
          real t038D3#1 = Sub<real>(fx38CD,_t2449);
          real4 a38D5#3 = <real4>[t338CF,fx38CD,t138D1,t038D3];
          real4 prod338EC#1 = Mul<real4>(a38D5,a337CF);
          real4 sum238ED#1 = Add<real4>(a237CE,prod338EC);
          real4 prod238EE#1 = Mul<real4>(a38D5,sum238ED);
          real4 sum138EF#1 = Add<real4>(a137CD,prod238EE);
          real4 prod138F0#1 = Mul<real4>(a38D5,sum138EF);
          real4 hx38D7#4 = Add<real4>(a037CC,prod138F0);
          real t0390B#1 = Dot<4>(v03863,hx38D7);
          real t1390D#1 = Dot<4>(v13871,hx38D7);
          real t2390F#1 = Dot<4>(v2387F,hx38D7);
          real t33911#1 = Dot<4>(v3388D,hx38D7);
          real4 tv3913#1 = <real4>[t0390B,t1390D,t2390F,t33911];
          real _t3915#1 = Dot<4>(hy3899,tv3913);
          real _t3917#2 = Sub<real>(_t3847,_t3915);
          real _t3919#1 = Mul<real>(_t3917,_t3917);
          real score391B#1 = Add<real>(score3764,_t3919);
          goto JOIN391E
        JOIN391E:  preds = [ASSIGN391C,COND377A]
          real score391D#2 = phi(score391B,score3764)
          real _t391F#1 = Dot<2>(r02461,v1223F8);
          real _t3921#1 = Dot<2>(r12467,v1223F8);
          real2 _t3923#1 = <real2>[_t391F,_t3921];
          real2 pos3925#1 = Add<real2>(_t3923,_t2477);
          real2 x3927#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3925);
          bool _t3929#1 = Inside<IMAGE2D<float>,2>(x3927,_t23D4);
          if _t3929 then goto ASSIGN392D else goto ASSIGN46F4
        ASSIGN392D:  preds = [COND392B]
          real2 x392C#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1223F8);
          bool _t392E#1 = Inside<IMAGE2D<int>,2>(x392C,_t23D0);
          goto JOIN3932
        JOIN3932:  preds = [ASSIGN392F,ASSIGN46F4]
          bool _t3930#1 = phi(_t392E,_t3931)
          if _t3930 then goto ASSIGN3935 else goto JOIN3AD7
        ASSIGN3935:  preds = [COND3933]
          real2 nd3934#2 = Floor<2>(x3927);
          real2 f3936#2 = Sub<real2>(x3927,nd3934);
          int{2} n3938#2 = RealToInt<2>(nd3934);
          int t1393A#4 = -1;
          int t2393C#1 = Index<int{2},0>(n3938);
          int ix393E#4 = Add<int>(t1393A,t2393C);
          int t23940#4 = Index<int{2},1>(n3938);
          int iy3942#1 = Add<int>(t1393A,t23940);
          int n03945#8 = 21;
          int t3946#1 = Mul<int>(n03945,iy3942);
          int index3947#1 = Add<int>(ix393E,t3946);
          addr(IMAGE2D<float>) imgBaseAddr3948#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3944#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3947);
          real4 v0394E#1 = LoadVoxels<IMAGE2D<float>,4>(a3944);
          int iy3950#1 = Add<int>(_t246F,t23940);
          int t3954#1 = Mul<int>(n03945,iy3950);
          int index3955#1 = Add<int>(ix393E,t3954);
          addr(IMAGE2D<float>) a3952#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3955);
          real4 v1395C#1 = LoadVoxels<IMAGE2D<float>,4>(a3952);
          int iy395E#1 = Add<int>(_t2473,t23940);
          int t3962#1 = Mul<int>(n03945,iy395E);
          int index3963#1 = Add<int>(ix393E,t3962);
          addr(IMAGE2D<float>) a3960#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3963);
          real4 v2396A#1 = LoadVoxels<IMAGE2D<float>,4>(a3960);
          int iy396C#1 = Add<int>(_t244B,t23940);
          int t3970#1 = Mul<int>(n03945,iy396C);
          int index3971#1 = Add<int>(ix393E,t3970);
          addr(IMAGE2D<float>) a396E#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3948,index3971);
          real4 v33978#1 = LoadVoxels<IMAGE2D<float>,4>(a396E);
          real fy397A#4 = Index<real2,1>(f3936);
          real t3397C#1 = Add<real>(fy397A,_t2447);
          real t1397E#1 = Sub<real>(fy397A,_t2447);
          real t03980#1 = Sub<real>(fy397A,_t2449);
          real4 a3982#3 = <real4>[t3397C,fy397A,t1397E,t03980];
          real _f3995#2 = 0.133333333333e1;
          real _f3996#2 = 0.666666666667e0;
          real4 a03985#4 = <real4>[_f3995,_f3996,_f3996,_f3995];
          real _f3991#1 = -0.2e1;
          real _f3992#2 = 0.0;
          real4 a13986#4 = <real4>[_f3991,_f3992,_f3992,_t2449];
          real _f398E#2 = -0.1e1;
          real4 a23987#4 = <real4>[_t2447,_f398E,_f398E,_t2447];
          real _f3989#1 = -0.166666666667e0;
          real _f398A#1 = 0.5e0;
          real _f398B#1 = -0.5e0;
          real _f398C#1 = 0.166666666667e0;
          real4 a33988#4 = <real4>[_f3989,_f398A,_f398B,_f398C];
          real4 prod33999#1 = Mul<real4>(a3982,a33988);
          real4 sum2399A#1 = Add<real4>(a23987,prod33999);
          real4 prod2399B#1 = Mul<real4>(a3982,sum2399A);
          real4 sum1399C#1 = Add<real4>(a13986,prod2399B);
          real4 prod1399D#1 = Mul<real4>(a3982,sum1399C);
          real4 hy3984#1 = Add<real4>(a03985,prod1399D);
          real fx39B8#4 = Index<real2,0>(f3936);
          real t339BA#1 = Add<real>(fx39B8,_t2447);
          real t139BC#1 = Sub<real>(fx39B8,_t2447);
          real t039BE#1 = Sub<real>(fx39B8,_t2449);
          real4 a39C0#3 = <real4>[t339BA,fx39B8,t139BC,t039BE];
          real4 prod339D7#1 = Mul<real4>(a39C0,a33988);
          real4 sum239D8#1 = Add<real4>(a23987,prod339D7);
          real4 prod239D9#1 = Mul<real4>(a39C0,sum239D8);
          real4 sum139DA#1 = Add<real4>(a13986,prod239D9);
          real4 prod139DB#1 = Mul<real4>(a39C0,sum139DA);
          real4 hx39C2#4 = Add<real4>(a03985,prod139DB);
          real t039F6#1 = Dot<4>(v0394E,hx39C2);
          real t139F8#1 = Dot<4>(v1395C,hx39C2);
          real t239FA#1 = Dot<4>(v2396A,hx39C2);
          real t339FC#1 = Dot<4>(v33978,hx39C2);
          real4 tv39FE#1 = <real4>[t039F6,t139F8,t239FA,t339FC];
          real _t3A00#1 = Dot<4>(hy3984,tv39FE);
          real2 x3A02#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1223F8);
          real2 nd3A04#2 = Floor<2>(x3A02);
          real2 f3A06#2 = Sub<real2>(x3A02,nd3A04);
          int{2} n3A08#2 = RealToInt<2>(nd3A04);
          int t23A0A#1 = Index<int{2},0>(n3A08);
          int ix3A0C#4 = Add<int>(t1393A,t23A0A);
          int t23A0E#4 = Index<int{2},1>(n3A08);
          int iy3A10#1 = Add<int>(t1393A,t23A0E);
          int t3A14#1 = Mul<int>(n03945,iy3A10);
          int index3A15#1 = Add<int>(ix3A0C,t3A14);
          addr(IMAGE2D<int>) imgBaseAddr3A16#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3A12#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A15);
          real4 v03A1C#1 = LoadVoxels<IMAGE2D<int>,4>(a3A12);
          int iy3A1E#1 = Add<int>(_t246F,t23A0E);
          int t3A22#1 = Mul<int>(n03945,iy3A1E);
          int index3A23#1 = Add<int>(ix3A0C,t3A22);
          addr(IMAGE2D<int>) a3A20#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A23);
          real4 v13A2A#1 = LoadVoxels<IMAGE2D<int>,4>(a3A20);
          int iy3A2C#1 = Add<int>(_t2473,t23A0E);
          int t3A30#1 = Mul<int>(n03945,iy3A2C);
          int index3A31#1 = Add<int>(ix3A0C,t3A30);
          addr(IMAGE2D<int>) a3A2E#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A31);
          real4 v23A38#1 = LoadVoxels<IMAGE2D<int>,4>(a3A2E);
          int iy3A3A#1 = Add<int>(_t244B,t23A0E);
          int t3A3E#1 = Mul<int>(n03945,iy3A3A);
          int index3A3F#1 = Add<int>(ix3A0C,t3A3E);
          addr(IMAGE2D<int>) a3A3C#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3A16,index3A3F);
          real4 v33A46#1 = LoadVoxels<IMAGE2D<int>,4>(a3A3C);
          real fy3A48#4 = Index<real2,1>(f3A06);
          real t33A4A#1 = Add<real>(fy3A48,_t2447);
          real t13A4C#1 = Sub<real>(fy3A48,_t2447);
          real t03A4E#1 = Sub<real>(fy3A48,_t2449);
          real4 a3A50#3 = <real4>[t33A4A,fy3A48,t13A4C,t03A4E];
          real4 prod33A67#1 = Mul<real4>(a3A50,a33988);
          real4 sum23A68#1 = Add<real4>(a23987,prod33A67);
          real4 prod23A69#1 = Mul<real4>(a3A50,sum23A68);
          real4 sum13A6A#1 = Add<real4>(a13986,prod23A69);
          real4 prod13A6B#1 = Mul<real4>(a3A50,sum13A6A);
          real4 hy3A52#1 = Add<real4>(a03985,prod13A6B);
          real fx3A86#4 = Index<real2,0>(f3A06);
          real t33A88#1 = Add<real>(fx3A86,_t2447);
          real t13A8A#1 = Sub<real>(fx3A86,_t2447);
          real t03A8C#1 = Sub<real>(fx3A86,_t2449);
          real4 a3A8E#3 = <real4>[t33A88,fx3A86,t13A8A,t03A8C];
          real4 prod33AA5#1 = Mul<real4>(a3A8E,a33988);
          real4 sum23AA6#1 = Add<real4>(a23987,prod33AA5);
          real4 prod23AA7#1 = Mul<real4>(a3A8E,sum23AA6);
          real4 sum13AA8#1 = Add<real4>(a13986,prod23AA7);
          real4 prod13AA9#1 = Mul<real4>(a3A8E,sum13AA8);
          real4 hx3A90#4 = Add<real4>(a03985,prod13AA9);
          real t03AC4#1 = Dot<4>(v03A1C,hx3A90);
          real t13AC6#1 = Dot<4>(v13A2A,hx3A90);
          real t23AC8#1 = Dot<4>(v23A38,hx3A90);
          real t33ACA#1 = Dot<4>(v33A46,hx3A90);
          real4 tv3ACC#1 = <real4>[t03AC4,t13AC6,t23AC8,t33ACA];
          real _t3ACE#1 = Dot<4>(hy3A52,tv3ACC);
          real _t3AD0#2 = Sub<real>(_t3A00,_t3ACE);
          real _t3AD2#1 = Mul<real>(_t3AD0,_t3AD0);
          real score3AD4#1 = Add<real>(score391D,_t3AD2);
          goto JOIN3AD7
        JOIN3AD7:  preds = [ASSIGN3AD5,COND3933]
          real score3AD6#2 = phi(score3AD4,score391D)
          real _t3AD8#1 = Dot<2>(r02461,v1323FA);
          real _t3ADA#1 = Dot<2>(r12467,v1323FA);
          real2 _t3ADC#1 = <real2>[_t3AD8,_t3ADA];
          real2 pos3ADE#1 = Add<real2>(_t3ADC,_t2477);
          real2 x3AE0#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3ADE);
          bool _t3AE2#1 = Inside<IMAGE2D<float>,2>(x3AE0,_t23D4);
          if _t3AE2 then goto ASSIGN3AE6 else goto ASSIGN46F3
        ASSIGN3AE6:  preds = [COND3AE4]
          real2 x3AE5#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1323FA);
          bool _t3AE7#1 = Inside<IMAGE2D<int>,2>(x3AE5,_t23D0);
          goto JOIN3AEB
        JOIN3AEB:  preds = [ASSIGN3AE8,ASSIGN46F3]
          bool _t3AE9#1 = phi(_t3AE7,_t3AEA)
          if _t3AE9 then goto ASSIGN3AEE else goto JOIN3C90
        ASSIGN3AEE:  preds = [COND3AEC]
          real2 nd3AED#2 = Floor<2>(x3AE0);
          real2 f3AEF#2 = Sub<real2>(x3AE0,nd3AED);
          int{2} n3AF1#2 = RealToInt<2>(nd3AED);
          int t13AF3#4 = -1;
          int t23AF5#1 = Index<int{2},0>(n3AF1);
          int ix3AF7#4 = Add<int>(t13AF3,t23AF5);
          int t23AF9#4 = Index<int{2},1>(n3AF1);
          int iy3AFB#1 = Add<int>(t13AF3,t23AF9);
          int n03AFE#8 = 21;
          int t3AFF#1 = Mul<int>(n03AFE,iy3AFB);
          int index3B00#1 = Add<int>(ix3AF7,t3AFF);
          addr(IMAGE2D<float>) imgBaseAddr3B01#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3AFD#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B00);
          real4 v03B07#1 = LoadVoxels<IMAGE2D<float>,4>(a3AFD);
          int iy3B09#1 = Add<int>(_t246F,t23AF9);
          int t3B0D#1 = Mul<int>(n03AFE,iy3B09);
          int index3B0E#1 = Add<int>(ix3AF7,t3B0D);
          addr(IMAGE2D<float>) a3B0B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B0E);
          real4 v13B15#1 = LoadVoxels<IMAGE2D<float>,4>(a3B0B);
          int iy3B17#1 = Add<int>(_t2473,t23AF9);
          int t3B1B#1 = Mul<int>(n03AFE,iy3B17);
          int index3B1C#1 = Add<int>(ix3AF7,t3B1B);
          addr(IMAGE2D<float>) a3B19#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B1C);
          real4 v23B23#1 = LoadVoxels<IMAGE2D<float>,4>(a3B19);
          int iy3B25#1 = Add<int>(_t244B,t23AF9);
          int t3B29#1 = Mul<int>(n03AFE,iy3B25);
          int index3B2A#1 = Add<int>(ix3AF7,t3B29);
          addr(IMAGE2D<float>) a3B27#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3B01,index3B2A);
          real4 v33B31#1 = LoadVoxels<IMAGE2D<float>,4>(a3B27);
          real fy3B33#4 = Index<real2,1>(f3AEF);
          real t33B35#1 = Add<real>(fy3B33,_t2447);
          real t13B37#1 = Sub<real>(fy3B33,_t2447);
          real t03B39#1 = Sub<real>(fy3B33,_t2449);
          real4 a3B3B#3 = <real4>[t33B35,fy3B33,t13B37,t03B39];
          real _f3B4E#2 = 0.133333333333e1;
          real _f3B4F#2 = 0.666666666667e0;
          real4 a03B3E#4 = <real4>[_f3B4E,_f3B4F,_f3B4F,_f3B4E];
          real _f3B4A#1 = -0.2e1;
          real _f3B4B#2 = 0.0;
          real4 a13B3F#4 = <real4>[_f3B4A,_f3B4B,_f3B4B,_t2449];
          real _f3B47#2 = -0.1e1;
          real4 a23B40#4 = <real4>[_t2447,_f3B47,_f3B47,_t2447];
          real _f3B42#1 = -0.166666666667e0;
          real _f3B43#1 = 0.5e0;
          real _f3B44#1 = -0.5e0;
          real _f3B45#1 = 0.166666666667e0;
          real4 a33B41#4 = <real4>[_f3B42,_f3B43,_f3B44,_f3B45];
          real4 prod33B52#1 = Mul<real4>(a3B3B,a33B41);
          real4 sum23B53#1 = Add<real4>(a23B40,prod33B52);
          real4 prod23B54#1 = Mul<real4>(a3B3B,sum23B53);
          real4 sum13B55#1 = Add<real4>(a13B3F,prod23B54);
          real4 prod13B56#1 = Mul<real4>(a3B3B,sum13B55);
          real4 hy3B3D#1 = Add<real4>(a03B3E,prod13B56);
          real fx3B71#4 = Index<real2,0>(f3AEF);
          real t33B73#1 = Add<real>(fx3B71,_t2447);
          real t13B75#1 = Sub<real>(fx3B71,_t2447);
          real t03B77#1 = Sub<real>(fx3B71,_t2449);
          real4 a3B79#3 = <real4>[t33B73,fx3B71,t13B75,t03B77];
          real4 prod33B90#1 = Mul<real4>(a3B79,a33B41);
          real4 sum23B91#1 = Add<real4>(a23B40,prod33B90);
          real4 prod23B92#1 = Mul<real4>(a3B79,sum23B91);
          real4 sum13B93#1 = Add<real4>(a13B3F,prod23B92);
          real4 prod13B94#1 = Mul<real4>(a3B79,sum13B93);
          real4 hx3B7B#4 = Add<real4>(a03B3E,prod13B94);
          real t03BAF#1 = Dot<4>(v03B07,hx3B7B);
          real t13BB1#1 = Dot<4>(v13B15,hx3B7B);
          real t23BB3#1 = Dot<4>(v23B23,hx3B7B);
          real t33BB5#1 = Dot<4>(v33B31,hx3B7B);
          real4 tv3BB7#1 = <real4>[t03BAF,t13BB1,t23BB3,t33BB5];
          real _t3BB9#1 = Dot<4>(hy3B3D,tv3BB7);
          real2 x3BBB#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1323FA);
          real2 nd3BBD#2 = Floor<2>(x3BBB);
          real2 f3BBF#2 = Sub<real2>(x3BBB,nd3BBD);
          int{2} n3BC1#2 = RealToInt<2>(nd3BBD);
          int t23BC3#1 = Index<int{2},0>(n3BC1);
          int ix3BC5#4 = Add<int>(t13AF3,t23BC3);
          int t23BC7#4 = Index<int{2},1>(n3BC1);
          int iy3BC9#1 = Add<int>(t13AF3,t23BC7);
          int t3BCD#1 = Mul<int>(n03AFE,iy3BC9);
          int index3BCE#1 = Add<int>(ix3BC5,t3BCD);
          addr(IMAGE2D<int>) imgBaseAddr3BCF#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3BCB#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BCE);
          real4 v03BD5#1 = LoadVoxels<IMAGE2D<int>,4>(a3BCB);
          int iy3BD7#1 = Add<int>(_t246F,t23BC7);
          int t3BDB#1 = Mul<int>(n03AFE,iy3BD7);
          int index3BDC#1 = Add<int>(ix3BC5,t3BDB);
          addr(IMAGE2D<int>) a3BD9#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BDC);
          real4 v13BE3#1 = LoadVoxels<IMAGE2D<int>,4>(a3BD9);
          int iy3BE5#1 = Add<int>(_t2473,t23BC7);
          int t3BE9#1 = Mul<int>(n03AFE,iy3BE5);
          int index3BEA#1 = Add<int>(ix3BC5,t3BE9);
          addr(IMAGE2D<int>) a3BE7#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BEA);
          real4 v23BF1#1 = LoadVoxels<IMAGE2D<int>,4>(a3BE7);
          int iy3BF3#1 = Add<int>(_t244B,t23BC7);
          int t3BF7#1 = Mul<int>(n03AFE,iy3BF3);
          int index3BF8#1 = Add<int>(ix3BC5,t3BF7);
          addr(IMAGE2D<int>) a3BF5#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3BCF,index3BF8);
          real4 v33BFF#1 = LoadVoxels<IMAGE2D<int>,4>(a3BF5);
          real fy3C01#4 = Index<real2,1>(f3BBF);
          real t33C03#1 = Add<real>(fy3C01,_t2447);
          real t13C05#1 = Sub<real>(fy3C01,_t2447);
          real t03C07#1 = Sub<real>(fy3C01,_t2449);
          real4 a3C09#3 = <real4>[t33C03,fy3C01,t13C05,t03C07];
          real4 prod33C20#1 = Mul<real4>(a3C09,a33B41);
          real4 sum23C21#1 = Add<real4>(a23B40,prod33C20);
          real4 prod23C22#1 = Mul<real4>(a3C09,sum23C21);
          real4 sum13C23#1 = Add<real4>(a13B3F,prod23C22);
          real4 prod13C24#1 = Mul<real4>(a3C09,sum13C23);
          real4 hy3C0B#1 = Add<real4>(a03B3E,prod13C24);
          real fx3C3F#4 = Index<real2,0>(f3BBF);
          real t33C41#1 = Add<real>(fx3C3F,_t2447);
          real t13C43#1 = Sub<real>(fx3C3F,_t2447);
          real t03C45#1 = Sub<real>(fx3C3F,_t2449);
          real4 a3C47#3 = <real4>[t33C41,fx3C3F,t13C43,t03C45];
          real4 prod33C5E#1 = Mul<real4>(a3C47,a33B41);
          real4 sum23C5F#1 = Add<real4>(a23B40,prod33C5E);
          real4 prod23C60#1 = Mul<real4>(a3C47,sum23C5F);
          real4 sum13C61#1 = Add<real4>(a13B3F,prod23C60);
          real4 prod13C62#1 = Mul<real4>(a3C47,sum13C61);
          real4 hx3C49#4 = Add<real4>(a03B3E,prod13C62);
          real t03C7D#1 = Dot<4>(v03BD5,hx3C49);
          real t13C7F#1 = Dot<4>(v13BE3,hx3C49);
          real t23C81#1 = Dot<4>(v23BF1,hx3C49);
          real t33C83#1 = Dot<4>(v33BFF,hx3C49);
          real4 tv3C85#1 = <real4>[t03C7D,t13C7F,t23C81,t33C83];
          real _t3C87#1 = Dot<4>(hy3C0B,tv3C85);
          real _t3C89#2 = Sub<real>(_t3BB9,_t3C87);
          real _t3C8B#1 = Mul<real>(_t3C89,_t3C89);
          real score3C8D#1 = Add<real>(score3AD6,_t3C8B);
          goto JOIN3C90
        JOIN3C90:  preds = [ASSIGN3C8E,COND3AEC]
          real score3C8F#2 = phi(score3C8D,score3AD6)
          real _t3C91#1 = Dot<2>(r02461,v1423FC);
          real _t3C93#1 = Dot<2>(r12467,v1423FC);
          real2 _t3C95#1 = <real2>[_t3C91,_t3C93];
          real2 pos3C97#1 = Add<real2>(_t3C95,_t2477);
          real2 x3C99#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3C97);
          bool _t3C9B#1 = Inside<IMAGE2D<float>,2>(x3C99,_t23D4);
          if _t3C9B then goto ASSIGN3C9F else goto ASSIGN46F2
        ASSIGN3C9F:  preds = [COND3C9D]
          real2 x3C9E#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1423FC);
          bool _t3CA0#1 = Inside<IMAGE2D<int>,2>(x3C9E,_t23D0);
          goto JOIN3CA4
        JOIN3CA4:  preds = [ASSIGN3CA1,ASSIGN46F2]
          bool _t3CA2#1 = phi(_t3CA0,_t3CA3)
          if _t3CA2 then goto ASSIGN3CA7 else goto JOIN3E49
        ASSIGN3CA7:  preds = [COND3CA5]
          real2 nd3CA6#2 = Floor<2>(x3C99);
          real2 f3CA8#2 = Sub<real2>(x3C99,nd3CA6);
          int{2} n3CAA#2 = RealToInt<2>(nd3CA6);
          int t13CAC#4 = -1;
          int t23CAE#1 = Index<int{2},0>(n3CAA);
          int ix3CB0#4 = Add<int>(t13CAC,t23CAE);
          int t23CB2#4 = Index<int{2},1>(n3CAA);
          int iy3CB4#1 = Add<int>(t13CAC,t23CB2);
          int n03CB7#8 = 21;
          int t3CB8#1 = Mul<int>(n03CB7,iy3CB4);
          int index3CB9#1 = Add<int>(ix3CB0,t3CB8);
          addr(IMAGE2D<float>) imgBaseAddr3CBA#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3CB6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CB9);
          real4 v03CC0#1 = LoadVoxels<IMAGE2D<float>,4>(a3CB6);
          int iy3CC2#1 = Add<int>(_t246F,t23CB2);
          int t3CC6#1 = Mul<int>(n03CB7,iy3CC2);
          int index3CC7#1 = Add<int>(ix3CB0,t3CC6);
          addr(IMAGE2D<float>) a3CC4#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CC7);
          real4 v13CCE#1 = LoadVoxels<IMAGE2D<float>,4>(a3CC4);
          int iy3CD0#1 = Add<int>(_t2473,t23CB2);
          int t3CD4#1 = Mul<int>(n03CB7,iy3CD0);
          int index3CD5#1 = Add<int>(ix3CB0,t3CD4);
          addr(IMAGE2D<float>) a3CD2#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CD5);
          real4 v23CDC#1 = LoadVoxels<IMAGE2D<float>,4>(a3CD2);
          int iy3CDE#1 = Add<int>(_t244B,t23CB2);
          int t3CE2#1 = Mul<int>(n03CB7,iy3CDE);
          int index3CE3#1 = Add<int>(ix3CB0,t3CE2);
          addr(IMAGE2D<float>) a3CE0#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3CBA,index3CE3);
          real4 v33CEA#1 = LoadVoxels<IMAGE2D<float>,4>(a3CE0);
          real fy3CEC#4 = Index<real2,1>(f3CA8);
          real t33CEE#1 = Add<real>(fy3CEC,_t2447);
          real t13CF0#1 = Sub<real>(fy3CEC,_t2447);
          real t03CF2#1 = Sub<real>(fy3CEC,_t2449);
          real4 a3CF4#3 = <real4>[t33CEE,fy3CEC,t13CF0,t03CF2];
          real _f3D07#2 = 0.133333333333e1;
          real _f3D08#2 = 0.666666666667e0;
          real4 a03CF7#4 = <real4>[_f3D07,_f3D08,_f3D08,_f3D07];
          real _f3D03#1 = -0.2e1;
          real _f3D04#2 = 0.0;
          real4 a13CF8#4 = <real4>[_f3D03,_f3D04,_f3D04,_t2449];
          real _f3D00#2 = -0.1e1;
          real4 a23CF9#4 = <real4>[_t2447,_f3D00,_f3D00,_t2447];
          real _f3CFB#1 = -0.166666666667e0;
          real _f3CFC#1 = 0.5e0;
          real _f3CFD#1 = -0.5e0;
          real _f3CFE#1 = 0.166666666667e0;
          real4 a33CFA#4 = <real4>[_f3CFB,_f3CFC,_f3CFD,_f3CFE];
          real4 prod33D0B#1 = Mul<real4>(a3CF4,a33CFA);
          real4 sum23D0C#1 = Add<real4>(a23CF9,prod33D0B);
          real4 prod23D0D#1 = Mul<real4>(a3CF4,sum23D0C);
          real4 sum13D0E#1 = Add<real4>(a13CF8,prod23D0D);
          real4 prod13D0F#1 = Mul<real4>(a3CF4,sum13D0E);
          real4 hy3CF6#1 = Add<real4>(a03CF7,prod13D0F);
          real fx3D2A#4 = Index<real2,0>(f3CA8);
          real t33D2C#1 = Add<real>(fx3D2A,_t2447);
          real t13D2E#1 = Sub<real>(fx3D2A,_t2447);
          real t03D30#1 = Sub<real>(fx3D2A,_t2449);
          real4 a3D32#3 = <real4>[t33D2C,fx3D2A,t13D2E,t03D30];
          real4 prod33D49#1 = Mul<real4>(a3D32,a33CFA);
          real4 sum23D4A#1 = Add<real4>(a23CF9,prod33D49);
          real4 prod23D4B#1 = Mul<real4>(a3D32,sum23D4A);
          real4 sum13D4C#1 = Add<real4>(a13CF8,prod23D4B);
          real4 prod13D4D#1 = Mul<real4>(a3D32,sum13D4C);
          real4 hx3D34#4 = Add<real4>(a03CF7,prod13D4D);
          real t03D68#1 = Dot<4>(v03CC0,hx3D34);
          real t13D6A#1 = Dot<4>(v13CCE,hx3D34);
          real t23D6C#1 = Dot<4>(v23CDC,hx3D34);
          real t33D6E#1 = Dot<4>(v33CEA,hx3D34);
          real4 tv3D70#1 = <real4>[t03D68,t13D6A,t23D6C,t33D6E];
          real _t3D72#1 = Dot<4>(hy3CF6,tv3D70);
          real2 x3D74#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1423FC);
          real2 nd3D76#2 = Floor<2>(x3D74);
          real2 f3D78#2 = Sub<real2>(x3D74,nd3D76);
          int{2} n3D7A#2 = RealToInt<2>(nd3D76);
          int t23D7C#1 = Index<int{2},0>(n3D7A);
          int ix3D7E#4 = Add<int>(t13CAC,t23D7C);
          int t23D80#4 = Index<int{2},1>(n3D7A);
          int iy3D82#1 = Add<int>(t13CAC,t23D80);
          int t3D86#1 = Mul<int>(n03CB7,iy3D82);
          int index3D87#1 = Add<int>(ix3D7E,t3D86);
          addr(IMAGE2D<int>) imgBaseAddr3D88#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3D84#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3D87);
          real4 v03D8E#1 = LoadVoxels<IMAGE2D<int>,4>(a3D84);
          int iy3D90#1 = Add<int>(_t246F,t23D80);
          int t3D94#1 = Mul<int>(n03CB7,iy3D90);
          int index3D95#1 = Add<int>(ix3D7E,t3D94);
          addr(IMAGE2D<int>) a3D92#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3D95);
          real4 v13D9C#1 = LoadVoxels<IMAGE2D<int>,4>(a3D92);
          int iy3D9E#1 = Add<int>(_t2473,t23D80);
          int t3DA2#1 = Mul<int>(n03CB7,iy3D9E);
          int index3DA3#1 = Add<int>(ix3D7E,t3DA2);
          addr(IMAGE2D<int>) a3DA0#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3DA3);
          real4 v23DAA#1 = LoadVoxels<IMAGE2D<int>,4>(a3DA0);
          int iy3DAC#1 = Add<int>(_t244B,t23D80);
          int t3DB0#1 = Mul<int>(n03CB7,iy3DAC);
          int index3DB1#1 = Add<int>(ix3D7E,t3DB0);
          addr(IMAGE2D<int>) a3DAE#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3D88,index3DB1);
          real4 v33DB8#1 = LoadVoxels<IMAGE2D<int>,4>(a3DAE);
          real fy3DBA#4 = Index<real2,1>(f3D78);
          real t33DBC#1 = Add<real>(fy3DBA,_t2447);
          real t13DBE#1 = Sub<real>(fy3DBA,_t2447);
          real t03DC0#1 = Sub<real>(fy3DBA,_t2449);
          real4 a3DC2#3 = <real4>[t33DBC,fy3DBA,t13DBE,t03DC0];
          real4 prod33DD9#1 = Mul<real4>(a3DC2,a33CFA);
          real4 sum23DDA#1 = Add<real4>(a23CF9,prod33DD9);
          real4 prod23DDB#1 = Mul<real4>(a3DC2,sum23DDA);
          real4 sum13DDC#1 = Add<real4>(a13CF8,prod23DDB);
          real4 prod13DDD#1 = Mul<real4>(a3DC2,sum13DDC);
          real4 hy3DC4#1 = Add<real4>(a03CF7,prod13DDD);
          real fx3DF8#4 = Index<real2,0>(f3D78);
          real t33DFA#1 = Add<real>(fx3DF8,_t2447);
          real t13DFC#1 = Sub<real>(fx3DF8,_t2447);
          real t03DFE#1 = Sub<real>(fx3DF8,_t2449);
          real4 a3E00#3 = <real4>[t33DFA,fx3DF8,t13DFC,t03DFE];
          real4 prod33E17#1 = Mul<real4>(a3E00,a33CFA);
          real4 sum23E18#1 = Add<real4>(a23CF9,prod33E17);
          real4 prod23E19#1 = Mul<real4>(a3E00,sum23E18);
          real4 sum13E1A#1 = Add<real4>(a13CF8,prod23E19);
          real4 prod13E1B#1 = Mul<real4>(a3E00,sum13E1A);
          real4 hx3E02#4 = Add<real4>(a03CF7,prod13E1B);
          real t03E36#1 = Dot<4>(v03D8E,hx3E02);
          real t13E38#1 = Dot<4>(v13D9C,hx3E02);
          real t23E3A#1 = Dot<4>(v23DAA,hx3E02);
          real t33E3C#1 = Dot<4>(v33DB8,hx3E02);
          real4 tv3E3E#1 = <real4>[t03E36,t13E38,t23E3A,t33E3C];
          real _t3E40#1 = Dot<4>(hy3DC4,tv3E3E);
          real _t3E42#2 = Sub<real>(_t3D72,_t3E40);
          real _t3E44#1 = Mul<real>(_t3E42,_t3E42);
          real score3E46#1 = Add<real>(score3C8F,_t3E44);
          goto JOIN3E49
        JOIN3E49:  preds = [ASSIGN3E47,COND3CA5]
          real score3E48#2 = phi(score3E46,score3C8F)
          real _t3E4A#1 = Dot<2>(r02461,v1523FE);
          real _t3E4C#1 = Dot<2>(r12467,v1523FE);
          real2 _t3E4E#1 = <real2>[_t3E4A,_t3E4C];
          real2 pos3E50#1 = Add<real2>(_t3E4E,_t2477);
          real2 x3E52#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos3E50);
          bool _t3E54#1 = Inside<IMAGE2D<float>,2>(x3E52,_t23D4);
          if _t3E54 then goto ASSIGN3E58 else goto ASSIGN46F1
        ASSIGN3E58:  preds = [COND3E56]
          real2 x3E57#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1523FE);
          bool _t3E59#1 = Inside<IMAGE2D<int>,2>(x3E57,_t23D0);
          goto JOIN3E5D
        JOIN3E5D:  preds = [ASSIGN3E5A,ASSIGN46F1]
          bool _t3E5B#1 = phi(_t3E59,_t3E5C)
          if _t3E5B then goto ASSIGN3E60 else goto JOIN4002
        ASSIGN3E60:  preds = [COND3E5E]
          real2 nd3E5F#2 = Floor<2>(x3E52);
          real2 f3E61#2 = Sub<real2>(x3E52,nd3E5F);
          int{2} n3E63#2 = RealToInt<2>(nd3E5F);
          int t13E65#4 = -1;
          int t23E67#1 = Index<int{2},0>(n3E63);
          int ix3E69#4 = Add<int>(t13E65,t23E67);
          int t23E6B#4 = Index<int{2},1>(n3E63);
          int iy3E6D#1 = Add<int>(t13E65,t23E6B);
          int n03E70#8 = 21;
          int t3E71#1 = Mul<int>(n03E70,iy3E6D);
          int index3E72#1 = Add<int>(ix3E69,t3E71);
          addr(IMAGE2D<float>) imgBaseAddr3E73#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a3E6F#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E72);
          real4 v03E79#1 = LoadVoxels<IMAGE2D<float>,4>(a3E6F);
          int iy3E7B#1 = Add<int>(_t246F,t23E6B);
          int t3E7F#1 = Mul<int>(n03E70,iy3E7B);
          int index3E80#1 = Add<int>(ix3E69,t3E7F);
          addr(IMAGE2D<float>) a3E7D#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E80);
          real4 v13E87#1 = LoadVoxels<IMAGE2D<float>,4>(a3E7D);
          int iy3E89#1 = Add<int>(_t2473,t23E6B);
          int t3E8D#1 = Mul<int>(n03E70,iy3E89);
          int index3E8E#1 = Add<int>(ix3E69,t3E8D);
          addr(IMAGE2D<float>) a3E8B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E8E);
          real4 v23E95#1 = LoadVoxels<IMAGE2D<float>,4>(a3E8B);
          int iy3E97#1 = Add<int>(_t244B,t23E6B);
          int t3E9B#1 = Mul<int>(n03E70,iy3E97);
          int index3E9C#1 = Add<int>(ix3E69,t3E9B);
          addr(IMAGE2D<float>) a3E99#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr3E73,index3E9C);
          real4 v33EA3#1 = LoadVoxels<IMAGE2D<float>,4>(a3E99);
          real fy3EA5#4 = Index<real2,1>(f3E61);
          real t33EA7#1 = Add<real>(fy3EA5,_t2447);
          real t13EA9#1 = Sub<real>(fy3EA5,_t2447);
          real t03EAB#1 = Sub<real>(fy3EA5,_t2449);
          real4 a3EAD#3 = <real4>[t33EA7,fy3EA5,t13EA9,t03EAB];
          real _f3EC0#2 = 0.133333333333e1;
          real _f3EC1#2 = 0.666666666667e0;
          real4 a03EB0#4 = <real4>[_f3EC0,_f3EC1,_f3EC1,_f3EC0];
          real _f3EBC#1 = -0.2e1;
          real _f3EBD#2 = 0.0;
          real4 a13EB1#4 = <real4>[_f3EBC,_f3EBD,_f3EBD,_t2449];
          real _f3EB9#2 = -0.1e1;
          real4 a23EB2#4 = <real4>[_t2447,_f3EB9,_f3EB9,_t2447];
          real _f3EB4#1 = -0.166666666667e0;
          real _f3EB5#1 = 0.5e0;
          real _f3EB6#1 = -0.5e0;
          real _f3EB7#1 = 0.166666666667e0;
          real4 a33EB3#4 = <real4>[_f3EB4,_f3EB5,_f3EB6,_f3EB7];
          real4 prod33EC4#1 = Mul<real4>(a3EAD,a33EB3);
          real4 sum23EC5#1 = Add<real4>(a23EB2,prod33EC4);
          real4 prod23EC6#1 = Mul<real4>(a3EAD,sum23EC5);
          real4 sum13EC7#1 = Add<real4>(a13EB1,prod23EC6);
          real4 prod13EC8#1 = Mul<real4>(a3EAD,sum13EC7);
          real4 hy3EAF#1 = Add<real4>(a03EB0,prod13EC8);
          real fx3EE3#4 = Index<real2,0>(f3E61);
          real t33EE5#1 = Add<real>(fx3EE3,_t2447);
          real t13EE7#1 = Sub<real>(fx3EE3,_t2447);
          real t03EE9#1 = Sub<real>(fx3EE3,_t2449);
          real4 a3EEB#3 = <real4>[t33EE5,fx3EE3,t13EE7,t03EE9];
          real4 prod33F02#1 = Mul<real4>(a3EEB,a33EB3);
          real4 sum23F03#1 = Add<real4>(a23EB2,prod33F02);
          real4 prod23F04#1 = Mul<real4>(a3EEB,sum23F03);
          real4 sum13F05#1 = Add<real4>(a13EB1,prod23F04);
          real4 prod13F06#1 = Mul<real4>(a3EEB,sum13F05);
          real4 hx3EED#4 = Add<real4>(a03EB0,prod13F06);
          real t03F21#1 = Dot<4>(v03E79,hx3EED);
          real t13F23#1 = Dot<4>(v13E87,hx3EED);
          real t23F25#1 = Dot<4>(v23E95,hx3EED);
          real t33F27#1 = Dot<4>(v33EA3,hx3EED);
          real4 tv3F29#1 = <real4>[t03F21,t13F23,t23F25,t33F27];
          real _t3F2B#1 = Dot<4>(hy3EAF,tv3F29);
          real2 x3F2D#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v1523FE);
          real2 nd3F2F#2 = Floor<2>(x3F2D);
          real2 f3F31#2 = Sub<real2>(x3F2D,nd3F2F);
          int{2} n3F33#2 = RealToInt<2>(nd3F2F);
          int t23F35#1 = Index<int{2},0>(n3F33);
          int ix3F37#4 = Add<int>(t13E65,t23F35);
          int t23F39#4 = Index<int{2},1>(n3F33);
          int iy3F3B#1 = Add<int>(t13E65,t23F39);
          int t3F3F#1 = Mul<int>(n03E70,iy3F3B);
          int index3F40#1 = Add<int>(ix3F37,t3F3F);
          addr(IMAGE2D<int>) imgBaseAddr3F41#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a3F3D#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F40);
          real4 v03F47#1 = LoadVoxels<IMAGE2D<int>,4>(a3F3D);
          int iy3F49#1 = Add<int>(_t246F,t23F39);
          int t3F4D#1 = Mul<int>(n03E70,iy3F49);
          int index3F4E#1 = Add<int>(ix3F37,t3F4D);
          addr(IMAGE2D<int>) a3F4B#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F4E);
          real4 v13F55#1 = LoadVoxels<IMAGE2D<int>,4>(a3F4B);
          int iy3F57#1 = Add<int>(_t2473,t23F39);
          int t3F5B#1 = Mul<int>(n03E70,iy3F57);
          int index3F5C#1 = Add<int>(ix3F37,t3F5B);
          addr(IMAGE2D<int>) a3F59#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F5C);
          real4 v23F63#1 = LoadVoxels<IMAGE2D<int>,4>(a3F59);
          int iy3F65#1 = Add<int>(_t244B,t23F39);
          int t3F69#1 = Mul<int>(n03E70,iy3F65);
          int index3F6A#1 = Add<int>(ix3F37,t3F69);
          addr(IMAGE2D<int>) a3F67#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr3F41,index3F6A);
          real4 v33F71#1 = LoadVoxels<IMAGE2D<int>,4>(a3F67);
          real fy3F73#4 = Index<real2,1>(f3F31);
          real t33F75#1 = Add<real>(fy3F73,_t2447);
          real t13F77#1 = Sub<real>(fy3F73,_t2447);
          real t03F79#1 = Sub<real>(fy3F73,_t2449);
          real4 a3F7B#3 = <real4>[t33F75,fy3F73,t13F77,t03F79];
          real4 prod33F92#1 = Mul<real4>(a3F7B,a33EB3);
          real4 sum23F93#1 = Add<real4>(a23EB2,prod33F92);
          real4 prod23F94#1 = Mul<real4>(a3F7B,sum23F93);
          real4 sum13F95#1 = Add<real4>(a13EB1,prod23F94);
          real4 prod13F96#1 = Mul<real4>(a3F7B,sum13F95);
          real4 hy3F7D#1 = Add<real4>(a03EB0,prod13F96);
          real fx3FB1#4 = Index<real2,0>(f3F31);
          real t33FB3#1 = Add<real>(fx3FB1,_t2447);
          real t13FB5#1 = Sub<real>(fx3FB1,_t2447);
          real t03FB7#1 = Sub<real>(fx3FB1,_t2449);
          real4 a3FB9#3 = <real4>[t33FB3,fx3FB1,t13FB5,t03FB7];
          real4 prod33FD0#1 = Mul<real4>(a3FB9,a33EB3);
          real4 sum23FD1#1 = Add<real4>(a23EB2,prod33FD0);
          real4 prod23FD2#1 = Mul<real4>(a3FB9,sum23FD1);
          real4 sum13FD3#1 = Add<real4>(a13EB1,prod23FD2);
          real4 prod13FD4#1 = Mul<real4>(a3FB9,sum13FD3);
          real4 hx3FBB#4 = Add<real4>(a03EB0,prod13FD4);
          real t03FEF#1 = Dot<4>(v03F47,hx3FBB);
          real t13FF1#1 = Dot<4>(v13F55,hx3FBB);
          real t23FF3#1 = Dot<4>(v23F63,hx3FBB);
          real t33FF5#1 = Dot<4>(v33F71,hx3FBB);
          real4 tv3FF7#1 = <real4>[t03FEF,t13FF1,t23FF3,t33FF5];
          real _t3FF9#1 = Dot<4>(hy3F7D,tv3FF7);
          real _t3FFB#2 = Sub<real>(_t3F2B,_t3FF9);
          real _t3FFD#1 = Mul<real>(_t3FFB,_t3FFB);
          real score3FFF#1 = Add<real>(score3E48,_t3FFD);
          goto JOIN4002
        JOIN4002:  preds = [ASSIGN4000,COND3E5E]
          real score4001#2 = phi(score3FFF,score3E48)
          real _t4003#1 = Dot<2>(r02461,v162400);
          real _t4005#1 = Dot<2>(r12467,v162400);
          real2 _t4007#1 = <real2>[_t4003,_t4005];
          real2 pos4009#1 = Add<real2>(_t4007,_t2477);
          real2 x400B#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos4009);
          bool _t400D#1 = Inside<IMAGE2D<float>,2>(x400B,_t23D4);
          if _t400D then goto ASSIGN4011 else goto ASSIGN46F0
        ASSIGN4011:  preds = [COND400F]
          real2 x4010#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v162400);
          bool _t4012#1 = Inside<IMAGE2D<int>,2>(x4010,_t23D0);
          goto JOIN4016
        JOIN4016:  preds = [ASSIGN4013,ASSIGN46F0]
          bool _t4014#1 = phi(_t4012,_t4015)
          if _t4014 then goto ASSIGN4019 else goto JOIN41BB
        ASSIGN4019:  preds = [COND4017]
          real2 nd4018#2 = Floor<2>(x400B);
          real2 f401A#2 = Sub<real2>(x400B,nd4018);
          int{2} n401C#2 = RealToInt<2>(nd4018);
          int t1401E#4 = -1;
          int t24020#1 = Index<int{2},0>(n401C);
          int ix4022#4 = Add<int>(t1401E,t24020);
          int t24024#4 = Index<int{2},1>(n401C);
          int iy4026#1 = Add<int>(t1401E,t24024);
          int n04029#8 = 21;
          int t402A#1 = Mul<int>(n04029,iy4026);
          int index402B#1 = Add<int>(ix4022,t402A);
          addr(IMAGE2D<float>) imgBaseAddr402C#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a4028#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index402B);
          real4 v04032#1 = LoadVoxels<IMAGE2D<float>,4>(a4028);
          int iy4034#1 = Add<int>(_t246F,t24024);
          int t4038#1 = Mul<int>(n04029,iy4034);
          int index4039#1 = Add<int>(ix4022,t4038);
          addr(IMAGE2D<float>) a4036#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index4039);
          real4 v14040#1 = LoadVoxels<IMAGE2D<float>,4>(a4036);
          int iy4042#1 = Add<int>(_t2473,t24024);
          int t4046#1 = Mul<int>(n04029,iy4042);
          int index4047#1 = Add<int>(ix4022,t4046);
          addr(IMAGE2D<float>) a4044#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index4047);
          real4 v2404E#1 = LoadVoxels<IMAGE2D<float>,4>(a4044);
          int iy4050#1 = Add<int>(_t244B,t24024);
          int t4054#1 = Mul<int>(n04029,iy4050);
          int index4055#1 = Add<int>(ix4022,t4054);
          addr(IMAGE2D<float>) a4052#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr402C,index4055);
          real4 v3405C#1 = LoadVoxels<IMAGE2D<float>,4>(a4052);
          real fy405E#4 = Index<real2,1>(f401A);
          real t34060#1 = Add<real>(fy405E,_t2447);
          real t14062#1 = Sub<real>(fy405E,_t2447);
          real t04064#1 = Sub<real>(fy405E,_t2449);
          real4 a4066#3 = <real4>[t34060,fy405E,t14062,t04064];
          real _f4079#2 = 0.133333333333e1;
          real _f407A#2 = 0.666666666667e0;
          real4 a04069#4 = <real4>[_f4079,_f407A,_f407A,_f4079];
          real _f4075#1 = -0.2e1;
          real _f4076#2 = 0.0;
          real4 a1406A#4 = <real4>[_f4075,_f4076,_f4076,_t2449];
          real _f4072#2 = -0.1e1;
          real4 a2406B#4 = <real4>[_t2447,_f4072,_f4072,_t2447];
          real _f406D#1 = -0.166666666667e0;
          real _f406E#1 = 0.5e0;
          real _f406F#1 = -0.5e0;
          real _f4070#1 = 0.166666666667e0;
          real4 a3406C#4 = <real4>[_f406D,_f406E,_f406F,_f4070];
          real4 prod3407D#1 = Mul<real4>(a4066,a3406C);
          real4 sum2407E#1 = Add<real4>(a2406B,prod3407D);
          real4 prod2407F#1 = Mul<real4>(a4066,sum2407E);
          real4 sum14080#1 = Add<real4>(a1406A,prod2407F);
          real4 prod14081#1 = Mul<real4>(a4066,sum14080);
          real4 hy4068#1 = Add<real4>(a04069,prod14081);
          real fx409C#4 = Index<real2,0>(f401A);
          real t3409E#1 = Add<real>(fx409C,_t2447);
          real t140A0#1 = Sub<real>(fx409C,_t2447);
          real t040A2#1 = Sub<real>(fx409C,_t2449);
          real4 a40A4#3 = <real4>[t3409E,fx409C,t140A0,t040A2];
          real4 prod340BB#1 = Mul<real4>(a40A4,a3406C);
          real4 sum240BC#1 = Add<real4>(a2406B,prod340BB);
          real4 prod240BD#1 = Mul<real4>(a40A4,sum240BC);
          real4 sum140BE#1 = Add<real4>(a1406A,prod240BD);
          real4 prod140BF#1 = Mul<real4>(a40A4,sum140BE);
          real4 hx40A6#4 = Add<real4>(a04069,prod140BF);
          real t040DA#1 = Dot<4>(v04032,hx40A6);
          real t140DC#1 = Dot<4>(v14040,hx40A6);
          real t240DE#1 = Dot<4>(v2404E,hx40A6);
          real t340E0#1 = Dot<4>(v3405C,hx40A6);
          real4 tv40E2#1 = <real4>[t040DA,t140DC,t240DE,t340E0];
          real _t40E4#1 = Dot<4>(hy4068,tv40E2);
          real2 x40E6#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v162400);
          real2 nd40E8#2 = Floor<2>(x40E6);
          real2 f40EA#2 = Sub<real2>(x40E6,nd40E8);
          int{2} n40EC#2 = RealToInt<2>(nd40E8);
          int t240EE#1 = Index<int{2},0>(n40EC);
          int ix40F0#4 = Add<int>(t1401E,t240EE);
          int t240F2#4 = Index<int{2},1>(n40EC);
          int iy40F4#1 = Add<int>(t1401E,t240F2);
          int t40F8#1 = Mul<int>(n04029,iy40F4);
          int index40F9#1 = Add<int>(ix40F0,t40F8);
          addr(IMAGE2D<int>) imgBaseAddr40FA#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a40F6#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index40F9);
          real4 v04100#1 = LoadVoxels<IMAGE2D<int>,4>(a40F6);
          int iy4102#1 = Add<int>(_t246F,t240F2);
          int t4106#1 = Mul<int>(n04029,iy4102);
          int index4107#1 = Add<int>(ix40F0,t4106);
          addr(IMAGE2D<int>) a4104#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index4107);
          real4 v1410E#1 = LoadVoxels<IMAGE2D<int>,4>(a4104);
          int iy4110#1 = Add<int>(_t2473,t240F2);
          int t4114#1 = Mul<int>(n04029,iy4110);
          int index4115#1 = Add<int>(ix40F0,t4114);
          addr(IMAGE2D<int>) a4112#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index4115);
          real4 v2411C#1 = LoadVoxels<IMAGE2D<int>,4>(a4112);
          int iy411E#1 = Add<int>(_t244B,t240F2);
          int t4122#1 = Mul<int>(n04029,iy411E);
          int index4123#1 = Add<int>(ix40F0,t4122);
          addr(IMAGE2D<int>) a4120#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr40FA,index4123);
          real4 v3412A#1 = LoadVoxels<IMAGE2D<int>,4>(a4120);
          real fy412C#4 = Index<real2,1>(f40EA);
          real t3412E#1 = Add<real>(fy412C,_t2447);
          real t14130#1 = Sub<real>(fy412C,_t2447);
          real t04132#1 = Sub<real>(fy412C,_t2449);
          real4 a4134#3 = <real4>[t3412E,fy412C,t14130,t04132];
          real4 prod3414B#1 = Mul<real4>(a4134,a3406C);
          real4 sum2414C#1 = Add<real4>(a2406B,prod3414B);
          real4 prod2414D#1 = Mul<real4>(a4134,sum2414C);
          real4 sum1414E#1 = Add<real4>(a1406A,prod2414D);
          real4 prod1414F#1 = Mul<real4>(a4134,sum1414E);
          real4 hy4136#1 = Add<real4>(a04069,prod1414F);
          real fx416A#4 = Index<real2,0>(f40EA);
          real t3416C#1 = Add<real>(fx416A,_t2447);
          real t1416E#1 = Sub<real>(fx416A,_t2447);
          real t04170#1 = Sub<real>(fx416A,_t2449);
          real4 a4172#3 = <real4>[t3416C,fx416A,t1416E,t04170];
          real4 prod34189#1 = Mul<real4>(a4172,a3406C);
          real4 sum2418A#1 = Add<real4>(a2406B,prod34189);
          real4 prod2418B#1 = Mul<real4>(a4172,sum2418A);
          real4 sum1418C#1 = Add<real4>(a1406A,prod2418B);
          real4 prod1418D#1 = Mul<real4>(a4172,sum1418C);
          real4 hx4174#4 = Add<real4>(a04069,prod1418D);
          real t041A8#1 = Dot<4>(v04100,hx4174);
          real t141AA#1 = Dot<4>(v1410E,hx4174);
          real t241AC#1 = Dot<4>(v2411C,hx4174);
          real t341AE#1 = Dot<4>(v3412A,hx4174);
          real4 tv41B0#1 = <real4>[t041A8,t141AA,t241AC,t341AE];
          real _t41B2#1 = Dot<4>(hy4136,tv41B0);
          real _t41B4#2 = Sub<real>(_t40E4,_t41B2);
          real _t41B6#1 = Mul<real>(_t41B4,_t41B4);
          real score41B8#1 = Add<real>(score4001,_t41B6);
          goto JOIN41BB
        JOIN41BB:  preds = [ASSIGN41B9,COND4017]
          real score41BA#2 = phi(score41B8,score4001)
          real _t41BC#1 = Dot<2>(r02461,v172402);
          real _t41BE#1 = Dot<2>(r12467,v172402);
          real2 _t41C0#1 = <real2>[_t41BC,_t41BE];
          real2 pos41C2#1 = Add<real2>(_t41C0,_t2477);
          real2 x41C4#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos41C2);
          bool _t41C6#1 = Inside<IMAGE2D<float>,2>(x41C4,_t23D4);
          if _t41C6 then goto ASSIGN41CA else goto ASSIGN46EF
        ASSIGN41CA:  preds = [COND41C8]
          real2 x41C9#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v172402);
          bool _t41CB#1 = Inside<IMAGE2D<int>,2>(x41C9,_t23D0);
          goto JOIN41CF
        JOIN41CF:  preds = [ASSIGN41CC,ASSIGN46EF]
          bool _t41CD#1 = phi(_t41CB,_t41CE)
          if _t41CD then goto ASSIGN41D2 else goto JOIN4374
        ASSIGN41D2:  preds = [COND41D0]
          real2 nd41D1#2 = Floor<2>(x41C4);
          real2 f41D3#2 = Sub<real2>(x41C4,nd41D1);
          int{2} n41D5#2 = RealToInt<2>(nd41D1);
          int t141D7#4 = -1;
          int t241D9#1 = Index<int{2},0>(n41D5);
          int ix41DB#4 = Add<int>(t141D7,t241D9);
          int t241DD#4 = Index<int{2},1>(n41D5);
          int iy41DF#1 = Add<int>(t141D7,t241DD);
          int n041E2#8 = 21;
          int t41E3#1 = Mul<int>(n041E2,iy41DF);
          int index41E4#1 = Add<int>(ix41DB,t41E3);
          addr(IMAGE2D<float>) imgBaseAddr41E5#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a41E1#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index41E4);
          real4 v041EB#1 = LoadVoxels<IMAGE2D<float>,4>(a41E1);
          int iy41ED#1 = Add<int>(_t246F,t241DD);
          int t41F1#1 = Mul<int>(n041E2,iy41ED);
          int index41F2#1 = Add<int>(ix41DB,t41F1);
          addr(IMAGE2D<float>) a41EF#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index41F2);
          real4 v141F9#1 = LoadVoxels<IMAGE2D<float>,4>(a41EF);
          int iy41FB#1 = Add<int>(_t2473,t241DD);
          int t41FF#1 = Mul<int>(n041E2,iy41FB);
          int index4200#1 = Add<int>(ix41DB,t41FF);
          addr(IMAGE2D<float>) a41FD#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index4200);
          real4 v24207#1 = LoadVoxels<IMAGE2D<float>,4>(a41FD);
          int iy4209#1 = Add<int>(_t244B,t241DD);
          int t420D#1 = Mul<int>(n041E2,iy4209);
          int index420E#1 = Add<int>(ix41DB,t420D);
          addr(IMAGE2D<float>) a420B#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr41E5,index420E);
          real4 v34215#1 = LoadVoxels<IMAGE2D<float>,4>(a420B);
          real fy4217#4 = Index<real2,1>(f41D3);
          real t34219#1 = Add<real>(fy4217,_t2447);
          real t1421B#1 = Sub<real>(fy4217,_t2447);
          real t0421D#1 = Sub<real>(fy4217,_t2449);
          real4 a421F#3 = <real4>[t34219,fy4217,t1421B,t0421D];
          real _f4232#2 = 0.133333333333e1;
          real _f4233#2 = 0.666666666667e0;
          real4 a04222#4 = <real4>[_f4232,_f4233,_f4233,_f4232];
          real _f422E#1 = -0.2e1;
          real _f422F#2 = 0.0;
          real4 a14223#4 = <real4>[_f422E,_f422F,_f422F,_t2449];
          real _f422B#2 = -0.1e1;
          real4 a24224#4 = <real4>[_t2447,_f422B,_f422B,_t2447];
          real _f4226#1 = -0.166666666667e0;
          real _f4227#1 = 0.5e0;
          real _f4228#1 = -0.5e0;
          real _f4229#1 = 0.166666666667e0;
          real4 a34225#4 = <real4>[_f4226,_f4227,_f4228,_f4229];
          real4 prod34236#1 = Mul<real4>(a421F,a34225);
          real4 sum24237#1 = Add<real4>(a24224,prod34236);
          real4 prod24238#1 = Mul<real4>(a421F,sum24237);
          real4 sum14239#1 = Add<real4>(a14223,prod24238);
          real4 prod1423A#1 = Mul<real4>(a421F,sum14239);
          real4 hy4221#1 = Add<real4>(a04222,prod1423A);
          real fx4255#4 = Index<real2,0>(f41D3);
          real t34257#1 = Add<real>(fx4255,_t2447);
          real t14259#1 = Sub<real>(fx4255,_t2447);
          real t0425B#1 = Sub<real>(fx4255,_t2449);
          real4 a425D#3 = <real4>[t34257,fx4255,t14259,t0425B];
          real4 prod34274#1 = Mul<real4>(a425D,a34225);
          real4 sum24275#1 = Add<real4>(a24224,prod34274);
          real4 prod24276#1 = Mul<real4>(a425D,sum24275);
          real4 sum14277#1 = Add<real4>(a14223,prod24276);
          real4 prod14278#1 = Mul<real4>(a425D,sum14277);
          real4 hx425F#4 = Add<real4>(a04222,prod14278);
          real t04293#1 = Dot<4>(v041EB,hx425F);
          real t14295#1 = Dot<4>(v141F9,hx425F);
          real t24297#1 = Dot<4>(v24207,hx425F);
          real t34299#1 = Dot<4>(v34215,hx425F);
          real4 tv429B#1 = <real4>[t04293,t14295,t24297,t34299];
          real _t429D#1 = Dot<4>(hy4221,tv429B);
          real2 x429F#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v172402);
          real2 nd42A1#2 = Floor<2>(x429F);
          real2 f42A3#2 = Sub<real2>(x429F,nd42A1);
          int{2} n42A5#2 = RealToInt<2>(nd42A1);
          int t242A7#1 = Index<int{2},0>(n42A5);
          int ix42A9#4 = Add<int>(t141D7,t242A7);
          int t242AB#4 = Index<int{2},1>(n42A5);
          int iy42AD#1 = Add<int>(t141D7,t242AB);
          int t42B1#1 = Mul<int>(n041E2,iy42AD);
          int index42B2#1 = Add<int>(ix42A9,t42B1);
          addr(IMAGE2D<int>) imgBaseAddr42B3#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a42AF#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42B2);
          real4 v042B9#1 = LoadVoxels<IMAGE2D<int>,4>(a42AF);
          int iy42BB#1 = Add<int>(_t246F,t242AB);
          int t42BF#1 = Mul<int>(n041E2,iy42BB);
          int index42C0#1 = Add<int>(ix42A9,t42BF);
          addr(IMAGE2D<int>) a42BD#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42C0);
          real4 v142C7#1 = LoadVoxels<IMAGE2D<int>,4>(a42BD);
          int iy42C9#1 = Add<int>(_t2473,t242AB);
          int t42CD#1 = Mul<int>(n041E2,iy42C9);
          int index42CE#1 = Add<int>(ix42A9,t42CD);
          addr(IMAGE2D<int>) a42CB#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42CE);
          real4 v242D5#1 = LoadVoxels<IMAGE2D<int>,4>(a42CB);
          int iy42D7#1 = Add<int>(_t244B,t242AB);
          int t42DB#1 = Mul<int>(n041E2,iy42D7);
          int index42DC#1 = Add<int>(ix42A9,t42DB);
          addr(IMAGE2D<int>) a42D9#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr42B3,index42DC);
          real4 v342E3#1 = LoadVoxels<IMAGE2D<int>,4>(a42D9);
          real fy42E5#4 = Index<real2,1>(f42A3);
          real t342E7#1 = Add<real>(fy42E5,_t2447);
          real t142E9#1 = Sub<real>(fy42E5,_t2447);
          real t042EB#1 = Sub<real>(fy42E5,_t2449);
          real4 a42ED#3 = <real4>[t342E7,fy42E5,t142E9,t042EB];
          real4 prod34304#1 = Mul<real4>(a42ED,a34225);
          real4 sum24305#1 = Add<real4>(a24224,prod34304);
          real4 prod24306#1 = Mul<real4>(a42ED,sum24305);
          real4 sum14307#1 = Add<real4>(a14223,prod24306);
          real4 prod14308#1 = Mul<real4>(a42ED,sum14307);
          real4 hy42EF#1 = Add<real4>(a04222,prod14308);
          real fx4323#4 = Index<real2,0>(f42A3);
          real t34325#1 = Add<real>(fx4323,_t2447);
          real t14327#1 = Sub<real>(fx4323,_t2447);
          real t04329#1 = Sub<real>(fx4323,_t2449);
          real4 a432B#3 = <real4>[t34325,fx4323,t14327,t04329];
          real4 prod34342#1 = Mul<real4>(a432B,a34225);
          real4 sum24343#1 = Add<real4>(a24224,prod34342);
          real4 prod24344#1 = Mul<real4>(a432B,sum24343);
          real4 sum14345#1 = Add<real4>(a14223,prod24344);
          real4 prod14346#1 = Mul<real4>(a432B,sum14345);
          real4 hx432D#4 = Add<real4>(a04222,prod14346);
          real t04361#1 = Dot<4>(v042B9,hx432D);
          real t14363#1 = Dot<4>(v142C7,hx432D);
          real t24365#1 = Dot<4>(v242D5,hx432D);
          real t34367#1 = Dot<4>(v342E3,hx432D);
          real4 tv4369#1 = <real4>[t04361,t14363,t24365,t34367];
          real _t436B#1 = Dot<4>(hy42EF,tv4369);
          real _t436D#2 = Sub<real>(_t429D,_t436B);
          real _t436F#1 = Mul<real>(_t436D,_t436D);
          real score4371#1 = Add<real>(score41BA,_t436F);
          goto JOIN4374
        JOIN4374:  preds = [ASSIGN4372,COND41D0]
          real score4373#2 = phi(score4371,score41BA)
          real _t4375#1 = Dot<2>(r02461,v182404);
          real _t4377#1 = Dot<2>(r12467,v182404);
          real2 _t4379#1 = <real2>[_t4375,_t4377];
          real2 pos437B#1 = Add<real2>(_t4379,_t2477);
          real2 x437D#3 = PosToImgSpace<IMAGE2D<float>>(_t23D4,pos437B);
          bool _t437F#1 = Inside<IMAGE2D<float>,2>(x437D,_t23D4);
          if _t437F then goto ASSIGN4383 else goto ASSIGN46EE
        ASSIGN4383:  preds = [COND4381]
          real2 x4382#1 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v182404);
          bool _t4384#1 = Inside<IMAGE2D<int>,2>(x4382,_t23D0);
          goto JOIN4388
        JOIN4388:  preds = [ASSIGN4385,ASSIGN46EE]
          bool _t4386#1 = phi(_t4384,_t4387)
          if _t4386 then goto ASSIGN438B else goto JOIN452D
        ASSIGN438B:  preds = [COND4389]
          real2 nd438A#2 = Floor<2>(x437D);
          real2 f438C#2 = Sub<real2>(x437D,nd438A);
          int{2} n438E#2 = RealToInt<2>(nd438A);
          int t14390#4 = -1;
          int t24392#1 = Index<int{2},0>(n438E);
          int ix4394#4 = Add<int>(t14390,t24392);
          int t24396#4 = Index<int{2},1>(n438E);
          int iy4398#1 = Add<int>(t14390,t24396);
          int n0439B#8 = 21;
          int t439C#1 = Mul<int>(n0439B,iy4398);
          int index439D#1 = Add<int>(ix4394,t439C);
          addr(IMAGE2D<float>) imgBaseAddr439E#4 = ImageAddress<IMAGE2D<float>>(_t23D4);
          addr(IMAGE2D<float>) a439A#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index439D);
          real4 v043A4#1 = LoadVoxels<IMAGE2D<float>,4>(a439A);
          int iy43A6#1 = Add<int>(_t246F,t24396);
          int t43AA#1 = Mul<int>(n0439B,iy43A6);
          int index43AB#1 = Add<int>(ix4394,t43AA);
          addr(IMAGE2D<float>) a43A8#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index43AB);
          real4 v143B2#1 = LoadVoxels<IMAGE2D<float>,4>(a43A8);
          int iy43B4#1 = Add<int>(_t2473,t24396);
          int t43B8#1 = Mul<int>(n0439B,iy43B4);
          int index43B9#1 = Add<int>(ix4394,t43B8);
          addr(IMAGE2D<float>) a43B6#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index43B9);
          real4 v243C0#1 = LoadVoxels<IMAGE2D<float>,4>(a43B6);
          int iy43C2#1 = Add<int>(_t244B,t24396);
          int t43C6#1 = Mul<int>(n0439B,iy43C2);
          int index43C7#1 = Add<int>(ix4394,t43C6);
          addr(IMAGE2D<float>) a43C4#1 = Add<addr(IMAGE2D<float>)>(imgBaseAddr439E,index43C7);
          real4 v343CE#1 = LoadVoxels<IMAGE2D<float>,4>(a43C4);
          real fy43D0#4 = Index<real2,1>(f438C);
          real t343D2#1 = Add<real>(fy43D0,_t2447);
          real t143D4#1 = Sub<real>(fy43D0,_t2447);
          real t043D6#1 = Sub<real>(fy43D0,_t2449);
          real4 a43D8#3 = <real4>[t343D2,fy43D0,t143D4,t043D6];
          real _f43EB#2 = 0.133333333333e1;
          real _f43EC#2 = 0.666666666667e0;
          real4 a043DB#4 = <real4>[_f43EB,_f43EC,_f43EC,_f43EB];
          real _f43E7#1 = -0.2e1;
          real _f43E8#2 = 0.0;
          real4 a143DC#4 = <real4>[_f43E7,_f43E8,_f43E8,_t2449];
          real _f43E4#2 = -0.1e1;
          real4 a243DD#4 = <real4>[_t2447,_f43E4,_f43E4,_t2447];
          real _f43DF#1 = -0.166666666667e0;
          real _f43E0#1 = 0.5e0;
          real _f43E1#1 = -0.5e0;
          real _f43E2#1 = 0.166666666667e0;
          real4 a343DE#4 = <real4>[_f43DF,_f43E0,_f43E1,_f43E2];
          real4 prod343EF#1 = Mul<real4>(a43D8,a343DE);
          real4 sum243F0#1 = Add<real4>(a243DD,prod343EF);
          real4 prod243F1#1 = Mul<real4>(a43D8,sum243F0);
          real4 sum143F2#1 = Add<real4>(a143DC,prod243F1);
          real4 prod143F3#1 = Mul<real4>(a43D8,sum143F2);
          real4 hy43DA#1 = Add<real4>(a043DB,prod143F3);
          real fx440E#4 = Index<real2,0>(f438C);
          real t34410#1 = Add<real>(fx440E,_t2447);
          real t14412#1 = Sub<real>(fx440E,_t2447);
          real t04414#1 = Sub<real>(fx440E,_t2449);
          real4 a4416#3 = <real4>[t34410,fx440E,t14412,t04414];
          real4 prod3442D#1 = Mul<real4>(a4416,a343DE);
          real4 sum2442E#1 = Add<real4>(a243DD,prod3442D);
          real4 prod2442F#1 = Mul<real4>(a4416,sum2442E);
          real4 sum14430#1 = Add<real4>(a143DC,prod2442F);
          real4 prod14431#1 = Mul<real4>(a4416,sum14430);
          real4 hx4418#4 = Add<real4>(a043DB,prod14431);
          real t0444C#1 = Dot<4>(v043A4,hx4418);
          real t1444E#1 = Dot<4>(v143B2,hx4418);
          real t24450#1 = Dot<4>(v243C0,hx4418);
          real t34452#1 = Dot<4>(v343CE,hx4418);
          real4 tv4454#1 = <real4>[t0444C,t1444E,t24450,t34452];
          real _t4456#1 = Dot<4>(hy43DA,tv4454);
          real2 x4458#2 = PosToImgSpace<IMAGE2D<int>>(_t23D0,v182404);
          real2 nd445A#2 = Floor<2>(x4458);
          real2 f445C#2 = Sub<real2>(x4458,nd445A);
          int{2} n445E#2 = RealToInt<2>(nd445A);
          int t24460#1 = Index<int{2},0>(n445E);
          int ix4462#4 = Add<int>(t14390,t24460);
          int t24464#4 = Index<int{2},1>(n445E);
          int iy4466#1 = Add<int>(t14390,t24464);
          int t446A#1 = Mul<int>(n0439B,iy4466);
          int index446B#1 = Add<int>(ix4462,t446A);
          addr(IMAGE2D<int>) imgBaseAddr446C#4 = ImageAddress<IMAGE2D<int>>(_t23D0);
          addr(IMAGE2D<int>) a4468#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr446C,index446B);
          real4 v04472#1 = LoadVoxels<IMAGE2D<int>,4>(a4468);
          int iy4474#1 = Add<int>(_t246F,t24464);
          int t4478#1 = Mul<int>(n0439B,iy4474);
          int index4479#1 = Add<int>(ix4462,t4478);
          addr(IMAGE2D<int>) a4476#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr446C,index4479);
          real4 v14480#1 = LoadVoxels<IMAGE2D<int>,4>(a4476);
          int iy4482#1 = Add<int>(_t2473,t24464);
          int t4486#1 = Mul<int>(n0439B,iy4482);
          int index4487#1 = Add<int>(ix4462,t4486);
          addr(IMAGE2D<int>) a4484#1 = Add<addr(IMAGE2D<int>)>(imgBaseAddr446C,index4487);
          real4 v2448E#1 = LoadVoxels<IMAGE2D<int>,4>(a4484);
          int iy4490#1 = Add<int>(_t244B,t24464);
          int t4494#1 = Mul<int>(n0439B,iy4490);
          int index4495#1 = Add<int>(ix4462,t4494);
          addr(IMAGE2D<int>) a4492#1 = Add<addr(IMA